[Mesa-dev] [PATCH] svga: move svga_texture() casts/calls in svga_surface_copy()

Jose Fonseca jfonseca at vmware.com
Thu Jan 19 13:59:51 PST 2012


Looks good Brian.

Jose

----- Original Message -----
> To fix failed assertions when calling glCopyBufferSubData().
> 
> svga_texture() asserts that the resource is a texture.  Simply move
> the
> calls to svga_texture() after the code that handles non-texture
> copies
> so that we don't call it with non-texture resources.
> 
> Fixes glean bufferObject failure.
> 
> NOTE: This is a candidate for the 8.0 branch.
> ---
>  src/gallium/drivers/svga/svga_pipe_blit.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/svga/svga_pipe_blit.c
> b/src/gallium/drivers/svga/svga_pipe_blit.c
> index c4f122f..8e114d3 100644
> --- a/src/gallium/drivers/svga/svga_pipe_blit.c
> +++ b/src/gallium/drivers/svga/svga_pipe_blit.c
> @@ -44,8 +44,7 @@ static void svga_surface_copy(struct pipe_context
> *pipe,
>                                const struct pipe_box *src_box)
>   {
>     struct svga_context *svga = svga_context(pipe);
> -   struct svga_texture *stex = svga_texture(src_tex);
> -   struct svga_texture *dtex = svga_texture(dst_tex);
> +   struct svga_texture *stex, *dtex;
>  /*   struct pipe_screen *screen = pipe->screen;
>     SVGA3dCopyBox *box;
>     enum pipe_error ret;
> @@ -63,6 +62,9 @@ static void svga_surface_copy(struct pipe_context
> *pipe,
>        return;
>     }
>  
> +   stex = svga_texture(src_tex);
> +   dtex = svga_texture(dst_tex);
> +
>  #if 0
>     srcsurf = screen->get_tex_surface(screen, src_tex,
>                                       src_level, src_box->z,
>                                       src_box->z,
> --
> 1.7.3.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list