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 42699e1271.

Revert "glsl: Mark whole variable used for ClipDistance and TessLevel*."

This reverts commit 5c580e64cc.

Revert "glsl: Override the # of varying slots for ClipDistance and TessLevel*."

This reverts commit 8b5749f65a.

Revert "glsl: Create and use a new ir_variable::count_attribute_slots() wrapper."

This reverts commit 6aa5cb34d0.
This commit is contained in:
Kenneth Graunke
2017-01-07 13:58:42 -08:00
parent 42699e1271
commit 957ec00243
5 changed files with 14 additions and 62 deletions

View File

@@ -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);
}
}