diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index ef024e626c9..338427e894e 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -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; |