GPU/Internal Registers: Difference between revisions
Steveice10 (talk | contribs) |
Steveice10 (talk | contribs) |
||
Line 3,980: | Line 3,980: | ||
| unsigned, Culling mode | | unsigned, Culling mode | ||
|} | |} | ||
This register is used to configure the face culling mode. | |||
Culling mode values: | Culling mode values: | ||
Line 4,006: | Line 4,008: | ||
| float1.7.16, width / 2 | | float1.7.16, width / 2 | ||
|} | |} | ||
This register is used to configure the viewport width, along with GPUREG_VIEWPORT_INVW. | |||
=== GPUREG_VIEWPORT_INVW === | === GPUREG_VIEWPORT_INVW === | ||
Line 4,016: | Line 4,020: | ||
| float1.7.23, 2 / width | | float1.7.23, 2 / width | ||
|} | |} | ||
This register is used to configure the viewport width, along with GPUREG_VIEWPORT_WIDTH. | |||
=== GPUREG_VIEWPORT_HEIGHT === | === GPUREG_VIEWPORT_HEIGHT === | ||
Line 4,026: | Line 4,032: | ||
| float1.7.16, height / 2 | | float1.7.16, height / 2 | ||
|} | |} | ||
This register is used to configure the viewport height, along with GPUREG_VIEWPORT_INVH. | |||
=== GPUREG_VIEWPORT_INVH === | === GPUREG_VIEWPORT_INVH === | ||
Line 4,036: | Line 4,044: | ||
| float1.7.23, 2 / height | | float1.7.23, 2 / height | ||
|} | |} | ||
This register is used to configure the viewport height, along with GPUREG_VIEWPORT_HEIGHT. | |||
=== GPUREG_FRAGOP_CLIP === | === GPUREG_FRAGOP_CLIP === | ||
Line 4,046: | Line 4,056: | ||
| unsigned, Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
This register is used to enable clipping planes. | |||
=== GPUREG_FRAGOP_CLIP_DATA''i'' === | === GPUREG_FRAGOP_CLIP_DATA''i'' === | ||
Line 4,054: | Line 4,066: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| float1.7.16, Clipping plane coefficient | | float1.7.16, Clipping plane coefficient ''i'' | ||
|} | |} | ||
This register is used to configure clipping plane coefficients. | |||
=== GPUREG_DEPTHMAP_SCALE === | === GPUREG_DEPTHMAP_SCALE === | ||
Line 4,066: | Line 4,080: | ||
| float1.7.16, Near - Far | | float1.7.16, Near - Far | ||
|} | |} | ||
This register is used to configure the depth range scale. | |||
=== GPUREG_DEPTHMAP_OFFSET === | === GPUREG_DEPTHMAP_OFFSET === | ||
Line 4,074: | Line 4,090: | ||
|- | |- | ||
| 0-23 | | 0-23 | ||
| float1.7.16, Near | | float1.7.16, Near + Polygon Offset | ||
|} | |} | ||
This register is used to configure the depth range bias. | |||
=== GPUREG_SH_OUTMAP_TOTAL === | === GPUREG_SH_OUTMAP_TOTAL === | ||
Line 4,086: | Line 4,104: | ||
| unsigned, Number of following attributes | | unsigned, Number of following attributes | ||
|} | |} | ||
This register is used to configure the total shader output map attributes. | |||
=== GPUREG_SH_OUTMAP_O''i'' === | === GPUREG_SH_OUTMAP_O''i'' === | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 4,108: | Line 4,126: | ||
|} | |} | ||
These registers map components of the corresponding vertex shader output register to specific fixed-function semantics. | |||
Semantic values: | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 4,206: | Line 4,226: | ||
| unsigned, Early depth function | | unsigned, Early depth function | ||
|} | |} | ||
This register configures the early depth test function. | |||
Early depth function values: | Early depth function values: | ||
Line 4,235: | Line 4,257: | ||
| unsigned, Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
This register sets whether the early depth test is enabled. | |||
=== GPUREG_EARLYDEPTH_CLEAR === | === GPUREG_EARLYDEPTH_CLEAR === | ||
Line 4,245: | Line 4,269: | ||
| unsigned, Trigger (0 = idle, 1 = clear) | | unsigned, Trigger (0 = idle, 1 = clear) | ||
|} | |} | ||
This register triggers clearing the early depth data. | |||
=== GPUREG_SH_OUTATTR_MODE === | === GPUREG_SH_OUTATTR_MODE === | ||
Line 4,255: | Line 4,281: | ||
| unsigned, Use texture coordinates (0 = don't use, 1 = use) | | unsigned, Use texture coordinates (0 = don't use, 1 = use) | ||
|} | |} | ||
This register is used to configure the shader output attribute mode. | |||
=== GPUREG_SCISSORTEST_MODE === | === GPUREG_SCISSORTEST_MODE === | ||
Line 4,265: | Line 4,293: | ||
| unsigned, Enabled (0 = disabled, 3 = enabled) | | unsigned, Enabled (0 = disabled, 3 = enabled) | ||
|} | |} | ||
This register is used to enable scissor testing. | |||
=== GPUREG_SCISSORTEST_POS === | === GPUREG_SCISSORTEST_POS === | ||
Line 4,278: | Line 4,308: | ||
| unsigned, Y1 | | unsigned, Y1 | ||
|} | |} | ||
This register is used to configure the scissor test start position. | |||
=== GPUREG_SCISSORTEST_DIM === | === GPUREG_SCISSORTEST_DIM === | ||
Line 4,291: | Line 4,323: | ||
| unsigned, Y2 | | unsigned, Y2 | ||
|} | |} | ||
This register is used to configure the scissor test end position. | |||
=== GPUREG_VIEWPORT_XY === | === GPUREG_VIEWPORT_XY === | ||
Line 4,304: | Line 4,338: | ||
| unsigned, Y | | unsigned, Y | ||
|} | |} | ||
This register is used to configure the viewport position. | |||
=== GPUREG_EARLYDEPTH_DATA === | === GPUREG_EARLYDEPTH_DATA === | ||
Line 4,314: | Line 4,350: | ||
| unsigned, Clear value | | unsigned, Clear value | ||
|} | |} | ||
This register is used to configure the early depth clear value. | |||
=== GPUREG_DEPTHMAP_ENABLE === | === GPUREG_DEPTHMAP_ENABLE === | ||
Line 4,324: | Line 4,362: | ||
| unsigned, Enabled (0 = disabled, 1 = enabled) | | unsigned, Enabled (0 = disabled, 1 = enabled) | ||
|} | |} | ||
This register is used to enable depth range. | |||
=== GPUREG_RENDERBUF_DIM === | === GPUREG_RENDERBUF_DIM === | ||
Line 4,340: | Line 4,380: | ||
| 0x1 | | 0x1 | ||
|} | |} | ||
This register is used to configure the output framebuffer dimensions. | |||
=== GPUREG_SH_OUTATTR_CLOCK === | === GPUREG_SH_OUTATTR_CLOCK === | ||
Line 4,368: | Line 4,410: | ||
| unsigned, 'normquat' or 'view' component present (0 = absent, 1 = present) | | unsigned, 'normquat' or 'view' component present (0 = absent, 1 = present) | ||
|} | |} | ||
This register controls the clock supply to parts relating to certain attributes. | |||
== Texturing registers == | == Texturing registers == |