radv: support VK_KHR_shader_fma
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41649>
This commit is contained in:
Georg Lehmann 2026-05-18 14:57:19 +02:00 committed by Marge Bot
parent 3ea594f42b
commit f43bc8e8be
5 changed files with 37 additions and 4 deletions

View file

@ -581,7 +581,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_shader_bfloat16 DONE (anv/gfx12.5+, radv/gfx12+, vn)
VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn)
VK_KHR_shader_constant_data DONE (anv, radv)
VK_KHR_shader_fma DONE (kk, vn)
VK_KHR_shader_fma DONE (kk, radv, vn)
VK_KHR_shader_maximal_reconvergence DONE (anv, hk, kk, lvp, nvk, panvk/v10+, radv, vn)
VK_KHR_shader_quad_control DONE (anv, hk, lvp, nvk, panvk/v10+, radv, vn)
VK_KHR_shader_relaxed_extended_instruction DONE (anv, hasvk, hk, kk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)

View file

@ -15,3 +15,4 @@ VK_KHR_maintenance11 on RADV
OpenCL 3.1 support for rusticl on asahi, iris, radeonsi, llvmpipe and zink
VK_KHR_workgroup_memory_explicit_layout on pvr
VK_KHR_maintenance5 on pvr
VK_KHR_shader_fma on RADV

View file

@ -2,3 +2,29 @@ dEQP-VK.info.device_extension_dependencies,Fail
# VKCTS bug: https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/6446
dEQP-VK.binding_model.descriptor_heap.basic.fragment.input_attachment,Fail
# CTS is missing -frounding-math: https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/6580
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.scalar.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.scalar.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.scalar.rte.denorm_none.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.scalar.rte.denorm_none.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec2.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec2.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec2.rte.denorm_none.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec2.rte.denorm_none.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.rte.denorm_none.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec3.rte.denorm_none.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec4.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec4.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec4.rte.denorm_none.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp32.vec4.rte.denorm_none.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.scalar.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.scalar.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec2.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec2.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec3.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec3.rte.denorm_flush.float_controls,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec4.rte.denorm_flush.directed,Fail
dEQP-VK.spirv_assembly.instruction.compute.opfma.fp64.vec4.rte.denorm_flush.float_controls,Fail

View file

@ -763,6 +763,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
.KHR_shader_float16_int8 = true,
.KHR_shader_float_controls = true,
.KHR_shader_float_controls2 = true,
.KHR_shader_fma = true,
.KHR_shader_integer_dot_product = true,
.KHR_shader_maximal_reconvergence = true,
.KHR_shader_non_semantic_info = true,
@ -1621,6 +1622,11 @@ radv_physical_device_get_features(const struct radv_physical_device *pdev, struc
/* VK_KHR_maintenance11 */
.maintenance11 = true,
/* VK_KHR_shader_fma */
.shaderFmaFloat16 = radv_shader_fp16_enabled(pdev),
.shaderFmaFloat32 = true,
.shaderFmaFloat64 = true,
};
}

View file

@ -153,9 +153,9 @@ traces:
gl-zink-anv-tgl:
checksum: 04a5a9b7cbc88d8a66c33b5f1c08294d
zink-radv-vangogh:
checksum: b361dcda8115d96061fd3700c1d5c415
checksum: cb5220d7e102b43ce3d778414f547bab
zink-radv-gfx1201:
checksum: b361dcda8115d96061fd3700c1d5c415
checksum: cb5220d7e102b43ce3d778414f547bab
humus/AmbientAperture-v2.trace:
gl-zink-anv-adl:
@ -163,7 +163,7 @@ traces:
gl-zink-anv-tgl:
checksum: 0f3b7351a84e1e6f15430f8766af4b4c
zink-radv-vangogh:
checksum: 8347dcdc720c4a3799df737f24c10a88
checksum: fae285449fe53b508c22e2265b534523
zink-radv-gfx1201:
checksum: 31566f62731204fe422d22db9c5ba759