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

Author: Echo J <[email protected]>
Date:   Sun Dec 10 17:57:38 2023 +0200

nvk: Set HOST_CACHED_BIT for the GTT type

vkd3d-proton requires this memory bit in various cases (adding
it to the GTT memory type significantly reduces failures in the
vkd3d-proton test suite) 🐸

I'm not sure if Tegra supports this bit though so I'm not adding it
to the VRAM-less path (hopefully someone can provide an actual answer)

The next step would be adding HOST_VISIBLE bit to the VRAM type (this
will likely require more work and maybe even some KMD changes) which
would make gamescope work (Faith said that DXVK benefits from it too)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26621>

---

 src/nouveau/vulkan/nvk_physical_device.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/nouveau/vulkan/nvk_physical_device.c 
b/src/nouveau/vulkan/nvk_physical_device.c
index aa8e746cb96..1d8013a6bb4 100644
--- a/src/nouveau/vulkan/nvk_physical_device.c
+++ b/src/nouveau/vulkan/nvk_physical_device.c
@@ -998,7 +998,8 @@ nvk_create_drm_physical_device(struct vk_instance 
*_instance,
       pdev->mem_heaps[1].flags = 0;
       pdev->mem_types[1].heapIndex = 1;
       pdev->mem_types[1].propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
-                                         VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
+                                         VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
+                                         VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
    } else {
       pdev->mem_type_cnt = 1;
       pdev->mem_heap_cnt = 1;

Reply via email to