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>
This commit is contained in:
Echo J 2023-12-10 17:57:38 +02:00
parent 9ab59574ef
commit 9ca9b67446

View file

@ -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;