Mesa (master): glsl: avoid lowering texcoord array except in simple cases
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Aug 30 00:52:33 UTC 2018
Module: Mesa
Branch: master
Commit: 52a7297dc640a1ed1f9b111498091c5416afd9aa
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=52a7297dc640a1ed1f9b111498091c5416afd9aa
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Aug 26 13:48:10 2018 -0400
glsl: avoid lowering texcoord array except in simple cases
With compat creeping up to geometry and tess shaders, lowering texcoord
accesses/writes becomes more complicated. Since it's an optimization
anyways, just avoid the complication for now.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
---
src/compiler/glsl/opt_dead_builtin_varyings.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/compiler/glsl/opt_dead_builtin_varyings.cpp b/src/compiler/glsl/opt_dead_builtin_varyings.cpp
index 0cb04b3458..6ed00128ed 100644
--- a/src/compiler/glsl/opt_dead_builtin_varyings.cpp
+++ b/src/compiler/glsl/opt_dead_builtin_varyings.cpp
@@ -558,6 +558,9 @@ do_dead_builtin_varyings(struct gl_context *ctx,
if (producer) {
producer_info.get(producer->ir, num_tfeedback_decls, tfeedback_decls);
+ if (producer->Stage == MESA_SHADER_TESS_CTRL)
+ producer_info.lower_texcoord_array = false;
+
if (!consumer) {
/* At least eliminate unused gl_TexCoord elements. */
if (producer_info.lower_texcoord_array) {
@@ -570,6 +573,9 @@ do_dead_builtin_varyings(struct gl_context *ctx,
if (consumer) {
consumer_info.get(consumer->ir, 0, NULL);
+ if (consumer->Stage != MESA_SHADER_FRAGMENT)
+ consumer_info.lower_texcoord_array = false;
+
if (!producer) {
/* At least eliminate unused gl_TexCoord elements. */
if (consumer_info.lower_texcoord_array) {
More information about the mesa-commit
mailing list