r500/regs/bits/vap_prog_stream_cntl.txt

49 lines
4.3 KiB
Plaintext

Field Name Bits Default Description
DATA_TYPE_0 3:0 0x0 The data type for element 0
* These data types use the SIGNED and NORMALIZE flags described below.
POSSIBLE VALUES:
00 - FLOAT_1 (Single IEEE Float)
01 - FLOAT_2 (2 IEEE floats)
02 - FLOAT_3 (3 IEEE Floats)
03 - FLOAT_4 (4 IEEE Floats)
04 - BYTE * (1 DWORD w 4 8-bit fixed point values) (X = [7:0], Y = [15:8], Z = [23:16], W = [31:24])
05 - D3DCOLOR * (Same as BYTE except has X->Z,Z->X swap for D3D color def) (Z = [7:0], Y = [15:8], X = [23:16], W = [31:24])
06 - SHORT_2 * (1 DWORD with 2 16-bit fixed point values) (X = [15:0], Y = [31:16], Z = 0.0, W = 1.0)
07 - SHORT_4 * (2 DWORDS with 4(2 per dword) 16-bit fixed point values) (X = DW0 [15:0], Y = DW0 [31:16], Z = DW1 [15:0], W = DW1 [31:16])
08 - VECTOR_3_TTT * (1 DWORD with 3 10-bit fixed point values) (X = [9:0], Y = [19:10], Z = [29:20], W = 1.0)
09 - VECTOR_3_EET * (1 DWORD with 2 11-bit and 1 10-bit fixed point values) (X = [10:0], Y = [21:11], Z = [31:22], W = 1.0)
10 - FLOAT_8 (8 IEEE Floats) Sames as 2 FLOAT_4 but must use consecutive DST_VEC_LOC. Used to allow > 16 PSC for OGL path.
11 - FLT16_2 (1 DWORD with 2 16-bit floating point values (SE5M10 exp bias of 15, supports denormalized numbers)) (X = [15:0], Y = [31:16], Z = 0.0, W = 1.0)
12 - FLT16_4 (2 DWORDS with 4(2 per dword) 16-bit floating point values (SE5M10 exp bias of 15, supports denormalized numbers))) (X = DW0 [15:0], Y = DW0 [31:16], Z = DW1 [15:0], W = DW1 [31:16])
SKIP_DWORDS_0 7:4 0x0 The number of DWORDS to skip (discard) after
processing the current element.
DST_VEC_LOC_0 12:8 0x0 The vector address in the input memory to write this
element
LAST_VEC_0 13 0x0 If set, indicates the last vector of the current vertex
stream
SIGNED_0 14 0x0 Determines whether fixed point data types are unsigned
(0) or 2`s complement signed (1) data types. See
NORMALIZE for complete description of affect
NORMALIZE_0 15 0x0 Determines whether the fixed to floating point
conversion will normalize the value (i.e. fixed point
value is all fractional bits) or not (i.e. fixed point value is
all integer bits).
This table describes the fixed to float conversion results
SIGNED NORMALIZE FLT RANGE
0 0 0.0 - (2^n - 1) (i.e. 8-bit -> 0.0 - 255.0)
0 1 0.0 - 1.0
1 0 -2^(n-1) - (2^(n-1) - 1) (i.e. 8-bit -> -128.0 - 127.0)
1 1 -1.0 - 1.0
where n is the number of bits in the associated fixed
point value
For signed, normalize conversion, since the fixed point
range is not evenly distributed around 0, there are 3
different methods supported by R300. See the
VAP_PSC_SGN_NORM_CNTL description for details.
DATA_TYPE_1 19:16 0x0 Similar to DATA_TYPE_0
SKIP_DWORDS_1 23:20 0x0 See SKIP_DWORDS_0
DST_VEC_LOC_1 28:24 0x0 See DST_VEC_LOC_0
LAST_VEC_1 29 0x0 See LAST_VEC_0
SIGNED_1 30 0x0 See SIGNED_0
NORMALIZE_1 31 0x0 See NORMALIZE_0