GPU/Commands
< GPU
Revision as of 06:29, 6 February 2013 by Yellows8 (talk | contribs) (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...")
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 commands, each 8-byte entry in the buffer is a command. Cmd+0 is the command parameter, and cmd+4 is the cmdID.
Commands
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 | 0x80000000 | ID? 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 0x000F02C1 | ((totalvertices<<22) - 0x100000). The vertex entries is the data following the command. The first word in the first vertex entry is the Y coordinate. |
Vertex Entry
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 |