glsl/spirv: remove dead uniforms in spirv nir linker

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4797>
This commit is contained in:
Timothy Arceri
2020-05-04 14:33:56 +10:00
committed by Marge Bot
parent a494b62410
commit 7873276f68

View File

@@ -601,6 +601,14 @@ bool
gl_nir_link_spirv(struct gl_context *ctx, struct gl_shader_program *prog,
const struct gl_nir_linker_options *options)
{
for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
struct gl_linked_shader *shader = prog->_LinkedShaders[i];
if (shader) {
nir_remove_dead_variables(shader->Program->nir, nir_var_uniform,
&can_remove_uniform);
}
}
if (!gl_nir_link_uniform_blocks(ctx, prog))
return false;