Mesa (android-radeonsi-build-fix): glsl: make use of active_shader_mask when building resource list
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 5 08:08:27 UTC 2019
Module: Mesa
Branch: android-radeonsi-build-fix
Commit: 1b1b436fa7cf92cce23018ea923597c4d7290d57
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b1b436fa7cf92cce23018ea923597c4d7290d57
Author: Timothy Arceri <tarceri at itsqueeze.com>
Date: Wed Dec 4 00:24:35 2019 +1100
glsl: make use of active_shader_mask when building resource list
This allows us to avoid walking the entire IR looking for used
uniforms.
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
---
src/compiler/glsl/linker.cpp | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index f686fe96bfc..1b30a59d8fb 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -4213,20 +4213,8 @@ build_program_resource_list(struct gl_context *ctx,
if (shProg->data->UniformStorage[i].hidden)
continue;
- uint8_t stageref =
- build_stageref(shProg, shProg->data->UniformStorage[i].name,
- ir_var_uniform);
-
- /* Add stagereferences for uniforms in a uniform block. */
bool is_shader_storage =
shProg->data->UniformStorage[i].is_shader_storage;
- int block_index = shProg->data->UniformStorage[i].block_index;
- if (block_index != -1) {
- stageref |= is_shader_storage ?
- shProg->data->ShaderStorageBlocks[block_index].stageref :
- shProg->data->UniformBlocks[block_index].stageref;
- }
-
GLenum type = is_shader_storage ? GL_BUFFER_VARIABLE : GL_UNIFORM;
if (!link_util_should_add_buffer_variable(shProg,
&shProg->data->UniformStorage[i],
@@ -4269,6 +4257,7 @@ build_program_resource_list(struct gl_context *ctx,
buffer_block_index = shProg->data->UniformStorage[i].block_index;
}
+ uint8_t stageref = shProg->data->UniformStorage[i].active_shader_mask;
if (!link_util_add_program_resource(shProg, resource_set, type,
&shProg->data->UniformStorage[i], stageref))
return;
More information about the mesa-commit
mailing list