diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-01-03 22:38:15 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-01-15 20:19:39 +0100 |
commit | 72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06 (patch) | |
tree | 4fc56ddc8b3e1dfe06a4980696025247b5f9d24a /src/video_core/renderer_vulkan/vk_staging_buffer_pool.h | |
parent | vulkan_common: Move allocator to the common directory (diff) | |
download | yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar.gz yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar.bz2 yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar.lz yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar.xz yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.tar.zst yuzu-72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_staging_buffer_pool.h')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_staging_buffer_pool.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.h b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.h index 1a4338609..d42918a47 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.h +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.h @@ -28,7 +28,7 @@ public: VKScheduler& scheduler); ~StagingBufferPool(); - StagingBufferRef Request(size_t size, bool host_visible); + StagingBufferRef Request(size_t size, MemoryUsage usage); void TickFrame(); @@ -56,13 +56,13 @@ private: static constexpr size_t NUM_LEVELS = sizeof(size_t) * CHAR_BIT; using StagingBuffersCache = std::array<StagingBuffers, NUM_LEVELS>; - std::optional<StagingBufferRef> TryGetReservedBuffer(size_t size, bool host_visible); + std::optional<StagingBufferRef> TryGetReservedBuffer(size_t size, MemoryUsage usage); - StagingBufferRef CreateStagingBuffer(size_t size, bool host_visible); + StagingBufferRef CreateStagingBuffer(size_t size, MemoryUsage usage); - StagingBuffersCache& GetCache(bool host_visible); + StagingBuffersCache& GetCache(MemoryUsage usage); - void ReleaseCache(bool host_visible); + void ReleaseCache(MemoryUsage usage); void ReleaseLevel(StagingBuffersCache& cache, size_t log2); @@ -70,8 +70,9 @@ private: MemoryAllocator& memory_allocator; VKScheduler& scheduler; - StagingBuffersCache host_staging_buffers; - StagingBuffersCache device_staging_buffers; + StagingBuffersCache device_local_cache; + StagingBuffersCache upload_cache; + StagingBuffersCache download_cache; size_t current_delete_level = 0; u64 buffer_index = 0; |