r600: disable SB for now on tess related shaders.
authorDave Airlie <airlied@redhat.com>
Mon, 30 Nov 2015 00:49:11 +0000 (10:49 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 6 Dec 2015 23:59:00 +0000 (09:59 +1000)
Note we have to disable on vertex shaders when we are
operating in tes mode.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c

index ef024e626c96b811eb2f669f55b958bc1a7c3163..338427e894e0dd79c94ff1e9714308ff32a51184 100644 (file)
@@ -161,6 +161,13 @@ int r600_pipe_shader_create(struct pipe_context *ctx,
                R600_ERR("translation from TGSI failed !\n");
                goto error;
        }
+       if (shader->shader.processor_type == TGSI_PROCESSOR_VERTEX) {
+               /* only disable for vertex shaders in tess paths */
+               if (key.vs.as_ls)
+                       use_sb = 0;
+       }
+       use_sb &= (shader->shader.processor_type != TGSI_PROCESSOR_TESS_CTRL);
+       use_sb &= (shader->shader.processor_type != TGSI_PROCESSOR_TESS_EVAL);
 
        /* disable SB for shaders using doubles */
        use_sb &= !shader->shader.uses_doubles;