diff options
author | Kenneth Graunke <[email protected]> | 2013-09-23 18:13:52 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-09-26 16:55:18 -0700 |
commit | e4af55c78f9d639653bb9290e0fc63c6658cdc4d (patch) | |
tree | 4703a3137ed166cc66a40012481ee3f86cc86b59 /src/glsl/glsl_parser.yy | |
parent | e9b410b54dd893568a50af661fdbba12b4573ed9 (diff) |
glsl: Create and use a has_explicit_attrib_location() helper.
Explicit attribute locations are supported with GLSL 3.30, GLSL ES 3.00,
or "#extension GL_ARB_explicit_attrib_location: enable". Using a helper
function makes it easy to check for this.
This enables support in GLSL 3.30, which was previously missing.
Previously, we overrode the extension enable flag for ES 3.00. This is
not robust against a shader such as:
#version 330
#extension GL_ARB_explicit_attrib_location : disable
Disabling extensions should not remove core language functionality.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/glsl_parser.yy')
-rw-r--r-- | src/glsl/glsl_parser.yy | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index fa6e2053adf..56ca4ad8b07 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -1262,7 +1262,7 @@ layout_qualifier_id: { memset(& $$, 0, sizeof($$)); - if (state->ARB_explicit_attrib_location_enable) { + if (state->has_explicit_attrib_location()) { if (strcmp("location", $1) == 0) { $$.flags.q.explicit_location = 1; |