mark drawable as dirty on copying/painting windows
This commit is contained in:
parent
4ab73a73f4
commit
e84648df7d
15
exa/exa.c
15
exa/exa.c
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,6 +1008,7 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
|
||||||
if (!pScrn->vtSema) {
|
if (!pScrn->vtSema) {
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
ExaScreenPriv(pWin->drawable.pScreen);
|
||||||
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
pExaScr->SavedCopyWindow (pWin, ptOldOrg, prgnSrc);
|
||||||
|
exaDrawableDirty (&pWin->drawable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1071,23 +1072,12 @@ static void
|
||||||
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
ScrnInfoPtr pScrn = XF86SCRNINFO(pWin->drawable.pScreen);
|
||||||
ExaScreenPriv(pWin->drawable.pScreen);
|
|
||||||
if (!pScrn->vtSema) {
|
|
||||||
switch (what) {
|
|
||||||
case PW_BACKGROUND:
|
|
||||||
pExaScr->SavedPaintWindowBackground(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
case PW_BORDER:
|
|
||||||
pExaScr->SavedPaintWindowBorder(pWin, pRegion, what);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
STRACE;
|
STRACE;
|
||||||
|
|
||||||
if (!REGION_NUM_RECTS(pRegion))
|
if (!REGION_NUM_RECTS(pRegion))
|
||||||
return;
|
return;
|
||||||
|
if (pScrn->vtSema) {
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case PW_BACKGROUND:
|
case PW_BACKGROUND:
|
||||||
switch (pWin->backgroundState) {
|
switch (pWin->backgroundState) {
|
||||||
|
@ -1125,6 +1115,7 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ExaCheckPaintWindow (pWin, pRegion, what);
|
ExaCheckPaintWindow (pWin, pRegion, what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue