1 
2 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
3 
4  /* File created by MIDL compiler version 8.00.0613 */
5 /* @@MIDL_FILE_HEADING(  ) */
6 
7 /* verify that the <rpcndr.h> version is high enough to compile this file*/
8 #ifndef __REQUIRED_RPCNDR_H_VERSION__
9 #define __REQUIRED_RPCNDR_H_VERSION__ 475
10 #endif
11 
12 /* verify that the <rpcsal.h> version is high enough to compile this file*/
13 #ifndef __REQUIRED_RPCSAL_H_VERSION__
14 #define __REQUIRED_RPCSAL_H_VERSION__ 100
15 #endif
16 
17 #include "rpc.h"
18 #include "rpcndr.h"
19 
20 #ifndef __RPCNDR_H_VERSION__
21 #error this stub requires an updated version of <rpcndr.h>
22 #endif /* __RPCNDR_H_VERSION__ */
23 
24 #ifndef COM_NO_WINDOWS_H
25 #include "windows.h"
26 #include "ole2.h"
27 #endif /*COM_NO_WINDOWS_H*/
28 
29 #ifndef __d3dcommon_h__
30 #define __d3dcommon_h__
31 
32 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
33 #pragma once
34 #endif
35 
36 /* Forward Declarations */
37 
38 #ifndef __ID3D10Blob_FWD_DEFINED__
39 #define __ID3D10Blob_FWD_DEFINED__
40 typedef interface ID3D10Blob ID3D10Blob;
41 
42 #endif 	/* __ID3D10Blob_FWD_DEFINED__ */
43 
44 #ifndef __ID3DDestructionNotifier_FWD_DEFINED__
45 #define __ID3DDestructionNotifier_FWD_DEFINED__
46 typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
47 
48 #endif 	/* __ID3DDestructionNotifier_FWD_DEFINED__ */
49 
50 /* header files for imported files */
51 #include "oaidl.h"
52 #include "ocidl.h"
53 
54 #ifdef __cplusplus
55 extern "C"{
56 #endif
57 
58 /* interface __MIDL_itf_d3dcommon_0000_0000 */
59 /* [local] */
60 
61 typedef
62 enum D3D_DRIVER_TYPE
63     {
64         D3D_DRIVER_TYPE_UNKNOWN	= 0,
65         D3D_DRIVER_TYPE_HARDWARE	= ( D3D_DRIVER_TYPE_UNKNOWN + 1 ) ,
66         D3D_DRIVER_TYPE_REFERENCE	= ( D3D_DRIVER_TYPE_HARDWARE + 1 ) ,
67         D3D_DRIVER_TYPE_NULL	= ( D3D_DRIVER_TYPE_REFERENCE + 1 ) ,
68         D3D_DRIVER_TYPE_SOFTWARE	= ( D3D_DRIVER_TYPE_NULL + 1 ) ,
69         D3D_DRIVER_TYPE_WARP	= ( D3D_DRIVER_TYPE_SOFTWARE + 1 )
70     } 	D3D_DRIVER_TYPE;
71 
72 typedef
73 enum D3D_FEATURE_LEVEL
74     {
75         D3D_FEATURE_LEVEL_9_1	= 0x9100,
76         D3D_FEATURE_LEVEL_9_2	= 0x9200,
77         D3D_FEATURE_LEVEL_9_3	= 0x9300,
78         D3D_FEATURE_LEVEL_10_0	= 0xa000,
79         D3D_FEATURE_LEVEL_10_1	= 0xa100,
80         D3D_FEATURE_LEVEL_11_0	= 0xb000,
81         D3D_FEATURE_LEVEL_11_1	= 0xb100,
82         D3D_FEATURE_LEVEL_12_0	= 0xc000,
83         D3D_FEATURE_LEVEL_12_1	= 0xc100
84     } 	D3D_FEATURE_LEVEL;
85 
86 #define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION          2048
87 #define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION          4096
88 #define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION     2048
89 #define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION     4096
90 #define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION          512
91 #define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION          4096
92 #define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION   256
93 #define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY             2
94 #define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT             65535
95 #define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT             1048575
96 #define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT   1
97 #define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT   4
98 #define D3D_FL9_1_MAX_TEXTURE_REPEAT                 128
99 #define D3D_FL9_2_MAX_TEXTURE_REPEAT                 2048
100 #define D3D_FL9_3_MAX_TEXTURE_REPEAT                 8192
101 typedef
102 enum D3D_PRIMITIVE_TOPOLOGY
103     {
104         D3D_PRIMITIVE_TOPOLOGY_UNDEFINED	= 0,
105         D3D_PRIMITIVE_TOPOLOGY_POINTLIST	= 1,
106         D3D_PRIMITIVE_TOPOLOGY_LINELIST	= 2,
107         D3D_PRIMITIVE_TOPOLOGY_LINESTRIP	= 3,
108         D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST	= 4,
109         D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP	= 5,
110         D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ	= 10,
111         D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ	= 11,
112         D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ	= 12,
113         D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ	= 13,
114         D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST	= 33,
115         D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST	= 34,
116         D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST	= 35,
117         D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST	= 36,
118         D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST	= 37,
119         D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST	= 38,
120         D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST	= 39,
121         D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST	= 40,
122         D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST	= 41,
123         D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST	= 42,
124         D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST	= 43,
125         D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST	= 44,
126         D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST	= 45,
127         D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST	= 46,
128         D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST	= 47,
129         D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST	= 48,
130         D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST	= 49,
131         D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST	= 50,
132         D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST	= 51,
133         D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST	= 52,
134         D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST	= 53,
135         D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST	= 54,
136         D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST	= 55,
137         D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST	= 56,
138         D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST	= 57,
139         D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST	= 58,
140         D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST	= 59,
141         D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST	= 60,
142         D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST	= 61,
143         D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST	= 62,
144         D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST	= 63,
145         D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST	= 64,
146         D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED	= D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
147         D3D10_PRIMITIVE_TOPOLOGY_POINTLIST	= D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
148         D3D10_PRIMITIVE_TOPOLOGY_LINELIST	= D3D_PRIMITIVE_TOPOLOGY_LINELIST,
149         D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP	= D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
150         D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
151         D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
152         D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ	= D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
153         D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ	= D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
154         D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
155         D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
156         D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED	= D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
157         D3D11_PRIMITIVE_TOPOLOGY_POINTLIST	= D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
158         D3D11_PRIMITIVE_TOPOLOGY_LINELIST	= D3D_PRIMITIVE_TOPOLOGY_LINELIST,
159         D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP	= D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
160         D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
161         D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
162         D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ	= D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
163         D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ	= D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
164         D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
165         D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ	= D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
166         D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST,
167         D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
168         D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
169         D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
170         D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
171         D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
172         D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
173         D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
174         D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
175         D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
176         D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
177         D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
178         D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
179         D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
180         D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
181         D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
182         D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
183         D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
184         D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
185         D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
186         D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
187         D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
188         D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
189         D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
190         D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
191         D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
192         D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
193         D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
194         D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
195         D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
196         D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
197         D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST	= D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
198     } 	D3D_PRIMITIVE_TOPOLOGY;
199 
200 typedef
201 enum D3D_PRIMITIVE
202     {
203         D3D_PRIMITIVE_UNDEFINED	= 0,
204         D3D_PRIMITIVE_POINT	= 1,
205         D3D_PRIMITIVE_LINE	= 2,
206         D3D_PRIMITIVE_TRIANGLE	= 3,
207         D3D_PRIMITIVE_LINE_ADJ	= 6,
208         D3D_PRIMITIVE_TRIANGLE_ADJ	= 7,
209         D3D_PRIMITIVE_1_CONTROL_POINT_PATCH	= 8,
210         D3D_PRIMITIVE_2_CONTROL_POINT_PATCH	= 9,
211         D3D_PRIMITIVE_3_CONTROL_POINT_PATCH	= 10,
212         D3D_PRIMITIVE_4_CONTROL_POINT_PATCH	= 11,
213         D3D_PRIMITIVE_5_CONTROL_POINT_PATCH	= 12,
214         D3D_PRIMITIVE_6_CONTROL_POINT_PATCH	= 13,
215         D3D_PRIMITIVE_7_CONTROL_POINT_PATCH	= 14,
216         D3D_PRIMITIVE_8_CONTROL_POINT_PATCH	= 15,
217         D3D_PRIMITIVE_9_CONTROL_POINT_PATCH	= 16,
218         D3D_PRIMITIVE_10_CONTROL_POINT_PATCH	= 17,
219         D3D_PRIMITIVE_11_CONTROL_POINT_PATCH	= 18,
220         D3D_PRIMITIVE_12_CONTROL_POINT_PATCH	= 19,
221         D3D_PRIMITIVE_13_CONTROL_POINT_PATCH	= 20,
222         D3D_PRIMITIVE_14_CONTROL_POINT_PATCH	= 21,
223         D3D_PRIMITIVE_15_CONTROL_POINT_PATCH	= 22,
224         D3D_PRIMITIVE_16_CONTROL_POINT_PATCH	= 23,
225         D3D_PRIMITIVE_17_CONTROL_POINT_PATCH	= 24,
226         D3D_PRIMITIVE_18_CONTROL_POINT_PATCH	= 25,
227         D3D_PRIMITIVE_19_CONTROL_POINT_PATCH	= 26,
228         D3D_PRIMITIVE_20_CONTROL_POINT_PATCH	= 27,
229         D3D_PRIMITIVE_21_CONTROL_POINT_PATCH	= 28,
230         D3D_PRIMITIVE_22_CONTROL_POINT_PATCH	= 29,
231         D3D_PRIMITIVE_23_CONTROL_POINT_PATCH	= 30,
232         D3D_PRIMITIVE_24_CONTROL_POINT_PATCH	= 31,
233         D3D_PRIMITIVE_25_CONTROL_POINT_PATCH	= 32,
234         D3D_PRIMITIVE_26_CONTROL_POINT_PATCH	= 33,
235         D3D_PRIMITIVE_27_CONTROL_POINT_PATCH	= 34,
236         D3D_PRIMITIVE_28_CONTROL_POINT_PATCH	= 35,
237         D3D_PRIMITIVE_29_CONTROL_POINT_PATCH	= 36,
238         D3D_PRIMITIVE_30_CONTROL_POINT_PATCH	= 37,
239         D3D_PRIMITIVE_31_CONTROL_POINT_PATCH	= 38,
240         D3D_PRIMITIVE_32_CONTROL_POINT_PATCH	= 39,
241         D3D10_PRIMITIVE_UNDEFINED	= D3D_PRIMITIVE_UNDEFINED,
242         D3D10_PRIMITIVE_POINT	= D3D_PRIMITIVE_POINT,
243         D3D10_PRIMITIVE_LINE	= D3D_PRIMITIVE_LINE,
244         D3D10_PRIMITIVE_TRIANGLE	= D3D_PRIMITIVE_TRIANGLE,
245         D3D10_PRIMITIVE_LINE_ADJ	= D3D_PRIMITIVE_LINE_ADJ,
246         D3D10_PRIMITIVE_TRIANGLE_ADJ	= D3D_PRIMITIVE_TRIANGLE_ADJ,
247         D3D11_PRIMITIVE_UNDEFINED	= D3D_PRIMITIVE_UNDEFINED,
248         D3D11_PRIMITIVE_POINT	= D3D_PRIMITIVE_POINT,
249         D3D11_PRIMITIVE_LINE	= D3D_PRIMITIVE_LINE,
250         D3D11_PRIMITIVE_TRIANGLE	= D3D_PRIMITIVE_TRIANGLE,
251         D3D11_PRIMITIVE_LINE_ADJ	= D3D_PRIMITIVE_LINE_ADJ,
252         D3D11_PRIMITIVE_TRIANGLE_ADJ	= D3D_PRIMITIVE_TRIANGLE_ADJ,
253         D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_1_CONTROL_POINT_PATCH,
254         D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
255         D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
256         D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
257         D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
258         D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
259         D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
260         D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
261         D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
262         D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
263         D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
264         D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
265         D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
266         D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
267         D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
268         D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
269         D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
270         D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
271         D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
272         D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
273         D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
274         D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
275         D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
276         D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
277         D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
278         D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
279         D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
280         D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
281         D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
282         D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
283         D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
284         D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH	= D3D_PRIMITIVE_32_CONTROL_POINT_PATCH
285     } 	D3D_PRIMITIVE;
286 
287 typedef
288 enum D3D_SRV_DIMENSION
289     {
290         D3D_SRV_DIMENSION_UNKNOWN	= 0,
291         D3D_SRV_DIMENSION_BUFFER	= 1,
292         D3D_SRV_DIMENSION_TEXTURE1D	= 2,
293         D3D_SRV_DIMENSION_TEXTURE1DARRAY	= 3,
294         D3D_SRV_DIMENSION_TEXTURE2D	= 4,
295         D3D_SRV_DIMENSION_TEXTURE2DARRAY	= 5,
296         D3D_SRV_DIMENSION_TEXTURE2DMS	= 6,
297         D3D_SRV_DIMENSION_TEXTURE2DMSARRAY	= 7,
298         D3D_SRV_DIMENSION_TEXTURE3D	= 8,
299         D3D_SRV_DIMENSION_TEXTURECUBE	= 9,
300         D3D_SRV_DIMENSION_TEXTURECUBEARRAY	= 10,
301         D3D_SRV_DIMENSION_BUFFEREX	= 11,
302         D3D10_SRV_DIMENSION_UNKNOWN	= D3D_SRV_DIMENSION_UNKNOWN,
303         D3D10_SRV_DIMENSION_BUFFER	= D3D_SRV_DIMENSION_BUFFER,
304         D3D10_SRV_DIMENSION_TEXTURE1D	= D3D_SRV_DIMENSION_TEXTURE1D,
305         D3D10_SRV_DIMENSION_TEXTURE1DARRAY	= D3D_SRV_DIMENSION_TEXTURE1DARRAY,
306         D3D10_SRV_DIMENSION_TEXTURE2D	= D3D_SRV_DIMENSION_TEXTURE2D,
307         D3D10_SRV_DIMENSION_TEXTURE2DARRAY	= D3D_SRV_DIMENSION_TEXTURE2DARRAY,
308         D3D10_SRV_DIMENSION_TEXTURE2DMS	= D3D_SRV_DIMENSION_TEXTURE2DMS,
309         D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY	= D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
310         D3D10_SRV_DIMENSION_TEXTURE3D	= D3D_SRV_DIMENSION_TEXTURE3D,
311         D3D10_SRV_DIMENSION_TEXTURECUBE	= D3D_SRV_DIMENSION_TEXTURECUBE,
312         D3D10_1_SRV_DIMENSION_UNKNOWN	= D3D_SRV_DIMENSION_UNKNOWN,
313         D3D10_1_SRV_DIMENSION_BUFFER	= D3D_SRV_DIMENSION_BUFFER,
314         D3D10_1_SRV_DIMENSION_TEXTURE1D	= D3D_SRV_DIMENSION_TEXTURE1D,
315         D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY	= D3D_SRV_DIMENSION_TEXTURE1DARRAY,
316         D3D10_1_SRV_DIMENSION_TEXTURE2D	= D3D_SRV_DIMENSION_TEXTURE2D,
317         D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY	= D3D_SRV_DIMENSION_TEXTURE2DARRAY,
318         D3D10_1_SRV_DIMENSION_TEXTURE2DMS	= D3D_SRV_DIMENSION_TEXTURE2DMS,
319         D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY	= D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
320         D3D10_1_SRV_DIMENSION_TEXTURE3D	= D3D_SRV_DIMENSION_TEXTURE3D,
321         D3D10_1_SRV_DIMENSION_TEXTURECUBE	= D3D_SRV_DIMENSION_TEXTURECUBE,
322         D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY	= D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
323         D3D11_SRV_DIMENSION_UNKNOWN	= D3D_SRV_DIMENSION_UNKNOWN,
324         D3D11_SRV_DIMENSION_BUFFER	= D3D_SRV_DIMENSION_BUFFER,
325         D3D11_SRV_DIMENSION_TEXTURE1D	= D3D_SRV_DIMENSION_TEXTURE1D,
326         D3D11_SRV_DIMENSION_TEXTURE1DARRAY	= D3D_SRV_DIMENSION_TEXTURE1DARRAY,
327         D3D11_SRV_DIMENSION_TEXTURE2D	= D3D_SRV_DIMENSION_TEXTURE2D,
328         D3D11_SRV_DIMENSION_TEXTURE2DARRAY	= D3D_SRV_DIMENSION_TEXTURE2DARRAY,
329         D3D11_SRV_DIMENSION_TEXTURE2DMS	= D3D_SRV_DIMENSION_TEXTURE2DMS,
330         D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY	= D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
331         D3D11_SRV_DIMENSION_TEXTURE3D	= D3D_SRV_DIMENSION_TEXTURE3D,
332         D3D11_SRV_DIMENSION_TEXTURECUBE	= D3D_SRV_DIMENSION_TEXTURECUBE,
333         D3D11_SRV_DIMENSION_TEXTURECUBEARRAY	= D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
334         D3D11_SRV_DIMENSION_BUFFEREX	= D3D_SRV_DIMENSION_BUFFEREX
335     } 	D3D_SRV_DIMENSION;
336 
337 typedef struct _D3D_SHADER_MACRO
338     {
339     LPCSTR Name;
340     LPCSTR Definition;
341     } 	D3D_SHADER_MACRO;
342 
343 typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
344 
345 DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
346 
347 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_c_ifspec;
348 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_s_ifspec;
349 
350 #ifndef __ID3D10Blob_INTERFACE_DEFINED__
351 #define __ID3D10Blob_INTERFACE_DEFINED__
352 
353 /* interface ID3D10Blob */
354 /* [unique][local][object][uuid] */
355 
356 EXTERN_C const IID IID_ID3D10Blob;
357 
358 #if defined(__cplusplus) && !defined(CINTERFACE)
359 
360     MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
361     ID3D10Blob : public IUnknown
362     {
363     public:
364         virtual LPVOID STDMETHODCALLTYPE GetBufferPointer( void) = 0;
365 
366         virtual SIZE_T STDMETHODCALLTYPE GetBufferSize( void) = 0;
367 
368     };
369 
370 #else 	/* C style interface */
371 
372     typedef struct ID3D10BlobVtbl
373     {
374         BEGIN_INTERFACE
375 
376         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
377             ID3D10Blob * This,
378             /* [in] */ REFIID riid,
379             /* [annotation][iid_is][out] */
380             _COM_Outptr_  void **ppvObject);
381 
382         ULONG ( STDMETHODCALLTYPE *AddRef )(
383             ID3D10Blob * This);
384 
385         ULONG ( STDMETHODCALLTYPE *Release )(
386             ID3D10Blob * This);
387 
388         LPVOID ( STDMETHODCALLTYPE *GetBufferPointer )(
389             ID3D10Blob * This);
390 
391         SIZE_T ( STDMETHODCALLTYPE *GetBufferSize )(
392             ID3D10Blob * This);
393 
394         END_INTERFACE
395     } ID3D10BlobVtbl;
396 
397     interface ID3D10Blob
398     {
399         CONST_VTBL struct ID3D10BlobVtbl *lpVtbl;
400     };
401 
402 #ifdef COBJMACROS
403 
404 #define ID3D10Blob_QueryInterface(This,riid,ppvObject)	\
405     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
406 
407 #define ID3D10Blob_AddRef(This)	\
408     ( (This)->lpVtbl -> AddRef(This) )
409 
410 #define ID3D10Blob_Release(This)	\
411     ( (This)->lpVtbl -> Release(This) )
412 
413 #define ID3D10Blob_GetBufferPointer(This)	\
414     ( (This)->lpVtbl -> GetBufferPointer(This) )
415 
416 #define ID3D10Blob_GetBufferSize(This)	\
417     ( (This)->lpVtbl -> GetBufferSize(This) )
418 
419 #endif /* COBJMACROS */
420 
421 #endif 	/* C style interface */
422 
423 #endif 	/* __ID3D10Blob_INTERFACE_DEFINED__ */
424 
425 /* interface __MIDL_itf_d3dcommon_0000_0001 */
426 /* [local] */
427 
428 typedef interface ID3D10Blob* LPD3D10BLOB;
429 typedef ID3D10Blob ID3DBlob;
430 
431 typedef ID3DBlob* LPD3DBLOB;
432 #define IID_ID3DBlob IID_ID3D10Blob
433 typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )(
434     void *pData);
435 
436 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
437 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
438 
439 #ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
440 #define __ID3DDestructionNotifier_INTERFACE_DEFINED__
441 
442 /* interface ID3DDestructionNotifier */
443 /* [unique][local][object][uuid] */
444 
445 EXTERN_C const IID IID_ID3DDestructionNotifier;
446 
447 #if defined(__cplusplus) && !defined(CINTERFACE)
448 
449     MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
450     ID3DDestructionNotifier : public IUnknown
451     {
452     public:
453         virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
454             /* [annotation] */
455             _In_  PFN_DESTRUCTION_CALLBACK callbackFn,
456             /* [annotation] */
457             _In_  void *pData,
458             /* [annotation] */
459             _Out_  UINT *pCallbackID) = 0;
460 
461         virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
462             /* [annotation] */
463             _In_  UINT callbackID) = 0;
464 
465     };
466 
467 #else 	/* C style interface */
468 
469     typedef struct ID3DDestructionNotifierVtbl
470     {
471         BEGIN_INTERFACE
472 
473         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
474             ID3DDestructionNotifier * This,
475             /* [in] */ REFIID riid,
476             /* [annotation][iid_is][out] */
477             _COM_Outptr_  void **ppvObject);
478 
479         ULONG ( STDMETHODCALLTYPE *AddRef )(
480             ID3DDestructionNotifier * This);
481 
482         ULONG ( STDMETHODCALLTYPE *Release )(
483             ID3DDestructionNotifier * This);
484 
485         HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )(
486             ID3DDestructionNotifier * This,
487             /* [annotation] */
488             _In_  PFN_DESTRUCTION_CALLBACK callbackFn,
489             /* [annotation] */
490             _In_  void *pData,
491             /* [annotation] */
492             _Out_  UINT *pCallbackID);
493 
494         HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )(
495             ID3DDestructionNotifier * This,
496             /* [annotation] */
497             _In_  UINT callbackID);
498 
499         END_INTERFACE
500     } ID3DDestructionNotifierVtbl;
501 
502     interface ID3DDestructionNotifier
503     {
504         CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl;
505     };
506 
507 #ifdef COBJMACROS
508 
509 #define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject)	\
510     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
511 
512 #define ID3DDestructionNotifier_AddRef(This)	\
513     ( (This)->lpVtbl -> AddRef(This) )
514 
515 #define ID3DDestructionNotifier_Release(This)	\
516     ( (This)->lpVtbl -> Release(This) )
517 
518 #define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID)	\
519     ( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) )
520 
521 #define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID)	\
522     ( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) )
523 
524 #endif /* COBJMACROS */
525 
526 #endif 	/* C style interface */
527 
528 #endif 	/* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
529 
530 /* interface __MIDL_itf_d3dcommon_0000_0002 */
531 /* [local] */
532 
533 typedef
534 enum _D3D_INCLUDE_TYPE
535     {
536         D3D_INCLUDE_LOCAL	= 0,
537         D3D_INCLUDE_SYSTEM	= ( D3D_INCLUDE_LOCAL + 1 ) ,
538         D3D10_INCLUDE_LOCAL	= D3D_INCLUDE_LOCAL,
539         D3D10_INCLUDE_SYSTEM	= D3D_INCLUDE_SYSTEM,
540         D3D_INCLUDE_FORCE_DWORD	= 0x7fffffff
541     } 	D3D_INCLUDE_TYPE;
542 
543 typedef interface ID3DInclude ID3DInclude;
544 #undef INTERFACE
545 #define INTERFACE ID3DInclude
DECLARE_INTERFACE(ID3DInclude)546 DECLARE_INTERFACE(ID3DInclude)
547 {
548     STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;
549     STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;
550 };
551 typedef ID3DInclude* LPD3DINCLUDE;
552 typedef
553 enum _D3D_SHADER_VARIABLE_CLASS
554     {
555         D3D_SVC_SCALAR	= 0,
556         D3D_SVC_VECTOR	= ( D3D_SVC_SCALAR + 1 ) ,
557         D3D_SVC_MATRIX_ROWS	= ( D3D_SVC_VECTOR + 1 ) ,
558         D3D_SVC_MATRIX_COLUMNS	= ( D3D_SVC_MATRIX_ROWS + 1 ) ,
559         D3D_SVC_OBJECT	= ( D3D_SVC_MATRIX_COLUMNS + 1 ) ,
560         D3D_SVC_STRUCT	= ( D3D_SVC_OBJECT + 1 ) ,
561         D3D_SVC_INTERFACE_CLASS	= ( D3D_SVC_STRUCT + 1 ) ,
562         D3D_SVC_INTERFACE_POINTER	= ( D3D_SVC_INTERFACE_CLASS + 1 ) ,
563         D3D10_SVC_SCALAR	= D3D_SVC_SCALAR,
564         D3D10_SVC_VECTOR	= D3D_SVC_VECTOR,
565         D3D10_SVC_MATRIX_ROWS	= D3D_SVC_MATRIX_ROWS,
566         D3D10_SVC_MATRIX_COLUMNS	= D3D_SVC_MATRIX_COLUMNS,
567         D3D10_SVC_OBJECT	= D3D_SVC_OBJECT,
568         D3D10_SVC_STRUCT	= D3D_SVC_STRUCT,
569         D3D11_SVC_INTERFACE_CLASS	= D3D_SVC_INTERFACE_CLASS,
570         D3D11_SVC_INTERFACE_POINTER	= D3D_SVC_INTERFACE_POINTER,
571         D3D_SVC_FORCE_DWORD	= 0x7fffffff
572     } 	D3D_SHADER_VARIABLE_CLASS;
573 
574 typedef
575 enum _D3D_SHADER_VARIABLE_FLAGS
576     {
577         D3D_SVF_USERPACKED	= 1,
578         D3D_SVF_USED	= 2,
579         D3D_SVF_INTERFACE_POINTER	= 4,
580         D3D_SVF_INTERFACE_PARAMETER	= 8,
581         D3D10_SVF_USERPACKED	= D3D_SVF_USERPACKED,
582         D3D10_SVF_USED	= D3D_SVF_USED,
583         D3D11_SVF_INTERFACE_POINTER	= D3D_SVF_INTERFACE_POINTER,
584         D3D11_SVF_INTERFACE_PARAMETER	= D3D_SVF_INTERFACE_PARAMETER,
585         D3D_SVF_FORCE_DWORD	= 0x7fffffff
586     } 	D3D_SHADER_VARIABLE_FLAGS;
587 
588 typedef
589 enum _D3D_SHADER_VARIABLE_TYPE
590     {
591         D3D_SVT_VOID	= 0,
592         D3D_SVT_BOOL	= 1,
593         D3D_SVT_INT	= 2,
594         D3D_SVT_FLOAT	= 3,
595         D3D_SVT_STRING	= 4,
596         D3D_SVT_TEXTURE	= 5,
597         D3D_SVT_TEXTURE1D	= 6,
598         D3D_SVT_TEXTURE2D	= 7,
599         D3D_SVT_TEXTURE3D	= 8,
600         D3D_SVT_TEXTURECUBE	= 9,
601         D3D_SVT_SAMPLER	= 10,
602         D3D_SVT_SAMPLER1D	= 11,
603         D3D_SVT_SAMPLER2D	= 12,
604         D3D_SVT_SAMPLER3D	= 13,
605         D3D_SVT_SAMPLERCUBE	= 14,
606         D3D_SVT_PIXELSHADER	= 15,
607         D3D_SVT_VERTEXSHADER	= 16,
608         D3D_SVT_PIXELFRAGMENT	= 17,
609         D3D_SVT_VERTEXFRAGMENT	= 18,
610         D3D_SVT_UINT	= 19,
611         D3D_SVT_UINT8	= 20,
612         D3D_SVT_GEOMETRYSHADER	= 21,
613         D3D_SVT_RASTERIZER	= 22,
614         D3D_SVT_DEPTHSTENCIL	= 23,
615         D3D_SVT_BLEND	= 24,
616         D3D_SVT_BUFFER	= 25,
617         D3D_SVT_CBUFFER	= 26,
618         D3D_SVT_TBUFFER	= 27,
619         D3D_SVT_TEXTURE1DARRAY	= 28,
620         D3D_SVT_TEXTURE2DARRAY	= 29,
621         D3D_SVT_RENDERTARGETVIEW	= 30,
622         D3D_SVT_DEPTHSTENCILVIEW	= 31,
623         D3D_SVT_TEXTURE2DMS	= 32,
624         D3D_SVT_TEXTURE2DMSARRAY	= 33,
625         D3D_SVT_TEXTURECUBEARRAY	= 34,
626         D3D_SVT_HULLSHADER	= 35,
627         D3D_SVT_DOMAINSHADER	= 36,
628         D3D_SVT_INTERFACE_POINTER	= 37,
629         D3D_SVT_COMPUTESHADER	= 38,
630         D3D_SVT_DOUBLE	= 39,
631         D3D_SVT_RWTEXTURE1D	= 40,
632         D3D_SVT_RWTEXTURE1DARRAY	= 41,
633         D3D_SVT_RWTEXTURE2D	= 42,
634         D3D_SVT_RWTEXTURE2DARRAY	= 43,
635         D3D_SVT_RWTEXTURE3D	= 44,
636         D3D_SVT_RWBUFFER	= 45,
637         D3D_SVT_BYTEADDRESS_BUFFER	= 46,
638         D3D_SVT_RWBYTEADDRESS_BUFFER	= 47,
639         D3D_SVT_STRUCTURED_BUFFER	= 48,
640         D3D_SVT_RWSTRUCTURED_BUFFER	= 49,
641         D3D_SVT_APPEND_STRUCTURED_BUFFER	= 50,
642         D3D_SVT_CONSUME_STRUCTURED_BUFFER	= 51,
643         D3D_SVT_MIN8FLOAT	= 52,
644         D3D_SVT_MIN10FLOAT	= 53,
645         D3D_SVT_MIN16FLOAT	= 54,
646         D3D_SVT_MIN12INT	= 55,
647         D3D_SVT_MIN16INT	= 56,
648         D3D_SVT_MIN16UINT	= 57,
649         D3D10_SVT_VOID	= D3D_SVT_VOID,
650         D3D10_SVT_BOOL	= D3D_SVT_BOOL,
651         D3D10_SVT_INT	= D3D_SVT_INT,
652         D3D10_SVT_FLOAT	= D3D_SVT_FLOAT,
653         D3D10_SVT_STRING	= D3D_SVT_STRING,
654         D3D10_SVT_TEXTURE	= D3D_SVT_TEXTURE,
655         D3D10_SVT_TEXTURE1D	= D3D_SVT_TEXTURE1D,
656         D3D10_SVT_TEXTURE2D	= D3D_SVT_TEXTURE2D,
657         D3D10_SVT_TEXTURE3D	= D3D_SVT_TEXTURE3D,
658         D3D10_SVT_TEXTURECUBE	= D3D_SVT_TEXTURECUBE,
659         D3D10_SVT_SAMPLER	= D3D_SVT_SAMPLER,
660         D3D10_SVT_SAMPLER1D	= D3D_SVT_SAMPLER1D,
661         D3D10_SVT_SAMPLER2D	= D3D_SVT_SAMPLER2D,
662         D3D10_SVT_SAMPLER3D	= D3D_SVT_SAMPLER3D,
663         D3D10_SVT_SAMPLERCUBE	= D3D_SVT_SAMPLERCUBE,
664         D3D10_SVT_PIXELSHADER	= D3D_SVT_PIXELSHADER,
665         D3D10_SVT_VERTEXSHADER	= D3D_SVT_VERTEXSHADER,
666         D3D10_SVT_PIXELFRAGMENT	= D3D_SVT_PIXELFRAGMENT,
667         D3D10_SVT_VERTEXFRAGMENT	= D3D_SVT_VERTEXFRAGMENT,
668         D3D10_SVT_UINT	= D3D_SVT_UINT,
669         D3D10_SVT_UINT8	= D3D_SVT_UINT8,
670         D3D10_SVT_GEOMETRYSHADER	= D3D_SVT_GEOMETRYSHADER,
671         D3D10_SVT_RASTERIZER	= D3D_SVT_RASTERIZER,
672         D3D10_SVT_DEPTHSTENCIL	= D3D_SVT_DEPTHSTENCIL,
673         D3D10_SVT_BLEND	= D3D_SVT_BLEND,
674         D3D10_SVT_BUFFER	= D3D_SVT_BUFFER,
675         D3D10_SVT_CBUFFER	= D3D_SVT_CBUFFER,
676         D3D10_SVT_TBUFFER	= D3D_SVT_TBUFFER,
677         D3D10_SVT_TEXTURE1DARRAY	= D3D_SVT_TEXTURE1DARRAY,
678         D3D10_SVT_TEXTURE2DARRAY	= D3D_SVT_TEXTURE2DARRAY,
679         D3D10_SVT_RENDERTARGETVIEW	= D3D_SVT_RENDERTARGETVIEW,
680         D3D10_SVT_DEPTHSTENCILVIEW	= D3D_SVT_DEPTHSTENCILVIEW,
681         D3D10_SVT_TEXTURE2DMS	= D3D_SVT_TEXTURE2DMS,
682         D3D10_SVT_TEXTURE2DMSARRAY	= D3D_SVT_TEXTURE2DMSARRAY,
683         D3D10_SVT_TEXTURECUBEARRAY	= D3D_SVT_TEXTURECUBEARRAY,
684         D3D11_SVT_HULLSHADER	= D3D_SVT_HULLSHADER,
685         D3D11_SVT_DOMAINSHADER	= D3D_SVT_DOMAINSHADER,
686         D3D11_SVT_INTERFACE_POINTER	= D3D_SVT_INTERFACE_POINTER,
687         D3D11_SVT_COMPUTESHADER	= D3D_SVT_COMPUTESHADER,
688         D3D11_SVT_DOUBLE	= D3D_SVT_DOUBLE,
689         D3D11_SVT_RWTEXTURE1D	= D3D_SVT_RWTEXTURE1D,
690         D3D11_SVT_RWTEXTURE1DARRAY	= D3D_SVT_RWTEXTURE1DARRAY,
691         D3D11_SVT_RWTEXTURE2D	= D3D_SVT_RWTEXTURE2D,
692         D3D11_SVT_RWTEXTURE2DARRAY	= D3D_SVT_RWTEXTURE2DARRAY,
693         D3D11_SVT_RWTEXTURE3D	= D3D_SVT_RWTEXTURE3D,
694         D3D11_SVT_RWBUFFER	= D3D_SVT_RWBUFFER,
695         D3D11_SVT_BYTEADDRESS_BUFFER	= D3D_SVT_BYTEADDRESS_BUFFER,
696         D3D11_SVT_RWBYTEADDRESS_BUFFER	= D3D_SVT_RWBYTEADDRESS_BUFFER,
697         D3D11_SVT_STRUCTURED_BUFFER	= D3D_SVT_STRUCTURED_BUFFER,
698         D3D11_SVT_RWSTRUCTURED_BUFFER	= D3D_SVT_RWSTRUCTURED_BUFFER,
699         D3D11_SVT_APPEND_STRUCTURED_BUFFER	= D3D_SVT_APPEND_STRUCTURED_BUFFER,
700         D3D11_SVT_CONSUME_STRUCTURED_BUFFER	= D3D_SVT_CONSUME_STRUCTURED_BUFFER,
701         D3D_SVT_FORCE_DWORD	= 0x7fffffff
702     } 	D3D_SHADER_VARIABLE_TYPE;
703 
704 typedef
705 enum _D3D_SHADER_INPUT_FLAGS
706     {
707         D3D_SIF_USERPACKED	= 0x1,
708         D3D_SIF_COMPARISON_SAMPLER	= 0x2,
709         D3D_SIF_TEXTURE_COMPONENT_0	= 0x4,
710         D3D_SIF_TEXTURE_COMPONENT_1	= 0x8,
711         D3D_SIF_TEXTURE_COMPONENTS	= 0xc,
712         D3D_SIF_UNUSED	= 0x10,
713         D3D10_SIF_USERPACKED	= D3D_SIF_USERPACKED,
714         D3D10_SIF_COMPARISON_SAMPLER	= D3D_SIF_COMPARISON_SAMPLER,
715         D3D10_SIF_TEXTURE_COMPONENT_0	= D3D_SIF_TEXTURE_COMPONENT_0,
716         D3D10_SIF_TEXTURE_COMPONENT_1	= D3D_SIF_TEXTURE_COMPONENT_1,
717         D3D10_SIF_TEXTURE_COMPONENTS	= D3D_SIF_TEXTURE_COMPONENTS,
718         D3D_SIF_FORCE_DWORD	= 0x7fffffff
719     } 	D3D_SHADER_INPUT_FLAGS;
720 
721 typedef
722 enum _D3D_SHADER_INPUT_TYPE
723     {
724         D3D_SIT_CBUFFER	= 0,
725         D3D_SIT_TBUFFER	= ( D3D_SIT_CBUFFER + 1 ) ,
726         D3D_SIT_TEXTURE	= ( D3D_SIT_TBUFFER + 1 ) ,
727         D3D_SIT_SAMPLER	= ( D3D_SIT_TEXTURE + 1 ) ,
728         D3D_SIT_UAV_RWTYPED	= ( D3D_SIT_SAMPLER + 1 ) ,
729         D3D_SIT_STRUCTURED	= ( D3D_SIT_UAV_RWTYPED + 1 ) ,
730         D3D_SIT_UAV_RWSTRUCTURED	= ( D3D_SIT_STRUCTURED + 1 ) ,
731         D3D_SIT_BYTEADDRESS	= ( D3D_SIT_UAV_RWSTRUCTURED + 1 ) ,
732         D3D_SIT_UAV_RWBYTEADDRESS	= ( D3D_SIT_BYTEADDRESS + 1 ) ,
733         D3D_SIT_UAV_APPEND_STRUCTURED	= ( D3D_SIT_UAV_RWBYTEADDRESS + 1 ) ,
734         D3D_SIT_UAV_CONSUME_STRUCTURED	= ( D3D_SIT_UAV_APPEND_STRUCTURED + 1 ) ,
735         D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER	= ( D3D_SIT_UAV_CONSUME_STRUCTURED + 1 ) ,
736         D3D10_SIT_CBUFFER	= D3D_SIT_CBUFFER,
737         D3D10_SIT_TBUFFER	= D3D_SIT_TBUFFER,
738         D3D10_SIT_TEXTURE	= D3D_SIT_TEXTURE,
739         D3D10_SIT_SAMPLER	= D3D_SIT_SAMPLER,
740         D3D11_SIT_UAV_RWTYPED	= D3D_SIT_UAV_RWTYPED,
741         D3D11_SIT_STRUCTURED	= D3D_SIT_STRUCTURED,
742         D3D11_SIT_UAV_RWSTRUCTURED	= D3D_SIT_UAV_RWSTRUCTURED,
743         D3D11_SIT_BYTEADDRESS	= D3D_SIT_BYTEADDRESS,
744         D3D11_SIT_UAV_RWBYTEADDRESS	= D3D_SIT_UAV_RWBYTEADDRESS,
745         D3D11_SIT_UAV_APPEND_STRUCTURED	= D3D_SIT_UAV_APPEND_STRUCTURED,
746         D3D11_SIT_UAV_CONSUME_STRUCTURED	= D3D_SIT_UAV_CONSUME_STRUCTURED,
747         D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER	= D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER
748     } 	D3D_SHADER_INPUT_TYPE;
749 
750 typedef
751 enum _D3D_SHADER_CBUFFER_FLAGS
752     {
753         D3D_CBF_USERPACKED	= 1,
754         D3D10_CBF_USERPACKED	= D3D_CBF_USERPACKED,
755         D3D_CBF_FORCE_DWORD	= 0x7fffffff
756     } 	D3D_SHADER_CBUFFER_FLAGS;
757 
758 typedef
759 enum _D3D_CBUFFER_TYPE
760     {
761         D3D_CT_CBUFFER	= 0,
762         D3D_CT_TBUFFER	= ( D3D_CT_CBUFFER + 1 ) ,
763         D3D_CT_INTERFACE_POINTERS	= ( D3D_CT_TBUFFER + 1 ) ,
764         D3D_CT_RESOURCE_BIND_INFO	= ( D3D_CT_INTERFACE_POINTERS + 1 ) ,
765         D3D10_CT_CBUFFER	= D3D_CT_CBUFFER,
766         D3D10_CT_TBUFFER	= D3D_CT_TBUFFER,
767         D3D11_CT_CBUFFER	= D3D_CT_CBUFFER,
768         D3D11_CT_TBUFFER	= D3D_CT_TBUFFER,
769         D3D11_CT_INTERFACE_POINTERS	= D3D_CT_INTERFACE_POINTERS,
770         D3D11_CT_RESOURCE_BIND_INFO	= D3D_CT_RESOURCE_BIND_INFO
771     } 	D3D_CBUFFER_TYPE;
772 
773 typedef
774 enum D3D_NAME
775     {
776         D3D_NAME_UNDEFINED	= 0,
777         D3D_NAME_POSITION	= 1,
778         D3D_NAME_CLIP_DISTANCE	= 2,
779         D3D_NAME_CULL_DISTANCE	= 3,
780         D3D_NAME_RENDER_TARGET_ARRAY_INDEX	= 4,
781         D3D_NAME_VIEWPORT_ARRAY_INDEX	= 5,
782         D3D_NAME_VERTEX_ID	= 6,
783         D3D_NAME_PRIMITIVE_ID	= 7,
784         D3D_NAME_INSTANCE_ID	= 8,
785         D3D_NAME_IS_FRONT_FACE	= 9,
786         D3D_NAME_SAMPLE_INDEX	= 10,
787         D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR	= 11,
788         D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR	= 12,
789         D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR	= 13,
790         D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR	= 14,
791         D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR	= 15,
792         D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR	= 16,
793         D3D_NAME_BARYCENTRICS	= 23,
794         D3D_NAME_TARGET	= 64,
795         D3D_NAME_DEPTH	= 65,
796         D3D_NAME_COVERAGE	= 66,
797         D3D_NAME_DEPTH_GREATER_EQUAL	= 67,
798         D3D_NAME_DEPTH_LESS_EQUAL	= 68,
799         D3D_NAME_STENCIL_REF	= 69,
800         D3D_NAME_INNER_COVERAGE	= 70,
801         D3D10_NAME_UNDEFINED	= D3D_NAME_UNDEFINED,
802         D3D10_NAME_POSITION	= D3D_NAME_POSITION,
803         D3D10_NAME_CLIP_DISTANCE	= D3D_NAME_CLIP_DISTANCE,
804         D3D10_NAME_CULL_DISTANCE	= D3D_NAME_CULL_DISTANCE,
805         D3D10_NAME_RENDER_TARGET_ARRAY_INDEX	= D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
806         D3D10_NAME_VIEWPORT_ARRAY_INDEX	= D3D_NAME_VIEWPORT_ARRAY_INDEX,
807         D3D10_NAME_VERTEX_ID	= D3D_NAME_VERTEX_ID,
808         D3D10_NAME_PRIMITIVE_ID	= D3D_NAME_PRIMITIVE_ID,
809         D3D10_NAME_INSTANCE_ID	= D3D_NAME_INSTANCE_ID,
810         D3D10_NAME_IS_FRONT_FACE	= D3D_NAME_IS_FRONT_FACE,
811         D3D10_NAME_SAMPLE_INDEX	= D3D_NAME_SAMPLE_INDEX,
812         D3D10_NAME_TARGET	= D3D_NAME_TARGET,
813         D3D10_NAME_DEPTH	= D3D_NAME_DEPTH,
814         D3D10_NAME_COVERAGE	= D3D_NAME_COVERAGE,
815         D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR	= D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
816         D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR	= D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
817         D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR	= D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
818         D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR	= D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
819         D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR	= D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
820         D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR	= D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
821         D3D11_NAME_DEPTH_GREATER_EQUAL	= D3D_NAME_DEPTH_GREATER_EQUAL,
822         D3D11_NAME_DEPTH_LESS_EQUAL	= D3D_NAME_DEPTH_LESS_EQUAL,
823         D3D11_NAME_STENCIL_REF	= D3D_NAME_STENCIL_REF,
824         D3D11_NAME_INNER_COVERAGE	= D3D_NAME_INNER_COVERAGE,
825         D3D12_NAME_BARYCENTRICS	= D3D_NAME_BARYCENTRICS
826     } 	D3D_NAME;
827 
828 typedef
829 enum D3D_RESOURCE_RETURN_TYPE
830     {
831         D3D_RETURN_TYPE_UNORM	= 1,
832         D3D_RETURN_TYPE_SNORM	= 2,
833         D3D_RETURN_TYPE_SINT	= 3,
834         D3D_RETURN_TYPE_UINT	= 4,
835         D3D_RETURN_TYPE_FLOAT	= 5,
836         D3D_RETURN_TYPE_MIXED	= 6,
837         D3D_RETURN_TYPE_DOUBLE	= 7,
838         D3D_RETURN_TYPE_CONTINUED	= 8,
839         D3D10_RETURN_TYPE_UNORM	= D3D_RETURN_TYPE_UNORM,
840         D3D10_RETURN_TYPE_SNORM	= D3D_RETURN_TYPE_SNORM,
841         D3D10_RETURN_TYPE_SINT	= D3D_RETURN_TYPE_SINT,
842         D3D10_RETURN_TYPE_UINT	= D3D_RETURN_TYPE_UINT,
843         D3D10_RETURN_TYPE_FLOAT	= D3D_RETURN_TYPE_FLOAT,
844         D3D10_RETURN_TYPE_MIXED	= D3D_RETURN_TYPE_MIXED,
845         D3D11_RETURN_TYPE_UNORM	= D3D_RETURN_TYPE_UNORM,
846         D3D11_RETURN_TYPE_SNORM	= D3D_RETURN_TYPE_SNORM,
847         D3D11_RETURN_TYPE_SINT	= D3D_RETURN_TYPE_SINT,
848         D3D11_RETURN_TYPE_UINT	= D3D_RETURN_TYPE_UINT,
849         D3D11_RETURN_TYPE_FLOAT	= D3D_RETURN_TYPE_FLOAT,
850         D3D11_RETURN_TYPE_MIXED	= D3D_RETURN_TYPE_MIXED,
851         D3D11_RETURN_TYPE_DOUBLE	= D3D_RETURN_TYPE_DOUBLE,
852         D3D11_RETURN_TYPE_CONTINUED	= D3D_RETURN_TYPE_CONTINUED
853     } 	D3D_RESOURCE_RETURN_TYPE;
854 
855 typedef
856 enum D3D_REGISTER_COMPONENT_TYPE
857     {
858         D3D_REGISTER_COMPONENT_UNKNOWN	= 0,
859         D3D_REGISTER_COMPONENT_UINT32	= 1,
860         D3D_REGISTER_COMPONENT_SINT32	= 2,
861         D3D_REGISTER_COMPONENT_FLOAT32	= 3,
862         D3D10_REGISTER_COMPONENT_UNKNOWN	= D3D_REGISTER_COMPONENT_UNKNOWN,
863         D3D10_REGISTER_COMPONENT_UINT32	= D3D_REGISTER_COMPONENT_UINT32,
864         D3D10_REGISTER_COMPONENT_SINT32	= D3D_REGISTER_COMPONENT_SINT32,
865         D3D10_REGISTER_COMPONENT_FLOAT32	= D3D_REGISTER_COMPONENT_FLOAT32
866     } 	D3D_REGISTER_COMPONENT_TYPE;
867 
868 typedef
869 enum D3D_TESSELLATOR_DOMAIN
870     {
871         D3D_TESSELLATOR_DOMAIN_UNDEFINED	= 0,
872         D3D_TESSELLATOR_DOMAIN_ISOLINE	= 1,
873         D3D_TESSELLATOR_DOMAIN_TRI	= 2,
874         D3D_TESSELLATOR_DOMAIN_QUAD	= 3,
875         D3D11_TESSELLATOR_DOMAIN_UNDEFINED	= D3D_TESSELLATOR_DOMAIN_UNDEFINED,
876         D3D11_TESSELLATOR_DOMAIN_ISOLINE	= D3D_TESSELLATOR_DOMAIN_ISOLINE,
877         D3D11_TESSELLATOR_DOMAIN_TRI	= D3D_TESSELLATOR_DOMAIN_TRI,
878         D3D11_TESSELLATOR_DOMAIN_QUAD	= D3D_TESSELLATOR_DOMAIN_QUAD
879     } 	D3D_TESSELLATOR_DOMAIN;
880 
881 typedef
882 enum D3D_TESSELLATOR_PARTITIONING
883     {
884         D3D_TESSELLATOR_PARTITIONING_UNDEFINED	= 0,
885         D3D_TESSELLATOR_PARTITIONING_INTEGER	= 1,
886         D3D_TESSELLATOR_PARTITIONING_POW2	= 2,
887         D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD	= 3,
888         D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN	= 4,
889         D3D11_TESSELLATOR_PARTITIONING_UNDEFINED	= D3D_TESSELLATOR_PARTITIONING_UNDEFINED,
890         D3D11_TESSELLATOR_PARTITIONING_INTEGER	= D3D_TESSELLATOR_PARTITIONING_INTEGER,
891         D3D11_TESSELLATOR_PARTITIONING_POW2	= D3D_TESSELLATOR_PARTITIONING_POW2,
892         D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD	= D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
893         D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN	= D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN
894     } 	D3D_TESSELLATOR_PARTITIONING;
895 
896 typedef
897 enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
898     {
899         D3D_TESSELLATOR_OUTPUT_UNDEFINED	= 0,
900         D3D_TESSELLATOR_OUTPUT_POINT	= 1,
901         D3D_TESSELLATOR_OUTPUT_LINE	= 2,
902         D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW	= 3,
903         D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW	= 4,
904         D3D11_TESSELLATOR_OUTPUT_UNDEFINED	= D3D_TESSELLATOR_OUTPUT_UNDEFINED,
905         D3D11_TESSELLATOR_OUTPUT_POINT	= D3D_TESSELLATOR_OUTPUT_POINT,
906         D3D11_TESSELLATOR_OUTPUT_LINE	= D3D_TESSELLATOR_OUTPUT_LINE,
907         D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW	= D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
908         D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW	= D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW
909     } 	D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
910 
911 typedef
912 enum D3D_MIN_PRECISION
913     {
914         D3D_MIN_PRECISION_DEFAULT	= 0,
915         D3D_MIN_PRECISION_FLOAT_16	= 1,
916         D3D_MIN_PRECISION_FLOAT_2_8	= 2,
917         D3D_MIN_PRECISION_RESERVED	= 3,
918         D3D_MIN_PRECISION_SINT_16	= 4,
919         D3D_MIN_PRECISION_UINT_16	= 5,
920         D3D_MIN_PRECISION_ANY_16	= 0xf0,
921         D3D_MIN_PRECISION_ANY_10	= 0xf1
922     } 	D3D_MIN_PRECISION;
923 
924 typedef
925 enum D3D_INTERPOLATION_MODE
926     {
927         D3D_INTERPOLATION_UNDEFINED	= 0,
928         D3D_INTERPOLATION_CONSTANT	= 1,
929         D3D_INTERPOLATION_LINEAR	= 2,
930         D3D_INTERPOLATION_LINEAR_CENTROID	= 3,
931         D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE	= 4,
932         D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID	= 5,
933         D3D_INTERPOLATION_LINEAR_SAMPLE	= 6,
934         D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE	= 7
935     } 	D3D_INTERPOLATION_MODE;
936 
937 typedef
938 enum _D3D_PARAMETER_FLAGS
939     {
940         D3D_PF_NONE	= 0,
941         D3D_PF_IN	= 0x1,
942         D3D_PF_OUT	= 0x2,
943         D3D_PF_FORCE_DWORD	= 0x7fffffff
944     } 	D3D_PARAMETER_FLAGS;
945 
946 DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
947 DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);
948 DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);
949 #define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)
950 #define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)
951 #define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)
952 #define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)
953 #define D3D_COMPONENT_MASK_X   1
954 #define D3D_COMPONENT_MASK_Y   2
955 #define D3D_COMPONENT_MASK_Z   4
956 #define D3D_COMPONENT_MASK_W   8
957 
958 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec;
959 extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec;
960 
961 /* Additional Prototypes for ALL interfaces */
962 
963 /* end of Additional Prototypes */
964 
965 #ifdef __cplusplus
966 }
967 #endif
968 
969 #endif
970