GSP Services: Difference between revisions
m More LCD commands |
mNo edit summary |
||
Line 10: | Line 10: | ||
| 0x00010082 | | 0x00010082 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:WriteHWRegs|WriteHWRegs]] | | [[GSPGPU:WriteHWRegs|WriteHWRegs]] | ||
|- | |- | ||
| 0x00020084 | | 0x00020084 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]] | | [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]] | ||
|- | |- | ||
| 0x00030082 | | 0x00030082 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]] | | [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]] | ||
|- | |- | ||
| 0x00040080 | | 0x00040080 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:ReadHWRegs|ReadHWRegs]] | | [[GSPGPU:ReadHWRegs|ReadHWRegs]] | ||
|- | |- | ||
| 0x00050200 | | 0x00050200 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:SetBufferSwap|SetBufferSwap]] | | [[GSPGPU:SetBufferSwap|SetBufferSwap]] | ||
|- | |- | ||
| 0x00060082 | | 0x00060082 | ||
| | | | ||
| | | No | ||
| SetCommandList (Stubbed) | | SetCommandList (Stubbed) | ||
|- | |- | ||
| 0x000700C2 | | 0x000700C2 | ||
| | | | ||
| | | No | ||
| RequestDma (Stubbed) | | RequestDma (Stubbed) | ||
|- | |- | ||
Line 55: | Line 55: | ||
| 0x000A0044 | | 0x000A0044 | ||
| | | | ||
| | | No | ||
| RegisterInterruptEvents | | RegisterInterruptEvents | ||
|- | |- | ||
| 0x000B0040 | | 0x000B0040 | ||
| | | | ||
| | | See below | ||
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | | [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | ||
|- | |- | ||
| 0x000C0000 | | 0x000C0000 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]] | | [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]] | ||
|- | |- | ||
| 0x000D0140 | | 0x000D0140 | ||
| | | | ||
| | | No | ||
| SetDisplayTransfer (Stubbed) | | SetDisplayTransfer (Stubbed) | ||
|- | |- | ||
| 0x000E0180 | | 0x000E0180 | ||
| | | | ||
| | | No | ||
| SetTextureCopy (Stubbed) | | SetTextureCopy (Stubbed) | ||
|- | |- | ||
| 0x000F0200 | | 0x000F0200 | ||
| | | | ||
| | | No | ||
| SetMemoryFill (Stubbed) | | SetMemoryFill (Stubbed) | ||
|- | |- | ||
| 0x00100040 | | 0x00100040 | ||
| | | | ||
| | | No | ||
| SetAxiConfigQoSMode | | SetAxiConfigQoSMode | ||
|- | |- | ||
| 0x00110040 | | 0x00110040 | ||
| | | | ||
| | | No | ||
| SetPerfLogMode | | SetPerfLogMode | ||
|- | |- | ||
| 0x00120000 | | 0x00120000 | ||
| | | | ||
| | | No | ||
| GetPerfLog | | GetPerfLog | ||
|- | |- | ||
| 0x00130042 | | 0x00130042 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]] | | [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]] | ||
|- | |- | ||
| 0x00140000 | | 0x00140000 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:UnregisterInterruptRelayQueue|UnregisterInterruptRelayQueue]] | | [[GSPGPU:UnregisterInterruptRelayQueue|UnregisterInterruptRelayQueue]] | ||
|- | |- | ||
| 0x00150002 | | 0x00150002 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:TryAcquireRight|TryAcquireRight]] | | [[GSPGPU:TryAcquireRight|TryAcquireRight]] | ||
|- | |- | ||
| 0x00160042 | | 0x00160042 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:AcquireRight|AcquireRight]] | | [[GSPGPU:AcquireRight|AcquireRight]] | ||
|- | |- | ||
| 0x00170000 | | 0x00170000 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:ReleaseRight|ReleaseRight]] | | [[GSPGPU:ReleaseRight|ReleaseRight]] | ||
|- | |- | ||
| 0x00180000 | | 0x00180000 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]] | | [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]] | ||
|- | |- | ||
| 0x00190000 | | 0x00190000 | ||
| | | | ||
| | | See below | ||
| [[GSPGPU:SaveVramSysArea|SaveVramSysArea]] | | [[GSPGPU:SaveVramSysArea|SaveVramSysArea]] | ||
|- | |- | ||
| 0x001A0000 | | 0x001A0000 | ||
| | | | ||
| | | See below | ||
| [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]] | | [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]] | ||
|- | |- | ||
| 0x001B0000 | | 0x001B0000 | ||
| | | | ||
| | | Yes | ||
| [[GSPGPU:ResetGpuCore|ResetGpuCore]] | | [[GSPGPU:ResetGpuCore|ResetGpuCore]] | ||
|- | |- | ||
| 0x001C0040 | | 0x001C0040 | ||
| | | | ||
| | | No | ||
| [[GSPGPU:SetLedForceOff|SetLedForceOff]] | | [[GSPGPU:SetLedForceOff|SetLedForceOff]] | ||
|- | |- | ||
| 0x001D0040 | | 0x001D0040 | ||
| | | | ||
| | | No | ||
| SetTestCommand (Stubbed) | | SetTestCommand (Stubbed) | ||
|- | |- | ||
| 0x001E0080 | | 0x001E0080 | ||
| | | | ||
| | | No | ||
| SetInternalPriorities | | SetInternalPriorities | ||
|- | |- | ||
| 0x001F0082 | | 0x001F0082 | ||
| [[8.0.0-18]] | | [[8.0.0-18]] | ||
| | | No | ||
| [[GSPGPU:StoreDataCache|StoreDataCache]] | | [[GSPGPU:StoreDataCache|StoreDataCache]] | ||
|} | |} | ||
The GSP module starts a thread for handling commands for each service session, a maximum of 4 processes can use this service at once. Official applications have an optional code-path which [[GSPGPU:WriteHWRegs|writes]] to registers during initialization, this is normally not used however. | The GSP module starts a thread for handling commands for each service session, a maximum of 4 processes can use this service at once. Official applications have an optional code-path which [[GSPGPU:WriteHWRegs|writes]] to registers during initialization, this is normally not used however. | ||
If a process has acquired rights, attempting to [[GSPGPU:SetLcdForceBlack|set LCDs to black]] from another process will fail. | |||
Saving/restoring VRAM requires bit0 of process [[GSPGPU:RegisterInterruptRelayQueue|flags]] to be set. | |||
= GSP service "gsp::Lcd" = | = GSP service "gsp::Lcd" = |