mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-11-28 03:24:04 +00:00
Revert "Add support for releasing a semaphore to DmaClass (#2926)"
This reverts commit 521a07e612
.
This commit is contained in:
parent
0205b1d7f6
commit
ec8a5fd053
1 changed files with 2 additions and 34 deletions
|
@ -1,5 +1,4 @@
|
||||||
using Ryujinx.Common;
|
using Ryujinx.Common;
|
||||||
using Ryujinx.Common.Logging;
|
|
||||||
using Ryujinx.Graphics.Device;
|
using Ryujinx.Graphics.Device;
|
||||||
using Ryujinx.Graphics.Gpu.Engine.Threed;
|
using Ryujinx.Graphics.Gpu.Engine.Threed;
|
||||||
using Ryujinx.Graphics.Texture;
|
using Ryujinx.Graphics.Texture;
|
||||||
|
@ -99,32 +98,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Releases a semaphore for a given LaunchDma method call.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="argument">The LaunchDma call argument</param>
|
|
||||||
private void ReleaseSemaphore(int argument)
|
|
||||||
{
|
|
||||||
LaunchDmaSemaphoreType type = (LaunchDmaSemaphoreType)((argument >> 3) & 0x3);
|
|
||||||
if (type != LaunchDmaSemaphoreType.None)
|
|
||||||
{
|
|
||||||
ulong address = ((ulong)_state.State.SetSemaphoreA << 32) | _state.State.SetSemaphoreB;
|
|
||||||
if (type == LaunchDmaSemaphoreType.ReleaseOneWordSemaphore)
|
|
||||||
{
|
|
||||||
_channel.MemoryManager.Write(address, _state.State.SetSemaphorePayload);
|
|
||||||
}
|
|
||||||
else /* if (type == LaunchDmaSemaphoreType.ReleaseFourWordSemaphore) */
|
|
||||||
{
|
|
||||||
Logger.Warning?.Print(LogClass.Gpu, "DMA semaphore type ReleaseFourWordSemaphore was used, but is not currently implemented.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <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="argument">Method call argument</param>
|
||||||
private void DmaCopy(int argument)
|
private void LaunchDma(int argument)
|
||||||
{
|
{
|
||||||
var memoryManager = _channel.MemoryManager;
|
var memoryManager = _channel.MemoryManager;
|
||||||
|
|
||||||
|
@ -318,15 +296,5 @@ namespace Ryujinx.Graphics.Gpu.Engine.Dma
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Performs a buffer to buffer, or buffer to texture copy, then optionally releases a semaphore.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="argument">Method call argument</param>
|
|
||||||
private void LaunchDma(int argument)
|
|
||||||
{
|
|
||||||
DmaCopy(argument);
|
|
||||||
ReleaseSemaphore(argument);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue