radv: Use enum for memory heaps.
Inspired by patches from Eric Engestrom. Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Cc: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
011e5570f8
commit
4ae84efbc5
|
@ -578,37 +578,39 @@ void radv_GetPhysicalDeviceMemoryProperties(
|
|||
pMemoryProperties->memoryTypeCount = 4;
|
||||
pMemoryProperties->memoryTypes[0] = (VkMemoryType) {
|
||||
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
|
||||
.heapIndex = 0,
|
||||
.heapIndex = RADV_MEM_HEAP_VRAM,
|
||||
};
|
||||
pMemoryProperties->memoryTypes[1] = (VkMemoryType) {
|
||||
.propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
|
||||
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
|
||||
.heapIndex = 2,
|
||||
.heapIndex = RADV_MEM_HEAP_GTT,
|
||||
};
|
||||
pMemoryProperties->memoryTypes[2] = (VkMemoryType) {
|
||||
.propertyFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
|
||||
VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
|
||||
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
|
||||
.heapIndex = 1,
|
||||
.heapIndex = RADV_MEM_HEAP_VRAM_CPU_ACCESS,
|
||||
};
|
||||
pMemoryProperties->memoryTypes[3] = (VkMemoryType) {
|
||||
.propertyFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT |
|
||||
VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
|
||||
VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
|
||||
.heapIndex = 2,
|
||||
.heapIndex = RADV_MEM_HEAP_GTT,
|
||||
};
|
||||
|
||||
pMemoryProperties->memoryHeapCount = 3;
|
||||
pMemoryProperties->memoryHeaps[0] = (VkMemoryHeap) {
|
||||
STATIC_ASSERT(RADV_MEM_HEAP_COUNT <= VK_MAX_MEMORY_HEAPS);
|
||||
|
||||
pMemoryProperties->memoryHeapCount = RADV_MEM_HEAP_COUNT;
|
||||
pMemoryProperties->memoryHeaps[RADV_MEM_HEAP_VRAM] = (VkMemoryHeap) {
|
||||
.size = physical_device->rad_info.vram_size -
|
||||
physical_device->rad_info.visible_vram_size,
|
||||
.flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
|
||||
};
|
||||
pMemoryProperties->memoryHeaps[1] = (VkMemoryHeap) {
|
||||
pMemoryProperties->memoryHeaps[RADV_MEM_HEAP_VRAM_CPU_ACCESS] = (VkMemoryHeap) {
|
||||
.size = physical_device->rad_info.visible_vram_size,
|
||||
.flags = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT,
|
||||
};
|
||||
pMemoryProperties->memoryHeaps[2] = (VkMemoryHeap) {
|
||||
pMemoryProperties->memoryHeaps[RADV_MEM_HEAP_GTT] = (VkMemoryHeap) {
|
||||
.size = physical_device->rad_info.gart_size,
|
||||
.flags = 0,
|
||||
};
|
||||
|
|
|
@ -85,6 +85,13 @@ typedef uint32_t xcb_window_t;
|
|||
|
||||
#define NUM_DEPTH_CLEAR_PIPELINES 3
|
||||
|
||||
enum radv_mem_heap {
|
||||
RADV_MEM_HEAP_VRAM,
|
||||
RADV_MEM_HEAP_VRAM_CPU_ACCESS,
|
||||
RADV_MEM_HEAP_GTT,
|
||||
RADV_MEM_HEAP_COUNT
|
||||
};
|
||||
|
||||
#define radv_noreturn __attribute__((__noreturn__))
|
||||
#define radv_printflike(a, b) __attribute__((__format__(__printf__, a, b)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue