summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-11-18 20:51:56 +0100
committerNicolai Hähnle <[email protected]>2016-11-30 09:10:02 +0100
commitf60374aa689539c8dbdb851488be515e5e7df7cb (patch)
tree3e1d35549a3c77a1baf9406cae7ff874ff851085 /src/mesa/state_tracker
parent0a58b258caf67aa85c49bb4160b48a61b535e2be (diff)
st/mesa: skip lower_output_reads when possible
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 8a247ea68d7..7720edfb528 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -6445,7 +6445,8 @@ get_mesa_program_tgsi(struct gl_context *ctx,
prog->Parameters);
/* Remove reads from output registers. */
- lower_output_reads(shader->Stage, shader->ir);
+ if (!pscreen->get_param(pscreen, PIPE_CAP_TGSI_CAN_READ_OUTPUTS))
+ lower_output_reads(shader->Stage, shader->ir);
/* Emit intermediate IR for main(). */
visit_exec_list(shader->ir, v);