diff options
| author | bunnei <ericbunnie@gmail.com> | 2014-04-24 22:20:13 -0400 | 
|---|---|---|
| committer | bunnei <ericbunnie@gmail.com> | 2014-04-24 22:20:13 -0400 | 
| commit | 66e1f8ab330aca275db686290d9ece5100821c6c (patch) | |
| tree | 09749579ae2a5c214b08840d24b7a4ac628d499e /src/core/hle | |
| parent | cd0664eb77e14a801fe1f15be50c3a90b98ee5ef (diff) | |
added GSP::RegisterInterruptRelayQueue function
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/gsp.cpp | 71 | 
1 files changed, 40 insertions, 31 deletions
| diff --git a/src/core/hle/service/gsp.cpp b/src/core/hle/service/gsp.cpp index 7c80ab8b5..df23ac542 100644 --- a/src/core/hle/service/gsp.cpp +++ b/src/core/hle/service/gsp.cpp @@ -13,37 +13,46 @@  namespace GSP_GPU { -const HLE::FunctionDef FunctionTable[] = { -    {0x00010082, NULL, "WriteHWRegs"}, -    {0x00020084, NULL, "WriteHWRegsWithMask"}, -    {0x00030082, NULL, "WriteHWRegRepeat"}, -    {0x00040080, NULL, "ReadHWRegs"}, -    {0x00050200, NULL, "SetBufferSwap"}, -    {0x00060082, NULL, "SetCommandList"}, -    {0x000700C2, NULL, "RequestDma"}, -    {0x00080082, NULL, "FlushDataCache"}, -    {0x00090082, NULL, "InvalidateDataCache"}, -    {0x000A0044, NULL, "RegisterInterruptEvents"}, -    {0x000B0040, NULL, "SetLcdForceBlack"}, -    {0x000C0000, NULL, "TriggerCmdReqQueue"}, -    {0x000D0140, NULL, "SetDisplayTransfer"}, -    {0x000E0180, NULL, "SetTextureCopy"}, -    {0x000F0200, NULL, "SetMemoryFill"}, -    {0x00100040, NULL, "SetAxiConfigQoSMode"}, -    {0x00110040, NULL, "SetPerfLogMode"}, -    {0x00120000, NULL, "GetPerfLog"}, -    {0x00130042, NULL, "RegisterInterruptRelayQueue"}, -    {0x00140000, NULL, "UnregisterInterruptRelayQueue"}, -    {0x00150002, NULL, "TryAcquireRight"}, -    {0x00160042, NULL, "AcquireRight"}, -    {0x00170000, NULL, "ReleaseRight"}, -    {0x00180000, NULL, "ImportDisplayCaptureInfo"}, -    {0x00190000, NULL, "SaveVramSysArea"}, -    {0x001A0000, NULL, "RestoreVramSysArea"}, -    {0x001B0000, NULL, "ResetGpuCore"}, -    {0x001C0040, NULL, "SetLedForceOff"}, -    {0x001D0040, NULL, "SetTestCommand"}, -    {0x001E0080, NULL, "SetInternalPriorities"}, +void RegisterInterruptRelayQueue(Service::Interface* self) { +    u32* cmd_buff = (u32*)HLE::GetPointer(HLE::CMD_BUFFER_ADDR + Service::kCommandHeaderOffset); +    u32 flags = cmd_buff[1]; +    u32 event_handle = cmd_buff[3]; // TODO(bunnei): Implement event handling +    cmd_buff[4] = self->NewHandle(); + +    return; +} + +const Interface::FunctionInfo FunctionTable[] = { +    {0x00010082, NULL,                          "WriteHWRegs"}, +    {0x00020084, NULL,                          "WriteHWRegsWithMask"}, +    {0x00030082, NULL,                          "WriteHWRegRepeat"}, +    {0x00040080, NULL,                          "ReadHWRegs"}, +    {0x00050200, NULL,                          "SetBufferSwap"}, +    {0x00060082, NULL,                          "SetCommandList"}, +    {0x000700C2, NULL,                          "RequestDma"}, +    {0x00080082, NULL,                          "FlushDataCache"}, +    {0x00090082, NULL,                          "InvalidateDataCache"}, +    {0x000A0044, NULL,                          "RegisterInterruptEvents"}, +    {0x000B0040, NULL,                          "SetLcdForceBlack"}, +    {0x000C0000, NULL,                          "TriggerCmdReqQueue"}, +    {0x000D0140, NULL,                          "SetDisplayTransfer"}, +    {0x000E0180, NULL,                          "SetTextureCopy"}, +    {0x000F0200, NULL,                          "SetMemoryFill"}, +    {0x00100040, NULL,                          "SetAxiConfigQoSMode"}, +    {0x00110040, NULL,                          "SetPerfLogMode"}, +    {0x00120000, NULL,                          "GetPerfLog"}, +    {0x00130042, RegisterInterruptRelayQueue,   "RegisterInterruptRelayQueue"}, +    {0x00140000, NULL,                          "UnregisterInterruptRelayQueue"}, +    {0x00150002, NULL,                          "TryAcquireRight"}, +    {0x00160042, NULL,                          "AcquireRight"}, +    {0x00170000, NULL,                          "ReleaseRight"}, +    {0x00180000, NULL,                          "ImportDisplayCaptureInfo"}, +    {0x00190000, NULL,                          "SaveVramSysArea"}, +    {0x001A0000, NULL,                          "RestoreVramSysArea"}, +    {0x001B0000, NULL,                          "ResetGpuCore"}, +    {0x001C0040, NULL,                          "SetLedForceOff"}, +    {0x001D0040, NULL,                          "SetTestCommand"}, +    {0x001E0080, NULL,                          "SetInternalPriorities"},  };  //////////////////////////////////////////////////////////////////////////////////////////////////// | 
