nir: Get the number of SSBOs and UBOs right
Befored31f98a272and56e2bdbca3we 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@intel.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user