summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_staging_buffer_pool.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-01-03 22:38:15 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2021-01-15 20:19:39 +0100
commit72541af3bc8973fba0f0e3d1302fcd0fa7fb9f06 (patch)
tree4fc56ddc8b3e1dfe06a4980696025247b5f9d24a /src/video_core/renderer_vulkan/vk_staging_buffer_pool.h
parentvulkan_common: Move allocator to the common directory (diff)
downloadyuzu-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.h15
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;