Re: [PATCH 2/6] exa/mixed: be more thorough about setting fb_pitch when needed
2009/11/21 Michel Dänzer : > On Fri, 2009-11-20 at 23:06 +0100, Maarten Maathuis wrote: >> 2009/11/19 Michel Dänzer : >> > On Wed, 2009-11-18 at 21:23 +0100, Maarten Maathuis wrote: >> >> Signed-off-by: Maarten Maathuis >> >> Acked-by: Michel Dänzer >> > >> > Actually, this seems to cause random crashes due to memory corruption >> > here. Have you noticed anything like that Maarten? Might be best to >> > revert this for now. >> >> I have not noticed this, but i upon closer review i found that the >> original code may in fact be correct. So i've dropped it for now. > > Unfortunately, it's already on the master branch of the main repo. Then i will rebase and revert it. > > > -- > Earthling Michel Dänzer | http://www.vmware.com > Libre software enthusiast | Debian, X and DRI developer > ___ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 2/6] exa/mixed: be more thorough about setting fb_pitch when needed
On Fri, 2009-11-20 at 23:06 +0100, Maarten Maathuis wrote: > 2009/11/19 Michel Dänzer : > > On Wed, 2009-11-18 at 21:23 +0100, Maarten Maathuis wrote: > >> Signed-off-by: Maarten Maathuis > >> Acked-by: Michel Dänzer > > > > Actually, this seems to cause random crashes due to memory corruption > > here. Have you noticed anything like that Maarten? Might be best to > > revert this for now. > > I have not noticed this, but i upon closer review i found that the > original code may in fact be correct. So i've dropped it for now. Unfortunately, it's already on the master branch of the main repo. -- Earthling Michel Dänzer |http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ___ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 2/6] exa/mixed: be more thorough about setting fb_pitch when needed
2009/11/19 Michel Dänzer : > On Wed, 2009-11-18 at 21:23 +0100, Maarten Maathuis wrote: >> Signed-off-by: Maarten Maathuis >> Acked-by: Michel Dänzer > > Actually, this seems to cause random crashes due to memory corruption > here. Have you noticed anything like that Maarten? Might be best to > revert this for now. > I have not noticed this, but i upon closer review i found that the original code may in fact be correct. So i've dropped it for now. > > -- > Earthling Michel Dänzer | http://www.vmware.com > Libre software enthusiast | Debian, X and DRI developer > ___ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel
Re: [PATCH 2/6] exa/mixed: be more thorough about setting fb_pitch when needed
On Wed, 2009-11-18 at 21:23 +0100, Maarten Maathuis wrote: > Signed-off-by: Maarten Maathuis > Acked-by: Michel Dänzer Actually, this seems to cause random crashes due to memory corruption here. Have you noticed anything like that Maarten? Might be best to revert this for now. -- Earthling Michel Dänzer |http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer ___ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel
[PATCH 2/6] exa/mixed: be more thorough about setting fb_pitch when needed
Signed-off-by: Maarten Maathuis Acked-by: Michel Dänzer --- exa/exa_migration_mixed.c | 21 + 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c index ea6f878..121a4ad 100644 --- a/exa/exa_migration_mixed.c +++ b/exa/exa_migration_mixed.c @@ -98,14 +98,17 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel) if (!pExaPixmap->driverPriv) exaCreateDriverPixmap_mixed(pPixmap); - if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) { - ExaScreenPriv(pPixmap->drawable.pScreen); - + if (exaPixmapIsOffscreen(pPixmap)) { pPixmap->devKind = pExaPixmap->fb_pitch; - exaCopyDirtyToFb(pixmaps + i); - if (pExaScr->deferred_mixed_pixmap == pPixmap) - pExaScr->deferred_mixed_pixmap = NULL; + if (pExaPixmap->pDamage) { + ExaScreenPriv(pPixmap->drawable.pScreen); + + exaCopyDirtyToFb(pixmaps + i); + + if (pExaScr->deferred_mixed_pixmap == pPixmap) + pExaScr->deferred_mixed_pixmap = NULL; + } } pExaPixmap->offscreen = exaPixmapIsOffscreen(pPixmap); @@ -133,8 +136,9 @@ exaMoveInPixmap_mixed(PixmapPtr pPixmap) void exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg) { +ExaPixmapPriv(pPixmap); + if (!ExaDoPrepareAccess(pPixmap, index)) { - ExaPixmapPriv(pPixmap); Bool is_offscreen = exaPixmapIsOffscreen(pPixmap); ExaMigrationRec pixmaps[1]; @@ -197,7 +201,8 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg) pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr; pPixmap->devKind = pExaPixmap->sys_pitch; pExaPixmap->offscreen = FALSE; -} +} else + pPixmap->devKind = pExaPixmap->fb_pitch; } /* Move back results of software rendering on system memory copy of mixed driver -- 1.6.5.2 ___ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel