summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar bunnei2020-07-02 23:30:08 -0400
committerGravatar GitHub2020-07-02 23:30:08 -0400
commit41a333321af32627c0ecf6eadfa61df63c734b56 (patch)
treed83078b19ea83c2824edf013acfa5c4df8062c56 /src/video_core/renderer_vulkan
parentMerge pull request #3924 from ogniK5377/GetKeyCodeMap (diff)
parentgl_buffer_cache: Copy to buffers created as STREAM_READ before downloading (diff)
downloadyuzu-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.cpp6
-rw-r--r--src/video_core/renderer_vulkan/vk_buffer_cache.h6
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
57Buffer::~Buffer() = default; 57Buffer::~Buffer() = default;
58 58
59void Buffer::Upload(std::size_t offset, std::size_t size, const u8* data) const { 59void 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
84void Buffer::Download(std::size_t offset, std::size_t size, u8* data) const { 84void 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
112void Buffer::CopyFrom(const Buffer& src, std::size_t src_offset, std::size_t dst_offset, 112void 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;