diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-04-29 17:58:38 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-29 17:58:38 -0300 |
| commit | f73a182b20970f993abc1f1329dfab1e5d3b3354 (patch) | |
| tree | ad46e02d29560b013713291f236b953a601e2d5f /Ryujinx.Core | |
| parent | 17f4ccf2d552b9646097282818d82525a3d902cf (diff) | |
Properly support multiple vertex buffers, stub 2 ioctls, fix a shader issue, change the way how the vertex buffer size is calculated for the buffers with limit = 0
Diffstat (limited to 'Ryujinx.Core')
| -rw-r--r-- | Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs b/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs index f41a98d0..2652724d 100644 --- a/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs +++ b/Ryujinx.Core/OsHle/Services/Nv/INvDrvServices.cs @@ -51,6 +51,8 @@ namespace Ryujinx.Core.OsHle.Services.Nv { ("/dev/nvhost-as-gpu", 0x4114), NvGpuAsIoctlRemap }, { ("/dev/nvhost-ctrl", 0x001b), NvHostIoctlCtrlGetConfig }, { ("/dev/nvhost-ctrl", 0x001d), NvHostIoctlCtrlEventWait }, + { ("/dev/nvhost-ctrl", 0x001e), NvHostIoctlCtrlEventWaitAsync }, + { ("/dev/nvhost-ctrl", 0x001f), NvHostIoctlCtrlEventRegister }, { ("/dev/nvhost-ctrl-gpu", 0x4701), NvGpuIoctlZcullGetCtxSize }, { ("/dev/nvhost-ctrl-gpu", 0x4702), NvGpuIoctlZcullGetInfo }, { ("/dev/nvhost-ctrl-gpu", 0x4703), NvGpuIoctlZbcSetTable }, @@ -384,6 +386,33 @@ namespace Ryujinx.Core.OsHle.Services.Nv return 0; } + private long NvHostIoctlCtrlEventWaitAsync(ServiceCtx Context) + { + long Position = Context.Request.GetSendBuffPtr(); + + MemReader Reader = new MemReader(Context.Memory, Position); + + int SyncPtId = Reader.ReadInt32(); + int Threshold = Reader.ReadInt32(); + int Timeout = Reader.ReadInt32(); + int Value = Reader.ReadInt32(); + + Context.Memory.WriteInt32(Position + 0xc, 0xcafe); + + return 0; + } + + private long NvHostIoctlCtrlEventRegister(ServiceCtx Context) + { + long Position = Context.Request.GetSendBuffPtr(); + + MemReader Reader = new MemReader(Context.Memory, Position); + + int UserEventId = Reader.ReadInt32(); + + return 0; + } + private long NvGpuIoctlZcullGetCtxSize(ServiceCtx Context) { long Position = Context.Request.GetSendBuffPtr(); |
