[Mesa-dev] [PATCH] glsl: allow the #extension directive within code blocks for the dri option
Marek Olšák
maraeo at gmail.com
Tue Apr 9 23:39:08 UTC 2019
From: Marek Olšák <marek.olsak at amd.com>
for Viewperf 13
---
src/compiler/glsl/glsl_parser.yy | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index 8d6c47fb6a3..b91c24ebe97 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -2531,20 +2531,29 @@ statement_list:
}
| statement_list statement
{
if ($2 == NULL) {
_mesa_glsl_error(& @2, state, "<nil> statement");
assert($2 != NULL);
}
$$ = $1;
$$->link.insert_before(& $2->link);
}
+ | statement_list extension_statement
+ {
+ if (!state->allow_extension_directive_midshader) {
+ _mesa_glsl_error(& @1, state,
+ "#extension directive is not allowed "
+ "in the middle of a shader");
+ YYERROR;
+ }
+ }
;
expression_statement:
';'
{
void *ctx = state->linalloc;
$$ = new(ctx) ast_expression_statement(NULL);
$$->set_location(@1);
}
| expression ';'
--
2.17.1
More information about the mesa-dev
mailing list