On 01/20/2015 10:42 AM, Chris Forbes wrote: > Ian, > > That's what the -2 variation added by that commit does.
Of course. :) Not sure how I overlooked that. > - Chris > > On Wed, Jan 21, 2015 at 7:29 AM, Ian Romanick <i...@freedesktop.org> wrote: >> On 01/19/2015 10:55 PM, Tapani Pälli wrote: >>> Fixes currently failing Piglit case >>> interface-blocks-name-reused-globally.vert >>> >>> Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> >>> --- >>> src/glsl/ast_to_hir.cpp | 17 ++++++++++++++++- >>> 1 file changed, 16 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp >>> index 811a955..13ddb00 100644 >>> --- a/src/glsl/ast_to_hir.cpp >>> +++ b/src/glsl/ast_to_hir.cpp >>> @@ -5443,9 +5443,24 @@ ast_interface_block::hir(exec_list *instructions, >>> >>> state->struct_specifier_depth--; >>> >>> - if (!redeclaring_per_vertex) >>> + if (!redeclaring_per_vertex) { >>> + ir_variable *var; >> >> This is C++, so you can combine the declaration with the assignment >> below. I guess you've been bit by the C89 requirements elsewhere in >> Mesa. :) >> >>> validate_identifier(this->block_name, loc, state); >>> >>> + /* From section 4.3.9 ("Interface Blocks") of the GLSL 4.50 spec: >>> + * >>> + * "Block names have no other use within a shader beyond >>> interface >>> + * matching; it is a compile-time error to use a block name at >>> global >>> + * scope for anything other than as a block name." >>> + */ >>> + var = state->symbols->get_variable(this->block_name); >>> + if (var && !var->type->is_interface()) { >>> + _mesa_glsl_error(&loc, state, "Block name `%s' is " >>> + "already used in the scope.", >>> + this->block_name); >>> + } >> >> This fixes the previously mentioned test case, but what about a test like >> >> out block { >> vec4 a; >> } inst; >> >> vec4 block; >> >> Looking at Chris's patch (piglit 14165586) that adds >> interface-blocks-name-reused-globally.vert, I don't see a test like >> this. Does that test already exist, and I just missed it? Since interface-blocks-name-reused-globally-2.vert already passes, this patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> >>> + } >>> + >>> const glsl_type *earlier_per_vertex = NULL; >>> if (redeclaring_per_vertex) { >>> /* Find the previous declaration of gl_PerVertex. If we're >>> redeclaring >>> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev