Quellcode durchsuchen

Merge pull request #103730 from darksylinc/matias-vma-regression

Fix incorrect parameters passed to VMA
Thaddeus Crews vor 6 Monaten
Ursprung
Commit
6ab1472fc7
1 geänderte Dateien mit 4 neuen und 0 gelöschten Zeilen
  1. 4 0
      drivers/vulkan/rendering_device_driver_vulkan.cpp

+ 4 - 0
drivers/vulkan/rendering_device_driver_vulkan.cpp

@@ -1562,6 +1562,10 @@ RDD::BufferID RenderingDeviceDriverVulkan::buffer_create(uint64_t p_size, BitFie
 		} break;
 		case MEMORY_ALLOCATION_TYPE_GPU: {
 			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;
 			if (p_size <= SMALL_ALLOCATION_MAX_SIZE) {
 				uint32_t mem_type_index = 0;