diff options
| author | 2020-04-05 17:23:49 -0400 | |
|---|---|---|
| committer | 2020-04-06 09:23:06 -0400 | |
| commit | 7fcd0fee6d580a381fdc4a4ec5b77687e4857b5b (patch) | |
| tree | fc9c659ffa601aee77eeea2a11f16be98cefc902 /src/video_core/renderer_vulkan | |
| parent | Texture Cache: Use vAddr instead of physical memory for caching. (diff) | |
| download | yuzu-7fcd0fee6d580a381fdc4a4ec5b77687e4857b5b.tar.gz yuzu-7fcd0fee6d580a381fdc4a4ec5b77687e4857b5b.tar.xz yuzu-7fcd0fee6d580a381fdc4a4ec5b77687e4857b5b.zip | |
Buffer Cache: Use vAddr instead of physical memory.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 8 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.h | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 4 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index 1ba544943..326d74f29 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp | |||
| @@ -42,8 +42,8 @@ auto CreateStreamBuffer(const VKDevice& device, VKScheduler& scheduler) { | |||
| 42 | } // Anonymous namespace | 42 | } // Anonymous namespace |
| 43 | 43 | ||
| 44 | CachedBufferBlock::CachedBufferBlock(const VKDevice& device, VKMemoryManager& memory_manager, | 44 | CachedBufferBlock::CachedBufferBlock(const VKDevice& device, VKMemoryManager& memory_manager, |
| 45 | CacheAddr cache_addr, std::size_t size) | 45 | VAddr cpu_addr, std::size_t size) |
| 46 | : VideoCommon::BufferBlock{cache_addr, size} { | 46 | : VideoCommon::BufferBlock{cpu_addr, size} { |
| 47 | const vk::BufferCreateInfo buffer_ci({}, static_cast<vk::DeviceSize>(size), | 47 | const vk::BufferCreateInfo buffer_ci({}, static_cast<vk::DeviceSize>(size), |
| 48 | BufferUsage | vk::BufferUsageFlagBits::eTransferSrc | | 48 | BufferUsage | vk::BufferUsageFlagBits::eTransferSrc | |
| 49 | vk::BufferUsageFlagBits::eTransferDst, | 49 | vk::BufferUsageFlagBits::eTransferDst, |
| @@ -68,8 +68,8 @@ VKBufferCache::VKBufferCache(VideoCore::RasterizerInterface& rasterizer, Core::S | |||
| 68 | 68 | ||
| 69 | VKBufferCache::~VKBufferCache() = default; | 69 | VKBufferCache::~VKBufferCache() = default; |
| 70 | 70 | ||
| 71 | Buffer VKBufferCache::CreateBlock(CacheAddr cache_addr, std::size_t size) { | 71 | Buffer VKBufferCache::CreateBlock(VAddr cpu_addr, std::size_t size) { |
| 72 | return std::make_shared<CachedBufferBlock>(device, memory_manager, cache_addr, size); | 72 | return std::make_shared<CachedBufferBlock>(device, memory_manager, cpu_addr, size); |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | const vk::Buffer* VKBufferCache::ToHandle(const Buffer& buffer) { | 75 | const vk::Buffer* VKBufferCache::ToHandle(const Buffer& buffer) { |
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 3f38eed0c..508214618 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h | |||
| @@ -30,7 +30,7 @@ class VKScheduler; | |||
| 30 | class CachedBufferBlock final : public VideoCommon::BufferBlock { | 30 | class CachedBufferBlock final : public VideoCommon::BufferBlock { |
| 31 | public: | 31 | public: |
| 32 | explicit CachedBufferBlock(const VKDevice& device, VKMemoryManager& memory_manager, | 32 | explicit CachedBufferBlock(const VKDevice& device, VKMemoryManager& memory_manager, |
| 33 | CacheAddr cache_addr, std::size_t size); | 33 | VAddr cpu_addr, std::size_t size); |
| 34 | ~CachedBufferBlock(); | 34 | ~CachedBufferBlock(); |
| 35 | 35 | ||
| 36 | const vk::Buffer* GetHandle() const { | 36 | const vk::Buffer* GetHandle() const { |
| @@ -55,7 +55,7 @@ public: | |||
| 55 | protected: | 55 | protected: |
| 56 | void WriteBarrier() override {} | 56 | void WriteBarrier() override {} |
| 57 | 57 | ||
| 58 | Buffer CreateBlock(CacheAddr cache_addr, std::size_t size) override; | 58 | Buffer CreateBlock(VAddr cpu_addr, std::size_t size) override; |
| 59 | 59 | ||
| 60 | const vk::Buffer* ToHandle(const Buffer& buffer) override; | 60 | const vk::Buffer* ToHandle(const Buffer& buffer) override; |
| 61 | 61 | ||
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index cc76d96ea..b6ba5de12 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -501,7 +501,7 @@ void RasterizerVulkan::FlushRegion(VAddr addr, u64 size) { | |||
| 501 | } | 501 | } |
| 502 | CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); | 502 | CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); |
| 503 | texture_cache.FlushRegion(addr, size); | 503 | texture_cache.FlushRegion(addr, size); |
| 504 | buffer_cache.FlushRegion(cache_addr, size); | 504 | buffer_cache.FlushRegion(addr, size); |
| 505 | query_cache.FlushRegion(cache_addr, size); | 505 | query_cache.FlushRegion(cache_addr, size); |
| 506 | } | 506 | } |
| 507 | 507 | ||
| @@ -512,7 +512,7 @@ void RasterizerVulkan::InvalidateRegion(VAddr addr, u64 size) { | |||
| 512 | CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); | 512 | CacheAddr cache_addr = ToCacheAddr(system.Memory().GetPointer(addr)); |
| 513 | texture_cache.InvalidateRegion(addr, size); | 513 | texture_cache.InvalidateRegion(addr, size); |
| 514 | pipeline_cache.InvalidateRegion(cache_addr, size); | 514 | pipeline_cache.InvalidateRegion(cache_addr, size); |
| 515 | buffer_cache.InvalidateRegion(cache_addr, size); | 515 | buffer_cache.InvalidateRegion(addr, size); |
| 516 | query_cache.InvalidateRegion(cache_addr, size); | 516 | query_cache.InvalidateRegion(cache_addr, size); |
| 517 | } | 517 | } |
| 518 | 518 | ||