GPU/Internal Registers: Difference between revisions
This got lost in the update. Note that the GPU endianness is not necessarily the same as the CPU's. |
Steveice10 (talk | contribs) Clarify type information. |
||
| Line 16: | Line 16: | ||
It is possible for multiple register (sequential) IDs to correspond to the same register. This is done to leverage the consecutive writing mode for [[GPU Commands]], which makes it possible for a single command to write data to multiple sequential register IDs. For example, register IDs 02C1 through 02C8 all correspond to [[#GPUREG_VSH_FLOATUNIFORM_DATA|GPUREG_VSH_FLOATUNIFORM_DATA]] so that a consecutively writing command based at 02C0 will write its first parameter to [[#GPUREG_VSH_FLOATUNIFORM_CONFIG|GPUREG_VSH_FLOATUNIFORM_CONFIG]] and ever subsequent ones to [[#GPUREG_VSH_FLOATUNIFORM_DATA|GPUREG_VSH_FLOATUNIFORM_DATA]] | It is possible for multiple register (sequential) IDs to correspond to the same register. This is done to leverage the consecutive writing mode for [[GPU Commands]], which makes it possible for a single command to write data to multiple sequential register IDs. For example, register IDs 02C1 through 02C8 all correspond to [[#GPUREG_VSH_FLOATUNIFORM_DATA|GPUREG_VSH_FLOATUNIFORM_DATA]] so that a consecutively writing command based at 02C0 will write its first parameter to [[#GPUREG_VSH_FLOATUNIFORM_CONFIG|GPUREG_VSH_FLOATUNIFORM_CONFIG]] and ever subsequent ones to [[#GPUREG_VSH_FLOATUNIFORM_DATA|GPUREG_VSH_FLOATUNIFORM_DATA]] | ||
=== Data Types === | |||
{| class="wikitable" border="1" | |||
! Name | |||
! Description | |||
|- | |||
| signed | |||
| Signed integer | |||
|- | |||
| unsigned | |||
| Unsigned integer | |||
|- | |||
| floatX.Y.Z | |||
| Floating-point number with X sign bits, Y exponent bits, and Z mantissa bits | |||
|- | |||
| fixedX.Y.Z | |||
| Fixed-point number with X sign bits, Y integer bits, and Z fractional bits | |||
|} | |||
== Register list == | == Register list == | ||
| Line 3,938: | Line 3,957: | ||
=== GPUREG_FINALIZE === | === GPUREG_FINALIZE === | ||
{| class="wikitable" border="1" | |||
! Bits | |||
! Description | |||
|- | |||
| 0-31 | |||
| unsigned, Trigger P3D Interrupt (0 = idle, non-zero = trigger) | |||
|} | |||
Writing to this register seems to signal the GPU to stop processing GPU commands from the current buffer; any command following a write to this register will be ignored. The value written to this register does not appear to matter, although 0x12345678 is the value typically written by commercial software. | Writing to this register seems to signal the GPU to stop processing GPU commands from the current buffer; any command following a write to this register will be ignored. The value written to this register does not appear to matter, although 0x12345678 is the value typically written by commercial software. | ||
| Line 3,951: | Line 3,978: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Culling mode | | unsigned, Culling mode | ||
|} | |} | ||
| Line 3,977: | Line 4,004: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| | | float1.7.16, width / 2 | ||
|} | |} | ||
| Line 3,987: | Line 4,014: | ||
|- | |- | ||
| 1-31 | | 1-31 | ||
| | | float1.7.23, 2 / width | ||
|} | |} | ||
| Line 3,997: | Line 4,024: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| | | float1.7.16, height / 2 | ||
|} | |} | ||
| Line 4,007: | Line 4,034: | ||
|- | |- | ||
| 1-31 | | 1-31 | ||
| | | float1.7.23, 2 / height | ||
|} | |} | ||
| Line 4,017: | Line 4,044: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 4,027: | Line 4,054: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| | | float1.7.16, Clipping plane coefficient | ||
|} | |} | ||
| Line 4,037: | Line 4,064: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| | | float1.7.16, Near - Far | ||
|} | |} | ||
| Line 4,047: | Line 4,074: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| | | float1.7.16, Near | ||
|} | |} | ||
| Line 4,057: | Line 4,084: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| Number of following attributes | | unsigned, Number of following attributes | ||
|} | |} | ||
| Line 4,068: | Line 4,095: | ||
! Description | ! Description | ||
|- | |- | ||
| 0- | | 0-4 | ||
| Semantic for the x component of the register. | | unsigned, Semantic for the x component of the register. | ||
|- | |- | ||
| 8- | | 8-12 | ||
| Semantic for the y component of the register. | | unsigned, Semantic for the y component of the register. | ||
|- | |- | ||
| 16- | | 16-20 | ||
| Semantic for the z component of the register. | | unsigned, Semantic for the z component of the register. | ||
|- | |- | ||
| 24- | | 24-28 | ||
| Semantic for the w component of the register. | | unsigned, Semantic for the w component of the register. | ||
|} | |} | ||
| Line 4,177: | Line 4,204: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Early depth function | | unsigned, Early depth function | ||
|} | |} | ||
| Line 4,206: | Line 4,233: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 4,216: | Line 4,243: | ||
|- | |- | ||
| 0 | | 0 | ||
| Trigger (0 = idle, 1 = clear) | | unsigned, Trigger (0 = idle, 1 = clear) | ||
|} | |} | ||
| Line 4,226: | Line 4,253: | ||
|- | |- | ||
| 0 | | 0 | ||
| Use texture coordinates (0 = don't use, 1 = use) | | unsigned, Use texture coordinates (0 = don't use, 1 = use) | ||
|} | |} | ||
| Line 4,236: | Line 4,263: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Enabled (0 = disabled, 3 = enabled) | | unsigned, Enabled (0 = disabled, 3 = enabled) | ||
|} | |} | ||
| Line 4,246: | Line 4,273: | ||
|- | |- | ||
| 0-9 | | 0-9 | ||
| X1 | | unsigned, X1 | ||
|- | |- | ||
| 16-25 | | 16-25 | ||
| Y1 | | unsigned, Y1 | ||
|} | |} | ||
| Line 4,259: | Line 4,286: | ||
|- | |- | ||
| 0-9 | | 0-9 | ||
| X2 | | unsigned, X2 | ||
|- | |- | ||
| 16-25 | | 16-25 | ||
| Y2 | | unsigned, Y2 | ||
|} | |} | ||
| Line 4,272: | Line 4,299: | ||
|- | |- | ||
| 0-9 | | 0-9 | ||
| X | | unsigned, X | ||
|- | |- | ||
| 16-25 | | 16-25 | ||
| Y | | unsigned, Y | ||
|} | |} | ||
| Line 4,285: | Line 4,312: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| Clear value | | unsigned, Clear value | ||
|} | |} | ||
| Line 4,295: | Line 4,322: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 4,305: | Line 4,332: | ||
|- | |- | ||
| 0-10 | | 0-10 | ||
| Width | | unsigned, Width | ||
|- | |- | ||
| 12-21 | | 12-21 | ||
| Height | | unsigned, Height - 1 | ||
|- | |- | ||
| 24 | | 24 | ||
| Line 4,321: | Line 4,348: | ||
|- | |- | ||
| 0 | | 0 | ||
| 'position.z' present | | unsigned, 'position.z' present (0 = absent, 1 = present) | ||
|- | |- | ||
| 1 | | 1 | ||
| 'color' component present | | unsigned, 'color' component present (0 = absent, 1 = present) | ||
|- | |- | ||
| 8 | | 8 | ||
| 'texcoord0' component present | | unsigned, 'texcoord0' component present (0 = absent, 1 = present) | ||
|- | |- | ||
| 9 | | 9 | ||
| 'texcoord1' component present | | unsigned, 'texcoord1' component present (0 = absent, 1 = present) | ||
|- | |- | ||
| 10 | | 10 | ||
| 'texcoord2' component present | | unsigned, 'texcoord2' component present (0 = absent, 1 = present) | ||
|- | |- | ||
| 16 | | 16 | ||
| 'texcoord0.w' present | | unsigned, 'texcoord0.w' present (0 = absent, 1 = present) | ||
|- | |- | ||
| 24 | | 24 | ||
| 'normquat' or 'view' component present | | unsigned, 'normquat' or 'view' component present (0 = absent, 1 = present) | ||
|} | |} | ||
| Line 4,351: | Line 4,378: | ||
|- | |- | ||
| 0 | | 0 | ||
| Texture 0 enabled | | unsigned, Texture 0 enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 1 | | 1 | ||
| Texture 1 enabled | | unsigned, Texture 1 enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 2 | | 2 | ||
| Texture 2 enabled | | unsigned, Texture 2 enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 3 | | 3 | ||
| Line 4,363: | Line 4,390: | ||
|- | |- | ||
| 8-9 | | 8-9 | ||
| Texture 3 coordinates | | unsigned, Texture 3 coordinates | ||
|- | |- | ||
| 10 | | 10 | ||
| Texture 3 enabled | | unsigned, Texture 3 enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 12 | | 12 | ||
| Line 4,372: | Line 4,399: | ||
|- | |- | ||
| 13 | | 13 | ||
| Texture 2 coordinates | | unsigned, Texture 2 coordinates | ||
|- | |- | ||
| 16 | | 16 | ||
| Clear texture cache (0 = don't clear, 1 = clear) | | unsigned, Clear texture cache (0 = don't clear, 1 = clear) | ||
|- | |- | ||
| 17 | | 17 | ||
| Line 4,417: | Line 4,444: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Red | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Green | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Blue | | unsigned, Blue | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Alpha | | unsigned, Alpha | ||
|} | |} | ||
| Line 4,436: | Line 4,463: | ||
|- | |- | ||
| 0-10 | | 0-10 | ||
| Height | | unsigned, Height | ||
|- | |- | ||
| 16-26 | | 16-26 | ||
| Width | | unsigned, Width | ||
|} | |} | ||
| Line 4,449: | Line 4,476: | ||
|- | |- | ||
| 1 | | 1 | ||
| Magnification filter | | unsigned, Magnification filter | ||
|- | |- | ||
| 2 | | 2 | ||
| Minification filter | | unsigned, Minification filter | ||
|- | |- | ||
| 4-5 | | 4-5 | ||
| ETC1 (0 = not ETC1, 2 = ETC1) | | unsigned, ETC1 (0 = not ETC1, 2 = ETC1) | ||
|- | |- | ||
| 8-10 | | 8-10 | ||
| Wrap T | | unsigned, Wrap T | ||
|- | |- | ||
| 12-14 | | 12-14 | ||
| Wrap S | | unsigned, Wrap S | ||
|- | |- | ||
| 16 | | 16 | ||
| Line 4,467: | Line 4,494: | ||
|- | |- | ||
| 20 | | 20 | ||
| Shadow (Texture 0 only, 0 = not shadow, 1 = shadow) | | unsigned, Shadow (Texture 0 only, 0 = not shadow, 1 = shadow) | ||
|- | |- | ||
| 24 | | 24 | ||
| Mipmap filter | | unsigned, Mipmap filter | ||
|- | |- | ||
| 28-30 | | 28-30 | ||
| Type (Texture 0 only) | | unsigned, Type (Texture 0 only) | ||
|} | |} | ||
| Line 4,540: | Line 4,567: | ||
|- | |- | ||
| 0-12 | | 0-12 | ||
| | | fixed1.4.8, Bias | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Max Level | | unsigned, Max Level | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Min Level | | unsigned, Min Level | ||
|} | |} | ||
| Line 4,557: | Line 4,584: | ||
|- | |- | ||
| 0-27 | | 0-27 | ||
| Texture physical address >> 3 | | unsigned, Texture physical address >> 3 | ||
|} | |} | ||
| Line 4,566: | Line 4,593: | ||
|- | |- | ||
| 0-21 | | 0-21 | ||
| Texture physical address >> 3 (upper 6 bits reused from first ADDR register) | | unsigned, Texture physical address >> 3 (upper 6 bits reused from first ADDR register) | ||
|} | |} | ||
| Line 4,603: | Line 4,630: | ||
|- | |- | ||
| 0 | | 0 | ||
| Perspective (0 = not perspective, 1 = perspective) | | unsigned, Perspective (0 = not perspective, 1 = perspective) | ||
|- | |- | ||
| 1-23 | | 1-23 | ||
| | | fixed0.0.24, Z bias (upper 23 bits) | ||
|} | |} | ||
| Line 4,616: | Line 4,643: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| [[GPU_Textures#Texture_color_types|Format]] | | unsigned, [[GPU_Textures#Texture_color_types|Format]] | ||
|} | |} | ||
| Line 4,626: | Line 4,653: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 4,636: | Line 4,663: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| U-direction clamp | | unsigned, U-direction clamp | ||
|- | |- | ||
| 3-5 | | 3-5 | ||
| V-direction clamp | | unsigned, V-direction clamp | ||
|- | |- | ||
| 6-9 | | 6-9 | ||
| RGB mapping function | | unsigned, RGB mapping function | ||
|- | |- | ||
| 10-13 | | 10-13 | ||
| Alpha mapping function | | unsigned, Alpha mapping function | ||
|- | |- | ||
| 14 | | 14 | ||
| Handle alpha separately (0 = don't separate, 1 = separate) | | unsigned, Handle alpha separately (0 = don't separate, 1 = separate) | ||
|- | |- | ||
| 15 | | 15 | ||
| Noise enabled (0 = disabled, 1 = enabled) | | unsigned, Noise enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 16-17 | | 16-17 | ||
| U-direction shift | | unsigned, U-direction shift | ||
|- | |- | ||
| 18-19 | | 18-19 | ||
| V-direction shift | | unsigned, V-direction shift | ||
|- | |- | ||
| 20-27 | | 20-27 | ||
| | | float1.5.10, Texture bias (lower 8 bits) | ||
|} | |} | ||
| Line 4,745: | Line 4,772: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | fixed1.3.12, U-direction noise amplitude | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| | | float1.5.10, U-direction noise phase | ||
|} | |} | ||
| Line 4,758: | Line 4,785: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | fixed1.3.12, V-direction noise amplitude | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| | | float1.5.10, V-direction noise phase | ||
|} | |} | ||
| Line 4,771: | Line 4,798: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, U-direction noise frequency | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| | | float1.5.10, V-direction noise frequency | ||
|} | |} | ||
| Line 4,784: | Line 4,811: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| Minification filter | | unsigned, Minification filter | ||
|- | |- | ||
| 8-9 | | 8-9 | ||
| Line 4,790: | Line 4,817: | ||
|- | |- | ||
| 11-18 | | 11-18 | ||
| Texture width | | unsigned, Texture width | ||
|- | |- | ||
| 19-26 | | 19-26 | ||
| | | float1.5.10, Texture bias (upper 8 bits) | ||
|} | |} | ||
| Line 4,828: | Line 4,855: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Texture offset | | unsigned, Texture offset | ||
|- | |- | ||
| 8-31 | | 8-31 | ||
| Line 4,841: | Line 4,868: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Index | | unsigned, Index | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Reference table | | unsigned, Reference table | ||
|} | |} | ||
| Line 4,889: | Line 4,916: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| | | fixed0.0.12, Value | ||
|- | |- | ||
| 12-23 | | 12-23 | ||
| | | fixed1.0.11, Difference from next element | ||
|} | |} | ||
| Line 4,903: | Line 4,930: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| | | fixed0.0.12, Value | ||
|- | |- | ||
| 12-23 | | 12-23 | ||
| | | fixed1.0.11, Difference from next element | ||
|} | |} | ||
| Line 4,917: | Line 4,944: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| | | fixed0.0.12, Value | ||
|- | |- | ||
| 12-23 | | 12-23 | ||
| | | fixed1.0.11, Difference from next element | ||
|} | |} | ||
| Line 4,931: | Line 4,958: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| | | unsigned, Blue | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| | | unsigned, Alpha | ||
|} | |} | ||
| Line 4,951: | Line 4,978: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| | | fixed1.0.7, Red difference between current and next color table elements | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| | | fixed1.0.7, Green difference between current and next color table elements | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| | | fixed1.0.7, Blue difference between current and next color table elements | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| | | fixed1.0.7, Alpha difference between current and next color table elements | ||
|} | |} | ||
| Line 4,970: | Line 4,997: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| RGB source 0 | | unsigned, RGB source 0 | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| RGB source 1 | | unsigned, RGB source 1 | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| RGB source 2 | | unsigned, RGB source 2 | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Alpha source 0 | | unsigned, Alpha source 0 | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Alpha source 1 | | unsigned, Alpha source 1 | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Alpha source 2 | | unsigned, Alpha source 2 | ||
|} | |} | ||
| Line 5,032: | Line 5,059: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| RGB operand 0 | | unsigned, RGB operand 0 | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| RGB operand 1 | | unsigned, RGB operand 1 | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| RGB operand 2 | | unsigned, RGB operand 2 | ||
|- | |- | ||
| 12-14 | | 12-14 | ||
| Alpha operand 0 | | unsigned, Alpha operand 0 | ||
|- | |- | ||
| 16-18 | | 16-18 | ||
| Alpha operand 1 | | unsigned, Alpha operand 1 | ||
|- | |- | ||
| 20-22 | | 20-22 | ||
| Alpha operand 2 | | unsigned, Alpha operand 2 | ||
|} | |} | ||
| Line 5,125: | Line 5,152: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| RGB combine | | unsigned, RGB combine | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Alpha combine | | unsigned, Alpha combine | ||
|} | |} | ||
| Line 5,175: | Line 5,202: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Red | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Green | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Blue | | unsigned, Blue | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Alpha | | unsigned, Alpha | ||
|} | |} | ||
| Line 5,194: | Line 5,221: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| RGB scale | | unsigned, RGB scale | ||
|- | |- | ||
| 16-17 | | 16-17 | ||
| Alpha scale | | unsigned, Alpha scale | ||
|} | |} | ||
| Line 5,223: | Line 5,250: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| Fog mode | | unsigned, Fog mode | ||
|- | |- | ||
| 3 | | 3 | ||
| Shading density source | | unsigned, Shading density source | ||
|- | |- | ||
| 8 | | 8 | ||
| TexEnv 1 RGB buffer input | | unsigned, TexEnv 1 RGB buffer input | ||
|- | |- | ||
| 9 | | 9 | ||
| TexEnv 2 RGB buffer input | | unsigned, TexEnv 2 RGB buffer input | ||
|- | |- | ||
| 10 | | 10 | ||
| TexEnv 3 RGB buffer input | | unsigned, TexEnv 3 RGB buffer input | ||
|- | |- | ||
| 11 | | 11 | ||
| TexEnv 4 RGB buffer input | | unsigned, TexEnv 4 RGB buffer input | ||
|- | |- | ||
| 12 | | 12 | ||
| TexEnv 1 alpha buffer input | | unsigned, TexEnv 1 alpha buffer input | ||
|- | |- | ||
| 13 | | 13 | ||
| TexEnv 2 alpha buffer input | | unsigned, TexEnv 2 alpha buffer input | ||
|- | |- | ||
| 14 | | 14 | ||
| TexEnv 3 alpha buffer input | | unsigned, TexEnv 3 alpha buffer input | ||
|- | |- | ||
| 15 | | 15 | ||
| TexEnv 4 alpha buffer input | | unsigned, TexEnv 4 alpha buffer input | ||
|- | |- | ||
| 16 | | 16 | ||
| Z flip (0 = don't flip, 1 = flip) | | unsigned, Z flip (0 = don't flip, 1 = flip) | ||
|} | |} | ||
| Line 5,307: | Line 5,334: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Red | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Green | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Blue | | unsigned, Blue | ||
|} | |} | ||
| Line 5,323: | Line 5,350: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, Gas density attenuation | ||
|} | |} | ||
| Line 5,333: | Line 5,360: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, Gas maximum density accumulation | ||
|} | |} | ||
| Line 5,343: | Line 5,370: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| Index | | unsigned, Index | ||
|} | |} | ||
| Line 5,366: | Line 5,393: | ||
|- | |- | ||
| 0-12 | | 0-12 | ||
| | | fixed1.1.11, Difference from next element | ||
|- | |- | ||
| 13-23 | | 13-23 | ||
| | | fixed0.0.11, Value | ||
|} | |} | ||
| Line 5,379: | Line 5,406: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Red | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Green | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Blue | | unsigned, Blue | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Alpha | | unsigned, Alpha | ||
|} | |} | ||
| Line 5,400: | Line 5,427: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Fragment operation mode | | unsigned, Fragment operation mode | ||
|- | |- | ||
| 8 | | 8 | ||
| Blend mode | | unsigned, Blend mode | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Line 5,445: | Line 5,472: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| RGB equation | | unsigned, RGB equation | ||
|- | |- | ||
| 8-10 | | 8-10 | ||
| Alpha equation | | unsigned, Alpha equation | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| RGB source function | | unsigned, RGB source function | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| RGB destination function | | unsigned, RGB destination function | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Alpha source function | | unsigned, Alpha source function | ||
|- | |- | ||
| 28-31 | | 28-31 | ||
| Alpha destination function | | unsigned, Alpha destination function | ||
|} | |} | ||
| Line 5,544: | Line 5,571: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Logic op | | unsigned, Logic op | ||
|} | |} | ||
| Line 5,609: | Line 5,636: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Red | | unsigned, Red | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Green | | unsigned, Green | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Blue | | unsigned, Blue | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Alpha | | unsigned, Alpha | ||
|} | |} | ||
| Line 5,628: | Line 5,655: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 4-6 | | 4-6 | ||
| Function | | unsigned, Function | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Reference value | | unsigned, Reference value | ||
|} | |} | ||
| Line 5,675: | Line 5,702: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 4-6 | | 4-6 | ||
| Function | | unsigned, Function | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Buffer mask | | unsigned, Buffer mask | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Reference value | | signed, Reference value | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Mask | | unsigned, Mask | ||
|} | |} | ||
| Line 5,728: | Line 5,755: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| Fail operation | | unsigned, Fail operation | ||
|- | |- | ||
| 4-6 | | 4-6 | ||
| Z-fail operation | | unsigned, Z-fail operation | ||
|- | |- | ||
| 8-10 | | 8-10 | ||
| Z-pass operation | | unsigned, Z-pass operation | ||
|} | |} | ||
| Line 5,775: | Line 5,802: | ||
|- | |- | ||
| 0 | | 0 | ||
| Depth test enabled (0 = disabled, 1 = enabled) | | unsigned, Depth test enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 4-6 | | 4-6 | ||
| Depth function | | unsigned, Depth function | ||
|- | |- | ||
| 8 | | 8 | ||
| Red write enabled (0 = disabled, 1 = enabled) | | unsigned, Red write enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 9 | | 9 | ||
| Green write enabled (0 = disabled, 1 = enabled) | | unsigned, Green write enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 10 | | 10 | ||
| Blue write enabled (0 = disabled, 1 = enabled) | | unsigned, Blue write enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 11 | | 11 | ||
| Alpha write enabled (0 = disabled, 1 = enabled) | | unsigned, Alpha write enabled (0 = disabled, 1 = enabled) | ||
|- | |- | ||
| 12 | | 12 | ||
| Depth write enabled (0 = disabled, 1 = enabled) | | unsigned, Depth write enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 5,834: | Line 5,861: | ||
|- | |- | ||
| 0 | | 0 | ||
| Trigger (0 = idle, 1 = invalidate) | | unsigned, Trigger (0 = idle, 1 = invalidate) | ||
|} | |} | ||
| Line 5,846: | Line 5,873: | ||
|- | |- | ||
| 0 | | 0 | ||
| Trigger (0 = idle, 1 = flush) | | unsigned, Trigger (0 = idle, 1 = flush) | ||
|} | |} | ||
| Line 5,858: | Line 5,885: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Allow read (0 = disable, 0xF = enable) | | unsigned, Allow read (0 = disable, 0xF = enable) | ||
|} | |} | ||
| Line 5,868: | Line 5,895: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Allow write (0 = disable, 0xF = enable) | | unsigned, Allow write (0 = disable, 0xF = enable) | ||
|} | |} | ||
| Line 5,878: | Line 5,905: | ||
|- | |- | ||
| 0 | | 0 | ||
| Allow stencil read (0 = disable, 1 = enable) | | unsigned, Allow stencil read (0 = disable, 1 = enable) | ||
|- | |- | ||
| 1 | | 1 | ||
| Allow depth read (0 = disable, 1 = enable) | | unsigned, Allow depth read (0 = disable, 1 = enable) | ||
|} | |} | ||
| Line 5,891: | Line 5,918: | ||
|- | |- | ||
| 0 | | 0 | ||
| Allow stencil write (0 = disable, 1 = enable) | | unsigned, Allow stencil write (0 = disable, 1 = enable) | ||
|- | |- | ||
| 1 | | 1 | ||
| Allow depth write (0 = disable, 1 = enable) | | unsigned, Allow depth write (0 = disable, 1 = enable) | ||
|} | |} | ||
| Line 5,904: | Line 5,931: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Format | | unsigned, Format | ||
|} | |} | ||
| Line 5,930: | Line 5,957: | ||
|- | |- | ||
| 0-1 | | 0-1 | ||
| Pixel size | | unsigned, Pixel size | ||
|- | |- | ||
| 16-18 | | 16-18 | ||
| Format | | unsigned, Format | ||
|} | |} | ||
| Line 5,976: | Line 6,003: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
| Line 5,986: | Line 6,013: | ||
|- | |- | ||
| 0 | | 0 | ||
| Render block mode | | unsigned, Render block mode | ||
|} | |} | ||
| Line 6,011: | Line 6,038: | ||
|- | |- | ||
| 0-27 | | 0-27 | ||
| Depth buffer physical address >> 3 | | unsigned, Depth buffer physical address >> 3 | ||
|} | |} | ||
| Line 6,021: | Line 6,048: | ||
|- | |- | ||
| 0-27 | | 0-27 | ||
| Color buffer physical address >> 3 | | unsigned, Color buffer physical address >> 3 | ||
|} | |} | ||
| Line 6,031: | Line 6,058: | ||
|- | |- | ||
| 0-10 | | 0-10 | ||
| Width | | unsigned, Width | ||
|- | |- | ||
| 12-21 | | 12-21 | ||
| Height | | unsigned, Height - 1 | ||
|} | |} | ||
| Line 6,044: | Line 6,071: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, Sum of penumbra scale and penumbra bias | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| | | float1.5.10, Penumbra scale with reversed sign | ||
|} | |} | ||
| Line 6,067: | Line 6,094: | ||
|- | |- | ||
| 0 | | 0 | ||
| Shadow factor enable, usually set to bit16 OR bit18 OR bit19 | | unsigned, Shadow factor enable, usually set to bit16 OR bit18 OR bit19 | ||
|- | |- | ||
| 1 | | 1 | ||
| Line 6,073: | Line 6,100: | ||
|- | |- | ||
| 2-3 | | 2-3 | ||
| "Fresnel selector" (see below) | | unsigned, "Fresnel selector" (see below) | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| "Config", "Light env config" (see below) | | unsigned, "Config", "Light env config" (see below) | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Line 6,082: | Line 6,109: | ||
|- | |- | ||
| 16 | | 16 | ||
| "Shadow primary", 0=disabled, 1=enabled | | unsigned, "Shadow primary", 0=disabled, 1=enabled | ||
|- | |- | ||
| 17 | | 17 | ||
| "Shadow secondary", 0=disabled, 1=enabled | | unsigned, "Shadow secondary", 0=disabled, 1=enabled | ||
|- | |- | ||
| 18 | | 18 | ||
| "Invert shadow", 0=disabled, 1=enabled | | unsigned, "Invert shadow", 0=disabled, 1=enabled | ||
|- | |- | ||
| 19 | | 19 | ||
| "Shadow alpha", 0=disabled, 1=enabled | | unsigned, "Shadow alpha", 0=disabled, 1=enabled | ||
|- | |- | ||
| 20-21 | | 20-21 | ||
| Line 6,097: | Line 6,124: | ||
|- | |- | ||
| 22-23 | | 22-23 | ||
| "Bump selector", texture unit for bumpmapping | | unsigned, "Bump selector", texture unit for bumpmapping | ||
|- | |- | ||
| 24-25 | | 24-25 | ||
| "Shadow selector", texture unit for shadow mapping | | unsigned, "Shadow selector", texture unit for shadow mapping | ||
|- | |- | ||
| 26 | | 26 | ||
| Line 6,106: | Line 6,133: | ||
|- | |- | ||
| 27 | | 27 | ||
| "Clamp highlights", 0=disabled, 1=enabled | | unsigned, "Clamp highlights", 0=disabled, 1=enabled | ||
|- | |- | ||
| 28-29 | | 28-29 | ||
| "Bump mode", "Light env texy usage" (see below) | | unsigned, "Bump mode", "Light env texy usage" (see below) | ||
|- | |- | ||
| 30 | | 30 | ||
| "Bump renorm", 0=enabled, 1=disabled | | unsigned, "Bump renorm", 0=enabled, 1=disabled | ||
|- | |- | ||
| 31 | | 31 | ||
| Line 6,204: | Line 6,231: | ||
|- | |- | ||
| 0 | | 0 | ||
| Disable bit for frag light source 0 shadows | | unsigned, Disable bit for frag light source 0 shadows | ||
|- | |- | ||
| 1 | | 1 | ||
| Disable bit for frag light source 1 shadows | | unsigned, Disable bit for frag light source 1 shadows | ||
|- | |- | ||
| 2 | | 2 | ||
| Disable bit for frag light source 2 shadows | | unsigned, Disable bit for frag light source 2 shadows | ||
|- | |- | ||
| 3 | | 3 | ||
| Disable bit for frag light source 3 shadows | | unsigned, Disable bit for frag light source 3 shadows | ||
|- | |- | ||
| 4 | | 4 | ||
| Disable bit for frag light source 4 shadows | | unsigned, Disable bit for frag light source 4 shadows | ||
|- | |- | ||
| 5 | | 5 | ||
| Disable bit for frag light source 5 shadows | | unsigned, Disable bit for frag light source 5 shadows | ||
|- | |- | ||
| 6 | | 6 | ||
| Disable bit for frag light source 6 shadows | | unsigned, Disable bit for frag light source 6 shadows | ||
|- | |- | ||
| 7 | | 7 | ||
| Disable bit for frag light source 7 shadows | | unsigned, Disable bit for frag light source 7 shadows | ||
|- | |- | ||
| 8 | | 8 | ||
| Disable bit for frag light source 0 spot | | unsigned, Disable bit for frag light source 0 spot | ||
|- | |- | ||
| 9 | | 9 | ||
| Disable bit for frag light source 1 spot | | unsigned, Disable bit for frag light source 1 spot | ||
|- | |- | ||
| 10 | | 10 | ||
| Disable bit for frag light source 2 spot | | unsigned, Disable bit for frag light source 2 spot | ||
|- | |- | ||
| 11 | | 11 | ||
| Disable bit for frag light source 3 spot | | unsigned, Disable bit for frag light source 3 spot | ||
|- | |- | ||
| 12 | | 12 | ||
| Disable bit for frag light source 4 spot | | unsigned, Disable bit for frag light source 4 spot | ||
|- | |- | ||
| 13 | | 13 | ||
| Disable bit for frag light source 5 spot | | unsigned, Disable bit for frag light source 5 spot | ||
|- | |- | ||
| 14 | | 14 | ||
| Disable bit for frag light source 6 spot | | unsigned, Disable bit for frag light source 6 spot | ||
|- | |- | ||
| 15 | | 15 | ||
| Disable bit for frag light source 7 spot | | unsigned, Disable bit for frag light source 7 spot | ||
|- | |- | ||
| 16 | | 16 | ||
| Disable bit for lut_D0 | | unsigned, Disable bit for lut_D0 | ||
|- | |- | ||
| 17 | | 17 | ||
| Disable bit for lut_D1 | | unsigned, Disable bit for lut_D1 | ||
|- | |- | ||
| 18 | | 18 | ||
| Line 6,261: | Line 6,288: | ||
|- | |- | ||
| 19 | | 19 | ||
| Disable bit for lut_FR | | unsigned, Disable bit for lut_FR | ||
|- | |- | ||
| 20 | | 20 | ||
| Disable bit for lut_RB | | unsigned, Disable bit for lut_RB | ||
|- | |- | ||
| 21 | | 21 | ||
| Disable bit for lut_RG | | unsigned, Disable bit for lut_RG | ||
|- | |- | ||
| 22 | | 22 | ||
| Disable bit for lut_RR | | unsigned, Disable bit for lut_RR | ||
|- | |- | ||
| 23 | | 23 | ||
| Line 6,276: | Line 6,303: | ||
|- | |- | ||
| 24 | | 24 | ||
| Disable bit for frag light source 0 distance attenuation | | unsigned, Disable bit for frag light source 0 distance attenuation | ||
|- | |- | ||
| 25 | | 25 | ||
| Disable bit for frag light source 1 distance attenuation | | unsigned, Disable bit for frag light source 1 distance attenuation | ||
|- | |- | ||
| 26 | | 26 | ||
| Disable bit for frag light source 2 distance attenuation | | unsigned, Disable bit for frag light source 2 distance attenuation | ||
|- | |- | ||
| 27 | | 27 | ||
| Disable bit for frag light source 3 distance attenuation | | unsigned, Disable bit for frag light source 3 distance attenuation | ||
|- | |- | ||
| 28 | | 28 | ||
| Disable bit for frag light source 4 distance attenuation | | unsigned, Disable bit for frag light source 4 distance attenuation | ||
|- | |- | ||
| 29 | | 29 | ||
| Disable bit for frag light source 5 distance attenuation | | unsigned, Disable bit for frag light source 5 distance attenuation | ||
|- | |- | ||
| 30 | | 30 | ||
| Disable bit for frag light source 6 distance attenuation | | unsigned, Disable bit for frag light source 6 distance attenuation | ||
|- | |- | ||
| 31 | | 31 | ||
| Disable bit for frag light source 7 distance attenuation | | unsigned, Disable bit for frag light source 7 distance attenuation | ||
|} | |} | ||
| Line 6,311: | Line 6,338: | ||
|- | |- | ||
| 0-2 | | 0-2 | ||
| ID of the 1st enabled light (0..7) | | unsigned, ID of the 1st enabled light (0..7) | ||
|- | |- | ||
| 4-6 | | 4-6 | ||
| ID of the 2nd enabled light (0..7) | | unsigned, ID of the 2nd enabled light (0..7) | ||
|- | |- | ||
| 8-10 | | 8-10 | ||
| ID of the 3rd enabled light (0..7) | | unsigned, ID of the 3rd enabled light (0..7) | ||
|- | |- | ||
| 12-14 | | 12-14 | ||
| ID of the 4th enabled light (0..7) | | unsigned, ID of the 4th enabled light (0..7) | ||
|- | |- | ||
| 16-18 | | 16-18 | ||
| ID of the 5th enabled light (0..7) | | unsigned, ID of the 5th enabled light (0..7) | ||
|- | |- | ||
| 20-22 | | 20-22 | ||
| ID of the 6th enabled light (0..7) | | unsigned, ID of the 6th enabled light (0..7) | ||
|- | |- | ||
| 24-26 | | 24-26 | ||
| ID of the 7th enabled light (0..7) | | unsigned, ID of the 7th enabled light (0..7) | ||
|- | |- | ||
| 28-30 | | 28-30 | ||
| ID of the 8th enabled light (0..7) | | unsigned, ID of the 8th enabled light (0..7) | ||
|} | |} | ||
| Line 6,342: | Line 6,369: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Input selector for lut_D0 | | unsigned, Input selector for lut_D0 | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Input selector for lut_D1 | | unsigned, Input selector for lut_D1 | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Input selector for lut_SP | | unsigned, Input selector for lut_SP | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Input selector for lut_FR | | unsigned, Input selector for lut_FR | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Input selector for lut_RB | | unsigned, Input selector for lut_RB | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Input selector for lut_RG | | unsigned, Input selector for lut_RG | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Input selector for lut_RR | | unsigned, Input selector for lut_RR | ||
|} | |} | ||
| Line 6,395: | Line 6,422: | ||
|- | |- | ||
| 1 | | 1 | ||
| abs() flag for the input of lut_D0 (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_D0 (0=enabled, 1=disabled) | ||
|- | |- | ||
| 5 | | 5 | ||
| abs() flag for the input of lut_D1 (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_D1 (0=enabled, 1=disabled) | ||
|- | |- | ||
| 9 | | 9 | ||
| abs() flag for the input of lut_SP (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_SP (0=enabled, 1=disabled) | ||
|- | |- | ||
| 13 | | 13 | ||
| abs() flag for the input of lut_FR (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_FR (0=enabled, 1=disabled) | ||
|- | |- | ||
| 17 | | 17 | ||
| abs() flag for the input of lut_RB (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_RB (0=enabled, 1=disabled) | ||
|- | |- | ||
| 21 | | 21 | ||
| abs() flag for the input of lut_RG (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_RG (0=enabled, 1=disabled) | ||
|- | |- | ||
| 25 | | 25 | ||
| abs() flag for the input of lut_RR (0=enabled, 1=disabled) | | unsigned, abs() flag for the input of lut_RR (0=enabled, 1=disabled) | ||
|} | |} | ||
| Line 6,425: | Line 6,452: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Scaler selector for lut_D0 | | unsigned, Scaler selector for lut_D0 | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Scaler selector for lut_D1 | | unsigned, Scaler selector for lut_D1 | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Scaler selector for lut_SP | | unsigned, Scaler selector for lut_SP | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Scaler selector for lut_FR | | unsigned, Scaler selector for lut_FR | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Scaler selector for lut_RB | | unsigned, Scaler selector for lut_RB | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Scaler selector for lut_RG | | unsigned, Scaler selector for lut_RG | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Scaler selector for lut_RR | | unsigned, Scaler selector for lut_RR | ||
|} | |} | ||
| Line 6,482: | Line 6,509: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Starting entry offset (0...255) | | unsigned, Starting entry offset (0...255) | ||
|- | |- | ||
| 8-10 | | 8-10 | ||
| LUT ID (context=0) or Light ID (context=1,2) | | unsigned, LUT ID (context=0) or Light ID (context=1,2) | ||
|- | |- | ||
| 11-12 | | 11-12 | ||
| Context ID | | unsigned, Context ID | ||
|} | |} | ||
| Line 6,523: | Line 6,550: | ||
|- | |- | ||
| 0 | | 0 | ||
| LUTs common to all lights - writes to the LUT selected by the ID | | unsigned, LUTs common to all lights - writes to the LUT selected by the ID | ||
|- | |- | ||
| 1 | | 1 | ||
| lut_SP - writes to the LUT specific to the selected light | | unsigned, lut_SP - writes to the LUT specific to the selected light | ||
|- | |- | ||
| 2 | | 2 | ||
| lut_DA - writes to the LUT specific to the selected light | | unsigned, lut_DA - writes to the LUT specific to the selected light | ||
|} | |} | ||
| Line 6,547: | Line 6,574: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| Entry value (12bit fractional number; floatval = x / 4096; however 0xFFF is treated as 1.0) | | fixed0.0.12, Entry value (12bit fractional number; floatval = x / 4096; however 0xFFF is treated as 1.0) | ||
|- | |- | ||
| 12- | | 12-23 | ||
| Absolute value of the difference between the next entry and this entry, used to implement linear interpolation | | fixed1.0.11, Absolute value of the difference between the next entry and this entry, used to implement linear interpolation | ||
|} | |} | ||
| Line 6,563: | Line 6,587: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Blue component (0..255) | | unsigned, Blue component (0..255) | ||
|- | |- | ||
| 10-17 | | 10-17 | ||
| Green component (0..255) | | unsigned, Green component (0..255) | ||
|- | |- | ||
| 20-27 | | 20-27 | ||
| Red component (0..255) | | unsigned, Red component (0..255) | ||
|} | |} | ||
| Line 6,581: | Line 6,605: | ||
|- | |- | ||
| 0 | | 0 | ||
| Light type (0 = positional light, 1 = directional light) | | unsigned, Light type (0 = positional light, 1 = directional light) | ||
|- | |- | ||
| 1 | | 1 | ||
| Two side diffuse (0=disable, 1=enable) | | unsigned, Two side diffuse (0=disable, 1=enable) | ||
|- | |- | ||
| 2 | | 2 | ||
| Geometric factor 0 (0=disable, 1=enable) | | unsigned, Geometric factor 0 (0=disable, 1=enable) | ||
|- | |- | ||
| 3 | | 3 | ||
| Geometric factor 1 (0=disable, 1=enable) | | unsigned, Geometric factor 1 (0=disable, 1=enable) | ||
|} | |} | ||
| Line 6,600: | Line 6,624: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, X coordinate | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| | | float1.5.10, Y coordinate | ||
|} | |} | ||
| Line 6,615: | Line 6,639: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| | | float1.5.10, Z coordinate | ||
|} | |} | ||
| Line 6,627: | Line 6,651: | ||
|- | |- | ||
| 0-12 | | 0-12 | ||
| X coordinate | | fixed1.1.11, X coordinate (Usually the input value is negated) | ||
|- | |- | ||
| 16-28 | | 16-28 | ||
| Y coordinate | | fixed1.1.11, Y coordinate (Usually the input value is negated) | ||
|} | |} | ||
| Line 6,642: | Line 6,666: | ||
|- | |- | ||
| 0-12 | | 0-12 | ||
| Z coordinate | | fixed1.1.11, Z coordinate (Usually the input value is negated) | ||
|} | |} | ||
| Line 6,680: | Line 6,704: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Geometry stage mode. (0=Vertex shader only, 2=Vertex shader + geometry shader) | | unsigned, Geometry stage mode. (0=Vertex shader only, 2=Vertex shader + geometry shader) | ||
|- | |- | ||
| 8 | | 8 | ||
| Line 6,734: | Line 6,758: | ||
|- | |- | ||
| 0 | | 0 | ||
| Value of geometry shader unit's b0 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b0 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 1 | | 1 | ||
| Value of geometry shader unit's b1 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b1 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 2 | | 2 | ||
| Value of geometry shader unit's b2 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b2 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 3 | | 3 | ||
| Value of geometry shader unit's b3 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b3 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 4 | | 4 | ||
| Value of geometry shader unit's b4 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b4 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 5 | | 5 | ||
| Value of geometry shader unit's b5 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b5 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 6 | | 6 | ||
| Value of geometry shader unit's b6 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b6 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 7 | | 7 | ||
| Value of geometry shader unit's b7 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b7 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 8 | | 8 | ||
| Value of geometry shader unit's b8 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b8 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 9 | | 9 | ||
| Value of geometry shader unit's b9 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b9 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 10 | | 10 | ||
| Value of geometry shader unit's b10 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b10 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 11 | | 11 | ||
| Value of geometry shader unit's b11 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b11 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 12 | | 12 | ||
| Value of geometry shader unit's b12 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b12 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 13 | | 13 | ||
| Value of geometry shader unit's b13 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b13 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 14 | | 14 | ||
| Value of geometry shader unit's b14 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b14 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 15 | | 15 | ||
| Value of geometry shader unit's b15 boolean register. (0=true, 1=false) | | unsigned, Value of geometry shader unit's b15 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| Line 6,794: | Line 6,818: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for geometry shader's i0.x | | unsigned, Value for geometry shader's i0.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for geometry shader's i0.y | | unsigned, Value for geometry shader's i0.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for geometry shader's i0.z | | unsigned, Value for geometry shader's i0.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for geometry shader's i0.w | | unsigned, Value for geometry shader's i0.w | ||
|} | |} | ||
| Line 6,815: | Line 6,839: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for geometry shader's i1.x | | unsigned, Value for geometry shader's i1.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for geometry shader's i1.y | | unsigned, Value for geometry shader's i1.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for geometry shader's i1.z | | unsigned, Value for geometry shader's i1.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for geometry shader's i1.w | | unsigned, Value for geometry shader's i1.w | ||
|} | |} | ||
| Line 6,836: | Line 6,860: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for geometry shader's i2.x | | unsigned, Value for geometry shader's i2.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for geometry shader's i2.y | | unsigned, Value for geometry shader's i2.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for geometry shader's i2.z | | unsigned, Value for geometry shader's i2.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for geometry shader's i2.w | | unsigned, Value for geometry shader's i2.w | ||
|} | |} | ||
| Line 6,857: | Line 6,881: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for geometry shader's i3.x | | unsigned, Value for geometry shader's i3.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for geometry shader's i3.y | | unsigned, Value for geometry shader's i3.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for geometry shader's i3.z | | unsigned, Value for geometry shader's i3.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for geometry shader's i3.w | | unsigned, Value for geometry shader's i3.w | ||
|} | |} | ||
| Line 6,878: | Line 6,902: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register) | | unsigned, Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register) | ||
|- | |- | ||
| 8-23 | | 8-23 | ||
| Line 6,897: | Line 6,921: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| Geometry shader unit entrypoint, in words. | | unsigned, Geometry shader unit entrypoint, in words. | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| Line 6,912: | Line 6,936: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Index of geometry shader input register which the 1st attribute will be stored in. | | unsigned, Index of geometry shader input register which the 1st attribute will be stored in. | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Index of geometry shader input register which the 2nd attribute will be stored in. | | unsigned, Index of geometry shader input register which the 2nd attribute will be stored in. | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Index of geometry shader input register which the 3rd attribute will be stored in. | | unsigned, Index of geometry shader input register which the 3rd attribute will be stored in. | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Index of geometry shader input register which the 4th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 4th attribute will be stored in. | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Index of geometry shader input register which the 5th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 5th attribute will be stored in. | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Index of geometry shader input register which the 6th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 6th attribute will be stored in. | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Index of geometry shader input register which the 7th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 7th attribute will be stored in. | ||
|- | |- | ||
| 28-31 | | 28-31 | ||
| Index of geometry shader input register which the 8th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 8th attribute will be stored in. | ||
|} | |} | ||
| Line 6,946: | Line 6,970: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Index of geometry shader input register which the 9th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 9th attribute will be stored in. | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Index of geometry shader input register which the 10th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 10th attribute will be stored in. | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Index of geometry shader input register which the 11th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 11th attribute will be stored in. | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Index of geometry shader input register which the 12th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 12th attribute will be stored in. | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Index of geometry shader input register which the 13th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 13th attribute will be stored in. | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Index of geometry shader input register which the 14th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 14th attribute will be stored in. | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Index of geometry shader input register which the 15th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 15th attribute will be stored in. | ||
|- | |- | ||
| 28-31 | | 28-31 | ||
| Index of geometry shader input register which the 16th attribute will be stored in. | | unsigned, Index of geometry shader input register which the 16th attribute will be stored in. | ||
|} | |} | ||
| Line 6,980: | Line 7,004: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enable bit for geometry shader's o0 output register. (1 = o0 enabled, 0 = o0 disabled) | | unsigned, Enable bit for geometry shader's o0 output register. (1 = o0 enabled, 0 = o0 disabled) | ||
|- | |- | ||
| 1 | | 1 | ||
| Enable bit for geometry shader's o1 output register. (1 = o1 enabled, 0 = o1 disabled) | | unsigned, Enable bit for geometry shader's o1 output register. (1 = o1 enabled, 0 = o1 disabled) | ||
|- | |- | ||
| 2 | | 2 | ||
| Enable bit for geometry shader's o2 output register. (1 = o2 enabled, 0 = o2 disabled) | | unsigned, Enable bit for geometry shader's o2 output register. (1 = o2 enabled, 0 = o2 disabled) | ||
|- | |- | ||
| 3 | | 3 | ||
| Enable bit for geometry shader's o3 output register. (1 = o3 enabled, 0 = o3 disabled) | | unsigned, Enable bit for geometry shader's o3 output register. (1 = o3 enabled, 0 = o3 disabled) | ||
|- | |- | ||
| 4 | | 4 | ||
| Enable bit for geometry shader's o4 output register. (1 = o4 enabled, 0 = o4 disabled) | | unsigned, Enable bit for geometry shader's o4 output register. (1 = o4 enabled, 0 = o4 disabled) | ||
|- | |- | ||
| 5 | | 5 | ||
| Enable bit for geometry shader's o5 output register. (1 = o5 enabled, 0 = o5 disabled) | | unsigned, Enable bit for geometry shader's o5 output register. (1 = o5 enabled, 0 = o5 disabled) | ||
|- | |- | ||
| 6 | | 6 | ||
| Enable bit for geometry shader's o6 output register. (1 = o6 enabled, 0 = o6 disabled) | | unsigned, Enable bit for geometry shader's o6 output register. (1 = o6 enabled, 0 = o6 disabled) | ||
|} | |} | ||
| Line 7,010: | Line 7,034: | ||
|- | |- | ||
| 0 | | 0 | ||
| Code data transfer end signal bit. | | unsigned, Code data transfer end signal bit. | ||
|} | |} | ||
| Line 7,022: | Line 7,046: | ||
|- | |- | ||
| 0-6 | | 0-6 | ||
| Target float vec4 geometry shader uniform ID for transfer. (range 0-95, where 0 = c0 and 95 = c95) | | unsigned, Target float vec4 geometry shader uniform ID for transfer. (range 0-95, where 0 = c0 and 95 = c95) | ||
|- | |- | ||
| 31 | | 31 | ||
| Float vec4 geometry shader uniform data transfer mode. (0 = float24, 1 = float32) | | unsigned, Float vec4 geometry shader uniform data transfer mode. (0 = float24, 1 = float32) | ||
|} | |} | ||
| Line 7,055: | Line 7,079: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| Target geometry shader code offset for data transfer. | | unsigned, Target geometry shader code offset for data transfer. | ||
|} | |} | ||
| Line 7,069: | Line 7,093: | ||
|- | |- | ||
| 0-31 | | 0-31 | ||
| Geometry shader instruction data. | | unsigned, Geometry shader instruction data. | ||
|} | |} | ||
| Line 7,081: | Line 7,105: | ||
|- | |- | ||
| 0-6 | | 0-6 | ||
| Target geometry shader operand descriptor offset for data transfer. | | unsigned, Target geometry shader operand descriptor offset for data transfer. | ||
|} | |} | ||
| Line 7,093: | Line 7,117: | ||
|- | |- | ||
| 0-31 | | 0-31 | ||
| Geometry shader operand descriptor data. | | unsigned, Geometry shader operand descriptor data. | ||
|} | |} | ||
| Line 7,107: | Line 7,131: | ||
|- | |- | ||
| 0 | | 0 | ||
| Value of vertex shader unit's b0 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b0 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 1 | | 1 | ||
| Value of vertex shader unit's b1 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b1 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 2 | | 2 | ||
| Value of vertex shader unit's b2 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b2 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 3 | | 3 | ||
| Value of vertex shader unit's b3 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b3 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 4 | | 4 | ||
| Value of vertex shader unit's b4 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b4 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 5 | | 5 | ||
| Value of vertex shader unit's b5 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b5 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 6 | | 6 | ||
| Value of vertex shader unit's b6 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b6 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 7 | | 7 | ||
| Value of vertex shader unit's b7 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b7 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 8 | | 8 | ||
| Value of vertex shader unit's b8 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b8 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 9 | | 9 | ||
| Value of vertex shader unit's b9 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b9 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 10 | | 10 | ||
| Value of vertex shader unit's b10 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b10 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 11 | | 11 | ||
| Value of vertex shader unit's b11 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b11 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 12 | | 12 | ||
| Value of vertex shader unit's b12 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b12 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 13 | | 13 | ||
| Value of vertex shader unit's b13 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b13 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 14 | | 14 | ||
| Value of vertex shader unit's b14 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b14 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 15 | | 15 | ||
| Value of vertex shader unit's b15 boolean register. (0=true, 1=false) | | unsigned, Value of vertex shader unit's b15 boolean register. (0=true, 1=false) | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| Line 7,167: | Line 7,191: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for vertex shader's i0.x | | unsigned, Value for vertex shader's i0.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for vertex shader's i0.y | | unsigned, Value for vertex shader's i0.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for vertex shader's i0.z | | unsigned, Value for vertex shader's i0.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for vertex shader's i0.w | | unsigned, Value for vertex shader's i0.w | ||
|} | |} | ||
| Line 7,188: | Line 7,212: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for vertex shader's i1.x | | unsigned, Value for vertex shader's i1.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for vertex shader's i1.y | | unsigned, Value for vertex shader's i1.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for vertex shader's i1.z | | unsigned, Value for vertex shader's i1.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for vertex shader's i1.w | | unsigned, Value for vertex shader's i1.w | ||
|} | |} | ||
| Line 7,209: | Line 7,233: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for vertex shader's i2.x | | unsigned, Value for vertex shader's i2.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for vertex shader's i2.y | | unsigned, Value for vertex shader's i2.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for vertex shader's i2.z | | unsigned, Value for vertex shader's i2.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for vertex shader's i2.w | | unsigned, Value for vertex shader's i2.w | ||
|} | |} | ||
| Line 7,230: | Line 7,254: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Value for vertex shader's i3.x | | unsigned, Value for vertex shader's i3.x | ||
|- | |- | ||
| 8-15 | | 8-15 | ||
| Value for vertex shader's i3.y | | unsigned, Value for vertex shader's i3.y | ||
|- | |- | ||
| 16-23 | | 16-23 | ||
| Value for vertex shader's i3.z | | unsigned, Value for vertex shader's i3.z | ||
|- | |- | ||
| 24-31 | | 24-31 | ||
| Value for vertex shader's i3.w | | unsigned, Value for vertex shader's i3.w | ||
|} | |} | ||
| Line 7,251: | Line 7,275: | ||
|- | |- | ||
| 0-7 | | 0-7 | ||
| Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register) | | unsigned, Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register) | ||
|- | |- | ||
| 8-23 | | 8-23 | ||
| Line 7,269: | Line 7,293: | ||
|- | |- | ||
| 0-15 | | 0-15 | ||
| Vertex shader entrypoint, in words. | | unsigned, Vertex shader entrypoint, in words. | ||
|- | |- | ||
| 16-31 | | 16-31 | ||
| Line 7,284: | Line 7,308: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Index of vertex shader input register which the 1st attribute will be stored in. | | unsigned, Index of vertex shader input register which the 1st attribute will be stored in. | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Index of vertex shader input register which the 2nd attribute will be stored in. | | unsigned, Index of vertex shader input register which the 2nd attribute will be stored in. | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Index of vertex shader input register which the 3rd attribute will be stored in. | | unsigned, Index of vertex shader input register which the 3rd attribute will be stored in. | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Index of vertex shader input register which the 4th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 4th attribute will be stored in. | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Index of vertex shader input register which the 5th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 5th attribute will be stored in. | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Index of vertex shader input register which the 6th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 6th attribute will be stored in. | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Index of vertex shader input register which the 7th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 7th attribute will be stored in. | ||
|- | |- | ||
| 28-31 | | 28-31 | ||
| Index of vertex shader input register which the 8th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 8th attribute will be stored in. | ||
|} | |} | ||
| Line 7,318: | Line 7,342: | ||
|- | |- | ||
| 0-3 | | 0-3 | ||
| Index of vertex shader input register which the 9th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 9th attribute will be stored in. | ||
|- | |- | ||
| 4-7 | | 4-7 | ||
| Index of vertex shader input register which the 10th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 10th attribute will be stored in. | ||
|- | |- | ||
| 8-11 | | 8-11 | ||
| Index of vertex shader input register which the 11th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 11th attribute will be stored in. | ||
|- | |- | ||
| 12-15 | | 12-15 | ||
| Index of vertex shader input register which the 12th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 12th attribute will be stored in. | ||
|- | |- | ||
| 16-19 | | 16-19 | ||
| Index of vertex shader input register which the 13th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 13th attribute will be stored in. | ||
|- | |- | ||
| 20-23 | | 20-23 | ||
| Index of vertex shader input register which the 14th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 14th attribute will be stored in. | ||
|- | |- | ||
| 24-27 | | 24-27 | ||
| Index of vertex shader input register which the 15th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 15th attribute will be stored in. | ||
|- | |- | ||
| 28-31 | | 28-31 | ||
| Index of vertex shader input register which the 16th attribute will be stored in. | | unsigned, Index of vertex shader input register which the 16th attribute will be stored in. | ||
|} | |} | ||
| Line 7,352: | Line 7,376: | ||
|- | |- | ||
| 0 | | 0 | ||
| Enable bit for vertex shader's o0 output register. (1 = o0 enabled, 0 = o0 disabled) | | unsigned, Enable bit for vertex shader's o0 output register. (1 = o0 enabled, 0 = o0 disabled) | ||
|- | |- | ||
| 1 | | 1 | ||
| Enable bit for vertex shader's o1 output register. (1 = o1 enabled, 0 = o1 disabled) | | unsigned, Enable bit for vertex shader's o1 output register. (1 = o1 enabled, 0 = o1 disabled) | ||
|- | |- | ||
| 2 | | 2 | ||
| Enable bit for vertex shader's o2 output register. (1 = o2 enabled, 0 = o2 disabled) | | unsigned, Enable bit for vertex shader's o2 output register. (1 = o2 enabled, 0 = o2 disabled) | ||
|- | |- | ||
| 3 | | 3 | ||
| Enable bit for vertex shader's o3 output register. (1 = o3 enabled, 0 = o3 disabled) | | unsigned, Enable bit for vertex shader's o3 output register. (1 = o3 enabled, 0 = o3 disabled) | ||
|- | |- | ||
| 4 | | 4 | ||
| Enable bit for vertex shader's o4 output register. (1 = o4 enabled, 0 = o4 disabled) | | unsigned, Enable bit for vertex shader's o4 output register. (1 = o4 enabled, 0 = o4 disabled) | ||
|- | |- | ||
| 5 | | 5 | ||
| Enable bit for vertex shader's o5 output register. (1 = o5 enabled, 0 = o5 disabled) | | unsigned, Enable bit for vertex shader's o5 output register. (1 = o5 enabled, 0 = o5 disabled) | ||
|- | |- | ||
| 6 | | 6 | ||
| Enable bit for vertex shader's o6 output register. (1 = o6 enabled, 0 = o6 disabled) | | unsigned, Enable bit for vertex shader's o6 output register. (1 = o6 enabled, 0 = o6 disabled) | ||
|- | |- | ||
| 7 | | 7 | ||
| Enable bit for vertex shader's o7 output register. (1 = o7 enabled, 0 = o7 disabled) | | unsigned, Enable bit for vertex shader's o7 output register. (1 = o7 enabled, 0 = o7 disabled) | ||
|- | |- | ||
| 8 | | 8 | ||
| Enable bit for vertex shader's o8 output register. (1 = o8 enabled, 0 = o8 disabled) | | unsigned, Enable bit for vertex shader's o8 output register. (1 = o8 enabled, 0 = o8 disabled) | ||
|- | |- | ||
| 9 | | 9 | ||
| Enable bit for vertex shader's o9 output register. (1 = o9 enabled, 0 = o9 disabled) | | unsigned, Enable bit for vertex shader's o9 output register. (1 = o9 enabled, 0 = o9 disabled) | ||
|- | |- | ||
| 10 | | 10 | ||
| Enable bit for vertex shader's o10 output register. (1 = o10 enabled, 0 = o10 disabled) | | unsigned, Enable bit for vertex shader's o10 output register. (1 = o10 enabled, 0 = o10 disabled) | ||
|- | |- | ||
| 11 | | 11 | ||
| Enable bit for vertex shader's o11 output register. (1 = o11 enabled, 0 = o11 disabled) | | unsigned, Enable bit for vertex shader's o11 output register. (1 = o11 enabled, 0 = o11 disabled) | ||
|- | |- | ||
| 12 | | 12 | ||
| Enable bit for vertex shader's o12 output register. (1 = o12 enabled, 0 = o12 disabled) | | unsigned, Enable bit for vertex shader's o12 output register. (1 = o12 enabled, 0 = o12 disabled) | ||
|- | |- | ||
| 13 | | 13 | ||
| Enable bit for vertex shader's o13 output register. (1 = o13 enabled, 0 = o13 disabled) | | unsigned, Enable bit for vertex shader's o13 output register. (1 = o13 enabled, 0 = o13 disabled) | ||
|- | |- | ||
| 14 | | 14 | ||
| Enable bit for vertex shader's o14 output register. (1 = o14 enabled, 0 = o14 disabled) | | unsigned, Enable bit for vertex shader's o14 output register. (1 = o14 enabled, 0 = o14 disabled) | ||
|- | |- | ||
| 15 | | 15 | ||
| Enable bit for vertex shader's o15 output register. (1 = o15 enabled, 0 = o15 disabled) | | unsigned, Enable bit for vertex shader's o15 output register. (1 = o15 enabled, 0 = o15 disabled) | ||
|} | |} | ||
| Line 7,409: | Line 7,433: | ||
|- | |- | ||
| 0 | | 0 | ||
| Code data transfer end signal bit. | | unsigned, Code data transfer end signal bit. | ||
|} | |} | ||
| Line 7,421: | Line 7,445: | ||
|- | |- | ||
| 0-6 | | 0-6 | ||
| Target float vec4 vertex shader uniform ID for transfer. (range 0-95, where 0 = c0 and 95 = c95) | | unsigned, Target float vec4 vertex shader uniform ID for transfer. (range 0-95, where 0 = c0 and 95 = c95) | ||
|- | |- | ||
| 31 | | 31 | ||
| Float vec4 vertex shader uniform data transfer mode. (0 = float24, 1 = float32) | | unsigned, Float vec4 vertex shader uniform data transfer mode. (0 = float24, 1 = float32) | ||
|} | |} | ||
| Line 7,454: | Line 7,478: | ||
|- | |- | ||
| 0-11 | | 0-11 | ||
| Target vertex shader code offset for data transfer. | | unsigned, Target vertex shader code offset for data transfer. | ||
|} | |} | ||
| Line 7,468: | Line 7,492: | ||
|- | |- | ||
| 0-31 | | 0-31 | ||
| Vertex shader instruction data. | | unsigned, Vertex shader instruction data. | ||
|} | |} | ||
| Line 7,480: | Line 7,504: | ||
|- | |- | ||
| 0-6 | | 0-6 | ||
| Target vertex shader operand descriptor offset for data transfer. | | unsigned, Target vertex shader operand descriptor offset for data transfer. | ||
|} | |} | ||