1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
From 8316cddfb220303d1d2031c7d6f5bd2199d5fb64 Mon Sep 17 00:00:00 2001
From: Echo J <aidas957@gmail.com>
Date: Tue, 18 Apr 2023 11:53:01 +0300
Subject: [PATCH] nvk: Expose Vulkan memory model
---
src/nouveau/vulkan/nvk_physical_device.c | 2 ++
src/nouveau/vulkan/nvk_shader.c | 1 +
2 files changed, 3 insertions(+)
diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c
index 81b8ed41f18..67e00d06616 100644
--- a/src/nouveau/vulkan/nvk_physical_device.c
+++ b/src/nouveau/vulkan/nvk_physical_device.c
@@ -96,6 +96,7 @@ nvk_get_device_extensions(const struct nv_device_info *info,
#endif
.KHR_uniform_buffer_standard_layout = true,
.KHR_variable_pointers = true,
+ .KHR_vulkan_memory_model = true,
.KHR_workgroup_memory_explicit_layout = true,
.EXT_4444_formats = true,
.EXT_attachment_feedback_loop_layout = true,
@@ -242,6 +243,7 @@ nvk_get_device_features(const struct nv_device_info *info,
.bufferDeviceAddress = true,
.bufferDeviceAddressCaptureReplay = false,
.bufferDeviceAddressMultiDevice = false,
+ .vulkanMemoryModel = true,
.shaderOutputViewportIndex = info->cls_eng3d >= MAXWELL_B,
.shaderOutputLayer = info->cls_eng3d >= MAXWELL_B,
diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c
index 899f236f905..8deffb6ecca 100644
--- a/src/nouveau/vulkan/nvk_shader.c
+++ b/src/nouveau/vulkan/nvk_shader.c
@@ -122,6 +122,7 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev,
.tessellation = true,
.transform_feedback = true,
.variable_pointers = true,
+ .vk_memory_model = true,
.workgroup_memory_explicit_layout = true,
},
.ssbo_addr_format = nvk_buffer_addr_format(rs->storage_buffers),
--
2.42.0
|