summarylogtreecommitdiffstats
path: root/nvk-memmodel.patch
blob: 522ae1e714ce0aa98dfb72b507addf9d88c4c985 (plain)
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