summaryrefslogtreecommitdiffstats
path: root/src/glsl/glsl_parser_extras.h
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2015-04-28 12:38:46 -0700
committerIan Romanick <ian.d.romanick@intel.com>2015-05-04 13:49:58 -0700
commit2dcc535300d57a8ec50337df54438faa17a82745 (patch)
treebf424c07abbb17fb33237680781f1767024a7f74 /src/glsl/glsl_parser_extras.h
parent7038370bd166a8d6f4a24db05da70f713ef7ed37 (diff)
downloadexternal_mesa3d-2dcc535300d57a8ec50337df54438faa17a82745.zip
external_mesa3d-2dcc535300d57a8ec50337df54438faa17a82745.tar.gz
external_mesa3d-2dcc535300d57a8ec50337df54438faa17a82745.tar.bz2
glsl/es3.1: Allow explicit uniform locations in GLSL ES 3.10
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Diffstat (limited to 'src/glsl/glsl_parser_extras.h')
-rw-r--r--src/glsl/glsl_parser_extras.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index 5c0ee9b..b3c8a1d 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);