GSP Services: Difference between revisions
m Add gsp::Gpu and gsp::Lcd anchors |
mNo edit summary |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 61: | Line 61: | ||
| 0x000B0040 | | 0x000B0040 | ||
| | | | ||
| | | Usually not (see below) | ||
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | | [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | ||
|- | |- | ||
| Line 72: | Line 72: | ||
| | | | ||
| No | | No | ||
| SetDisplayTransfer | | [[GSPGPU:SetDisplayTransfer|SetDisplayTransfer]] | ||
|- | |- | ||
| 0x000E0180 | | 0x000E0180 | ||
| | | | ||
| No | | No | ||
| SetTextureCopy | | [[GSPGPU:SetTextureCopy|SetTextureCopy]] | ||
|- | |- | ||
| 0x000F0200 | | 0x000F0200 | ||
| | | | ||
| No | | No | ||
| SetMemoryFill | | [[GSPGPU:SetMemoryFill|SetMemoryFill]] | ||
|- | |- | ||
| 0x00100040 | | 0x00100040 | ||
| Line 167: | 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 | 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. | ||
| Line 272: | Line 272: | ||
|- | |- | ||
| [[8.0.0-18|v8196]] | | [[8.0.0-18|v8196]] | ||
| Support for the new LINEAR memory region was implemented | | Support for the new LINEAR memory region was implemented for cache commands and vaddr->paddr conversion. Support for the New3DS only [[Memory_layout#0x1F000000_.28New_3DS_only.29|QTM memory region]] was added for vaddr->paddr conversion. When vaddr->physaddr conversions fail while handling PSC commands, an error is now returned (see [[GSP_Shared_Memory#Command_Queue_Header|here]] regarding errors being written to GSP shared memory). | ||
|} | |} | ||