From c471aed748b3af2749f6c9c9a2a9dec1797e173c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Fri, 12 Apr 2024 00:04:19 +0200 Subject: [PATCH] radv: Only consider interpolated inputs as 16-bit float. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enabling FP16_INTERP_MODE makes no sense for other types of inputs. Signed-off-by: Timur Kristóf Reviewed-by: Georg Lehmann Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_info.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 26a48ad90c9..5026c519f26 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -87,10 +87,6 @@ gather_load_fs_input_info(const nir_shader *nir, const nir_intrinsic_instr *intr const uint32_t mapped_mask = BITFIELD_RANGE(mapped_location, attrib_count); const bool per_primitive = nir->info.per_primitive_inputs & BITFIELD64_BIT(location); - if (intrin->def.bit_size == 16) { - info->ps.float16_shaded_mask |= mapped_mask; - } - if (!per_primitive) { if (intrin->intrinsic == nir_intrinsic_load_input) { info->ps.flat_shaded_mask |= mapped_mask; @@ -99,6 +95,8 @@ gather_load_fs_input_info(const nir_shader *nir, const nir_intrinsic_instr *intr info->ps.per_vertex_shaded_mask |= mapped_mask; else info->ps.explicit_shaded_mask |= mapped_mask; + } else if (intrin->intrinsic == nir_intrinsic_load_interpolated_input && intrin->def.bit_size == 16) { + info->ps.float16_shaded_mask |= mapped_mask; } }