Mesa (main): turnip: expose VK_EXT_shader_module_identifier

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 19 16:29:44 UTC 2022


Module: Mesa
Branch: main
Commit: 4bccee123fee800d004ff53fb9e9141721f6ced3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bccee123fee800d004ff53fb9e9141721f6ced3

Author: Hyunjun Ko <zzoon at igalia.com>
Date:   Fri Jul 15 17:06:09 2022 +0900

turnip: expose VK_EXT_shader_module_identifier

Signed-off-by: Hyunjun Ko <zzoon at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17614>

---

 docs/features.txt                |  1 +
 src/freedreno/vulkan/tu_device.c | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/docs/features.txt b/docs/features.txt
index 0dbb1b31b8b..47ba684337e 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -574,6 +574,7 @@ Khronos extensions that are not part of any Vulkan version:
   VK_EXT_shader_stencil_export                          DONE (anv/gen9+, lvp, radv, tu)
   VK_EXT_shader_subgroup_ballot                         DONE (anv, radv)
   VK_EXT_shader_subgroup_vote                           DONE (anv, radv)
+  VK_EXT_shader_module_identifier                       DONE (anv, radv, tu)
   VK_EXT_transform_feedback                             DONE (anv, lvp, radv, tu, vn)
   VK_EXT_vertex_attribute_divisor                       DONE (anv, radv, lvp, tu, v3dv)
   VK_EXT_vertex_input_dynamic_state                     DONE (lvp, radv)
diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index eb580fed31d..4dccc2f033e 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -213,6 +213,7 @@ get_device_extensions(const struct tu_physical_device *device,
       .EXT_shader_demote_to_helper_invocation = true,
       .EXT_shader_stencil_export = true,
       .EXT_shader_viewport_index_layer = true,
+      .EXT_shader_module_identifier = true,
       .EXT_texel_buffer_alignment = true,
       .EXT_vertex_attribute_divisor = true,
       .EXT_provoking_vertex = true,
@@ -903,6 +904,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
          features->colorWriteEnable = true;
          break;
       }
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: {
+         VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *features =
+            (VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *)ext;
+         features->shaderModuleIdentifier = true;
+         break;
+      }
 
       default:
          break;
@@ -1352,7 +1359,16 @@ tu_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
          props->renderMinor = pdevice->local_minor;
          break;
       }
-
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
+         VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *props =
+            (VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT *)ext;
+         STATIC_ASSERT(sizeof(vk_shaderModuleIdentifierAlgorithmUUID) ==
+                       sizeof(props->shaderModuleIdentifierAlgorithmUUID));
+         memcpy(props->shaderModuleIdentifierAlgorithmUUID,
+                vk_shaderModuleIdentifierAlgorithmUUID,
+                sizeof(props->shaderModuleIdentifierAlgorithmUUID));
+         break;
+      }
       default:
          break;
       }



More information about the mesa-commit mailing list