mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-03-14 22:20:18 +00:00
Zero DMA region X/Y after copy
This commit is contained in:
parent
8f35345729
commit
b9ea990df6
1 changed files with 12 additions and 5 deletions
|
@ -124,13 +124,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Performs a buffer to buffer, or buffer to texture copy.
|
/// Performs a buffer to buffer, or buffer to texture copy.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="argument">The LaunchDma call argument</param>
|
/// <param name="copyFlags">Flags passed on the DMA launch method</param>
|
||||||
private void DmaCopy(int argument)
|
private void DmaCopy(CopyFlags copyFlags)
|
||||||
{
|
{
|
||||||
var memoryManager = _channel.MemoryManager;
|
var memoryManager = _channel.MemoryManager;
|
||||||
|
|
||||||
CopyFlags copyFlags = (CopyFlags)argument;
|
|
||||||
|
|
||||||
bool srcLinear = copyFlags.HasFlag(CopyFlags.SrcLinear);
|
bool srcLinear = copyFlags.HasFlag(CopyFlags.SrcLinear);
|
||||||
bool dstLinear = copyFlags.HasFlag(CopyFlags.DstLinear);
|
bool dstLinear = copyFlags.HasFlag(CopyFlags.DstLinear);
|
||||||
bool copy2D = copyFlags.HasFlag(CopyFlags.MultiLineEnable);
|
bool copy2D = copyFlags.HasFlag(CopyFlags.MultiLineEnable);
|
||||||
|
@ -329,8 +327,17 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
|
||||||
/// <param name="argument">Method call argument</param>
|
/// <param name="argument">Method call argument</param>
|
||||||
private void LaunchDma(int argument)
|
private void LaunchDma(int argument)
|
||||||
{
|
{
|
||||||
DmaCopy(argument);
|
CopyFlags copyFlags = (CopyFlags)argument;
|
||||||
|
|
||||||
|
DmaCopy(copyFlags);
|
||||||
ReleaseSemaphore(argument);
|
ReleaseSemaphore(argument);
|
||||||
|
|
||||||
|
if (copyFlags.HasFlag(CopyFlags.MultiLineEnable))
|
||||||
|
{
|
||||||
|
// Some applications are not initializing the state and expects it to be zero.
|
||||||
|
_state.State.SetSrcOrigin = 0;
|
||||||
|
_state.State.SetDstOrigin = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue