diff options
author | gdkchan <gab.dark.100@gmail.com> | 2018-11-17 02:01:31 -0200 |
---|---|---|
committer | Ac_K <Acoustik666@gmail.com> | 2018-11-17 05:01:31 +0100 |
commit | d2bb458b51bbcbc097f8f53ac2a3b8b15a723a45 (patch) | |
tree | 943f74d8edaf99c538eeaeeee01d8c5c55e5eec8 /Ryujinx.Graphics/MacroInterpreter.cs | |
parent | b833183ef640934e82106cb91f7ced65d81e3b07 (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.cs | 16 |
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; } |