diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 01db4c93e17..f414437e2a3 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -2846,6 +2846,9 @@ void radv_create_shaders(struct radv_pipeline *pipeline, for (int i = 0; i < MESA_SHADER_STAGES; ++i) { if (nir[i]) { + /* do this again since information such as outputs_read can be out-of-date */ + nir_shader_gather_info(nir[i], nir_shader_get_entrypoint(nir[i])); + if (device->physical_device->use_aco) { NIR_PASS_V(nir[i], nir_lower_non_uniform_access, nir_lower_non_uniform_ubo_access |