2,050 bytes added
, 18:26, 30 January 2013
This page describes the GX commands which can be written to GSP [[GSPGPU:RegisterInterruptRelayQueue|shared]] memory. After writing the command data to GSP shared memory, [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]] must be used to trigger GSP processing for the command.
=Command Buffer Header=
{| class="wikitable" border="1"
|-
! Index Byte
! Description
|-
| 0
| Command Index, must be <=15
|-
| 1
| Must not be value 0
|-
| 2
| Must not be value 1
|-
| 3
| Bit0 must not be set
|}
The command buffer is located at sharedmem + 0x800 + [[GSPGPU:RegisterInterruptRelayQueue|threadindex]]*0x200.
=Command Header=
{| class="wikitable" border="1"
|-
! Index Byte
! Description
|-
| 0
| Command ID
|-
| 2-1
| ?
|-
| 3
| When non-zero GSP module may check flags for the specified cmdID, command handling is aborted when the flags are set.
|}
The command is located at cmdbuf + 0x20 + cmdindex*0x20, the size of each command is 0x20-bytes. The command parameters are located at command+4. Application vaddrs specified in command parameters can usually be located in either the application GSP heap at 0x14000000 or VRAM.
=Commands=
==GX Command 0==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x00
|}
This command is normally used to DMA data from the application GSP heap at 0x14000000 to VRAM.
==GX Command 1==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x01
|}
==GX Command 2==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x02
|}
==GX Command 3==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x03
|}
==GX Command 4==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x04
|}
==GX Command 5==
{| class="wikitable" border="1"
|-
! Index Word
! Description
|-
| 0
| u8 CommandID is 0x05
|}
The application buffer addresses specified in the parameters are used with [[SVC|svcFlushProcessDataCache]].