|
@@ -1547,6 +1547,10 @@ RDD::BufferID RenderingDeviceDriverVulkan::buffer_create(uint64_t p_size, BitFie
|
|
} break;
|
|
} break;
|
|
case MEMORY_ALLOCATION_TYPE_GPU: {
|
|
case MEMORY_ALLOCATION_TYPE_GPU: {
|
|
vma_usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE;
|
|
vma_usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE;
|
|
|
|
+ if (!Engine::get_singleton()->is_extra_gpu_memory_tracking_enabled()) {
|
|
|
|
+ // We must set it right now or else vmaFindMemoryTypeIndexForBufferInfo will use wrong parameters.
|
|
|
|
+ alloc_create_info.usage = vma_usage;
|
|
|
|
+ }
|
|
alloc_create_info.preferredFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
|
|
alloc_create_info.preferredFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT;
|
|
if (p_size <= SMALL_ALLOCATION_MAX_SIZE) {
|
|
if (p_size <= SMALL_ALLOCATION_MAX_SIZE) {
|
|
uint32_t mem_type_index = 0;
|
|
uint32_t mem_type_index = 0;
|