summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/engine_upload.cpp
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2022-11-25 00:24:07 +0100
committerGitHub <noreply@github.com>2022-11-25 00:24:07 +0100
commit9d081a872903915a7a75b2634e310ea62d7b5dba (patch)
treee0e4808844a61b8b67f77ecbf0692c88a8c2673a /src/video_core/engines/engine_upload.cpp
parentMerge pull request #9299 from lioncash/cast (diff)
parentGPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation. (diff)
downloadyuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar.gz
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar.bz2
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar.lz
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar.xz
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.tar.zst
yuzu-9d081a872903915a7a75b2634e310ea62d7b5dba.zip
Diffstat (limited to 'src/video_core/engines/engine_upload.cpp')
-rw-r--r--src/video_core/engines/engine_upload.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/engines/engine_upload.cpp b/src/video_core/engines/engine_upload.cpp
index a34819234..28aa85f32 100644
--- a/src/video_core/engines/engine_upload.cpp
+++ b/src/video_core/engines/engine_upload.cpp
@@ -51,11 +51,11 @@ void State::ProcessData(std::span<const u8> read_buffer) {
} else {
for (u32 line = 0; line < regs.line_count; ++line) {
const GPUVAddr dest_line = address + static_cast<size_t>(line) * regs.dest.pitch;
- memory_manager.WriteBlockUnsafe(
- dest_line, read_buffer.data() + static_cast<size_t>(line) * regs.line_length_in,
- regs.line_length_in);
+ std::span<const u8> buffer(read_buffer.data() +
+ static_cast<size_t>(line) * regs.line_length_in,
+ regs.line_length_in);
+ rasterizer->AccelerateInlineToMemory(dest_line, regs.line_length_in, buffer);
}
- memory_manager.InvalidateRegion(address, regs.dest.pitch * regs.line_count);
}
} else {
u32 width = regs.dest.width;