diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 5bf9234a8c6..601cb6c9f64 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -146,7 +146,10 @@ radv_physical_device_init_mem_types(struct radv_physical_device *device) uint64_t vram_size = radv_get_vram_size(device); int vram_index = -1, visible_vram_index = -1, gart_index = -1; device->memory_properties.memoryHeapCount = 0; - if (vram_size > 0) { + + /* Only get a VRAM heap if it is significant, not if it is a 16 MiB + * remainder above visible VRAM. */ + if (vram_size > 0 && vram_size * 9 >= visible_vram_size) { vram_index = device->memory_properties.memoryHeapCount++; device->memory_properties.memoryHeaps[vram_index] = (VkMemoryHeap) { .size = vram_size,