Commit c2200a41 authored by Iago Toral's avatar Iago Toral Committed by Marge Bot
Browse files

v3dv: expose VK_KHR_shader_integer_dot_product



NIR will automatically lower all of these opcodes unless the driver
specifies that it can handle them natively. We don't have any hardware
support for any of these opcodes though, so we just let NIR lower
all of them.

Reviewed-by: Alejandro Piñeiro's avatarAlejandro Piñeiro <apinheiro@igalia.com>
Part-of: <!20639>
parent 22ef66bc
Pipeline #781392 waiting for manual action with stages
in 4 minutes and 48 seconds
......@@ -477,7 +477,7 @@ Vulkan 1.3 -- all DONE: anv, radv, tu, lvp, vn
VK_KHR_dynamic_rendering DONE (anv, dzn, lvp, radv, tu, vn)
VK_KHR_format_feature_flags2 DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_maintenance4 DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_shader_integer_dot_product DONE (anv, lvp, radv, tu, vn)
VK_KHR_shader_integer_dot_product DONE (anv, lvp, radv, tu, v3dv, vn)
VK_KHR_shader_non_semantic_info DONE (anv, radv, tu, v3dv, vn)
VK_KHR_shader_terminate_invocation DONE (anv, lvp, radv, tu, vn)
VK_KHR_synchronization2 DONE (anv, lvp, panvk, radv, v3dv, tu, vn)
......
......@@ -6,3 +6,4 @@ Enabled VK_EXT_mesh_shader by default on RADV/RDNA2
Implemented more VK_EXT_dynamic_state3 features on RADV
Various raytracing, graphics pipeline library and RDNA3 improvements on RADV
Radeon Memory Visualizer support with RADV.
VK_KHR_shader_integer_dot_product on V3DV
......@@ -155,6 +155,7 @@ get_device_extensions(const struct v3dv_physical_device *device,
.KHR_storage_buffer_storage_class = true,
.KHR_timeline_semaphore = true,
.KHR_uniform_buffer_standard_layout = true,
.KHR_shader_integer_dot_product = true,
.KHR_synchronization2 = true,
.KHR_workgroup_memory_explicit_layout = true,
#ifdef V3DV_USE_WSI_PLATFORM
......@@ -1169,6 +1170,7 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
.shaderZeroInitializeWorkgroupMemory = true,
.synchronization2 = true,
.robustImageAccess = true,
.shaderIntegerDotProduct = true,
};
VkPhysicalDeviceVulkan12Features vk12 = {
......@@ -1622,6 +1624,36 @@ v3dv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
.storageTexelBufferOffsetSingleTexelAlignment = false,
.uniformTexelBufferOffsetAlignmentBytes = V3D_TMU_TEXEL_ALIGN,
.uniformTexelBufferOffsetSingleTexelAlignment = false,
/* No native acceleration for integer dot product. We use NIR lowering. */
.integerDotProduct8BitUnsignedAccelerated = false,
.integerDotProduct8BitMixedSignednessAccelerated = false,
.integerDotProduct4x8BitPackedUnsignedAccelerated = false,
.integerDotProduct4x8BitPackedSignedAccelerated = false,
.integerDotProduct4x8BitPackedMixedSignednessAccelerated = false,
.integerDotProduct16BitUnsignedAccelerated = false,
.integerDotProduct16BitSignedAccelerated = false,
.integerDotProduct16BitMixedSignednessAccelerated = false,
.integerDotProduct32BitUnsignedAccelerated = false,
.integerDotProduct32BitSignedAccelerated = false,
.integerDotProduct32BitMixedSignednessAccelerated = false,
.integerDotProduct64BitUnsignedAccelerated = false,
.integerDotProduct64BitSignedAccelerated = false,
.integerDotProduct64BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating8BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = false,
.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating16BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating32BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false,
.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitSignedAccelerated = false,
.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false,
};
VkPhysicalDeviceVulkan12Properties vk12 = {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment