49 lines
4.3 KiB
Plaintext
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
|