Implement a Macro JIT (#1445)

* Implement a Macro JIT

* Nit: space
This commit is contained in:
gdkchan 2020-08-02 22:36:57 -03:00 committed by GitHub
parent c11855565e
commit 60db4c3530
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 774 additions and 159 deletions

View file

@ -39,8 +39,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo
{
_context = context;
_fifoClass = new GPFifoClass(context);
_fifoClass = new GPFifoClass(context, this);
_subChannels = new GpuState[8];
for (int index = 0; index < _subChannels.Length; index++)
@ -152,7 +151,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo
}
else if (meth.Method < 0xe00)
{
_subChannels[meth.SubChannel].CallMethod(meth, _fifoClass.ShadowCtrl);
_subChannels[meth.SubChannel].CallMethod(meth);
}
else
{
@ -175,5 +174,17 @@ namespace Ryujinx.Graphics.Gpu.Engine.GPFifo
}
}
}
/// <summary>
/// Sets the shadow ram control value of all sub-channels.
/// </summary>
/// <param name="control">New shadow ram control value</param>
public void SetShadowRamControl(ShadowRamControl control)
{
for (int i = 0; i < _subChannels.Length; i++)
{
_subChannels[i].ShadowRamControl = control;
}
}
}
}