Explorar el Código

Disable DMA GPU copy for block linear to linear copies (#5927)

* Disable DMA GPU copy for block linear to linear copies

* Simplify check

* PR feedback
gdkchan hace 2 años
padre
commit
5b3662b793
Se han modificado 1 ficheros con 5 adiciones y 1 borrados
  1. 5 1
      src/Ryujinx.Graphics.Gpu/Engine/Dma/DmaClass.cs

+ 5 - 1
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,