diff options
| author | 2023-04-30 17:14:06 +0200 | |
|---|---|---|
| committer | 2023-05-07 23:46:12 +0200 | |
| commit | c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4 (patch) | |
| tree | 0d71092cfad84e47a193917028200e2fc216f5e6 /src/video_core/engines | |
| parent | Merge pull request #10097 from german77/nfp_full (diff) | |
| download | yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.tar.gz yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.tar.xz yuzu-c6cac2ffaad4ac27f35cea25022d9c59c7ecfbf4.zip | |
GPU: Add Reactive flushing
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/maxwell_dma.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp index e68850dc5..f7400aac8 100644 --- a/src/video_core/engines/maxwell_dma.cpp +++ b/src/video_core/engines/maxwell_dma.cpp | |||
| @@ -223,7 +223,7 @@ void MaxwellDMA::CopyBlockLinearToPitch() { | |||
| 223 | write_buffer.resize_destructive(dst_size); | 223 | write_buffer.resize_destructive(dst_size); |
| 224 | 224 | ||
| 225 | memory_manager.ReadBlock(src_operand.address, read_buffer.data(), src_size); | 225 | memory_manager.ReadBlock(src_operand.address, read_buffer.data(), src_size); |
| 226 | memory_manager.ReadBlockUnsafe(dst_operand.address, write_buffer.data(), dst_size); | 226 | memory_manager.ReadBlock(dst_operand.address, write_buffer.data(), dst_size); |
| 227 | 227 | ||
| 228 | UnswizzleSubrect(write_buffer, read_buffer, bytes_per_pixel, width, height, depth, x_offset, | 228 | UnswizzleSubrect(write_buffer, read_buffer, bytes_per_pixel, width, height, depth, x_offset, |
| 229 | src_params.origin.y, x_elements, regs.line_count, block_height, block_depth, | 229 | src_params.origin.y, x_elements, regs.line_count, block_height, block_depth, |
| @@ -288,11 +288,7 @@ void MaxwellDMA::CopyPitchToBlockLinear() { | |||
| 288 | write_buffer.resize_destructive(dst_size); | 288 | write_buffer.resize_destructive(dst_size); |
| 289 | 289 | ||
| 290 | memory_manager.ReadBlock(regs.offset_in, read_buffer.data(), src_size); | 290 | memory_manager.ReadBlock(regs.offset_in, read_buffer.data(), src_size); |
| 291 | if (Settings::IsGPULevelExtreme()) { | 291 | memory_manager.ReadBlock(regs.offset_out, write_buffer.data(), dst_size); |
| 292 | memory_manager.ReadBlock(regs.offset_out, write_buffer.data(), dst_size); | ||
| 293 | } else { | ||
| 294 | memory_manager.ReadBlockUnsafe(regs.offset_out, write_buffer.data(), dst_size); | ||
| 295 | } | ||
| 296 | 292 | ||
| 297 | // If the input is linear and the output is tiled, swizzle the input and copy it over. | 293 | // If the input is linear and the output is tiled, swizzle the input and copy it over. |
| 298 | SwizzleSubrect(write_buffer, read_buffer, bytes_per_pixel, width, height, depth, x_offset, | 294 | SwizzleSubrect(write_buffer, read_buffer, bytes_per_pixel, width, height, depth, x_offset, |