From 19a71e79b88eb0423ad663f56b69a9db6fdbe78a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 23 Sep 2021 10:07:38 +0200 Subject: [PATCH] radv: get the float controls execution mode from NIR for LLVM No need to duplicate it. Though, I think it was already broken for merged shaders, but it doesn't matter. No CTS regressions anyways with LLVM. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_nir_to_llvm.c | 2 +- src/amd/vulkan/radv_shader.h | 2 -- src/amd/vulkan/radv_shader_info.c | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 2bc408c6cc9..ade731d91cf 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2388,7 +2388,7 @@ ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm, struct nir_shader *co enum ac_float_mode float_mode = AC_FLOAT_MODE_DEFAULT; - if (args->shader_info->float_controls_mode & FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO_FP32) { + if (shaders[0]->info.float_controls_execution_mode & FLOAT_CONTROLS_DENORM_FLUSH_TO_ZERO_FP32) { float_mode = AC_FLOAT_MODE_DENORM_FLUSH_TO_ZERO; } diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index a8018b8aa4f..a26b1c993dc 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -328,8 +328,6 @@ struct radv_shader_info { struct gfx9_gs_info gs_ring_info; struct gfx10_ngg_info ngg_info; - - unsigned float_controls_mode; }; enum radv_shader_binary_type { RADV_BINARY_TYPE_LEGACY, RADV_BINARY_TYPE_RTLD }; diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index dd80b740470..5a3e5f12b12 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -724,8 +724,6 @@ radv_nir_shader_info_pass(struct radv_device *device, const struct nir_shader *n es_info->esgs_itemsize = num_outputs_written * 16; } - info->float_controls_mode = nir->info.float_controls_execution_mode; - if (nir->info.stage == MESA_SHADER_FRAGMENT) { info->ps.allow_flat_shading = !(info->ps.uses_persp_or_linear_interp || info->ps.needs_sample_positions ||