Module: Mesa Branch: staging/18.2 Commit: 7611e59a8c6d4490609ffce032e188434ad39529 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7611e59a8c6d4490609ffce032e188434ad39529
Author: Samuel Pitoiset <[email protected]> Date: Wed Aug 22 12:34:13 2018 +0200 radv: remove dead variables after splitting per member structs Otherwise, nir_lower_clip_cull_distance_arrays might report wrong number of output clips/culls because it relies on shader output variables and some of them might be dead. This fixes a rendering issue with Dolphin and Super Mario Sunshine. Fixes: b0c643d8f5 ("spirv: Use NIR per-member splitting") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107610 CC: 18.2 <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 24ee53231da84a1be5ec08abebe8a2ff6aa019ca) --- src/amd/vulkan/radv_shader.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 7d4265cfda..207e5b050e 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -259,9 +259,6 @@ radv_shader_compile_to_nir(struct radv_device *device, */ NIR_PASS_V(nir, nir_lower_constant_initializers, nir_var_shader_out); - NIR_PASS_V(nir, nir_remove_dead_variables, - nir_var_shader_in | nir_var_shader_out | nir_var_system_value); - /* Now that we've deleted all but the main function, we can go ahead and * lower the rest of the constant initializers. */ @@ -273,6 +270,9 @@ radv_shader_compile_to_nir(struct radv_device *device, NIR_PASS_V(nir, nir_split_var_copies); NIR_PASS_V(nir, nir_split_per_member_structs); + NIR_PASS_V(nir, nir_remove_dead_variables, + nir_var_shader_in | nir_var_shader_out | nir_var_system_value); + NIR_PASS_V(nir, nir_lower_system_values); NIR_PASS_V(nir, nir_lower_clip_cull_distance_arrays); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
