radv: expose VK_VALVE_shader_mixed_float_dot_product on supported hardware
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

In practice this means Vega20, Navi14, and RDNA2+.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40003>
This commit is contained in:
Georg Lehmann 2026-02-20 10:15:40 +01:00 committed by Marge Bot
parent 892274d20d
commit c6e1c23faf
3 changed files with 9 additions and 0 deletions

View file

@ -734,6 +734,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_QCOM_multiview_per_view_viewports DONE (tu)
VK_QCOM_render_pass_shader_resolve DONE (tu)
VK_VALVE_video_encode_rgb_conversion DONE (radv)
VK_VALVE_shader_mixed_float_dot_product DONE (radv/{vega20,navi14,gfx10.3+})
Rusticl OpenCL 1.0 -- all DONE:
Image support DONE

View file

@ -18,3 +18,4 @@ VK_KHR_copy_memory_indirect on nvk
VK_EXT_color_write_enable on panvk
VK_EXT_image_view_min_lod on panvk
VK_EXT_depth_clamp_control on panvk
VK_VALVE_shader_mixed_float_dot_product on RADV (Vega20, Navi14, RDNA2+)

View file

@ -882,6 +882,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
.NV_compute_shader_derivatives = true,
.NV_cooperative_matrix2 = radv_cooperative_matrix2_nv_enabled(pdev),
.VALVE_mutable_descriptor_type = true,
.VALVE_shader_mixed_float_dot_product = pdev->info.cu_info.has_accelerated_dot_product,
.VALVE_video_encode_rgb_conversion =
pdev->video_encode_enabled && pdev->info.vcn_ip_version >= VCN_2_0_0 && pdev->info.vcn_ip_version != VCN_2_2_0,
};
@ -1518,6 +1519,12 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc
/* VK_KHR_internally_synchronized_queues */
.internallySynchronizedQueues = true,
/* VK_VALVE_shader_mixed_float_dot_product */
.shaderMixedFloatDotProductFloat16AccFloat32 = true,
.shaderMixedFloatDotProductFloat16AccFloat16 = pdev->info.gfx_level >= GFX11,
.shaderMixedFloatDotProductBFloat16Acc = radv_bfloat16_enabled(pdev),
.shaderMixedFloatDotProductFloat8AccFloat32 = pdev->info.gfx_level >= GFX12,
};
}