Module: Mesa Branch: main Commit: 83ba2498c2c0bce273420b8730b603c361c8184a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83ba2498c2c0bce273420b8730b603c361c8184a
Author: Thomas H.P. Andersen <[email protected]> Date: Mon Oct 23 23:03:52 2023 +0200 nvk: VK_EXT_shader_module_identifier dEQP-VK.pipeline.monolithic.shader_module_identifier.* Test run totals: Passed: 530/1292 (41.0%) Failed: 0/1292 (0.0%) Not supported: 762/1292 (59.0%) Warnings: 0/1292 (0.0%) Waived: 0/1292 (0.0%) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25550> --- src/nouveau/vulkan/nvk_physical_device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 0a520a0777c..a9ef92e3106 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -18,6 +18,7 @@ #include "vulkan/runtime/vk_device.h" #include "vulkan/runtime/vk_drm_syncobj.h" +#include "vulkan/runtime/vk_shader_module.h" #include "vulkan/wsi/wsi_common.h" #include <sys/stat.h> @@ -189,6 +190,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance, .EXT_shader_image_atomic_int64 = info->cls_eng3d >= MAXWELL_A && nvk_use_nak(info), .EXT_shader_demote_to_helper_invocation = true, + .EXT_shader_module_identifier = true, .EXT_shader_subgroup_ballot = true, .EXT_shader_subgroup_vote = true, .EXT_shader_viewport_index_layer = info->cls_eng3d >= MAXWELL_B, @@ -492,6 +494,9 @@ nvk_get_device_features(const struct nv_device_info *info, .sparseImageInt64Atomics = info->cls_eng3d >= MAXWELL_A && nvk_use_nak(info), + /* VK_EXT_shader_module_identifier */ + .shaderModuleIdentifier = true, + /* VK_EXT_texel_buffer_alignment */ .texelBufferAlignment = true, @@ -815,6 +820,13 @@ nvk_get_device_properties(const struct nvk_instance *instance, snprintf(properties->deviceName, sizeof(properties->deviceName), "%s", info->device_name); + /* VK_EXT_shader_module_identifier */ + STATIC_ASSERT(sizeof(vk_shaderModuleIdentifierAlgorithmUUID) == + sizeof(properties->shaderModuleIdentifierAlgorithmUUID)); + memcpy(properties->shaderModuleIdentifierAlgorithmUUID, + vk_shaderModuleIdentifierAlgorithmUUID, + sizeof(properties->shaderModuleIdentifierAlgorithmUUID)); + const struct { uint16_t vendor_id; uint16_t device_id;
