Only tested against a mixed driver.

On Thu, Dec 9, 2010 at 9:17 PM, Maarten Maathuis <[email protected]> wrote:
> - exa classic and mixed don't always access the "driver" pixmap.
>
> Signed-off-by: Maarten Maathuis <[email protected]>
> ---
>  exa/exa.c        |    3 ++-
>  exa/exa_driver.c |    2 ++
>  2 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/exa/exa.c b/exa/exa.c
> index 8adf847..4790bfa 100644
> --- a/exa/exa.c
> +++ b/exa/exa.c
> @@ -421,7 +421,8 @@ exaFinishAccess(DrawablePtr pDrawable, int index)
>     /* We always hide the devPrivate.ptr. */
>     pPixmap->devPrivate.ptr = NULL;
>
> -    if (!pExaScr->info->FinishAccess || !exaPixmapHasGpuCopy(pPixmap))
> +    if (!pExaScr->info->FinishAccess || !exaPixmapHasGpuCopy(pPixmap) ||
> +           !pExaPixmap->use_gpu_copy)
>        return;
>
>     if (i >= EXA_PREPARE_AUX_DEST &&
> diff --git a/exa/exa_driver.c b/exa/exa_driver.c
> index a913cfb..b9903d1 100644
> --- a/exa/exa_driver.c
> +++ b/exa/exa_driver.c
> @@ -115,6 +115,8 @@ exaCreatePixmap_driver(ScreenPtr pScreen, int w, int h, 
> int depth,
>     exaSetAccelBlock(pExaScr, pExaPixmap,
>                      w, h, bpp);
>
> +    pExaPixmap->use_gpu_copy = exaPixmapHasGpuCopy(pPixmap);
> +
>     /* During a fallback we must prepare access. */
>     if (pExaScr->fallback_counter)
>        exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_AUX_DEST);
> --
> 1.7.3.2
>
>



-- 
Far away from the primal instinct, the song seems to fade away, the
river get wider between your thoughts and the things we do and say.
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to