summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-11-24 14:02:58 +0100
committerGravatar Fernando Sahmkow2022-11-24 20:57:16 +0100
commit3b582d5fb2ca19d1a45f9675244021a3d302c9ff (patch)
treee0e4808844a61b8b67f77ecbf0692c88a8c2673a /src/video_core/buffer_cache
parentMerge pull request #9299 from lioncash/cast (diff)
downloadyuzu-3b582d5fb2ca19d1a45f9675244021a3d302c9ff.tar.gz
yuzu-3b582d5fb2ca19d1a45f9675244021a3d302c9ff.tar.xz
yuzu-3b582d5fb2ca19d1a45f9675244021a3d302c9ff.zip
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 599551013..5d3a8293b 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -1742,12 +1742,12 @@ bool BufferCache<P>::InlineMemory(VAddr dest_address, size_t copy_size,
1742 SynchronizeBuffer(buffer, dest_address, static_cast<u32>(copy_size)); 1742 SynchronizeBuffer(buffer, dest_address, static_cast<u32>(copy_size));
1743 1743
1744 if constexpr (USE_MEMORY_MAPS) { 1744 if constexpr (USE_MEMORY_MAPS) {
1745 auto upload_staging = runtime.UploadStagingBuffer(copy_size);
1745 std::array copies{BufferCopy{ 1746 std::array copies{BufferCopy{
1746 .src_offset = 0, 1747 .src_offset = upload_staging.offset,
1747 .dst_offset = buffer.Offset(dest_address), 1748 .dst_offset = buffer.Offset(dest_address),
1748 .size = copy_size, 1749 .size = copy_size,
1749 }}; 1750 }};
1750 auto upload_staging = runtime.UploadStagingBuffer(copy_size);
1751 u8* const src_pointer = upload_staging.mapped_span.data(); 1751 u8* const src_pointer = upload_staging.mapped_span.data();
1752 std::memcpy(src_pointer, inlined_buffer.data(), copy_size); 1752 std::memcpy(src_pointer, inlined_buffer.data(), copy_size);
1753 runtime.CopyBuffer(buffer, upload_staging.buffer, copies); 1753 runtime.CopyBuffer(buffer, upload_staging.buffer, copies);