Mesa (staging/19.2): radv: Call nir_propagate_invariant()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Sep 5 15:46:03 UTC 2019


Module: Mesa
Branch: staging/19.2
Commit: 95145376d188dbf609091b667e2d4ff8049ce16e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=95145376d188dbf609091b667e2d4ff8049ce16e

Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Thu Sep  5 13:57:11 2019 +0200

radv: Call nir_propagate_invariant()

Without this, invariant qualifiers don't do anything. Together with a
fix to the game, this fixes flickering in No Man's Sky.

Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
(cherry picked from commit 3f5b541fc8b2aae6e71783b7a9bb8eb2ffa3a74d)

---

 src/amd/vulkan/radv_shader.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index 9397c5d6f40..41bc73a882f 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -389,6 +389,8 @@ radv_shader_compile_to_nir(struct radv_device *device,
 		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_propagate_invariant);
+
 		NIR_PASS_V(nir, nir_lower_system_values);
 		NIR_PASS_V(nir, nir_lower_clip_cull_distance_arrays);
 		NIR_PASS_V(nir, radv_nir_lower_ycbcr_textures, layout);




More information about the mesa-commit mailing list