summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/link_varyings.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-01-07 13:58:42 -0800
committerKenneth Graunke <[email protected]>2017-01-07 15:15:08 -0800
commit957ec00243ec8ccc0a94f68106d079b54685fe5a (patch)
treec9663602e6c1449819a140755911e4f8c276a4ca /src/compiler/glsl/link_varyings.cpp
parent42699e12711668a142b7acf11c168cf4301c1295 (diff)
Revert recent GLSL slot counting fiasco.
I apparently broke mark_whole_variable in ir_set_program_inouts. It was passing a type that wasn't var->type, so the wrapper didn't work out. It's all broken, revert it and start over. Fixes all kinds of things on other drivers. Revert "glsl: Make is_fixed_function_array actually check for varyings." This reverts commit 42699e12711668a142b7acf11c168cf4301c1295. Revert "glsl: Mark whole variable used for ClipDistance and TessLevel*." This reverts commit 5c580e64cc206ab160e1767c42e4d6c81f67da4d. Revert "glsl: Override the # of varying slots for ClipDistance and TessLevel*." This reverts commit 8b5749f65ac434961308ccb579fb8a816e4f29d5. Revert "glsl: Create and use a new ir_variable::count_attribute_slots() wrapper." This reverts commit 6aa5cb34d03765b7be8611aa516bc201bd337f73.
Diffstat (limited to 'src/compiler/glsl/link_varyings.cpp')
-rw-r--r--src/compiler/glsl/link_varyings.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp
index c7ff6d041fb..e1a29b03549 100644
--- a/src/compiler/glsl/link_varyings.cpp
+++ b/src/compiler/glsl/link_varyings.cpp
@@ -2301,7 +2301,7 @@ check_against_output_limit(struct gl_context *ctx,
var->data.mode == ir_var_shader_out &&
var_counts_against_varying_limit(producer->Stage, var)) {
/* outputs for fragment shader can't be doubles */
- output_vectors += var->count_attribute_slots(false);
+ output_vectors += var->type->count_attribute_slots(false);
}
}
@@ -2345,7 +2345,7 @@ check_against_input_limit(struct gl_context *ctx,
var->data.mode == ir_var_shader_in &&
var_counts_against_varying_limit(consumer->Stage, var)) {
/* vertex inputs aren't varying counted */
- input_vectors += var->count_attribute_slots(false);
+ input_vectors += var->type->count_attribute_slots(false);
}
}