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
This commit is contained in:
@@ -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();
|
||||
|
Reference in New Issue
Block a user