aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-04-08 16:17:35 -0300
committergdkchan <gab.dark.100@gmail.com>2018-04-08 16:41:38 -0300
commitb9aa3966c00b4bb3ff0292dc28ed53ad26cf284b (patch)
treecd2ab3d65c61ac6c6ceb312116e5d138868a3e18 /Ryujinx.Core/OsHle
parent7acd0e01226d64d05b2675f6ae07507039a31835 (diff)
Merge shader branch, adding support for GLSL decompilation, a macro
interpreter, and a rewrite of the GPU code.
Diffstat (limited to 'Ryujinx.Core/OsHle')
-rw-r--r--Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs8
-rw-r--r--Ryujinx.Core/OsHle/Services/Vi/NvFlinger.cs12
2 files changed, 12 insertions, 8 deletions
diff --git a/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs b/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs
index 8568e8f2..e41f03a4 100644
--- a/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs
+++ b/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs
@@ -538,9 +538,9 @@ namespace Ryujinx.Core.OsHle.Services.Nv
{
byte[] Data = AMemoryHelper.ReadBytes(Context.Memory, CpuAddr, Size);
- NsGpuPBEntry[] PushBuffer = NsGpuPBEntry.DecodePushBuffer(Data);
+ NsGpuPBEntry[] PushBuffer = NvGpuPushBuffer.Decode(Data);
- Context.Ns.Gpu.ProcessPushBuffer(PushBuffer, Context.Memory);
+ Context.Ns.Gpu.Fifo.PushBuffer(Context.Memory, PushBuffer);
}
}
@@ -680,8 +680,8 @@ namespace Ryujinx.Core.OsHle.Services.Nv
}
Map.CpuAddress = Addr;
- Map.Align = Align;
- Map.Kind = Kind;
+ Map.Align = Align;
+ Map.Kind = Kind;
return 0;
}
diff --git a/Ryujinx.Core/OsHle/Services/Vi/NvFlinger.cs b/Ryujinx.Core/OsHle/Services/Vi/NvFlinger.cs
index 4301c0e6..45b99ead 100644
--- a/Ryujinx.Core/OsHle/Services/Vi/NvFlinger.cs
+++ b/Ryujinx.Core/OsHle/Services/Vi/NvFlinger.cs
@@ -244,12 +244,16 @@ namespace Ryujinx.Core.OsHle.Services.Android
{
int Slot = ParcelReader.ReadInt32();
- int BufferCount = ParcelReader.ReadInt32();
- long BufferSize = ParcelReader.ReadInt64();
+ int BufferCount = ParcelReader.ReadInt32();
- BufferQueue[Slot].State = BufferState.Free;
+ if (BufferCount > 0)
+ {
+ long BufferSize = ParcelReader.ReadInt64();
- BufferQueue[Slot].Data = new GbpBuffer(ParcelReader);
+ BufferQueue[Slot].State = BufferState.Free;
+
+ BufferQueue[Slot].Data = new GbpBuffer(ParcelReader);
+ }
return MakeReplyParcel(Context, 0);
}