Changes

Jump to navigation Jump to search
960 bytes added ,  20:17, 26 February 2014
no edit summary
Line 166: Line 166:     
The component selector enables swizzling. For example, component selector 0x1B is equivalent to .xyzw, while 0x55 is equivalent to .yyyy.
 
The component selector enables swizzling. For example, component selector 0x1B is equivalent to .xyzw, while 0x55 is equivalent to .yyyy.
 +
 +
== Registers ==
 +
It is not yet fully understood how registers are organized. It does however seem that registers are separated into various banks, some RO, some WO and some RW. Because of this separation, a given register ID may not refer to the same register value when it is used as SRC or as DST. Since the PICA200 does not support fragment shaders, WO registers are fixed function.
 +
 +
RO registers :
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Register ID
 +
!  Description
 +
|-
 +
|  0x0
 +
|  vertex.position
 +
|-
 +
|  0x1
 +
|  vertex.texcoord ?
 +
|-
 +
|  0x4
 +
|  vertex.color ?
 +
|-
 +
|  0x6
 +
|  vertex.color ?
 +
|}
 +
 +
WO registers :
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Register ID
 +
!  Description
 +
|-
 +
|  0x0
 +
|  result.position
 +
|-
 +
|  0x2
 +
|  result.texcoord ?
 +
|-
 +
|  0x4
 +
|  result.color ?
 +
|-
 +
|  0x6
 +
|  result.texcoord ?
 +
|}
 +
(these are mostly guesses aside from vertex.position and result.position)
 +
 +
Registers within the 0x20-0x40 ranges seem to be RW. They are often used to access matrix data.
373

edits

Navigation menu