Module: Mesa
Branch: master
Commit: e1df849c3cfe0c9da7d2f62fc78be94632949903
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1df849c3cfe0c9da7d2f62fc78be94632949903

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]>

---

 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 edf099e4f0..d88d5f0642 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -144,7 +144,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,
                };
        }
 
@@ -161,7 +161,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,
                };
        }
@@ -179,7 +180,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