GPU/Internal Registers: Difference between revisions

Smea (talk | contribs)
GPUREG_VSH_INTUNIFORM_I0 etc
Smea (talk | contribs)
GPUREG_GSH_INPUTBUFFER_CONFIG GPUREG_VSH_INPUTBUFFER_CONFIG
Line 3,274: Line 3,274:


This register is used to set the geometry shader's i3 integer register.
This register is used to set the geometry shader's i3 integer register.
==== GPUREG_GSH_INPUTBUFFER_CONFIG ====
{| class="wikitable" border="1"
! Bits
! Description
|-
| 0-7
| Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register)
|-
| 8-23
| Unknown. These bits typically aren't updated by games.
|-
| 24-31
| Unknown. This is typically set to 8 for geometry shaders.
|}
This register is used to configure the geometry shader's input buffer. In the context of a geometry shader, the stride parameter can be interpreted as the input primitive size in registers, though it is not a limit on the number of input registers which can be accessed from the geometry shader.


==== GPUREG_GSH_ENTRYPOINT ====
==== GPUREG_GSH_ENTRYPOINT ====
Line 3,435: Line 3,454:


This register is used to set the vertex shader's i3 integer register.
This register is used to set the vertex shader's i3 integer register.
==== GPUREG_VSH_INPUTBUFFER_CONFIG ====
{| class="wikitable" border="1"
! Bits
! Description
|-
| 0-7
| Input buffer stride minus 1, in float vec4 registers. (value 0 means a stride of 1 float vec4 register)
|-
| 8-23
| Unknown. These bits typically aren't updated by games.
|-
| 24-31
| Unknown. This is typically set to 0xA for vertex shaders.
|}
This register is used to configure the vertex shader's input buffer. In the context of a geometry shader, the stride parameter can be interpreted as the number of attributes per vertex.


==== GPUREG_VSH_ENTRYPOINT ====
==== GPUREG_VSH_ENTRYPOINT ====