Mesa (main): v3dv: enable KHR_uniform_buffer_standard_layout

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 10 15:09:05 UTC 2021


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

Author: Charlie <charlie at daft.games>
Date:   Wed Jun  9 20:20:34 2021 +0100

v3dv: enable KHR_uniform_buffer_standard_layout

We already support this memory layout. All relevant CTS tests seem to
pass

Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11276>

---

 docs/features.txt                 | 2 +-
 src/broadcom/vulkan/v3dv_device.c | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/docs/features.txt b/docs/features.txt
index e7e764d092a..f0fdd5b1762 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -463,7 +463,7 @@ Vulkan 1.2 -- all DONE: anv, vn
   VK_KHR_shader_subgroup_extended_types                 DONE (anv/gen8+, radv, vn)
   VK_KHR_spirv_1_4                                      DONE (anv, radv, tu, vn)
   VK_KHR_timeline_semaphore                             DONE (anv, radv, tu, vn)
-  VK_KHR_uniform_buffer_standard_layout                 DONE (anv, lvp, radv, vn)
+  VK_KHR_uniform_buffer_standard_layout                 DONE (anv, lvp, radv, v3dv, vn)
   VK_KHR_vulkan_memory_model                            DONE (anv, radv, tu, vn)
   VK_EXT_descriptor_indexing                            DONE (anv/gen9+, radv, tu, vn)
   VK_EXT_host_query_reset                               DONE (anv, lvp, radv, tu, vn)
diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c
index b6ad487f67b..2747111e4cb 100644
--- a/src/broadcom/vulkan/v3dv_device.c
+++ b/src/broadcom/vulkan/v3dv_device.c
@@ -125,6 +125,7 @@ get_device_extensions(const struct v3dv_physical_device *device,
       .KHR_maintenance3                    = true,
       .KHR_sampler_mirror_clamp_to_edge    = true,
       .KHR_storage_buffer_storage_class    = true,
+      .KHR_uniform_buffer_standard_layout  = true,
 #ifdef V3DV_HAS_SURFACE
       .KHR_swapchain                       = true,
       .KHR_incremental_present             = true,
@@ -1011,6 +1012,13 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
 
    vk_foreach_struct(ext, pFeatures->pNext) {
       switch (ext->sType) {
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: {
+         VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *features =
+            (VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *)ext;
+         features->uniformBufferStandardLayout = true;
+         break;
+      }
+
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
          VkPhysicalDevicePrivateDataFeaturesEXT *features =
             (VkPhysicalDevicePrivateDataFeaturesEXT *)ext;



More information about the mesa-commit mailing list