diff options
| author | 2020-07-02 23:30:08 -0400 | |
|---|---|---|
| committer | 2020-07-02 23:30:08 -0400 | |
| commit | 41a333321af32627c0ecf6eadfa61df63c734b56 (patch) | |
| tree | d83078b19ea83c2824edf013acfa5c4df8062c56 /src/video_core/renderer_vulkan | |
| parent | Merge pull request #3924 from ogniK5377/GetKeyCodeMap (diff) | |
| parent | gl_buffer_cache: Copy to buffers created as STREAM_READ before downloading (diff) | |
| download | yuzu-41a333321af32627c0ecf6eadfa61df63c734b56.tar.gz yuzu-41a333321af32627c0ecf6eadfa61df63c734b56.tar.xz yuzu-41a333321af32627c0ecf6eadfa61df63c734b56.zip | |
Merge pull request #4175 from ReinUsesLisp/read-buffer
gl_buffer_cache: Copy to buffers created as STREAM_READ before downloading
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.h | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index f10f96cd8..2be38d419 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp | |||
| @@ -56,7 +56,7 @@ Buffer::Buffer(const VKDevice& device, VKMemoryManager& memory_manager, VKSchedu | |||
| 56 | 56 | ||
| 57 | Buffer::~Buffer() = default; | 57 | Buffer::~Buffer() = default; |
| 58 | 58 | ||
| 59 | void Buffer::Upload(std::size_t offset, std::size_t size, const u8* data) const { | 59 | void Buffer::Upload(std::size_t offset, std::size_t size, const u8* data) { |
| 60 | const auto& staging = staging_pool.GetUnusedBuffer(size, true); | 60 | const auto& staging = staging_pool.GetUnusedBuffer(size, true); |
| 61 | std::memcpy(staging.commit->Map(size), data, size); | 61 | std::memcpy(staging.commit->Map(size), data, size); |
| 62 | 62 | ||
| @@ -81,7 +81,7 @@ void Buffer::Upload(std::size_t offset, std::size_t size, const u8* data) const | |||
| 81 | }); | 81 | }); |
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | void Buffer::Download(std::size_t offset, std::size_t size, u8* data) const { | 84 | void Buffer::Download(std::size_t offset, std::size_t size, u8* data) { |
| 85 | const auto& staging = staging_pool.GetUnusedBuffer(size, true); | 85 | const auto& staging = staging_pool.GetUnusedBuffer(size, true); |
| 86 | scheduler.RequestOutsideRenderPassOperationContext(); | 86 | scheduler.RequestOutsideRenderPassOperationContext(); |
| 87 | 87 | ||
| @@ -110,7 +110,7 @@ void Buffer::Download(std::size_t offset, std::size_t size, u8* data) const { | |||
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | void Buffer::CopyFrom(const Buffer& src, std::size_t src_offset, std::size_t dst_offset, | 112 | void Buffer::CopyFrom(const Buffer& src, std::size_t src_offset, std::size_t dst_offset, |
| 113 | std::size_t size) const { | 113 | std::size_t size) { |
| 114 | scheduler.RequestOutsideRenderPassOperationContext(); | 114 | scheduler.RequestOutsideRenderPassOperationContext(); |
| 115 | 115 | ||
| 116 | const VkBuffer dst_buffer = Handle(); | 116 | const VkBuffer dst_buffer = Handle(); |
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.h b/src/video_core/renderer_vulkan/vk_buffer_cache.h index 3630aca77..991ee451c 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.h +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.h | |||
| @@ -29,12 +29,12 @@ public: | |||
| 29 | VKStagingBufferPool& staging_pool, VAddr cpu_addr, std::size_t size); | 29 | VKStagingBufferPool& staging_pool, VAddr cpu_addr, std::size_t size); |
| 30 | ~Buffer(); | 30 | ~Buffer(); |
| 31 | 31 | ||
| 32 | void Upload(std::size_t offset, std::size_t size, const u8* data) const; | 32 | void Upload(std::size_t offset, std::size_t size, const u8* data); |
| 33 | 33 | ||
| 34 | void Download(std::size_t offset, std::size_t size, u8* data) const; | 34 | void Download(std::size_t offset, std::size_t size, u8* data); |
| 35 | 35 | ||
| 36 | void CopyFrom(const Buffer& src, std::size_t src_offset, std::size_t dst_offset, | 36 | void CopyFrom(const Buffer& src, std::size_t src_offset, std::size_t dst_offset, |
| 37 | std::size_t size) const; | 37 | std::size_t size); |
| 38 | 38 | ||
| 39 | VkBuffer Handle() const { | 39 | VkBuffer Handle() const { |
| 40 | return *buffer.handle; | 40 | return *buffer.handle; |