diff options
| author | 2023-06-22 20:03:12 +0300 | |
|---|---|---|
| committer | 2023-06-22 20:03:12 +0300 | |
| commit | 75fb29e08e3891ecfc5d96d54603cda806ebd426 (patch) | |
| tree | 4a1d8f5e596e11f27154f4bce2767dc46ffa8510 | |
| parent | renderer_vulkan: Add missing initializers (diff) | |
| download | yuzu-75fb29e08e3891ecfc5d96d54603cda806ebd426.tar.gz yuzu-75fb29e08e3891ecfc5d96d54603cda806ebd426.tar.xz yuzu-75fb29e08e3891ecfc5d96d54603cda806ebd426.zip | |
vulkan_common: Remove required flags
* Allows VMA to fallback to system RAM instead of crashing
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_memory_allocator.cpp | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp index 20d36680c..70db41343 100644 --- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp +++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp | |||
| @@ -59,20 +59,6 @@ struct Range { | |||
| 59 | return VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; | 59 | return VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | [[nodiscard]] VkMemoryPropertyFlags MemoryUsageRequiredVmaFlags(MemoryUsage usage) { | ||
| 63 | switch (usage) { | ||
| 64 | case MemoryUsage::DeviceLocal: | ||
| 65 | return VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; | ||
| 66 | case MemoryUsage::Upload: | ||
| 67 | case MemoryUsage::Stream: | ||
| 68 | return VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; | ||
| 69 | case MemoryUsage::Download: | ||
| 70 | return VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT; | ||
| 71 | } | ||
| 72 | ASSERT_MSG(false, "Invalid memory usage={}", usage); | ||
| 73 | return {}; | ||
| 74 | } | ||
| 75 | |||
| 76 | [[nodiscard]] VkMemoryPropertyFlags MemoryUsagePreferedVmaFlags(MemoryUsage usage) { | 62 | [[nodiscard]] VkMemoryPropertyFlags MemoryUsagePreferedVmaFlags(MemoryUsage usage) { |
| 77 | return usage != MemoryUsage::DeviceLocal ? VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | 63 | return usage != MemoryUsage::DeviceLocal ? VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
| 78 | : VkMemoryPropertyFlagBits{}; | 64 | : VkMemoryPropertyFlagBits{}; |
| @@ -259,7 +245,7 @@ vk::Buffer MemoryAllocator::CreateBuffer(const VkBufferCreateInfo& ci, MemoryUsa | |||
| 259 | .flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT | | 245 | .flags = VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT | |
| 260 | MemoryUsageVmaFlags(usage), | 246 | MemoryUsageVmaFlags(usage), |
| 261 | .usage = MemoryUsageVma(usage), | 247 | .usage = MemoryUsageVma(usage), |
| 262 | .requiredFlags = MemoryUsageRequiredVmaFlags(usage), | 248 | .requiredFlags = 0, |
| 263 | .preferredFlags = MemoryUsagePreferedVmaFlags(usage), | 249 | .preferredFlags = MemoryUsagePreferedVmaFlags(usage), |
| 264 | .memoryTypeBits = 0, | 250 | .memoryTypeBits = 0, |
| 265 | .pool = VK_NULL_HANDLE, | 251 | .pool = VK_NULL_HANDLE, |