diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-11-24 14:02:58 +0100 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-11-24 20:57:16 +0100 |
| commit | 3b582d5fb2ca19d1a45f9675244021a3d302c9ff (patch) | |
| tree | e0e4808844a61b8b67f77ecbf0692c88a8c2673a /src/video_core/engines/engine_upload.cpp | |
| parent | 168c9ee3415bf6400ef0b0cc0eb2dfa73fac2464 (diff) | |
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
Diffstat (limited to 'src/video_core/engines/engine_upload.cpp')
| -rw-r--r-- | src/video_core/engines/engine_upload.cpp | 8 |
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; |
