[PATCH 2/2] exa/mixed: pixmaps that succeed prepare access have no need for a cpu copy
Michel Dänzer
michel at daenzer.net
Thu Dec 3 10:47:58 PST 2009
On Thu, 2009-12-03 at 19:28 +0100, Maarten Maathuis wrote:
>
> @@ -203,6 +204,22 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
> pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
> pPixmap->devKind = pExaPixmap->sys_pitch;
> pExaPixmap->use_gpu_copy = FALSE;
> + /* We have a gpu pixmap that can be accessed, we don't need the cpu copy
> + * anymore. Drivers that prefer DFS, should fail prepare access. */
> + } else if (pExaPixmap->pDamage && exaPixmapHasGpuCopy(pPixmap)) {
> + ExaScreenPriv(pPixmap->drawable.pScreen);
> +
> + /* Copy back any deferred content if needed. */
> + if (pExaScr->deferred_mixed_pixmap &&
> + pExaScr->deferred_mixed_pixmap == pPixmap)
> + exaMoveInPixmap_mixed(pPixmap);
> +
> + DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
> + DamageDestroy(pExaPixmap->pDamage);
> + pExaPixmap->pDamage = NULL;
> +
> + free(pExaPixmap->sys_ptr);
> + pExaPixmap->sys_ptr = NULL;
> }
> }
>
Unfortunately, the indentation is still wrong in this hunk (which editor
are you using?) - compare the block you add to the one above it: the
basic indentation should be one tab, with four additional spaces in the
if statement.
With that fixed,
Acked-by: Michel Dänzer <michel at daenzer.net>
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg-devel
mailing list