On Sam, 2013-08-10 at 00:23 +0200, Marek Olšák wrote:
> Any pixmap can potentially end up as a scanout buffer, right?
> 
> This fixes a whole-screen corruption with radeonsi, which needs a different
> texture layout for scanout textures.
> ---
>  src/gallium/state_trackers/xorg/xorg_exa.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c 
> b/src/gallium/state_trackers/xorg/xorg_exa.c
> index 3e764f8..0302a8b 100644
> --- a/src/gallium/state_trackers/xorg/xorg_exa.c
> +++ b/src/gallium/state_trackers/xorg/xorg_exa.c
> @@ -875,7 +875,7 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int 
> height,
>       template.depth0 = 1;
>       template.array_size = 1;
>       template.last_level = 0;
> -     template.bind = PIPE_BIND_RENDER_TARGET | priv->flags;
> +     template.bind = PIPE_BIND_RENDER_TARGET | PIPE_BIND_SCANOUT | 
> priv->flags;
>       priv->tex_flags = priv->flags;
>       texture = exa->scrn->resource_create(exa->scrn, &template);
>  

As st/xorg doesn't support page flipping, I think this should only be
really necessary for the screen pixmap (pPixmap ==
pScreen->GetScreenPixmap(pScreen)).


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to