diff options
| author | 2022-01-16 05:05:34 +0100 | |
|---|---|---|
| committer | 2022-03-25 01:51:51 +0100 | |
| commit | 5e982a781201a12c4cee6af2908e4732b4c8d945 (patch) | |
| tree | 480bba2bae6f2618b657e3ddb9729eff65c94c2d /src/video_core/renderer_vulkan | |
| parent | Garbage Collection: Redesign the algorithm to do a better use of memory. (diff) | |
| download | yuzu-5e982a781201a12c4cee6af2908e4732b4c8d945.tar.gz yuzu-5e982a781201a12c4cee6af2908e4732b4c8d945.tar.xz yuzu-5e982a781201a12c4cee6af2908e4732b4c8d945.zip | |
Buffer Cache: Tune to the levels of the new GC.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 12 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.h | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index 5ffd93499..def838c34 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp | |||
| @@ -141,6 +141,18 @@ StagingBufferRef BufferCacheRuntime::DownloadStagingBuffer(size_t size) { | |||
| 141 | return staging_pool.Request(size, MemoryUsage::Download); | 141 | return staging_pool.Request(size, MemoryUsage::Download); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | u64 BufferCacheRuntime::GetDeviceLocalMemory() const { | ||
| 145 | return device.GetDeviceLocalMemory(); | ||
| 146 | } | ||
| 147 | |||
| 148 | u64 BufferCacheRuntime::GetDeviceMemoryUsage() const { | ||
| 149 | return device.GetDeviceMemoryUsage(); | ||
| 150 | } | ||
| 151 | |||
| 152 | bool BufferCacheRuntime::CanReportMemoryUsage() const { | ||
| 153 | return device.CanReportMemoryUsage(); | ||
| 154 | } | ||
| 155 | |||
| 144 | void BufferCacheRuntime::Finish() { | 156 | void BufferCacheRuntime::Finish() { |
| 145 | scheduler.Finish(); | 157 | scheduler.Finish(); |
| 146 | } | 158 | } |
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 1ee0d8420..d7fdd18ff 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h | |||
| @@ -65,6 +65,12 @@ public: | |||
| 65 | 65 | ||
| 66 | void Finish(); | 66 | void Finish(); |
| 67 | 67 | ||
| 68 | u64 GetDeviceLocalMemory() const; | ||
| 69 | |||
| 70 | u64 GetDeviceMemoryUsage() const; | ||
| 71 | |||
| 72 | bool CanReportMemoryUsage() const; | ||
| 73 | |||
| 68 | [[nodiscard]] StagingBufferRef UploadStagingBuffer(size_t size); | 74 | [[nodiscard]] StagingBufferRef UploadStagingBuffer(size_t size); |
| 69 | 75 | ||
| 70 | [[nodiscard]] StagingBufferRef DownloadStagingBuffer(size_t size); | 76 | [[nodiscard]] StagingBufferRef DownloadStagingBuffer(size_t size); |