From a3eb91ed8ce3384d5bb1cf6df2cea4a6ebb5a976 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Tue, 16 Apr 2019 16:39:27 -0400 Subject: RasterizerCache Redesign: Flush flushing is now responsability of children caches instead of the cache object. This change will allow the specific cache to pass extra parameters on flushing and will allow more flexibility. --- src/video_core/renderer_vulkan/vk_buffer_cache.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/video_core/renderer_vulkan') diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 08b786aad..5082f86b6 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h @@ -49,8 +49,6 @@ public: return alignment; } - // We do not have to flush this cache as things in it are never modified by us. - void Flush() override {} private: VAddr cpu_addr{}; @@ -87,6 +85,10 @@ public: return buffer_handle; } +protected: + // We do not have to flush this cache as things in it are never modified by us. + void FlushObjectInner(const std::shared_ptr& object) override {} + private: void AlignBuffer(std::size_t alignment); -- cgit v1.2.3 From 4c36b7856737556d9a7a0fb21eb710f614194b5d Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Tue, 16 Apr 2019 17:07:13 -0400 Subject: Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing. This PR should heavily reduce memory usage since temporal buffers are no longer stored per Surface but instead managed by the Rasterizer Cache. --- src/video_core/renderer_vulkan/vk_buffer_cache.h | 1 - 1 file changed, 1 deletion(-) (limited to 'src/video_core/renderer_vulkan') diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 5082f86b6..3edf460df 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h @@ -49,7 +49,6 @@ public: return alignment; } - private: VAddr cpu_addr{}; std::size_t size{}; -- cgit v1.2.3