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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12989>
This commit is contained in:
Samuel Pitoiset
2021-09-23 10:07:38 +02:00
committed by Marge Bot
parent 55e6a68f69
commit 19a71e79b8
3 changed files with 1 additions and 5 deletions

View File

@@ -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;
}

View File

@@ -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 };

View File

@@ -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 ||