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)
.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
.shaderZeroInitializeWorkgroupMemory = true,
.synchronization2 = true,
.robustImageAccess = true,
+ .shaderIntegerDotProduct = true,
};
VkPhysicalDeviceVulkan12Features vk12 = {
.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 = {