aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-11-14 23:24:42 -0300
committerGitHub <noreply@github.com>2023-11-14 23:24:42 -0300
commit5b3662b793b3a34acc12c45c3c1691b7302d4b1d (patch)
treed4abe7f35b329b751376933606621191a3233a3d /src
parent1329c47ea46d3fa152dabe02cff82db84429545a (diff)
Disable DMA GPU copy for block linear to linear copies (#5927)1.1.1083
* Disable DMA GPU copy for block linear to linear copies * Simplify check * PR feedback
Diffstat (limited to 'src')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs b/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs
index e6557780..199cc423 100644
--- a/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs
+++ b/src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs
@@ -279,7 +279,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
bool completeSource = IsTextureCopyComplete(src, srcLinear, srcBpp, srcStride, xCount, yCount);
bool completeDest = IsTextureCopyComplete(dst, dstLinear, dstBpp, dstStride, xCount, yCount);
- if (completeSource && completeDest)
+ // Try to set the texture data directly,
+ // but only if we are doing a complete copy,
+ // and not for block linear to linear copies, since those are typically accessed from the CPU.
+
+ if (completeSource && completeDest && !(dstLinear && !srcLinear))
{
var target = memoryManager.Physical.TextureCache.FindTexture(
memoryManager,