[Mesa-dev] [PATCH] draw: bail instead of assert on instance count (v2)
Dave Airlie
airlied at gmail.com
Mon Mar 25 03:41:29 UTC 2019
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);
--
2.20.1
More information about the mesa-dev
mailing list