diff options
author | Eric Anholt <[email protected]> | 2012-06-25 10:10:26 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2012-07-31 12:06:20 -0700 |
commit | fa08b8ad549ef0ad0ee46f525f6f5dd0d6332f99 (patch) | |
tree | a121023138f4c58288b4300e51c9f433e238078e /src | |
parent | bbd1d6124d8d59d7b3f8585505ce3c01aa062e28 (diff) |
mesa: Return -1 for glGetUniformLocation on UBOs.
Fixes piglit ARB_uniform_buffer_object/getuniformlocation.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/uniforms.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index b5aaa1b25a2..f43d0fbee07 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -522,6 +522,16 @@ _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name) if (index == GL_INVALID_INDEX) return -1; + /* From the GL_ARB_uniform_buffer_object spec: + * + * "The value -1 will be returned if <name> does not correspond to an + * active uniform variable name in <program>, if <name> is associated + * with a named uniform block, or if <name> starts with the reserved + * prefix "gl_"." + */ + if (shProg->UniformStorage[index].block_index != -1) + return -1; + return _mesa_uniform_merge_location_offset(index, offset); } |