Mesa (main): v3dv: expose VK_KHR_vulkan_memory_model

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 20 12:37:22 UTC 2022


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

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed May 18 13:59:24 2022 +0200

v3dv: expose VK_KHR_vulkan_memory_model

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

---

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

diff --git a/docs/features.txt b/docs/features.txt
index d9e67c87abe..ba9d5778ac0 100644
--- a/docs/features.txt
+++ b/docs/features.txt
@@ -462,7 +462,7 @@ Vulkan 1.2 -- all DONE: anv, vn
   VK_KHR_spirv_1_4                                      DONE (anv, lvp, radv, tu, v3dv, vn)
   VK_KHR_timeline_semaphore                             DONE (anv, lvp, radv, tu, v3dv, vn)
   VK_KHR_uniform_buffer_standard_layout                 DONE (anv, lvp, radv, tu, v3dv, vn)
-  VK_KHR_vulkan_memory_model                            DONE (anv, lvp, radv, tu, vn)
+  VK_KHR_vulkan_memory_model                            DONE (anv, lvp, radv, tu, v3dv, vn)
   VK_EXT_descriptor_indexing                            DONE (anv/gen9+, radv, tu, vn)
   VK_EXT_host_query_reset                               DONE (anv, lvp, radv, tu, v3dv, vn)
   VK_EXT_sampler_filter_minmax                          DONE (anv/gen9+, lvp, radv, tu, vn)
diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c
index d6a7df84a62..b783a28da92 100644
--- a/src/broadcom/vulkan/v3dv_device.c
+++ b/src/broadcom/vulkan/v3dv_device.c
@@ -152,6 +152,7 @@ get_device_extensions(const struct v3dv_physical_device *device,
       .KHR_incremental_present             = true,
 #endif
       .KHR_variable_pointers               = true,
+      .KHR_vulkan_memory_model             = true,
       .EXT_4444_formats                    = true,
       .EXT_color_write_enable              = true,
       .EXT_custom_border_color             = true,
@@ -1192,6 +1193,10 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
       .storagePushConstant8 = true,
       .imagelessFramebuffer = true,
       .timelineSemaphore = true,
+
+      .vulkanMemoryModel = true,
+      .vulkanMemoryModelDeviceScope = true,
+      .vulkanMemoryModelAvailabilityVisibilityChains = true,
    };
 
    VkPhysicalDeviceVulkan11Features vk11 = {
diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c
index 3cba7834680..63a8efe984d 100644
--- a/src/broadcom/vulkan/v3dv_pipeline.c
+++ b/src/broadcom/vulkan/v3dv_pipeline.c
@@ -191,6 +191,8 @@ static const struct spirv_to_nir_options default_spirv_options =  {
       .storage_16bit = true,
       .subgroup_basic = true,
       .variable_pointers = true,
+      .vk_memory_model = true,
+      .vk_memory_model_device_scope = true,
     },
    .ubo_addr_format = nir_address_format_32bit_index_offset,
    .ssbo_addr_format = nir_address_format_32bit_index_offset,



More information about the mesa-commit mailing list