diff options
Diffstat (limited to 'contrib/DirectX-Headers/include/directx/d3dcommon.idl')
-rw-r--r-- | contrib/DirectX-Headers/include/directx/d3dcommon.idl | 911 |
1 files changed, 911 insertions, 0 deletions
diff --git a/contrib/DirectX-Headers/include/directx/d3dcommon.idl b/contrib/DirectX-Headers/include/directx/d3dcommon.idl new file mode 100644 index 0000000..c7bf623 --- /dev/null +++ b/contrib/DirectX-Headers/include/directx/d3dcommon.idl | |||
@@ -0,0 +1,911 @@ | |||
1 | /*------------------------------------------------------------------------------------- | ||
2 | * | ||
3 | * Copyright (c) Microsoft Corporation | ||
4 | * Licensed under the MIT license | ||
5 | * | ||
6 | *-------------------------------------------------------------------------------------*/ | ||
7 | import "OAIdl.idl"; | ||
8 | import "OCIdl.idl"; | ||
9 | |||
10 | //---------------------------------------------------------------------------- | ||
11 | // | ||
12 | // D3D-version-neutral runtime information. | ||
13 | // | ||
14 | //---------------------------------------------------------------------------- | ||
15 | |||
16 | typedef enum D3D_DRIVER_TYPE | ||
17 | { | ||
18 | D3D_DRIVER_TYPE_UNKNOWN, | ||
19 | D3D_DRIVER_TYPE_HARDWARE, | ||
20 | D3D_DRIVER_TYPE_REFERENCE, | ||
21 | D3D_DRIVER_TYPE_NULL, | ||
22 | D3D_DRIVER_TYPE_SOFTWARE, | ||
23 | D3D_DRIVER_TYPE_WARP, | ||
24 | } D3D_DRIVER_TYPE; | ||
25 | |||
26 | typedef enum D3D_FEATURE_LEVEL | ||
27 | { | ||
28 | D3D_FEATURE_LEVEL_1_0_CORE = 0x1000, | ||
29 | D3D_FEATURE_LEVEL_9_1 = 0x9100, | ||
30 | D3D_FEATURE_LEVEL_9_2 = 0x9200, | ||
31 | D3D_FEATURE_LEVEL_9_3 = 0x9300, | ||
32 | D3D_FEATURE_LEVEL_10_0 = 0xa000, | ||
33 | D3D_FEATURE_LEVEL_10_1 = 0xa100, | ||
34 | D3D_FEATURE_LEVEL_11_0 = 0xb000, | ||
35 | D3D_FEATURE_LEVEL_11_1 = 0xb100, | ||
36 | D3D_FEATURE_LEVEL_12_0 = 0xc000, | ||
37 | D3D_FEATURE_LEVEL_12_1 = 0xc100, | ||
38 | D3D_FEATURE_LEVEL_12_2 = 0xc200 | ||
39 | } D3D_FEATURE_LEVEL; | ||
40 | |||
41 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048") | ||
42 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096") | ||
43 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048") | ||
44 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096") | ||
45 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512") | ||
46 | cpp_quote("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096") | ||
47 | cpp_quote("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256") | ||
48 | cpp_quote("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2") | ||
49 | cpp_quote("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535") | ||
50 | cpp_quote("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575") | ||
51 | cpp_quote("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1") | ||
52 | cpp_quote("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4") | ||
53 | cpp_quote("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128") | ||
54 | cpp_quote("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048") | ||
55 | cpp_quote("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192") | ||
56 | |||
57 | typedef enum D3D_PRIMITIVE_TOPOLOGY | ||
58 | { | ||
59 | D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, | ||
60 | D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, | ||
61 | D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, | ||
62 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, | ||
63 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, | ||
64 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, | ||
65 | // 6 is reserved for legacy triangle fans | ||
66 | // Adjacency values should be equal to (0x8 & non-adjacency): | ||
67 | D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, | ||
68 | D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, | ||
69 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, | ||
70 | D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, | ||
71 | D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, | ||
72 | D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, | ||
73 | D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, | ||
74 | D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, | ||
75 | D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, | ||
76 | D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, | ||
77 | D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, | ||
78 | D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, | ||
79 | D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, | ||
80 | D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, | ||
81 | D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, | ||
82 | D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, | ||
83 | D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, | ||
84 | D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, | ||
85 | D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, | ||
86 | D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, | ||
87 | D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, | ||
88 | D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, | ||
89 | D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, | ||
90 | D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, | ||
91 | D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, | ||
92 | D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, | ||
93 | D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, | ||
94 | D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, | ||
95 | D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, | ||
96 | D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, | ||
97 | D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, | ||
98 | D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, | ||
99 | D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, | ||
100 | D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, | ||
101 | D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, | ||
102 | D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, | ||
103 | |||
104 | D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
105 | D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
106 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
107 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
108 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
109 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
110 | D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
111 | D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
112 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
113 | D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
114 | |||
115 | D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED, | ||
116 | D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST, | ||
117 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST, | ||
118 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP, | ||
119 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, | ||
120 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, | ||
121 | D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ, | ||
122 | D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ, | ||
123 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ, | ||
124 | D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ, | ||
125 | D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST, | ||
126 | D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST, | ||
127 | D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST, | ||
128 | D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST, | ||
129 | D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST, | ||
130 | D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST, | ||
131 | D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST, | ||
132 | D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST, | ||
133 | D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST, | ||
134 | D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST, | ||
135 | D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST, | ||
136 | D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST, | ||
137 | D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST, | ||
138 | D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST, | ||
139 | D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST, | ||
140 | D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST, | ||
141 | D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST, | ||
142 | D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST, | ||
143 | D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST, | ||
144 | D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST, | ||
145 | D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST, | ||
146 | D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST, | ||
147 | D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST, | ||
148 | D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST, | ||
149 | D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST, | ||
150 | D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST, | ||
151 | D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST, | ||
152 | D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST, | ||
153 | D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST, | ||
154 | D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST, | ||
155 | D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST, | ||
156 | D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST, | ||
157 | } D3D_PRIMITIVE_TOPOLOGY; | ||
158 | |||
159 | typedef enum D3D_PRIMITIVE | ||
160 | { | ||
161 | D3D_PRIMITIVE_UNDEFINED = 0, | ||
162 | D3D_PRIMITIVE_POINT = 1, | ||
163 | D3D_PRIMITIVE_LINE = 2, | ||
164 | D3D_PRIMITIVE_TRIANGLE = 3, | ||
165 | // Adjacency values should be equal to (0x4 & non-adjacency): | ||
166 | D3D_PRIMITIVE_LINE_ADJ = 6, | ||
167 | D3D_PRIMITIVE_TRIANGLE_ADJ = 7, | ||
168 | D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, | ||
169 | D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, | ||
170 | D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, | ||
171 | D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, | ||
172 | D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, | ||
173 | D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, | ||
174 | D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, | ||
175 | D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, | ||
176 | D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, | ||
177 | D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, | ||
178 | D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, | ||
179 | D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, | ||
180 | D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, | ||
181 | D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, | ||
182 | D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, | ||
183 | D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, | ||
184 | D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, | ||
185 | D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, | ||
186 | D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, | ||
187 | D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27, | ||
188 | D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28, | ||
189 | D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29, | ||
190 | D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30, | ||
191 | D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31, | ||
192 | D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32, | ||
193 | D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33, | ||
194 | D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34, | ||
195 | D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35, | ||
196 | D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36, | ||
197 | D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37, | ||
198 | D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38, | ||
199 | D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39, | ||
200 | |||
201 | D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
202 | D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
203 | D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
204 | D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
205 | D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
206 | D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
207 | |||
208 | D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED, | ||
209 | D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT, | ||
210 | D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE, | ||
211 | D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE, | ||
212 | D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ, | ||
213 | D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ, | ||
214 | D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH, | ||
215 | D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH, | ||
216 | D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH, | ||
217 | D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH, | ||
218 | D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH, | ||
219 | D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH, | ||
220 | D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH, | ||
221 | D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH, | ||
222 | D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH, | ||
223 | D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH, | ||
224 | D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH, | ||
225 | D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH, | ||
226 | D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH, | ||
227 | D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH, | ||
228 | D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH, | ||
229 | D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH, | ||
230 | D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH, | ||
231 | D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH, | ||
232 | D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH, | ||
233 | D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH, | ||
234 | D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH, | ||
235 | D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH, | ||
236 | D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH, | ||
237 | D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH, | ||
238 | D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH, | ||
239 | D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH, | ||
240 | D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH, | ||
241 | D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH, | ||
242 | D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH, | ||
243 | D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH, | ||
244 | D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH, | ||
245 | D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH, | ||
246 | } D3D_PRIMITIVE; | ||
247 | |||
248 | typedef enum D3D_SRV_DIMENSION | ||
249 | { | ||
250 | D3D_SRV_DIMENSION_UNKNOWN = 0, | ||
251 | D3D_SRV_DIMENSION_BUFFER = 1, | ||
252 | D3D_SRV_DIMENSION_TEXTURE1D = 2, | ||
253 | D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, | ||
254 | D3D_SRV_DIMENSION_TEXTURE2D = 4, | ||
255 | D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, | ||
256 | D3D_SRV_DIMENSION_TEXTURE2DMS = 6, | ||
257 | D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, | ||
258 | D3D_SRV_DIMENSION_TEXTURE3D = 8, | ||
259 | D3D_SRV_DIMENSION_TEXTURECUBE = 9, | ||
260 | D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, | ||
261 | D3D_SRV_DIMENSION_BUFFEREX = 11, | ||
262 | |||
263 | D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
264 | D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
265 | D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
266 | D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
267 | D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
268 | D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
269 | D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
270 | D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
271 | D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
272 | D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
273 | |||
274 | D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
275 | D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
276 | D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
277 | D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
278 | D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
279 | D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
280 | D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
281 | D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
282 | D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
283 | D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
284 | D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
285 | |||
286 | D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN, | ||
287 | D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER, | ||
288 | D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D, | ||
289 | D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY, | ||
290 | D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D, | ||
291 | D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY, | ||
292 | D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS, | ||
293 | D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY, | ||
294 | D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D, | ||
295 | D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE, | ||
296 | D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY, | ||
297 | D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX, | ||
298 | } D3D_SRV_DIMENSION; | ||
299 | |||
300 | // Bits in shaders indicating features they use which the runtime checks against current device support: | ||
301 | cpp_quote("#define D3D_SHADER_FEATURE_DOUBLES 0x00001") | ||
302 | cpp_quote("#define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002") | ||
303 | cpp_quote("#define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004") | ||
304 | cpp_quote("#define D3D_SHADER_FEATURE_64_UAVS 0x00008") | ||
305 | cpp_quote("#define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010") | ||
306 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020") | ||
307 | cpp_quote("#define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040") | ||
308 | cpp_quote("#define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080") | ||
309 | cpp_quote("#define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100") | ||
310 | cpp_quote("#define D3D_SHADER_FEATURE_STENCIL_REF 0x00200") | ||
311 | cpp_quote("#define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400") | ||
312 | cpp_quote("#define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800") | ||
313 | cpp_quote("#define D3D_SHADER_FEATURE_ROVS 0x01000") | ||
314 | cpp_quote("#define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000") | ||
315 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_OPS 0x04000") | ||
316 | cpp_quote("#define D3D_SHADER_FEATURE_INT64_OPS 0x08000") | ||
317 | cpp_quote("#define D3D_SHADER_FEATURE_VIEW_ID 0x10000") | ||
318 | cpp_quote("#define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000") | ||
319 | cpp_quote("#define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000") | ||
320 | cpp_quote("#define D3D_SHADER_FEATURE_SHADING_RATE 0x80000") | ||
321 | cpp_quote("#define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000") | ||
322 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000") | ||
323 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000") | ||
324 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000") | ||
325 | cpp_quote("#define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000") | ||
326 | cpp_quote("#define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000") | ||
327 | cpp_quote("#define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000") | ||
328 | cpp_quote("#define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000") | ||
329 | cpp_quote("#define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000") | ||
330 | |||
331 | // Additional internal shader feature flags are listed in dxbcutils.h (not relevant/useful for public to see) | ||
332 | // When adding entries here, make sure they don't conflict with what's there. | ||
333 | |||
334 | //---------------------------------------------------------------------------- | ||
335 | // | ||
336 | // Shader compilation information. | ||
337 | // | ||
338 | //---------------------------------------------------------------------------- | ||
339 | |||
340 | //---------------------------------------------------------------------------- | ||
341 | // D3D_SHADER_MACRO: | ||
342 | // ---------- | ||
343 | // Preprocessor macro definition. The application pass in a NULL-terminated | ||
344 | // array of this structure to various D3D APIs. This enables the application | ||
345 | // to #define tokens at runtime, before the file is parsed. | ||
346 | //---------------------------------------------------------------------------- | ||
347 | |||
348 | typedef struct _D3D_SHADER_MACRO | ||
349 | { | ||
350 | LPCSTR Name; | ||
351 | LPCSTR Definition; | ||
352 | } D3D_SHADER_MACRO, *LPD3D_SHADER_MACRO; | ||
353 | |||
354 | //---------------------------------------------------------------------------- | ||
355 | // ID3DBlob: | ||
356 | // ------------ | ||
357 | // The buffer object is used by D3D to return arbitrary size data. | ||
358 | // For compatibility with D3D10 this interface is also called ID3D10Blob, | ||
359 | // but the version-neutral form is preferred. | ||
360 | // | ||
361 | // GetBufferPointer - | ||
362 | // Returns a pointer to the beginning of the buffer. | ||
363 | // | ||
364 | // GetBufferSize - | ||
365 | // Returns the size of the buffer, in bytes. | ||
366 | //---------------------------------------------------------------------------- | ||
367 | |||
368 | // {8BA5FB08-5195-40e2-AC58-0D989C3A0102} | ||
369 | cpp_quote("DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);") | ||
370 | |||
371 | [ uuid( 8BA5FB08-5195-40e2-AC58-0D989C3A0102 ), object, local, pointer_default( unique ) ] | ||
372 | interface ID3D10Blob : IUnknown | ||
373 | { | ||
374 | LPVOID GetBufferPointer(); | ||
375 | SIZE_T GetBufferSize(); | ||
376 | }; | ||
377 | |||
378 | cpp_quote("typedef interface ID3D10Blob* LPD3D10BLOB;") | ||
379 | |||
380 | typedef ID3D10Blob ID3DBlob; | ||
381 | cpp_quote("typedef ID3DBlob* LPD3DBLOB;") | ||
382 | cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob") | ||
383 | |||
384 | // ID3DDestructionNotifier: An interface to QI for, to set a callback which is triggered when the object is fully destroyed | ||
385 | typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void* pData); | ||
386 | |||
387 | [uuid(a06eb39a-50da-425b-8c31-4eecd6c270f3), object, local, pointer_default(unique)] | ||
388 | interface ID3DDestructionNotifier | ||
389 | : IUnknown | ||
390 | { | ||
391 | HRESULT RegisterDestructionCallback( | ||
392 | [annotation("_In_")] PFN_DESTRUCTION_CALLBACK callbackFn, | ||
393 | [annotation("_In_")] void* pData, | ||
394 | [annotation("_Out_")] UINT* pCallbackID | ||
395 | ); | ||
396 | HRESULT UnregisterDestructionCallback( | ||
397 | [annotation("_In_")] UINT callbackID | ||
398 | ); | ||
399 | }; | ||
400 | |||
401 | typedef enum _D3D_INCLUDE_TYPE | ||
402 | { | ||
403 | D3D_INCLUDE_LOCAL, | ||
404 | D3D_INCLUDE_SYSTEM, | ||
405 | |||
406 | D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL, | ||
407 | D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM, | ||
408 | |||
409 | // force 32-bit size enum | ||
410 | D3D_INCLUDE_FORCE_DWORD = 0x7fffffff | ||
411 | } D3D_INCLUDE_TYPE; | ||
412 | |||
413 | //---------------------------------------------------------------------------- | ||
414 | // ID3DInclude: | ||
415 | // ------------- | ||
416 | // This interface is intended to be implemented by the application, and can | ||
417 | // be used by various D3D APIs. This enables application-specific handling | ||
418 | // of #include directives in source files. | ||
419 | // | ||
420 | // Open() | ||
421 | // Opens an include file. If successful, it should fill in ppData and | ||
422 | // pBytes. The data pointer returned must remain valid until Close is | ||
423 | // subsequently called. The name of the file is encoded in UTF-8 format. | ||
424 | // Close() | ||
425 | // Closes an include file. If Open was successful, Close is guaranteed | ||
426 | // to be called before the API using this interface returns. | ||
427 | //---------------------------------------------------------------------------- | ||
428 | |||
429 | cpp_quote("typedef interface ID3DInclude ID3DInclude;") | ||
430 | |||
431 | cpp_quote("#undef INTERFACE") | ||
432 | cpp_quote("#define INTERFACE ID3DInclude") | ||
433 | |||
434 | cpp_quote("DECLARE_INTERFACE(ID3DInclude)") | ||
435 | cpp_quote("{") | ||
436 | cpp_quote(" STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;") | ||
437 | cpp_quote(" STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;") | ||
438 | cpp_quote("};") | ||
439 | |||
440 | cpp_quote("typedef ID3DInclude* LPD3DINCLUDE;") | ||
441 | |||
442 | //---------------------------------------------------------------------------- | ||
443 | // | ||
444 | // Shader reflection information. | ||
445 | // | ||
446 | //---------------------------------------------------------------------------- | ||
447 | |||
448 | typedef enum _D3D_SHADER_VARIABLE_CLASS | ||
449 | { | ||
450 | D3D_SVC_SCALAR, | ||
451 | D3D_SVC_VECTOR, | ||
452 | D3D_SVC_MATRIX_ROWS, | ||
453 | D3D_SVC_MATRIX_COLUMNS, | ||
454 | D3D_SVC_OBJECT, | ||
455 | D3D_SVC_STRUCT, | ||
456 | D3D_SVC_INTERFACE_CLASS, | ||
457 | D3D_SVC_INTERFACE_POINTER, | ||
458 | |||
459 | D3D10_SVC_SCALAR = D3D_SVC_SCALAR, | ||
460 | D3D10_SVC_VECTOR = D3D_SVC_VECTOR, | ||
461 | D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS, | ||
462 | D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS, | ||
463 | D3D10_SVC_OBJECT = D3D_SVC_OBJECT, | ||
464 | D3D10_SVC_STRUCT = D3D_SVC_STRUCT, | ||
465 | |||
466 | D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS, | ||
467 | D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER, | ||
468 | |||
469 | // force 32-bit size enum | ||
470 | D3D_SVC_FORCE_DWORD = 0x7fffffff | ||
471 | } D3D_SHADER_VARIABLE_CLASS; | ||
472 | |||
473 | typedef enum _D3D_SHADER_VARIABLE_FLAGS | ||
474 | { | ||
475 | D3D_SVF_USERPACKED = 1, | ||
476 | D3D_SVF_USED = 2, | ||
477 | |||
478 | D3D_SVF_INTERFACE_POINTER = 4, | ||
479 | D3D_SVF_INTERFACE_PARAMETER = 8, | ||
480 | |||
481 | D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED, | ||
482 | D3D10_SVF_USED = D3D_SVF_USED, | ||
483 | |||
484 | D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER, | ||
485 | D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER, | ||
486 | |||
487 | // force 32-bit size enum | ||
488 | D3D_SVF_FORCE_DWORD = 0x7fffffff | ||
489 | } D3D_SHADER_VARIABLE_FLAGS; | ||
490 | |||
491 | typedef enum _D3D_SHADER_VARIABLE_TYPE | ||
492 | { | ||
493 | D3D_SVT_VOID = 0, | ||
494 | D3D_SVT_BOOL = 1, | ||
495 | D3D_SVT_INT = 2, | ||
496 | D3D_SVT_FLOAT = 3, | ||
497 | D3D_SVT_STRING = 4, | ||
498 | D3D_SVT_TEXTURE = 5, | ||
499 | D3D_SVT_TEXTURE1D = 6, | ||
500 | D3D_SVT_TEXTURE2D = 7, | ||
501 | D3D_SVT_TEXTURE3D = 8, | ||
502 | D3D_SVT_TEXTURECUBE = 9, | ||
503 | D3D_SVT_SAMPLER = 10, | ||
504 | D3D_SVT_SAMPLER1D = 11, | ||
505 | D3D_SVT_SAMPLER2D = 12, | ||
506 | D3D_SVT_SAMPLER3D = 13, | ||
507 | D3D_SVT_SAMPLERCUBE = 14, | ||
508 | D3D_SVT_PIXELSHADER = 15, | ||
509 | D3D_SVT_VERTEXSHADER = 16, | ||
510 | D3D_SVT_PIXELFRAGMENT = 17, | ||
511 | D3D_SVT_VERTEXFRAGMENT = 18, | ||
512 | D3D_SVT_UINT = 19, | ||
513 | D3D_SVT_UINT8 = 20, | ||
514 | D3D_SVT_GEOMETRYSHADER = 21, | ||
515 | D3D_SVT_RASTERIZER = 22, | ||
516 | D3D_SVT_DEPTHSTENCIL = 23, | ||
517 | D3D_SVT_BLEND = 24, | ||
518 | D3D_SVT_BUFFER = 25, | ||
519 | D3D_SVT_CBUFFER = 26, | ||
520 | D3D_SVT_TBUFFER = 27, | ||
521 | D3D_SVT_TEXTURE1DARRAY = 28, | ||
522 | D3D_SVT_TEXTURE2DARRAY = 29, | ||
523 | D3D_SVT_RENDERTARGETVIEW = 30, | ||
524 | D3D_SVT_DEPTHSTENCILVIEW = 31, | ||
525 | |||
526 | D3D_SVT_TEXTURE2DMS = 32, | ||
527 | D3D_SVT_TEXTURE2DMSARRAY = 33, | ||
528 | |||
529 | D3D_SVT_TEXTURECUBEARRAY = 34, | ||
530 | |||
531 | D3D_SVT_HULLSHADER = 35, | ||
532 | D3D_SVT_DOMAINSHADER = 36, | ||
533 | |||
534 | D3D_SVT_INTERFACE_POINTER = 37, | ||
535 | D3D_SVT_COMPUTESHADER = 38, | ||
536 | |||
537 | D3D_SVT_DOUBLE = 39, | ||
538 | |||
539 | D3D_SVT_RWTEXTURE1D = 40, | ||
540 | D3D_SVT_RWTEXTURE1DARRAY = 41, | ||
541 | D3D_SVT_RWTEXTURE2D = 42, | ||
542 | D3D_SVT_RWTEXTURE2DARRAY = 43, | ||
543 | D3D_SVT_RWTEXTURE3D = 44, | ||
544 | D3D_SVT_RWBUFFER = 45, | ||
545 | |||
546 | D3D_SVT_BYTEADDRESS_BUFFER = 46, | ||
547 | D3D_SVT_RWBYTEADDRESS_BUFFER = 47, | ||
548 | D3D_SVT_STRUCTURED_BUFFER = 48, | ||
549 | D3D_SVT_RWSTRUCTURED_BUFFER = 49, | ||
550 | D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, | ||
551 | D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, | ||
552 | |||
553 | D3D_SVT_MIN8FLOAT = 52, | ||
554 | D3D_SVT_MIN10FLOAT = 53, | ||
555 | D3D_SVT_MIN16FLOAT = 54, | ||
556 | D3D_SVT_MIN12INT = 55, | ||
557 | D3D_SVT_MIN16INT = 56, | ||
558 | D3D_SVT_MIN16UINT = 57, | ||
559 | |||
560 | D3D10_SVT_VOID = D3D_SVT_VOID, | ||
561 | D3D10_SVT_BOOL = D3D_SVT_BOOL, | ||
562 | D3D10_SVT_INT = D3D_SVT_INT, | ||
563 | D3D10_SVT_FLOAT = D3D_SVT_FLOAT, | ||
564 | D3D10_SVT_STRING = D3D_SVT_STRING, | ||
565 | D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE, | ||
566 | D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D, | ||
567 | D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D, | ||
568 | D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D, | ||
569 | D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE, | ||
570 | D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER, | ||
571 | D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D, | ||
572 | D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D, | ||
573 | D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D, | ||
574 | D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE, | ||
575 | D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER, | ||
576 | D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER, | ||
577 | D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT, | ||
578 | D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT, | ||
579 | D3D10_SVT_UINT = D3D_SVT_UINT, | ||
580 | D3D10_SVT_UINT8 = D3D_SVT_UINT8, | ||
581 | D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER, | ||
582 | D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER, | ||
583 | D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL, | ||
584 | D3D10_SVT_BLEND = D3D_SVT_BLEND, | ||
585 | D3D10_SVT_BUFFER = D3D_SVT_BUFFER, | ||
586 | D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER, | ||
587 | D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER, | ||
588 | D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY, | ||
589 | D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY, | ||
590 | D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW, | ||
591 | D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW, | ||
592 | |||
593 | D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS, | ||
594 | D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY, | ||
595 | |||
596 | D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY, | ||
597 | |||
598 | D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER, | ||
599 | D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER, | ||
600 | |||
601 | D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER, | ||
602 | D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER, | ||
603 | |||
604 | D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE, | ||
605 | |||
606 | D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D, | ||
607 | D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY, | ||
608 | D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D, | ||
609 | D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY, | ||
610 | D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D, | ||
611 | D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER, | ||
612 | |||
613 | D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER, | ||
614 | D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER, | ||
615 | D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER, | ||
616 | D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER, | ||
617 | D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER, | ||
618 | D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER, | ||
619 | |||
620 | // force 32-bit size enum | ||
621 | D3D_SVT_FORCE_DWORD = 0x7fffffff | ||
622 | } D3D_SHADER_VARIABLE_TYPE; | ||
623 | |||
624 | typedef enum _D3D_SHADER_INPUT_FLAGS | ||
625 | { | ||
626 | D3D_SIF_USERPACKED = 0x01, | ||
627 | D3D_SIF_COMPARISON_SAMPLER = 0x02, // is this a comparison sampler? | ||
628 | D3D_SIF_TEXTURE_COMPONENT_0 = 0x04, // this 2-bit value encodes c - 1, where c | ||
629 | D3D_SIF_TEXTURE_COMPONENT_1 = 0x08, // is the number of components in the texture | ||
630 | D3D_SIF_TEXTURE_COMPONENTS = 0x0c, | ||
631 | D3D_SIF_UNUSED = 0x10, | ||
632 | |||
633 | D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED, | ||
634 | D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER, | ||
635 | D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0, | ||
636 | D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1, | ||
637 | D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS, | ||
638 | |||
639 | // force 32-bit size enum | ||
640 | D3D_SIF_FORCE_DWORD = 0x7fffffff | ||
641 | } D3D_SHADER_INPUT_FLAGS; | ||
642 | |||
643 | typedef enum _D3D_SHADER_INPUT_TYPE | ||
644 | { | ||
645 | D3D_SIT_CBUFFER, | ||
646 | D3D_SIT_TBUFFER, | ||
647 | D3D_SIT_TEXTURE, | ||
648 | D3D_SIT_SAMPLER, | ||
649 | D3D_SIT_UAV_RWTYPED, | ||
650 | D3D_SIT_STRUCTURED, | ||
651 | D3D_SIT_UAV_RWSTRUCTURED, | ||
652 | D3D_SIT_BYTEADDRESS, | ||
653 | D3D_SIT_UAV_RWBYTEADDRESS, | ||
654 | D3D_SIT_UAV_APPEND_STRUCTURED, | ||
655 | D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
656 | D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
657 | D3D_SIT_RTACCELERATIONSTRUCTURE, | ||
658 | D3D_SIT_UAV_FEEDBACKTEXTURE, | ||
659 | |||
660 | D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER, | ||
661 | D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER, | ||
662 | D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE, | ||
663 | D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER, | ||
664 | |||
665 | D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED, | ||
666 | D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED, | ||
667 | D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED, | ||
668 | D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS, | ||
669 | D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS, | ||
670 | D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED, | ||
671 | D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED, | ||
672 | D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, | ||
673 | } D3D_SHADER_INPUT_TYPE; | ||
674 | |||
675 | typedef enum _D3D_SHADER_CBUFFER_FLAGS | ||
676 | { | ||
677 | D3D_CBF_USERPACKED = 1, | ||
678 | |||
679 | D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED, | ||
680 | |||
681 | // force 32-bit size enum | ||
682 | D3D_CBF_FORCE_DWORD = 0x7fffffff | ||
683 | } D3D_SHADER_CBUFFER_FLAGS; | ||
684 | |||
685 | typedef enum _D3D_CBUFFER_TYPE | ||
686 | { | ||
687 | D3D_CT_CBUFFER, | ||
688 | D3D_CT_TBUFFER, | ||
689 | D3D_CT_INTERFACE_POINTERS, | ||
690 | D3D_CT_RESOURCE_BIND_INFO, | ||
691 | |||
692 | D3D10_CT_CBUFFER = D3D_CT_CBUFFER, | ||
693 | D3D10_CT_TBUFFER = D3D_CT_TBUFFER, | ||
694 | |||
695 | D3D11_CT_CBUFFER = D3D_CT_CBUFFER, | ||
696 | D3D11_CT_TBUFFER = D3D_CT_TBUFFER, | ||
697 | D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS, | ||
698 | D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO, | ||
699 | } D3D_CBUFFER_TYPE; | ||
700 | |||
701 | typedef enum D3D_NAME | ||
702 | { | ||
703 | D3D_NAME_UNDEFINED = 0, | ||
704 | |||
705 | // Names meaningful to both HLSL and hardware | ||
706 | D3D_NAME_POSITION = 1, | ||
707 | D3D_NAME_CLIP_DISTANCE = 2, | ||
708 | D3D_NAME_CULL_DISTANCE = 3, | ||
709 | D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, | ||
710 | D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, | ||
711 | D3D_NAME_VERTEX_ID = 6, | ||
712 | D3D_NAME_PRIMITIVE_ID = 7, | ||
713 | D3D_NAME_INSTANCE_ID = 8, | ||
714 | D3D_NAME_IS_FRONT_FACE = 9, | ||
715 | D3D_NAME_SAMPLE_INDEX = 10, | ||
716 | D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, | ||
717 | D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, | ||
718 | D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, | ||
719 | D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, | ||
720 | D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, | ||
721 | D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, | ||
722 | D3D_NAME_BARYCENTRICS = 23, | ||
723 | D3D_NAME_SHADINGRATE = 24, | ||
724 | D3D_NAME_CULLPRIMITIVE = 25, | ||
725 | |||
726 | // Names meaningful to HLSL only | ||
727 | D3D_NAME_TARGET = 64, | ||
728 | D3D_NAME_DEPTH = 65, | ||
729 | D3D_NAME_COVERAGE = 66, | ||
730 | D3D_NAME_DEPTH_GREATER_EQUAL = 67, | ||
731 | D3D_NAME_DEPTH_LESS_EQUAL = 68, | ||
732 | D3D_NAME_STENCIL_REF = 69, | ||
733 | D3D_NAME_INNER_COVERAGE = 70, | ||
734 | |||
735 | D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED, | ||
736 | D3D10_NAME_POSITION = D3D_NAME_POSITION, | ||
737 | D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE, | ||
738 | D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE, | ||
739 | D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX, | ||
740 | D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX, | ||
741 | D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID, | ||
742 | D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID, | ||
743 | D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID, | ||
744 | D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE, | ||
745 | D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX, | ||
746 | D3D10_NAME_TARGET = D3D_NAME_TARGET, | ||
747 | D3D10_NAME_DEPTH = D3D_NAME_DEPTH, | ||
748 | D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE, | ||
749 | |||
750 | D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR, | ||
751 | D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR, | ||
752 | D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR, | ||
753 | D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR, | ||
754 | D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR, | ||
755 | D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR, | ||
756 | D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL, | ||
757 | D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL, | ||
758 | |||
759 | D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF, | ||
760 | D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE, | ||
761 | |||
762 | D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS, | ||
763 | D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE, | ||
764 | D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE, | ||
765 | } D3D_NAME; | ||
766 | |||
767 | typedef enum D3D_RESOURCE_RETURN_TYPE | ||
768 | { | ||
769 | D3D_RETURN_TYPE_UNORM = 1, | ||
770 | D3D_RETURN_TYPE_SNORM = 2, | ||
771 | D3D_RETURN_TYPE_SINT = 3, | ||
772 | D3D_RETURN_TYPE_UINT = 4, | ||
773 | D3D_RETURN_TYPE_FLOAT = 5, | ||
774 | D3D_RETURN_TYPE_MIXED = 6, | ||
775 | D3D_RETURN_TYPE_DOUBLE = 7, | ||
776 | D3D_RETURN_TYPE_CONTINUED = 8, | ||
777 | |||
778 | D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
779 | D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
780 | D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
781 | D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
782 | D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
783 | D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
784 | |||
785 | D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM, | ||
786 | D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM, | ||
787 | D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT, | ||
788 | D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT, | ||
789 | D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT, | ||
790 | D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED, | ||
791 | D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE, | ||
792 | D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED, | ||
793 | } D3D_RESOURCE_RETURN_TYPE; | ||
794 | |||
795 | typedef enum D3D_REGISTER_COMPONENT_TYPE | ||
796 | { | ||
797 | D3D_REGISTER_COMPONENT_UNKNOWN = 0, | ||
798 | D3D_REGISTER_COMPONENT_UINT32 = 1, | ||
799 | D3D_REGISTER_COMPONENT_SINT32 = 2, | ||
800 | D3D_REGISTER_COMPONENT_FLOAT32 = 3, | ||
801 | |||
802 | D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN, | ||
803 | D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32, | ||
804 | D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32, | ||
805 | D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32, | ||
806 | } D3D_REGISTER_COMPONENT_TYPE; | ||
807 | |||
808 | typedef enum D3D_TESSELLATOR_DOMAIN | ||
809 | { | ||
810 | D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0, | ||
811 | D3D_TESSELLATOR_DOMAIN_ISOLINE = 1, | ||
812 | D3D_TESSELLATOR_DOMAIN_TRI = 2, | ||
813 | D3D_TESSELLATOR_DOMAIN_QUAD = 3, | ||
814 | |||
815 | D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED, | ||
816 | D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE, | ||
817 | D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI, | ||
818 | D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD, | ||
819 | } D3D_TESSELLATOR_DOMAIN; | ||
820 | |||
821 | typedef enum D3D_TESSELLATOR_PARTITIONING | ||
822 | { | ||
823 | D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0, | ||
824 | D3D_TESSELLATOR_PARTITIONING_INTEGER = 1, | ||
825 | D3D_TESSELLATOR_PARTITIONING_POW2 = 2, | ||
826 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3, | ||
827 | D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4, | ||
828 | |||
829 | D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED, | ||
830 | D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER, | ||
831 | D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2, | ||
832 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, | ||
833 | D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, | ||
834 | } D3D_TESSELLATOR_PARTITIONING; | ||
835 | |||
836 | typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE | ||
837 | { | ||
838 | D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0, | ||
839 | D3D_TESSELLATOR_OUTPUT_POINT = 1, | ||
840 | D3D_TESSELLATOR_OUTPUT_LINE = 2, | ||
841 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3, | ||
842 | D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4, | ||
843 | |||
844 | D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED, | ||
845 | D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT, | ||
846 | D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE, | ||
847 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, | ||
848 | D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, | ||
849 | } D3D_TESSELLATOR_OUTPUT_PRIMITIVE; | ||
850 | |||
851 | typedef enum D3D_MIN_PRECISION | ||
852 | { | ||
853 | D3D_MIN_PRECISION_DEFAULT = 0, // Default precision for the shader model | ||
854 | D3D_MIN_PRECISION_FLOAT_16 = 1, // Min 16 bit/component float | ||
855 | D3D_MIN_PRECISION_FLOAT_2_8 = 2, // Min 10(2.8)bit/comp. float | ||
856 | D3D_MIN_PRECISION_RESERVED = 3, // Reserved for future use | ||
857 | D3D_MIN_PRECISION_SINT_16 = 4, // Min 16 bit/comp. signed integer | ||
858 | D3D_MIN_PRECISION_UINT_16 = 5, // Min 16 bit/comp. unsigned integer | ||
859 | |||
860 | // These values are abstractions of width only for use in situations | ||
861 | // where a general width is needed instead of specific types. They | ||
862 | // will never be used in shader operands. | ||
863 | D3D_MIN_PRECISION_ANY_16 = 0xf0, | ||
864 | D3D_MIN_PRECISION_ANY_10 = 0xf1, | ||
865 | } D3D_MIN_PRECISION; | ||
866 | |||
867 | typedef enum D3D_INTERPOLATION_MODE | ||
868 | { | ||
869 | D3D_INTERPOLATION_UNDEFINED = 0, | ||
870 | D3D_INTERPOLATION_CONSTANT = 1, | ||
871 | D3D_INTERPOLATION_LINEAR = 2, | ||
872 | D3D_INTERPOLATION_LINEAR_CENTROID = 3, | ||
873 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4, | ||
874 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5, | ||
875 | D3D_INTERPOLATION_LINEAR_SAMPLE = 6, | ||
876 | D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7, | ||
877 | } D3D_INTERPOLATION_MODE; | ||
878 | |||
879 | // Parameter flags. | ||
880 | typedef enum _D3D_PARAMETER_FLAGS | ||
881 | { | ||
882 | D3D_PF_NONE = 0x00000000, | ||
883 | D3D_PF_IN = 0x00000001, | ||
884 | D3D_PF_OUT = 0x00000002, | ||
885 | D3D_PF_FORCE_DWORD = 0x7fffffff | ||
886 | } D3D_PARAMETER_FLAGS; | ||
887 | |||
888 | // Well-Known Private Data IDs (WKPDID_*): | ||
889 | |||
890 | // WKPDID_D3DDebugObjectName provides a unique name to objects in order to assist the developer during debugging. | ||
891 | // | ||
892 | // const char c_szName[] = "texture.jpg"; | ||
893 | // pObject->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName ); | ||
894 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);") | ||
895 | cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);") | ||
896 | cpp_quote("DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);") | ||
897 | cpp_quote("DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);") | ||
898 | |||
899 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)") | ||
900 | cpp_quote("#define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)") | ||
901 | cpp_quote("#define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)") | ||
902 | cpp_quote("#define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)") | ||
903 | |||
904 | cpp_quote("#define D3D_COMPONENT_MASK_X 1") | ||
905 | cpp_quote("#define D3D_COMPONENT_MASK_Y 2") | ||
906 | cpp_quote("#define D3D_COMPONENT_MASK_Z 4") | ||
907 | cpp_quote("#define D3D_COMPONENT_MASK_W 8") | ||
908 | |||
909 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);") // Feature_D3D1XDisplayable | ||
910 | cpp_quote("DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);") // Feature_D3D1XDisplayable | ||
911 | |||