v3dv: expose VK_KHR_vulkan_memory_model
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 18 May 2022 11:59:24 +0000 (13:59 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 20 May 2022 12:00:44 +0000 (12:00 +0000)
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16602>

docs/features.txt
src/broadcom/vulkan/v3dv_device.c
src/broadcom/vulkan/v3dv_pipeline.c

index d9e67c8..ba9d577 100644 (file)
@@ -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)
index d6a7df8..b783a28 100644 (file)
@@ -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 = {
index 3cba783..63a8efe 100644 (file)
@@ -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,