Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 261809 Details for
Bug 354075
x11-base/xorg-server-1.9.2 / x11-drivers/nvidia-drivers-260.19.29 screen corruption
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
backported patch from xorg-server 1.9.2.902
xorg-server-1.9.2-reportAfter-fix.patch (text/plain), 5.02 KB, created by
sergio cerlesi
on 2011-02-08 10:57:12 UTC
(
hide
)
Description:
backported patch from xorg-server 1.9.2.902
Filename:
MIME Type:
Creator:
sergio cerlesi
Created:
2011-02-08 10:57:12 UTC
Size:
5.02 KB
patch
obsolete
>commit dfda3c696dd72ecc5cc4fa69d8bb4521ba554cf3 >Author: Eric Anholt <eric@anholt.net> >Date: Thu Oct 28 20:46:22 2010 -0700 > > Replace usage of DamageRegionAppend with DamageDamageRegion to fix reportAfter. > > In all these cases, any rendering implied by this damage has already > occurred, and we want to get the damage out to the client. Some of > the DamageRegionAppend calls were explicitly telling damage to flush > the reportAfter damage out, but not all. > > Bug #30260. Fixes the compiz wallpaper plugin with client damage > changed to reportAfter. > > Signed-off-by: Eric Anholt <eric@anholt.net> > Reviewed-by: Keith Packard <keithp@keithp.com> > Signed-off-by: Keith Packard <keithp@keithp.com> > (cherry picked from commit f36153e3ef6b13a87d016caab09cc9be274b0dd5) > >diff -rupN xorg-server-1.9.2/composite/compalloc.c xorg-server-1.9.2.902/composite/compalloc.c >--- xorg-server-1.9.2/composite/compalloc.c 2010-06-06 23:37:03.000000000 +0200 >+++ xorg-server-1.9.2.902/composite/compalloc.c 2010-11-23 20:07:18.000000000 +0100 >@@ -238,7 +238,7 @@ compFreeClientWindow (WindowPtr pWin, XI > DamageRegister (&pWin->drawable, cw->damage); > cw->damageRegistered = TRUE; > pWin->redirectDraw = RedirectDrawAutomatic; >- DamageRegionAppend(&pWin->drawable, &pWin->borderSize); >+ DamageDamageRegion(&pWin->drawable, &pWin->borderSize); > } > if (wasMapped && !pWin->mapped) > { >diff -rupN xorg-server-1.9.2/composite/compwindow.c xorg-server-1.9.2.902/composite/compwindow.c >--- xorg-server-1.9.2/composite/compwindow.c 2010-09-11 23:20:51.000000000 +0200 >+++ xorg-server-1.9.2.902/composite/compwindow.c 2010-11-23 20:07:18.000000000 +0100 >@@ -519,7 +519,7 @@ compCopyWindow (WindowPtr pWin, DDXPoint > RegionTranslate(prgnSrc, > pWin->drawable.x - ptOldOrg.x, > pWin->drawable.y - ptOldOrg.y); >- DamageRegionAppend(&pWin->drawable, prgnSrc); >+ DamageDamageRegion(&pWin->drawable, prgnSrc); > } > cs->CopyWindow = pScreen->CopyWindow; > pScreen->CopyWindow = compCopyWindow; >@@ -598,7 +598,7 @@ compSetRedirectBorderClip (WindowPtr pWi > /* > * Report that as damaged so it will be redrawn > */ >- DamageRegionAppend(&pWin->drawable, &damage); >+ DamageDamageRegion(&pWin->drawable, &damage); > RegionUninit(&damage); > /* > * Save the new border clip region >diff -rupN xorg-server-1.9.2/damageext/damageext.c xorg-server-1.9.2.902/damageext/damageext.c >--- xorg-server-1.9.2/damageext/damageext.c 2010-08-13 10:02:40.000000000 +0200 >+++ xorg-server-1.9.2.902/damageext/damageext.c 2010-11-23 20:07:18.000000000 +0100 >@@ -223,7 +223,7 @@ ProcDamageCreate (ClientPtr client) > if (pDrawable->type == DRAWABLE_WINDOW) > { > pRegion = &((WindowPtr) pDrawable)->borderClip; >- DamageRegionAppend(pDrawable, pRegion); >+ DamageDamageRegion(pDrawable, pRegion); > } > > return Success; >@@ -293,7 +293,7 @@ ProcDamageAdd (ClientPtr client) > * screen coordinates like damage expects. > */ > RegionTranslate(pRegion, pDrawable->x, pDrawable->y); >- DamageRegionAppend(pDrawable, pRegion); >+ DamageDamageRegion(pDrawable, pRegion); > RegionTranslate(pRegion, -pDrawable->x, -pDrawable->y); > > return Success; >diff -rupN xorg-server-1.9.2/exa/exa.c xorg-server-1.9.2.902/exa/exa.c >--- xorg-server-1.9.2/exa/exa.c 2010-07-17 21:36:54.000000000 +0200 >+++ xorg-server-1.9.2.902/exa/exa.c 2010-11-23 20:07:18.000000000 +0100 >@@ -159,8 +159,7 @@ exaPixmapDirty (PixmapPtr pPix, int x1, > return; > > RegionInit(®ion, &box, 1); >- DamageRegionAppend(&pPix->drawable, ®ion); >- DamageRegionProcessPending(&pPix->drawable); >+ DamageDamageRegion(&pPix->drawable, ®ion); > RegionUninit(®ion); > } > >diff -rupN xorg-server-1.9.2/glx/glxdri.c xorg-server-1.9.2.902/glx/glxdri.c >--- xorg-server-1.9.2/glx/glxdri.c 2010-07-17 21:36:54.000000000 +0200 >+++ xorg-server-1.9.2.902/glx/glxdri.c 2010-11-23 20:07:18.000000000 +0100 >@@ -834,9 +834,7 @@ static void __glXReportDamage(__DRIdrawa > > RegionInit(®ion, (BoxPtr) rects, num_rects); > RegionTranslate(®ion, pDraw->x, pDraw->y); >- DamageRegionAppend(pDraw, ®ion); >- /* This is wrong, this needs a seperate function. */ >- DamageRegionProcessPending(pDraw); >+ DamageDamageRegion(pDraw, ®ion); > RegionUninit(®ion); > > __glXleaveServer(GL_FALSE); >diff -rupN xorg-server-1.9.2/hw/xfree86/modes/xf86Rotate.c xorg-server-1.9.2.902/hw/xfree86/modes/xf86Rotate.c >--- xorg-server-1.9.2/hw/xfree86/modes/xf86Rotate.c 2010-06-06 23:37:03.000000000 +0200 >+++ xorg-server-1.9.2.902/hw/xfree86/modes/xf86Rotate.c 2010-11-23 20:07:18.000000000 +0100 >@@ -168,7 +168,7 @@ xf86CrtcDamageShadow (xf86CrtcPtr crtc) > if (damage_box.x2 > pScreen->width) damage_box.x2 = pScreen->width; > if (damage_box.y2 > pScreen->height) damage_box.y2 = pScreen->height; > RegionInit(&damage_region, &damage_box, 1); >- DamageRegionAppend (&(*pScreen->GetScreenPixmap)(pScreen)->drawable, >+ DamageDamageRegion (&(*pScreen->GetScreenPixmap)(pScreen)->drawable, > &damage_region); > RegionUninit(&damage_region); > crtc->shadowClear = TRUE;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 354075
:
261807
| 261809