From d03634d438de83d054daccef644e800f1539c400 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 15 Feb 2021 11:40:45 +0100 Subject: [PATCH] radv: only apply the MRT output NaN fixup to non-meta shaders We only want this workaround to be applied for game shaders. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4163 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit f502bdf1ab629e29a76611a16a2bbee257c27570) --- .pick_status.json | 2 +- src/amd/vulkan/radv_shader.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index abc17498c0b..be645874303 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1300,7 +1300,7 @@ "description": "radv: only apply the MRT output NaN fixup to non-meta shaders", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index c921743874e..4810101420d 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -1330,7 +1330,8 @@ shader_variant_compile(struct radv_device *device, options->address32_hi = device->physical_device->rad_info.address32_hi; options->has_ls_vgpr_init_bug = device->physical_device->rad_info.has_ls_vgpr_init_bug; options->use_ngg_streamout = device->physical_device->use_ngg_streamout; - options->enable_mrt_output_nan_fixup = device->instance->enable_mrt_output_nan_fixup; + options->enable_mrt_output_nan_fixup = module && !module->nir && + device->instance->enable_mrt_output_nan_fixup; options->adjust_frag_coord_z = device->adjust_frag_coord_z; options->debug.func = radv_compiler_debug; options->debug.private_data = &debug_data;