[Mesa-dev] [PATCH] llvmpipe: fix crash when not all attachments are populated in a fb

Jose Fonseca jfonseca at vmware.com
Fri May 30 09:38:00 PDT 2014



----- Original Message -----
> From: Roland Scheidegger <sroland at vmware.com>
> 
> Framebuffers can have NULL attachments since a while. llvmpipe handled
> that properly for lp_rast_shade_quads_mask but it seems the change didn't
> make it to lp_rast_shade_tile.
> This fixes piglit fbo-drawbuffers-none test (though I need to increase
> the FB_SIZE from 32 to 256 so the tris cover some tiles fully).
> https://bugs.freedesktop.org/show_bug.cgi?id=79421
> 
> Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/drivers/llvmpipe/lp_rast.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c
> b/src/gallium/drivers/llvmpipe/lp_rast.c
> index d50ee48..f7c5b03 100644
> --- a/src/gallium/drivers/llvmpipe/lp_rast.c
> +++ b/src/gallium/drivers/llvmpipe/lp_rast.c
> @@ -312,9 +312,15 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
>  
>           /* color buffer */
>           for (i = 0; i < scene->fb.nr_cbufs; i++){
> -            stride[i] = scene->cbufs[i].stride;
> -            color[i] = lp_rast_get_unswizzled_color_block_pointer(task, i,
> tile_x + x,
> -                                                                  tile_y +
> y, inputs->layer);
> +            if (scene->fb.cbufs[i]) {
> +               stride[i] = scene->cbufs[i].stride;
> +               color[i] = lp_rast_get_unswizzled_color_block_pointer(task,
> i, tile_x + x,
> +                                                                     tile_y
> + y, inputs->layer);
> +            }
> +            else {
> +               stride[i] = 0;
> +               color[i] = NULL;
> +            }
>           }
>  
>           /* depth buffer */
> --
> 1.9.1
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


Reviewed-by: Jose Fonseca <jfonseca at vmware.com>


More information about the mesa-dev mailing list