diff options
author | Samuel Iglesias Gonsalvez <[email protected]> | 2015-09-11 10:02:56 +0200 |
---|---|---|
committer | Samuel Iglesias Gonsalvez <[email protected]> | 2015-09-29 10:03:47 +0200 |
commit | 38004eb17ce9663a4343bae4e783e97e73596e9c (patch) | |
tree | 413951ae8a39e67f22ad1b3a1f7a09623ba41831 | |
parent | 589249a792a1db04a3cb41a8e319dabacf3e6123 (diff) |
main: fix ACTIVE_UNIFORM_BLOCKS value
NumUniformBlocks also counts shader storage blocks.
NumUniformBlocks variable will be renamed in a later patch to avoid
misunderstandings.
v2:
- Modify the condition to use !IsShaderStorage and the list of
uniform blocks (Timothy)
Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
-rw-r--r-- | src/mesa/main/shaderapi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index edc23bcefe3..00c51e2bd3d 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -729,7 +729,11 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, if (!has_ubo) break; - *params = shProg->NumUniformBlocks; + *params = 0; + for (unsigned i = 0; i < shProg->NumUniformBlocks; i++) { + if (!shProg->UniformBlocks[i].IsShaderStorage) + (*params)++; + } return; case GL_PROGRAM_BINARY_RETRIEVABLE_HINT: /* This enum isn't part of the OES extension for OpenGL ES 2.0. It is |