From d0d0c3abc4d142335eece114d0499bfd5a97b0fe Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Tue, 3 Nov 2020 10:55:14 +0000 Subject: [PATCH] radv: fix shader caching with NaN fixup workaround Signed-off-by: Rhys Perry Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Samuel Pitoiset Fixes: 6f21995f986 ("radv: add new drirc option radv_enable_mrt_output_nan_fixup") Part-of: (cherry picked from commit ac65d3b6b8522a25b91150a61cac1799c551c51b) --- .pick_status.json | 2 +- src/amd/vulkan/radv_pipeline.c | 2 ++ src/amd/vulkan/radv_private.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 51b73c4e918..4a18f6d7581 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5179,7 +5179,7 @@ "description": "radv: fix shader caching with NaN fixup workaround", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "6f21995f986a8f119c916bef3293991e34774678" }, diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index d374bc3e5cf..442f63f5462 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -221,6 +221,8 @@ static uint32_t get_hash_flags(struct radv_device *device) hash_flags |= RADV_HASH_SHADER_LLVM; if (device->instance->debug_flags & RADV_DEBUG_DISCARD_TO_DEMOTE) hash_flags |= RADV_HASH_SHADER_DISCARD_TO_DEMOTE; + if (device->instance->enable_mrt_output_nan_fixup) + hash_flags |= RADV_HASH_SHADER_MRT_NAN_FIXUP; return hash_flags; } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index fe8de8fac27..69315e5215d 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1590,6 +1590,7 @@ struct radv_shader_module; #define RADV_HASH_SHADER_GE_WAVE32 (1 << 3) #define RADV_HASH_SHADER_LLVM (1 << 4) #define RADV_HASH_SHADER_DISCARD_TO_DEMOTE (1 << 5) +#define RADV_HASH_SHADER_MRT_NAN_FIXUP (1 << 6) void radv_hash_shaders(unsigned char *hash,