Module: Mesa Branch: main Commit: 03ae2611838bf86c3c589980645b2c5880a3751c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=03ae2611838bf86c3c589980645b2c5880a3751c
Author: Faith Ekstrand <[email protected]> Date: Tue Dec 5 15:14:54 2023 -0600 nvk: Advertise KHR_shader_integer_dot_product Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26533> --- 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,
