From f16481969865b5aaab8739da80e5201da60d07dc Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Mon, 13 May 2024 10:40:35 +0200 Subject: [PATCH] panvk: Advertise VK_EXT_shader_module_identifier Signed-off-by: Mary Guillemard Reviewed-by: Boris Brezillon Part-of: --- docs/features.txt | 2 +- src/panfrost/vulkan/panvk_physical_device.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index d793daa9ffd..4ff10ac2082 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -625,7 +625,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_shader_stencil_export DONE (anv, lvp, radv, tu, vn) VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn) VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv) - VK_EXT_shader_module_identifier DONE (anv, hasvk, nvk, radv, tu, v3dv) + VK_EXT_shader_module_identifier DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv) VK_EXT_surface_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv) VK_EXT_swapchain_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv) VK_EXT_transform_feedback DONE (anv, hasvk, lvp, nvk, radv, tu, vn) diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index 1175dd8459a..64693267ab6 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -19,6 +19,7 @@ #include "vk_format.h" #include "vk_limits.h" #include "vk_log.h" +#include "vk_shader_module.h" #include "vk_util.h" #include "panvk_device.h" @@ -80,6 +81,7 @@ get_device_extensions(const struct panvk_physical_device *device, .EXT_index_type_uint8 = true, .EXT_pipeline_creation_cache_control = true, .EXT_pipeline_creation_feedback = true, + .EXT_shader_module_identifier = true, .EXT_vertex_attribute_divisor = true, }; } @@ -592,6 +594,13 @@ get_device_properties(const struct panvk_instance *instance, snprintf(properties->driverName, VK_MAX_DRIVER_NAME_SIZE, "panvk"); snprintf(properties->driverInfo, VK_MAX_DRIVER_INFO_SIZE, "Mesa " PACKAGE_VERSION MESA_GIT_SHA1); + + /* VK_EXT_shader_module_identifier */ + STATIC_ASSERT(sizeof(vk_shaderModuleIdentifierAlgorithmUUID) == + sizeof(properties->shaderModuleIdentifierAlgorithmUUID)); + memcpy(properties->shaderModuleIdentifierAlgorithmUUID, + vk_shaderModuleIdentifierAlgorithmUUID, + sizeof(properties->shaderModuleIdentifierAlgorithmUUID)); } void