Changes

914 bytes added ,  07:04, 11 November 2014
→‎Command IDs: added a bunch of geometry shader related registers
Line 281: Line 281:  
| u32, val<<8.
 
| u32, val<<8.
 
| This sets the GL rendering mode, see command set [[GPU_GL_Arrays|0x0200]].
 
| This sets the GL rendering mode, see command set [[GPU_GL_Arrays|0x0200]].
 +
|-
 +
| 0x028A
 +
| <nowiki>0x7FFF0000 | entrypoint offset</nowiki>
 +
| Sets the entrypoint offset for the geometry shader program
 
|-
 
|-
 
| 0x02B0
 
| 0x02B0
Line 292: Line 296:  
| 0x02BA
 
| 0x02BA
 
| <nowiki>0x7FFF0000 | entrypoint offset</nowiki>
 
| <nowiki>0x7FFF0000 | entrypoint offset</nowiki>
| Sets the entrypoint offset for the shader program
+
| Sets the entrypoint offset for the vertex shader program
 
|-
 
|-
 
| 0x02C0
 
| 0x02C0
 
| <nowiki>0x80000000 | Type</nowiki>
 
| <nowiki>0x80000000 | Type</nowiki>
| This is used immediately before command 0xXXXF02C1. This type field controls the command parameter buffer type. This command can also be used to send over (float24 only ?) data directly, without using 0xXXXF02C1. In that case, the first parameter is still Type but with bit 31 not set; the actual data follows.
+
| This is used immediately before command 0x02C1. This type field controls the command parameter buffer type. This command can also be used to send over (float24 only ?) data directly, without using 0x02C1. In that case, the first parameter is still Type but with bit 31 not set; the actual data follows.
 
|-
 
|-
 
| 0x02C1
 
| 0x02C1
 
| First word in the first entry
 
| First word in the first entry
 
| A list of entries follow this command.
 
| A list of entries follow this command.
 +
|-
 +
| 0x029B
 +
| Value 0x0 ?
 +
| This is used immediately before command 0x029C. It is used to indicate that geometry shader program data will follow.
 +
|-
 +
| 0x029C
 +
| First word of geometry shader program data chunk.
 +
| This command is used to transfer geometry shader program data (as the parameter data). It can be called multiple times in a row if the shader program is too big to fit into a single call.
 +
|-
 +
| 0x028F
 +
| Value 0x1 ?
 +
| This is used immediately after a set of command 0x029C. It is used to indicate that geometry shader program data transfer is complete.
 +
|-
 +
| 0x02A5
 +
| Value 0x0 ?
 +
| This is used immediately before command 0x02A6.
 +
|-
 +
| 0x02A6
 +
| First entry.
 +
| This is used to send over the geometry shader program operand descriptor table.
 
|-
 
|-
 
| 0x02CB
 
| 0x02CB
 
| Value 0x0 ?
 
| Value 0x0 ?
| This is used immediately before command 0xXXXF02CC. It is used to indicate that shader program data will follow.
+
| This is used immediately before command 0x02CC. It is used to indicate that shader program data will follow.
 
|-
 
|-
 
| 0x02CC
 
| 0x02CC
| First word of shader program data chunk.
+
| First word of vertex shader program data chunk.
| This command is used to transfer shader program data (as the parameter data). It can be called multiple times in a row if the shader program is too big to fit into a single call.
+
| This command is used to transfer vertex shader program data (as the parameter data). It can be called multiple times in a row if the vertex shader program is too big to fit into a single call.
 
|-
 
|-
 
| 0x02BF
 
| 0x02BF
 
| Value 0x1 ?
 
| Value 0x1 ?
| This is used immediately after a set of command 0xXXXF02CC. It is used to indicate that shader program data transfer is complete.
+
| This is used immediately after a set of command 0x02CC. It is used to indicate that vertex shader program data transfer is complete.
 
|-
 
|-
 
| 0x02D5
 
| 0x02D5
 
| Value 0x0 ?
 
| Value 0x0 ?
| This is used immediately before command 0xXXXF02d6.
+
| This is used immediately before command 0x02A6.
 
|-
 
|-
 
| 0x02D6
 
| 0x02D6
 
| First entry.
 
| First entry.
| This is used to send over the shader program operand descriptor table.
+
| This is used to send over the vertex shader program operand descriptor table.
 
|-
 
|-
 
| 0x004F
 
| 0x004F
| Number of shader output attributes
+
| Number of vertex shader output attributes
| Sets number of shader output attributes
+
| Sets number of vertex shader output attributes
 
|-
 
|-
 
| 0x0050
 
| 0x0050
 
| First entry
 
| First entry
| This command is used to setup shader output registers. The n-th word-long entry is a map of the (n*2)-th output register's components. Each byte of each entry corresponds to where a component is mapped. Value 0x1F indicates that the corresponding component is unused.
+
| This command is used to setup vertex shader output registers. The n-th word-long entry is a map of the (n*2)-th output register's components. Each byte of each entry corresponds to where a component is mapped. Value 0x1F indicates that the corresponding component is unused.
 
|}
 
|}
  
373

edits