GPU/Internal Registers: Difference between revisions

Yuriks (talk | contribs)
Yuriks (talk | contribs)
Rasterizer registers: Documented GPUREG_SH_OUTMAP_Oi
Line 3,943: Line 3,943:


== Rasterizer registers ==
== Rasterizer registers ==
=== GPUREG_SH_OUTMAP_Oi ===
These registers map components of the corresponding vertex shader output register to specific fixed-function semantics.
{| class="wikitable" border="1"
! Bits
! Description
|-
| 0-7
| Semantic for the x component of the register.
|-
| 8-15
| Semantic for the y component of the register.
|-
| 16-23
| Semantic for the z component of the register.
|-
| 24-31
| Semantic for the w component of the register.
|}
The semantic ids are:
{| class="wikitable" border="1"
! Value
! Semantic
! Description
|-
| 0x00
| position.x
| rowspan="4" | Vertex Position
|-
| 0x01
| position.y
|-
| 0x02
| position.z
|-
| 0x03
| position.w
|-
| 0x04
| normquat.x
| rowspan="4" | Quaternion specifying the normal/tangent frame (for fragment lighting)
|-
| 0x05
| normquat.y
|-
| 0x06
| normquat.z
|-
| 0x07
| normquat.w
|-
| 0x08
| color.r
| rowspan="4" | Vertex color
|-
| 0x09
| color.g
|-
| 0x0A
| color.b
|-
| 0x0B
| color.a
|-
| 0x0C
| texcoord0.u
| rowspan="2" | Texture coordinates for texture 0
|-
| 0x0D
| texcoord0.v
|-
| 0x0E
| texcoord1.u
| rowspan="2" | Texture coordinates for texture 1
|-
| 0x0F
| texcoord1.v
|-
| 0x10
| texcoord0.w
|
|-
| 0x12
| view.x
| rowspan="3" | View vector (for fragment lighting)
|-
| 0x13
| view.y
|-
| 0x14
| view.z
|-
| 0x16
| texcoord2.u
| rowspan="2" | Texture coordinates for texture 2
|-
| 0x17
| texcoord2.v
|-
| 0x1F
| Unused component
| Should be set for unused components of the output register
|}


== Texturing registers ==
== Texturing registers ==