mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 14:50:10 +01:00
glsl: dont allow gl_PerVertex to be redeclared as an array of arrays
V3: move patch after fixes to ast for AoA and add const to helper as suggested by Ian V2: move single dimensional array detection into a helper Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
dea0af8f82
commit
d337da81f2
2 changed files with 8 additions and 1 deletions
|
|
@ -336,6 +336,12 @@ public:
|
|||
array_dimensions.push_tail(&dim->link);
|
||||
}
|
||||
|
||||
const bool is_single_dimension()
|
||||
{
|
||||
return this->array_dimensions.tail_pred->prev != NULL &&
|
||||
this->array_dimensions.tail_pred->prev->is_head_sentinel();
|
||||
}
|
||||
|
||||
virtual void print(void) const;
|
||||
|
||||
/* This list contains objects of type ast_node containing the
|
||||
|
|
|
|||
|
|
@ -6335,7 +6335,8 @@ ast_interface_block::hir(exec_list *instructions,
|
|||
_mesa_shader_stage_to_string(state->stage));
|
||||
}
|
||||
if (this->instance_name == NULL ||
|
||||
strcmp(this->instance_name, "gl_in") != 0 || this->array_specifier == NULL) {
|
||||
strcmp(this->instance_name, "gl_in") != 0 || this->array_specifier == NULL ||
|
||||
!this->array_specifier->is_single_dimension()) {
|
||||
_mesa_glsl_error(&loc, state,
|
||||
"gl_PerVertex input must be redeclared as "
|
||||
"gl_in[]");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue