From 1ee1e63bdb0dea53c17338294bb53fa76136b178 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 17 Sep 2025 16:31:23 +0200 Subject: [PATCH] radv: make sure fp16 is enabled consistently on gfx8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes `dEQP-VK.api.info.vulkan1p4_limits_validation.general` Fixes: f0f4ae17136c9b90eb47 ("radv: Add radv_enable_float16_gfx8 drirc and enable for Indiana Jones TGC") Reviewed-by: Timur Kristóf Part-of: --- src/amd/vulkan/radv_physical_device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index ad7cd9a5a27..51a84bb2791 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -1458,6 +1458,7 @@ radv_get_compiler_string(struct radv_physical_device *pdev) static void radv_get_physical_device_properties(struct radv_physical_device *pdev) { + const struct radv_instance *instance = radv_physical_device_instance(pdev); VkSampleCountFlags sample_counts = 0xf; size_t max_descriptor_set_size = radv_max_descriptor_set_size(); @@ -1469,7 +1470,8 @@ radv_get_physical_device_properties(struct radv_physical_device *pdev) device_type = VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU; } - bool has_fp16 = pdev->info.has_packed_math_16bit; + bool has_fp16 = pdev->info.has_packed_math_16bit || + (pdev->info.gfx_level == GFX8 && instance->drirc.features.expose_float16_gfx8); VkShaderStageFlags taskmesh_stages = radv_taskmesh_enabled(pdev) ? VK_SHADER_STAGE_MESH_BIT_EXT | VK_SHADER_STAGE_TASK_BIT_EXT : 0;