Mesa (master): nir: Get the number of SSBOs and UBOs right

Iago Toral Quiroga itoral at kemper.freedesktop.org
Fri Oct 16 08:15:37 UTC 2015


Module: Mesa
Branch: master
Commit: c8f5274b52682f4e1b767251b50f6191d8251079
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c8f5274b52682f4e1b767251b50f6191d8251079

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Thu Oct 15 08:47:09 2015 +0200

nir: Get the number of SSBOs and UBOs right

Before d31f98a272e429d and 56e2bdbca36a20 we had a sigle index space for UBOs
and SSBOs, so NumBufferInterfaceBlocks would contain the combined number of
blocks, not just one kind. This means that for shader programs using both
UBOs and SSBOs, we were setting num_ssbos and num_ubos to a larger number than
we should. Since the above commits  we have separate index spaces for each
so we can just get the right numbers.

Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

---

 src/glsl/nir/glsl_to_nir.cpp |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 5aba8f8..cf5bb93 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -152,9 +152,9 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
 
    shader->info.name = ralloc_asprintf(shader, "GLSL%d", shader_prog->Name);
    shader->info.num_textures = num_textures;
-   shader->info.num_ubos = sh->NumBufferInterfaceBlocks;
+   shader->info.num_ubos = sh->NumUniformBlocks;
    shader->info.num_abos = shader_prog->NumAtomicBuffers;
-   shader->info.num_ssbos = shader_prog->NumBufferInterfaceBlocks;
+   shader->info.num_ssbos = sh->NumShaderStorageBlocks;
    shader->info.num_images = sh->NumImages;
    shader->info.inputs_read = sh->Program->InputsRead;
    shader->info.outputs_written = sh->Program->OutputsWritten;




More information about the mesa-commit mailing list