summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2022-05-18 13:59:24 +0200
committerMarge Bot <emma+marge@anholt.net>2022-05-20 12:00:44 +0000
commit2c420fcf4061b6cb8d4046c913ae10c1c8d9991d (patch)
treee538fa45a439afd7e38fe913e40e1d8ddec63c21
parentf2635ca47b0724a39682cf3699badb46fce0c653 (diff)
v3dv: expose VK_KHR_vulkan_memory_model
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16602>
-rw-r--r--docs/features.txt2
-rw-r--r--src/broadcom/vulkan/v3dv_device.c5
-rw-r--r--src/broadcom/vulkan/v3dv_pipeline.c2
3 files changed, 8 insertions, 1 deletions
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,