Module: Mesa
Branch: 18.0
Commit: 264cda58ab55c72e3ed85537687aff950250d842
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=264cda58ab55c72e3ed85537687aff950250d842

Author: Bas Nieuwenhuizen <[email protected]>
Date:   Fri Apr 20 18:16:02 2018 +0200

radv: Mark GTT memory as device local for APUs.

Otherwise a lot of games complain about not having enough memory,
and it is sort of local so this seems reasonable to me.

CC: 18.0 <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit e1df849c3cfe0c9da7d2f62fc78be94632949903)

---

 src/amd/vulkan/radv_device.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 77c6bf4581..73017b0ae3 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -141,7 +141,7 @@ radv_physical_device_init_mem_types(struct 
radv_physical_device *device)
                gart_index = device->memory_properties.memoryHeapCount++;
                device->memory_properties.memoryHeaps[gart_index] = 
(VkMemoryHeap) {
                        .size = device->rad_info.gart_size,
-                       .flags = 0,
+                       .flags = device->rad_info.has_dedicated_vram ? 0 : 
VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
                };
        }
 
@@ -158,7 +158,8 @@ radv_physical_device_init_mem_types(struct 
radv_physical_device *device)
                device->mem_type_indices[type_count] = 
RADV_MEM_TYPE_GTT_WRITE_COMBINE;
                device->memory_properties.memoryTypes[type_count++] = 
(VkMemoryType) {
                        .propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
-                       VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
+                       VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
+                       (device->rad_info.has_dedicated_vram ? 0 : 
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),
                        .heapIndex = gart_index,
                };
        }
@@ -176,7 +177,8 @@ radv_physical_device_init_mem_types(struct 
radv_physical_device *device)
                device->memory_properties.memoryTypes[type_count++] = 
(VkMemoryType) {
                        .propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
                        VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
-                       VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
+                       VK_MEMORY_PROPERTY_HOST_CACHED_BIT |
+                       (device->rad_info.has_dedicated_vram ? 0 : 
VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),
                        .heapIndex = gart_index,
                };
        }

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to