mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-27 04:04:23 +08:00
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 <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20639>
This commit is contained in:
parent
22ef66bcc9
commit
c2200a410b
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user