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 commit42699e1271
. Revert "glsl: Mark whole variable used for ClipDistance and TessLevel*." This reverts commit5c580e64cc
. Revert "glsl: Override the # of varying slots for ClipDistance and TessLevel*." This reverts commit8b5749f65a
. Revert "glsl: Create and use a new ir_variable::count_attribute_slots() wrapper." This reverts commit6aa5cb34d0
.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user