[virglrenderer-devel] [PATCH] Don't handle rasterizer state depth-clip in virgl_clear

Gert Wollny gert.wollny at collabora.com
Mon May 14 16:35:41 UTC 2018


Fixes: bab29c2243fcfd78211ed7356bbd7b6c0f2cae5d
 vrend_clear: clear and restore rasterizer discard and depth clamp

Disabling GL_DEPTH_CLAMP is not needed for the rasterizer_discard tests
and it actually breaks

 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.2
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.10
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.11
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.14
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.16
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.25
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.26
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.39
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.40
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.41
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.56
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.61
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.68
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.70
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.73
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.90
 dEQP-GLES3.functional.fragment_ops.interaction.basic_shader.96

Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
---
 src/vrend_renderer.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 3e52166..55b96db 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -2486,8 +2486,6 @@ void vrend_clear(struct vrend_context *ctx,
       } else {
          glClearDepth(depth);
       }
-      if (!ctx->sub->hw_rs_state.depth_clip)
-          glDisable(GL_DEPTH_CLAMP);
    }
 
    if (buffers & PIPE_CLEAR_STENCIL) {
@@ -2541,8 +2539,6 @@ void vrend_clear(struct vrend_context *ctx,
    if (buffers & PIPE_CLEAR_DEPTH) {
       if (!ctx->sub->dsa_state.depth.writemask)
          glDepthMask(GL_FALSE);
-      if (!ctx->sub->hw_rs_state.depth_clip)
-          glEnable(GL_DEPTH_CLAMP);
    }
 
    /* Restore previous stencil buffer write masks for both front and back faces */
-- 
2.16.1



More information about the virglrenderer-devel mailing list