summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2022-05-11 23:51:02 +0200
committerGitHub <noreply@github.com>2022-05-11 23:51:02 +0200
commitdca63391b60a8312cc70b8d7d075565fc70cea42 (patch)
tree026fe350ed31ed3dc256624910837f25665d09b6
parentMerge pull request #8328 from liamwhite/macro-clear (diff)
parentmaxwell_dma: use fallback if remapping is enabled (diff)
downloadyuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar.gz
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar.bz2
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar.lz
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar.xz
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.tar.zst
yuzu-dca63391b60a8312cc70b8d7d075565fc70cea42.zip
-rw-r--r--src/video_core/engines/maxwell_dma.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/video_core/engines/maxwell_dma.cpp b/src/video_core/engines/maxwell_dma.cpp
index 76e8bc656..a7302f7c1 100644
--- a/src/video_core/engines/maxwell_dma.cpp
+++ b/src/video_core/engines/maxwell_dma.cpp
@@ -134,7 +134,8 @@ void MaxwellDMA::CopyBlockLinearToPitch() {
// Deswizzle the input and copy it over.
UNIMPLEMENTED_IF(regs.launch_dma.remap_enable != 0);
- const u32 bytes_per_pixel = regs.pitch_out / regs.line_length_in;
+ const u32 bytes_per_pixel =
+ regs.launch_dma.remap_enable ? regs.pitch_out / regs.line_length_in : 1;
const Parameters& src_params = regs.src_params;
const u32 width = src_params.width;
const u32 height = src_params.height;
@@ -166,7 +167,8 @@ void MaxwellDMA::CopyPitchToBlockLinear() {
UNIMPLEMENTED_IF(regs.launch_dma.remap_enable != 0);
const auto& dst_params = regs.dst_params;
- const u32 bytes_per_pixel = regs.pitch_in / regs.line_length_in;
+ const u32 bytes_per_pixel =
+ regs.launch_dma.remap_enable ? regs.pitch_in / regs.line_length_in : 1;
const u32 width = dst_params.width;
const u32 height = dst_params.height;
const u32 depth = dst_params.depth;
@@ -210,7 +212,8 @@ void MaxwellDMA::CopyPitchToBlockLinear() {
}
void MaxwellDMA::FastCopyBlockLinearToPitch() {
- const u32 bytes_per_pixel = regs.pitch_out / regs.line_length_in;
+ const u32 bytes_per_pixel =
+ regs.launch_dma.remap_enable ? regs.pitch_out / regs.line_length_in : 1;
const size_t src_size = GOB_SIZE;
const size_t dst_size = static_cast<size_t>(regs.pitch_out) * regs.line_count;
u32 pos_x = regs.src_params.origin.x;