On Mon, 2016-08-01 at 10:29 -0700, Kenneth Graunke wrote: > This better matches the grammar in section 4.3.9 of the GLSL 4.5 > spec, > and also removes some redundant code. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org>
Nice! Yes this is how I should have done it when I got ride of buffer_instance_name_opt. Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> > --- > src/compiler/glsl/glsl_parser.yy | 41 +++++++----------------------- > ---------- > 1 file changed, 7 insertions(+), 34 deletions(-) > > diff --git a/src/compiler/glsl/glsl_parser.yy > b/src/compiler/glsl/glsl_parser.yy > index 2bc2353..4ab9e14 100644 > --- a/src/compiler/glsl/glsl_parser.yy > +++ b/src/compiler/glsl/glsl_parser.yy > @@ -219,8 +219,6 @@ static bool match_layout_qualifier(const char > *s1, const char *s2, > %type <type_qualifier> subroutine_qualifier > %type <subroutine_list> subroutine_type_list > %type <type_qualifier> interface_qualifier > -%type <type_qualifier> uniform_interface_qualifier > -%type <type_qualifier> buffer_interface_qualifier > %type <type_specifier> type_specifier > %type <type_specifier> type_specifier_nonarray > %type <array_specifier> array_specifier > @@ -2664,30 +2662,11 @@ basic_interface_block: > { > ast_interface_block *const block = $6; > > - block->block_name = $2; > - block->declarations.push_degenerate_list_at_head(& $4->link); > - > - _mesa_ast_process_interface_block(& @1, state, block, $1); > - > - $$ = block; > - } > - | uniform_interface_qualifier NEW_IDENTIFIER '{' member_list '}' > instance_name_opt ';' > - { > - ast_interface_block *const block = $6; > - > - block->layout = *state->default_uniform_qualifier; > - block->block_name = $2; > - block->declarations.push_degenerate_list_at_head(& $4->link); > - > - _mesa_ast_process_interface_block(& @1, state, block, $1); > - > - $$ = block; > - } > - | buffer_interface_qualifier NEW_IDENTIFIER '{' member_list '}' > instance_name_opt ';' > - { > - ast_interface_block *const block = $6; > - > - block->layout = *state->default_shader_storage_qualifier; > + if ($1.flags.q.uniform) { > + block->layout = *state->default_uniform_qualifier; > + } else if ($1.flags.q.buffer) { > + block->layout = *state->default_shader_storage_qualifier; > + } > block->block_name = $2; > block->declarations.push_degenerate_list_at_head(& $4->link); > > @@ -2708,18 +2687,12 @@ interface_qualifier: > memset(& $$, 0, sizeof($$)); > $$.flags.q.out = 1; > } > - ; > - > -uniform_interface_qualifier: > - UNIFORM > + | UNIFORM > { > memset(& $$, 0, sizeof($$)); > $$.flags.q.uniform = 1; > } > - ; > - > -buffer_interface_qualifier: > - BUFFER > + | BUFFER > { > memset(& $$, 0, sizeof($$)); > $$.flags.q.buffer = 1; _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev