aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-11-17 02:01:31 -0200
committerAc_K <Acoustik666@gmail.com>2018-11-17 05:01:31 +0100
commitd2bb458b51bbcbc097f8f53ac2a3b8b15a723a45 (patch)
tree943f74d8edaf99c538eeaeeee01d8c5c55e5eec8 /Ryujinx.HLE
parentb833183ef640934e82106cb91f7ced65d81e3b07 (diff)
Improved GPU command lists decoding (#499)
* Better implementation of the DMA pusher, misc fixes * Remove some debug code * Correct RGBX8 format * Add support for linked Texture Sampler Control * Attempt to fix upside down screen issue
Diffstat (limited to 'Ryujinx.HLE')
-rw-r--r--Ryujinx.HLE/HOS/Horizon.cs2
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs10
-rw-r--r--Ryujinx.HLE/Switch.cs4
3 files changed, 4 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs
index af175bd4..1b336647 100644
--- a/Ryujinx.HLE/HOS/Horizon.cs
+++ b/Ryujinx.HLE/HOS/Horizon.cs
@@ -333,7 +333,7 @@ namespace Ryujinx.HLE.HOS
{
Device.FileSystem.SetRomFs(RomfsStream);
}
-
+
Pfs Exefs = new Pfs(ExefsStream);
Npdm MetaData = null;
diff --git a/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
index 5443a3bf..39f39d45 100644
--- a/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/NvHostChannel/NvHostChannelIoctl.cs
@@ -181,15 +181,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.NvHostChannel
private static void PushGpfifo(ServiceCtx Context, NvGpuVmm Vmm, long Gpfifo)
{
- long VA = Gpfifo & 0xff_ffff_ffff;
-
- int Size = (int)(Gpfifo >> 40) & 0x7ffffc;
-
- byte[] Data = Vmm.ReadBytes(VA, Size);
-
- NvGpuPBEntry[] PushBuffer = NvGpuPushBuffer.Decode(Data);
-
- Context.Device.Gpu.Fifo.PushBuffer(Vmm, PushBuffer);
+ Context.Device.Gpu.Pusher.Push(Vmm, Gpfifo);
}
public static NvChannel GetChannel(ServiceCtx Context, NvChannelName Channel)
diff --git a/Ryujinx.HLE/Switch.cs b/Ryujinx.HLE/Switch.cs
index fe0be6ce..8de49ca4 100644
--- a/Ryujinx.HLE/Switch.cs
+++ b/Ryujinx.HLE/Switch.cs
@@ -88,12 +88,12 @@ namespace Ryujinx.HLE
public bool WaitFifo()
{
- return Gpu.Fifo.Event.WaitOne(8);
+ return Gpu.Pusher.WaitForCommands();
}
public void ProcessFrame()
{
- Gpu.Fifo.DispatchCalls();
+ Gpu.Pusher.DispatchCalls();
}
internal void Unload()