[Mesa-dev] [PATCH] st: Don't try to finalize the texture in st_render_texture().

Brian Paul brianp at vmware.com
Wed Mar 28 15:35:40 UTC 2018


On 03/27/2018 10:14 PM, Eric Anholt wrote:
> We can't necessarily finalize the texture at this point if we're rendering
> to a texture image whose format is different from the baselevel's format.

This is just a test suite scenario, right?  It's not the sort of thing a 
real app would do, I hope.

> This was introduced as a fix for fbo-incomplete-texture-03 in
> de414f491526610bb260c73805c81ba413388e20, but the later fix for vmware on
> that testcase in 95d5c48f68b598cfa6db25f44aac52b3e11403cc made it
> unnecessary.
> 
> Fixes assertion failures in util_resource_copy_region() in
> KHR-GLES3.copy_tex_image_conversions.forbidden.* when trying to finalize
> an R8 texture image to the RG8 texture object's pt.

Looks OK to me.  Go ahead and check it in.  The next time I do a piglit 
run with our driver, I'll be on the lookout for any unexpected regressions.

Reviewed-by: Brian Paul <brianp at vmware.com>


> ---
>   src/mesa/state_tracker/st_cb_fbo.c | 4 ----
>   1 file changed, 4 deletions(-)
> 
> diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c
> index 02ae8e1380e3..f859133e399e 100644
> --- a/src/mesa/state_tracker/st_cb_fbo.c
> +++ b/src/mesa/state_tracker/st_cb_fbo.c
> @@ -509,14 +509,10 @@ st_render_texture(struct gl_context *ctx,
>                     struct gl_renderbuffer_attachment *att)
>   {
>      struct st_context *st = st_context(ctx);
> -   struct pipe_context *pipe = st->pipe;
>      struct gl_renderbuffer *rb = att->Renderbuffer;
>      struct st_renderbuffer *strb = st_renderbuffer(rb);
>      struct pipe_resource *pt;
>   
> -   if (!st_finalize_texture(ctx, pipe, att->Texture, att->CubeMapFace))
> -      return;
> -
>      pt = get_teximage_resource(att->Texture,
>                                 att->CubeMapFace,
>                                 att->TextureLevel);
> 



More information about the mesa-dev mailing list