Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
b7702177
Commit
b7702177
authored
Jul 22, 2013
by
Rico Schüller
Committed by
Alexandre Julliard
Jul 24, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dx9/tests: Add ID3DXConstantTable matrix column array test.
parent
2bfd3e98
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
437 additions
and
0 deletions
+437
-0
shader.c
dlls/d3dx9_36/tests/shader.c
+437
-0
No files found.
dlls/d3dx9_36/tests/shader.c
View file @
b7702177
...
...
@@ -3227,6 +3227,420 @@ static const struct registerset_test registerset_test_column_bool_float[] =
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
};
/*
* fxc.exe /Tvs_3_0
*/
#if 0
bool3x2 cab[2] = {1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1};
int3x2 can[2] = {14, 15, 16, 71, 18, 19, 55, 63, 96, 96, 97, 13};
float3x2 caf[2] = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 1.2, 1.3, 1.4};
bool3x2 cabf[2] = {1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1};
int3x2 canf[2] = {300, 301, 303, 302, 304, 306, 350, 365, 654, 612, 326, 999};
float4 main(float4 pos : POSITION) : POSITION
{
float4 tmp = 0;
int i;
if (cab[1]._32) for (i = 0; i < can[1]._31; i++) tmp.x += pos.z * caf[1]._31 * cabf[1]._32;
else for (i = 0; i < can[1]._32; i++) tmp.y += pos.y * caf[1]._32 * canf[1]._32;
return tmp;
}
#endif
static
const
DWORD
registerset_blob_column_array
[]
=
{
0xfffe0300
,
0x0096fffe
,
0x42415443
,
0x0000001c
,
0x00000223
,
0xfffe0300
,
0x00000005
,
0x0000001c
,
0x00000100
,
0x0000021c
,
0x00000080
,
0x00000000
,
0x0000000c
,
0x00000084
,
0x00000094
,
0x000000c4
,
0x00040002
,
0x00000004
,
0x000000cc
,
0x000000dc
,
0x0000011c
,
0x00000002
,
0x00000004
,
0x00000120
,
0x00000130
,
0x00000170
,
0x00000001
,
0x0000000c
,
0x00000174
,
0x00000184
,
0x000001c4
,
0x00080002
,
0x00000004
,
0x000001cc
,
0x000001dc
,
0x00626163
,
0x00010003
,
0x00020003
,
0x00000002
,
0x00000000
,
0xffffffff
,
0x00000000
,
0xffffffff
,
0xffffffff
,
0x00000000
,
0xffffffff
,
0xffffffff
,
0x00000000
,
0xffffffff
,
0xffffffff
,
0x00000000
,
0xffffffff
,
0x66626163
,
0xababab00
,
0x00010003
,
0x00020003
,
0x00000002
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00666163
,
0x00030003
,
0x00020003
,
0x00000002
,
0x00000000
,
0x3f8ccccd
,
0x40533333
,
0x40b00000
,
0x00000000
,
0x400ccccd
,
0x408ccccd
,
0x40d33333
,
0x00000000
,
0x40f66666
,
0x411e6666
,
0x3fa66666
,
0x00000000
,
0x410ccccd
,
0x3f99999a
,
0x3fb33333
,
0x00000000
,
0x006e6163
,
0x00020003
,
0x00020003
,
0x00000002
,
0x00000000
,
0x0000000e
,
0x00000010
,
0x00000012
,
0x00000000
,
0x0000000f
,
0x00000047
,
0x00000013
,
0x00000000
,
0x00000037
,
0x00000060
,
0x00000061
,
0x00000000
,
0x0000003f
,
0x00000060
,
0x0000000d
,
0x00000000
,
0x666e6163
,
0xababab00
,
0x00020003
,
0x00020003
,
0x00000002
,
0x00000000
,
0x43960000
,
0x43978000
,
0x43980000
,
0x00000000
,
0x43968000
,
0x43970000
,
0x43990000
,
0x00000000
,
0x43af0000
,
0x44238000
,
0x43a30000
,
0x00000000
,
0x43b68000
,
0x44190000
,
0x4479c000
,
0x00000000
,
0x335f7376
,
0x4d00305f
,
0x6f726369
,
0x74666f73
,
0x29522820
,
0x534c4820
,
0x6853204c
,
0x72656461
,
0x6d6f4320
,
0x656c6970
,
0x2e392072
,
0x392e3932
,
0x332e3235
,
0x00313131
,
0x05000051
,
0xa00f000c
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x0200001f
,
0x80000000
,
0x900f0000
,
0x0200001f
,
0x80000000
,
0xe00f0000
,
0x01000028
,
0xe0e4080b
,
0x03000005
,
0x80010000
,
0xa0aa0002
,
0x90aa0000
,
0x02000001
,
0x80010001
,
0xa000000c
,
0x01000026
,
0xf0e4000a
,
0x04000004
,
0x80010001
,
0x80000000
,
0xa0aa0007
,
0x80000001
,
0x00000027
,
0x02000001
,
0x80020001
,
0xa000000c
,
0x0000002a
,
0x03000005
,
0x80010000
,
0xa0aa0003
,
0x90550000
,
0x02000001
,
0x80020001
,
0xa000000c
,
0x01000026
,
0xf0e4000b
,
0x04000004
,
0x80020001
,
0x80000000
,
0xa0aa000b
,
0x80550001
,
0x00000027
,
0x02000001
,
0x80010001
,
0xa000000c
,
0x0000002b
,
0x02000001
,
0xe0030000
,
0x80e40001
,
0x02000001
,
0xe00c0000
,
0xa000000c
,
0x0000ffff
,
};
static
const
struct
registerset_constants
registerset_constants_column_array_float
[]
=
{
{
"caf"
,
{
"caf"
,
D3DXRS_FLOAT4
,
0
,
4
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_FLOAT
,
3
,
2
,
2
,
0
,
48
,
NULL
},
76
},
{
"caf[0]"
,
{
"caf"
,
D3DXRS_FLOAT4
,
0
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_FLOAT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
76
},
{
"caf[1]"
,
{
"caf"
,
D3DXRS_FLOAT4
,
2
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_FLOAT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
84
},
};
static
const
struct
registerset_test
registerset_blob_column_array_float
[]
=
{
{
SetInt
},
{
SetBool
},
{
SetFloat
},
{
SetIntArray
,
1
,
0
,
5
},
{
SetIntArray
,
1
,
6
,
11
,
8
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
}},
{
SetIntArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
,
0x00000000
,
0x41000000
,
0x41200000
,
0x41400000
,
0x00000000
,
0x41100000
,
0x41300000
,
0x41500000
}},
{
SetBoolArray
,
1
,
0
,
5
},
{
SetBoolArray
,
1
,
6
,
11
,
8
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetBoolArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetFloatArray
,
0
,
0
,
5
},
{
SetFloatArray
,
0
,
6
,
11
,
8
,
{
0x40000123
,
0x40800123
,
0x40c00123
,
0x00000000
,
0x00000000
,
0x40a00123
,
0x40e00123
}},
{
SetFloatArray
,
0
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x40000123
,
0x40800123
,
0x40c00123
,
0x00000000
,
0x00000000
,
0x40a00123
,
0x40e00123
,
0x00000000
,
0x41000123
,
0x41200123
,
0x41400123
,
0x00000000
,
0x41100123
,
0x41300123
,
0x41500123
}},
{
SetValue
,
0
,
0
,
23
},
{
SetValue
,
0
,
24
,
47
,
8
,
{
0x40000123
,
0x40800123
,
0x40c00123
,
0x00000000
,
0x00000000
,
0x40a00123
,
0x40e00123
}},
{
SetValue
,
0
,
48
,
REGISTER_OUTPUT_SIZE
*
4
,
16
,
{
0x40000123
,
0x40800123
,
0x40c00123
,
0x00000000
,
0x00000000
,
0x40a00123
,
0x40e00123
,
0x00000000
,
0x41000123
,
0x41200123
,
0x41400123
,
0x00000000
,
0x41100123
,
0x41300123
,
0x41500123
}},
{
SetVector
},
{
SetVectorArray
,
0
,
0
,
1
},
{
SetVectorArray
,
0
,
2
,
3
,
8
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
}},
{
SetVectorArray
,
0
,
4
,
REGISTER_OUTPUT_SIZE
/
4
,
16
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
,
0x00000000
,
0x41600123
,
0x41a00123
,
0x00000000
,
0x00000000
,
0x41700123
,
0x41b00123
,
0x41f00123
}},
{
SetMatrix
,
0
,
0
,
0
,
8
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
}},
{
SetMatrixArray
},
{
SetMatrixArray
,
0
,
1
,
1
,
8
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
}},
{
SetMatrixArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
,
0x00000000
,
0x41a00123
,
0x00000000
,
0x00000000
,
0x00000000
,
0x41b00123
,
0x41f00123
,
0x42300123
}},
{
SetMatrixTranspose
,
0
,
0
,
0
,
8
,
{
0x40000123
,
0x00000000
,
0x40800123
,
0x00000000
,
0x40c00123
,
0x40e00123
,
0x41000123
}},
{
SetMatrixTransposeArray
},
{
SetMatrixTransposeArray
,
0
,
1
,
1
,
8
,
{
0x40000123
,
0x00000000
,
0x40800123
,
0x00000000
,
0x40c00123
,
0x40e00123
,
0x41000123
}},
{
SetMatrixTransposeArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000123
,
0x00000000
,
0x40800123
,
0x00000000
,
0x40c00123
,
0x40e00123
,
0x41000123
,
0x00000000
,
0x41a00123
,
0x41b00123
,
0x41c00123
,
0x00000000
,
0x00000000
,
0x41f00123
,
0x42000123
}},
{
SetMatrixPointerArray
},
{
SetMatrixPointerArray
,
0
,
1
,
1
,
8
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
}},
{
SetMatrixPointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000123
,
0x40c00123
,
0x41200123
,
0x00000000
,
0x00000000
,
0x40e00123
,
0x41300123
,
0x00000000
,
0x41900123
,
0x41d00123
,
0x42100123
,
0x00000000
,
0x41a00123
,
0x00000000
,
0x00000000
}},
{
SetMatrixTransposePointerArray
},
{
SetMatrixTransposePointerArray
,
0
,
1
,
1
,
8
,
{
0x40000123
,
0x00000000
,
0x40800123
,
0x00000000
,
0x40c00123
,
0x40e00123
,
0x41000123
}},
{
SetMatrixTransposePointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000123
,
0x00000000
,
0x40800123
,
0x00000000
,
0x40c00123
,
0x40e00123
,
0x41000123
,
0x00000000
,
0x41900123
,
0x41a00123
,
0x41b00123
,
0x00000000
,
0x41d00123
,
0x00000000
,
0x41f00123
}},
};
static
const
struct
registerset_constants
registerset_constants_column_array_int
[]
=
{
{
"can"
,
{
"can"
,
D3DXRS_INT4
,
0
,
12
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
2
,
0
,
48
,
NULL
},
97
},
{
"can[0]"
,
{
"can"
,
D3DXRS_INT4
,
0
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
97
},
{
"can[1]"
,
{
"can"
,
D3DXRS_INT4
,
2
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
105
},
};
static
const
struct
registerset_test
registerset_blob_column_array_int
[]
=
{
{
SetInt
},
{
SetBool
},
{
SetFloat
},
{
SetIntArray
,
1
,
0
,
5
},
{
SetIntArray
,
1
,
6
,
11
,
8
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
}},
{
SetIntArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
,
0x00000000
,
0x00000008
,
0x0000000a
,
0x0000000c
,
0x00000000
,
0x00000009
,
0x0000000b
,
0x0000000d
}},
{
SetBoolArray
,
1
,
0
,
5
},
{
SetBoolArray
,
1
,
6
,
11
,
8
,
{
0x00000001
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetBoolArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x00000001
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetFloatArray
,
0
,
0
,
5
},
{
SetFloatArray
,
0
,
6
,
11
,
8
,
{
0x00000002
,
0x00000004
,
0x00000006
,
0x00000000
,
0x00000000
,
0x00000005
,
0x00000007
}},
{
SetFloatArray
,
0
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x00000002
,
0x00000004
,
0x00000006
,
0x00000000
,
0x00000000
,
0x00000005
,
0x00000007
,
0x00000000
,
0x00000008
,
0x0000000a
,
0x0000000c
,
0x00000000
,
0x00000009
,
0x0000000b
,
0x0000000d
}},
{
SetValue
,
1
,
0
,
23
},
{
SetValue
,
1
,
24
,
47
,
8
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
}},
{
SetValue
,
1
,
48
,
REGISTER_OUTPUT_SIZE
*
4
,
16
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
,
0x00000000
,
0x00000008
,
0x0000000a
,
0x0000000c
,
0x00000000
,
0x00000009
,
0x0000000b
,
0x0000000d
}},
{
SetVector
},
{
SetVectorArray
,
0
,
0
,
1
},
{
SetVectorArray
,
0
,
2
,
3
,
8
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
}},
{
SetVectorArray
,
0
,
4
,
REGISTER_OUTPUT_SIZE
/
4
,
16
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
,
0x00000000
,
0x0000000e
,
0x00000014
,
0x00000000
,
0x00000000
,
0x0000000f
,
0x00000016
,
0x0000001e
}},
{
SetMatrix
,
0
,
0
,
0
,
8
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
}},
{
SetMatrixArray
},
{
SetMatrixArray
,
0
,
1
,
1
,
8
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
}},
{
SetMatrixArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
,
0x00000000
,
0x00000014
,
0x00000000
,
0x00000000
,
0x00000000
,
0x00000016
,
0x0000001e
,
0x0000002c
}},
{
SetMatrixTranspose
,
0
,
0
,
0
,
8
,
{
0x00000002
,
0x00000000
,
0x00000004
,
0x00000000
,
0x00000006
,
0x00000007
,
0x00000008
}},
{
SetMatrixTransposeArray
},
{
SetMatrixTransposeArray
,
0
,
1
,
1
,
8
,
{
0x00000002
,
0x00000000
,
0x00000004
,
0x00000000
,
0x00000006
,
0x00000007
,
0x00000008
}},
{
SetMatrixTransposeArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x00000002
,
0x00000000
,
0x00000004
,
0x00000000
,
0x00000006
,
0x00000007
,
0x00000008
,
0x00000000
,
0x00000014
,
0x00000016
,
0x00000018
,
0x00000000
,
0x00000000
,
0x0000001e
,
0x00000020
}},
{
SetMatrixPointerArray
},
{
SetMatrixPointerArray
,
0
,
1
,
1
,
8
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
}},
{
SetMatrixPointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x00000002
,
0x00000006
,
0x0000000a
,
0x00000000
,
0x00000000
,
0x00000007
,
0x0000000b
,
0x00000000
,
0x00000012
,
0x0000001a
,
0x00000024
,
0x00000000
,
0x00000014
,
0x00000000
,
0x00000000
}},
{
SetMatrixTransposePointerArray
},
{
SetMatrixTransposePointerArray
,
0
,
1
,
1
,
8
,
{
0x00000002
,
0x00000000
,
0x00000004
,
0x00000000
,
0x00000006
,
0x00000007
,
0x00000008
}},
{
SetMatrixTransposePointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x00000002
,
0x00000000
,
0x00000004
,
0x00000000
,
0x00000006
,
0x00000007
,
0x00000008
,
0x00000000
,
0x00000012
,
0x00000014
,
0x00000016
,
0x00000000
,
0x0000001a
,
0x00000000
,
0x0000001e
}},
};
static
const
struct
registerset_constants
registerset_constants_column_array_bool
[]
=
{
{
"cab"
,
{
"cab"
,
D3DXRS_BOOL
,
0
,
12
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
2
,
0
,
48
,
NULL
},
37
},
{
"cab[0]"
,
{
"cab"
,
D3DXRS_BOOL
,
0
,
6
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
1
,
0
,
24
,
NULL
},
37
},
{
"cab[1]"
,
{
"cab"
,
D3DXRS_BOOL
,
6
,
6
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
1
,
0
,
24
,
NULL
},
43
},
};
static
const
struct
registerset_test
registerset_test_column_array_bool
[]
=
{
{
SetInt
},
{
SetBool
},
{
SetFloat
},
{
SetIntArray
,
1
,
0
,
5
},
{
SetIntArray
,
1
,
6
,
11
,
6
,
{
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetIntArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
12
,
{
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetBoolArray
,
1
,
0
,
5
},
{
SetBoolArray
,
1
,
6
,
11
,
6
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
}},
{
SetBoolArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
12
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
,
0x00000008
,
0x0000000a
,
0x0000000c
,
0x00000009
,
0x0000000b
,
0x0000000d
}},
{
SetFloatArray
,
0
,
0
,
5
},
{
SetFloatArray
,
0
,
6
,
11
,
6
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetFloatArray
,
0
,
12
,
REGISTER_OUTPUT_SIZE
,
12
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetValue
,
1
,
0
,
23
},
{
SetValue
,
1
,
24
,
47
,
6
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
}},
{
SetValue
,
1
,
48
,
REGISTER_OUTPUT_SIZE
*
4
,
12
,
{
0x00000002
,
0x00000004
,
0x00000000
,
0x00000003
,
0x00000005
,
0x00000007
,
0x00000008
,
0x0000000a
,
0x0000000c
,
0x00000009
,
0x0000000b
,
0x0000000d
}},
{
SetVector
},
{
SetVectorArray
,
0
,
0
,
1
},
{
SetVectorArray
,
0
,
2
,
3
,
6
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetVectorArray
,
0
,
4
,
REGISTER_OUTPUT_SIZE
/
4
,
12
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetMatrix
,
0
,
0
,
0
,
6
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetMatrixArray
},
{
SetMatrixArray
,
0
,
1
,
1
,
6
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetMatrixArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
12
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetMatrixTranspose
,
0
,
0
,
0
,
6
,
{
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetMatrixTransposeArray
},
{
SetMatrixTransposeArray
,
0
,
1
,
1
,
6
,
{
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetMatrixTransposeArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
12
,
{
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetMatrixPointerArray
},
{
SetMatrixPointerArray
,
0
,
1
,
1
,
6
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
}},
{
SetMatrixPointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
12
,
{
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000000
}},
{
SetMatrixTransposePointerArray
},
{
SetMatrixTransposePointerArray
,
0
,
1
,
1
,
6
,
{
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
}},
{
SetMatrixTransposePointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
12
,
{
0x00000001
,
0x00000000
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000001
,
0x00000000
,
0x00000001
}},
};
static
const
struct
registerset_constants
registerset_constants_column_array_int_float
[]
=
{
{
"canf"
,
{
"canf"
,
D3DXRS_FLOAT4
,
8
,
4
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
2
,
0
,
48
,
NULL
},
119
},
{
"canf[0]"
,
{
"canf"
,
D3DXRS_FLOAT4
,
8
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
119
},
{
"canf[1]"
,
{
"canf"
,
D3DXRS_FLOAT4
,
10
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_INT
,
3
,
2
,
1
,
0
,
24
,
NULL
},
127
},
};
static
const
struct
registerset_test
registerset_test_column_array_int_float
[]
=
{
{
SetInt
},
{
SetBool
},
{
SetFloat
},
{
SetIntArray
,
1
,
0
,
5
},
{
SetIntArray
,
1
,
6
,
11
,
8
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
}},
{
SetIntArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
,
0x00000000
,
0x41000000
,
0x41200000
,
0x41400000
,
0x00000000
,
0x41100000
,
0x41300000
,
0x41500000
}},
{
SetBoolArray
,
1
,
0
,
5
},
{
SetBoolArray
,
1
,
6
,
11
,
8
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetBoolArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetFloatArray
,
0
,
0
,
5
},
{
SetFloatArray
,
0
,
6
,
11
,
8
,
{
0x40000000
,
0x40800000
,
0x40c00000
,
0x00000000
,
0x00000000
,
0x40a00000
,
0x40e00000
}},
{
SetFloatArray
,
0
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x40000000
,
0x40800000
,
0x40c00000
,
0x00000000
,
0x00000000
,
0x40a00000
,
0x40e00000
,
0x00000000
,
0x41000000
,
0x41200000
,
0x41400000
,
0x00000000
,
0x41100000
,
0x41300000
,
0x41500000
}},
{
SetValue
,
1
,
0
,
23
},
{
SetValue
,
1
,
24
,
47
,
8
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
}},
{
SetValue
,
1
,
48
,
REGISTER_OUTPUT_SIZE
*
4
,
16
,
{
0x40000000
,
0x40800000
,
0x00000000
,
0x00000000
,
0x40400000
,
0x40a00000
,
0x40e00000
,
0x00000000
,
0x41000000
,
0x41200000
,
0x41400000
,
0x00000000
,
0x41100000
,
0x41300000
,
0x41500000
}},
{
SetVector
},
{
SetVectorArray
,
0
,
0
,
1
},
/*16*/
{
SetVectorArray
,
0
,
2
,
3
,
8
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
}},
{
SetVectorArray
,
0
,
4
,
REGISTER_OUTPUT_SIZE
/
4
,
16
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
,
0x00000000
,
0x41600000
,
0x41a00000
,
0x00000000
,
0x00000000
,
0x41700000
,
0x41b00000
,
0x41f00000
}},
{
SetMatrix
,
0
,
0
,
0
,
8
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
}},
{
SetMatrixArray
},
{
SetMatrixArray
,
0
,
1
,
1
,
8
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
}},
{
SetMatrixArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
,
0x00000000
,
0x41a00000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x41b00000
,
0x41f00000
,
0x42300000
}},
{
SetMatrixTranspose
,
0
,
0
,
0
,
8
,
{
0x40000000
,
0x00000000
,
0x40800000
,
0x00000000
,
0x40c00000
,
0x40e00000
,
0x41000000
}},
{
SetMatrixTransposeArray
},
{
SetMatrixTransposeArray
,
0
,
1
,
1
,
8
,
{
0x40000000
,
0x00000000
,
0x40800000
,
0x00000000
,
0x40c00000
,
0x40e00000
,
0x41000000
}},
{
SetMatrixTransposeArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000000
,
0x00000000
,
0x40800000
,
0x00000000
,
0x40c00000
,
0x40e00000
,
0x41000000
,
0x00000000
,
0x41a00000
,
0x41b00000
,
0x41c00000
,
0x00000000
,
0x00000000
,
0x41f00000
,
0x42000000
}},
{
SetMatrixPointerArray
},
{
SetMatrixPointerArray
,
0
,
1
,
1
,
8
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
}},
{
SetMatrixPointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000000
,
0x40c00000
,
0x41200000
,
0x00000000
,
0x00000000
,
0x40e00000
,
0x41300000
,
0x00000000
,
0x41900000
,
0x41d00000
,
0x42100000
,
0x00000000
,
0x41a00000
,
0x00000000
,
0x00000000
}},
{
SetMatrixTransposePointerArray
},
{
SetMatrixTransposePointerArray
,
0
,
1
,
1
,
8
,
{
0x40000000
,
0x00000000
,
0x40800000
,
0x00000000
,
0x40c00000
,
0x40e00000
,
0x41000000
}},
{
SetMatrixTransposePointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x40000000
,
0x00000000
,
0x40800000
,
0x00000000
,
0x40c00000
,
0x40e00000
,
0x41000000
,
0x00000000
,
0x41900000
,
0x41a00000
,
0x41b00000
,
0x00000000
,
0x41d00000
,
0x00000000
,
0x41f00000
}},
};
static
const
struct
registerset_constants
registerset_constants_column_array_bool_float
[]
=
{
{
"cabf"
,
{
"cabf"
,
D3DXRS_FLOAT4
,
4
,
4
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
2
,
0
,
48
,
NULL
},
55
},
{
"cabf[0]"
,
{
"cabf"
,
D3DXRS_FLOAT4
,
4
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
1
,
0
,
24
,
NULL
},
55
},
{
"cabf[1]"
,
{
"cabf"
,
D3DXRS_FLOAT4
,
6
,
2
,
D3DXPC_MATRIX_COLUMNS
,
D3DXPT_BOOL
,
3
,
2
,
1
,
0
,
24
,
NULL
},
63
},
};
static
const
struct
registerset_test
registerset_test_column_array_bool_float
[]
=
{
{
SetInt
},
{
SetBool
},
{
SetFloat
},
{
SetIntArray
,
1
,
0
,
5
},
{
SetIntArray
,
1
,
6
,
11
,
8
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetIntArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetBoolArray
,
1
,
0
,
5
},
{
SetBoolArray
,
1
,
6
,
11
,
8
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetBoolArray
,
1
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetFloatArray
,
0
,
0
,
5
},
{
SetFloatArray
,
0
,
6
,
11
,
8
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetFloatArray
,
0
,
12
,
REGISTER_OUTPUT_SIZE
,
16
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetValue
,
1
,
0
,
23
},
{
SetValue
,
1
,
24
,
47
,
8
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetValue
,
1
,
48
,
REGISTER_OUTPUT_SIZE
*
4
,
16
,
{
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetVector
},
{
SetVectorArray
,
0
,
0
,
1
},
{
SetVectorArray
,
0
,
2
,
3
,
8
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetVectorArray
,
0
,
4
,
REGISTER_OUTPUT_SIZE
/
4
,
16
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrix
,
0
,
0
,
0
,
8
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixArray
},
{
SetMatrixArray
,
0
,
1
,
1
,
8
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixTranspose
,
0
,
0
,
0
,
8
,
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixTransposeArray
},
{
SetMatrixTransposeArray
,
0
,
1
,
1
,
8
,
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixTransposeArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixPointerArray
},
{
SetMatrixPointerArray
,
0
,
1
,
1
,
8
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixPointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x00000000
}},
{
SetMatrixTransposePointerArray
},
{
SetMatrixTransposePointerArray
,
0
,
1
,
1
,
8
,
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
}},
{
SetMatrixTransposePointerArray
,
0
,
2
,
REGISTER_OUTPUT_SIZE
/
16
,
16
,
{
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x3f800000
,
0x3f800000
,
0x00000000
,
0x3f800000
,
0x00000000
,
0x3f800000
}},
};
static
const
struct
{
const
char
*
name
;
...
...
@@ -3352,6 +3766,29 @@ registerset_data[] =
sizeof
(
registerset_test_column_int_float
)
/
sizeof
(
*
registerset_test_column_int_float
),
registerset_constants_column_int_float
,
sizeof
(
registerset_constants_column_int_float
)
/
sizeof
(
*
registerset_constants_column_int_float
)},
/* matrix column array */
{
"float c3x2 [2]"
,
"caf"
,
0
,
D3DXRS_FLOAT4
,
registerset_blob_column_array
,
registerset_blob_column_array_float
,
sizeof
(
registerset_blob_column_array_float
)
/
sizeof
(
*
registerset_blob_column_array_float
),
registerset_constants_column_array_float
,
sizeof
(
registerset_constants_column_array_float
)
/
sizeof
(
*
registerset_constants_column_array_float
)},
{
"int c3x2 [2]"
,
"can"
,
0
,
D3DXRS_INT4
,
registerset_blob_column_array
,
registerset_blob_column_array_int
,
sizeof
(
registerset_blob_column_array_int
)
/
sizeof
(
*
registerset_blob_column_array_int
),
registerset_constants_column_array_int
,
sizeof
(
registerset_constants_column_array_int
)
/
sizeof
(
*
registerset_constants_column_array_int
)},
{
"bool c3x2 [2]"
,
"cab"
,
0
,
D3DXRS_BOOL
,
registerset_blob_column_array
,
registerset_test_column_array_bool
,
sizeof
(
registerset_test_column_array_bool
)
/
sizeof
(
*
registerset_test_column_array_bool
),
registerset_constants_column_array_bool
,
sizeof
(
registerset_constants_column_array_bool
)
/
sizeof
(
*
registerset_constants_column_array_bool
)},
{
"bool float c3x2 [2]"
,
"cabf"
,
16
,
D3DXRS_FLOAT4
,
registerset_blob_column_array
,
registerset_test_column_array_bool_float
,
sizeof
(
registerset_test_column_array_bool_float
)
/
sizeof
(
*
registerset_test_column_array_bool_float
),
registerset_constants_column_array_bool_float
,
sizeof
(
registerset_constants_column_array_bool_float
)
/
sizeof
(
*
registerset_constants_column_array_bool_float
)},
{
"int float c3x2 [2]"
,
"canf"
,
32
,
D3DXRS_FLOAT4
,
registerset_blob_column_array
,
registerset_test_column_array_int_float
,
sizeof
(
registerset_test_column_array_int_float
)
/
sizeof
(
*
registerset_test_column_array_int_float
),
registerset_constants_column_array_int_float
,
sizeof
(
registerset_constants_column_array_int_float
)
/
sizeof
(
*
registerset_constants_column_array_int_float
)},
};
static
void
registerset_clear
(
IDirect3DDevice9
*
device
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment