From 5191937352f50e214073b1fcdf6018df2ea431a6 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 28 Jan 2014 12:06:49 +1000 Subject: [PATCH] r600g: setup const texture buffers for geom shaders This just enables the workarounds we have for vertex/pixel shaders for geom shaders as well. Signed-off-by: Dave Airlie Reviewed-by: Alex Deucher --- src/gallium/drivers/r600/r600_state_common.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 96fdd0e00ad..0c32974430f 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -1252,11 +1252,15 @@ static bool r600_update_derived_state(struct r600_context *rctx) r600_setup_buffer_constants(rctx, PIPE_SHADER_FRAGMENT); if (rctx->vs_shader && rctx->vs_shader->current->shader.uses_tex_buffers) r600_setup_buffer_constants(rctx, PIPE_SHADER_VERTEX); + if (rctx->gs_shader && rctx->gs_shader->current->shader.uses_tex_buffers) + r600_setup_buffer_constants(rctx, PIPE_SHADER_GEOMETRY); } else { if (rctx->ps_shader && rctx->ps_shader->current->shader.uses_tex_buffers) eg_setup_buffer_constants(rctx, PIPE_SHADER_FRAGMENT); if (rctx->vs_shader && rctx->vs_shader->current->shader.uses_tex_buffers) eg_setup_buffer_constants(rctx, PIPE_SHADER_VERTEX); + if (rctx->gs_shader && rctx->gs_shader->current->shader.uses_tex_buffers) + eg_setup_buffer_constants(rctx, PIPE_SHADER_GEOMETRY); } @@ -1264,6 +1268,8 @@ static bool r600_update_derived_state(struct r600_context *rctx) r600_setup_txq_cube_array_constants(rctx, PIPE_SHADER_FRAGMENT); if (rctx->vs_shader && rctx->vs_shader->current->shader.has_txq_cube_array_z_comp) r600_setup_txq_cube_array_constants(rctx, PIPE_SHADER_VERTEX); + if (rctx->gs_shader && rctx->gs_shader->current->shader.has_txq_cube_array_z_comp) + r600_setup_txq_cube_array_constants(rctx, PIPE_SHADER_GEOMETRY); if (rctx->b.chip_class < EVERGREEN && rctx->ps_shader && rctx->vs_shader) { if (!r600_adjust_gprs(rctx)) { -- 2.30.2