Mesa (master): glsl: don' t generate transform feedback candidate when not required

Timothy Arceri tarceri at kemper.freedesktop.org
Sat Feb 6 03:34:53 UTC 2016


Module: Mesa
Branch: master
Commit: ea7f64f74d0910f72730849d3081ae8a62cc28d4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea7f64f74d0910f72730849d3081ae8a62cc28d4

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Wed Feb  3 09:46:56 2016 +1100

glsl: don't generate transform feedback candidate when not required

If we are not even looking for one don't bother generating a candidate
list.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/compiler/glsl/link_varyings.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index 535c83c..590de17 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -1643,8 +1643,10 @@ assign_varying_locations(struct gl_context *ctx,
                 (output_var->data.stream < MAX_VERTEX_STREAMS &&
                  producer->Stage == MESA_SHADER_GEOMETRY));
 
-         tfeedback_candidate_generator g(mem_ctx, tfeedback_candidates);
-         g.process(output_var);
+         if (num_tfeedback_decls > 0) {
+            tfeedback_candidate_generator g(mem_ctx, tfeedback_candidates);
+            g.process(output_var);
+         }
 
          ir_variable *const input_var =
             linker::get_matching_input(mem_ctx, output_var, consumer_inputs,




More information about the mesa-commit mailing list