From 03ae2611838bf86c3c589980645b2c5880a3751c Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Tue, 5 Dec 2023 15:14:54 -0600 Subject: [PATCH] nvk: Advertise KHR_shader_integer_dot_product Part-of: --- docs/features.txt | 2 +- src/nouveau/vulkan/nvk_physical_device.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 3b6055c2112..f73fda1c4e5 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -479,7 +479,7 @@ Vulkan 1.3 -- all DONE: anv, radv, tu, lvp, vn VK_KHR_dynamic_rendering DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn) VK_KHR_format_feature_flags2 DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn) VK_KHR_maintenance4 DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) - VK_KHR_shader_integer_dot_product DONE (anv, dzn, hasvk, lvp, radv, tu, v3dv, vn) + VK_KHR_shader_integer_dot_product DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn) VK_KHR_shader_non_semantic_info DONE (anv, hasvk, nvk, radv, tu, v3dv, vn) VK_KHR_shader_terminate_invocation DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_KHR_synchronization2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 99239c39809..c407725c835 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -117,6 +117,7 @@ nvk_get_device_extensions(const struct nv_device_info *info, .KHR_shader_clock = true, .KHR_shader_draw_parameters = true, .KHR_shader_float16_int8 = true, + .KHR_shader_integer_dot_product = true, .KHR_shader_non_semantic_info = true, .KHR_shader_subgroup_extended_types = true, .KHR_shader_terminate_invocation = @@ -312,6 +313,7 @@ nvk_get_device_features(const struct nv_device_info *info, .computeFullSubgroups = true, .synchronization2 = true, .dynamicRendering = true, + .shaderIntegerDotProduct = true, .maintenance4 = true, /* VK_KHR_fragment_shader_barycentric */ @@ -689,6 +691,12 @@ nvk_get_device_properties(const struct nvk_instance *instance, .maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32, .maxDescriptorSetInlineUniformBlocks = 6 * 32, .maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 6 * 32, + .integerDotProduct4x8BitPackedUnsignedAccelerated + = info->cls_eng3d >= VOLTA_A, + .integerDotProduct4x8BitPackedSignedAccelerated + = info->cls_eng3d >= VOLTA_A, + .integerDotProduct4x8BitPackedMixedSignednessAccelerated + = info->cls_eng3d >= VOLTA_A, .storageTexelBufferOffsetAlignmentBytes = 16, .storageTexelBufferOffsetSingleTexelAlignment = true, .uniformTexelBufferOffsetAlignmentBytes = 16,