diff options
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 45c180221..5eca0ab91 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | |||
| @@ -71,20 +71,19 @@ VKBuffer* VKStagingBufferPool::TryGetReservedBuffer(std::size_t size, bool host_ | |||
| 71 | VKBuffer& VKStagingBufferPool::CreateStagingBuffer(std::size_t size, bool host_visible) { | 71 | VKBuffer& VKStagingBufferPool::CreateStagingBuffer(std::size_t size, bool host_visible) { |
| 72 | const u32 log2 = Common::Log2Ceil64(size); | 72 | const u32 log2 = Common::Log2Ceil64(size); |
| 73 | 73 | ||
| 74 | VkBufferCreateInfo ci; | ||
| 75 | ci.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; | ||
| 76 | ci.pNext = nullptr; | ||
| 77 | ci.flags = 0; | ||
| 78 | ci.size = 1ULL << log2; | ||
| 79 | ci.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | | ||
| 80 | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | | ||
| 81 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT; | ||
| 82 | ci.sharingMode = VK_SHARING_MODE_EXCLUSIVE; | ||
| 83 | ci.queueFamilyIndexCount = 0; | ||
| 84 | ci.pQueueFamilyIndices = nullptr; | ||
| 85 | |||
| 86 | auto buffer = std::make_unique<VKBuffer>(); | 74 | auto buffer = std::make_unique<VKBuffer>(); |
| 87 | buffer->handle = device.GetLogical().CreateBuffer(ci); | 75 | buffer->handle = device.GetLogical().CreateBuffer({ |
| 76 | .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, | ||
| 77 | .pNext = nullptr, | ||
| 78 | .flags = 0, | ||
| 79 | .size = 1ULL << log2, | ||
| 80 | .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | | ||
| 81 | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | | ||
| 82 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, | ||
| 83 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, | ||
| 84 | .queueFamilyIndexCount = 0, | ||
| 85 | .pQueueFamilyIndices = nullptr, | ||
| 86 | }); | ||
| 88 | buffer->commit = memory_manager.Commit(buffer->handle, host_visible); | 87 | buffer->commit = memory_manager.Commit(buffer->handle, host_visible); |
| 89 | 88 | ||
| 90 | auto& entries = GetCache(host_visible)[log2].entries; | 89 | auto& entries = GetCache(host_visible)[log2].entries; |