aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics/MacroInterpreter.cs
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.Graphics/MacroInterpreter.cs
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.Graphics/MacroInterpreter.cs')
-rw-r--r--Ryujinx.Graphics/MacroInterpreter.cs16
1 files changed, 7 insertions, 9 deletions
diff --git a/Ryujinx.Graphics/MacroInterpreter.cs b/Ryujinx.Graphics/MacroInterpreter.cs
index 20e7895b..86831bae 100644
--- a/Ryujinx.Graphics/MacroInterpreter.cs
+++ b/Ryujinx.Graphics/MacroInterpreter.cs
@@ -1,3 +1,4 @@
+using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Memory;
using System;
using System.Collections.Generic;
@@ -388,14 +389,11 @@ namespace Ryujinx.Graphics
{
int Value;
- //If we don't have any parameters in the FIFO,
- //keep running the PFIFO engine until it writes the parameters.
- while (!Fifo.TryDequeue(out Value))
+ if (!Fifo.TryDequeue(out Value))
{
- if (!PFifo.Step())
- {
- return 0;
- }
+ Logger.PrintWarning(LogClass.Gpu, "Macro attempted to fetch an inexistent argument.");
+
+ return 0;
}
return Value;
@@ -408,9 +406,9 @@ namespace Ryujinx.Graphics
private void Send(NvGpuVmm Vmm, int Value)
{
- NvGpuPBEntry PBEntry = new NvGpuPBEntry(MethAddr, 0, Value);
+ GpuMethodCall MethCall = new GpuMethodCall(MethAddr, Value);
- Engine.CallMethod(Vmm, PBEntry);
+ Engine.CallMethod(Vmm, MethCall);
MethAddr += MethIncr;
}