diff options
author | bunnei <bunneidev@gmail.com> | 2019-03-16 05:05:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-16 05:05:24 +0100 |
commit | 47b622825ca0ff664044abdf2d64a141452a8d1c (patch) | |
tree | ff18141caee2b1a460e6d5e22283e78c073880b0 /src/video_core/renderer_vulkan/vk_buffer_cache.h | |
parent | Merge pull request #2048 from FearlessTobi/port-3924 (diff) | |
parent | gpu: Use host address for caching instead of guest address. (diff) | |
download | yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar.gz yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar.bz2 yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar.lz yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar.xz yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.tar.zst yuzu-47b622825ca0ff664044abdf2d64a141452a8d1c.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_buffer_cache.h')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index d8e916f31..8b415744b 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h @@ -24,22 +24,39 @@ class VKFence; class VKMemoryManager; class VKStreamBuffer; -struct CachedBufferEntry final : public RasterizerCacheObject { - VAddr GetAddr() const override { - return addr; +class CachedBufferEntry final : public RasterizerCacheObject { +public: + explicit CachedBufferEntry(VAddr cpu_addr, std::size_t size, u64 offset, std::size_t alignment, + u8* host_ptr); + + VAddr GetCpuAddr() const override { + return cpu_addr; } std::size_t GetSizeInBytes() const override { return size; } + std::size_t GetSize() const { + return size; + } + + u64 GetOffset() const { + return offset; + } + + std::size_t GetAlignment() const { + return alignment; + } + // We do not have to flush this cache as things in it are never modified by us. void Flush() override {} - VAddr addr; - std::size_t size; - u64 offset; - std::size_t alignment; +private: + VAddr cpu_addr{}; + std::size_t size{}; + u64 offset{}; + std::size_t alignment{}; }; class VKBufferCache final : public RasterizerCache<std::shared_ptr<CachedBufferEntry>> { |