main: Use NumUniformBlocks to count UBOs
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 16 Oct 2015 09:16:46 +0000 (11:16 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 19 Oct 2015 06:20:40 +0000 (08:20 +0200)
Now that we have separate index spaces for UBOs and SSBOs we do not need
to iterate through BufferInterfaceBlocks any more, we can just take the
UBO count directly from NumUniformBlocks.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/main/shaderapi.c

index 6a2f60d..26995ad 100644 (file)
@@ -729,11 +729,7 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname,
       if (!has_ubo)
          break;
 
-      *params = 0;
-      for (unsigned i = 0; i < shProg->NumBufferInterfaceBlocks; i++) {
-         if (!shProg->BufferInterfaceBlocks[i].IsShaderStorage)
-            (*params)++;
-      }
+      *params = shProg->NumUniformBlocks;
       return;
    case GL_PROGRAM_BINARY_RETRIEVABLE_HINT:
       /* This enum isn't part of the OES extension for OpenGL ES 2.0.  It is