Merge shader branch, adding support for GLSL decompilation, a macro

interpreter, and a rewrite of the GPU code.
This commit is contained in:
gdkchan
2018-04-08 16:17:35 -03:00
parent 7acd0e0122
commit b9aa3966c0
77 changed files with 5301 additions and 766 deletions

View File

@@ -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;
}

View File

@@ -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);
}