diff options
author | Ian Romanick <[email protected]> | 2015-04-28 12:38:46 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2015-05-04 13:49:58 -0700 |
commit | 2dcc535300d57a8ec50337df54438faa17a82745 (patch) | |
tree | bf424c07abbb17fb33237680781f1767024a7f74 | |
parent | 7038370bd166a8d6f4a24db05da70f713ef7ed37 (diff) |
glsl/es3.1: Allow explicit uniform locations in GLSL ES 3.10
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
-rw-r--r-- | src/glsl/glsl_parser_extras.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h index 5c0ee9b2fc3..b3c8a1d2d4b 100644 --- a/src/glsl/glsl_parser_extras.h +++ b/src/glsl/glsl_parser_extras.h @@ -175,11 +175,15 @@ struct _mesa_glsl_parse_state { const ir_variable *) { if (!this->has_explicit_attrib_location() || - !this->ARB_explicit_uniform_location_enable) { + !this->has_explicit_uniform_location()) { + const char *const requirement = this->es_shader + ? "GLSL ES 310" + : "GL_ARB_explicit_uniform_location and either " + "GL_ARB_explicit_attrib_location or GLSL 330."; + _mesa_glsl_error(locp, this, - "uniform explicit location requires " - "GL_ARB_explicit_uniform_location and either " - "GL_ARB_explicit_attrib_location or GLSL 330."); + "uniform explicit location requires %s", + requirement); return false; } @@ -201,6 +205,11 @@ struct _mesa_glsl_parse_state { return ARB_explicit_attrib_location_enable || is_version(330, 300); } + bool has_explicit_uniform_location() const + { + return ARB_explicit_uniform_location_enable || is_version(430, 310); + } + bool has_uniform_buffer_objects() const { return ARB_uniform_buffer_object_enable || is_version(140, 300); |