summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 792c3820a..fa26eb8b0 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -1661,6 +1661,7 @@ bool BufferCache<P>::InlineMemory(VAddr dest_address, size_t copy_size,
1661 1661
1662 const IntervalType subtract_interval{dest_address, dest_address + copy_size}; 1662 const IntervalType subtract_interval{dest_address, dest_address + copy_size};
1663 ClearDownload(subtract_interval); 1663 ClearDownload(subtract_interval);
1664 common_ranges.subtract(subtract_interval);
1664 1665
1665 BufferId buffer_id = FindBuffer(dest_address, static_cast<u32>(copy_size)); 1666 BufferId buffer_id = FindBuffer(dest_address, static_cast<u32>(copy_size));
1666 auto& buffer = slot_buffers[buffer_id]; 1667 auto& buffer = slot_buffers[buffer_id];
@@ -1677,7 +1678,7 @@ bool BufferCache<P>::InlineMemory(VAddr dest_address, size_t copy_size,
1677 std::memcpy(src_pointer, inlined_buffer.data(), copy_size); 1678 std::memcpy(src_pointer, inlined_buffer.data(), copy_size);
1678 runtime.CopyBuffer(buffer, upload_staging.buffer, copies); 1679 runtime.CopyBuffer(buffer, upload_staging.buffer, copies);
1679 } else { 1680 } else {
1680 buffer.ImmediateUpload(buffer.Offset(dest_address), inlined_buffer); 1681 buffer.ImmediateUpload(buffer.Offset(dest_address), inlined_buffer.first(copy_size));
1681 } 1682 }
1682 1683
1683 return true; 1684 return true;