Difference between revisions of "GPU/Commands"

From 3dbrew
< GPU
Jump to navigation Jump to search
(Created page with "This page describes the structure of the buffer for GX command 1 with the registers at 0x1EF018E0. This buffer is used for GPU commands including OpenGL c...")
 
m (Replaced content with "Merged with GPU/Internal_Registers")
 
(224 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This page describes the structure of the buffer for [[GX_Commands|GX command]] 1 with the registers at [[GPU|0x1EF018E0]]. This buffer is used for GPU commands including OpenGL commands, each 8-byte entry in the buffer is a command. Cmd+0 is the command parameter, and cmd+4 is the cmdID.
+
Merged with [[GPU/Internal_Registers]]
 
 
=== Commands ===
 
{| class="wikitable" border="1"
 
!  CommandID
 
!  Parameter
 
!  Description
 
|-
 
| 0x000F0010
 
| Value is 0x12345678
 
| This command is always the last command in the buffer.
 
|-
 
| 0x000F0110
 
| Value 0x1
 
| This command is immediately before CmdID 0x000F0010, this is used elsewhere in the buffer as well.
 
|-
 
| 0x000F0111
 
| Value 0x1
 
| This command is immediately before CmdID 0x000F0110, however CmdID 0x000F0110 doesn't always follow this command.
 
|-
 
| 0x000F0042
 
| float y vector
 
| This sets Y scaling for the current matrix.
 
|-
 
| 0x000F0044
 
| float x vector
 
| This sets X scaling for the current matrix.
 
|-
 
| 0x000F02C0
 
| <nowiki>0x80000000 | ID?</nowiki> When bit31 is clear, the specified vertices are not rendered via CmdID 0xXXXF02C1.
 
| This is used immediately before CmdID 0xXXXF02C1.
 
|-
 
| 0xXXXF02C1
 
| float X coordinate for the first vertex
 
| CmdID is <nowiki>0x000F02C1 | ((totalvertices<<22) - 0x100000).</nowiki> The vertex entries is the data following the command. The first word in the first vertex entry is the Y coordinate.
 
|}
 
 
 
=== Vertex Entry ===
 
{| class="wikitable" border="1"
 
!  Index Word
 
!  Description
 
|-
 
| 0
 
| float X coordinate, for the first vertex this is stored in the command parameter instead.
 
|-
 
| 1
 
| float Y coordinate
 
|-
 
| 2
 
| float Z coordinate
 
|-
 
| 3
 
| Padding for the last vertex entry
 
|}
 

Latest revision as of 08:06, 5 December 2015