[Mesa-dev] [PATCH 7/8] radv: enable nir varying array splitting
Timothy Arceri
tarceri at itsqueeze.com
Tue Nov 21 03:28:10 UTC 2017
---
src/amd/vulkan/radv_pipeline.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index faffca8330..03a8bd8604 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -1675,20 +1675,23 @@ radv_link_shaders(struct radv_pipeline *pipeline, nir_shader **shaders)
ordered_shaders[shader_count++] = shaders[MESA_SHADER_TESS_EVAL];
}
if(shaders[MESA_SHADER_TESS_CTRL]) {
ordered_shaders[shader_count++] = shaders[MESA_SHADER_TESS_CTRL];
}
if(shaders[MESA_SHADER_VERTEX]) {
ordered_shaders[shader_count++] = shaders[MESA_SHADER_VERTEX];
}
for (int i = 1; i < shader_count; ++i) {
+ nir_lower_io_arrays_to_elements(ordered_shaders[i],
+ ordered_shaders[i - 1]);
+
nir_remove_dead_variables(ordered_shaders[i],
nir_var_shader_out);
nir_remove_dead_variables(ordered_shaders[i - 1],
nir_var_shader_in);
bool progress = nir_remove_unused_varyings(ordered_shaders[i],
ordered_shaders[i - 1]);
if (progress) {
nir_lower_global_vars_to_local(ordered_shaders[i]);
--
2.14.3
More information about the mesa-dev
mailing list