[Mesa-dev] [PATCH] draw: bail instead of assert on instance count (v2)
Brian Paul
brianp at vmware.com
Mon Mar 25 14:19:24 UTC 2019
On 03/24/2019 09:41 PM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> With indirect rendering it's fine to set the instance count
> parameter to 0, and expect the rendering to be ignored.
>
> Fixes assert in KHR-GLES31.core.compute_shader.pipeline-gen-draw-commands
> on softpipe
>
> v2: return earlier before changing fpstate
> ---
> src/gallium/auxiliary/draw/draw_pt.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
> index be76a30f97c..50286149cd4 100644
> --- a/src/gallium/auxiliary/draw/draw_pt.c
> +++ b/src/gallium/auxiliary/draw/draw_pt.c
> @@ -464,6 +464,9 @@ draw_vbo(struct draw_context *draw,
> unsigned fpstate = util_fpstate_get();
> struct pipe_draw_info resolved_info;
>
> + if (info->instance_count == 0)
> + return;
> +
> /* Make sure that denorms are treated like zeros. This is
> * the behavior required by D3D10. OpenGL doesn't care.
> */
> @@ -472,7 +475,6 @@ draw_vbo(struct draw_context *draw,
> resolve_draw_info(info, &resolved_info, &(draw->pt.vertex_buffer[0]));
> info = &resolved_info;
>
> - assert(info->instance_count > 0);
> if (info->index_size)
> assert(draw->pt.user.elts);
>
>
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list