softpipe: Don't draw when rasterizer_discard is set
authorGert Wollny <gert.wollny@collabora.com>
Thu, 25 Jul 2019 13:30:09 +0000 (15:30 +0200)
committerGert Wollny <gert.wollny@collabora.com>
Mon, 29 Jul 2019 13:47:34 +0000 (15:47 +0200)
Fixes:
  dEQP-GLES3.functional.rasterizer_discard.basic.write_depth_points
  dEQP-GLES3.functional.rasterizer_discard.basic.write_stencil_points
  dEQP-GLES3.functional.rasterizer_discard.fbo.write_depth_points
  dEQP-GLES3.functional.rasterizer_discard.fbo.write_stencil_points
  dEQP-GLES3.functional.rasterizer_discard.scissor.write_depth_points
  dEQP-GLES3.functional.rasterizer_discard.scissor.write_stencil_points

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/drivers/softpipe/sp_draw_arrays.c

index 91427348a25732c26a0460d92ea8473b36c0e64a..f0313beb178be5001f056e8823c7e20dff9e2b41 100644 (file)
@@ -69,6 +69,9 @@ softpipe_draw_vbo(struct pipe_context *pipe,
    if (!softpipe_check_render_cond(sp))
       return;
 
+   if (sp->rasterizer && sp->rasterizer->rasterizer_discard)
+      return;
+
    if (info->indirect) {
       util_draw_indirect(pipe, info);
       return;