summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorGravatar liamwhite2024-02-27 09:42:15 -0500
committerGravatar GitHub2024-02-27 15:42:15 +0100
commit6948ac8c1622ebb3f9da065d3678e571b7ff726e (patch)
tree1cfed7dc79952d21efc54a265988fd0a4e225230 /src/video_core/buffer_cache
parentvk_rasterizer: flip scissor y on lower left origin mode (#13122) (diff)
downloadyuzu-6948ac8c1622ebb3f9da065d3678e571b7ff726e.tar.gz
yuzu-6948ac8c1622ebb3f9da065d3678e571b7ff726e.tar.xz
yuzu-6948ac8c1622ebb3f9da065d3678e571b7ff726e.zip
general: workarounds for SMMU syncing issues (#12749)
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index ed7a5b27e..af237703d 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -1488,7 +1488,10 @@ void BufferCache<P>::ImmediateUploadMemory([[maybe_unused]] Buffer& buffer,
1488 std::span<const u8> upload_span; 1488 std::span<const u8> upload_span;
1489 const DAddr device_addr = buffer.CpuAddr() + copy.dst_offset; 1489 const DAddr device_addr = buffer.CpuAddr() + copy.dst_offset;
1490 if (IsRangeGranular(device_addr, copy.size)) { 1490 if (IsRangeGranular(device_addr, copy.size)) {
1491 upload_span = std::span(device_memory.GetPointer<u8>(device_addr), copy.size); 1491 auto* const ptr = device_memory.GetPointer<u8>(device_addr);
1492 if (ptr != nullptr) {
1493 upload_span = std::span(ptr, copy.size);
1494 }
1492 } else { 1495 } else {
1493 if (immediate_buffer.empty()) { 1496 if (immediate_buffer.empty()) {
1494 immediate_buffer = ImmediateBuffer(largest_copy); 1497 immediate_buffer = ImmediateBuffer(largest_copy);