summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar GPUCode2023-06-22 20:03:12 +0300
committerGravatar GPUCode2023-06-22 20:03:12 +0300
commit75fb29e08e3891ecfc5d96d54603cda806ebd426 (patch)
tree4a1d8f5e596e11f27154f4bce2767dc46ffa8510
parentrenderer_vulkan: Add missing initializers (diff)
downloadyuzu-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.cpp16
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,