aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsalvez <[email protected]>2015-09-11 10:02:56 +0200
committerSamuel Iglesias Gonsalvez <[email protected]>2015-09-29 10:03:47 +0200
commit38004eb17ce9663a4343bae4e783e97e73596e9c (patch)
tree413951ae8a39e67f22ad1b3a1f7a09623ba41831 /src
parent589249a792a1db04a3cb41a8e319dabacf3e6123 (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]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/shaderapi.c6
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