Line 1:
Line 1:
−
[[Category:Services]]
+
__TOC__
+
{{Anchor|GSPGPU}}{{Anchor|gsp::Gpu}}
= GSP service "gsp::Gpu" =
= GSP service "gsp::Gpu" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 56:
Line 57:
|
|
| No
| No
−
| RegisterInterruptEvents
+
| RegisterInterruptEvents (Stubbed)
|-
|-
| 0x000B0040
| 0x000B0040
|
|
−
| See below
+
| Usually not (see below)
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]]
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]]
|-
|-
Line 71:
Line 72:
|
|
| No
| No
−
| SetDisplayTransfer (Stubbed)
+
| [[GSPGPU:SetDisplayTransfer|SetDisplayTransfer]]
|-
|-
| 0x000E0180
| 0x000E0180
|
|
| No
| No
−
| SetTextureCopy (Stubbed)
+
| [[GSPGPU:SetTextureCopy|SetTextureCopy]]
|-
|-
| 0x000F0200
| 0x000F0200
|
|
| No
| No
−
| SetMemoryFill (Stubbed)
+
| [[GSPGPU:SetMemoryFill|SetMemoryFill]]
|-
|-
| 0x00100040
| 0x00100040
|
|
| No
| No
−
| SetAxiConfigQoSMode
+
| [[GSPGPU:SetAxiConfigQoSMode|SetAxiConfigQoSMode]]
|-
|-
| 0x00110040
| 0x00110040
|
|
| No
| No
−
| SetPerfLogMode
+
| [[GSPGPU:SetPerfLogMode|SetPerfLogMode]]
|-
|-
| 0x00120000
| 0x00120000
|
|
| No
| No
−
| GetPerfLog
+
| [[GSPGPU:GetPerfLog|GetPerfLog]]
|-
|-
| 0x00130042
| 0x00130042
Line 166:
Line 167:
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.
+
If a process has forcefully acquired rights (ErrDisp), attempting [[GSPGPU:SetLcdForceBlack|unset LCDs black-fill]] from another process will fail.
Saving/restoring VRAM requires bit0 of process [[GSPGPU:RegisterInterruptRelayQueue|flags]] to be set.
Saving/restoring VRAM requires bit0 of process [[GSPGPU:RegisterInterruptRelayQueue|flags]] to be set.
+
{{Anchor|GSPLCD}}{{Anchor|gsp::Lcd}}
= GSP service "gsp::Lcd" =
= GSP service "gsp::Lcd" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 275:
Line 277:
=New3DS=
=New3DS=
There's separate GSP-module titles for Old3DS and New3DS. PTM CheckNew3DS is only used by the New3DS title, for copying that flag into a state field. Elsewhere that field is checked for running additional code only on New3DS, for processing various state / using [[QTM_Services|QTM]] commands.
There's separate GSP-module titles for Old3DS and New3DS. PTM CheckNew3DS is only used by the New3DS title, for copying that flag into a state field. Elsewhere that field is checked for running additional code only on New3DS, for processing various state / using [[QTM_Services|QTM]] commands.
+
+
[[Category:Services]]