Subversion Repositories Games.Chess Giants

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
/*-------------------------------------------------------------------------------------
2
 *
3
 * Copyright (c) Microsoft Corporation
4
 *
5
 *-------------------------------------------------------------------------------------*/
6
 
7
 
8
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
9
 
10
 
11
 /* File created by MIDL compiler version 7.00.0555 */
12
/* Compiler settings for d3d11.idl:
13
    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 7.00.0555
14
    protocol : all , ms_ext, c_ext, robust
15
    error checks: allocation ref bounds_check enum stub_data
16
    VC __declspec() decoration level:
17
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
18
         DECLSPEC_UUID(), MIDL_INTERFACE()
19
*/
20
/* @@MIDL_FILE_HEADING(  ) */
21
 
22
#pragma warning( disable: 4049 )  /* more than 64k source lines */
23
 
24
 
25
/* verify that the <rpcndr.h> version is high enough to compile this file*/
26
#ifndef __REQUIRED_RPCNDR_H_VERSION__
27
#define __REQUIRED_RPCNDR_H_VERSION__ 475
28
#endif
29
 
30
/* verify that the <rpcsal.h> version is high enough to compile this file*/
31
#ifndef __REQUIRED_RPCSAL_H_VERSION__
32
#define __REQUIRED_RPCSAL_H_VERSION__ 100
33
#endif
34
 
35
#include "rpc.h"
36
#include "rpcndr.h"
37
 
38
#ifndef __RPCNDR_H_VERSION__
39
#error this stub requires an updated version of <rpcndr.h>
40
#endif // __RPCNDR_H_VERSION__
41
 
42
#ifndef COM_NO_WINDOWS_H
43
#include "windows.h"
44
#include "ole2.h"
45
#endif /*COM_NO_WINDOWS_H*/
46
 
47
#ifndef __d3d11_h__
48
#define __d3d11_h__
49
 
50
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
51
#pragma once
52
#endif
53
 
54
/* Forward Declarations */
55
 
56
#ifndef __ID3D11DeviceChild_FWD_DEFINED__
57
#define __ID3D11DeviceChild_FWD_DEFINED__
58
typedef interface ID3D11DeviceChild ID3D11DeviceChild;
59
#endif  /* __ID3D11DeviceChild_FWD_DEFINED__ */
60
 
61
 
62
#ifndef __ID3D11DepthStencilState_FWD_DEFINED__
63
#define __ID3D11DepthStencilState_FWD_DEFINED__
64
typedef interface ID3D11DepthStencilState ID3D11DepthStencilState;
65
#endif  /* __ID3D11DepthStencilState_FWD_DEFINED__ */
66
 
67
 
68
#ifndef __ID3D11BlendState_FWD_DEFINED__
69
#define __ID3D11BlendState_FWD_DEFINED__
70
typedef interface ID3D11BlendState ID3D11BlendState;
71
#endif  /* __ID3D11BlendState_FWD_DEFINED__ */
72
 
73
 
74
#ifndef __ID3D11RasterizerState_FWD_DEFINED__
75
#define __ID3D11RasterizerState_FWD_DEFINED__
76
typedef interface ID3D11RasterizerState ID3D11RasterizerState;
77
#endif  /* __ID3D11RasterizerState_FWD_DEFINED__ */
78
 
79
 
80
#ifndef __ID3D11Resource_FWD_DEFINED__
81
#define __ID3D11Resource_FWD_DEFINED__
82
typedef interface ID3D11Resource ID3D11Resource;
83
#endif  /* __ID3D11Resource_FWD_DEFINED__ */
84
 
85
 
86
#ifndef __ID3D11Buffer_FWD_DEFINED__
87
#define __ID3D11Buffer_FWD_DEFINED__
88
typedef interface ID3D11Buffer ID3D11Buffer;
89
#endif  /* __ID3D11Buffer_FWD_DEFINED__ */
90
 
91
 
92
#ifndef __ID3D11Texture1D_FWD_DEFINED__
93
#define __ID3D11Texture1D_FWD_DEFINED__
94
typedef interface ID3D11Texture1D ID3D11Texture1D;
95
#endif  /* __ID3D11Texture1D_FWD_DEFINED__ */
96
 
97
 
98
#ifndef __ID3D11Texture2D_FWD_DEFINED__
99
#define __ID3D11Texture2D_FWD_DEFINED__
100
typedef interface ID3D11Texture2D ID3D11Texture2D;
101
#endif  /* __ID3D11Texture2D_FWD_DEFINED__ */
102
 
103
 
104
#ifndef __ID3D11Texture3D_FWD_DEFINED__
105
#define __ID3D11Texture3D_FWD_DEFINED__
106
typedef interface ID3D11Texture3D ID3D11Texture3D;
107
#endif  /* __ID3D11Texture3D_FWD_DEFINED__ */
108
 
109
 
110
#ifndef __ID3D11View_FWD_DEFINED__
111
#define __ID3D11View_FWD_DEFINED__
112
typedef interface ID3D11View ID3D11View;
113
#endif  /* __ID3D11View_FWD_DEFINED__ */
114
 
115
 
116
#ifndef __ID3D11ShaderResourceView_FWD_DEFINED__
117
#define __ID3D11ShaderResourceView_FWD_DEFINED__
118
typedef interface ID3D11ShaderResourceView ID3D11ShaderResourceView;
119
#endif  /* __ID3D11ShaderResourceView_FWD_DEFINED__ */
120
 
121
 
122
#ifndef __ID3D11RenderTargetView_FWD_DEFINED__
123
#define __ID3D11RenderTargetView_FWD_DEFINED__
124
typedef interface ID3D11RenderTargetView ID3D11RenderTargetView;
125
#endif  /* __ID3D11RenderTargetView_FWD_DEFINED__ */
126
 
127
 
128
#ifndef __ID3D11DepthStencilView_FWD_DEFINED__
129
#define __ID3D11DepthStencilView_FWD_DEFINED__
130
typedef interface ID3D11DepthStencilView ID3D11DepthStencilView;
131
#endif  /* __ID3D11DepthStencilView_FWD_DEFINED__ */
132
 
133
 
134
#ifndef __ID3D11UnorderedAccessView_FWD_DEFINED__
135
#define __ID3D11UnorderedAccessView_FWD_DEFINED__
136
typedef interface ID3D11UnorderedAccessView ID3D11UnorderedAccessView;
137
#endif  /* __ID3D11UnorderedAccessView_FWD_DEFINED__ */
138
 
139
 
140
#ifndef __ID3D11VertexShader_FWD_DEFINED__
141
#define __ID3D11VertexShader_FWD_DEFINED__
142
typedef interface ID3D11VertexShader ID3D11VertexShader;
143
#endif  /* __ID3D11VertexShader_FWD_DEFINED__ */
144
 
145
 
146
#ifndef __ID3D11HullShader_FWD_DEFINED__
147
#define __ID3D11HullShader_FWD_DEFINED__
148
typedef interface ID3D11HullShader ID3D11HullShader;
149
#endif  /* __ID3D11HullShader_FWD_DEFINED__ */
150
 
151
 
152
#ifndef __ID3D11DomainShader_FWD_DEFINED__
153
#define __ID3D11DomainShader_FWD_DEFINED__
154
typedef interface ID3D11DomainShader ID3D11DomainShader;
155
#endif  /* __ID3D11DomainShader_FWD_DEFINED__ */
156
 
157
 
158
#ifndef __ID3D11GeometryShader_FWD_DEFINED__
159
#define __ID3D11GeometryShader_FWD_DEFINED__
160
typedef interface ID3D11GeometryShader ID3D11GeometryShader;
161
#endif  /* __ID3D11GeometryShader_FWD_DEFINED__ */
162
 
163
 
164
#ifndef __ID3D11PixelShader_FWD_DEFINED__
165
#define __ID3D11PixelShader_FWD_DEFINED__
166
typedef interface ID3D11PixelShader ID3D11PixelShader;
167
#endif  /* __ID3D11PixelShader_FWD_DEFINED__ */
168
 
169
 
170
#ifndef __ID3D11ComputeShader_FWD_DEFINED__
171
#define __ID3D11ComputeShader_FWD_DEFINED__
172
typedef interface ID3D11ComputeShader ID3D11ComputeShader;
173
#endif  /* __ID3D11ComputeShader_FWD_DEFINED__ */
174
 
175
 
176
#ifndef __ID3D11InputLayout_FWD_DEFINED__
177
#define __ID3D11InputLayout_FWD_DEFINED__
178
typedef interface ID3D11InputLayout ID3D11InputLayout;
179
#endif  /* __ID3D11InputLayout_FWD_DEFINED__ */
180
 
181
 
182
#ifndef __ID3D11SamplerState_FWD_DEFINED__
183
#define __ID3D11SamplerState_FWD_DEFINED__
184
typedef interface ID3D11SamplerState ID3D11SamplerState;
185
#endif  /* __ID3D11SamplerState_FWD_DEFINED__ */
186
 
187
 
188
#ifndef __ID3D11Asynchronous_FWD_DEFINED__
189
#define __ID3D11Asynchronous_FWD_DEFINED__
190
typedef interface ID3D11Asynchronous ID3D11Asynchronous;
191
#endif  /* __ID3D11Asynchronous_FWD_DEFINED__ */
192
 
193
 
194
#ifndef __ID3D11Query_FWD_DEFINED__
195
#define __ID3D11Query_FWD_DEFINED__
196
typedef interface ID3D11Query ID3D11Query;
197
#endif  /* __ID3D11Query_FWD_DEFINED__ */
198
 
199
 
200
#ifndef __ID3D11Predicate_FWD_DEFINED__
201
#define __ID3D11Predicate_FWD_DEFINED__
202
typedef interface ID3D11Predicate ID3D11Predicate;
203
#endif  /* __ID3D11Predicate_FWD_DEFINED__ */
204
 
205
 
206
#ifndef __ID3D11Counter_FWD_DEFINED__
207
#define __ID3D11Counter_FWD_DEFINED__
208
typedef interface ID3D11Counter ID3D11Counter;
209
#endif  /* __ID3D11Counter_FWD_DEFINED__ */
210
 
211
 
212
#ifndef __ID3D11ClassInstance_FWD_DEFINED__
213
#define __ID3D11ClassInstance_FWD_DEFINED__
214
typedef interface ID3D11ClassInstance ID3D11ClassInstance;
215
#endif  /* __ID3D11ClassInstance_FWD_DEFINED__ */
216
 
217
 
218
#ifndef __ID3D11ClassLinkage_FWD_DEFINED__
219
#define __ID3D11ClassLinkage_FWD_DEFINED__
220
typedef interface ID3D11ClassLinkage ID3D11ClassLinkage;
221
#endif  /* __ID3D11ClassLinkage_FWD_DEFINED__ */
222
 
223
 
224
#ifndef __ID3D11CommandList_FWD_DEFINED__
225
#define __ID3D11CommandList_FWD_DEFINED__
226
typedef interface ID3D11CommandList ID3D11CommandList;
227
#endif  /* __ID3D11CommandList_FWD_DEFINED__ */
228
 
229
 
230
#ifndef __ID3D11DeviceContext_FWD_DEFINED__
231
#define __ID3D11DeviceContext_FWD_DEFINED__
232
typedef interface ID3D11DeviceContext ID3D11DeviceContext;
233
#endif  /* __ID3D11DeviceContext_FWD_DEFINED__ */
234
 
235
 
236
#ifndef __ID3D11Device_FWD_DEFINED__
237
#define __ID3D11Device_FWD_DEFINED__
238
typedef interface ID3D11Device ID3D11Device;
239
#endif  /* __ID3D11Device_FWD_DEFINED__ */
240
 
241
 
242
/* header files for imported files */
243
#include "oaidl.h"
244
#include "ocidl.h"
245
#include "dxgi.h"
246
#include "d3dcommon.h"
247
 
248
#ifdef __cplusplus
249
extern "C"{
250
#endif 
251
 
252
 
253
/* interface __MIDL_itf_d3d11_0000_0000 */
254
/* [local] */
255
 
256
#ifndef _D3D11_CONSTANTS
257
#define _D3D11_CONSTANTS
258
#define D3D11_16BIT_INDEX_STRIP_CUT_VALUE       ( 0xffff )
259
 
260
#define D3D11_32BIT_INDEX_STRIP_CUT_VALUE       ( 0xffffffff )
261
 
262
#define D3D11_8BIT_INDEX_STRIP_CUT_VALUE        ( 0xff )
263
 
264
#define D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT        ( 9 )
265
 
266
#define D3D11_CLIP_OR_CULL_DISTANCE_COUNT       ( 8 )
267
 
268
#define D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT       ( 2 )
269
 
270
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT       ( 14 )
271
 
272
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS   ( 4 )
273
 
274
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT  ( 32 )
275
 
276
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT        ( 15 )
277
 
278
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS  ( 4 )
279
 
280
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT       ( 15 )
281
 
282
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST      ( 1 )
283
 
284
#define D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS  ( 1 )
285
 
286
#define D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT    ( 64 )
287
 
288
#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS        ( 4 )
289
 
290
#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT     ( 1 )
291
 
292
#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST    ( 1 )
293
 
294
#define D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS        ( 1 )
295
 
296
#define D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT  ( 32 )
297
 
298
#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS   ( 1 )
299
 
300
#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT        ( 128 )
301
 
302
#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST       ( 1 )
303
 
304
#define D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS   ( 1 )
305
 
306
#define D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT    ( 128 )
307
 
308
#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS  ( 1 )
309
 
310
#define D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT       ( 16 )
311
 
312
#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST      ( 1 )
313
 
314
#define D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS  ( 1 )
315
 
316
#define D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT   ( 16 )
317
 
318
#define D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT     ( 32 )
319
 
320
#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS     ( 4 )
321
 
322
#define D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
323
 
324
#define D3D11_COMMONSHADER_TEMP_REGISTER_COUNT  ( 4096 )
325
 
326
#define D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
327
 
328
#define D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS     ( 3 )
329
 
330
#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
331
 
332
#define D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
333
 
334
#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE    ( -8 )
335
 
336
#define D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE    ( 7 )
337
 
338
#define D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 256 )
339
 
340
#define D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP ( 64 )
341
 
342
#define D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 240 )
343
 
344
#define D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP ( 68 )
345
 
346
#define D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 224 )
347
 
348
#define D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP ( 72 )
349
 
350
#define D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 208 )
351
 
352
#define D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP ( 76 )
353
 
354
#define D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 192 )
355
 
356
#define D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP ( 84 )
357
 
358
#define D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 176 )
359
 
360
#define D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP ( 92 )
361
 
362
#define D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 160 )
363
 
364
#define D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP ( 100 )
365
 
366
#define D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 144 )
367
 
368
#define D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP ( 112 )
369
 
370
#define D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 128 )
371
 
372
#define D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP ( 128 )
373
 
374
#define D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 112 )
375
 
376
#define D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP ( 144 )
377
 
378
#define D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 96 )
379
 
380
#define D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP ( 168 )
381
 
382
#define D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 80 )
383
 
384
#define D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP ( 204 )
385
 
386
#define D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 64 )
387
 
388
#define D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP ( 256 )
389
 
390
#define D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 48 )
391
 
392
#define D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP ( 340 )
393
 
394
#define D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 32 )
395
 
396
#define D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP ( 512 )
397
 
398
#define D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD        ( 16 )
399
 
400
#define D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP ( 768 )
401
 
402
#define D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION  ( 1 )
403
 
404
#define D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT     ( 256 )
405
 
406
#define D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP ( 768 )
407
 
408
#define D3D11_CS_4_X_THREAD_GROUP_MAX_X ( 768 )
409
 
410
#define D3D11_CS_4_X_THREAD_GROUP_MAX_Y ( 768 )
411
 
412
#define D3D11_CS_4_X_UAV_REGISTER_COUNT ( 1 )
413
 
414
#define D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION       ( 65535 )
415
 
416
#define D3D11_CS_TGSM_REGISTER_COUNT    ( 8192 )
417
 
418
#define D3D11_CS_TGSM_REGISTER_READS_PER_INST   ( 1 )
419
 
420
#define D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS      ( 1 )
421
 
422
#define D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS      ( 1 )
423
 
424
#define D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP     ( 1024 )
425
 
426
#define D3D11_CS_THREAD_GROUP_MAX_X     ( 1024 )
427
 
428
#define D3D11_CS_THREAD_GROUP_MAX_Y     ( 1024 )
429
 
430
#define D3D11_CS_THREAD_GROUP_MAX_Z     ( 64 )
431
 
432
#define D3D11_CS_THREAD_GROUP_MIN_X     ( 1 )
433
 
434
#define D3D11_CS_THREAD_GROUP_MIN_Y     ( 1 )
435
 
436
#define D3D11_CS_THREAD_GROUP_MIN_Z     ( 1 )
437
 
438
#define D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL        ( 16384 )
439
 
440
#define D3D11_DEFAULT_BLEND_FACTOR_ALPHA        ( 1.0f )
441
#define D3D11_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
442
#define D3D11_DEFAULT_BLEND_FACTOR_GREEN        ( 1.0f )
443
#define D3D11_DEFAULT_BLEND_FACTOR_RED  ( 1.0f )
444
#define D3D11_DEFAULT_BORDER_COLOR_COMPONENT    ( 0.0f )
445
#define D3D11_DEFAULT_DEPTH_BIAS        ( 0 )
446
 
447
#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP  ( 0.0f )
448
#define D3D11_DEFAULT_MAX_ANISOTROPY    ( 16 )
449
#define D3D11_DEFAULT_MIP_LOD_BIAS      ( 0.0f )
450
#define D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
451
 
452
#define D3D11_DEFAULT_SAMPLE_MASK       ( 0xffffffff )
453
 
454
#define D3D11_DEFAULT_SCISSOR_ENDX      ( 0 )
455
 
456
#define D3D11_DEFAULT_SCISSOR_ENDY      ( 0 )
457
 
458
#define D3D11_DEFAULT_SCISSOR_STARTX    ( 0 )
459
 
460
#define D3D11_DEFAULT_SCISSOR_STARTY    ( 0 )
461
 
462
#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS   ( 0.0f )
463
#define D3D11_DEFAULT_STENCIL_READ_MASK ( 0xff )
464
 
465
#define D3D11_DEFAULT_STENCIL_REFERENCE ( 0 )
466
 
467
#define D3D11_DEFAULT_STENCIL_WRITE_MASK        ( 0xff )
468
 
469
#define D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX    ( 0 )
470
 
471
#define D3D11_DEFAULT_VIEWPORT_HEIGHT   ( 0 )
472
 
473
#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH        ( 0.0f )
474
#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH        ( 0.0f )
475
#define D3D11_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
476
 
477
#define D3D11_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
478
 
479
#define D3D11_DEFAULT_VIEWPORT_WIDTH    ( 0 )
480
 
481
#define D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS ( 3968 )
482
 
483
#define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS        ( 4 )
484
 
485
#define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT       ( 32 )
486
 
487
#define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT     ( 32 )
488
 
489
#define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST    ( 2 )
490
 
491
#define D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS        ( 1 )
492
 
493
#define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS ( 3 )
494
 
495
#define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT        ( 32 )
496
 
497
#define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT      ( 1 )
498
 
499
#define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST     ( 2 )
500
 
501
#define D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS ( 1 )
502
 
503
#define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS       ( 4 )
504
 
505
#define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT      ( 32 )
506
 
507
#define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT    ( 32 )
508
 
509
#define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST   ( 2 )
510
 
511
#define D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS       ( 1 )
512
 
513
#define D3D11_DS_OUTPUT_REGISTER_COMPONENTS     ( 4 )
514
 
515
#define D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
516
 
517
#define D3D11_DS_OUTPUT_REGISTER_COUNT  ( 32 )
518
 
519
#define D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP    ( 0.6 )
520
#define D3D11_FLOAT32_MAX       ( 3.402823466e+38f )
521
#define D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP       ( 0.6f )
522
#define D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR        ( 2.4f )
523
#define D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR  ( 1.0f )
524
#define D3D11_FLOAT_TO_SRGB_OFFSET      ( 0.055f )
525
#define D3D11_FLOAT_TO_SRGB_SCALE_1     ( 12.92f )
526
#define D3D11_FLOAT_TO_SRGB_SCALE_2     ( 1.055f )
527
#define D3D11_FLOAT_TO_SRGB_THRESHOLD   ( 0.0031308f )
528
#define D3D11_FTOI_INSTRUCTION_MAX_INPUT        ( 2147483647.999f )
529
#define D3D11_FTOI_INSTRUCTION_MIN_INPUT        ( -2147483648.999f )
530
#define D3D11_FTOU_INSTRUCTION_MAX_INPUT        ( 4294967295.999f )
531
#define D3D11_FTOU_INSTRUCTION_MIN_INPUT        ( 0.0f )
532
#define D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST       ( 2 )
533
 
534
#define D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS   ( 1 )
535
 
536
#define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS  ( 1 )
537
 
538
#define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT ( 32 )
539
 
540
#define D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT       ( 1 )
541
 
542
#define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS   ( 1 )
543
 
544
#define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT  ( 32 )
545
 
546
#define D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT        ( 1 )
547
 
548
#define D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST       ( 2 )
549
 
550
#define D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS   ( 1 )
551
 
552
#define D3D11_GS_INPUT_REGISTER_COMPONENTS      ( 4 )
553
 
554
#define D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
555
 
556
#define D3D11_GS_INPUT_REGISTER_COUNT   ( 32 )
557
 
558
#define D3D11_GS_INPUT_REGISTER_READS_PER_INST  ( 2 )
559
 
560
#define D3D11_GS_INPUT_REGISTER_READ_PORTS      ( 1 )
561
 
562
#define D3D11_GS_INPUT_REGISTER_VERTICES        ( 32 )
563
 
564
#define D3D11_GS_MAX_INSTANCE_COUNT     ( 32 )
565
 
566
#define D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES       ( 1024 )
567
 
568
#define D3D11_GS_OUTPUT_ELEMENTS        ( 32 )
569
 
570
#define D3D11_GS_OUTPUT_REGISTER_COMPONENTS     ( 4 )
571
 
572
#define D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
573
 
574
#define D3D11_GS_OUTPUT_REGISTER_COUNT  ( 32 )
575
 
576
#define D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT       ( 32 )
577
 
578
#define D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT      ( 32 )
579
 
580
#define D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS      ( 4 )
581
 
582
#define D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
583
 
584
#define D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST  ( 2 )
585
 
586
#define D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS      ( 1 )
587
 
588
#define D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND  ( 0xffffffff )
589
 
590
#define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS     ( 1 )
591
 
592
#define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
593
 
594
#define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT  ( 1 )
595
 
596
#define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
597
 
598
#define D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS     ( 1 )
599
 
600
#define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS     ( 1 )
601
 
602
#define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
603
 
604
#define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT  ( 1 )
605
 
606
#define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST ( 2 )
607
 
608
#define D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS     ( 1 )
609
 
610
#define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS ( 1 )
611
 
612
#define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT        ( 32 )
613
 
614
#define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT      ( 1 )
615
 
616
#define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST     ( 2 )
617
 
618
#define D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS ( 1 )
619
 
620
#define D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND  ( 0xffffffff )
621
 
622
#define D3D11_HS_MAXTESSFACTOR_LOWER_BOUND      ( 1.0f )
623
#define D3D11_HS_MAXTESSFACTOR_UPPER_BOUND      ( 64.0f )
624
#define D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS        ( 3968 )
625
 
626
#define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS    ( 1 )
627
 
628
#define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT   ( 32 )
629
 
630
#define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT ( 1 )
631
 
632
#define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST        ( 2 )
633
 
634
#define D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS    ( 1 )
635
 
636
#define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS      ( 4 )
637
 
638
#define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
639
 
640
#define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT   ( 32 )
641
 
642
#define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST  ( 2 )
643
 
644
#define D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS      ( 1 )
645
 
646
#define D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES   ( 0 )
647
 
648
#define D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY     ( 0 )
649
 
650
#define D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES  ( 0 )
651
 
652
#define D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT        ( 1 )
653
 
654
#define D3D11_IA_INSTANCE_ID_BIT_COUNT  ( 32 )
655
 
656
#define D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT   ( 32 )
657
 
658
#define D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT  ( 32 )
659
 
660
#define D3D11_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
661
 
662
#define D3D11_IA_VERTEX_ID_BIT_COUNT    ( 32 )
663
 
664
#define D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT       ( 32 )
665
 
666
#define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS     ( 128 )
667
 
668
#define D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT   ( 32 )
669
 
670
#define D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT   ( 0xffffffff )
671
 
672
#define D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER  ( 0xffffffff )
673
 
674
#define D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL     ( 0xffffffff )
675
 
676
#define D3D11_KEEP_UNORDERED_ACCESS_VIEWS       ( 0xffffffff )
677
 
678
#define D3D11_LINEAR_GAMMA      ( 1.0f )
679
#define D3D11_MAJOR_VERSION     ( 11 )
680
 
681
#define D3D11_MAX_BORDER_COLOR_COMPONENT        ( 1.0f )
682
#define D3D11_MAX_DEPTH ( 1.0f )
683
#define D3D11_MAX_MAXANISOTROPY ( 16 )
684
 
685
#define D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT      ( 32 )
686
 
687
#define D3D11_MAX_POSITION_VALUE        ( 3.402823466e+34f )
688
#define D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP    ( 17 )
689
 
690
#define D3D11_MINOR_VERSION     ( 0 )
691
 
692
#define D3D11_MIN_BORDER_COLOR_COMPONENT        ( 0.0f )
693
#define D3D11_MIN_DEPTH ( 0.0f )
694
#define D3D11_MIN_MAXANISOTROPY ( 0 )
695
 
696
#define D3D11_MIP_LOD_BIAS_MAX  ( 15.99f )
697
#define D3D11_MIP_LOD_BIAS_MIN  ( -16.0f )
698
#define D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT      ( 8 )
699
 
700
#define D3D11_MIP_LOD_RANGE_BIT_COUNT   ( 8 )
701
 
702
#define D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH  ( 1.4f )
703
#define D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT        ( 0 )
704
 
705
#define D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT     ( 15 )
706
 
707
#define D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 16 )
708
 
709
#define D3D11_PS_CS_UAV_REGISTER_COMPONENTS     ( 1 )
710
 
711
#define D3D11_PS_CS_UAV_REGISTER_COUNT  ( 8 )
712
 
713
#define D3D11_PS_CS_UAV_REGISTER_READS_PER_INST ( 1 )
714
 
715
#define D3D11_PS_CS_UAV_REGISTER_READ_PORTS     ( 1 )
716
 
717
#define D3D11_PS_FRONTFACING_DEFAULT_VALUE      ( 0xffffffff )
718
 
719
#define D3D11_PS_FRONTFACING_FALSE_VALUE        ( 0 )
720
 
721
#define D3D11_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
722
 
723
#define D3D11_PS_INPUT_REGISTER_COMPONENTS      ( 4 )
724
 
725
#define D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
726
 
727
#define D3D11_PS_INPUT_REGISTER_COUNT   ( 32 )
728
 
729
#define D3D11_PS_INPUT_REGISTER_READS_PER_INST  ( 2 )
730
 
731
#define D3D11_PS_INPUT_REGISTER_READ_PORTS      ( 1 )
732
 
733
#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT       ( 0.0f )
734
#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS       ( 1 )
735
 
736
#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT      ( 32 )
737
 
738
#define D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT    ( 1 )
739
 
740
#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS        ( 1 )
741
 
742
#define D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT       ( 32 )
743
 
744
#define D3D11_PS_OUTPUT_MASK_REGISTER_COUNT     ( 1 )
745
 
746
#define D3D11_PS_OUTPUT_REGISTER_COMPONENTS     ( 4 )
747
 
748
#define D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
749
 
750
#define D3D11_PS_OUTPUT_REGISTER_COUNT  ( 8 )
751
 
752
#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT      ( 0.5f )
753
#define D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT        ( 16 )
754
 
755
#define D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE ( 4096 )
756
 
757
#define D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP  ( 27 )
758
 
759
#define D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
760
 
761
#define D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE ( 4096 )
762
 
763
#define D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP      ( 32 )
764
 
765
#define D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP    ( 32 )
766
 
767
#define D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION   ( 16384 )
768
 
769
#define D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT    ( 1024 )
770
 
771
#define D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT       ( 4096 )
772
 
773
#define D3D11_REQ_MAXANISOTROPY ( 16 )
774
 
775
#define D3D11_REQ_MIP_LEVELS    ( 15 )
776
 
777
#define D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
778
 
779
#define D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE    ( 4096 )
780
 
781
#define D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 16384 )
782
 
783
#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM  ( 128 )
784
 
785
#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM  ( 0.25f )
786
#define D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP       ( 20 )
787
 
788
#define D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE       ( 4096 )
789
 
790
#define D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION        ( 2048 )
791
 
792
#define D3D11_REQ_TEXTURE1D_U_DIMENSION ( 16384 )
793
 
794
#define D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION        ( 2048 )
795
 
796
#define D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION    ( 16384 )
797
 
798
#define D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION  ( 2048 )
799
 
800
#define D3D11_REQ_TEXTURECUBE_DIMENSION ( 16384 )
801
 
802
#define D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL      ( 0 )
803
 
804
#define D3D11_SHADER_MAJOR_VERSION      ( 5 )
805
 
806
#define D3D11_SHADER_MAX_INSTANCES      ( 65535 )
807
 
808
#define D3D11_SHADER_MAX_INTERFACES     ( 253 )
809
 
810
#define D3D11_SHADER_MAX_INTERFACE_CALL_SITES   ( 4096 )
811
 
812
#define D3D11_SHADER_MAX_TYPES  ( 65535 )
813
 
814
#define D3D11_SHADER_MINOR_VERSION      ( 0 )
815
 
816
#define D3D11_SHIFT_INSTRUCTION_PAD_VALUE       ( 0 )
817
 
818
#define D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT   ( 5 )
819
 
820
#define D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT  ( 8 )
821
 
822
#define D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES     ( 2048 )
823
 
824
#define D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES       ( 512 )
825
 
826
#define D3D11_SO_BUFFER_SLOT_COUNT      ( 4 )
827
 
828
#define D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP        ( 0xffffffff )
829
 
830
#define D3D11_SO_NO_RASTERIZED_STREAM   ( 0xffffffff )
831
 
832
#define D3D11_SO_OUTPUT_COMPONENT_COUNT ( 128 )
833
 
834
#define D3D11_SO_STREAM_COUNT   ( 4 )
835
 
836
#define D3D11_SPEC_DATE_DAY     ( 04 )
837
 
838
#define D3D11_SPEC_DATE_MONTH   ( 06 )
839
 
840
#define D3D11_SPEC_DATE_YEAR    ( 2009 )
841
 
842
#define D3D11_SPEC_VERSION      ( 1.0 )
843
#define D3D11_SRGB_GAMMA        ( 2.2f )
844
#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1       ( 12.92f )
845
#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2       ( 1.055f )
846
#define D3D11_SRGB_TO_FLOAT_EXPONENT    ( 2.4f )
847
#define D3D11_SRGB_TO_FLOAT_OFFSET      ( 0.055f )
848
#define D3D11_SRGB_TO_FLOAT_THRESHOLD   ( 0.04045f )
849
#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP    ( 0.5f )
850
#define D3D11_STANDARD_COMPONENT_BIT_COUNT      ( 32 )
851
 
852
#define D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED      ( 64 )
853
 
854
#define D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE  ( 4 )
855
 
856
#define D3D11_STANDARD_PIXEL_COMPONENT_COUNT    ( 128 )
857
 
858
#define D3D11_STANDARD_PIXEL_ELEMENT_COUNT      ( 32 )
859
 
860
#define D3D11_STANDARD_VECTOR_SIZE      ( 4 )
861
 
862
#define D3D11_STANDARD_VERTEX_ELEMENT_COUNT     ( 32 )
863
 
864
#define D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT     ( 64 )
865
 
866
#define D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT     ( 8 )
867
 
868
#define D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT     ( 8 )
869
 
870
#define D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR  ( 64 )
871
 
872
#define D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR       ( 64 )
873
 
874
#define D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR   ( 63 )
875
 
876
#define D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR       ( 64 )
877
 
878
#define D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR  ( 2 )
879
 
880
#define D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR       ( 1 )
881
 
882
#define D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR   ( 1 )
883
 
884
#define D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT     ( 16 )
885
 
886
#define D3D11_UNBOUND_MEMORY_ACCESS_RESULT      ( 0 )
887
 
888
#define D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX        ( 15 )
889
 
890
#define D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE        ( 16 )
891
 
892
#define D3D11_VIEWPORT_BOUNDS_MAX       ( 32767 )
893
 
894
#define D3D11_VIEWPORT_BOUNDS_MIN       ( -32768 )
895
 
896
#define D3D11_VS_INPUT_REGISTER_COMPONENTS      ( 4 )
897
 
898
#define D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT     ( 32 )
899
 
900
#define D3D11_VS_INPUT_REGISTER_COUNT   ( 32 )
901
 
902
#define D3D11_VS_INPUT_REGISTER_READS_PER_INST  ( 2 )
903
 
904
#define D3D11_VS_INPUT_REGISTER_READ_PORTS      ( 1 )
905
 
906
#define D3D11_VS_OUTPUT_REGISTER_COMPONENTS     ( 4 )
907
 
908
#define D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT    ( 32 )
909
 
910
#define D3D11_VS_OUTPUT_REGISTER_COUNT  ( 32 )
911
 
912
#define D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT     ( 10 )
913
 
914
#define D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP     ( 25 )
915
 
916
#define D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP   ( 25 )
917
 
918
#endif
919
#define _FACD3D11       ( 0x87c )
920
 
921
#define _FACD3D11DEBUG  ( ( _FACD3D11 + 1 )  )
922
 
923
#define MAKE_D3D11_HRESULT( code )  MAKE_HRESULT( 1, _FACD3D11, code )
924
#define MAKE_D3D11_STATUS( code )    MAKE_HRESULT( 0, _FACD3D11, code )
925
#define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS  MAKE_D3D11_HRESULT(1)
926
#define D3D11_ERROR_FILE_NOT_FOUND  MAKE_D3D11_HRESULT(2)
927
#define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS  MAKE_D3D11_HRESULT(3)
928
#define D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD  MAKE_D3D11_HRESULT(4)
929
#if __SAL_H_FULL_VER < 140050727
930
#undef __in_range
931
#undef __in_xcount_opt
932
#define __in_range(x, y)
933
#define __in_xcount_opt(x)
934
#endif
935
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
936
}
937
struct CD3D11_DEFAULT {};
938
extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;
939
extern "C"{
940
#endif
941
typedef
942
enum D3D11_INPUT_CLASSIFICATION
943
    {   D3D11_INPUT_PER_VERTEX_DATA     = 0,
944
        D3D11_INPUT_PER_INSTANCE_DATA   = 1
945
    }   D3D11_INPUT_CLASSIFICATION;
946
 
947
#define D3D11_APPEND_ALIGNED_ELEMENT    ( 0xffffffff )
948
 
949
typedef struct D3D11_INPUT_ELEMENT_DESC
950
    {
951
    LPCSTR SemanticName;
952
    UINT SemanticIndex;
953
    DXGI_FORMAT Format;
954
    UINT InputSlot;
955
    UINT AlignedByteOffset;
956
    D3D11_INPUT_CLASSIFICATION InputSlotClass;
957
    UINT InstanceDataStepRate;
958
    }   D3D11_INPUT_ELEMENT_DESC;
959
 
960
typedef
961
enum D3D11_FILL_MODE
962
    {   D3D11_FILL_WIREFRAME    = 2,
963
        D3D11_FILL_SOLID        = 3
964
    }   D3D11_FILL_MODE;
965
 
966
typedef
967
enum D3D11_PRIMITIVE_TOPOLOGY
968
    {   D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED      = 0,
969
        D3D11_PRIMITIVE_TOPOLOGY_POINTLIST      = 1,
970
        D3D11_PRIMITIVE_TOPOLOGY_LINELIST       = 2,
971
        D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP      = 3,
972
        D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST   = 4,
973
        D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP  = 5,
974
        D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ   = 10,
975
        D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ  = 11,
976
        D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ       = 12,
977
        D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ      = 13,
978
        D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST      = 33,
979
        D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST      = 34,
980
        D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST      = 35,
981
        D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST      = 36,
982
        D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST      = 37,
983
        D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST      = 38,
984
        D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST      = 39,
985
        D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST      = 40,
986
        D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST      = 41,
987
        D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST     = 42,
988
        D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST     = 43,
989
        D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST     = 44,
990
        D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST     = 45,
991
        D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST     = 46,
992
        D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST     = 47,
993
        D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST     = 48,
994
        D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST     = 49,
995
        D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST     = 50,
996
        D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST     = 51,
997
        D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST     = 52,
998
        D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST     = 53,
999
        D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST     = 54,
1000
        D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST     = 55,
1001
        D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST     = 56,
1002
        D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST     = 57,
1003
        D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST     = 58,
1004
        D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST     = 59,
1005
        D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST     = 60,
1006
        D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST     = 61,
1007
        D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST     = 62,
1008
        D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST     = 63,
1009
        D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST     = 64
1010
    }   D3D11_PRIMITIVE_TOPOLOGY;
1011
 
1012
typedef
1013
enum D3D11_PRIMITIVE
1014
    {   D3D11_PRIMITIVE_UNDEFINED       = 0,
1015
        D3D11_PRIMITIVE_POINT   = 1,
1016
        D3D11_PRIMITIVE_LINE    = 2,
1017
        D3D11_PRIMITIVE_TRIANGLE        = 3,
1018
        D3D11_PRIMITIVE_LINE_ADJ        = 6,
1019
        D3D11_PRIMITIVE_TRIANGLE_ADJ    = 7,
1020
        D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH   = 8,
1021
        D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH   = 9,
1022
        D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH   = 10,
1023
        D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH   = 11,
1024
        D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH   = 12,
1025
        D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH   = 13,
1026
        D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH   = 14,
1027
        D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH   = 15,
1028
        D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH   = 16,
1029
        D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH  = 17,
1030
        D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH  = 18,
1031
        D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH  = 19,
1032
        D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH  = 20,
1033
        D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH  = 21,
1034
        D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH  = 22,
1035
        D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH  = 23,
1036
        D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH  = 24,
1037
        D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH  = 25,
1038
        D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH  = 26,
1039
        D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH  = 27,
1040
        D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH  = 28,
1041
        D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH  = 29,
1042
        D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH  = 30,
1043
        D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH  = 31,
1044
        D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH  = 32,
1045
        D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH  = 33,
1046
        D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH  = 34,
1047
        D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH  = 35,
1048
        D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH  = 36,
1049
        D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH  = 37,
1050
        D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH  = 38,
1051
        D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH  = 39
1052
    }   D3D11_PRIMITIVE;
1053
 
1054
typedef
1055
enum D3D11_CULL_MODE
1056
    {   D3D11_CULL_NONE = 1,
1057
        D3D11_CULL_FRONT        = 2,
1058
        D3D11_CULL_BACK = 3
1059
    }   D3D11_CULL_MODE;
1060
 
1061
typedef struct D3D11_SO_DECLARATION_ENTRY
1062
    {
1063
    UINT Stream;
1064
    LPCSTR SemanticName;
1065
    UINT SemanticIndex;
1066
    BYTE StartComponent;
1067
    BYTE ComponentCount;
1068
    BYTE OutputSlot;
1069
    }   D3D11_SO_DECLARATION_ENTRY;
1070
 
1071
typedef struct D3D11_VIEWPORT
1072
    {
1073
    FLOAT TopLeftX;
1074
    FLOAT TopLeftY;
1075
    FLOAT Width;
1076
    FLOAT Height;
1077
    FLOAT MinDepth;
1078
    FLOAT MaxDepth;
1079
    }   D3D11_VIEWPORT;
1080
 
1081
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1082
}
1083
inline bool operator==( const D3D11_VIEWPORT& l, const D3D11_VIEWPORT& r )
1084
{
1085
    return l.TopLeftX == r.TopLeftX && l.TopLeftY == r.TopLeftY && l.Width == r.Width &&
1086
        l.Height == r.Height && l.MinDepth == r.MinDepth && l.MaxDepth == r.MaxDepth;
1087
}
1088
inline bool operator!=( const D3D11_VIEWPORT& l, const D3D11_VIEWPORT& r )
1089
{ return !( l == r ); }
1090
extern "C"{
1091
#endif
1092
typedef
1093
enum D3D11_RESOURCE_DIMENSION
1094
    {   D3D11_RESOURCE_DIMENSION_UNKNOWN        = 0,
1095
        D3D11_RESOURCE_DIMENSION_BUFFER = 1,
1096
        D3D11_RESOURCE_DIMENSION_TEXTURE1D      = 2,
1097
        D3D11_RESOURCE_DIMENSION_TEXTURE2D      = 3,
1098
        D3D11_RESOURCE_DIMENSION_TEXTURE3D      = 4
1099
    }   D3D11_RESOURCE_DIMENSION;
1100
 
1101
typedef
1102
enum D3D11_SRV_DIMENSION
1103
    {   D3D11_SRV_DIMENSION_UNKNOWN     = 0,
1104
        D3D11_SRV_DIMENSION_BUFFER      = 1,
1105
        D3D11_SRV_DIMENSION_TEXTURE1D   = 2,
1106
        D3D11_SRV_DIMENSION_TEXTURE1DARRAY      = 3,
1107
        D3D11_SRV_DIMENSION_TEXTURE2D   = 4,
1108
        D3D11_SRV_DIMENSION_TEXTURE2DARRAY      = 5,
1109
        D3D11_SRV_DIMENSION_TEXTURE2DMS = 6,
1110
        D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY    = 7,
1111
        D3D11_SRV_DIMENSION_TEXTURE3D   = 8,
1112
        D3D11_SRV_DIMENSION_TEXTURECUBE = 9,
1113
        D3D11_SRV_DIMENSION_TEXTURECUBEARRAY    = 10,
1114
        D3D11_SRV_DIMENSION_BUFFEREX    = 11
1115
    }   D3D11_SRV_DIMENSION;
1116
 
1117
typedef
1118
enum D3D11_DSV_DIMENSION
1119
    {   D3D11_DSV_DIMENSION_UNKNOWN     = 0,
1120
        D3D11_DSV_DIMENSION_TEXTURE1D   = 1,
1121
        D3D11_DSV_DIMENSION_TEXTURE1DARRAY      = 2,
1122
        D3D11_DSV_DIMENSION_TEXTURE2D   = 3,
1123
        D3D11_DSV_DIMENSION_TEXTURE2DARRAY      = 4,
1124
        D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
1125
        D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY    = 6
1126
    }   D3D11_DSV_DIMENSION;
1127
 
1128
typedef
1129
enum D3D11_RTV_DIMENSION
1130
    {   D3D11_RTV_DIMENSION_UNKNOWN     = 0,
1131
        D3D11_RTV_DIMENSION_BUFFER      = 1,
1132
        D3D11_RTV_DIMENSION_TEXTURE1D   = 2,
1133
        D3D11_RTV_DIMENSION_TEXTURE1DARRAY      = 3,
1134
        D3D11_RTV_DIMENSION_TEXTURE2D   = 4,
1135
        D3D11_RTV_DIMENSION_TEXTURE2DARRAY      = 5,
1136
        D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
1137
        D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY    = 7,
1138
        D3D11_RTV_DIMENSION_TEXTURE3D   = 8
1139
    }   D3D11_RTV_DIMENSION;
1140
 
1141
typedef
1142
enum D3D11_UAV_DIMENSION
1143
    {   D3D11_UAV_DIMENSION_UNKNOWN     = 0,
1144
        D3D11_UAV_DIMENSION_BUFFER      = 1,
1145
        D3D11_UAV_DIMENSION_TEXTURE1D   = 2,
1146
        D3D11_UAV_DIMENSION_TEXTURE1DARRAY      = 3,
1147
        D3D11_UAV_DIMENSION_TEXTURE2D   = 4,
1148
        D3D11_UAV_DIMENSION_TEXTURE2DARRAY      = 5,
1149
        D3D11_UAV_DIMENSION_TEXTURE3D   = 8
1150
    }   D3D11_UAV_DIMENSION;
1151
 
1152
typedef
1153
enum D3D11_USAGE
1154
    {   D3D11_USAGE_DEFAULT     = 0,
1155
        D3D11_USAGE_IMMUTABLE   = 1,
1156
        D3D11_USAGE_DYNAMIC     = 2,
1157
        D3D11_USAGE_STAGING     = 3
1158
    }   D3D11_USAGE;
1159
 
1160
typedef
1161
enum D3D11_BIND_FLAG
1162
    {   D3D11_BIND_VERTEX_BUFFER        = 0x1L,
1163
        D3D11_BIND_INDEX_BUFFER = 0x2L,
1164
        D3D11_BIND_CONSTANT_BUFFER      = 0x4L,
1165
        D3D11_BIND_SHADER_RESOURCE      = 0x8L,
1166
        D3D11_BIND_STREAM_OUTPUT        = 0x10L,
1167
        D3D11_BIND_RENDER_TARGET        = 0x20L,
1168
        D3D11_BIND_DEPTH_STENCIL        = 0x40L,
1169
        D3D11_BIND_UNORDERED_ACCESS     = 0x80L
1170
    }   D3D11_BIND_FLAG;
1171
 
1172
typedef
1173
enum D3D11_CPU_ACCESS_FLAG
1174
    {   D3D11_CPU_ACCESS_WRITE  = 0x10000L,
1175
        D3D11_CPU_ACCESS_READ   = 0x20000L
1176
    }   D3D11_CPU_ACCESS_FLAG;
1177
 
1178
typedef
1179
enum D3D11_RESOURCE_MISC_FLAG
1180
    {   D3D11_RESOURCE_MISC_GENERATE_MIPS       = 0x1L,
1181
        D3D11_RESOURCE_MISC_SHARED      = 0x2L,
1182
        D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4L,
1183
        D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS   = 0x10L,
1184
        D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS      = 0x20L,
1185
        D3D11_RESOURCE_MISC_BUFFER_STRUCTURED   = 0x40L,
1186
        D3D11_RESOURCE_MISC_RESOURCE_CLAMP      = 0x80L,
1187
        D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX   = 0x100L,
1188
        D3D11_RESOURCE_MISC_GDI_COMPATIBLE      = 0x200L
1189
    }   D3D11_RESOURCE_MISC_FLAG;
1190
 
1191
typedef
1192
enum D3D11_MAP
1193
    {   D3D11_MAP_READ  = 1,
1194
        D3D11_MAP_WRITE = 2,
1195
        D3D11_MAP_READ_WRITE    = 3,
1196
        D3D11_MAP_WRITE_DISCARD = 4,
1197
        D3D11_MAP_WRITE_NO_OVERWRITE    = 5
1198
    }   D3D11_MAP;
1199
 
1200
typedef
1201
enum D3D11_MAP_FLAG
1202
    {   D3D11_MAP_FLAG_DO_NOT_WAIT      = 0x100000L
1203
    }   D3D11_MAP_FLAG;
1204
 
1205
typedef
1206
enum D3D11_RAISE_FLAG
1207
    {   D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR  = 0x1L
1208
    }   D3D11_RAISE_FLAG;
1209
 
1210
typedef
1211
enum D3D11_CLEAR_FLAG
1212
    {   D3D11_CLEAR_DEPTH       = 0x1L,
1213
        D3D11_CLEAR_STENCIL     = 0x2L
1214
    }   D3D11_CLEAR_FLAG;
1215
 
1216
typedef RECT D3D11_RECT;
1217
 
1218
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1219
}
1220
struct CD3D11_RECT : public D3D11_RECT
1221
{
1222
    CD3D11_RECT()
1223
    {}
1224
    explicit CD3D11_RECT( const D3D11_RECT& o ) :
1225
        D3D11_RECT( o )
1226
    {}
1227
    explicit CD3D11_RECT(
1228
        LONG Left,
1229
        LONG Top,
1230
        LONG Right,
1231
        LONG Bottom )
1232
    {
1233
        left = Left;
1234
        top = Top;
1235
        right = Right;
1236
        bottom = Bottom;
1237
    }
1238
    ~CD3D11_RECT() {}
1239
    operator const D3D11_RECT&() const { return *this; }
1240
};
1241
inline bool operator==( const D3D11_RECT& l, const D3D11_RECT& r )
1242
{
1243
    return l.left == r.left && l.top == r.top &&
1244
        l.right == r.right && l.bottom == r.bottom;
1245
}
1246
inline bool operator!=( const D3D11_RECT& l, const D3D11_RECT& r )
1247
{ return !( l == r ); }
1248
extern "C"{
1249
#endif
1250
typedef struct D3D11_BOX
1251
    {
1252
    UINT left;
1253
    UINT top;
1254
    UINT front;
1255
    UINT right;
1256
    UINT bottom;
1257
    UINT back;
1258
    }   D3D11_BOX;
1259
 
1260
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1261
}
1262
struct CD3D11_BOX : public D3D11_BOX
1263
{
1264
    CD3D11_BOX()
1265
    {}
1266
    explicit CD3D11_BOX( const D3D11_BOX& o ) :
1267
        D3D11_BOX( o )
1268
    {}
1269
    explicit CD3D11_BOX(
1270
        LONG Left,
1271
        LONG Top,
1272
        LONG Front,
1273
        LONG Right,
1274
        LONG Bottom,
1275
        LONG Back )
1276
    {
1277
        left = Left;
1278
        top = Top;
1279
        front = Front;
1280
        right = Right;
1281
        bottom = Bottom;
1282
        back = Back;
1283
    }
1284
    ~CD3D11_BOX() {}
1285
    operator const D3D11_BOX&() const { return *this; }
1286
};
1287
inline bool operator==( const D3D11_BOX& l, const D3D11_BOX& r )
1288
{
1289
    return l.left == r.left && l.top == r.top && l.front == r.front &&
1290
        l.right == r.right && l.bottom == r.bottom && l.back == r.back;
1291
}
1292
inline bool operator!=( const D3D11_BOX& l, const D3D11_BOX& r )
1293
{ return !( l == r ); }
1294
extern "C"{
1295
#endif
1296
 
1297
 
1298
 
1299
 
1300
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0000_v0_0_c_ifspec;
1301
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0000_v0_0_s_ifspec;
1302
 
1303
#ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
1304
#define __ID3D11DeviceChild_INTERFACE_DEFINED__
1305
 
1306
/* interface ID3D11DeviceChild */
1307
/* [unique][local][object][uuid] */
1308
 
1309
 
1310
EXTERN_C const IID IID_ID3D11DeviceChild;
1311
 
1312
#if defined(__cplusplus) && !defined(CINTERFACE)
1313
 
1314
    MIDL_INTERFACE("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")
1315
    ID3D11DeviceChild : public IUnknown
1316
    {
1317
    public:
1318
        virtual void STDMETHODCALLTYPE GetDevice(
1319
            /* [annotation] */
1320
            __out  ID3D11Device **ppDevice) = 0;
1321
 
1322
        virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
1323
            /* [annotation] */
1324
            __in  REFGUID guid,
1325
            /* [annotation] */
1326
            __inout  UINT *pDataSize,
1327
            /* [annotation] */
1328
            __out_bcount_opt( *pDataSize )  void *pData) = 0;
1329
 
1330
        virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
1331
            /* [annotation] */
1332
            __in  REFGUID guid,
1333
            /* [annotation] */
1334
            __in  UINT DataSize,
1335
            /* [annotation] */
1336
            __in_bcount_opt( DataSize )  const void *pData) = 0;
1337
 
1338
        virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
1339
            /* [annotation] */
1340
            __in  REFGUID guid,
1341
            /* [annotation] */
1342
            __in_opt  const IUnknown *pData) = 0;
1343
 
1344
    };
1345
 
1346
#else   /* C style interface */
1347
 
1348
    typedef struct ID3D11DeviceChildVtbl
1349
    {
1350
        BEGIN_INTERFACE
1351
 
1352
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1353
            ID3D11DeviceChild * This,
1354
            /* [in] */ REFIID riid,
1355
            /* [annotation][iid_is][out] */
1356
            __RPC__deref_out  void **ppvObject);
1357
 
1358
        ULONG ( STDMETHODCALLTYPE *AddRef )(
1359
            ID3D11DeviceChild * This);
1360
 
1361
        ULONG ( STDMETHODCALLTYPE *Release )(
1362
            ID3D11DeviceChild * This);
1363
 
1364
        void ( STDMETHODCALLTYPE *GetDevice )(
1365
            ID3D11DeviceChild * This,
1366
            /* [annotation] */
1367
            __out  ID3D11Device **ppDevice);
1368
 
1369
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1370
            ID3D11DeviceChild * This,
1371
            /* [annotation] */
1372
            __in  REFGUID guid,
1373
            /* [annotation] */
1374
            __inout  UINT *pDataSize,
1375
            /* [annotation] */
1376
            __out_bcount_opt( *pDataSize )  void *pData);
1377
 
1378
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1379
            ID3D11DeviceChild * This,
1380
            /* [annotation] */
1381
            __in  REFGUID guid,
1382
            /* [annotation] */
1383
            __in  UINT DataSize,
1384
            /* [annotation] */
1385
            __in_bcount_opt( DataSize )  const void *pData);
1386
 
1387
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1388
            ID3D11DeviceChild * This,
1389
            /* [annotation] */
1390
            __in  REFGUID guid,
1391
            /* [annotation] */
1392
            __in_opt  const IUnknown *pData);
1393
 
1394
        END_INTERFACE
1395
    } ID3D11DeviceChildVtbl;
1396
 
1397
    interface ID3D11DeviceChild
1398
    {
1399
        CONST_VTBL struct ID3D11DeviceChildVtbl *lpVtbl;
1400
    };
1401
 
1402
 
1403
 
1404
#ifdef COBJMACROS
1405
 
1406
 
1407
#define ID3D11DeviceChild_QueryInterface(This,riid,ppvObject)   \
1408
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1409
 
1410
#define ID3D11DeviceChild_AddRef(This)  \
1411
    ( (This)->lpVtbl -> AddRef(This) ) 
1412
 
1413
#define ID3D11DeviceChild_Release(This) \
1414
    ( (This)->lpVtbl -> Release(This) ) 
1415
 
1416
 
1417
#define ID3D11DeviceChild_GetDevice(This,ppDevice)      \
1418
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
1419
 
1420
#define ID3D11DeviceChild_GetPrivateData(This,guid,pDataSize,pData)     \
1421
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
1422
 
1423
#define ID3D11DeviceChild_SetPrivateData(This,guid,DataSize,pData)      \
1424
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
1425
 
1426
#define ID3D11DeviceChild_SetPrivateDataInterface(This,guid,pData)      \
1427
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
1428
 
1429
#endif /* COBJMACROS */
1430
 
1431
 
1432
#endif  /* C style interface */
1433
 
1434
 
1435
 
1436
 
1437
#endif  /* __ID3D11DeviceChild_INTERFACE_DEFINED__ */
1438
 
1439
 
1440
/* interface __MIDL_itf_d3d11_0000_0001 */
1441
/* [local] */
1442
 
1443
typedef
1444
enum D3D11_COMPARISON_FUNC
1445
    {   D3D11_COMPARISON_NEVER  = 1,
1446
        D3D11_COMPARISON_LESS   = 2,
1447
        D3D11_COMPARISON_EQUAL  = 3,
1448
        D3D11_COMPARISON_LESS_EQUAL     = 4,
1449
        D3D11_COMPARISON_GREATER        = 5,
1450
        D3D11_COMPARISON_NOT_EQUAL      = 6,
1451
        D3D11_COMPARISON_GREATER_EQUAL  = 7,
1452
        D3D11_COMPARISON_ALWAYS = 8
1453
    }   D3D11_COMPARISON_FUNC;
1454
 
1455
typedef
1456
enum D3D11_DEPTH_WRITE_MASK
1457
    {   D3D11_DEPTH_WRITE_MASK_ZERO     = 0,
1458
        D3D11_DEPTH_WRITE_MASK_ALL      = 1
1459
    }   D3D11_DEPTH_WRITE_MASK;
1460
 
1461
typedef
1462
enum D3D11_STENCIL_OP
1463
    {   D3D11_STENCIL_OP_KEEP   = 1,
1464
        D3D11_STENCIL_OP_ZERO   = 2,
1465
        D3D11_STENCIL_OP_REPLACE        = 3,
1466
        D3D11_STENCIL_OP_INCR_SAT       = 4,
1467
        D3D11_STENCIL_OP_DECR_SAT       = 5,
1468
        D3D11_STENCIL_OP_INVERT = 6,
1469
        D3D11_STENCIL_OP_INCR   = 7,
1470
        D3D11_STENCIL_OP_DECR   = 8
1471
    }   D3D11_STENCIL_OP;
1472
 
1473
typedef struct D3D11_DEPTH_STENCILOP_DESC
1474
    {
1475
    D3D11_STENCIL_OP StencilFailOp;
1476
    D3D11_STENCIL_OP StencilDepthFailOp;
1477
    D3D11_STENCIL_OP StencilPassOp;
1478
    D3D11_COMPARISON_FUNC StencilFunc;
1479
    }   D3D11_DEPTH_STENCILOP_DESC;
1480
 
1481
typedef struct D3D11_DEPTH_STENCIL_DESC
1482
    {
1483
    BOOL DepthEnable;
1484
    D3D11_DEPTH_WRITE_MASK DepthWriteMask;
1485
    D3D11_COMPARISON_FUNC DepthFunc;
1486
    BOOL StencilEnable;
1487
    UINT8 StencilReadMask;
1488
    UINT8 StencilWriteMask;
1489
    D3D11_DEPTH_STENCILOP_DESC FrontFace;
1490
    D3D11_DEPTH_STENCILOP_DESC BackFace;
1491
    }   D3D11_DEPTH_STENCIL_DESC;
1492
 
1493
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1494
}
1495
struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC
1496
{
1497
    CD3D11_DEPTH_STENCIL_DESC()
1498
    {}
1499
    explicit CD3D11_DEPTH_STENCIL_DESC( const D3D11_DEPTH_STENCIL_DESC& o ) :
1500
        D3D11_DEPTH_STENCIL_DESC( o )
1501
    {}
1502
    explicit CD3D11_DEPTH_STENCIL_DESC( CD3D11_DEFAULT )
1503
    {
1504
        DepthEnable = TRUE;
1505
        DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
1506
        DepthFunc = D3D11_COMPARISON_LESS;
1507
        StencilEnable = FALSE;
1508
        StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;
1509
        StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;
1510
        const D3D11_DEPTH_STENCILOP_DESC defaultStencilOp =
1511
        { D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS };
1512
        FrontFace = defaultStencilOp;
1513
        BackFace = defaultStencilOp;
1514
    }
1515
    explicit CD3D11_DEPTH_STENCIL_DESC(
1516
        BOOL depthEnable,
1517
        D3D11_DEPTH_WRITE_MASK depthWriteMask,
1518
        D3D11_COMPARISON_FUNC depthFunc,
1519
        BOOL stencilEnable,
1520
        UINT8 stencilReadMask,
1521
        UINT8 stencilWriteMask,
1522
        D3D11_STENCIL_OP frontStencilFailOp,
1523
        D3D11_STENCIL_OP frontStencilDepthFailOp,
1524
        D3D11_STENCIL_OP frontStencilPassOp,
1525
        D3D11_COMPARISON_FUNC frontStencilFunc,
1526
        D3D11_STENCIL_OP backStencilFailOp,
1527
        D3D11_STENCIL_OP backStencilDepthFailOp,
1528
        D3D11_STENCIL_OP backStencilPassOp,
1529
        D3D11_COMPARISON_FUNC backStencilFunc )
1530
    {
1531
        DepthEnable = depthEnable;
1532
        DepthWriteMask = depthWriteMask;
1533
        DepthFunc = depthFunc;
1534
        StencilEnable = stencilEnable;
1535
        StencilReadMask = stencilReadMask;
1536
        StencilWriteMask = stencilWriteMask;
1537
        FrontFace.StencilFailOp = frontStencilFailOp;
1538
        FrontFace.StencilDepthFailOp = frontStencilDepthFailOp;
1539
        FrontFace.StencilPassOp = frontStencilPassOp;
1540
        FrontFace.StencilFunc = frontStencilFunc;
1541
        BackFace.StencilFailOp = backStencilFailOp;
1542
        BackFace.StencilDepthFailOp = backStencilDepthFailOp;
1543
        BackFace.StencilPassOp = backStencilPassOp;
1544
        BackFace.StencilFunc = backStencilFunc;
1545
    }
1546
    ~CD3D11_DEPTH_STENCIL_DESC() {}
1547
    operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }
1548
};
1549
extern "C"{
1550
#endif
1551
 
1552
 
1553
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0001_v0_0_c_ifspec;
1554
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0001_v0_0_s_ifspec;
1555
 
1556
#ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
1557
#define __ID3D11DepthStencilState_INTERFACE_DEFINED__
1558
 
1559
/* interface ID3D11DepthStencilState */
1560
/* [unique][local][object][uuid] */
1561
 
1562
 
1563
EXTERN_C const IID IID_ID3D11DepthStencilState;
1564
 
1565
#if defined(__cplusplus) && !defined(CINTERFACE)
1566
 
1567
    MIDL_INTERFACE("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")
1568
    ID3D11DepthStencilState : public ID3D11DeviceChild
1569
    {
1570
    public:
1571
        virtual void STDMETHODCALLTYPE GetDesc(
1572
            /* [annotation] */
1573
            __out  D3D11_DEPTH_STENCIL_DESC *pDesc) = 0;
1574
 
1575
    };
1576
 
1577
#else   /* C style interface */
1578
 
1579
    typedef struct ID3D11DepthStencilStateVtbl
1580
    {
1581
        BEGIN_INTERFACE
1582
 
1583
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1584
            ID3D11DepthStencilState * This,
1585
            /* [in] */ REFIID riid,
1586
            /* [annotation][iid_is][out] */
1587
            __RPC__deref_out  void **ppvObject);
1588
 
1589
        ULONG ( STDMETHODCALLTYPE *AddRef )(
1590
            ID3D11DepthStencilState * This);
1591
 
1592
        ULONG ( STDMETHODCALLTYPE *Release )(
1593
            ID3D11DepthStencilState * This);
1594
 
1595
        void ( STDMETHODCALLTYPE *GetDevice )(
1596
            ID3D11DepthStencilState * This,
1597
            /* [annotation] */
1598
            __out  ID3D11Device **ppDevice);
1599
 
1600
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1601
            ID3D11DepthStencilState * This,
1602
            /* [annotation] */
1603
            __in  REFGUID guid,
1604
            /* [annotation] */
1605
            __inout  UINT *pDataSize,
1606
            /* [annotation] */
1607
            __out_bcount_opt( *pDataSize )  void *pData);
1608
 
1609
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1610
            ID3D11DepthStencilState * This,
1611
            /* [annotation] */
1612
            __in  REFGUID guid,
1613
            /* [annotation] */
1614
            __in  UINT DataSize,
1615
            /* [annotation] */
1616
            __in_bcount_opt( DataSize )  const void *pData);
1617
 
1618
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1619
            ID3D11DepthStencilState * This,
1620
            /* [annotation] */
1621
            __in  REFGUID guid,
1622
            /* [annotation] */
1623
            __in_opt  const IUnknown *pData);
1624
 
1625
        void ( STDMETHODCALLTYPE *GetDesc )(
1626
            ID3D11DepthStencilState * This,
1627
            /* [annotation] */
1628
            __out  D3D11_DEPTH_STENCIL_DESC *pDesc);
1629
 
1630
        END_INTERFACE
1631
    } ID3D11DepthStencilStateVtbl;
1632
 
1633
    interface ID3D11DepthStencilState
1634
    {
1635
        CONST_VTBL struct ID3D11DepthStencilStateVtbl *lpVtbl;
1636
    };
1637
 
1638
 
1639
 
1640
#ifdef COBJMACROS
1641
 
1642
 
1643
#define ID3D11DepthStencilState_QueryInterface(This,riid,ppvObject)     \
1644
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1645
 
1646
#define ID3D11DepthStencilState_AddRef(This)    \
1647
    ( (This)->lpVtbl -> AddRef(This) ) 
1648
 
1649
#define ID3D11DepthStencilState_Release(This)   \
1650
    ( (This)->lpVtbl -> Release(This) ) 
1651
 
1652
 
1653
#define ID3D11DepthStencilState_GetDevice(This,ppDevice)        \
1654
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
1655
 
1656
#define ID3D11DepthStencilState_GetPrivateData(This,guid,pDataSize,pData)       \
1657
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
1658
 
1659
#define ID3D11DepthStencilState_SetPrivateData(This,guid,DataSize,pData)        \
1660
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
1661
 
1662
#define ID3D11DepthStencilState_SetPrivateDataInterface(This,guid,pData)        \
1663
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
1664
 
1665
 
1666
#define ID3D11DepthStencilState_GetDesc(This,pDesc)     \
1667
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
1668
 
1669
#endif /* COBJMACROS */
1670
 
1671
 
1672
#endif  /* C style interface */
1673
 
1674
 
1675
 
1676
 
1677
#endif  /* __ID3D11DepthStencilState_INTERFACE_DEFINED__ */
1678
 
1679
 
1680
/* interface __MIDL_itf_d3d11_0000_0002 */
1681
/* [local] */
1682
 
1683
typedef
1684
enum D3D11_BLEND
1685
    {   D3D11_BLEND_ZERO        = 1,
1686
        D3D11_BLEND_ONE = 2,
1687
        D3D11_BLEND_SRC_COLOR   = 3,
1688
        D3D11_BLEND_INV_SRC_COLOR       = 4,
1689
        D3D11_BLEND_SRC_ALPHA   = 5,
1690
        D3D11_BLEND_INV_SRC_ALPHA       = 6,
1691
        D3D11_BLEND_DEST_ALPHA  = 7,
1692
        D3D11_BLEND_INV_DEST_ALPHA      = 8,
1693
        D3D11_BLEND_DEST_COLOR  = 9,
1694
        D3D11_BLEND_INV_DEST_COLOR      = 10,
1695
        D3D11_BLEND_SRC_ALPHA_SAT       = 11,
1696
        D3D11_BLEND_BLEND_FACTOR        = 14,
1697
        D3D11_BLEND_INV_BLEND_FACTOR    = 15,
1698
        D3D11_BLEND_SRC1_COLOR  = 16,
1699
        D3D11_BLEND_INV_SRC1_COLOR      = 17,
1700
        D3D11_BLEND_SRC1_ALPHA  = 18,
1701
        D3D11_BLEND_INV_SRC1_ALPHA      = 19
1702
    }   D3D11_BLEND;
1703
 
1704
typedef
1705
enum D3D11_BLEND_OP
1706
    {   D3D11_BLEND_OP_ADD      = 1,
1707
        D3D11_BLEND_OP_SUBTRACT = 2,
1708
        D3D11_BLEND_OP_REV_SUBTRACT     = 3,
1709
        D3D11_BLEND_OP_MIN      = 4,
1710
        D3D11_BLEND_OP_MAX      = 5
1711
    }   D3D11_BLEND_OP;
1712
 
1713
typedef
1714
enum D3D11_COLOR_WRITE_ENABLE
1715
    {   D3D11_COLOR_WRITE_ENABLE_RED    = 1,
1716
        D3D11_COLOR_WRITE_ENABLE_GREEN  = 2,
1717
        D3D11_COLOR_WRITE_ENABLE_BLUE   = 4,
1718
        D3D11_COLOR_WRITE_ENABLE_ALPHA  = 8,
1719
        D3D11_COLOR_WRITE_ENABLE_ALL    = ( ( ( D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN )  | D3D11_COLOR_WRITE_ENABLE_BLUE )  | D3D11_COLOR_WRITE_ENABLE_ALPHA )
1720
    }   D3D11_COLOR_WRITE_ENABLE;
1721
 
1722
typedef struct D3D11_RENDER_TARGET_BLEND_DESC
1723
    {
1724
    BOOL BlendEnable;
1725
    D3D11_BLEND SrcBlend;
1726
    D3D11_BLEND DestBlend;
1727
    D3D11_BLEND_OP BlendOp;
1728
    D3D11_BLEND SrcBlendAlpha;
1729
    D3D11_BLEND DestBlendAlpha;
1730
    D3D11_BLEND_OP BlendOpAlpha;
1731
    UINT8 RenderTargetWriteMask;
1732
    }   D3D11_RENDER_TARGET_BLEND_DESC;
1733
 
1734
typedef struct D3D11_BLEND_DESC
1735
    {
1736
    BOOL AlphaToCoverageEnable;
1737
    BOOL IndependentBlendEnable;
1738
    D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[ 8 ];
1739
    }   D3D11_BLEND_DESC;
1740
 
1741
/* Note, the array size for RenderTarget[] above is D3D11_SIMULTANEOUS_RENDERTARGET_COUNT.
1742
   IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */
1743
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1744
}
1745
struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC
1746
{
1747
    CD3D11_BLEND_DESC()
1748
    {}
1749
    explicit CD3D11_BLEND_DESC( const D3D11_BLEND_DESC& o ) :
1750
        D3D11_BLEND_DESC( o )
1751
    {}
1752
    explicit CD3D11_BLEND_DESC( CD3D11_DEFAULT )
1753
    {
1754
        AlphaToCoverageEnable = FALSE;
1755
        IndependentBlendEnable = FALSE;
1756
        const D3D11_RENDER_TARGET_BLEND_DESC defaultRenderTargetBlendDesc =
1757
        {
1758
            FALSE,
1759
            D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD,
1760
            D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD,
1761
            D3D11_COLOR_WRITE_ENABLE_ALL,
1762
        };
1763
        for (UINT i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)
1764
            RenderTarget[ i ] = defaultRenderTargetBlendDesc;
1765
    }
1766
    ~CD3D11_BLEND_DESC() {}
1767
    operator const D3D11_BLEND_DESC&() const { return *this; }
1768
};
1769
extern "C"{
1770
#endif
1771
 
1772
 
1773
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0002_v0_0_c_ifspec;
1774
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0002_v0_0_s_ifspec;
1775
 
1776
#ifndef __ID3D11BlendState_INTERFACE_DEFINED__
1777
#define __ID3D11BlendState_INTERFACE_DEFINED__
1778
 
1779
/* interface ID3D11BlendState */
1780
/* [unique][local][object][uuid] */
1781
 
1782
 
1783
EXTERN_C const IID IID_ID3D11BlendState;
1784
 
1785
#if defined(__cplusplus) && !defined(CINTERFACE)
1786
 
1787
    MIDL_INTERFACE("75b68faa-347d-4159-8f45-a0640f01cd9a")
1788
    ID3D11BlendState : public ID3D11DeviceChild
1789
    {
1790
    public:
1791
        virtual void STDMETHODCALLTYPE GetDesc(
1792
            /* [annotation] */
1793
            __out  D3D11_BLEND_DESC *pDesc) = 0;
1794
 
1795
    };
1796
 
1797
#else   /* C style interface */
1798
 
1799
    typedef struct ID3D11BlendStateVtbl
1800
    {
1801
        BEGIN_INTERFACE
1802
 
1803
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1804
            ID3D11BlendState * This,
1805
            /* [in] */ REFIID riid,
1806
            /* [annotation][iid_is][out] */
1807
            __RPC__deref_out  void **ppvObject);
1808
 
1809
        ULONG ( STDMETHODCALLTYPE *AddRef )(
1810
            ID3D11BlendState * This);
1811
 
1812
        ULONG ( STDMETHODCALLTYPE *Release )(
1813
            ID3D11BlendState * This);
1814
 
1815
        void ( STDMETHODCALLTYPE *GetDevice )(
1816
            ID3D11BlendState * This,
1817
            /* [annotation] */
1818
            __out  ID3D11Device **ppDevice);
1819
 
1820
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
1821
            ID3D11BlendState * This,
1822
            /* [annotation] */
1823
            __in  REFGUID guid,
1824
            /* [annotation] */
1825
            __inout  UINT *pDataSize,
1826
            /* [annotation] */
1827
            __out_bcount_opt( *pDataSize )  void *pData);
1828
 
1829
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
1830
            ID3D11BlendState * This,
1831
            /* [annotation] */
1832
            __in  REFGUID guid,
1833
            /* [annotation] */
1834
            __in  UINT DataSize,
1835
            /* [annotation] */
1836
            __in_bcount_opt( DataSize )  const void *pData);
1837
 
1838
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
1839
            ID3D11BlendState * This,
1840
            /* [annotation] */
1841
            __in  REFGUID guid,
1842
            /* [annotation] */
1843
            __in_opt  const IUnknown *pData);
1844
 
1845
        void ( STDMETHODCALLTYPE *GetDesc )(
1846
            ID3D11BlendState * This,
1847
            /* [annotation] */
1848
            __out  D3D11_BLEND_DESC *pDesc);
1849
 
1850
        END_INTERFACE
1851
    } ID3D11BlendStateVtbl;
1852
 
1853
    interface ID3D11BlendState
1854
    {
1855
        CONST_VTBL struct ID3D11BlendStateVtbl *lpVtbl;
1856
    };
1857
 
1858
 
1859
 
1860
#ifdef COBJMACROS
1861
 
1862
 
1863
#define ID3D11BlendState_QueryInterface(This,riid,ppvObject)    \
1864
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1865
 
1866
#define ID3D11BlendState_AddRef(This)   \
1867
    ( (This)->lpVtbl -> AddRef(This) ) 
1868
 
1869
#define ID3D11BlendState_Release(This)  \
1870
    ( (This)->lpVtbl -> Release(This) ) 
1871
 
1872
 
1873
#define ID3D11BlendState_GetDevice(This,ppDevice)       \
1874
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
1875
 
1876
#define ID3D11BlendState_GetPrivateData(This,guid,pDataSize,pData)      \
1877
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
1878
 
1879
#define ID3D11BlendState_SetPrivateData(This,guid,DataSize,pData)       \
1880
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
1881
 
1882
#define ID3D11BlendState_SetPrivateDataInterface(This,guid,pData)       \
1883
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
1884
 
1885
 
1886
#define ID3D11BlendState_GetDesc(This,pDesc)    \
1887
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
1888
 
1889
#endif /* COBJMACROS */
1890
 
1891
 
1892
#endif  /* C style interface */
1893
 
1894
 
1895
 
1896
 
1897
#endif  /* __ID3D11BlendState_INTERFACE_DEFINED__ */
1898
 
1899
 
1900
/* interface __MIDL_itf_d3d11_0000_0003 */
1901
/* [local] */
1902
 
1903
typedef struct D3D11_RASTERIZER_DESC
1904
    {
1905
    D3D11_FILL_MODE FillMode;
1906
    D3D11_CULL_MODE CullMode;
1907
    BOOL FrontCounterClockwise;
1908
    INT DepthBias;
1909
    FLOAT DepthBiasClamp;
1910
    FLOAT SlopeScaledDepthBias;
1911
    BOOL DepthClipEnable;
1912
    BOOL ScissorEnable;
1913
    BOOL MultisampleEnable;
1914
    BOOL AntialiasedLineEnable;
1915
    }   D3D11_RASTERIZER_DESC;
1916
 
1917
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
1918
}
1919
struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC
1920
{
1921
    CD3D11_RASTERIZER_DESC()
1922
    {}
1923
    explicit CD3D11_RASTERIZER_DESC( const D3D11_RASTERIZER_DESC& o ) :
1924
        D3D11_RASTERIZER_DESC( o )
1925
    {}
1926
    explicit CD3D11_RASTERIZER_DESC( CD3D11_DEFAULT )
1927
    {
1928
        FillMode = D3D11_FILL_SOLID;
1929
        CullMode = D3D11_CULL_BACK;
1930
        FrontCounterClockwise = FALSE;
1931
        DepthBias = D3D11_DEFAULT_DEPTH_BIAS;
1932
        DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;
1933
        SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;
1934
        DepthClipEnable = TRUE;
1935
        ScissorEnable = FALSE;
1936
        MultisampleEnable = FALSE;
1937
        AntialiasedLineEnable = FALSE;
1938
    }
1939
    explicit CD3D11_RASTERIZER_DESC(
1940
        D3D11_FILL_MODE fillMode,
1941
        D3D11_CULL_MODE cullMode,
1942
        BOOL frontCounterClockwise,
1943
        INT depthBias,
1944
        FLOAT depthBiasClamp,
1945
        FLOAT slopeScaledDepthBias,
1946
        BOOL depthClipEnable,
1947
        BOOL scissorEnable,
1948
        BOOL multisampleEnable,
1949
        BOOL antialiasedLineEnable )
1950
    {
1951
        FillMode = fillMode;
1952
        CullMode = cullMode;
1953
        FrontCounterClockwise = frontCounterClockwise;
1954
        DepthBias = depthBias;
1955
        DepthBiasClamp = depthBiasClamp;
1956
        SlopeScaledDepthBias = slopeScaledDepthBias;
1957
        DepthClipEnable = depthClipEnable;
1958
        ScissorEnable = scissorEnable;
1959
        MultisampleEnable = multisampleEnable;
1960
        AntialiasedLineEnable = antialiasedLineEnable;
1961
    }
1962
    ~CD3D11_RASTERIZER_DESC() {}
1963
    operator const D3D11_RASTERIZER_DESC&() const { return *this; }
1964
};
1965
extern "C"{
1966
#endif
1967
 
1968
 
1969
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0003_v0_0_c_ifspec;
1970
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0003_v0_0_s_ifspec;
1971
 
1972
#ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
1973
#define __ID3D11RasterizerState_INTERFACE_DEFINED__
1974
 
1975
/* interface ID3D11RasterizerState */
1976
/* [unique][local][object][uuid] */
1977
 
1978
 
1979
EXTERN_C const IID IID_ID3D11RasterizerState;
1980
 
1981
#if defined(__cplusplus) && !defined(CINTERFACE)
1982
 
1983
    MIDL_INTERFACE("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")
1984
    ID3D11RasterizerState : public ID3D11DeviceChild
1985
    {
1986
    public:
1987
        virtual void STDMETHODCALLTYPE GetDesc(
1988
            /* [annotation] */
1989
            __out  D3D11_RASTERIZER_DESC *pDesc) = 0;
1990
 
1991
    };
1992
 
1993
#else   /* C style interface */
1994
 
1995
    typedef struct ID3D11RasterizerStateVtbl
1996
    {
1997
        BEGIN_INTERFACE
1998
 
1999
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2000
            ID3D11RasterizerState * This,
2001
            /* [in] */ REFIID riid,
2002
            /* [annotation][iid_is][out] */
2003
            __RPC__deref_out  void **ppvObject);
2004
 
2005
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2006
            ID3D11RasterizerState * This);
2007
 
2008
        ULONG ( STDMETHODCALLTYPE *Release )(
2009
            ID3D11RasterizerState * This);
2010
 
2011
        void ( STDMETHODCALLTYPE *GetDevice )(
2012
            ID3D11RasterizerState * This,
2013
            /* [annotation] */
2014
            __out  ID3D11Device **ppDevice);
2015
 
2016
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2017
            ID3D11RasterizerState * This,
2018
            /* [annotation] */
2019
            __in  REFGUID guid,
2020
            /* [annotation] */
2021
            __inout  UINT *pDataSize,
2022
            /* [annotation] */
2023
            __out_bcount_opt( *pDataSize )  void *pData);
2024
 
2025
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2026
            ID3D11RasterizerState * This,
2027
            /* [annotation] */
2028
            __in  REFGUID guid,
2029
            /* [annotation] */
2030
            __in  UINT DataSize,
2031
            /* [annotation] */
2032
            __in_bcount_opt( DataSize )  const void *pData);
2033
 
2034
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2035
            ID3D11RasterizerState * This,
2036
            /* [annotation] */
2037
            __in  REFGUID guid,
2038
            /* [annotation] */
2039
            __in_opt  const IUnknown *pData);
2040
 
2041
        void ( STDMETHODCALLTYPE *GetDesc )(
2042
            ID3D11RasterizerState * This,
2043
            /* [annotation] */
2044
            __out  D3D11_RASTERIZER_DESC *pDesc);
2045
 
2046
        END_INTERFACE
2047
    } ID3D11RasterizerStateVtbl;
2048
 
2049
    interface ID3D11RasterizerState
2050
    {
2051
        CONST_VTBL struct ID3D11RasterizerStateVtbl *lpVtbl;
2052
    };
2053
 
2054
 
2055
 
2056
#ifdef COBJMACROS
2057
 
2058
 
2059
#define ID3D11RasterizerState_QueryInterface(This,riid,ppvObject)       \
2060
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2061
 
2062
#define ID3D11RasterizerState_AddRef(This)      \
2063
    ( (This)->lpVtbl -> AddRef(This) ) 
2064
 
2065
#define ID3D11RasterizerState_Release(This)     \
2066
    ( (This)->lpVtbl -> Release(This) ) 
2067
 
2068
 
2069
#define ID3D11RasterizerState_GetDevice(This,ppDevice)  \
2070
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
2071
 
2072
#define ID3D11RasterizerState_GetPrivateData(This,guid,pDataSize,pData) \
2073
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
2074
 
2075
#define ID3D11RasterizerState_SetPrivateData(This,guid,DataSize,pData)  \
2076
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
2077
 
2078
#define ID3D11RasterizerState_SetPrivateDataInterface(This,guid,pData)  \
2079
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
2080
 
2081
 
2082
#define ID3D11RasterizerState_GetDesc(This,pDesc)       \
2083
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
2084
 
2085
#endif /* COBJMACROS */
2086
 
2087
 
2088
#endif  /* C style interface */
2089
 
2090
 
2091
 
2092
 
2093
#endif  /* __ID3D11RasterizerState_INTERFACE_DEFINED__ */
2094
 
2095
 
2096
/* interface __MIDL_itf_d3d11_0000_0004 */
2097
/* [local] */
2098
 
2099
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
2100
}
2101
inline UINT D3D11CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
2102
{ return MipSlice + ArraySlice * MipLevels; }
2103
extern "C"{
2104
#endif
2105
typedef struct D3D11_SUBRESOURCE_DATA
2106
    {
2107
    const void *pSysMem;
2108
    UINT SysMemPitch;
2109
    UINT SysMemSlicePitch;
2110
    }   D3D11_SUBRESOURCE_DATA;
2111
 
2112
typedef struct D3D11_MAPPED_SUBRESOURCE
2113
    {
2114
    void *pData;
2115
    UINT RowPitch;
2116
    UINT DepthPitch;
2117
    }   D3D11_MAPPED_SUBRESOURCE;
2118
 
2119
 
2120
 
2121
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0004_v0_0_c_ifspec;
2122
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0004_v0_0_s_ifspec;
2123
 
2124
#ifndef __ID3D11Resource_INTERFACE_DEFINED__
2125
#define __ID3D11Resource_INTERFACE_DEFINED__
2126
 
2127
/* interface ID3D11Resource */
2128
/* [unique][local][object][uuid] */
2129
 
2130
 
2131
EXTERN_C const IID IID_ID3D11Resource;
2132
 
2133
#if defined(__cplusplus) && !defined(CINTERFACE)
2134
 
2135
    MIDL_INTERFACE("dc8e63f3-d12b-4952-b47b-5e45026a862d")
2136
    ID3D11Resource : public ID3D11DeviceChild
2137
    {
2138
    public:
2139
        virtual void STDMETHODCALLTYPE GetType(
2140
            /* [annotation] */
2141
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension) = 0;
2142
 
2143
        virtual void STDMETHODCALLTYPE SetEvictionPriority(
2144
            /* [annotation] */
2145
            __in  UINT EvictionPriority) = 0;
2146
 
2147
        virtual UINT STDMETHODCALLTYPE GetEvictionPriority( void) = 0;
2148
 
2149
    };
2150
 
2151
#else   /* C style interface */
2152
 
2153
    typedef struct ID3D11ResourceVtbl
2154
    {
2155
        BEGIN_INTERFACE
2156
 
2157
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2158
            ID3D11Resource * This,
2159
            /* [in] */ REFIID riid,
2160
            /* [annotation][iid_is][out] */
2161
            __RPC__deref_out  void **ppvObject);
2162
 
2163
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2164
            ID3D11Resource * This);
2165
 
2166
        ULONG ( STDMETHODCALLTYPE *Release )(
2167
            ID3D11Resource * This);
2168
 
2169
        void ( STDMETHODCALLTYPE *GetDevice )(
2170
            ID3D11Resource * This,
2171
            /* [annotation] */
2172
            __out  ID3D11Device **ppDevice);
2173
 
2174
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2175
            ID3D11Resource * This,
2176
            /* [annotation] */
2177
            __in  REFGUID guid,
2178
            /* [annotation] */
2179
            __inout  UINT *pDataSize,
2180
            /* [annotation] */
2181
            __out_bcount_opt( *pDataSize )  void *pData);
2182
 
2183
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2184
            ID3D11Resource * This,
2185
            /* [annotation] */
2186
            __in  REFGUID guid,
2187
            /* [annotation] */
2188
            __in  UINT DataSize,
2189
            /* [annotation] */
2190
            __in_bcount_opt( DataSize )  const void *pData);
2191
 
2192
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2193
            ID3D11Resource * This,
2194
            /* [annotation] */
2195
            __in  REFGUID guid,
2196
            /* [annotation] */
2197
            __in_opt  const IUnknown *pData);
2198
 
2199
        void ( STDMETHODCALLTYPE *GetType )(
2200
            ID3D11Resource * This,
2201
            /* [annotation] */
2202
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension);
2203
 
2204
        void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2205
            ID3D11Resource * This,
2206
            /* [annotation] */
2207
            __in  UINT EvictionPriority);
2208
 
2209
        UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2210
            ID3D11Resource * This);
2211
 
2212
        END_INTERFACE
2213
    } ID3D11ResourceVtbl;
2214
 
2215
    interface ID3D11Resource
2216
    {
2217
        CONST_VTBL struct ID3D11ResourceVtbl *lpVtbl;
2218
    };
2219
 
2220
 
2221
 
2222
#ifdef COBJMACROS
2223
 
2224
 
2225
#define ID3D11Resource_QueryInterface(This,riid,ppvObject)      \
2226
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2227
 
2228
#define ID3D11Resource_AddRef(This)     \
2229
    ( (This)->lpVtbl -> AddRef(This) ) 
2230
 
2231
#define ID3D11Resource_Release(This)    \
2232
    ( (This)->lpVtbl -> Release(This) ) 
2233
 
2234
 
2235
#define ID3D11Resource_GetDevice(This,ppDevice) \
2236
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
2237
 
2238
#define ID3D11Resource_GetPrivateData(This,guid,pDataSize,pData)        \
2239
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
2240
 
2241
#define ID3D11Resource_SetPrivateData(This,guid,DataSize,pData) \
2242
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
2243
 
2244
#define ID3D11Resource_SetPrivateDataInterface(This,guid,pData) \
2245
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
2246
 
2247
 
2248
#define ID3D11Resource_GetType(This,pResourceDimension) \
2249
    ( (This)->lpVtbl -> GetType(This,pResourceDimension) ) 
2250
 
2251
#define ID3D11Resource_SetEvictionPriority(This,EvictionPriority)       \
2252
    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 
2253
 
2254
#define ID3D11Resource_GetEvictionPriority(This)        \
2255
    ( (This)->lpVtbl -> GetEvictionPriority(This) ) 
2256
 
2257
#endif /* COBJMACROS */
2258
 
2259
 
2260
#endif  /* C style interface */
2261
 
2262
 
2263
 
2264
 
2265
#endif  /* __ID3D11Resource_INTERFACE_DEFINED__ */
2266
 
2267
 
2268
/* interface __MIDL_itf_d3d11_0000_0005 */
2269
/* [local] */
2270
 
2271
typedef struct D3D11_BUFFER_DESC
2272
    {
2273
    UINT ByteWidth;
2274
    D3D11_USAGE Usage;
2275
    UINT BindFlags;
2276
    UINT CPUAccessFlags;
2277
    UINT MiscFlags;
2278
    UINT StructureByteStride;
2279
    }   D3D11_BUFFER_DESC;
2280
 
2281
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
2282
}
2283
struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC
2284
{
2285
    CD3D11_BUFFER_DESC()
2286
    {}
2287
    explicit CD3D11_BUFFER_DESC( const D3D11_BUFFER_DESC& o ) :
2288
        D3D11_BUFFER_DESC( o )
2289
    {}
2290
    explicit CD3D11_BUFFER_DESC(
2291
        UINT byteWidth,
2292
        UINT bindFlags,
2293
        D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
2294
        UINT cpuaccessFlags = 0,
2295
        UINT miscFlags = 0,
2296
        UINT structureByteStride = 0 )
2297
    {
2298
        ByteWidth = byteWidth;
2299
        Usage = usage;
2300
        BindFlags = bindFlags;
2301
        CPUAccessFlags = cpuaccessFlags ;
2302
        MiscFlags = miscFlags;
2303
        StructureByteStride = structureByteStride;
2304
    }
2305
    ~CD3D11_BUFFER_DESC() {}
2306
    operator const D3D11_BUFFER_DESC&() const { return *this; }
2307
};
2308
extern "C"{
2309
#endif
2310
 
2311
 
2312
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0005_v0_0_c_ifspec;
2313
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0005_v0_0_s_ifspec;
2314
 
2315
#ifndef __ID3D11Buffer_INTERFACE_DEFINED__
2316
#define __ID3D11Buffer_INTERFACE_DEFINED__
2317
 
2318
/* interface ID3D11Buffer */
2319
/* [unique][local][object][uuid] */
2320
 
2321
 
2322
EXTERN_C const IID IID_ID3D11Buffer;
2323
 
2324
#if defined(__cplusplus) && !defined(CINTERFACE)
2325
 
2326
    MIDL_INTERFACE("48570b85-d1ee-4fcd-a250-eb350722b037")
2327
    ID3D11Buffer : public ID3D11Resource
2328
    {
2329
    public:
2330
        virtual void STDMETHODCALLTYPE GetDesc(
2331
            /* [annotation] */
2332
            __out  D3D11_BUFFER_DESC *pDesc) = 0;
2333
 
2334
    };
2335
 
2336
#else   /* C style interface */
2337
 
2338
    typedef struct ID3D11BufferVtbl
2339
    {
2340
        BEGIN_INTERFACE
2341
 
2342
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2343
            ID3D11Buffer * This,
2344
            /* [in] */ REFIID riid,
2345
            /* [annotation][iid_is][out] */
2346
            __RPC__deref_out  void **ppvObject);
2347
 
2348
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2349
            ID3D11Buffer * This);
2350
 
2351
        ULONG ( STDMETHODCALLTYPE *Release )(
2352
            ID3D11Buffer * This);
2353
 
2354
        void ( STDMETHODCALLTYPE *GetDevice )(
2355
            ID3D11Buffer * This,
2356
            /* [annotation] */
2357
            __out  ID3D11Device **ppDevice);
2358
 
2359
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2360
            ID3D11Buffer * This,
2361
            /* [annotation] */
2362
            __in  REFGUID guid,
2363
            /* [annotation] */
2364
            __inout  UINT *pDataSize,
2365
            /* [annotation] */
2366
            __out_bcount_opt( *pDataSize )  void *pData);
2367
 
2368
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2369
            ID3D11Buffer * This,
2370
            /* [annotation] */
2371
            __in  REFGUID guid,
2372
            /* [annotation] */
2373
            __in  UINT DataSize,
2374
            /* [annotation] */
2375
            __in_bcount_opt( DataSize )  const void *pData);
2376
 
2377
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2378
            ID3D11Buffer * This,
2379
            /* [annotation] */
2380
            __in  REFGUID guid,
2381
            /* [annotation] */
2382
            __in_opt  const IUnknown *pData);
2383
 
2384
        void ( STDMETHODCALLTYPE *GetType )(
2385
            ID3D11Buffer * This,
2386
            /* [annotation] */
2387
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension);
2388
 
2389
        void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2390
            ID3D11Buffer * This,
2391
            /* [annotation] */
2392
            __in  UINT EvictionPriority);
2393
 
2394
        UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2395
            ID3D11Buffer * This);
2396
 
2397
        void ( STDMETHODCALLTYPE *GetDesc )(
2398
            ID3D11Buffer * This,
2399
            /* [annotation] */
2400
            __out  D3D11_BUFFER_DESC *pDesc);
2401
 
2402
        END_INTERFACE
2403
    } ID3D11BufferVtbl;
2404
 
2405
    interface ID3D11Buffer
2406
    {
2407
        CONST_VTBL struct ID3D11BufferVtbl *lpVtbl;
2408
    };
2409
 
2410
 
2411
 
2412
#ifdef COBJMACROS
2413
 
2414
 
2415
#define ID3D11Buffer_QueryInterface(This,riid,ppvObject)        \
2416
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2417
 
2418
#define ID3D11Buffer_AddRef(This)       \
2419
    ( (This)->lpVtbl -> AddRef(This) ) 
2420
 
2421
#define ID3D11Buffer_Release(This)      \
2422
    ( (This)->lpVtbl -> Release(This) ) 
2423
 
2424
 
2425
#define ID3D11Buffer_GetDevice(This,ppDevice)   \
2426
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
2427
 
2428
#define ID3D11Buffer_GetPrivateData(This,guid,pDataSize,pData)  \
2429
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
2430
 
2431
#define ID3D11Buffer_SetPrivateData(This,guid,DataSize,pData)   \
2432
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
2433
 
2434
#define ID3D11Buffer_SetPrivateDataInterface(This,guid,pData)   \
2435
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
2436
 
2437
 
2438
#define ID3D11Buffer_GetType(This,pResourceDimension)   \
2439
    ( (This)->lpVtbl -> GetType(This,pResourceDimension) ) 
2440
 
2441
#define ID3D11Buffer_SetEvictionPriority(This,EvictionPriority) \
2442
    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 
2443
 
2444
#define ID3D11Buffer_GetEvictionPriority(This)  \
2445
    ( (This)->lpVtbl -> GetEvictionPriority(This) ) 
2446
 
2447
 
2448
#define ID3D11Buffer_GetDesc(This,pDesc)        \
2449
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
2450
 
2451
#endif /* COBJMACROS */
2452
 
2453
 
2454
#endif  /* C style interface */
2455
 
2456
 
2457
 
2458
 
2459
#endif  /* __ID3D11Buffer_INTERFACE_DEFINED__ */
2460
 
2461
 
2462
/* interface __MIDL_itf_d3d11_0000_0006 */
2463
/* [local] */
2464
 
2465
typedef struct D3D11_TEXTURE1D_DESC
2466
    {
2467
    UINT Width;
2468
    UINT MipLevels;
2469
    UINT ArraySize;
2470
    DXGI_FORMAT Format;
2471
    D3D11_USAGE Usage;
2472
    UINT BindFlags;
2473
    UINT CPUAccessFlags;
2474
    UINT MiscFlags;
2475
    }   D3D11_TEXTURE1D_DESC;
2476
 
2477
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
2478
}
2479
struct CD3D11_TEXTURE1D_DESC : public D3D11_TEXTURE1D_DESC
2480
{
2481
    CD3D11_TEXTURE1D_DESC()
2482
    {}
2483
    explicit CD3D11_TEXTURE1D_DESC( const D3D11_TEXTURE1D_DESC& o ) :
2484
        D3D11_TEXTURE1D_DESC( o )
2485
    {}
2486
    explicit CD3D11_TEXTURE1D_DESC(
2487
        DXGI_FORMAT format,
2488
        UINT width,
2489
        UINT arraySize = 1,
2490
        UINT mipLevels = 0,
2491
        UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
2492
        D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
2493
        UINT cpuaccessFlags= 0,
2494
        UINT miscFlags = 0 )
2495
    {
2496
        Width = width;
2497
        MipLevels = mipLevels;
2498
        ArraySize = arraySize;
2499
        Format = format;
2500
        Usage = usage;
2501
        BindFlags = bindFlags;
2502
        CPUAccessFlags = cpuaccessFlags;
2503
        MiscFlags = miscFlags;
2504
    }
2505
    ~CD3D11_TEXTURE1D_DESC() {}
2506
    operator const D3D11_TEXTURE1D_DESC&() const { return *this; }
2507
};
2508
extern "C"{
2509
#endif
2510
 
2511
 
2512
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0006_v0_0_c_ifspec;
2513
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0006_v0_0_s_ifspec;
2514
 
2515
#ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
2516
#define __ID3D11Texture1D_INTERFACE_DEFINED__
2517
 
2518
/* interface ID3D11Texture1D */
2519
/* [unique][local][object][uuid] */
2520
 
2521
 
2522
EXTERN_C const IID IID_ID3D11Texture1D;
2523
 
2524
#if defined(__cplusplus) && !defined(CINTERFACE)
2525
 
2526
    MIDL_INTERFACE("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")
2527
    ID3D11Texture1D : public ID3D11Resource
2528
    {
2529
    public:
2530
        virtual void STDMETHODCALLTYPE GetDesc(
2531
            /* [annotation] */
2532
            __out  D3D11_TEXTURE1D_DESC *pDesc) = 0;
2533
 
2534
    };
2535
 
2536
#else   /* C style interface */
2537
 
2538
    typedef struct ID3D11Texture1DVtbl
2539
    {
2540
        BEGIN_INTERFACE
2541
 
2542
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2543
            ID3D11Texture1D * This,
2544
            /* [in] */ REFIID riid,
2545
            /* [annotation][iid_is][out] */
2546
            __RPC__deref_out  void **ppvObject);
2547
 
2548
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2549
            ID3D11Texture1D * This);
2550
 
2551
        ULONG ( STDMETHODCALLTYPE *Release )(
2552
            ID3D11Texture1D * This);
2553
 
2554
        void ( STDMETHODCALLTYPE *GetDevice )(
2555
            ID3D11Texture1D * This,
2556
            /* [annotation] */
2557
            __out  ID3D11Device **ppDevice);
2558
 
2559
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2560
            ID3D11Texture1D * This,
2561
            /* [annotation] */
2562
            __in  REFGUID guid,
2563
            /* [annotation] */
2564
            __inout  UINT *pDataSize,
2565
            /* [annotation] */
2566
            __out_bcount_opt( *pDataSize )  void *pData);
2567
 
2568
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2569
            ID3D11Texture1D * This,
2570
            /* [annotation] */
2571
            __in  REFGUID guid,
2572
            /* [annotation] */
2573
            __in  UINT DataSize,
2574
            /* [annotation] */
2575
            __in_bcount_opt( DataSize )  const void *pData);
2576
 
2577
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2578
            ID3D11Texture1D * This,
2579
            /* [annotation] */
2580
            __in  REFGUID guid,
2581
            /* [annotation] */
2582
            __in_opt  const IUnknown *pData);
2583
 
2584
        void ( STDMETHODCALLTYPE *GetType )(
2585
            ID3D11Texture1D * This,
2586
            /* [annotation] */
2587
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension);
2588
 
2589
        void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2590
            ID3D11Texture1D * This,
2591
            /* [annotation] */
2592
            __in  UINT EvictionPriority);
2593
 
2594
        UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2595
            ID3D11Texture1D * This);
2596
 
2597
        void ( STDMETHODCALLTYPE *GetDesc )(
2598
            ID3D11Texture1D * This,
2599
            /* [annotation] */
2600
            __out  D3D11_TEXTURE1D_DESC *pDesc);
2601
 
2602
        END_INTERFACE
2603
    } ID3D11Texture1DVtbl;
2604
 
2605
    interface ID3D11Texture1D
2606
    {
2607
        CONST_VTBL struct ID3D11Texture1DVtbl *lpVtbl;
2608
    };
2609
 
2610
 
2611
 
2612
#ifdef COBJMACROS
2613
 
2614
 
2615
#define ID3D11Texture1D_QueryInterface(This,riid,ppvObject)     \
2616
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2617
 
2618
#define ID3D11Texture1D_AddRef(This)    \
2619
    ( (This)->lpVtbl -> AddRef(This) ) 
2620
 
2621
#define ID3D11Texture1D_Release(This)   \
2622
    ( (This)->lpVtbl -> Release(This) ) 
2623
 
2624
 
2625
#define ID3D11Texture1D_GetDevice(This,ppDevice)        \
2626
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
2627
 
2628
#define ID3D11Texture1D_GetPrivateData(This,guid,pDataSize,pData)       \
2629
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
2630
 
2631
#define ID3D11Texture1D_SetPrivateData(This,guid,DataSize,pData)        \
2632
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
2633
 
2634
#define ID3D11Texture1D_SetPrivateDataInterface(This,guid,pData)        \
2635
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
2636
 
2637
 
2638
#define ID3D11Texture1D_GetType(This,pResourceDimension)        \
2639
    ( (This)->lpVtbl -> GetType(This,pResourceDimension) ) 
2640
 
2641
#define ID3D11Texture1D_SetEvictionPriority(This,EvictionPriority)      \
2642
    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 
2643
 
2644
#define ID3D11Texture1D_GetEvictionPriority(This)       \
2645
    ( (This)->lpVtbl -> GetEvictionPriority(This) ) 
2646
 
2647
 
2648
#define ID3D11Texture1D_GetDesc(This,pDesc)     \
2649
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
2650
 
2651
#endif /* COBJMACROS */
2652
 
2653
 
2654
#endif  /* C style interface */
2655
 
2656
 
2657
 
2658
 
2659
#endif  /* __ID3D11Texture1D_INTERFACE_DEFINED__ */
2660
 
2661
 
2662
/* interface __MIDL_itf_d3d11_0000_0007 */
2663
/* [local] */
2664
 
2665
typedef struct D3D11_TEXTURE2D_DESC
2666
    {
2667
    UINT Width;
2668
    UINT Height;
2669
    UINT MipLevels;
2670
    UINT ArraySize;
2671
    DXGI_FORMAT Format;
2672
    DXGI_SAMPLE_DESC SampleDesc;
2673
    D3D11_USAGE Usage;
2674
    UINT BindFlags;
2675
    UINT CPUAccessFlags;
2676
    UINT MiscFlags;
2677
    }   D3D11_TEXTURE2D_DESC;
2678
 
2679
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
2680
}
2681
struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC
2682
{
2683
    CD3D11_TEXTURE2D_DESC()
2684
    {}
2685
    explicit CD3D11_TEXTURE2D_DESC( const D3D11_TEXTURE2D_DESC& o ) :
2686
        D3D11_TEXTURE2D_DESC( o )
2687
    {}
2688
    explicit CD3D11_TEXTURE2D_DESC(
2689
        DXGI_FORMAT format,
2690
        UINT width,
2691
        UINT height,
2692
        UINT arraySize = 1,
2693
        UINT mipLevels = 0,
2694
        UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
2695
        D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
2696
        UINT cpuaccessFlags = 0,
2697
        UINT sampleCount = 1,
2698
        UINT sampleQuality = 0,
2699
        UINT miscFlags = 0 )
2700
    {
2701
        Width = width;
2702
        Height = height;
2703
        MipLevels = mipLevels;
2704
        ArraySize = arraySize;
2705
        Format = format;
2706
        SampleDesc.Count = sampleCount;
2707
        SampleDesc.Quality = sampleQuality;
2708
        Usage = usage;
2709
        BindFlags = bindFlags;
2710
        CPUAccessFlags = cpuaccessFlags;
2711
        MiscFlags = miscFlags;
2712
    }
2713
    ~CD3D11_TEXTURE2D_DESC() {}
2714
    operator const D3D11_TEXTURE2D_DESC&() const { return *this; }
2715
};
2716
extern "C"{
2717
#endif
2718
 
2719
 
2720
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0007_v0_0_c_ifspec;
2721
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0007_v0_0_s_ifspec;
2722
 
2723
#ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
2724
#define __ID3D11Texture2D_INTERFACE_DEFINED__
2725
 
2726
/* interface ID3D11Texture2D */
2727
/* [unique][local][object][uuid] */
2728
 
2729
 
2730
EXTERN_C const IID IID_ID3D11Texture2D;
2731
 
2732
#if defined(__cplusplus) && !defined(CINTERFACE)
2733
 
2734
    MIDL_INTERFACE("6f15aaf2-d208-4e89-9ab4-489535d34f9c")
2735
    ID3D11Texture2D : public ID3D11Resource
2736
    {
2737
    public:
2738
        virtual void STDMETHODCALLTYPE GetDesc(
2739
            /* [annotation] */
2740
            __out  D3D11_TEXTURE2D_DESC *pDesc) = 0;
2741
 
2742
    };
2743
 
2744
#else   /* C style interface */
2745
 
2746
    typedef struct ID3D11Texture2DVtbl
2747
    {
2748
        BEGIN_INTERFACE
2749
 
2750
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2751
            ID3D11Texture2D * This,
2752
            /* [in] */ REFIID riid,
2753
            /* [annotation][iid_is][out] */
2754
            __RPC__deref_out  void **ppvObject);
2755
 
2756
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2757
            ID3D11Texture2D * This);
2758
 
2759
        ULONG ( STDMETHODCALLTYPE *Release )(
2760
            ID3D11Texture2D * This);
2761
 
2762
        void ( STDMETHODCALLTYPE *GetDevice )(
2763
            ID3D11Texture2D * This,
2764
            /* [annotation] */
2765
            __out  ID3D11Device **ppDevice);
2766
 
2767
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2768
            ID3D11Texture2D * This,
2769
            /* [annotation] */
2770
            __in  REFGUID guid,
2771
            /* [annotation] */
2772
            __inout  UINT *pDataSize,
2773
            /* [annotation] */
2774
            __out_bcount_opt( *pDataSize )  void *pData);
2775
 
2776
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2777
            ID3D11Texture2D * This,
2778
            /* [annotation] */
2779
            __in  REFGUID guid,
2780
            /* [annotation] */
2781
            __in  UINT DataSize,
2782
            /* [annotation] */
2783
            __in_bcount_opt( DataSize )  const void *pData);
2784
 
2785
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2786
            ID3D11Texture2D * This,
2787
            /* [annotation] */
2788
            __in  REFGUID guid,
2789
            /* [annotation] */
2790
            __in_opt  const IUnknown *pData);
2791
 
2792
        void ( STDMETHODCALLTYPE *GetType )(
2793
            ID3D11Texture2D * This,
2794
            /* [annotation] */
2795
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension);
2796
 
2797
        void ( STDMETHODCALLTYPE *SetEvictionPriority )(
2798
            ID3D11Texture2D * This,
2799
            /* [annotation] */
2800
            __in  UINT EvictionPriority);
2801
 
2802
        UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
2803
            ID3D11Texture2D * This);
2804
 
2805
        void ( STDMETHODCALLTYPE *GetDesc )(
2806
            ID3D11Texture2D * This,
2807
            /* [annotation] */
2808
            __out  D3D11_TEXTURE2D_DESC *pDesc);
2809
 
2810
        END_INTERFACE
2811
    } ID3D11Texture2DVtbl;
2812
 
2813
    interface ID3D11Texture2D
2814
    {
2815
        CONST_VTBL struct ID3D11Texture2DVtbl *lpVtbl;
2816
    };
2817
 
2818
 
2819
 
2820
#ifdef COBJMACROS
2821
 
2822
 
2823
#define ID3D11Texture2D_QueryInterface(This,riid,ppvObject)     \
2824
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2825
 
2826
#define ID3D11Texture2D_AddRef(This)    \
2827
    ( (This)->lpVtbl -> AddRef(This) ) 
2828
 
2829
#define ID3D11Texture2D_Release(This)   \
2830
    ( (This)->lpVtbl -> Release(This) ) 
2831
 
2832
 
2833
#define ID3D11Texture2D_GetDevice(This,ppDevice)        \
2834
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
2835
 
2836
#define ID3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData)       \
2837
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
2838
 
2839
#define ID3D11Texture2D_SetPrivateData(This,guid,DataSize,pData)        \
2840
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
2841
 
2842
#define ID3D11Texture2D_SetPrivateDataInterface(This,guid,pData)        \
2843
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
2844
 
2845
 
2846
#define ID3D11Texture2D_GetType(This,pResourceDimension)        \
2847
    ( (This)->lpVtbl -> GetType(This,pResourceDimension) ) 
2848
 
2849
#define ID3D11Texture2D_SetEvictionPriority(This,EvictionPriority)      \
2850
    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 
2851
 
2852
#define ID3D11Texture2D_GetEvictionPriority(This)       \
2853
    ( (This)->lpVtbl -> GetEvictionPriority(This) ) 
2854
 
2855
 
2856
#define ID3D11Texture2D_GetDesc(This,pDesc)     \
2857
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
2858
 
2859
#endif /* COBJMACROS */
2860
 
2861
 
2862
#endif  /* C style interface */
2863
 
2864
 
2865
 
2866
 
2867
#endif  /* __ID3D11Texture2D_INTERFACE_DEFINED__ */
2868
 
2869
 
2870
/* interface __MIDL_itf_d3d11_0000_0008 */
2871
/* [local] */
2872
 
2873
typedef struct D3D11_TEXTURE3D_DESC
2874
    {
2875
    UINT Width;
2876
    UINT Height;
2877
    UINT Depth;
2878
    UINT MipLevels;
2879
    DXGI_FORMAT Format;
2880
    D3D11_USAGE Usage;
2881
    UINT BindFlags;
2882
    UINT CPUAccessFlags;
2883
    UINT MiscFlags;
2884
    }   D3D11_TEXTURE3D_DESC;
2885
 
2886
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
2887
}
2888
struct CD3D11_TEXTURE3D_DESC : public D3D11_TEXTURE3D_DESC
2889
{
2890
    CD3D11_TEXTURE3D_DESC()
2891
    {}
2892
    explicit CD3D11_TEXTURE3D_DESC( const D3D11_TEXTURE3D_DESC& o ) :
2893
        D3D11_TEXTURE3D_DESC( o )
2894
    {}
2895
    explicit CD3D11_TEXTURE3D_DESC(
2896
        DXGI_FORMAT format,
2897
        UINT width,
2898
        UINT height,
2899
        UINT depth,
2900
        UINT mipLevels = 0,
2901
        UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,
2902
        D3D11_USAGE usage = D3D11_USAGE_DEFAULT,
2903
        UINT cpuaccessFlags = 0,
2904
        UINT miscFlags = 0 )
2905
    {
2906
        Width = width;
2907
        Height = height;
2908
        Depth = depth;
2909
        MipLevels = mipLevels;
2910
        Format = format;
2911
        Usage = usage;
2912
        BindFlags = bindFlags;
2913
        CPUAccessFlags = cpuaccessFlags;
2914
        MiscFlags = miscFlags;
2915
    }
2916
    ~CD3D11_TEXTURE3D_DESC() {}
2917
    operator const D3D11_TEXTURE3D_DESC&() const { return *this; }
2918
};
2919
extern "C"{
2920
#endif
2921
 
2922
 
2923
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0008_v0_0_c_ifspec;
2924
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0008_v0_0_s_ifspec;
2925
 
2926
#ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
2927
#define __ID3D11Texture3D_INTERFACE_DEFINED__
2928
 
2929
/* interface ID3D11Texture3D */
2930
/* [unique][local][object][uuid] */
2931
 
2932
 
2933
EXTERN_C const IID IID_ID3D11Texture3D;
2934
 
2935
#if defined(__cplusplus) && !defined(CINTERFACE)
2936
 
2937
    MIDL_INTERFACE("037e866e-f56d-4357-a8af-9dabbe6e250e")
2938
    ID3D11Texture3D : public ID3D11Resource
2939
    {
2940
    public:
2941
        virtual void STDMETHODCALLTYPE GetDesc(
2942
            /* [annotation] */
2943
            __out  D3D11_TEXTURE3D_DESC *pDesc) = 0;
2944
 
2945
    };
2946
 
2947
#else   /* C style interface */
2948
 
2949
    typedef struct ID3D11Texture3DVtbl
2950
    {
2951
        BEGIN_INTERFACE
2952
 
2953
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2954
            ID3D11Texture3D * This,
2955
            /* [in] */ REFIID riid,
2956
            /* [annotation][iid_is][out] */
2957
            __RPC__deref_out  void **ppvObject);
2958
 
2959
        ULONG ( STDMETHODCALLTYPE *AddRef )(
2960
            ID3D11Texture3D * This);
2961
 
2962
        ULONG ( STDMETHODCALLTYPE *Release )(
2963
            ID3D11Texture3D * This);
2964
 
2965
        void ( STDMETHODCALLTYPE *GetDevice )(
2966
            ID3D11Texture3D * This,
2967
            /* [annotation] */
2968
            __out  ID3D11Device **ppDevice);
2969
 
2970
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
2971
            ID3D11Texture3D * This,
2972
            /* [annotation] */
2973
            __in  REFGUID guid,
2974
            /* [annotation] */
2975
            __inout  UINT *pDataSize,
2976
            /* [annotation] */
2977
            __out_bcount_opt( *pDataSize )  void *pData);
2978
 
2979
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
2980
            ID3D11Texture3D * This,
2981
            /* [annotation] */
2982
            __in  REFGUID guid,
2983
            /* [annotation] */
2984
            __in  UINT DataSize,
2985
            /* [annotation] */
2986
            __in_bcount_opt( DataSize )  const void *pData);
2987
 
2988
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
2989
            ID3D11Texture3D * This,
2990
            /* [annotation] */
2991
            __in  REFGUID guid,
2992
            /* [annotation] */
2993
            __in_opt  const IUnknown *pData);
2994
 
2995
        void ( STDMETHODCALLTYPE *GetType )(
2996
            ID3D11Texture3D * This,
2997
            /* [annotation] */
2998
            __out  D3D11_RESOURCE_DIMENSION *pResourceDimension);
2999
 
3000
        void ( STDMETHODCALLTYPE *SetEvictionPriority )(
3001
            ID3D11Texture3D * This,
3002
            /* [annotation] */
3003
            __in  UINT EvictionPriority);
3004
 
3005
        UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
3006
            ID3D11Texture3D * This);
3007
 
3008
        void ( STDMETHODCALLTYPE *GetDesc )(
3009
            ID3D11Texture3D * This,
3010
            /* [annotation] */
3011
            __out  D3D11_TEXTURE3D_DESC *pDesc);
3012
 
3013
        END_INTERFACE
3014
    } ID3D11Texture3DVtbl;
3015
 
3016
    interface ID3D11Texture3D
3017
    {
3018
        CONST_VTBL struct ID3D11Texture3DVtbl *lpVtbl;
3019
    };
3020
 
3021
 
3022
 
3023
#ifdef COBJMACROS
3024
 
3025
 
3026
#define ID3D11Texture3D_QueryInterface(This,riid,ppvObject)     \
3027
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3028
 
3029
#define ID3D11Texture3D_AddRef(This)    \
3030
    ( (This)->lpVtbl -> AddRef(This) ) 
3031
 
3032
#define ID3D11Texture3D_Release(This)   \
3033
    ( (This)->lpVtbl -> Release(This) ) 
3034
 
3035
 
3036
#define ID3D11Texture3D_GetDevice(This,ppDevice)        \
3037
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
3038
 
3039
#define ID3D11Texture3D_GetPrivateData(This,guid,pDataSize,pData)       \
3040
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
3041
 
3042
#define ID3D11Texture3D_SetPrivateData(This,guid,DataSize,pData)        \
3043
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
3044
 
3045
#define ID3D11Texture3D_SetPrivateDataInterface(This,guid,pData)        \
3046
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
3047
 
3048
 
3049
#define ID3D11Texture3D_GetType(This,pResourceDimension)        \
3050
    ( (This)->lpVtbl -> GetType(This,pResourceDimension) ) 
3051
 
3052
#define ID3D11Texture3D_SetEvictionPriority(This,EvictionPriority)      \
3053
    ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) ) 
3054
 
3055
#define ID3D11Texture3D_GetEvictionPriority(This)       \
3056
    ( (This)->lpVtbl -> GetEvictionPriority(This) ) 
3057
 
3058
 
3059
#define ID3D11Texture3D_GetDesc(This,pDesc)     \
3060
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
3061
 
3062
#endif /* COBJMACROS */
3063
 
3064
 
3065
#endif  /* C style interface */
3066
 
3067
 
3068
 
3069
 
3070
#endif  /* __ID3D11Texture3D_INTERFACE_DEFINED__ */
3071
 
3072
 
3073
/* interface __MIDL_itf_d3d11_0000_0009 */
3074
/* [local] */
3075
 
3076
typedef
3077
enum D3D11_TEXTURECUBE_FACE
3078
    {   D3D11_TEXTURECUBE_FACE_POSITIVE_X       = 0,
3079
        D3D11_TEXTURECUBE_FACE_NEGATIVE_X       = 1,
3080
        D3D11_TEXTURECUBE_FACE_POSITIVE_Y       = 2,
3081
        D3D11_TEXTURECUBE_FACE_NEGATIVE_Y       = 3,
3082
        D3D11_TEXTURECUBE_FACE_POSITIVE_Z       = 4,
3083
        D3D11_TEXTURECUBE_FACE_NEGATIVE_Z       = 5
3084
    }   D3D11_TEXTURECUBE_FACE;
3085
 
3086
 
3087
 
3088
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0009_v0_0_c_ifspec;
3089
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0009_v0_0_s_ifspec;
3090
 
3091
#ifndef __ID3D11View_INTERFACE_DEFINED__
3092
#define __ID3D11View_INTERFACE_DEFINED__
3093
 
3094
/* interface ID3D11View */
3095
/* [unique][local][object][uuid] */
3096
 
3097
 
3098
EXTERN_C const IID IID_ID3D11View;
3099
 
3100
#if defined(__cplusplus) && !defined(CINTERFACE)
3101
 
3102
    MIDL_INTERFACE("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")
3103
    ID3D11View : public ID3D11DeviceChild
3104
    {
3105
    public:
3106
        virtual void STDMETHODCALLTYPE GetResource(
3107
            /* [annotation] */
3108
            __out  ID3D11Resource **ppResource) = 0;
3109
 
3110
    };
3111
 
3112
#else   /* C style interface */
3113
 
3114
    typedef struct ID3D11ViewVtbl
3115
    {
3116
        BEGIN_INTERFACE
3117
 
3118
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3119
            ID3D11View * This,
3120
            /* [in] */ REFIID riid,
3121
            /* [annotation][iid_is][out] */
3122
            __RPC__deref_out  void **ppvObject);
3123
 
3124
        ULONG ( STDMETHODCALLTYPE *AddRef )(
3125
            ID3D11View * This);
3126
 
3127
        ULONG ( STDMETHODCALLTYPE *Release )(
3128
            ID3D11View * This);
3129
 
3130
        void ( STDMETHODCALLTYPE *GetDevice )(
3131
            ID3D11View * This,
3132
            /* [annotation] */
3133
            __out  ID3D11Device **ppDevice);
3134
 
3135
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3136
            ID3D11View * This,
3137
            /* [annotation] */
3138
            __in  REFGUID guid,
3139
            /* [annotation] */
3140
            __inout  UINT *pDataSize,
3141
            /* [annotation] */
3142
            __out_bcount_opt( *pDataSize )  void *pData);
3143
 
3144
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3145
            ID3D11View * This,
3146
            /* [annotation] */
3147
            __in  REFGUID guid,
3148
            /* [annotation] */
3149
            __in  UINT DataSize,
3150
            /* [annotation] */
3151
            __in_bcount_opt( DataSize )  const void *pData);
3152
 
3153
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3154
            ID3D11View * This,
3155
            /* [annotation] */
3156
            __in  REFGUID guid,
3157
            /* [annotation] */
3158
            __in_opt  const IUnknown *pData);
3159
 
3160
        void ( STDMETHODCALLTYPE *GetResource )(
3161
            ID3D11View * This,
3162
            /* [annotation] */
3163
            __out  ID3D11Resource **ppResource);
3164
 
3165
        END_INTERFACE
3166
    } ID3D11ViewVtbl;
3167
 
3168
    interface ID3D11View
3169
    {
3170
        CONST_VTBL struct ID3D11ViewVtbl *lpVtbl;
3171
    };
3172
 
3173
 
3174
 
3175
#ifdef COBJMACROS
3176
 
3177
 
3178
#define ID3D11View_QueryInterface(This,riid,ppvObject)  \
3179
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3180
 
3181
#define ID3D11View_AddRef(This) \
3182
    ( (This)->lpVtbl -> AddRef(This) ) 
3183
 
3184
#define ID3D11View_Release(This)        \
3185
    ( (This)->lpVtbl -> Release(This) ) 
3186
 
3187
 
3188
#define ID3D11View_GetDevice(This,ppDevice)     \
3189
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
3190
 
3191
#define ID3D11View_GetPrivateData(This,guid,pDataSize,pData)    \
3192
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
3193
 
3194
#define ID3D11View_SetPrivateData(This,guid,DataSize,pData)     \
3195
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
3196
 
3197
#define ID3D11View_SetPrivateDataInterface(This,guid,pData)     \
3198
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
3199
 
3200
 
3201
#define ID3D11View_GetResource(This,ppResource) \
3202
    ( (This)->lpVtbl -> GetResource(This,ppResource) ) 
3203
 
3204
#endif /* COBJMACROS */
3205
 
3206
 
3207
#endif  /* C style interface */
3208
 
3209
 
3210
 
3211
 
3212
#endif  /* __ID3D11View_INTERFACE_DEFINED__ */
3213
 
3214
 
3215
/* interface __MIDL_itf_d3d11_0000_0010 */
3216
/* [local] */
3217
 
3218
typedef struct D3D11_BUFFER_SRV
3219
    {
3220
    union
3221
        {
3222
        UINT FirstElement;
3223
        UINT ElementOffset;
3224
        }       ;
3225
    union
3226
        {
3227
        UINT NumElements;
3228
        UINT ElementWidth;
3229
        }       ;
3230
    }   D3D11_BUFFER_SRV;
3231
 
3232
typedef
3233
enum D3D11_BUFFEREX_SRV_FLAG
3234
    {   D3D11_BUFFEREX_SRV_FLAG_RAW     = 0x1
3235
    }   D3D11_BUFFEREX_SRV_FLAG;
3236
 
3237
typedef struct D3D11_BUFFEREX_SRV
3238
    {
3239
    UINT FirstElement;
3240
    UINT NumElements;
3241
    UINT Flags;
3242
    }   D3D11_BUFFEREX_SRV;
3243
 
3244
typedef struct D3D11_TEX1D_SRV
3245
    {
3246
    UINT MostDetailedMip;
3247
    UINT MipLevels;
3248
    }   D3D11_TEX1D_SRV;
3249
 
3250
typedef struct D3D11_TEX1D_ARRAY_SRV
3251
    {
3252
    UINT MostDetailedMip;
3253
    UINT MipLevels;
3254
    UINT FirstArraySlice;
3255
    UINT ArraySize;
3256
    }   D3D11_TEX1D_ARRAY_SRV;
3257
 
3258
typedef struct D3D11_TEX2D_SRV
3259
    {
3260
    UINT MostDetailedMip;
3261
    UINT MipLevels;
3262
    }   D3D11_TEX2D_SRV;
3263
 
3264
typedef struct D3D11_TEX2D_ARRAY_SRV
3265
    {
3266
    UINT MostDetailedMip;
3267
    UINT MipLevels;
3268
    UINT FirstArraySlice;
3269
    UINT ArraySize;
3270
    }   D3D11_TEX2D_ARRAY_SRV;
3271
 
3272
typedef struct D3D11_TEX3D_SRV
3273
    {
3274
    UINT MostDetailedMip;
3275
    UINT MipLevels;
3276
    }   D3D11_TEX3D_SRV;
3277
 
3278
typedef struct D3D11_TEXCUBE_SRV
3279
    {
3280
    UINT MostDetailedMip;
3281
    UINT MipLevels;
3282
    }   D3D11_TEXCUBE_SRV;
3283
 
3284
typedef struct D3D11_TEXCUBE_ARRAY_SRV
3285
    {
3286
    UINT MostDetailedMip;
3287
    UINT MipLevels;
3288
    UINT First2DArrayFace;
3289
    UINT NumCubes;
3290
    }   D3D11_TEXCUBE_ARRAY_SRV;
3291
 
3292
typedef struct D3D11_TEX2DMS_SRV
3293
    {
3294
    UINT UnusedField_NothingToDefine;
3295
    }   D3D11_TEX2DMS_SRV;
3296
 
3297
typedef struct D3D11_TEX2DMS_ARRAY_SRV
3298
    {
3299
    UINT FirstArraySlice;
3300
    UINT ArraySize;
3301
    }   D3D11_TEX2DMS_ARRAY_SRV;
3302
 
3303
typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
3304
    {
3305
    DXGI_FORMAT Format;
3306
    D3D11_SRV_DIMENSION ViewDimension;
3307
    union
3308
        {
3309
        D3D11_BUFFER_SRV Buffer;
3310
        D3D11_TEX1D_SRV Texture1D;
3311
        D3D11_TEX1D_ARRAY_SRV Texture1DArray;
3312
        D3D11_TEX2D_SRV Texture2D;
3313
        D3D11_TEX2D_ARRAY_SRV Texture2DArray;
3314
        D3D11_TEX2DMS_SRV Texture2DMS;
3315
        D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
3316
        D3D11_TEX3D_SRV Texture3D;
3317
        D3D11_TEXCUBE_SRV TextureCube;
3318
        D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
3319
        D3D11_BUFFEREX_SRV BufferEx;
3320
        }       ;
3321
    }   D3D11_SHADER_RESOURCE_VIEW_DESC;
3322
 
3323
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
3324
}
3325
struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC
3326
{
3327
    CD3D11_SHADER_RESOURCE_VIEW_DESC()
3328
    {}
3329
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC( const D3D11_SHADER_RESOURCE_VIEW_DESC& o ) :
3330
        D3D11_SHADER_RESOURCE_VIEW_DESC( o )
3331
    {}
3332
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
3333
        D3D11_SRV_DIMENSION viewDimension,
3334
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3335
        UINT mostDetailedMip = 0, // FirstElement for BUFFER
3336
        UINT mipLevels = -1, // NumElements for BUFFER
3337
        UINT firstArraySlice = 0, // First2DArrayFace for TEXTURECUBEARRAY
3338
        UINT arraySize = -1, // NumCubes for TEXTURECUBEARRAY
3339
        UINT flags = 0 ) // BUFFEREX only
3340
    {
3341
        Format = format;
3342
        ViewDimension = viewDimension;
3343
        switch (viewDimension)
3344
        {
3345
        case D3D11_SRV_DIMENSION_BUFFER:
3346
            Buffer.FirstElement = mostDetailedMip;
3347
            Buffer.NumElements = mipLevels;
3348
            break;
3349
        case D3D11_SRV_DIMENSION_TEXTURE1D:
3350
            Texture1D.MostDetailedMip = mostDetailedMip;
3351
            Texture1D.MipLevels = mipLevels;
3352
            break;
3353
        case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
3354
            Texture1DArray.MostDetailedMip = mostDetailedMip;
3355
            Texture1DArray.MipLevels = mipLevels;
3356
            Texture1DArray.FirstArraySlice = firstArraySlice;
3357
            Texture1DArray.ArraySize = arraySize;
3358
            break;
3359
        case D3D11_SRV_DIMENSION_TEXTURE2D:
3360
            Texture2D.MostDetailedMip = mostDetailedMip;
3361
            Texture2D.MipLevels = mipLevels;
3362
            break;
3363
        case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
3364
            Texture2DArray.MostDetailedMip = mostDetailedMip;
3365
            Texture2DArray.MipLevels = mipLevels;
3366
            Texture2DArray.FirstArraySlice = firstArraySlice;
3367
            Texture2DArray.ArraySize = arraySize;
3368
            break;
3369
        case D3D11_SRV_DIMENSION_TEXTURE2DMS:
3370
            break;
3371
        case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
3372
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
3373
            Texture2DMSArray.ArraySize = arraySize;
3374
            break;
3375
        case D3D11_SRV_DIMENSION_TEXTURE3D:
3376
            Texture3D.MostDetailedMip = mostDetailedMip;
3377
            Texture3D.MipLevels = mipLevels;
3378
            break;
3379
        case D3D11_SRV_DIMENSION_TEXTURECUBE:
3380
            TextureCube.MostDetailedMip = mostDetailedMip;
3381
            TextureCube.MipLevels = mipLevels;
3382
            break;
3383
        case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
3384
            TextureCubeArray.MostDetailedMip = mostDetailedMip;
3385
            TextureCubeArray.MipLevels = mipLevels;
3386
            TextureCubeArray.First2DArrayFace = firstArraySlice;
3387
            TextureCubeArray.NumCubes = arraySize;
3388
            break;
3389
        case D3D11_SRV_DIMENSION_BUFFEREX:
3390
            BufferEx.FirstElement = mostDetailedMip;
3391
            BufferEx.NumElements = mipLevels;
3392
            BufferEx.Flags = flags;
3393
            break;
3394
        default: break;
3395
        }
3396
    }
3397
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
3398
        __in ID3D11Buffer*,
3399
        DXGI_FORMAT format,
3400
        UINT firstElement,
3401
        UINT numElements,
3402
        UINT flags = 0 )
3403
    {
3404
        Format = format;
3405
        ViewDimension = D3D11_SRV_DIMENSION_BUFFEREX;
3406
        BufferEx.FirstElement = firstElement;
3407
        BufferEx.NumElements = numElements;
3408
        BufferEx.Flags = flags;
3409
    }
3410
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
3411
        __in ID3D11Texture1D* pTex1D,
3412
        D3D11_SRV_DIMENSION viewDimension,
3413
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3414
        UINT mostDetailedMip = 0,
3415
        UINT mipLevels = -1,
3416
        UINT firstArraySlice = 0,
3417
        UINT arraySize = -1 )
3418
    {
3419
        ViewDimension = viewDimension;
3420
        if (DXGI_FORMAT_UNKNOWN == format || -1 == mipLevels ||
3421
            (-1 == arraySize && D3D11_SRV_DIMENSION_TEXTURE1DARRAY == viewDimension))
3422
        {
3423
            D3D11_TEXTURE1D_DESC TexDesc;
3424
            pTex1D->GetDesc( &TexDesc );
3425
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3426
            if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
3427
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
3428
        }
3429
        Format = format;
3430
        switch (viewDimension)
3431
        {
3432
        case D3D11_SRV_DIMENSION_TEXTURE1D:
3433
            Texture1D.MostDetailedMip = mostDetailedMip;
3434
            Texture1D.MipLevels = mipLevels;
3435
            break;
3436
        case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:
3437
            Texture1DArray.MostDetailedMip = mostDetailedMip;
3438
            Texture1DArray.MipLevels = mipLevels;
3439
            Texture1DArray.FirstArraySlice = firstArraySlice;
3440
            Texture1DArray.ArraySize = arraySize;
3441
            break;
3442
        default: break;
3443
        }
3444
    }
3445
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
3446
        __in ID3D11Texture2D* pTex2D,
3447
        D3D11_SRV_DIMENSION viewDimension,
3448
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3449
        UINT mostDetailedMip = 0,
3450
        UINT mipLevels = -1,
3451
        UINT firstArraySlice = 0, // First2DArrayFace for TEXTURECUBEARRAY
3452
        UINT arraySize = -1 ) // NumCubes for TEXTURECUBEARRAY
3453
    {
3454
        ViewDimension = viewDimension;
3455
        if (DXGI_FORMAT_UNKNOWN == format ||
3456
            (-1 == mipLevels &&
3457
                D3D11_SRV_DIMENSION_TEXTURE2DMS != viewDimension &&
3458
                D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY != viewDimension) ||
3459
            (-1 == arraySize &&
3460
                (D3D11_SRV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
3461
                D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY == viewDimension ||
3462
                D3D11_SRV_DIMENSION_TEXTURECUBEARRAY == viewDimension)))
3463
        {
3464
            D3D11_TEXTURE2D_DESC TexDesc;
3465
            pTex2D->GetDesc( &TexDesc );
3466
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3467
            if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
3468
            if (-1 == arraySize)
3469
            {
3470
                arraySize = TexDesc.ArraySize - firstArraySlice;
3471
                if (D3D11_SRV_DIMENSION_TEXTURECUBEARRAY == viewDimension) arraySize /= 6;
3472
            }
3473
        }
3474
        Format = format;
3475
        switch (viewDimension)
3476
        {
3477
        case D3D11_SRV_DIMENSION_TEXTURE2D:
3478
            Texture2D.MostDetailedMip = mostDetailedMip;
3479
            Texture2D.MipLevels = mipLevels;
3480
            break;
3481
        case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:
3482
            Texture2DArray.MostDetailedMip = mostDetailedMip;
3483
            Texture2DArray.MipLevels = mipLevels;
3484
            Texture2DArray.FirstArraySlice = firstArraySlice;
3485
            Texture2DArray.ArraySize = arraySize;
3486
            break;
3487
        case D3D11_SRV_DIMENSION_TEXTURE2DMS:
3488
            break;
3489
        case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:
3490
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
3491
            Texture2DMSArray.ArraySize = arraySize;
3492
            break;
3493
        case D3D11_SRV_DIMENSION_TEXTURECUBE:
3494
            TextureCube.MostDetailedMip = mostDetailedMip;
3495
            TextureCube.MipLevels = mipLevels;
3496
            break;
3497
        case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:
3498
            TextureCubeArray.MostDetailedMip = mostDetailedMip;
3499
            TextureCubeArray.MipLevels = mipLevels;
3500
            TextureCubeArray.First2DArrayFace = firstArraySlice;
3501
            TextureCubeArray.NumCubes = arraySize;
3502
            break;
3503
        default: break;
3504
        }
3505
    }
3506
    explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(
3507
        __in ID3D11Texture3D* pTex3D,
3508
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3509
        UINT mostDetailedMip = 0,
3510
        UINT mipLevels = -1 )
3511
    {
3512
        ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D;
3513
        if (DXGI_FORMAT_UNKNOWN == format || -1 == mipLevels)
3514
        {
3515
            D3D11_TEXTURE3D_DESC TexDesc;
3516
            pTex3D->GetDesc( &TexDesc );
3517
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3518
            if (-1 == mipLevels) mipLevels = TexDesc.MipLevels - mostDetailedMip;
3519
        }
3520
        Format = format;
3521
        Texture3D.MostDetailedMip = mostDetailedMip;
3522
        Texture3D.MipLevels = mipLevels;
3523
    }
3524
    ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}
3525
    operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const { return *this; }
3526
};
3527
extern "C"{
3528
#endif
3529
 
3530
 
3531
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0010_v0_0_c_ifspec;
3532
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0010_v0_0_s_ifspec;
3533
 
3534
#ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
3535
#define __ID3D11ShaderResourceView_INTERFACE_DEFINED__
3536
 
3537
/* interface ID3D11ShaderResourceView */
3538
/* [unique][local][object][uuid] */
3539
 
3540
 
3541
EXTERN_C const IID IID_ID3D11ShaderResourceView;
3542
 
3543
#if defined(__cplusplus) && !defined(CINTERFACE)
3544
 
3545
    MIDL_INTERFACE("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")
3546
    ID3D11ShaderResourceView : public ID3D11View
3547
    {
3548
    public:
3549
        virtual void STDMETHODCALLTYPE GetDesc(
3550
            /* [annotation] */
3551
            __out  D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
3552
 
3553
    };
3554
 
3555
#else   /* C style interface */
3556
 
3557
    typedef struct ID3D11ShaderResourceViewVtbl
3558
    {
3559
        BEGIN_INTERFACE
3560
 
3561
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3562
            ID3D11ShaderResourceView * This,
3563
            /* [in] */ REFIID riid,
3564
            /* [annotation][iid_is][out] */
3565
            __RPC__deref_out  void **ppvObject);
3566
 
3567
        ULONG ( STDMETHODCALLTYPE *AddRef )(
3568
            ID3D11ShaderResourceView * This);
3569
 
3570
        ULONG ( STDMETHODCALLTYPE *Release )(
3571
            ID3D11ShaderResourceView * This);
3572
 
3573
        void ( STDMETHODCALLTYPE *GetDevice )(
3574
            ID3D11ShaderResourceView * This,
3575
            /* [annotation] */
3576
            __out  ID3D11Device **ppDevice);
3577
 
3578
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3579
            ID3D11ShaderResourceView * This,
3580
            /* [annotation] */
3581
            __in  REFGUID guid,
3582
            /* [annotation] */
3583
            __inout  UINT *pDataSize,
3584
            /* [annotation] */
3585
            __out_bcount_opt( *pDataSize )  void *pData);
3586
 
3587
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3588
            ID3D11ShaderResourceView * This,
3589
            /* [annotation] */
3590
            __in  REFGUID guid,
3591
            /* [annotation] */
3592
            __in  UINT DataSize,
3593
            /* [annotation] */
3594
            __in_bcount_opt( DataSize )  const void *pData);
3595
 
3596
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3597
            ID3D11ShaderResourceView * This,
3598
            /* [annotation] */
3599
            __in  REFGUID guid,
3600
            /* [annotation] */
3601
            __in_opt  const IUnknown *pData);
3602
 
3603
        void ( STDMETHODCALLTYPE *GetResource )(
3604
            ID3D11ShaderResourceView * This,
3605
            /* [annotation] */
3606
            __out  ID3D11Resource **ppResource);
3607
 
3608
        void ( STDMETHODCALLTYPE *GetDesc )(
3609
            ID3D11ShaderResourceView * This,
3610
            /* [annotation] */
3611
            __out  D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc);
3612
 
3613
        END_INTERFACE
3614
    } ID3D11ShaderResourceViewVtbl;
3615
 
3616
    interface ID3D11ShaderResourceView
3617
    {
3618
        CONST_VTBL struct ID3D11ShaderResourceViewVtbl *lpVtbl;
3619
    };
3620
 
3621
 
3622
 
3623
#ifdef COBJMACROS
3624
 
3625
 
3626
#define ID3D11ShaderResourceView_QueryInterface(This,riid,ppvObject)    \
3627
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3628
 
3629
#define ID3D11ShaderResourceView_AddRef(This)   \
3630
    ( (This)->lpVtbl -> AddRef(This) ) 
3631
 
3632
#define ID3D11ShaderResourceView_Release(This)  \
3633
    ( (This)->lpVtbl -> Release(This) ) 
3634
 
3635
 
3636
#define ID3D11ShaderResourceView_GetDevice(This,ppDevice)       \
3637
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
3638
 
3639
#define ID3D11ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData)      \
3640
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
3641
 
3642
#define ID3D11ShaderResourceView_SetPrivateData(This,guid,DataSize,pData)       \
3643
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
3644
 
3645
#define ID3D11ShaderResourceView_SetPrivateDataInterface(This,guid,pData)       \
3646
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
3647
 
3648
 
3649
#define ID3D11ShaderResourceView_GetResource(This,ppResource)   \
3650
    ( (This)->lpVtbl -> GetResource(This,ppResource) ) 
3651
 
3652
 
3653
#define ID3D11ShaderResourceView_GetDesc(This,pDesc)    \
3654
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
3655
 
3656
#endif /* COBJMACROS */
3657
 
3658
 
3659
#endif  /* C style interface */
3660
 
3661
 
3662
 
3663
 
3664
#endif  /* __ID3D11ShaderResourceView_INTERFACE_DEFINED__ */
3665
 
3666
 
3667
/* interface __MIDL_itf_d3d11_0000_0011 */
3668
/* [local] */
3669
 
3670
typedef struct D3D11_BUFFER_RTV
3671
    {
3672
    union
3673
        {
3674
        UINT FirstElement;
3675
        UINT ElementOffset;
3676
        }       ;
3677
    union
3678
        {
3679
        UINT NumElements;
3680
        UINT ElementWidth;
3681
        }       ;
3682
    }   D3D11_BUFFER_RTV;
3683
 
3684
typedef struct D3D11_TEX1D_RTV
3685
    {
3686
    UINT MipSlice;
3687
    }   D3D11_TEX1D_RTV;
3688
 
3689
typedef struct D3D11_TEX1D_ARRAY_RTV
3690
    {
3691
    UINT MipSlice;
3692
    UINT FirstArraySlice;
3693
    UINT ArraySize;
3694
    }   D3D11_TEX1D_ARRAY_RTV;
3695
 
3696
typedef struct D3D11_TEX2D_RTV
3697
    {
3698
    UINT MipSlice;
3699
    }   D3D11_TEX2D_RTV;
3700
 
3701
typedef struct D3D11_TEX2DMS_RTV
3702
    {
3703
    UINT UnusedField_NothingToDefine;
3704
    }   D3D11_TEX2DMS_RTV;
3705
 
3706
typedef struct D3D11_TEX2D_ARRAY_RTV
3707
    {
3708
    UINT MipSlice;
3709
    UINT FirstArraySlice;
3710
    UINT ArraySize;
3711
    }   D3D11_TEX2D_ARRAY_RTV;
3712
 
3713
typedef struct D3D11_TEX2DMS_ARRAY_RTV
3714
    {
3715
    UINT FirstArraySlice;
3716
    UINT ArraySize;
3717
    }   D3D11_TEX2DMS_ARRAY_RTV;
3718
 
3719
typedef struct D3D11_TEX3D_RTV
3720
    {
3721
    UINT MipSlice;
3722
    UINT FirstWSlice;
3723
    UINT WSize;
3724
    }   D3D11_TEX3D_RTV;
3725
 
3726
typedef struct D3D11_RENDER_TARGET_VIEW_DESC
3727
    {
3728
    DXGI_FORMAT Format;
3729
    D3D11_RTV_DIMENSION ViewDimension;
3730
    union
3731
        {
3732
        D3D11_BUFFER_RTV Buffer;
3733
        D3D11_TEX1D_RTV Texture1D;
3734
        D3D11_TEX1D_ARRAY_RTV Texture1DArray;
3735
        D3D11_TEX2D_RTV Texture2D;
3736
        D3D11_TEX2D_ARRAY_RTV Texture2DArray;
3737
        D3D11_TEX2DMS_RTV Texture2DMS;
3738
        D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
3739
        D3D11_TEX3D_RTV Texture3D;
3740
        }       ;
3741
    }   D3D11_RENDER_TARGET_VIEW_DESC;
3742
 
3743
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
3744
}
3745
struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC
3746
{
3747
    CD3D11_RENDER_TARGET_VIEW_DESC()
3748
    {}
3749
    explicit CD3D11_RENDER_TARGET_VIEW_DESC( const D3D11_RENDER_TARGET_VIEW_DESC& o ) :
3750
        D3D11_RENDER_TARGET_VIEW_DESC( o )
3751
    {}
3752
    explicit CD3D11_RENDER_TARGET_VIEW_DESC(
3753
        D3D11_RTV_DIMENSION viewDimension,
3754
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3755
        UINT mipSlice = 0, // FirstElement for BUFFER
3756
        UINT firstArraySlice = 0, // NumElements for BUFFER, FirstWSlice for TEXTURE3D
3757
        UINT arraySize = -1 ) // WSize for TEXTURE3D
3758
    {
3759
        Format = format;
3760
        ViewDimension = viewDimension;
3761
        switch (viewDimension)
3762
        {
3763
        case D3D11_RTV_DIMENSION_BUFFER:
3764
            Buffer.FirstElement = mipSlice;
3765
            Buffer.NumElements = firstArraySlice;
3766
            break;
3767
        case D3D11_RTV_DIMENSION_TEXTURE1D:
3768
            Texture1D.MipSlice = mipSlice;
3769
            break;
3770
        case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
3771
            Texture1DArray.MipSlice = mipSlice;
3772
            Texture1DArray.FirstArraySlice = firstArraySlice;
3773
            Texture1DArray.ArraySize = arraySize;
3774
            break;
3775
        case D3D11_RTV_DIMENSION_TEXTURE2D:
3776
            Texture2D.MipSlice = mipSlice;
3777
            break;
3778
        case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
3779
            Texture2DArray.MipSlice = mipSlice;
3780
            Texture2DArray.FirstArraySlice = firstArraySlice;
3781
            Texture2DArray.ArraySize = arraySize;
3782
            break;
3783
        case D3D11_RTV_DIMENSION_TEXTURE2DMS:
3784
            break;
3785
        case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
3786
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
3787
            Texture2DMSArray.ArraySize = arraySize;
3788
            break;
3789
        case D3D11_RTV_DIMENSION_TEXTURE3D:
3790
            Texture3D.MipSlice = mipSlice;
3791
            Texture3D.FirstWSlice = firstArraySlice;
3792
            Texture3D.WSize = arraySize;
3793
            break;
3794
        default: break;
3795
        }
3796
    }
3797
    explicit CD3D11_RENDER_TARGET_VIEW_DESC(
3798
        __in ID3D11Buffer*,
3799
        DXGI_FORMAT format,
3800
        UINT firstElement,
3801
        UINT numElements )
3802
    {
3803
        Format = format;
3804
        ViewDimension = D3D11_RTV_DIMENSION_BUFFER;
3805
        Buffer.FirstElement = firstElement;
3806
        Buffer.NumElements = numElements;
3807
    }
3808
    explicit CD3D11_RENDER_TARGET_VIEW_DESC(
3809
        __in ID3D11Texture1D* pTex1D,
3810
        D3D11_RTV_DIMENSION viewDimension,
3811
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3812
        UINT mipSlice = 0,
3813
        UINT firstArraySlice = 0,
3814
        UINT arraySize = -1 )
3815
    {
3816
        ViewDimension = viewDimension;
3817
        if (DXGI_FORMAT_UNKNOWN == format ||
3818
            (-1 == arraySize && D3D11_RTV_DIMENSION_TEXTURE1DARRAY == viewDimension))
3819
        {
3820
            D3D11_TEXTURE1D_DESC TexDesc;
3821
            pTex1D->GetDesc( &TexDesc );
3822
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3823
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
3824
        }
3825
        Format = format;
3826
        switch (viewDimension)
3827
        {
3828
        case D3D11_RTV_DIMENSION_TEXTURE1D:
3829
            Texture1D.MipSlice = mipSlice;
3830
            break;
3831
        case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
3832
            Texture1DArray.MipSlice = mipSlice;
3833
            Texture1DArray.FirstArraySlice = firstArraySlice;
3834
            Texture1DArray.ArraySize = arraySize;
3835
            break;
3836
        default: break;
3837
        }
3838
    }
3839
    explicit CD3D11_RENDER_TARGET_VIEW_DESC(
3840
        __in ID3D11Texture2D* pTex2D,
3841
        D3D11_RTV_DIMENSION viewDimension,
3842
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3843
        UINT mipSlice = 0,
3844
        UINT firstArraySlice = 0,
3845
        UINT arraySize = -1 )
3846
    {
3847
        ViewDimension = viewDimension;
3848
        if (DXGI_FORMAT_UNKNOWN == format ||
3849
            (-1 == arraySize &&
3850
                (D3D11_RTV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
3851
                D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY == viewDimension)))
3852
        {
3853
            D3D11_TEXTURE2D_DESC TexDesc;
3854
            pTex2D->GetDesc( &TexDesc );
3855
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3856
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
3857
        }
3858
        Format = format;
3859
        switch (viewDimension)
3860
        {
3861
        case D3D11_RTV_DIMENSION_TEXTURE2D:
3862
            Texture2D.MipSlice = mipSlice;
3863
            break;
3864
        case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
3865
            Texture2DArray.MipSlice = mipSlice;
3866
            Texture2DArray.FirstArraySlice = firstArraySlice;
3867
            Texture2DArray.ArraySize = arraySize;
3868
            break;
3869
        case D3D11_RTV_DIMENSION_TEXTURE2DMS:
3870
            break;
3871
        case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
3872
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
3873
            Texture2DMSArray.ArraySize = arraySize;
3874
            break;
3875
        default: break;
3876
        }
3877
    }
3878
    explicit CD3D11_RENDER_TARGET_VIEW_DESC(
3879
        __in ID3D11Texture3D* pTex3D,
3880
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
3881
        UINT mipSlice = 0,
3882
        UINT firstWSlice = 0,
3883
        UINT wSize = -1 )
3884
    {
3885
        ViewDimension = D3D11_RTV_DIMENSION_TEXTURE3D;
3886
        if (DXGI_FORMAT_UNKNOWN == format || -1 == wSize)
3887
        {
3888
            D3D11_TEXTURE3D_DESC TexDesc;
3889
            pTex3D->GetDesc( &TexDesc );
3890
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
3891
            if (-1 == wSize) wSize = TexDesc.Depth - firstWSlice;
3892
        }
3893
        Format = format;
3894
        Texture3D.MipSlice = mipSlice;
3895
        Texture3D.FirstWSlice = firstWSlice;
3896
        Texture3D.WSize = wSize;
3897
    }
3898
    ~CD3D11_RENDER_TARGET_VIEW_DESC() {}
3899
    operator const D3D11_RENDER_TARGET_VIEW_DESC&() const { return *this; }
3900
};
3901
extern "C"{
3902
#endif
3903
 
3904
 
3905
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0011_v0_0_c_ifspec;
3906
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0011_v0_0_s_ifspec;
3907
 
3908
#ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
3909
#define __ID3D11RenderTargetView_INTERFACE_DEFINED__
3910
 
3911
/* interface ID3D11RenderTargetView */
3912
/* [unique][local][object][uuid] */
3913
 
3914
 
3915
EXTERN_C const IID IID_ID3D11RenderTargetView;
3916
 
3917
#if defined(__cplusplus) && !defined(CINTERFACE)
3918
 
3919
    MIDL_INTERFACE("dfdba067-0b8d-4865-875b-d7b4516cc164")
3920
    ID3D11RenderTargetView : public ID3D11View
3921
    {
3922
    public:
3923
        virtual void STDMETHODCALLTYPE GetDesc(
3924
            /* [annotation] */
3925
            __out  D3D11_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
3926
 
3927
    };
3928
 
3929
#else   /* C style interface */
3930
 
3931
    typedef struct ID3D11RenderTargetViewVtbl
3932
    {
3933
        BEGIN_INTERFACE
3934
 
3935
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
3936
            ID3D11RenderTargetView * This,
3937
            /* [in] */ REFIID riid,
3938
            /* [annotation][iid_is][out] */
3939
            __RPC__deref_out  void **ppvObject);
3940
 
3941
        ULONG ( STDMETHODCALLTYPE *AddRef )(
3942
            ID3D11RenderTargetView * This);
3943
 
3944
        ULONG ( STDMETHODCALLTYPE *Release )(
3945
            ID3D11RenderTargetView * This);
3946
 
3947
        void ( STDMETHODCALLTYPE *GetDevice )(
3948
            ID3D11RenderTargetView * This,
3949
            /* [annotation] */
3950
            __out  ID3D11Device **ppDevice);
3951
 
3952
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
3953
            ID3D11RenderTargetView * This,
3954
            /* [annotation] */
3955
            __in  REFGUID guid,
3956
            /* [annotation] */
3957
            __inout  UINT *pDataSize,
3958
            /* [annotation] */
3959
            __out_bcount_opt( *pDataSize )  void *pData);
3960
 
3961
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
3962
            ID3D11RenderTargetView * This,
3963
            /* [annotation] */
3964
            __in  REFGUID guid,
3965
            /* [annotation] */
3966
            __in  UINT DataSize,
3967
            /* [annotation] */
3968
            __in_bcount_opt( DataSize )  const void *pData);
3969
 
3970
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
3971
            ID3D11RenderTargetView * This,
3972
            /* [annotation] */
3973
            __in  REFGUID guid,
3974
            /* [annotation] */
3975
            __in_opt  const IUnknown *pData);
3976
 
3977
        void ( STDMETHODCALLTYPE *GetResource )(
3978
            ID3D11RenderTargetView * This,
3979
            /* [annotation] */
3980
            __out  ID3D11Resource **ppResource);
3981
 
3982
        void ( STDMETHODCALLTYPE *GetDesc )(
3983
            ID3D11RenderTargetView * This,
3984
            /* [annotation] */
3985
            __out  D3D11_RENDER_TARGET_VIEW_DESC *pDesc);
3986
 
3987
        END_INTERFACE
3988
    } ID3D11RenderTargetViewVtbl;
3989
 
3990
    interface ID3D11RenderTargetView
3991
    {
3992
        CONST_VTBL struct ID3D11RenderTargetViewVtbl *lpVtbl;
3993
    };
3994
 
3995
 
3996
 
3997
#ifdef COBJMACROS
3998
 
3999
 
4000
#define ID3D11RenderTargetView_QueryInterface(This,riid,ppvObject)      \
4001
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
4002
 
4003
#define ID3D11RenderTargetView_AddRef(This)     \
4004
    ( (This)->lpVtbl -> AddRef(This) ) 
4005
 
4006
#define ID3D11RenderTargetView_Release(This)    \
4007
    ( (This)->lpVtbl -> Release(This) ) 
4008
 
4009
 
4010
#define ID3D11RenderTargetView_GetDevice(This,ppDevice) \
4011
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
4012
 
4013
#define ID3D11RenderTargetView_GetPrivateData(This,guid,pDataSize,pData)        \
4014
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
4015
 
4016
#define ID3D11RenderTargetView_SetPrivateData(This,guid,DataSize,pData) \
4017
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
4018
 
4019
#define ID3D11RenderTargetView_SetPrivateDataInterface(This,guid,pData) \
4020
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
4021
 
4022
 
4023
#define ID3D11RenderTargetView_GetResource(This,ppResource)     \
4024
    ( (This)->lpVtbl -> GetResource(This,ppResource) ) 
4025
 
4026
 
4027
#define ID3D11RenderTargetView_GetDesc(This,pDesc)      \
4028
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
4029
 
4030
#endif /* COBJMACROS */
4031
 
4032
 
4033
#endif  /* C style interface */
4034
 
4035
 
4036
 
4037
 
4038
#endif  /* __ID3D11RenderTargetView_INTERFACE_DEFINED__ */
4039
 
4040
 
4041
/* interface __MIDL_itf_d3d11_0000_0012 */
4042
/* [local] */
4043
 
4044
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
4045
}
4046
struct CD3D11_VIEWPORT : public D3D11_VIEWPORT
4047
{
4048
    CD3D11_VIEWPORT()
4049
    {}
4050
    explicit CD3D11_VIEWPORT( const D3D11_VIEWPORT& o ) :
4051
        D3D11_VIEWPORT( o )
4052
    {}
4053
    explicit CD3D11_VIEWPORT(
4054
        FLOAT topLeftX,
4055
        FLOAT topLeftY,
4056
        FLOAT width,
4057
        FLOAT height,
4058
        FLOAT minDepth = D3D11_MIN_DEPTH,
4059
        FLOAT maxDepth = D3D11_MAX_DEPTH )
4060
    {
4061
        TopLeftX = topLeftX;
4062
        TopLeftY = topLeftY;
4063
        Width = width;
4064
        Height = height;
4065
        MinDepth = minDepth;
4066
        MaxDepth = maxDepth;
4067
    }
4068
    explicit CD3D11_VIEWPORT(
4069
        __in ID3D11Buffer*,
4070
        __in ID3D11RenderTargetView* pRTView,
4071
        FLOAT topLeftX = 0.0f,
4072
        FLOAT minDepth = D3D11_MIN_DEPTH,
4073
        FLOAT maxDepth = D3D11_MAX_DEPTH )
4074
    {
4075
        D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
4076
        pRTView->GetDesc( &RTVDesc );
4077
        UINT NumElements = 0;
4078
        switch (RTVDesc.ViewDimension)
4079
        {
4080
        case D3D11_RTV_DIMENSION_BUFFER:
4081
            NumElements = RTVDesc.Buffer.NumElements;
4082
            break;
4083
        default: break;
4084
        }
4085
        TopLeftX = topLeftX;
4086
        TopLeftY = 0.0f;
4087
        Width = NumElements - topLeftX;
4088
        Height = 1.0f;
4089
        MinDepth = minDepth;
4090
        MaxDepth = maxDepth;
4091
    }
4092
    explicit CD3D11_VIEWPORT(
4093
        __in ID3D11Texture1D* pTex1D,
4094
        __in ID3D11RenderTargetView* pRTView,
4095
        FLOAT topLeftX = 0.0f,
4096
        FLOAT minDepth = D3D11_MIN_DEPTH,
4097
        FLOAT maxDepth = D3D11_MAX_DEPTH )
4098
    {
4099
        D3D11_TEXTURE1D_DESC TexDesc;
4100
        pTex1D->GetDesc( &TexDesc );
4101
        D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
4102
        pRTView->GetDesc( &RTVDesc );
4103
        UINT MipSlice = 0;
4104
        switch (RTVDesc.ViewDimension)
4105
        {
4106
        case D3D11_RTV_DIMENSION_TEXTURE1D:
4107
            MipSlice = RTVDesc.Texture1D.MipSlice;
4108
            break;
4109
        case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:
4110
            MipSlice = RTVDesc.Texture1DArray.MipSlice;
4111
            break;
4112
        default: break;
4113
        }
4114
        const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
4115
        TopLeftX = topLeftX;
4116
        TopLeftY = 0.0f;
4117
        Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
4118
        Height = 1.0f;
4119
        MinDepth = minDepth;
4120
        MaxDepth = maxDepth;
4121
    }
4122
    explicit CD3D11_VIEWPORT(
4123
        __in ID3D11Texture2D* pTex2D,
4124
        __in ID3D11RenderTargetView* pRTView,
4125
        FLOAT topLeftX = 0.0f,
4126
        FLOAT topLeftY = 0.0f,
4127
        FLOAT minDepth = D3D11_MIN_DEPTH,
4128
        FLOAT maxDepth = D3D11_MAX_DEPTH )
4129
    {
4130
        D3D11_TEXTURE2D_DESC TexDesc;
4131
        pTex2D->GetDesc( &TexDesc );
4132
        D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
4133
        pRTView->GetDesc( &RTVDesc );
4134
        UINT MipSlice = 0;
4135
        switch (RTVDesc.ViewDimension)
4136
        {
4137
        case D3D11_RTV_DIMENSION_TEXTURE2D:
4138
            MipSlice = RTVDesc.Texture2D.MipSlice;
4139
            break;
4140
        case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:
4141
            MipSlice = RTVDesc.Texture2DArray.MipSlice;
4142
            break;
4143
        case D3D11_RTV_DIMENSION_TEXTURE2DMS:
4144
        case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:
4145
            break;
4146
        default: break;
4147
        }
4148
        const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
4149
        const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
4150
        TopLeftX = topLeftX;
4151
        TopLeftY = topLeftY;
4152
        Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
4153
        Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
4154
        MinDepth = minDepth;
4155
        MaxDepth = maxDepth;
4156
    }
4157
    explicit CD3D11_VIEWPORT(
4158
        __in ID3D11Texture3D* pTex3D,
4159
        __in ID3D11RenderTargetView* pRTView,
4160
        FLOAT topLeftX = 0.0f,
4161
        FLOAT topLeftY = 0.0f,
4162
        FLOAT minDepth = D3D11_MIN_DEPTH,
4163
        FLOAT maxDepth = D3D11_MAX_DEPTH )
4164
    {
4165
        D3D11_TEXTURE3D_DESC TexDesc;
4166
        pTex3D->GetDesc( &TexDesc );
4167
        D3D11_RENDER_TARGET_VIEW_DESC RTVDesc;
4168
        pRTView->GetDesc( &RTVDesc );
4169
        UINT MipSlice = 0;
4170
        switch (RTVDesc.ViewDimension)
4171
        {
4172
        case D3D11_RTV_DIMENSION_TEXTURE3D:
4173
            MipSlice = RTVDesc.Texture3D.MipSlice;
4174
            break;
4175
        default: break;
4176
        }
4177
        const UINT SubResourceWidth = TexDesc.Width / (UINT( 1 ) << MipSlice);
4178
        const UINT SubResourceHeight = TexDesc.Height / (UINT( 1 ) << MipSlice);
4179
        TopLeftX = topLeftX;
4180
        TopLeftY = topLeftY;
4181
        Width = (SubResourceWidth ? SubResourceWidth : 1) - topLeftX;
4182
        Height = (SubResourceHeight ? SubResourceHeight : 1) - topLeftY;
4183
        MinDepth = minDepth;
4184
        MaxDepth = maxDepth;
4185
    }
4186
    ~CD3D11_VIEWPORT() {}
4187
    operator const D3D11_VIEWPORT&() const { return *this; }
4188
};
4189
extern "C"{
4190
#endif
4191
typedef struct D3D11_TEX1D_DSV
4192
    {
4193
    UINT MipSlice;
4194
    }   D3D11_TEX1D_DSV;
4195
 
4196
typedef struct D3D11_TEX1D_ARRAY_DSV
4197
    {
4198
    UINT MipSlice;
4199
    UINT FirstArraySlice;
4200
    UINT ArraySize;
4201
    }   D3D11_TEX1D_ARRAY_DSV;
4202
 
4203
typedef struct D3D11_TEX2D_DSV
4204
    {
4205
    UINT MipSlice;
4206
    }   D3D11_TEX2D_DSV;
4207
 
4208
typedef struct D3D11_TEX2D_ARRAY_DSV
4209
    {
4210
    UINT MipSlice;
4211
    UINT FirstArraySlice;
4212
    UINT ArraySize;
4213
    }   D3D11_TEX2D_ARRAY_DSV;
4214
 
4215
typedef struct D3D11_TEX2DMS_DSV
4216
    {
4217
    UINT UnusedField_NothingToDefine;
4218
    }   D3D11_TEX2DMS_DSV;
4219
 
4220
typedef struct D3D11_TEX2DMS_ARRAY_DSV
4221
    {
4222
    UINT FirstArraySlice;
4223
    UINT ArraySize;
4224
    }   D3D11_TEX2DMS_ARRAY_DSV;
4225
 
4226
typedef
4227
enum D3D11_DSV_FLAG
4228
    {   D3D11_DSV_READ_ONLY_DEPTH       = 0x1L,
4229
        D3D11_DSV_READ_ONLY_STENCIL     = 0x2L
4230
    }   D3D11_DSV_FLAG;
4231
 
4232
typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
4233
    {
4234
    DXGI_FORMAT Format;
4235
    D3D11_DSV_DIMENSION ViewDimension;
4236
    UINT Flags;
4237
    union
4238
        {
4239
        D3D11_TEX1D_DSV Texture1D;
4240
        D3D11_TEX1D_ARRAY_DSV Texture1DArray;
4241
        D3D11_TEX2D_DSV Texture2D;
4242
        D3D11_TEX2D_ARRAY_DSV Texture2DArray;
4243
        D3D11_TEX2DMS_DSV Texture2DMS;
4244
        D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
4245
        }       ;
4246
    }   D3D11_DEPTH_STENCIL_VIEW_DESC;
4247
 
4248
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
4249
}
4250
struct CD3D11_DEPTH_STENCIL_VIEW_DESC : public D3D11_DEPTH_STENCIL_VIEW_DESC
4251
{
4252
    CD3D11_DEPTH_STENCIL_VIEW_DESC()
4253
    {}
4254
    explicit CD3D11_DEPTH_STENCIL_VIEW_DESC( const D3D11_DEPTH_STENCIL_VIEW_DESC& o ) :
4255
        D3D11_DEPTH_STENCIL_VIEW_DESC( o )
4256
    {}
4257
    explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
4258
        D3D11_DSV_DIMENSION viewDimension,
4259
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4260
        UINT mipSlice = 0,
4261
        UINT firstArraySlice = 0,
4262
        UINT arraySize = -1,
4263
        UINT flags = 0 )
4264
    {
4265
        Format = format;
4266
        ViewDimension = viewDimension;
4267
        Flags = flags;
4268
        switch (viewDimension)
4269
        {
4270
        case D3D11_DSV_DIMENSION_TEXTURE1D:
4271
            Texture1D.MipSlice = mipSlice;
4272
            break;
4273
        case D3D11_DSV_DIMENSION_TEXTURE1DARRAY:
4274
            Texture1DArray.MipSlice = mipSlice;
4275
            Texture1DArray.FirstArraySlice = firstArraySlice;
4276
            Texture1DArray.ArraySize = arraySize;
4277
            break;
4278
        case D3D11_DSV_DIMENSION_TEXTURE2D:
4279
            Texture2D.MipSlice = mipSlice;
4280
            break;
4281
        case D3D11_DSV_DIMENSION_TEXTURE2DARRAY:
4282
            Texture2DArray.MipSlice = mipSlice;
4283
            Texture2DArray.FirstArraySlice = firstArraySlice;
4284
            Texture2DArray.ArraySize = arraySize;
4285
            break;
4286
        case D3D11_DSV_DIMENSION_TEXTURE2DMS:
4287
            break;
4288
        case D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY:
4289
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
4290
            Texture2DMSArray.ArraySize = arraySize;
4291
            break;
4292
        default: break;
4293
        }
4294
    }
4295
    explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
4296
        __in ID3D11Texture1D* pTex1D,
4297
        D3D11_DSV_DIMENSION viewDimension,
4298
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4299
        UINT mipSlice = 0,
4300
        UINT firstArraySlice = 0,
4301
        UINT arraySize = -1,
4302
        UINT flags = 0 )
4303
    {
4304
        ViewDimension = viewDimension;
4305
        Flags = flags;
4306
        if (DXGI_FORMAT_UNKNOWN == format ||
4307
            (-1 == arraySize && D3D11_DSV_DIMENSION_TEXTURE1DARRAY == viewDimension))
4308
        {
4309
            D3D11_TEXTURE1D_DESC TexDesc;
4310
            pTex1D->GetDesc( &TexDesc );
4311
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
4312
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
4313
        }
4314
        Format = format;
4315
        switch (viewDimension)
4316
        {
4317
        case D3D11_DSV_DIMENSION_TEXTURE1D:
4318
            Texture1D.MipSlice = mipSlice;
4319
            break;
4320
        case D3D11_DSV_DIMENSION_TEXTURE1DARRAY:
4321
            Texture1DArray.MipSlice = mipSlice;
4322
            Texture1DArray.FirstArraySlice = firstArraySlice;
4323
            Texture1DArray.ArraySize = arraySize;
4324
            break;
4325
        default: break;
4326
        }
4327
    }
4328
    explicit CD3D11_DEPTH_STENCIL_VIEW_DESC(
4329
        __in ID3D11Texture2D* pTex2D,
4330
        D3D11_DSV_DIMENSION viewDimension,
4331
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4332
        UINT mipSlice = 0,
4333
        UINT firstArraySlice = 0,
4334
        UINT arraySize = -1,
4335
        UINT flags = 0 )
4336
    {
4337
        ViewDimension = viewDimension;
4338
        Flags = flags;
4339
        if (DXGI_FORMAT_UNKNOWN == format ||
4340
            (-1 == arraySize &&
4341
                (D3D11_DSV_DIMENSION_TEXTURE2DARRAY == viewDimension ||
4342
                D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY == viewDimension)))
4343
        {
4344
            D3D11_TEXTURE2D_DESC TexDesc;
4345
            pTex2D->GetDesc( &TexDesc );
4346
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
4347
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
4348
        }
4349
        Format = format;
4350
        switch (viewDimension)
4351
        {
4352
        case D3D11_DSV_DIMENSION_TEXTURE2D:
4353
            Texture2D.MipSlice = mipSlice;
4354
            break;
4355
        case D3D11_DSV_DIMENSION_TEXTURE2DARRAY:
4356
            Texture2DArray.MipSlice = mipSlice;
4357
            Texture2DArray.FirstArraySlice = firstArraySlice;
4358
            Texture2DArray.ArraySize = arraySize;
4359
            break;
4360
        case D3D11_DSV_DIMENSION_TEXTURE2DMS:
4361
            break;
4362
        case D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY:
4363
            Texture2DMSArray.FirstArraySlice = firstArraySlice;
4364
            Texture2DMSArray.ArraySize = arraySize;
4365
            break;
4366
        default: break;
4367
        }
4368
    }
4369
    ~CD3D11_DEPTH_STENCIL_VIEW_DESC() {}
4370
    operator const D3D11_DEPTH_STENCIL_VIEW_DESC&() const { return *this; }
4371
};
4372
extern "C"{
4373
#endif
4374
 
4375
 
4376
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0012_v0_0_c_ifspec;
4377
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0012_v0_0_s_ifspec;
4378
 
4379
#ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
4380
#define __ID3D11DepthStencilView_INTERFACE_DEFINED__
4381
 
4382
/* interface ID3D11DepthStencilView */
4383
/* [unique][local][object][uuid] */
4384
 
4385
 
4386
EXTERN_C const IID IID_ID3D11DepthStencilView;
4387
 
4388
#if defined(__cplusplus) && !defined(CINTERFACE)
4389
 
4390
    MIDL_INTERFACE("9fdac92a-1876-48c3-afad-25b94f84a9b6")
4391
    ID3D11DepthStencilView : public ID3D11View
4392
    {
4393
    public:
4394
        virtual void STDMETHODCALLTYPE GetDesc(
4395
            /* [annotation] */
4396
            __out  D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
4397
 
4398
    };
4399
 
4400
#else   /* C style interface */
4401
 
4402
    typedef struct ID3D11DepthStencilViewVtbl
4403
    {
4404
        BEGIN_INTERFACE
4405
 
4406
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4407
            ID3D11DepthStencilView * This,
4408
            /* [in] */ REFIID riid,
4409
            /* [annotation][iid_is][out] */
4410
            __RPC__deref_out  void **ppvObject);
4411
 
4412
        ULONG ( STDMETHODCALLTYPE *AddRef )(
4413
            ID3D11DepthStencilView * This);
4414
 
4415
        ULONG ( STDMETHODCALLTYPE *Release )(
4416
            ID3D11DepthStencilView * This);
4417
 
4418
        void ( STDMETHODCALLTYPE *GetDevice )(
4419
            ID3D11DepthStencilView * This,
4420
            /* [annotation] */
4421
            __out  ID3D11Device **ppDevice);
4422
 
4423
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4424
            ID3D11DepthStencilView * This,
4425
            /* [annotation] */
4426
            __in  REFGUID guid,
4427
            /* [annotation] */
4428
            __inout  UINT *pDataSize,
4429
            /* [annotation] */
4430
            __out_bcount_opt( *pDataSize )  void *pData);
4431
 
4432
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4433
            ID3D11DepthStencilView * This,
4434
            /* [annotation] */
4435
            __in  REFGUID guid,
4436
            /* [annotation] */
4437
            __in  UINT DataSize,
4438
            /* [annotation] */
4439
            __in_bcount_opt( DataSize )  const void *pData);
4440
 
4441
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4442
            ID3D11DepthStencilView * This,
4443
            /* [annotation] */
4444
            __in  REFGUID guid,
4445
            /* [annotation] */
4446
            __in_opt  const IUnknown *pData);
4447
 
4448
        void ( STDMETHODCALLTYPE *GetResource )(
4449
            ID3D11DepthStencilView * This,
4450
            /* [annotation] */
4451
            __out  ID3D11Resource **ppResource);
4452
 
4453
        void ( STDMETHODCALLTYPE *GetDesc )(
4454
            ID3D11DepthStencilView * This,
4455
            /* [annotation] */
4456
            __out  D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc);
4457
 
4458
        END_INTERFACE
4459
    } ID3D11DepthStencilViewVtbl;
4460
 
4461
    interface ID3D11DepthStencilView
4462
    {
4463
        CONST_VTBL struct ID3D11DepthStencilViewVtbl *lpVtbl;
4464
    };
4465
 
4466
 
4467
 
4468
#ifdef COBJMACROS
4469
 
4470
 
4471
#define ID3D11DepthStencilView_QueryInterface(This,riid,ppvObject)      \
4472
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
4473
 
4474
#define ID3D11DepthStencilView_AddRef(This)     \
4475
    ( (This)->lpVtbl -> AddRef(This) ) 
4476
 
4477
#define ID3D11DepthStencilView_Release(This)    \
4478
    ( (This)->lpVtbl -> Release(This) ) 
4479
 
4480
 
4481
#define ID3D11DepthStencilView_GetDevice(This,ppDevice) \
4482
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
4483
 
4484
#define ID3D11DepthStencilView_GetPrivateData(This,guid,pDataSize,pData)        \
4485
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
4486
 
4487
#define ID3D11DepthStencilView_SetPrivateData(This,guid,DataSize,pData) \
4488
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
4489
 
4490
#define ID3D11DepthStencilView_SetPrivateDataInterface(This,guid,pData) \
4491
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
4492
 
4493
 
4494
#define ID3D11DepthStencilView_GetResource(This,ppResource)     \
4495
    ( (This)->lpVtbl -> GetResource(This,ppResource) ) 
4496
 
4497
 
4498
#define ID3D11DepthStencilView_GetDesc(This,pDesc)      \
4499
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
4500
 
4501
#endif /* COBJMACROS */
4502
 
4503
 
4504
#endif  /* C style interface */
4505
 
4506
 
4507
 
4508
 
4509
#endif  /* __ID3D11DepthStencilView_INTERFACE_DEFINED__ */
4510
 
4511
 
4512
/* interface __MIDL_itf_d3d11_0000_0013 */
4513
/* [local] */
4514
 
4515
typedef
4516
enum D3D11_BUFFER_UAV_FLAG
4517
    {   D3D11_BUFFER_UAV_FLAG_RAW       = 0x1,
4518
        D3D11_BUFFER_UAV_FLAG_APPEND    = 0x2,
4519
        D3D11_BUFFER_UAV_FLAG_COUNTER   = 0x4
4520
    }   D3D11_BUFFER_UAV_FLAG;
4521
 
4522
typedef struct D3D11_BUFFER_UAV
4523
    {
4524
    UINT FirstElement;
4525
    UINT NumElements;
4526
    UINT Flags;
4527
    }   D3D11_BUFFER_UAV;
4528
 
4529
typedef struct D3D11_TEX1D_UAV
4530
    {
4531
    UINT MipSlice;
4532
    }   D3D11_TEX1D_UAV;
4533
 
4534
typedef struct D3D11_TEX1D_ARRAY_UAV
4535
    {
4536
    UINT MipSlice;
4537
    UINT FirstArraySlice;
4538
    UINT ArraySize;
4539
    }   D3D11_TEX1D_ARRAY_UAV;
4540
 
4541
typedef struct D3D11_TEX2D_UAV
4542
    {
4543
    UINT MipSlice;
4544
    }   D3D11_TEX2D_UAV;
4545
 
4546
typedef struct D3D11_TEX2D_ARRAY_UAV
4547
    {
4548
    UINT MipSlice;
4549
    UINT FirstArraySlice;
4550
    UINT ArraySize;
4551
    }   D3D11_TEX2D_ARRAY_UAV;
4552
 
4553
typedef struct D3D11_TEX3D_UAV
4554
    {
4555
    UINT MipSlice;
4556
    UINT FirstWSlice;
4557
    UINT WSize;
4558
    }   D3D11_TEX3D_UAV;
4559
 
4560
typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
4561
    {
4562
    DXGI_FORMAT Format;
4563
    D3D11_UAV_DIMENSION ViewDimension;
4564
    union
4565
        {
4566
        D3D11_BUFFER_UAV Buffer;
4567
        D3D11_TEX1D_UAV Texture1D;
4568
        D3D11_TEX1D_ARRAY_UAV Texture1DArray;
4569
        D3D11_TEX2D_UAV Texture2D;
4570
        D3D11_TEX2D_ARRAY_UAV Texture2DArray;
4571
        D3D11_TEX3D_UAV Texture3D;
4572
        }       ;
4573
    }   D3D11_UNORDERED_ACCESS_VIEW_DESC;
4574
 
4575
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
4576
}
4577
struct CD3D11_UNORDERED_ACCESS_VIEW_DESC : public D3D11_UNORDERED_ACCESS_VIEW_DESC
4578
{
4579
    CD3D11_UNORDERED_ACCESS_VIEW_DESC()
4580
    {}
4581
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC( const D3D11_UNORDERED_ACCESS_VIEW_DESC& o ) :
4582
        D3D11_UNORDERED_ACCESS_VIEW_DESC( o )
4583
    {}
4584
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
4585
        D3D11_UAV_DIMENSION viewDimension,
4586
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4587
        UINT mipSlice = 0, // FirstElement for BUFFER
4588
        UINT firstArraySlice = 0, // NumElements for BUFFER, FirstWSlice for TEXTURE3D
4589
        UINT arraySize = -1, // WSize for TEXTURE3D
4590
        UINT flags = 0 ) // BUFFER only
4591
    {
4592
        Format = format;
4593
        ViewDimension = viewDimension;
4594
        switch (viewDimension)
4595
        {
4596
        case D3D11_UAV_DIMENSION_BUFFER:
4597
            Buffer.FirstElement = mipSlice;
4598
            Buffer.NumElements = firstArraySlice;
4599
            Buffer.Flags = flags;
4600
            break;
4601
        case D3D11_UAV_DIMENSION_TEXTURE1D:
4602
            Texture1D.MipSlice = mipSlice;
4603
            break;
4604
        case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
4605
            Texture1DArray.MipSlice = mipSlice;
4606
            Texture1DArray.FirstArraySlice = firstArraySlice;
4607
            Texture1DArray.ArraySize = arraySize;
4608
            break;
4609
        case D3D11_UAV_DIMENSION_TEXTURE2D:
4610
            Texture2D.MipSlice = mipSlice;
4611
            break;
4612
        case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
4613
            Texture2DArray.MipSlice = mipSlice;
4614
            Texture2DArray.FirstArraySlice = firstArraySlice;
4615
            Texture2DArray.ArraySize = arraySize;
4616
            break;
4617
        case D3D11_UAV_DIMENSION_TEXTURE3D:
4618
            Texture3D.MipSlice = mipSlice;
4619
            Texture3D.FirstWSlice = firstArraySlice;
4620
            Texture3D.WSize = arraySize;
4621
            break;
4622
        default: break;
4623
        }
4624
    }
4625
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
4626
        __in ID3D11Buffer*,
4627
        DXGI_FORMAT format,
4628
        UINT firstElement,
4629
        UINT numElements,
4630
        UINT flags = 0 )
4631
    {
4632
        Format = format;
4633
        ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
4634
        Buffer.FirstElement = firstElement;
4635
        Buffer.NumElements = numElements;
4636
        Buffer.Flags = flags;
4637
    }
4638
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
4639
        __in ID3D11Texture1D* pTex1D,
4640
        D3D11_UAV_DIMENSION viewDimension,
4641
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4642
        UINT mipSlice = 0,
4643
        UINT firstArraySlice = 0,
4644
        UINT arraySize = -1 )
4645
    {
4646
        ViewDimension = viewDimension;
4647
        if (DXGI_FORMAT_UNKNOWN == format ||
4648
            (-1 == arraySize && D3D11_UAV_DIMENSION_TEXTURE1DARRAY == viewDimension))
4649
        {
4650
            D3D11_TEXTURE1D_DESC TexDesc;
4651
            pTex1D->GetDesc( &TexDesc );
4652
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
4653
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
4654
        }
4655
        Format = format;
4656
        switch (viewDimension)
4657
        {
4658
        case D3D11_UAV_DIMENSION_TEXTURE1D:
4659
            Texture1D.MipSlice = mipSlice;
4660
            break;
4661
        case D3D11_UAV_DIMENSION_TEXTURE1DARRAY:
4662
            Texture1DArray.MipSlice = mipSlice;
4663
            Texture1DArray.FirstArraySlice = firstArraySlice;
4664
            Texture1DArray.ArraySize = arraySize;
4665
            break;
4666
        default: break;
4667
        }
4668
    }
4669
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
4670
        __in ID3D11Texture2D* pTex2D,
4671
        D3D11_UAV_DIMENSION viewDimension,
4672
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4673
        UINT mipSlice = 0,
4674
        UINT firstArraySlice = 0,
4675
        UINT arraySize = -1 )
4676
    {
4677
        ViewDimension = viewDimension;
4678
        if (DXGI_FORMAT_UNKNOWN == format ||
4679
            (-1 == arraySize && D3D11_UAV_DIMENSION_TEXTURE2DARRAY == viewDimension))
4680
        {
4681
            D3D11_TEXTURE2D_DESC TexDesc;
4682
            pTex2D->GetDesc( &TexDesc );
4683
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
4684
            if (-1 == arraySize) arraySize = TexDesc.ArraySize - firstArraySlice;
4685
        }
4686
        Format = format;
4687
        switch (viewDimension)
4688
        {
4689
        case D3D11_UAV_DIMENSION_TEXTURE2D:
4690
            Texture2D.MipSlice = mipSlice;
4691
            break;
4692
        case D3D11_UAV_DIMENSION_TEXTURE2DARRAY:
4693
            Texture2DArray.MipSlice = mipSlice;
4694
            Texture2DArray.FirstArraySlice = firstArraySlice;
4695
            Texture2DArray.ArraySize = arraySize;
4696
            break;
4697
        default: break;
4698
        }
4699
    }
4700
    explicit CD3D11_UNORDERED_ACCESS_VIEW_DESC(
4701
        __in ID3D11Texture3D* pTex3D,
4702
        DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,
4703
        UINT mipSlice = 0,
4704
        UINT firstWSlice = 0,
4705
        UINT wSize = -1 )
4706
    {
4707
        ViewDimension = D3D11_UAV_DIMENSION_TEXTURE3D;
4708
        if (DXGI_FORMAT_UNKNOWN == format || -1 == wSize)
4709
        {
4710
            D3D11_TEXTURE3D_DESC TexDesc;
4711
            pTex3D->GetDesc( &TexDesc );
4712
            if (DXGI_FORMAT_UNKNOWN == format) format = TexDesc.Format;
4713
            if (-1 == wSize) wSize = TexDesc.Depth - firstWSlice;
4714
        }
4715
        Format = format;
4716
        Texture3D.MipSlice = mipSlice;
4717
        Texture3D.FirstWSlice = firstWSlice;
4718
        Texture3D.WSize = wSize;
4719
    }
4720
    ~CD3D11_UNORDERED_ACCESS_VIEW_DESC() {}
4721
    operator const D3D11_UNORDERED_ACCESS_VIEW_DESC&() const { return *this; }
4722
};
4723
extern "C"{
4724
#endif
4725
 
4726
 
4727
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0013_v0_0_c_ifspec;
4728
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0013_v0_0_s_ifspec;
4729
 
4730
#ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
4731
#define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
4732
 
4733
/* interface ID3D11UnorderedAccessView */
4734
/* [unique][local][object][uuid] */
4735
 
4736
 
4737
EXTERN_C const IID IID_ID3D11UnorderedAccessView;
4738
 
4739
#if defined(__cplusplus) && !defined(CINTERFACE)
4740
 
4741
    MIDL_INTERFACE("28acf509-7f5c-48f6-8611-f316010a6380")
4742
    ID3D11UnorderedAccessView : public ID3D11View
4743
    {
4744
    public:
4745
        virtual void STDMETHODCALLTYPE GetDesc(
4746
            /* [annotation] */
4747
            __out  D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc) = 0;
4748
 
4749
    };
4750
 
4751
#else   /* C style interface */
4752
 
4753
    typedef struct ID3D11UnorderedAccessViewVtbl
4754
    {
4755
        BEGIN_INTERFACE
4756
 
4757
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4758
            ID3D11UnorderedAccessView * This,
4759
            /* [in] */ REFIID riid,
4760
            /* [annotation][iid_is][out] */
4761
            __RPC__deref_out  void **ppvObject);
4762
 
4763
        ULONG ( STDMETHODCALLTYPE *AddRef )(
4764
            ID3D11UnorderedAccessView * This);
4765
 
4766
        ULONG ( STDMETHODCALLTYPE *Release )(
4767
            ID3D11UnorderedAccessView * This);
4768
 
4769
        void ( STDMETHODCALLTYPE *GetDevice )(
4770
            ID3D11UnorderedAccessView * This,
4771
            /* [annotation] */
4772
            __out  ID3D11Device **ppDevice);
4773
 
4774
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4775
            ID3D11UnorderedAccessView * This,
4776
            /* [annotation] */
4777
            __in  REFGUID guid,
4778
            /* [annotation] */
4779
            __inout  UINT *pDataSize,
4780
            /* [annotation] */
4781
            __out_bcount_opt( *pDataSize )  void *pData);
4782
 
4783
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4784
            ID3D11UnorderedAccessView * This,
4785
            /* [annotation] */
4786
            __in  REFGUID guid,
4787
            /* [annotation] */
4788
            __in  UINT DataSize,
4789
            /* [annotation] */
4790
            __in_bcount_opt( DataSize )  const void *pData);
4791
 
4792
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4793
            ID3D11UnorderedAccessView * This,
4794
            /* [annotation] */
4795
            __in  REFGUID guid,
4796
            /* [annotation] */
4797
            __in_opt  const IUnknown *pData);
4798
 
4799
        void ( STDMETHODCALLTYPE *GetResource )(
4800
            ID3D11UnorderedAccessView * This,
4801
            /* [annotation] */
4802
            __out  ID3D11Resource **ppResource);
4803
 
4804
        void ( STDMETHODCALLTYPE *GetDesc )(
4805
            ID3D11UnorderedAccessView * This,
4806
            /* [annotation] */
4807
            __out  D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc);
4808
 
4809
        END_INTERFACE
4810
    } ID3D11UnorderedAccessViewVtbl;
4811
 
4812
    interface ID3D11UnorderedAccessView
4813
    {
4814
        CONST_VTBL struct ID3D11UnorderedAccessViewVtbl *lpVtbl;
4815
    };
4816
 
4817
 
4818
 
4819
#ifdef COBJMACROS
4820
 
4821
 
4822
#define ID3D11UnorderedAccessView_QueryInterface(This,riid,ppvObject)   \
4823
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
4824
 
4825
#define ID3D11UnorderedAccessView_AddRef(This)  \
4826
    ( (This)->lpVtbl -> AddRef(This) ) 
4827
 
4828
#define ID3D11UnorderedAccessView_Release(This) \
4829
    ( (This)->lpVtbl -> Release(This) ) 
4830
 
4831
 
4832
#define ID3D11UnorderedAccessView_GetDevice(This,ppDevice)      \
4833
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
4834
 
4835
#define ID3D11UnorderedAccessView_GetPrivateData(This,guid,pDataSize,pData)     \
4836
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
4837
 
4838
#define ID3D11UnorderedAccessView_SetPrivateData(This,guid,DataSize,pData)      \
4839
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
4840
 
4841
#define ID3D11UnorderedAccessView_SetPrivateDataInterface(This,guid,pData)      \
4842
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
4843
 
4844
 
4845
#define ID3D11UnorderedAccessView_GetResource(This,ppResource)  \
4846
    ( (This)->lpVtbl -> GetResource(This,ppResource) ) 
4847
 
4848
 
4849
#define ID3D11UnorderedAccessView_GetDesc(This,pDesc)   \
4850
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
4851
 
4852
#endif /* COBJMACROS */
4853
 
4854
 
4855
#endif  /* C style interface */
4856
 
4857
 
4858
 
4859
 
4860
#endif  /* __ID3D11UnorderedAccessView_INTERFACE_DEFINED__ */
4861
 
4862
 
4863
#ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
4864
#define __ID3D11VertexShader_INTERFACE_DEFINED__
4865
 
4866
/* interface ID3D11VertexShader */
4867
/* [unique][local][object][uuid] */
4868
 
4869
 
4870
EXTERN_C const IID IID_ID3D11VertexShader;
4871
 
4872
#if defined(__cplusplus) && !defined(CINTERFACE)
4873
 
4874
    MIDL_INTERFACE("3b301d64-d678-4289-8897-22f8928b72f3")
4875
    ID3D11VertexShader : public ID3D11DeviceChild
4876
    {
4877
    public:
4878
    };
4879
 
4880
#else   /* C style interface */
4881
 
4882
    typedef struct ID3D11VertexShaderVtbl
4883
    {
4884
        BEGIN_INTERFACE
4885
 
4886
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4887
            ID3D11VertexShader * This,
4888
            /* [in] */ REFIID riid,
4889
            /* [annotation][iid_is][out] */
4890
            __RPC__deref_out  void **ppvObject);
4891
 
4892
        ULONG ( STDMETHODCALLTYPE *AddRef )(
4893
            ID3D11VertexShader * This);
4894
 
4895
        ULONG ( STDMETHODCALLTYPE *Release )(
4896
            ID3D11VertexShader * This);
4897
 
4898
        void ( STDMETHODCALLTYPE *GetDevice )(
4899
            ID3D11VertexShader * This,
4900
            /* [annotation] */
4901
            __out  ID3D11Device **ppDevice);
4902
 
4903
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
4904
            ID3D11VertexShader * This,
4905
            /* [annotation] */
4906
            __in  REFGUID guid,
4907
            /* [annotation] */
4908
            __inout  UINT *pDataSize,
4909
            /* [annotation] */
4910
            __out_bcount_opt( *pDataSize )  void *pData);
4911
 
4912
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
4913
            ID3D11VertexShader * This,
4914
            /* [annotation] */
4915
            __in  REFGUID guid,
4916
            /* [annotation] */
4917
            __in  UINT DataSize,
4918
            /* [annotation] */
4919
            __in_bcount_opt( DataSize )  const void *pData);
4920
 
4921
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
4922
            ID3D11VertexShader * This,
4923
            /* [annotation] */
4924
            __in  REFGUID guid,
4925
            /* [annotation] */
4926
            __in_opt  const IUnknown *pData);
4927
 
4928
        END_INTERFACE
4929
    } ID3D11VertexShaderVtbl;
4930
 
4931
    interface ID3D11VertexShader
4932
    {
4933
        CONST_VTBL struct ID3D11VertexShaderVtbl *lpVtbl;
4934
    };
4935
 
4936
 
4937
 
4938
#ifdef COBJMACROS
4939
 
4940
 
4941
#define ID3D11VertexShader_QueryInterface(This,riid,ppvObject)  \
4942
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
4943
 
4944
#define ID3D11VertexShader_AddRef(This) \
4945
    ( (This)->lpVtbl -> AddRef(This) ) 
4946
 
4947
#define ID3D11VertexShader_Release(This)        \
4948
    ( (This)->lpVtbl -> Release(This) ) 
4949
 
4950
 
4951
#define ID3D11VertexShader_GetDevice(This,ppDevice)     \
4952
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
4953
 
4954
#define ID3D11VertexShader_GetPrivateData(This,guid,pDataSize,pData)    \
4955
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
4956
 
4957
#define ID3D11VertexShader_SetPrivateData(This,guid,DataSize,pData)     \
4958
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
4959
 
4960
#define ID3D11VertexShader_SetPrivateDataInterface(This,guid,pData)     \
4961
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
4962
 
4963
 
4964
#endif /* COBJMACROS */
4965
 
4966
 
4967
#endif  /* C style interface */
4968
 
4969
 
4970
 
4971
 
4972
#endif  /* __ID3D11VertexShader_INTERFACE_DEFINED__ */
4973
 
4974
 
4975
#ifndef __ID3D11HullShader_INTERFACE_DEFINED__
4976
#define __ID3D11HullShader_INTERFACE_DEFINED__
4977
 
4978
/* interface ID3D11HullShader */
4979
/* [unique][local][object][uuid] */
4980
 
4981
 
4982
EXTERN_C const IID IID_ID3D11HullShader;
4983
 
4984
#if defined(__cplusplus) && !defined(CINTERFACE)
4985
 
4986
    MIDL_INTERFACE("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")
4987
    ID3D11HullShader : public ID3D11DeviceChild
4988
    {
4989
    public:
4990
    };
4991
 
4992
#else   /* C style interface */
4993
 
4994
    typedef struct ID3D11HullShaderVtbl
4995
    {
4996
        BEGIN_INTERFACE
4997
 
4998
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
4999
            ID3D11HullShader * This,
5000
            /* [in] */ REFIID riid,
5001
            /* [annotation][iid_is][out] */
5002
            __RPC__deref_out  void **ppvObject);
5003
 
5004
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5005
            ID3D11HullShader * This);
5006
 
5007
        ULONG ( STDMETHODCALLTYPE *Release )(
5008
            ID3D11HullShader * This);
5009
 
5010
        void ( STDMETHODCALLTYPE *GetDevice )(
5011
            ID3D11HullShader * This,
5012
            /* [annotation] */
5013
            __out  ID3D11Device **ppDevice);
5014
 
5015
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5016
            ID3D11HullShader * This,
5017
            /* [annotation] */
5018
            __in  REFGUID guid,
5019
            /* [annotation] */
5020
            __inout  UINT *pDataSize,
5021
            /* [annotation] */
5022
            __out_bcount_opt( *pDataSize )  void *pData);
5023
 
5024
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5025
            ID3D11HullShader * This,
5026
            /* [annotation] */
5027
            __in  REFGUID guid,
5028
            /* [annotation] */
5029
            __in  UINT DataSize,
5030
            /* [annotation] */
5031
            __in_bcount_opt( DataSize )  const void *pData);
5032
 
5033
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5034
            ID3D11HullShader * This,
5035
            /* [annotation] */
5036
            __in  REFGUID guid,
5037
            /* [annotation] */
5038
            __in_opt  const IUnknown *pData);
5039
 
5040
        END_INTERFACE
5041
    } ID3D11HullShaderVtbl;
5042
 
5043
    interface ID3D11HullShader
5044
    {
5045
        CONST_VTBL struct ID3D11HullShaderVtbl *lpVtbl;
5046
    };
5047
 
5048
 
5049
 
5050
#ifdef COBJMACROS
5051
 
5052
 
5053
#define ID3D11HullShader_QueryInterface(This,riid,ppvObject)    \
5054
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5055
 
5056
#define ID3D11HullShader_AddRef(This)   \
5057
    ( (This)->lpVtbl -> AddRef(This) ) 
5058
 
5059
#define ID3D11HullShader_Release(This)  \
5060
    ( (This)->lpVtbl -> Release(This) ) 
5061
 
5062
 
5063
#define ID3D11HullShader_GetDevice(This,ppDevice)       \
5064
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5065
 
5066
#define ID3D11HullShader_GetPrivateData(This,guid,pDataSize,pData)      \
5067
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5068
 
5069
#define ID3D11HullShader_SetPrivateData(This,guid,DataSize,pData)       \
5070
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5071
 
5072
#define ID3D11HullShader_SetPrivateDataInterface(This,guid,pData)       \
5073
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5074
 
5075
 
5076
#endif /* COBJMACROS */
5077
 
5078
 
5079
#endif  /* C style interface */
5080
 
5081
 
5082
 
5083
 
5084
#endif  /* __ID3D11HullShader_INTERFACE_DEFINED__ */
5085
 
5086
 
5087
#ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
5088
#define __ID3D11DomainShader_INTERFACE_DEFINED__
5089
 
5090
/* interface ID3D11DomainShader */
5091
/* [unique][local][object][uuid] */
5092
 
5093
 
5094
EXTERN_C const IID IID_ID3D11DomainShader;
5095
 
5096
#if defined(__cplusplus) && !defined(CINTERFACE)
5097
 
5098
    MIDL_INTERFACE("f582c508-0f36-490c-9977-31eece268cfa")
5099
    ID3D11DomainShader : public ID3D11DeviceChild
5100
    {
5101
    public:
5102
    };
5103
 
5104
#else   /* C style interface */
5105
 
5106
    typedef struct ID3D11DomainShaderVtbl
5107
    {
5108
        BEGIN_INTERFACE
5109
 
5110
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5111
            ID3D11DomainShader * This,
5112
            /* [in] */ REFIID riid,
5113
            /* [annotation][iid_is][out] */
5114
            __RPC__deref_out  void **ppvObject);
5115
 
5116
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5117
            ID3D11DomainShader * This);
5118
 
5119
        ULONG ( STDMETHODCALLTYPE *Release )(
5120
            ID3D11DomainShader * This);
5121
 
5122
        void ( STDMETHODCALLTYPE *GetDevice )(
5123
            ID3D11DomainShader * This,
5124
            /* [annotation] */
5125
            __out  ID3D11Device **ppDevice);
5126
 
5127
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5128
            ID3D11DomainShader * This,
5129
            /* [annotation] */
5130
            __in  REFGUID guid,
5131
            /* [annotation] */
5132
            __inout  UINT *pDataSize,
5133
            /* [annotation] */
5134
            __out_bcount_opt( *pDataSize )  void *pData);
5135
 
5136
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5137
            ID3D11DomainShader * This,
5138
            /* [annotation] */
5139
            __in  REFGUID guid,
5140
            /* [annotation] */
5141
            __in  UINT DataSize,
5142
            /* [annotation] */
5143
            __in_bcount_opt( DataSize )  const void *pData);
5144
 
5145
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5146
            ID3D11DomainShader * This,
5147
            /* [annotation] */
5148
            __in  REFGUID guid,
5149
            /* [annotation] */
5150
            __in_opt  const IUnknown *pData);
5151
 
5152
        END_INTERFACE
5153
    } ID3D11DomainShaderVtbl;
5154
 
5155
    interface ID3D11DomainShader
5156
    {
5157
        CONST_VTBL struct ID3D11DomainShaderVtbl *lpVtbl;
5158
    };
5159
 
5160
 
5161
 
5162
#ifdef COBJMACROS
5163
 
5164
 
5165
#define ID3D11DomainShader_QueryInterface(This,riid,ppvObject)  \
5166
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5167
 
5168
#define ID3D11DomainShader_AddRef(This) \
5169
    ( (This)->lpVtbl -> AddRef(This) ) 
5170
 
5171
#define ID3D11DomainShader_Release(This)        \
5172
    ( (This)->lpVtbl -> Release(This) ) 
5173
 
5174
 
5175
#define ID3D11DomainShader_GetDevice(This,ppDevice)     \
5176
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5177
 
5178
#define ID3D11DomainShader_GetPrivateData(This,guid,pDataSize,pData)    \
5179
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5180
 
5181
#define ID3D11DomainShader_SetPrivateData(This,guid,DataSize,pData)     \
5182
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5183
 
5184
#define ID3D11DomainShader_SetPrivateDataInterface(This,guid,pData)     \
5185
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5186
 
5187
 
5188
#endif /* COBJMACROS */
5189
 
5190
 
5191
#endif  /* C style interface */
5192
 
5193
 
5194
 
5195
 
5196
#endif  /* __ID3D11DomainShader_INTERFACE_DEFINED__ */
5197
 
5198
 
5199
#ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
5200
#define __ID3D11GeometryShader_INTERFACE_DEFINED__
5201
 
5202
/* interface ID3D11GeometryShader */
5203
/* [unique][local][object][uuid] */
5204
 
5205
 
5206
EXTERN_C const IID IID_ID3D11GeometryShader;
5207
 
5208
#if defined(__cplusplus) && !defined(CINTERFACE)
5209
 
5210
    MIDL_INTERFACE("38325b96-effb-4022-ba02-2e795b70275c")
5211
    ID3D11GeometryShader : public ID3D11DeviceChild
5212
    {
5213
    public:
5214
    };
5215
 
5216
#else   /* C style interface */
5217
 
5218
    typedef struct ID3D11GeometryShaderVtbl
5219
    {
5220
        BEGIN_INTERFACE
5221
 
5222
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5223
            ID3D11GeometryShader * This,
5224
            /* [in] */ REFIID riid,
5225
            /* [annotation][iid_is][out] */
5226
            __RPC__deref_out  void **ppvObject);
5227
 
5228
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5229
            ID3D11GeometryShader * This);
5230
 
5231
        ULONG ( STDMETHODCALLTYPE *Release )(
5232
            ID3D11GeometryShader * This);
5233
 
5234
        void ( STDMETHODCALLTYPE *GetDevice )(
5235
            ID3D11GeometryShader * This,
5236
            /* [annotation] */
5237
            __out  ID3D11Device **ppDevice);
5238
 
5239
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5240
            ID3D11GeometryShader * This,
5241
            /* [annotation] */
5242
            __in  REFGUID guid,
5243
            /* [annotation] */
5244
            __inout  UINT *pDataSize,
5245
            /* [annotation] */
5246
            __out_bcount_opt( *pDataSize )  void *pData);
5247
 
5248
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5249
            ID3D11GeometryShader * This,
5250
            /* [annotation] */
5251
            __in  REFGUID guid,
5252
            /* [annotation] */
5253
            __in  UINT DataSize,
5254
            /* [annotation] */
5255
            __in_bcount_opt( DataSize )  const void *pData);
5256
 
5257
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5258
            ID3D11GeometryShader * This,
5259
            /* [annotation] */
5260
            __in  REFGUID guid,
5261
            /* [annotation] */
5262
            __in_opt  const IUnknown *pData);
5263
 
5264
        END_INTERFACE
5265
    } ID3D11GeometryShaderVtbl;
5266
 
5267
    interface ID3D11GeometryShader
5268
    {
5269
        CONST_VTBL struct ID3D11GeometryShaderVtbl *lpVtbl;
5270
    };
5271
 
5272
 
5273
 
5274
#ifdef COBJMACROS
5275
 
5276
 
5277
#define ID3D11GeometryShader_QueryInterface(This,riid,ppvObject)        \
5278
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5279
 
5280
#define ID3D11GeometryShader_AddRef(This)       \
5281
    ( (This)->lpVtbl -> AddRef(This) ) 
5282
 
5283
#define ID3D11GeometryShader_Release(This)      \
5284
    ( (This)->lpVtbl -> Release(This) ) 
5285
 
5286
 
5287
#define ID3D11GeometryShader_GetDevice(This,ppDevice)   \
5288
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5289
 
5290
#define ID3D11GeometryShader_GetPrivateData(This,guid,pDataSize,pData)  \
5291
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5292
 
5293
#define ID3D11GeometryShader_SetPrivateData(This,guid,DataSize,pData)   \
5294
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5295
 
5296
#define ID3D11GeometryShader_SetPrivateDataInterface(This,guid,pData)   \
5297
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5298
 
5299
 
5300
#endif /* COBJMACROS */
5301
 
5302
 
5303
#endif  /* C style interface */
5304
 
5305
 
5306
 
5307
 
5308
#endif  /* __ID3D11GeometryShader_INTERFACE_DEFINED__ */
5309
 
5310
 
5311
#ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
5312
#define __ID3D11PixelShader_INTERFACE_DEFINED__
5313
 
5314
/* interface ID3D11PixelShader */
5315
/* [unique][local][object][uuid] */
5316
 
5317
 
5318
EXTERN_C const IID IID_ID3D11PixelShader;
5319
 
5320
#if defined(__cplusplus) && !defined(CINTERFACE)
5321
 
5322
    MIDL_INTERFACE("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")
5323
    ID3D11PixelShader : public ID3D11DeviceChild
5324
    {
5325
    public:
5326
    };
5327
 
5328
#else   /* C style interface */
5329
 
5330
    typedef struct ID3D11PixelShaderVtbl
5331
    {
5332
        BEGIN_INTERFACE
5333
 
5334
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5335
            ID3D11PixelShader * This,
5336
            /* [in] */ REFIID riid,
5337
            /* [annotation][iid_is][out] */
5338
            __RPC__deref_out  void **ppvObject);
5339
 
5340
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5341
            ID3D11PixelShader * This);
5342
 
5343
        ULONG ( STDMETHODCALLTYPE *Release )(
5344
            ID3D11PixelShader * This);
5345
 
5346
        void ( STDMETHODCALLTYPE *GetDevice )(
5347
            ID3D11PixelShader * This,
5348
            /* [annotation] */
5349
            __out  ID3D11Device **ppDevice);
5350
 
5351
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5352
            ID3D11PixelShader * This,
5353
            /* [annotation] */
5354
            __in  REFGUID guid,
5355
            /* [annotation] */
5356
            __inout  UINT *pDataSize,
5357
            /* [annotation] */
5358
            __out_bcount_opt( *pDataSize )  void *pData);
5359
 
5360
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5361
            ID3D11PixelShader * This,
5362
            /* [annotation] */
5363
            __in  REFGUID guid,
5364
            /* [annotation] */
5365
            __in  UINT DataSize,
5366
            /* [annotation] */
5367
            __in_bcount_opt( DataSize )  const void *pData);
5368
 
5369
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5370
            ID3D11PixelShader * This,
5371
            /* [annotation] */
5372
            __in  REFGUID guid,
5373
            /* [annotation] */
5374
            __in_opt  const IUnknown *pData);
5375
 
5376
        END_INTERFACE
5377
    } ID3D11PixelShaderVtbl;
5378
 
5379
    interface ID3D11PixelShader
5380
    {
5381
        CONST_VTBL struct ID3D11PixelShaderVtbl *lpVtbl;
5382
    };
5383
 
5384
 
5385
 
5386
#ifdef COBJMACROS
5387
 
5388
 
5389
#define ID3D11PixelShader_QueryInterface(This,riid,ppvObject)   \
5390
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5391
 
5392
#define ID3D11PixelShader_AddRef(This)  \
5393
    ( (This)->lpVtbl -> AddRef(This) ) 
5394
 
5395
#define ID3D11PixelShader_Release(This) \
5396
    ( (This)->lpVtbl -> Release(This) ) 
5397
 
5398
 
5399
#define ID3D11PixelShader_GetDevice(This,ppDevice)      \
5400
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5401
 
5402
#define ID3D11PixelShader_GetPrivateData(This,guid,pDataSize,pData)     \
5403
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5404
 
5405
#define ID3D11PixelShader_SetPrivateData(This,guid,DataSize,pData)      \
5406
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5407
 
5408
#define ID3D11PixelShader_SetPrivateDataInterface(This,guid,pData)      \
5409
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5410
 
5411
 
5412
#endif /* COBJMACROS */
5413
 
5414
 
5415
#endif  /* C style interface */
5416
 
5417
 
5418
 
5419
 
5420
#endif  /* __ID3D11PixelShader_INTERFACE_DEFINED__ */
5421
 
5422
 
5423
#ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
5424
#define __ID3D11ComputeShader_INTERFACE_DEFINED__
5425
 
5426
/* interface ID3D11ComputeShader */
5427
/* [unique][local][object][uuid] */
5428
 
5429
 
5430
EXTERN_C const IID IID_ID3D11ComputeShader;
5431
 
5432
#if defined(__cplusplus) && !defined(CINTERFACE)
5433
 
5434
    MIDL_INTERFACE("4f5b196e-c2bd-495e-bd01-1fded38e4969")
5435
    ID3D11ComputeShader : public ID3D11DeviceChild
5436
    {
5437
    public:
5438
    };
5439
 
5440
#else   /* C style interface */
5441
 
5442
    typedef struct ID3D11ComputeShaderVtbl
5443
    {
5444
        BEGIN_INTERFACE
5445
 
5446
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5447
            ID3D11ComputeShader * This,
5448
            /* [in] */ REFIID riid,
5449
            /* [annotation][iid_is][out] */
5450
            __RPC__deref_out  void **ppvObject);
5451
 
5452
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5453
            ID3D11ComputeShader * This);
5454
 
5455
        ULONG ( STDMETHODCALLTYPE *Release )(
5456
            ID3D11ComputeShader * This);
5457
 
5458
        void ( STDMETHODCALLTYPE *GetDevice )(
5459
            ID3D11ComputeShader * This,
5460
            /* [annotation] */
5461
            __out  ID3D11Device **ppDevice);
5462
 
5463
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5464
            ID3D11ComputeShader * This,
5465
            /* [annotation] */
5466
            __in  REFGUID guid,
5467
            /* [annotation] */
5468
            __inout  UINT *pDataSize,
5469
            /* [annotation] */
5470
            __out_bcount_opt( *pDataSize )  void *pData);
5471
 
5472
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5473
            ID3D11ComputeShader * This,
5474
            /* [annotation] */
5475
            __in  REFGUID guid,
5476
            /* [annotation] */
5477
            __in  UINT DataSize,
5478
            /* [annotation] */
5479
            __in_bcount_opt( DataSize )  const void *pData);
5480
 
5481
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5482
            ID3D11ComputeShader * This,
5483
            /* [annotation] */
5484
            __in  REFGUID guid,
5485
            /* [annotation] */
5486
            __in_opt  const IUnknown *pData);
5487
 
5488
        END_INTERFACE
5489
    } ID3D11ComputeShaderVtbl;
5490
 
5491
    interface ID3D11ComputeShader
5492
    {
5493
        CONST_VTBL struct ID3D11ComputeShaderVtbl *lpVtbl;
5494
    };
5495
 
5496
 
5497
 
5498
#ifdef COBJMACROS
5499
 
5500
 
5501
#define ID3D11ComputeShader_QueryInterface(This,riid,ppvObject) \
5502
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5503
 
5504
#define ID3D11ComputeShader_AddRef(This)        \
5505
    ( (This)->lpVtbl -> AddRef(This) ) 
5506
 
5507
#define ID3D11ComputeShader_Release(This)       \
5508
    ( (This)->lpVtbl -> Release(This) ) 
5509
 
5510
 
5511
#define ID3D11ComputeShader_GetDevice(This,ppDevice)    \
5512
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5513
 
5514
#define ID3D11ComputeShader_GetPrivateData(This,guid,pDataSize,pData)   \
5515
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5516
 
5517
#define ID3D11ComputeShader_SetPrivateData(This,guid,DataSize,pData)    \
5518
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5519
 
5520
#define ID3D11ComputeShader_SetPrivateDataInterface(This,guid,pData)    \
5521
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5522
 
5523
 
5524
#endif /* COBJMACROS */
5525
 
5526
 
5527
#endif  /* C style interface */
5528
 
5529
 
5530
 
5531
 
5532
#endif  /* __ID3D11ComputeShader_INTERFACE_DEFINED__ */
5533
 
5534
 
5535
#ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
5536
#define __ID3D11InputLayout_INTERFACE_DEFINED__
5537
 
5538
/* interface ID3D11InputLayout */
5539
/* [unique][local][object][uuid] */
5540
 
5541
 
5542
EXTERN_C const IID IID_ID3D11InputLayout;
5543
 
5544
#if defined(__cplusplus) && !defined(CINTERFACE)
5545
 
5546
    MIDL_INTERFACE("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")
5547
    ID3D11InputLayout : public ID3D11DeviceChild
5548
    {
5549
    public:
5550
    };
5551
 
5552
#else   /* C style interface */
5553
 
5554
    typedef struct ID3D11InputLayoutVtbl
5555
    {
5556
        BEGIN_INTERFACE
5557
 
5558
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5559
            ID3D11InputLayout * This,
5560
            /* [in] */ REFIID riid,
5561
            /* [annotation][iid_is][out] */
5562
            __RPC__deref_out  void **ppvObject);
5563
 
5564
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5565
            ID3D11InputLayout * This);
5566
 
5567
        ULONG ( STDMETHODCALLTYPE *Release )(
5568
            ID3D11InputLayout * This);
5569
 
5570
        void ( STDMETHODCALLTYPE *GetDevice )(
5571
            ID3D11InputLayout * This,
5572
            /* [annotation] */
5573
            __out  ID3D11Device **ppDevice);
5574
 
5575
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5576
            ID3D11InputLayout * This,
5577
            /* [annotation] */
5578
            __in  REFGUID guid,
5579
            /* [annotation] */
5580
            __inout  UINT *pDataSize,
5581
            /* [annotation] */
5582
            __out_bcount_opt( *pDataSize )  void *pData);
5583
 
5584
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5585
            ID3D11InputLayout * This,
5586
            /* [annotation] */
5587
            __in  REFGUID guid,
5588
            /* [annotation] */
5589
            __in  UINT DataSize,
5590
            /* [annotation] */
5591
            __in_bcount_opt( DataSize )  const void *pData);
5592
 
5593
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5594
            ID3D11InputLayout * This,
5595
            /* [annotation] */
5596
            __in  REFGUID guid,
5597
            /* [annotation] */
5598
            __in_opt  const IUnknown *pData);
5599
 
5600
        END_INTERFACE
5601
    } ID3D11InputLayoutVtbl;
5602
 
5603
    interface ID3D11InputLayout
5604
    {
5605
        CONST_VTBL struct ID3D11InputLayoutVtbl *lpVtbl;
5606
    };
5607
 
5608
 
5609
 
5610
#ifdef COBJMACROS
5611
 
5612
 
5613
#define ID3D11InputLayout_QueryInterface(This,riid,ppvObject)   \
5614
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5615
 
5616
#define ID3D11InputLayout_AddRef(This)  \
5617
    ( (This)->lpVtbl -> AddRef(This) ) 
5618
 
5619
#define ID3D11InputLayout_Release(This) \
5620
    ( (This)->lpVtbl -> Release(This) ) 
5621
 
5622
 
5623
#define ID3D11InputLayout_GetDevice(This,ppDevice)      \
5624
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5625
 
5626
#define ID3D11InputLayout_GetPrivateData(This,guid,pDataSize,pData)     \
5627
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5628
 
5629
#define ID3D11InputLayout_SetPrivateData(This,guid,DataSize,pData)      \
5630
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5631
 
5632
#define ID3D11InputLayout_SetPrivateDataInterface(This,guid,pData)      \
5633
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5634
 
5635
 
5636
#endif /* COBJMACROS */
5637
 
5638
 
5639
#endif  /* C style interface */
5640
 
5641
 
5642
 
5643
 
5644
#endif  /* __ID3D11InputLayout_INTERFACE_DEFINED__ */
5645
 
5646
 
5647
/* interface __MIDL_itf_d3d11_0000_0021 */
5648
/* [local] */
5649
 
5650
typedef
5651
enum D3D11_FILTER
5652
    {   D3D11_FILTER_MIN_MAG_MIP_POINT  = 0,
5653
        D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR   = 0x1,
5654
        D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT     = 0x4,
5655
        D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR   = 0x5,
5656
        D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT   = 0x10,
5657
        D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR    = 0x11,
5658
        D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT   = 0x14,
5659
        D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
5660
        D3D11_FILTER_ANISOTROPIC        = 0x55,
5661
        D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT       = 0x80,
5662
        D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR        = 0x81,
5663
        D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT  = 0x84,
5664
        D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR        = 0x85,
5665
        D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT        = 0x90,
5666
        D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
5667
        D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT        = 0x94,
5668
        D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR      = 0x95,
5669
        D3D11_FILTER_COMPARISON_ANISOTROPIC     = 0xd5
5670
    }   D3D11_FILTER;
5671
 
5672
typedef
5673
enum D3D11_FILTER_TYPE
5674
    {   D3D11_FILTER_TYPE_POINT = 0,
5675
        D3D11_FILTER_TYPE_LINEAR        = 1
5676
    }   D3D11_FILTER_TYPE;
5677
 
5678
#define D3D11_FILTER_TYPE_MASK  ( 0x3 )
5679
 
5680
#define D3D11_MIN_FILTER_SHIFT  ( 4 )
5681
 
5682
#define D3D11_MAG_FILTER_SHIFT  ( 2 )
5683
 
5684
#define D3D11_MIP_FILTER_SHIFT  ( 0 )
5685
 
5686
#define D3D11_COMPARISON_FILTERING_BIT  ( 0x80 )
5687
 
5688
#define D3D11_ANISOTROPIC_FILTERING_BIT ( 0x40 )
5689
 
5690
#define D3D11_ENCODE_BASIC_FILTER( min, mag, mip, bComparison )                                           \
5691
                                   ( ( D3D11_FILTER ) (                                                   \
5692
                                   ( ( bComparison ) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) |             \
5693
                                   ( ( ( min ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MIN_FILTER_SHIFT ) |   \
5694
                                   ( ( ( mag ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MAG_FILTER_SHIFT ) |   \
5695
                                   ( ( ( mip ) & D3D11_FILTER_TYPE_MASK ) << D3D11_MIP_FILTER_SHIFT ) ) )   
5696
#define D3D11_ENCODE_ANISOTROPIC_FILTER( bComparison )                                                \
5697
                                         ( ( D3D11_FILTER ) (                                         \
5698
                                         D3D11_ANISOTROPIC_FILTERING_BIT |                            \
5699
                                         D3D11_ENCODE_BASIC_FILTER( D3D11_FILTER_TYPE_LINEAR,         \
5700
                                                                    D3D11_FILTER_TYPE_LINEAR,         \
5701
                                                                    D3D11_FILTER_TYPE_LINEAR,         \
5702
                                                                    bComparison ) ) )                   
5703
#define D3D11_DECODE_MIN_FILTER( d3d11Filter )                                                              \
5704
                                 ( ( D3D11_FILTER_TYPE )                                                    \
5705
                                 ( ( ( d3d11Filter ) >> D3D11_MIN_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) ) 
5706
#define D3D11_DECODE_MAG_FILTER( d3d11Filter )                                                              \
5707
                                 ( ( D3D11_FILTER_TYPE )                                                    \
5708
                                 ( ( ( d3d11Filter ) >> D3D11_MAG_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) ) 
5709
#define D3D11_DECODE_MIP_FILTER( d3d11Filter )                                                              \
5710
                                 ( ( D3D11_FILTER_TYPE )                                                    \
5711
                                 ( ( ( d3d11Filter ) >> D3D11_MIP_FILTER_SHIFT ) & D3D11_FILTER_TYPE_MASK ) ) 
5712
#define D3D11_DECODE_IS_COMPARISON_FILTER( d3d11Filter )                                                    \
5713
                                 ( ( d3d11Filter ) & D3D11_COMPARISON_FILTERING_BIT )                         
5714
#define D3D11_DECODE_IS_ANISOTROPIC_FILTER( d3d11Filter )                                               \
5715
                            ( ( ( d3d11Filter ) & D3D11_ANISOTROPIC_FILTERING_BIT ) &&                  \
5716
                            ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER( d3d11Filter ) ) &&   \
5717
                            ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER( d3d11Filter ) ) &&   \
5718
                            ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER( d3d11Filter ) ) )      
5719
typedef
5720
enum D3D11_TEXTURE_ADDRESS_MODE
5721
    {   D3D11_TEXTURE_ADDRESS_WRAP      = 1,
5722
        D3D11_TEXTURE_ADDRESS_MIRROR    = 2,
5723
        D3D11_TEXTURE_ADDRESS_CLAMP     = 3,
5724
        D3D11_TEXTURE_ADDRESS_BORDER    = 4,
5725
        D3D11_TEXTURE_ADDRESS_MIRROR_ONCE       = 5
5726
    }   D3D11_TEXTURE_ADDRESS_MODE;
5727
 
5728
typedef struct D3D11_SAMPLER_DESC
5729
    {
5730
    D3D11_FILTER Filter;
5731
    D3D11_TEXTURE_ADDRESS_MODE AddressU;
5732
    D3D11_TEXTURE_ADDRESS_MODE AddressV;
5733
    D3D11_TEXTURE_ADDRESS_MODE AddressW;
5734
    FLOAT MipLODBias;
5735
    UINT MaxAnisotropy;
5736
    D3D11_COMPARISON_FUNC ComparisonFunc;
5737
    FLOAT BorderColor[ 4 ];
5738
    FLOAT MinLOD;
5739
    FLOAT MaxLOD;
5740
    }   D3D11_SAMPLER_DESC;
5741
 
5742
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
5743
}
5744
struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC
5745
{
5746
    CD3D11_SAMPLER_DESC()
5747
    {}
5748
    explicit CD3D11_SAMPLER_DESC( const D3D11_SAMPLER_DESC& o ) :
5749
        D3D11_SAMPLER_DESC( o )
5750
    {}
5751
    explicit CD3D11_SAMPLER_DESC( CD3D11_DEFAULT )
5752
    {
5753
        Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
5754
        AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
5755
        AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
5756
        AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
5757
        MipLODBias = 0;
5758
        MaxAnisotropy = 1;
5759
        ComparisonFunc = D3D11_COMPARISON_NEVER;
5760
        BorderColor[ 0 ] = 1.0f;
5761
        BorderColor[ 1 ] = 1.0f;
5762
        BorderColor[ 2 ] = 1.0f;
5763
        BorderColor[ 3 ] = 1.0f;
5764
        MinLOD = -3.402823466e+38F; // -FLT_MAX
5765
        MaxLOD = 3.402823466e+38F; // FLT_MAX
5766
    }
5767
    explicit CD3D11_SAMPLER_DESC(
5768
        D3D11_FILTER filter,
5769
        D3D11_TEXTURE_ADDRESS_MODE addressU,
5770
        D3D11_TEXTURE_ADDRESS_MODE addressV,
5771
        D3D11_TEXTURE_ADDRESS_MODE addressW,
5772
        FLOAT mipLODBias,
5773
        UINT maxAnisotropy,
5774
        D3D11_COMPARISON_FUNC comparisonFunc,
5775
        __in_ecount_opt( 4 ) const FLOAT* borderColor, // RGBA
5776
        FLOAT minLOD,
5777
        FLOAT maxLOD )
5778
    {
5779
        Filter = filter;
5780
        AddressU = addressU;
5781
        AddressV = addressV;
5782
        AddressW = addressW;
5783
        MipLODBias = mipLODBias;
5784
        MaxAnisotropy = maxAnisotropy;
5785
        ComparisonFunc = comparisonFunc;
5786
        const float defaultColor[ 4 ] = { 1.0f, 1.0f, 1.0f, 1.0f };
5787
        if (!borderColor) borderColor = defaultColor;
5788
        BorderColor[ 0 ] = borderColor[ 0 ];
5789
        BorderColor[ 1 ] = borderColor[ 1 ];
5790
        BorderColor[ 2 ] = borderColor[ 2 ];
5791
        BorderColor[ 3 ] = borderColor[ 3 ];
5792
        MinLOD = minLOD;
5793
        MaxLOD = maxLOD;
5794
    }
5795
    ~CD3D11_SAMPLER_DESC() {}
5796
    operator const D3D11_SAMPLER_DESC&() const { return *this; }
5797
};
5798
extern "C"{
5799
#endif
5800
 
5801
 
5802
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0021_v0_0_c_ifspec;
5803
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0021_v0_0_s_ifspec;
5804
 
5805
#ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
5806
#define __ID3D11SamplerState_INTERFACE_DEFINED__
5807
 
5808
/* interface ID3D11SamplerState */
5809
/* [unique][local][object][uuid] */
5810
 
5811
 
5812
EXTERN_C const IID IID_ID3D11SamplerState;
5813
 
5814
#if defined(__cplusplus) && !defined(CINTERFACE)
5815
 
5816
    MIDL_INTERFACE("da6fea51-564c-4487-9810-f0d0f9b4e3a5")
5817
    ID3D11SamplerState : public ID3D11DeviceChild
5818
    {
5819
    public:
5820
        virtual void STDMETHODCALLTYPE GetDesc(
5821
            /* [annotation] */
5822
            __out  D3D11_SAMPLER_DESC *pDesc) = 0;
5823
 
5824
    };
5825
 
5826
#else   /* C style interface */
5827
 
5828
    typedef struct ID3D11SamplerStateVtbl
5829
    {
5830
        BEGIN_INTERFACE
5831
 
5832
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
5833
            ID3D11SamplerState * This,
5834
            /* [in] */ REFIID riid,
5835
            /* [annotation][iid_is][out] */
5836
            __RPC__deref_out  void **ppvObject);
5837
 
5838
        ULONG ( STDMETHODCALLTYPE *AddRef )(
5839
            ID3D11SamplerState * This);
5840
 
5841
        ULONG ( STDMETHODCALLTYPE *Release )(
5842
            ID3D11SamplerState * This);
5843
 
5844
        void ( STDMETHODCALLTYPE *GetDevice )(
5845
            ID3D11SamplerState * This,
5846
            /* [annotation] */
5847
            __out  ID3D11Device **ppDevice);
5848
 
5849
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
5850
            ID3D11SamplerState * This,
5851
            /* [annotation] */
5852
            __in  REFGUID guid,
5853
            /* [annotation] */
5854
            __inout  UINT *pDataSize,
5855
            /* [annotation] */
5856
            __out_bcount_opt( *pDataSize )  void *pData);
5857
 
5858
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
5859
            ID3D11SamplerState * This,
5860
            /* [annotation] */
5861
            __in  REFGUID guid,
5862
            /* [annotation] */
5863
            __in  UINT DataSize,
5864
            /* [annotation] */
5865
            __in_bcount_opt( DataSize )  const void *pData);
5866
 
5867
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
5868
            ID3D11SamplerState * This,
5869
            /* [annotation] */
5870
            __in  REFGUID guid,
5871
            /* [annotation] */
5872
            __in_opt  const IUnknown *pData);
5873
 
5874
        void ( STDMETHODCALLTYPE *GetDesc )(
5875
            ID3D11SamplerState * This,
5876
            /* [annotation] */
5877
            __out  D3D11_SAMPLER_DESC *pDesc);
5878
 
5879
        END_INTERFACE
5880
    } ID3D11SamplerStateVtbl;
5881
 
5882
    interface ID3D11SamplerState
5883
    {
5884
        CONST_VTBL struct ID3D11SamplerStateVtbl *lpVtbl;
5885
    };
5886
 
5887
 
5888
 
5889
#ifdef COBJMACROS
5890
 
5891
 
5892
#define ID3D11SamplerState_QueryInterface(This,riid,ppvObject)  \
5893
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
5894
 
5895
#define ID3D11SamplerState_AddRef(This) \
5896
    ( (This)->lpVtbl -> AddRef(This) ) 
5897
 
5898
#define ID3D11SamplerState_Release(This)        \
5899
    ( (This)->lpVtbl -> Release(This) ) 
5900
 
5901
 
5902
#define ID3D11SamplerState_GetDevice(This,ppDevice)     \
5903
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
5904
 
5905
#define ID3D11SamplerState_GetPrivateData(This,guid,pDataSize,pData)    \
5906
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
5907
 
5908
#define ID3D11SamplerState_SetPrivateData(This,guid,DataSize,pData)     \
5909
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
5910
 
5911
#define ID3D11SamplerState_SetPrivateDataInterface(This,guid,pData)     \
5912
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
5913
 
5914
 
5915
#define ID3D11SamplerState_GetDesc(This,pDesc)  \
5916
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
5917
 
5918
#endif /* COBJMACROS */
5919
 
5920
 
5921
#endif  /* C style interface */
5922
 
5923
 
5924
 
5925
 
5926
#endif  /* __ID3D11SamplerState_INTERFACE_DEFINED__ */
5927
 
5928
 
5929
/* interface __MIDL_itf_d3d11_0000_0022 */
5930
/* [local] */
5931
 
5932
typedef
5933
enum D3D11_FORMAT_SUPPORT
5934
    {   D3D11_FORMAT_SUPPORT_BUFFER     = 0x1,
5935
        D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER   = 0x2,
5936
        D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER    = 0x4,
5937
        D3D11_FORMAT_SUPPORT_SO_BUFFER  = 0x8,
5938
        D3D11_FORMAT_SUPPORT_TEXTURE1D  = 0x10,
5939
        D3D11_FORMAT_SUPPORT_TEXTURE2D  = 0x20,
5940
        D3D11_FORMAT_SUPPORT_TEXTURE3D  = 0x40,
5941
        D3D11_FORMAT_SUPPORT_TEXTURECUBE        = 0x80,
5942
        D3D11_FORMAT_SUPPORT_SHADER_LOAD        = 0x100,
5943
        D3D11_FORMAT_SUPPORT_SHADER_SAMPLE      = 0x200,
5944
        D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON   = 0x400,
5945
        D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT    = 0x800,
5946
        D3D11_FORMAT_SUPPORT_MIP        = 0x1000,
5947
        D3D11_FORMAT_SUPPORT_MIP_AUTOGEN        = 0x2000,
5948
        D3D11_FORMAT_SUPPORT_RENDER_TARGET      = 0x4000,
5949
        D3D11_FORMAT_SUPPORT_BLENDABLE  = 0x8000,
5950
        D3D11_FORMAT_SUPPORT_DEPTH_STENCIL      = 0x10000,
5951
        D3D11_FORMAT_SUPPORT_CPU_LOCKABLE       = 0x20000,
5952
        D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE        = 0x40000,
5953
        D3D11_FORMAT_SUPPORT_DISPLAY    = 0x80000,
5954
        D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT     = 0x100000,
5955
        D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET   = 0x200000,
5956
        D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD   = 0x400000,
5957
        D3D11_FORMAT_SUPPORT_SHADER_GATHER      = 0x800000,
5958
        D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST   = 0x1000000,
5959
        D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW        = 0x2000000,
5960
        D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON   = 0x4000000
5961
    }   D3D11_FORMAT_SUPPORT;
5962
 
5963
typedef
5964
enum D3D11_FORMAT_SUPPORT2
5965
    {   D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD    = 0x1,
5966
        D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS    = 0x2,
5967
        D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE      = 0x4,
5968
        D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE       = 0x8,
5969
        D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX      = 0x10,
5970
        D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX    = 0x20,
5971
        D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD    = 0x40,
5972
        D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE   = 0x80
5973
    }   D3D11_FORMAT_SUPPORT2;
5974
 
5975
 
5976
 
5977
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0022_v0_0_c_ifspec;
5978
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0022_v0_0_s_ifspec;
5979
 
5980
#ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
5981
#define __ID3D11Asynchronous_INTERFACE_DEFINED__
5982
 
5983
/* interface ID3D11Asynchronous */
5984
/* [unique][local][object][uuid] */
5985
 
5986
 
5987
EXTERN_C const IID IID_ID3D11Asynchronous;
5988
 
5989
#if defined(__cplusplus) && !defined(CINTERFACE)
5990
 
5991
    MIDL_INTERFACE("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")
5992
    ID3D11Asynchronous : public ID3D11DeviceChild
5993
    {
5994
    public:
5995
        virtual UINT STDMETHODCALLTYPE GetDataSize( void) = 0;
5996
 
5997
    };
5998
 
5999
#else   /* C style interface */
6000
 
6001
    typedef struct ID3D11AsynchronousVtbl
6002
    {
6003
        BEGIN_INTERFACE
6004
 
6005
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6006
            ID3D11Asynchronous * This,
6007
            /* [in] */ REFIID riid,
6008
            /* [annotation][iid_is][out] */
6009
            __RPC__deref_out  void **ppvObject);
6010
 
6011
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6012
            ID3D11Asynchronous * This);
6013
 
6014
        ULONG ( STDMETHODCALLTYPE *Release )(
6015
            ID3D11Asynchronous * This);
6016
 
6017
        void ( STDMETHODCALLTYPE *GetDevice )(
6018
            ID3D11Asynchronous * This,
6019
            /* [annotation] */
6020
            __out  ID3D11Device **ppDevice);
6021
 
6022
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6023
            ID3D11Asynchronous * This,
6024
            /* [annotation] */
6025
            __in  REFGUID guid,
6026
            /* [annotation] */
6027
            __inout  UINT *pDataSize,
6028
            /* [annotation] */
6029
            __out_bcount_opt( *pDataSize )  void *pData);
6030
 
6031
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6032
            ID3D11Asynchronous * This,
6033
            /* [annotation] */
6034
            __in  REFGUID guid,
6035
            /* [annotation] */
6036
            __in  UINT DataSize,
6037
            /* [annotation] */
6038
            __in_bcount_opt( DataSize )  const void *pData);
6039
 
6040
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6041
            ID3D11Asynchronous * This,
6042
            /* [annotation] */
6043
            __in  REFGUID guid,
6044
            /* [annotation] */
6045
            __in_opt  const IUnknown *pData);
6046
 
6047
        UINT ( STDMETHODCALLTYPE *GetDataSize )(
6048
            ID3D11Asynchronous * This);
6049
 
6050
        END_INTERFACE
6051
    } ID3D11AsynchronousVtbl;
6052
 
6053
    interface ID3D11Asynchronous
6054
    {
6055
        CONST_VTBL struct ID3D11AsynchronousVtbl *lpVtbl;
6056
    };
6057
 
6058
 
6059
 
6060
#ifdef COBJMACROS
6061
 
6062
 
6063
#define ID3D11Asynchronous_QueryInterface(This,riid,ppvObject)  \
6064
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6065
 
6066
#define ID3D11Asynchronous_AddRef(This) \
6067
    ( (This)->lpVtbl -> AddRef(This) ) 
6068
 
6069
#define ID3D11Asynchronous_Release(This)        \
6070
    ( (This)->lpVtbl -> Release(This) ) 
6071
 
6072
 
6073
#define ID3D11Asynchronous_GetDevice(This,ppDevice)     \
6074
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6075
 
6076
#define ID3D11Asynchronous_GetPrivateData(This,guid,pDataSize,pData)    \
6077
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6078
 
6079
#define ID3D11Asynchronous_SetPrivateData(This,guid,DataSize,pData)     \
6080
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6081
 
6082
#define ID3D11Asynchronous_SetPrivateDataInterface(This,guid,pData)     \
6083
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6084
 
6085
 
6086
#define ID3D11Asynchronous_GetDataSize(This)    \
6087
    ( (This)->lpVtbl -> GetDataSize(This) ) 
6088
 
6089
#endif /* COBJMACROS */
6090
 
6091
 
6092
#endif  /* C style interface */
6093
 
6094
 
6095
 
6096
 
6097
#endif  /* __ID3D11Asynchronous_INTERFACE_DEFINED__ */
6098
 
6099
 
6100
/* interface __MIDL_itf_d3d11_0000_0023 */
6101
/* [local] */
6102
 
6103
typedef
6104
enum D3D11_ASYNC_GETDATA_FLAG
6105
    {   D3D11_ASYNC_GETDATA_DONOTFLUSH  = 0x1
6106
    }   D3D11_ASYNC_GETDATA_FLAG;
6107
 
6108
typedef
6109
enum D3D11_QUERY
6110
    {   D3D11_QUERY_EVENT       = 0,
6111
        D3D11_QUERY_OCCLUSION   = ( D3D11_QUERY_EVENT + 1 ) ,
6112
        D3D11_QUERY_TIMESTAMP   = ( D3D11_QUERY_OCCLUSION + 1 ) ,
6113
        D3D11_QUERY_TIMESTAMP_DISJOINT  = ( D3D11_QUERY_TIMESTAMP + 1 ) ,
6114
        D3D11_QUERY_PIPELINE_STATISTICS = ( D3D11_QUERY_TIMESTAMP_DISJOINT + 1 ) ,
6115
        D3D11_QUERY_OCCLUSION_PREDICATE = ( D3D11_QUERY_PIPELINE_STATISTICS + 1 ) ,
6116
        D3D11_QUERY_SO_STATISTICS       = ( D3D11_QUERY_OCCLUSION_PREDICATE + 1 ) ,
6117
        D3D11_QUERY_SO_OVERFLOW_PREDICATE       = ( D3D11_QUERY_SO_STATISTICS + 1 ) ,
6118
        D3D11_QUERY_SO_STATISTICS_STREAM0       = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1 ) ,
6119
        D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0       = ( D3D11_QUERY_SO_STATISTICS_STREAM0 + 1 ) ,
6120
        D3D11_QUERY_SO_STATISTICS_STREAM1       = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1 ) ,
6121
        D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1       = ( D3D11_QUERY_SO_STATISTICS_STREAM1 + 1 ) ,
6122
        D3D11_QUERY_SO_STATISTICS_STREAM2       = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1 ) ,
6123
        D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2       = ( D3D11_QUERY_SO_STATISTICS_STREAM2 + 1 ) ,
6124
        D3D11_QUERY_SO_STATISTICS_STREAM3       = ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1 ) ,
6125
        D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3       = ( D3D11_QUERY_SO_STATISTICS_STREAM3 + 1 )
6126
    }   D3D11_QUERY;
6127
 
6128
typedef
6129
enum D3D11_QUERY_MISC_FLAG
6130
    {   D3D11_QUERY_MISC_PREDICATEHINT  = 0x1
6131
    }   D3D11_QUERY_MISC_FLAG;
6132
 
6133
typedef struct D3D11_QUERY_DESC
6134
    {
6135
    D3D11_QUERY Query;
6136
    UINT MiscFlags;
6137
    }   D3D11_QUERY_DESC;
6138
 
6139
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
6140
}
6141
struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC
6142
{
6143
    CD3D11_QUERY_DESC()
6144
    {}
6145
    explicit CD3D11_QUERY_DESC( const D3D11_QUERY_DESC& o ) :
6146
        D3D11_QUERY_DESC( o )
6147
    {}
6148
    explicit CD3D11_QUERY_DESC(
6149
        D3D11_QUERY query,
6150
        UINT miscFlags = 0 )
6151
    {
6152
        Query = query;
6153
        MiscFlags = miscFlags;
6154
    }
6155
    ~CD3D11_QUERY_DESC() {}
6156
    operator const D3D11_QUERY_DESC&() const { return *this; }
6157
};
6158
extern "C"{
6159
#endif
6160
 
6161
 
6162
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0023_v0_0_c_ifspec;
6163
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0023_v0_0_s_ifspec;
6164
 
6165
#ifndef __ID3D11Query_INTERFACE_DEFINED__
6166
#define __ID3D11Query_INTERFACE_DEFINED__
6167
 
6168
/* interface ID3D11Query */
6169
/* [unique][local][object][uuid] */
6170
 
6171
 
6172
EXTERN_C const IID IID_ID3D11Query;
6173
 
6174
#if defined(__cplusplus) && !defined(CINTERFACE)
6175
 
6176
    MIDL_INTERFACE("d6c00747-87b7-425e-b84d-44d108560afd")
6177
    ID3D11Query : public ID3D11Asynchronous
6178
    {
6179
    public:
6180
        virtual void STDMETHODCALLTYPE GetDesc(
6181
            /* [annotation] */
6182
            __out  D3D11_QUERY_DESC *pDesc) = 0;
6183
 
6184
    };
6185
 
6186
#else   /* C style interface */
6187
 
6188
    typedef struct ID3D11QueryVtbl
6189
    {
6190
        BEGIN_INTERFACE
6191
 
6192
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6193
            ID3D11Query * This,
6194
            /* [in] */ REFIID riid,
6195
            /* [annotation][iid_is][out] */
6196
            __RPC__deref_out  void **ppvObject);
6197
 
6198
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6199
            ID3D11Query * This);
6200
 
6201
        ULONG ( STDMETHODCALLTYPE *Release )(
6202
            ID3D11Query * This);
6203
 
6204
        void ( STDMETHODCALLTYPE *GetDevice )(
6205
            ID3D11Query * This,
6206
            /* [annotation] */
6207
            __out  ID3D11Device **ppDevice);
6208
 
6209
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6210
            ID3D11Query * This,
6211
            /* [annotation] */
6212
            __in  REFGUID guid,
6213
            /* [annotation] */
6214
            __inout  UINT *pDataSize,
6215
            /* [annotation] */
6216
            __out_bcount_opt( *pDataSize )  void *pData);
6217
 
6218
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6219
            ID3D11Query * This,
6220
            /* [annotation] */
6221
            __in  REFGUID guid,
6222
            /* [annotation] */
6223
            __in  UINT DataSize,
6224
            /* [annotation] */
6225
            __in_bcount_opt( DataSize )  const void *pData);
6226
 
6227
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6228
            ID3D11Query * This,
6229
            /* [annotation] */
6230
            __in  REFGUID guid,
6231
            /* [annotation] */
6232
            __in_opt  const IUnknown *pData);
6233
 
6234
        UINT ( STDMETHODCALLTYPE *GetDataSize )(
6235
            ID3D11Query * This);
6236
 
6237
        void ( STDMETHODCALLTYPE *GetDesc )(
6238
            ID3D11Query * This,
6239
            /* [annotation] */
6240
            __out  D3D11_QUERY_DESC *pDesc);
6241
 
6242
        END_INTERFACE
6243
    } ID3D11QueryVtbl;
6244
 
6245
    interface ID3D11Query
6246
    {
6247
        CONST_VTBL struct ID3D11QueryVtbl *lpVtbl;
6248
    };
6249
 
6250
 
6251
 
6252
#ifdef COBJMACROS
6253
 
6254
 
6255
#define ID3D11Query_QueryInterface(This,riid,ppvObject) \
6256
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6257
 
6258
#define ID3D11Query_AddRef(This)        \
6259
    ( (This)->lpVtbl -> AddRef(This) ) 
6260
 
6261
#define ID3D11Query_Release(This)       \
6262
    ( (This)->lpVtbl -> Release(This) ) 
6263
 
6264
 
6265
#define ID3D11Query_GetDevice(This,ppDevice)    \
6266
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6267
 
6268
#define ID3D11Query_GetPrivateData(This,guid,pDataSize,pData)   \
6269
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6270
 
6271
#define ID3D11Query_SetPrivateData(This,guid,DataSize,pData)    \
6272
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6273
 
6274
#define ID3D11Query_SetPrivateDataInterface(This,guid,pData)    \
6275
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6276
 
6277
 
6278
#define ID3D11Query_GetDataSize(This)   \
6279
    ( (This)->lpVtbl -> GetDataSize(This) ) 
6280
 
6281
 
6282
#define ID3D11Query_GetDesc(This,pDesc) \
6283
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
6284
 
6285
#endif /* COBJMACROS */
6286
 
6287
 
6288
#endif  /* C style interface */
6289
 
6290
 
6291
 
6292
 
6293
#endif  /* __ID3D11Query_INTERFACE_DEFINED__ */
6294
 
6295
 
6296
#ifndef __ID3D11Predicate_INTERFACE_DEFINED__
6297
#define __ID3D11Predicate_INTERFACE_DEFINED__
6298
 
6299
/* interface ID3D11Predicate */
6300
/* [unique][local][object][uuid] */
6301
 
6302
 
6303
EXTERN_C const IID IID_ID3D11Predicate;
6304
 
6305
#if defined(__cplusplus) && !defined(CINTERFACE)
6306
 
6307
    MIDL_INTERFACE("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")
6308
    ID3D11Predicate : public ID3D11Query
6309
    {
6310
    public:
6311
    };
6312
 
6313
#else   /* C style interface */
6314
 
6315
    typedef struct ID3D11PredicateVtbl
6316
    {
6317
        BEGIN_INTERFACE
6318
 
6319
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6320
            ID3D11Predicate * This,
6321
            /* [in] */ REFIID riid,
6322
            /* [annotation][iid_is][out] */
6323
            __RPC__deref_out  void **ppvObject);
6324
 
6325
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6326
            ID3D11Predicate * This);
6327
 
6328
        ULONG ( STDMETHODCALLTYPE *Release )(
6329
            ID3D11Predicate * This);
6330
 
6331
        void ( STDMETHODCALLTYPE *GetDevice )(
6332
            ID3D11Predicate * This,
6333
            /* [annotation] */
6334
            __out  ID3D11Device **ppDevice);
6335
 
6336
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6337
            ID3D11Predicate * This,
6338
            /* [annotation] */
6339
            __in  REFGUID guid,
6340
            /* [annotation] */
6341
            __inout  UINT *pDataSize,
6342
            /* [annotation] */
6343
            __out_bcount_opt( *pDataSize )  void *pData);
6344
 
6345
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6346
            ID3D11Predicate * This,
6347
            /* [annotation] */
6348
            __in  REFGUID guid,
6349
            /* [annotation] */
6350
            __in  UINT DataSize,
6351
            /* [annotation] */
6352
            __in_bcount_opt( DataSize )  const void *pData);
6353
 
6354
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6355
            ID3D11Predicate * This,
6356
            /* [annotation] */
6357
            __in  REFGUID guid,
6358
            /* [annotation] */
6359
            __in_opt  const IUnknown *pData);
6360
 
6361
        UINT ( STDMETHODCALLTYPE *GetDataSize )(
6362
            ID3D11Predicate * This);
6363
 
6364
        void ( STDMETHODCALLTYPE *GetDesc )(
6365
            ID3D11Predicate * This,
6366
            /* [annotation] */
6367
            __out  D3D11_QUERY_DESC *pDesc);
6368
 
6369
        END_INTERFACE
6370
    } ID3D11PredicateVtbl;
6371
 
6372
    interface ID3D11Predicate
6373
    {
6374
        CONST_VTBL struct ID3D11PredicateVtbl *lpVtbl;
6375
    };
6376
 
6377
 
6378
 
6379
#ifdef COBJMACROS
6380
 
6381
 
6382
#define ID3D11Predicate_QueryInterface(This,riid,ppvObject)     \
6383
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6384
 
6385
#define ID3D11Predicate_AddRef(This)    \
6386
    ( (This)->lpVtbl -> AddRef(This) ) 
6387
 
6388
#define ID3D11Predicate_Release(This)   \
6389
    ( (This)->lpVtbl -> Release(This) ) 
6390
 
6391
 
6392
#define ID3D11Predicate_GetDevice(This,ppDevice)        \
6393
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6394
 
6395
#define ID3D11Predicate_GetPrivateData(This,guid,pDataSize,pData)       \
6396
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6397
 
6398
#define ID3D11Predicate_SetPrivateData(This,guid,DataSize,pData)        \
6399
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6400
 
6401
#define ID3D11Predicate_SetPrivateDataInterface(This,guid,pData)        \
6402
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6403
 
6404
 
6405
#define ID3D11Predicate_GetDataSize(This)       \
6406
    ( (This)->lpVtbl -> GetDataSize(This) ) 
6407
 
6408
 
6409
#define ID3D11Predicate_GetDesc(This,pDesc)     \
6410
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
6411
 
6412
 
6413
#endif /* COBJMACROS */
6414
 
6415
 
6416
#endif  /* C style interface */
6417
 
6418
 
6419
 
6420
 
6421
#endif  /* __ID3D11Predicate_INTERFACE_DEFINED__ */
6422
 
6423
 
6424
/* interface __MIDL_itf_d3d11_0000_0025 */
6425
/* [local] */
6426
 
6427
typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
6428
    {
6429
    UINT64 Frequency;
6430
    BOOL Disjoint;
6431
    }   D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
6432
 
6433
typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS
6434
    {
6435
    UINT64 IAVertices;
6436
    UINT64 IAPrimitives;
6437
    UINT64 VSInvocations;
6438
    UINT64 GSInvocations;
6439
    UINT64 GSPrimitives;
6440
    UINT64 CInvocations;
6441
    UINT64 CPrimitives;
6442
    UINT64 PSInvocations;
6443
    UINT64 HSInvocations;
6444
    UINT64 DSInvocations;
6445
    UINT64 CSInvocations;
6446
    }   D3D11_QUERY_DATA_PIPELINE_STATISTICS;
6447
 
6448
typedef struct D3D11_QUERY_DATA_SO_STATISTICS
6449
    {
6450
    UINT64 NumPrimitivesWritten;
6451
    UINT64 PrimitivesStorageNeeded;
6452
    }   D3D11_QUERY_DATA_SO_STATISTICS;
6453
 
6454
typedef
6455
enum D3D11_COUNTER
6456
    {   D3D11_COUNTER_DEVICE_DEPENDENT_0        = 0x40000000
6457
    }   D3D11_COUNTER;
6458
 
6459
typedef
6460
enum D3D11_COUNTER_TYPE
6461
    {   D3D11_COUNTER_TYPE_FLOAT32      = 0,
6462
        D3D11_COUNTER_TYPE_UINT16       = ( D3D11_COUNTER_TYPE_FLOAT32 + 1 ) ,
6463
        D3D11_COUNTER_TYPE_UINT32       = ( D3D11_COUNTER_TYPE_UINT16 + 1 ) ,
6464
        D3D11_COUNTER_TYPE_UINT64       = ( D3D11_COUNTER_TYPE_UINT32 + 1 )
6465
    }   D3D11_COUNTER_TYPE;
6466
 
6467
typedef struct D3D11_COUNTER_DESC
6468
    {
6469
    D3D11_COUNTER Counter;
6470
    UINT MiscFlags;
6471
    }   D3D11_COUNTER_DESC;
6472
 
6473
#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )
6474
}
6475
struct CD3D11_COUNTER_DESC : public D3D11_COUNTER_DESC
6476
{
6477
    CD3D11_COUNTER_DESC()
6478
    {}
6479
    explicit CD3D11_COUNTER_DESC( const D3D11_COUNTER_DESC& o ) :
6480
        D3D11_COUNTER_DESC( o )
6481
    {}
6482
    explicit CD3D11_COUNTER_DESC(
6483
        D3D11_COUNTER counter,
6484
        UINT miscFlags = 0 )
6485
    {
6486
        Counter = counter;
6487
        MiscFlags = miscFlags;
6488
    }
6489
    ~CD3D11_COUNTER_DESC() {}
6490
    operator const D3D11_COUNTER_DESC&() const { return *this; }
6491
};
6492
extern "C"{
6493
#endif
6494
typedef struct D3D11_COUNTER_INFO
6495
    {
6496
    D3D11_COUNTER LastDeviceDependentCounter;
6497
    UINT NumSimultaneousCounters;
6498
    UINT8 NumDetectableParallelUnits;
6499
    }   D3D11_COUNTER_INFO;
6500
 
6501
 
6502
 
6503
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0025_v0_0_c_ifspec;
6504
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0025_v0_0_s_ifspec;
6505
 
6506
#ifndef __ID3D11Counter_INTERFACE_DEFINED__
6507
#define __ID3D11Counter_INTERFACE_DEFINED__
6508
 
6509
/* interface ID3D11Counter */
6510
/* [unique][local][object][uuid] */
6511
 
6512
 
6513
EXTERN_C const IID IID_ID3D11Counter;
6514
 
6515
#if defined(__cplusplus) && !defined(CINTERFACE)
6516
 
6517
    MIDL_INTERFACE("6e8c49fb-a371-4770-b440-29086022b741")
6518
    ID3D11Counter : public ID3D11Asynchronous
6519
    {
6520
    public:
6521
        virtual void STDMETHODCALLTYPE GetDesc(
6522
            /* [annotation] */
6523
            __out  D3D11_COUNTER_DESC *pDesc) = 0;
6524
 
6525
    };
6526
 
6527
#else   /* C style interface */
6528
 
6529
    typedef struct ID3D11CounterVtbl
6530
    {
6531
        BEGIN_INTERFACE
6532
 
6533
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6534
            ID3D11Counter * This,
6535
            /* [in] */ REFIID riid,
6536
            /* [annotation][iid_is][out] */
6537
            __RPC__deref_out  void **ppvObject);
6538
 
6539
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6540
            ID3D11Counter * This);
6541
 
6542
        ULONG ( STDMETHODCALLTYPE *Release )(
6543
            ID3D11Counter * This);
6544
 
6545
        void ( STDMETHODCALLTYPE *GetDevice )(
6546
            ID3D11Counter * This,
6547
            /* [annotation] */
6548
            __out  ID3D11Device **ppDevice);
6549
 
6550
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6551
            ID3D11Counter * This,
6552
            /* [annotation] */
6553
            __in  REFGUID guid,
6554
            /* [annotation] */
6555
            __inout  UINT *pDataSize,
6556
            /* [annotation] */
6557
            __out_bcount_opt( *pDataSize )  void *pData);
6558
 
6559
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6560
            ID3D11Counter * This,
6561
            /* [annotation] */
6562
            __in  REFGUID guid,
6563
            /* [annotation] */
6564
            __in  UINT DataSize,
6565
            /* [annotation] */
6566
            __in_bcount_opt( DataSize )  const void *pData);
6567
 
6568
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6569
            ID3D11Counter * This,
6570
            /* [annotation] */
6571
            __in  REFGUID guid,
6572
            /* [annotation] */
6573
            __in_opt  const IUnknown *pData);
6574
 
6575
        UINT ( STDMETHODCALLTYPE *GetDataSize )(
6576
            ID3D11Counter * This);
6577
 
6578
        void ( STDMETHODCALLTYPE *GetDesc )(
6579
            ID3D11Counter * This,
6580
            /* [annotation] */
6581
            __out  D3D11_COUNTER_DESC *pDesc);
6582
 
6583
        END_INTERFACE
6584
    } ID3D11CounterVtbl;
6585
 
6586
    interface ID3D11Counter
6587
    {
6588
        CONST_VTBL struct ID3D11CounterVtbl *lpVtbl;
6589
    };
6590
 
6591
 
6592
 
6593
#ifdef COBJMACROS
6594
 
6595
 
6596
#define ID3D11Counter_QueryInterface(This,riid,ppvObject)       \
6597
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6598
 
6599
#define ID3D11Counter_AddRef(This)      \
6600
    ( (This)->lpVtbl -> AddRef(This) ) 
6601
 
6602
#define ID3D11Counter_Release(This)     \
6603
    ( (This)->lpVtbl -> Release(This) ) 
6604
 
6605
 
6606
#define ID3D11Counter_GetDevice(This,ppDevice)  \
6607
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6608
 
6609
#define ID3D11Counter_GetPrivateData(This,guid,pDataSize,pData) \
6610
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6611
 
6612
#define ID3D11Counter_SetPrivateData(This,guid,DataSize,pData)  \
6613
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6614
 
6615
#define ID3D11Counter_SetPrivateDataInterface(This,guid,pData)  \
6616
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6617
 
6618
 
6619
#define ID3D11Counter_GetDataSize(This) \
6620
    ( (This)->lpVtbl -> GetDataSize(This) ) 
6621
 
6622
 
6623
#define ID3D11Counter_GetDesc(This,pDesc)       \
6624
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
6625
 
6626
#endif /* COBJMACROS */
6627
 
6628
 
6629
#endif  /* C style interface */
6630
 
6631
 
6632
 
6633
 
6634
#endif  /* __ID3D11Counter_INTERFACE_DEFINED__ */
6635
 
6636
 
6637
/* interface __MIDL_itf_d3d11_0000_0026 */
6638
/* [local] */
6639
 
6640
typedef
6641
enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS
6642
    {   D3D11_STANDARD_MULTISAMPLE_PATTERN      = 0xffffffff,
6643
        D3D11_CENTER_MULTISAMPLE_PATTERN        = 0xfffffffe
6644
    }   D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
6645
 
6646
typedef
6647
enum D3D11_DEVICE_CONTEXT_TYPE
6648
    {   D3D11_DEVICE_CONTEXT_IMMEDIATE  = 0,
6649
        D3D11_DEVICE_CONTEXT_DEFERRED   = ( D3D11_DEVICE_CONTEXT_IMMEDIATE + 1 )
6650
    }   D3D11_DEVICE_CONTEXT_TYPE;
6651
 
6652
typedef struct D3D11_CLASS_INSTANCE_DESC
6653
    {
6654
    UINT InstanceId;
6655
    UINT InstanceIndex;
6656
    UINT TypeId;
6657
    UINT ConstantBuffer;
6658
    UINT BaseConstantBufferOffset;
6659
    UINT BaseTexture;
6660
    UINT BaseSampler;
6661
    BOOL Created;
6662
    }   D3D11_CLASS_INSTANCE_DESC;
6663
 
6664
 
6665
 
6666
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0026_v0_0_c_ifspec;
6667
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0026_v0_0_s_ifspec;
6668
 
6669
#ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
6670
#define __ID3D11ClassInstance_INTERFACE_DEFINED__
6671
 
6672
/* interface ID3D11ClassInstance */
6673
/* [unique][local][object][uuid] */
6674
 
6675
 
6676
EXTERN_C const IID IID_ID3D11ClassInstance;
6677
 
6678
#if defined(__cplusplus) && !defined(CINTERFACE)
6679
 
6680
    MIDL_INTERFACE("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")
6681
    ID3D11ClassInstance : public ID3D11DeviceChild
6682
    {
6683
    public:
6684
        virtual void STDMETHODCALLTYPE GetClassLinkage(
6685
            /* [annotation] */
6686
            __out  ID3D11ClassLinkage **ppLinkage) = 0;
6687
 
6688
        virtual void STDMETHODCALLTYPE GetDesc(
6689
            /* [annotation] */
6690
            __out  D3D11_CLASS_INSTANCE_DESC *pDesc) = 0;
6691
 
6692
        virtual void STDMETHODCALLTYPE GetInstanceName(
6693
            /* [annotation] */
6694
            __out_ecount_opt(*pBufferLength)  LPSTR pInstanceName,
6695
            /* [annotation] */
6696
            __inout  SIZE_T *pBufferLength) = 0;
6697
 
6698
        virtual void STDMETHODCALLTYPE GetTypeName(
6699
            /* [annotation] */
6700
            __out_ecount_opt(*pBufferLength)  LPSTR pTypeName,
6701
            /* [annotation] */
6702
            __inout  SIZE_T *pBufferLength) = 0;
6703
 
6704
    };
6705
 
6706
#else   /* C style interface */
6707
 
6708
    typedef struct ID3D11ClassInstanceVtbl
6709
    {
6710
        BEGIN_INTERFACE
6711
 
6712
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6713
            ID3D11ClassInstance * This,
6714
            /* [in] */ REFIID riid,
6715
            /* [annotation][iid_is][out] */
6716
            __RPC__deref_out  void **ppvObject);
6717
 
6718
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6719
            ID3D11ClassInstance * This);
6720
 
6721
        ULONG ( STDMETHODCALLTYPE *Release )(
6722
            ID3D11ClassInstance * This);
6723
 
6724
        void ( STDMETHODCALLTYPE *GetDevice )(
6725
            ID3D11ClassInstance * This,
6726
            /* [annotation] */
6727
            __out  ID3D11Device **ppDevice);
6728
 
6729
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6730
            ID3D11ClassInstance * This,
6731
            /* [annotation] */
6732
            __in  REFGUID guid,
6733
            /* [annotation] */
6734
            __inout  UINT *pDataSize,
6735
            /* [annotation] */
6736
            __out_bcount_opt( *pDataSize )  void *pData);
6737
 
6738
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6739
            ID3D11ClassInstance * This,
6740
            /* [annotation] */
6741
            __in  REFGUID guid,
6742
            /* [annotation] */
6743
            __in  UINT DataSize,
6744
            /* [annotation] */
6745
            __in_bcount_opt( DataSize )  const void *pData);
6746
 
6747
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6748
            ID3D11ClassInstance * This,
6749
            /* [annotation] */
6750
            __in  REFGUID guid,
6751
            /* [annotation] */
6752
            __in_opt  const IUnknown *pData);
6753
 
6754
        void ( STDMETHODCALLTYPE *GetClassLinkage )(
6755
            ID3D11ClassInstance * This,
6756
            /* [annotation] */
6757
            __out  ID3D11ClassLinkage **ppLinkage);
6758
 
6759
        void ( STDMETHODCALLTYPE *GetDesc )(
6760
            ID3D11ClassInstance * This,
6761
            /* [annotation] */
6762
            __out  D3D11_CLASS_INSTANCE_DESC *pDesc);
6763
 
6764
        void ( STDMETHODCALLTYPE *GetInstanceName )(
6765
            ID3D11ClassInstance * This,
6766
            /* [annotation] */
6767
            __out_ecount_opt(*pBufferLength)  LPSTR pInstanceName,
6768
            /* [annotation] */
6769
            __inout  SIZE_T *pBufferLength);
6770
 
6771
        void ( STDMETHODCALLTYPE *GetTypeName )(
6772
            ID3D11ClassInstance * This,
6773
            /* [annotation] */
6774
            __out_ecount_opt(*pBufferLength)  LPSTR pTypeName,
6775
            /* [annotation] */
6776
            __inout  SIZE_T *pBufferLength);
6777
 
6778
        END_INTERFACE
6779
    } ID3D11ClassInstanceVtbl;
6780
 
6781
    interface ID3D11ClassInstance
6782
    {
6783
        CONST_VTBL struct ID3D11ClassInstanceVtbl *lpVtbl;
6784
    };
6785
 
6786
 
6787
 
6788
#ifdef COBJMACROS
6789
 
6790
 
6791
#define ID3D11ClassInstance_QueryInterface(This,riid,ppvObject) \
6792
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6793
 
6794
#define ID3D11ClassInstance_AddRef(This)        \
6795
    ( (This)->lpVtbl -> AddRef(This) ) 
6796
 
6797
#define ID3D11ClassInstance_Release(This)       \
6798
    ( (This)->lpVtbl -> Release(This) ) 
6799
 
6800
 
6801
#define ID3D11ClassInstance_GetDevice(This,ppDevice)    \
6802
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6803
 
6804
#define ID3D11ClassInstance_GetPrivateData(This,guid,pDataSize,pData)   \
6805
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6806
 
6807
#define ID3D11ClassInstance_SetPrivateData(This,guid,DataSize,pData)    \
6808
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6809
 
6810
#define ID3D11ClassInstance_SetPrivateDataInterface(This,guid,pData)    \
6811
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6812
 
6813
 
6814
#define ID3D11ClassInstance_GetClassLinkage(This,ppLinkage)     \
6815
    ( (This)->lpVtbl -> GetClassLinkage(This,ppLinkage) ) 
6816
 
6817
#define ID3D11ClassInstance_GetDesc(This,pDesc) \
6818
    ( (This)->lpVtbl -> GetDesc(This,pDesc) ) 
6819
 
6820
#define ID3D11ClassInstance_GetInstanceName(This,pInstanceName,pBufferLength)   \
6821
    ( (This)->lpVtbl -> GetInstanceName(This,pInstanceName,pBufferLength) ) 
6822
 
6823
#define ID3D11ClassInstance_GetTypeName(This,pTypeName,pBufferLength)   \
6824
    ( (This)->lpVtbl -> GetTypeName(This,pTypeName,pBufferLength) ) 
6825
 
6826
#endif /* COBJMACROS */
6827
 
6828
 
6829
#endif  /* C style interface */
6830
 
6831
 
6832
 
6833
 
6834
#endif  /* __ID3D11ClassInstance_INTERFACE_DEFINED__ */
6835
 
6836
 
6837
#ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
6838
#define __ID3D11ClassLinkage_INTERFACE_DEFINED__
6839
 
6840
/* interface ID3D11ClassLinkage */
6841
/* [unique][local][object][uuid] */
6842
 
6843
 
6844
EXTERN_C const IID IID_ID3D11ClassLinkage;
6845
 
6846
#if defined(__cplusplus) && !defined(CINTERFACE)
6847
 
6848
    MIDL_INTERFACE("ddf57cba-9543-46e4-a12b-f207a0fe7fed")
6849
    ID3D11ClassLinkage : public ID3D11DeviceChild
6850
    {
6851
    public:
6852
        virtual HRESULT STDMETHODCALLTYPE GetClassInstance(
6853
            /* [annotation] */
6854
            __in  LPCSTR pClassInstanceName,
6855
            /* [annotation] */
6856
            __in  UINT InstanceIndex,
6857
            /* [annotation] */
6858
            __out  ID3D11ClassInstance **ppInstance) = 0;
6859
 
6860
        virtual HRESULT STDMETHODCALLTYPE CreateClassInstance(
6861
            /* [annotation] */
6862
            __in  LPCSTR pClassTypeName,
6863
            /* [annotation] */
6864
            __in  UINT ConstantBufferOffset,
6865
            /* [annotation] */
6866
            __in  UINT ConstantVectorOffset,
6867
            /* [annotation] */
6868
            __in  UINT TextureOffset,
6869
            /* [annotation] */
6870
            __in  UINT SamplerOffset,
6871
            /* [annotation] */
6872
            __out  ID3D11ClassInstance **ppInstance) = 0;
6873
 
6874
    };
6875
 
6876
#else   /* C style interface */
6877
 
6878
    typedef struct ID3D11ClassLinkageVtbl
6879
    {
6880
        BEGIN_INTERFACE
6881
 
6882
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6883
            ID3D11ClassLinkage * This,
6884
            /* [in] */ REFIID riid,
6885
            /* [annotation][iid_is][out] */
6886
            __RPC__deref_out  void **ppvObject);
6887
 
6888
        ULONG ( STDMETHODCALLTYPE *AddRef )(
6889
            ID3D11ClassLinkage * This);
6890
 
6891
        ULONG ( STDMETHODCALLTYPE *Release )(
6892
            ID3D11ClassLinkage * This);
6893
 
6894
        void ( STDMETHODCALLTYPE *GetDevice )(
6895
            ID3D11ClassLinkage * This,
6896
            /* [annotation] */
6897
            __out  ID3D11Device **ppDevice);
6898
 
6899
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
6900
            ID3D11ClassLinkage * This,
6901
            /* [annotation] */
6902
            __in  REFGUID guid,
6903
            /* [annotation] */
6904
            __inout  UINT *pDataSize,
6905
            /* [annotation] */
6906
            __out_bcount_opt( *pDataSize )  void *pData);
6907
 
6908
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
6909
            ID3D11ClassLinkage * This,
6910
            /* [annotation] */
6911
            __in  REFGUID guid,
6912
            /* [annotation] */
6913
            __in  UINT DataSize,
6914
            /* [annotation] */
6915
            __in_bcount_opt( DataSize )  const void *pData);
6916
 
6917
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
6918
            ID3D11ClassLinkage * This,
6919
            /* [annotation] */
6920
            __in  REFGUID guid,
6921
            /* [annotation] */
6922
            __in_opt  const IUnknown *pData);
6923
 
6924
        HRESULT ( STDMETHODCALLTYPE *GetClassInstance )(
6925
            ID3D11ClassLinkage * This,
6926
            /* [annotation] */
6927
            __in  LPCSTR pClassInstanceName,
6928
            /* [annotation] */
6929
            __in  UINT InstanceIndex,
6930
            /* [annotation] */
6931
            __out  ID3D11ClassInstance **ppInstance);
6932
 
6933
        HRESULT ( STDMETHODCALLTYPE *CreateClassInstance )(
6934
            ID3D11ClassLinkage * This,
6935
            /* [annotation] */
6936
            __in  LPCSTR pClassTypeName,
6937
            /* [annotation] */
6938
            __in  UINT ConstantBufferOffset,
6939
            /* [annotation] */
6940
            __in  UINT ConstantVectorOffset,
6941
            /* [annotation] */
6942
            __in  UINT TextureOffset,
6943
            /* [annotation] */
6944
            __in  UINT SamplerOffset,
6945
            /* [annotation] */
6946
            __out  ID3D11ClassInstance **ppInstance);
6947
 
6948
        END_INTERFACE
6949
    } ID3D11ClassLinkageVtbl;
6950
 
6951
    interface ID3D11ClassLinkage
6952
    {
6953
        CONST_VTBL struct ID3D11ClassLinkageVtbl *lpVtbl;
6954
    };
6955
 
6956
 
6957
 
6958
#ifdef COBJMACROS
6959
 
6960
 
6961
#define ID3D11ClassLinkage_QueryInterface(This,riid,ppvObject)  \
6962
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
6963
 
6964
#define ID3D11ClassLinkage_AddRef(This) \
6965
    ( (This)->lpVtbl -> AddRef(This) ) 
6966
 
6967
#define ID3D11ClassLinkage_Release(This)        \
6968
    ( (This)->lpVtbl -> Release(This) ) 
6969
 
6970
 
6971
#define ID3D11ClassLinkage_GetDevice(This,ppDevice)     \
6972
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
6973
 
6974
#define ID3D11ClassLinkage_GetPrivateData(This,guid,pDataSize,pData)    \
6975
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
6976
 
6977
#define ID3D11ClassLinkage_SetPrivateData(This,guid,DataSize,pData)     \
6978
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
6979
 
6980
#define ID3D11ClassLinkage_SetPrivateDataInterface(This,guid,pData)     \
6981
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
6982
 
6983
 
6984
#define ID3D11ClassLinkage_GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance)   \
6985
    ( (This)->lpVtbl -> GetClassInstance(This,pClassInstanceName,InstanceIndex,ppInstance) ) 
6986
 
6987
#define ID3D11ClassLinkage_CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance)    \
6988
    ( (This)->lpVtbl -> CreateClassInstance(This,pClassTypeName,ConstantBufferOffset,ConstantVectorOffset,TextureOffset,SamplerOffset,ppInstance) ) 
6989
 
6990
#endif /* COBJMACROS */
6991
 
6992
 
6993
#endif  /* C style interface */
6994
 
6995
 
6996
 
6997
 
6998
#endif  /* __ID3D11ClassLinkage_INTERFACE_DEFINED__ */
6999
 
7000
 
7001
#ifndef __ID3D11CommandList_INTERFACE_DEFINED__
7002
#define __ID3D11CommandList_INTERFACE_DEFINED__
7003
 
7004
/* interface ID3D11CommandList */
7005
/* [unique][local][object][uuid] */
7006
 
7007
 
7008
EXTERN_C const IID IID_ID3D11CommandList;
7009
 
7010
#if defined(__cplusplus) && !defined(CINTERFACE)
7011
 
7012
    MIDL_INTERFACE("a24bc4d1-769e-43f7-8013-98ff566c18e2")
7013
    ID3D11CommandList : public ID3D11DeviceChild
7014
    {
7015
    public:
7016
        virtual UINT STDMETHODCALLTYPE GetContextFlags( void) = 0;
7017
 
7018
    };
7019
 
7020
#else   /* C style interface */
7021
 
7022
    typedef struct ID3D11CommandListVtbl
7023
    {
7024
        BEGIN_INTERFACE
7025
 
7026
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7027
            ID3D11CommandList * This,
7028
            /* [in] */ REFIID riid,
7029
            /* [annotation][iid_is][out] */
7030
            __RPC__deref_out  void **ppvObject);
7031
 
7032
        ULONG ( STDMETHODCALLTYPE *AddRef )(
7033
            ID3D11CommandList * This);
7034
 
7035
        ULONG ( STDMETHODCALLTYPE *Release )(
7036
            ID3D11CommandList * This);
7037
 
7038
        void ( STDMETHODCALLTYPE *GetDevice )(
7039
            ID3D11CommandList * This,
7040
            /* [annotation] */
7041
            __out  ID3D11Device **ppDevice);
7042
 
7043
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
7044
            ID3D11CommandList * This,
7045
            /* [annotation] */
7046
            __in  REFGUID guid,
7047
            /* [annotation] */
7048
            __inout  UINT *pDataSize,
7049
            /* [annotation] */
7050
            __out_bcount_opt( *pDataSize )  void *pData);
7051
 
7052
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
7053
            ID3D11CommandList * This,
7054
            /* [annotation] */
7055
            __in  REFGUID guid,
7056
            /* [annotation] */
7057
            __in  UINT DataSize,
7058
            /* [annotation] */
7059
            __in_bcount_opt( DataSize )  const void *pData);
7060
 
7061
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
7062
            ID3D11CommandList * This,
7063
            /* [annotation] */
7064
            __in  REFGUID guid,
7065
            /* [annotation] */
7066
            __in_opt  const IUnknown *pData);
7067
 
7068
        UINT ( STDMETHODCALLTYPE *GetContextFlags )(
7069
            ID3D11CommandList * This);
7070
 
7071
        END_INTERFACE
7072
    } ID3D11CommandListVtbl;
7073
 
7074
    interface ID3D11CommandList
7075
    {
7076
        CONST_VTBL struct ID3D11CommandListVtbl *lpVtbl;
7077
    };
7078
 
7079
 
7080
 
7081
#ifdef COBJMACROS
7082
 
7083
 
7084
#define ID3D11CommandList_QueryInterface(This,riid,ppvObject)   \
7085
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
7086
 
7087
#define ID3D11CommandList_AddRef(This)  \
7088
    ( (This)->lpVtbl -> AddRef(This) ) 
7089
 
7090
#define ID3D11CommandList_Release(This) \
7091
    ( (This)->lpVtbl -> Release(This) ) 
7092
 
7093
 
7094
#define ID3D11CommandList_GetDevice(This,ppDevice)      \
7095
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
7096
 
7097
#define ID3D11CommandList_GetPrivateData(This,guid,pDataSize,pData)     \
7098
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
7099
 
7100
#define ID3D11CommandList_SetPrivateData(This,guid,DataSize,pData)      \
7101
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
7102
 
7103
#define ID3D11CommandList_SetPrivateDataInterface(This,guid,pData)      \
7104
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
7105
 
7106
 
7107
#define ID3D11CommandList_GetContextFlags(This) \
7108
    ( (This)->lpVtbl -> GetContextFlags(This) ) 
7109
 
7110
#endif /* COBJMACROS */
7111
 
7112
 
7113
#endif  /* C style interface */
7114
 
7115
 
7116
 
7117
 
7118
#endif  /* __ID3D11CommandList_INTERFACE_DEFINED__ */
7119
 
7120
 
7121
/* interface __MIDL_itf_d3d11_0000_0029 */
7122
/* [local] */
7123
 
7124
typedef
7125
enum D3D11_FEATURE
7126
    {   D3D11_FEATURE_THREADING = 0,
7127
        D3D11_FEATURE_DOUBLES   = ( D3D11_FEATURE_THREADING + 1 ) ,
7128
        D3D11_FEATURE_FORMAT_SUPPORT    = ( D3D11_FEATURE_DOUBLES + 1 ) ,
7129
        D3D11_FEATURE_FORMAT_SUPPORT2   = ( D3D11_FEATURE_FORMAT_SUPPORT + 1 ) ,
7130
        D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS  = ( D3D11_FEATURE_FORMAT_SUPPORT2 + 1 )
7131
    }   D3D11_FEATURE;
7132
 
7133
typedef struct D3D11_FEATURE_DATA_THREADING
7134
    {
7135
    BOOL DriverConcurrentCreates;
7136
    BOOL DriverCommandLists;
7137
    }   D3D11_FEATURE_DATA_THREADING;
7138
 
7139
typedef struct D3D11_FEATURE_DATA_DOUBLES
7140
    {
7141
    BOOL DoublePrecisionFloatShaderOps;
7142
    }   D3D11_FEATURE_DATA_DOUBLES;
7143
 
7144
typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT
7145
    {
7146
    DXGI_FORMAT InFormat;
7147
    UINT OutFormatSupport;
7148
    }   D3D11_FEATURE_DATA_FORMAT_SUPPORT;
7149
 
7150
typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2
7151
    {
7152
    DXGI_FORMAT InFormat;
7153
    UINT OutFormatSupport2;
7154
    }   D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
7155
 
7156
typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
7157
    {
7158
    BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
7159
    }   D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
7160
 
7161
 
7162
 
7163
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0029_v0_0_c_ifspec;
7164
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0029_v0_0_s_ifspec;
7165
 
7166
#ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
7167
#define __ID3D11DeviceContext_INTERFACE_DEFINED__
7168
 
7169
/* interface ID3D11DeviceContext */
7170
/* [unique][local][object][uuid] */
7171
 
7172
 
7173
EXTERN_C const IID IID_ID3D11DeviceContext;
7174
 
7175
#if defined(__cplusplus) && !defined(CINTERFACE)
7176
 
7177
    MIDL_INTERFACE("c0bfa96c-e089-44fb-8eaf-26f8796190da")
7178
    ID3D11DeviceContext : public ID3D11DeviceChild
7179
    {
7180
    public:
7181
        virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
7182
            /* [annotation] */
7183
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7184
            /* [annotation] */
7185
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7186
            /* [annotation] */
7187
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7188
 
7189
        virtual void STDMETHODCALLTYPE PSSetShaderResources(
7190
            /* [annotation] */
7191
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7192
            /* [annotation] */
7193
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7194
            /* [annotation] */
7195
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7196
 
7197
        virtual void STDMETHODCALLTYPE PSSetShader(
7198
            /* [annotation] */
7199
            __in_opt  ID3D11PixelShader *pPixelShader,
7200
            /* [annotation] */
7201
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7202
            UINT NumClassInstances) = 0;
7203
 
7204
        virtual void STDMETHODCALLTYPE PSSetSamplers(
7205
            /* [annotation] */
7206
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7207
            /* [annotation] */
7208
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7209
            /* [annotation] */
7210
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7211
 
7212
        virtual void STDMETHODCALLTYPE VSSetShader(
7213
            /* [annotation] */
7214
            __in_opt  ID3D11VertexShader *pVertexShader,
7215
            /* [annotation] */
7216
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7217
            UINT NumClassInstances) = 0;
7218
 
7219
        virtual void STDMETHODCALLTYPE DrawIndexed(
7220
            /* [annotation] */
7221
            __in  UINT IndexCount,
7222
            /* [annotation] */
7223
            __in  UINT StartIndexLocation,
7224
            /* [annotation] */
7225
            __in  INT BaseVertexLocation) = 0;
7226
 
7227
        virtual void STDMETHODCALLTYPE Draw(
7228
            /* [annotation] */
7229
            __in  UINT VertexCount,
7230
            /* [annotation] */
7231
            __in  UINT StartVertexLocation) = 0;
7232
 
7233
        virtual HRESULT STDMETHODCALLTYPE Map(
7234
            /* [annotation] */
7235
            __in  ID3D11Resource *pResource,
7236
            /* [annotation] */
7237
            __in  UINT Subresource,
7238
            /* [annotation] */
7239
            __in  D3D11_MAP MapType,
7240
            /* [annotation] */
7241
            __in  UINT MapFlags,
7242
            /* [annotation] */
7243
            __out  D3D11_MAPPED_SUBRESOURCE *pMappedResource) = 0;
7244
 
7245
        virtual void STDMETHODCALLTYPE Unmap(
7246
            /* [annotation] */
7247
            __in  ID3D11Resource *pResource,
7248
            /* [annotation] */
7249
            __in  UINT Subresource) = 0;
7250
 
7251
        virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
7252
            /* [annotation] */
7253
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7254
            /* [annotation] */
7255
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7256
            /* [annotation] */
7257
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7258
 
7259
        virtual void STDMETHODCALLTYPE IASetInputLayout(
7260
            /* [annotation] */
7261
            __in_opt  ID3D11InputLayout *pInputLayout) = 0;
7262
 
7263
        virtual void STDMETHODCALLTYPE IASetVertexBuffers(
7264
            /* [annotation] */
7265
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7266
            /* [annotation] */
7267
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7268
            /* [annotation] */
7269
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppVertexBuffers,
7270
            /* [annotation] */
7271
            __in_ecount(NumBuffers)  const UINT *pStrides,
7272
            /* [annotation] */
7273
            __in_ecount(NumBuffers)  const UINT *pOffsets) = 0;
7274
 
7275
        virtual void STDMETHODCALLTYPE IASetIndexBuffer(
7276
            /* [annotation] */
7277
            __in_opt  ID3D11Buffer *pIndexBuffer,
7278
            /* [annotation] */
7279
            __in  DXGI_FORMAT Format,
7280
            /* [annotation] */
7281
            __in  UINT Offset) = 0;
7282
 
7283
        virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
7284
            /* [annotation] */
7285
            __in  UINT IndexCountPerInstance,
7286
            /* [annotation] */
7287
            __in  UINT InstanceCount,
7288
            /* [annotation] */
7289
            __in  UINT StartIndexLocation,
7290
            /* [annotation] */
7291
            __in  INT BaseVertexLocation,
7292
            /* [annotation] */
7293
            __in  UINT StartInstanceLocation) = 0;
7294
 
7295
        virtual void STDMETHODCALLTYPE DrawInstanced(
7296
            /* [annotation] */
7297
            __in  UINT VertexCountPerInstance,
7298
            /* [annotation] */
7299
            __in  UINT InstanceCount,
7300
            /* [annotation] */
7301
            __in  UINT StartVertexLocation,
7302
            /* [annotation] */
7303
            __in  UINT StartInstanceLocation) = 0;
7304
 
7305
        virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
7306
            /* [annotation] */
7307
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7308
            /* [annotation] */
7309
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7310
            /* [annotation] */
7311
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7312
 
7313
        virtual void STDMETHODCALLTYPE GSSetShader(
7314
            /* [annotation] */
7315
            __in_opt  ID3D11GeometryShader *pShader,
7316
            /* [annotation] */
7317
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7318
            UINT NumClassInstances) = 0;
7319
 
7320
        virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
7321
            /* [annotation] */
7322
            __in  D3D11_PRIMITIVE_TOPOLOGY Topology) = 0;
7323
 
7324
        virtual void STDMETHODCALLTYPE VSSetShaderResources(
7325
            /* [annotation] */
7326
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7327
            /* [annotation] */
7328
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7329
            /* [annotation] */
7330
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7331
 
7332
        virtual void STDMETHODCALLTYPE VSSetSamplers(
7333
            /* [annotation] */
7334
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7335
            /* [annotation] */
7336
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7337
            /* [annotation] */
7338
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7339
 
7340
        virtual void STDMETHODCALLTYPE Begin(
7341
            /* [annotation] */
7342
            __in  ID3D11Asynchronous *pAsync) = 0;
7343
 
7344
        virtual void STDMETHODCALLTYPE End(
7345
            /* [annotation] */
7346
            __in  ID3D11Asynchronous *pAsync) = 0;
7347
 
7348
        virtual HRESULT STDMETHODCALLTYPE GetData(
7349
            /* [annotation] */
7350
            __in  ID3D11Asynchronous *pAsync,
7351
            /* [annotation] */
7352
            __out_bcount_opt( DataSize )  void *pData,
7353
            /* [annotation] */
7354
            __in  UINT DataSize,
7355
            /* [annotation] */
7356
            __in  UINT GetDataFlags) = 0;
7357
 
7358
        virtual void STDMETHODCALLTYPE SetPredication(
7359
            /* [annotation] */
7360
            __in_opt  ID3D11Predicate *pPredicate,
7361
            /* [annotation] */
7362
            __in  BOOL PredicateValue) = 0;
7363
 
7364
        virtual void STDMETHODCALLTYPE GSSetShaderResources(
7365
            /* [annotation] */
7366
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7367
            /* [annotation] */
7368
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7369
            /* [annotation] */
7370
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7371
 
7372
        virtual void STDMETHODCALLTYPE GSSetSamplers(
7373
            /* [annotation] */
7374
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7375
            /* [annotation] */
7376
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7377
            /* [annotation] */
7378
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7379
 
7380
        virtual void STDMETHODCALLTYPE OMSetRenderTargets(
7381
            /* [annotation] */
7382
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
7383
            /* [annotation] */
7384
            __in_ecount_opt(NumViews)  ID3D11RenderTargetView *const *ppRenderTargetViews,
7385
            /* [annotation] */
7386
            __in_opt  ID3D11DepthStencilView *pDepthStencilView) = 0;
7387
 
7388
        virtual void STDMETHODCALLTYPE OMSetRenderTargetsAndUnorderedAccessViews(
7389
            /* [annotation] */
7390
            __in  UINT NumRTVs,
7391
            /* [annotation] */
7392
            __in_ecount_opt(NumRTVs)  ID3D11RenderTargetView *const *ppRenderTargetViews,
7393
            /* [annotation] */
7394
            __in_opt  ID3D11DepthStencilView *pDepthStencilView,
7395
            /* [annotation] */
7396
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT UAVStartSlot,
7397
            /* [annotation] */
7398
            __in  UINT NumUAVs,
7399
            /* [annotation] */
7400
            __in_ecount_opt(NumUAVs)  ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
7401
            /* [annotation] */
7402
            __in_ecount_opt(NumUAVs)  const UINT *pUAVInitialCounts) = 0;
7403
 
7404
        virtual void STDMETHODCALLTYPE OMSetBlendState(
7405
            /* [annotation] */
7406
            __in_opt  ID3D11BlendState *pBlendState,
7407
            /* [annotation] */
7408
            __in_opt  const FLOAT BlendFactor[ 4 ],
7409
            /* [annotation] */
7410
            __in  UINT SampleMask) = 0;
7411
 
7412
        virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
7413
            /* [annotation] */
7414
            __in_opt  ID3D11DepthStencilState *pDepthStencilState,
7415
            /* [annotation] */
7416
            __in  UINT StencilRef) = 0;
7417
 
7418
        virtual void STDMETHODCALLTYPE SOSetTargets(
7419
            /* [annotation] */
7420
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT)  UINT NumBuffers,
7421
            /* [annotation] */
7422
            __in_ecount_opt(NumBuffers)  ID3D11Buffer *const *ppSOTargets,
7423
            /* [annotation] */
7424
            __in_ecount_opt(NumBuffers)  const UINT *pOffsets) = 0;
7425
 
7426
        virtual void STDMETHODCALLTYPE DrawAuto( void) = 0;
7427
 
7428
        virtual void STDMETHODCALLTYPE DrawIndexedInstancedIndirect(
7429
            /* [annotation] */
7430
            __in  ID3D11Buffer *pBufferForArgs,
7431
            /* [annotation] */
7432
            __in  UINT AlignedByteOffsetForArgs) = 0;
7433
 
7434
        virtual void STDMETHODCALLTYPE DrawInstancedIndirect(
7435
            /* [annotation] */
7436
            __in  ID3D11Buffer *pBufferForArgs,
7437
            /* [annotation] */
7438
            __in  UINT AlignedByteOffsetForArgs) = 0;
7439
 
7440
        virtual void STDMETHODCALLTYPE Dispatch(
7441
            /* [annotation] */
7442
            __in  UINT ThreadGroupCountX,
7443
            /* [annotation] */
7444
            __in  UINT ThreadGroupCountY,
7445
            /* [annotation] */
7446
            __in  UINT ThreadGroupCountZ) = 0;
7447
 
7448
        virtual void STDMETHODCALLTYPE DispatchIndirect(
7449
            /* [annotation] */
7450
            __in  ID3D11Buffer *pBufferForArgs,
7451
            /* [annotation] */
7452
            __in  UINT AlignedByteOffsetForArgs) = 0;
7453
 
7454
        virtual void STDMETHODCALLTYPE RSSetState(
7455
            /* [annotation] */
7456
            __in_opt  ID3D11RasterizerState *pRasterizerState) = 0;
7457
 
7458
        virtual void STDMETHODCALLTYPE RSSetViewports(
7459
            /* [annotation] */
7460
            __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,
7461
            /* [annotation] */
7462
            __in_ecount_opt(NumViewports)  const D3D11_VIEWPORT *pViewports) = 0;
7463
 
7464
        virtual void STDMETHODCALLTYPE RSSetScissorRects(
7465
            /* [annotation] */
7466
            __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,
7467
            /* [annotation] */
7468
            __in_ecount_opt(NumRects)  const D3D11_RECT *pRects) = 0;
7469
 
7470
        virtual void STDMETHODCALLTYPE CopySubresourceRegion(
7471
            /* [annotation] */
7472
            __in  ID3D11Resource *pDstResource,
7473
            /* [annotation] */
7474
            __in  UINT DstSubresource,
7475
            /* [annotation] */
7476
            __in  UINT DstX,
7477
            /* [annotation] */
7478
            __in  UINT DstY,
7479
            /* [annotation] */
7480
            __in  UINT DstZ,
7481
            /* [annotation] */
7482
            __in  ID3D11Resource *pSrcResource,
7483
            /* [annotation] */
7484
            __in  UINT SrcSubresource,
7485
            /* [annotation] */
7486
            __in_opt  const D3D11_BOX *pSrcBox) = 0;
7487
 
7488
        virtual void STDMETHODCALLTYPE CopyResource(
7489
            /* [annotation] */
7490
            __in  ID3D11Resource *pDstResource,
7491
            /* [annotation] */
7492
            __in  ID3D11Resource *pSrcResource) = 0;
7493
 
7494
        virtual void STDMETHODCALLTYPE UpdateSubresource(
7495
            /* [annotation] */
7496
            __in  ID3D11Resource *pDstResource,
7497
            /* [annotation] */
7498
            __in  UINT DstSubresource,
7499
            /* [annotation] */
7500
            __in_opt  const D3D11_BOX *pDstBox,
7501
            /* [annotation] */
7502
            __in  const void *pSrcData,
7503
            /* [annotation] */
7504
            __in  UINT SrcRowPitch,
7505
            /* [annotation] */
7506
            __in  UINT SrcDepthPitch) = 0;
7507
 
7508
        virtual void STDMETHODCALLTYPE CopyStructureCount(
7509
            /* [annotation] */
7510
            __in  ID3D11Buffer *pDstBuffer,
7511
            /* [annotation] */
7512
            __in  UINT DstAlignedByteOffset,
7513
            /* [annotation] */
7514
            __in  ID3D11UnorderedAccessView *pSrcView) = 0;
7515
 
7516
        virtual void STDMETHODCALLTYPE ClearRenderTargetView(
7517
            /* [annotation] */
7518
            __in  ID3D11RenderTargetView *pRenderTargetView,
7519
            /* [annotation] */
7520
            __in  const FLOAT ColorRGBA[ 4 ]) = 0;
7521
 
7522
        virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
7523
            /* [annotation] */
7524
            __in  ID3D11UnorderedAccessView *pUnorderedAccessView,
7525
            /* [annotation] */
7526
            __in  const UINT Values[ 4 ]) = 0;
7527
 
7528
        virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
7529
            /* [annotation] */
7530
            __in  ID3D11UnorderedAccessView *pUnorderedAccessView,
7531
            /* [annotation] */
7532
            __in  const FLOAT Values[ 4 ]) = 0;
7533
 
7534
        virtual void STDMETHODCALLTYPE ClearDepthStencilView(
7535
            /* [annotation] */
7536
            __in  ID3D11DepthStencilView *pDepthStencilView,
7537
            /* [annotation] */
7538
            __in  UINT ClearFlags,
7539
            /* [annotation] */
7540
            __in  FLOAT Depth,
7541
            /* [annotation] */
7542
            __in  UINT8 Stencil) = 0;
7543
 
7544
        virtual void STDMETHODCALLTYPE GenerateMips(
7545
            /* [annotation] */
7546
            __in  ID3D11ShaderResourceView *pShaderResourceView) = 0;
7547
 
7548
        virtual void STDMETHODCALLTYPE SetResourceMinLOD(
7549
            /* [annotation] */
7550
            __in  ID3D11Resource *pResource,
7551
            FLOAT MinLOD) = 0;
7552
 
7553
        virtual FLOAT STDMETHODCALLTYPE GetResourceMinLOD(
7554
            /* [annotation] */
7555
            __in  ID3D11Resource *pResource) = 0;
7556
 
7557
        virtual void STDMETHODCALLTYPE ResolveSubresource(
7558
            /* [annotation] */
7559
            __in  ID3D11Resource *pDstResource,
7560
            /* [annotation] */
7561
            __in  UINT DstSubresource,
7562
            /* [annotation] */
7563
            __in  ID3D11Resource *pSrcResource,
7564
            /* [annotation] */
7565
            __in  UINT SrcSubresource,
7566
            /* [annotation] */
7567
            __in  DXGI_FORMAT Format) = 0;
7568
 
7569
        virtual void STDMETHODCALLTYPE ExecuteCommandList(
7570
            /* [annotation] */
7571
            __in  ID3D11CommandList *pCommandList,
7572
            BOOL RestoreContextState) = 0;
7573
 
7574
        virtual void STDMETHODCALLTYPE HSSetShaderResources(
7575
            /* [annotation] */
7576
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7577
            /* [annotation] */
7578
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7579
            /* [annotation] */
7580
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7581
 
7582
        virtual void STDMETHODCALLTYPE HSSetShader(
7583
            /* [annotation] */
7584
            __in_opt  ID3D11HullShader *pHullShader,
7585
            /* [annotation] */
7586
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7587
            UINT NumClassInstances) = 0;
7588
 
7589
        virtual void STDMETHODCALLTYPE HSSetSamplers(
7590
            /* [annotation] */
7591
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7592
            /* [annotation] */
7593
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7594
            /* [annotation] */
7595
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7596
 
7597
        virtual void STDMETHODCALLTYPE HSSetConstantBuffers(
7598
            /* [annotation] */
7599
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7600
            /* [annotation] */
7601
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7602
            /* [annotation] */
7603
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7604
 
7605
        virtual void STDMETHODCALLTYPE DSSetShaderResources(
7606
            /* [annotation] */
7607
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7608
            /* [annotation] */
7609
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7610
            /* [annotation] */
7611
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7612
 
7613
        virtual void STDMETHODCALLTYPE DSSetShader(
7614
            /* [annotation] */
7615
            __in_opt  ID3D11DomainShader *pDomainShader,
7616
            /* [annotation] */
7617
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7618
            UINT NumClassInstances) = 0;
7619
 
7620
        virtual void STDMETHODCALLTYPE DSSetSamplers(
7621
            /* [annotation] */
7622
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7623
            /* [annotation] */
7624
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7625
            /* [annotation] */
7626
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7627
 
7628
        virtual void STDMETHODCALLTYPE DSSetConstantBuffers(
7629
            /* [annotation] */
7630
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7631
            /* [annotation] */
7632
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7633
            /* [annotation] */
7634
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7635
 
7636
        virtual void STDMETHODCALLTYPE CSSetShaderResources(
7637
            /* [annotation] */
7638
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7639
            /* [annotation] */
7640
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7641
            /* [annotation] */
7642
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews) = 0;
7643
 
7644
        virtual void STDMETHODCALLTYPE CSSetUnorderedAccessViews(
7645
            /* [annotation] */
7646
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT StartSlot,
7647
            /* [annotation] */
7648
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot )  UINT NumUAVs,
7649
            /* [annotation] */
7650
            __in_ecount(NumUAVs)  ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
7651
            /* [annotation] */
7652
            __in_ecount(NumUAVs)  const UINT *pUAVInitialCounts) = 0;
7653
 
7654
        virtual void STDMETHODCALLTYPE CSSetShader(
7655
            /* [annotation] */
7656
            __in_opt  ID3D11ComputeShader *pComputeShader,
7657
            /* [annotation] */
7658
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
7659
            UINT NumClassInstances) = 0;
7660
 
7661
        virtual void STDMETHODCALLTYPE CSSetSamplers(
7662
            /* [annotation] */
7663
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7664
            /* [annotation] */
7665
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7666
            /* [annotation] */
7667
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers) = 0;
7668
 
7669
        virtual void STDMETHODCALLTYPE CSSetConstantBuffers(
7670
            /* [annotation] */
7671
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7672
            /* [annotation] */
7673
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7674
            /* [annotation] */
7675
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers) = 0;
7676
 
7677
        virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
7678
            /* [annotation] */
7679
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7680
            /* [annotation] */
7681
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7682
            /* [annotation] */
7683
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7684
 
7685
        virtual void STDMETHODCALLTYPE PSGetShaderResources(
7686
            /* [annotation] */
7687
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7688
            /* [annotation] */
7689
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7690
            /* [annotation] */
7691
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7692
 
7693
        virtual void STDMETHODCALLTYPE PSGetShader(
7694
            /* [annotation] */
7695
            __out  ID3D11PixelShader **ppPixelShader,
7696
            /* [annotation] */
7697
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7698
            /* [annotation] */
7699
            __inout_opt  UINT *pNumClassInstances) = 0;
7700
 
7701
        virtual void STDMETHODCALLTYPE PSGetSamplers(
7702
            /* [annotation] */
7703
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7704
            /* [annotation] */
7705
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7706
            /* [annotation] */
7707
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7708
 
7709
        virtual void STDMETHODCALLTYPE VSGetShader(
7710
            /* [annotation] */
7711
            __out  ID3D11VertexShader **ppVertexShader,
7712
            /* [annotation] */
7713
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7714
            /* [annotation] */
7715
            __inout_opt  UINT *pNumClassInstances) = 0;
7716
 
7717
        virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
7718
            /* [annotation] */
7719
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7720
            /* [annotation] */
7721
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7722
            /* [annotation] */
7723
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7724
 
7725
        virtual void STDMETHODCALLTYPE IAGetInputLayout(
7726
            /* [annotation] */
7727
            __out  ID3D11InputLayout **ppInputLayout) = 0;
7728
 
7729
        virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
7730
            /* [annotation] */
7731
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7732
            /* [annotation] */
7733
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7734
            /* [annotation] */
7735
            __out_ecount_opt(NumBuffers)  ID3D11Buffer **ppVertexBuffers,
7736
            /* [annotation] */
7737
            __out_ecount_opt(NumBuffers)  UINT *pStrides,
7738
            /* [annotation] */
7739
            __out_ecount_opt(NumBuffers)  UINT *pOffsets) = 0;
7740
 
7741
        virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
7742
            /* [annotation] */
7743
            __out_opt  ID3D11Buffer **pIndexBuffer,
7744
            /* [annotation] */
7745
            __out_opt  DXGI_FORMAT *Format,
7746
            /* [annotation] */
7747
            __out_opt  UINT *Offset) = 0;
7748
 
7749
        virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
7750
            /* [annotation] */
7751
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7752
            /* [annotation] */
7753
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7754
            /* [annotation] */
7755
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7756
 
7757
        virtual void STDMETHODCALLTYPE GSGetShader(
7758
            /* [annotation] */
7759
            __out  ID3D11GeometryShader **ppGeometryShader,
7760
            /* [annotation] */
7761
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7762
            /* [annotation] */
7763
            __inout_opt  UINT *pNumClassInstances) = 0;
7764
 
7765
        virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
7766
            /* [annotation] */
7767
            __out  D3D11_PRIMITIVE_TOPOLOGY *pTopology) = 0;
7768
 
7769
        virtual void STDMETHODCALLTYPE VSGetShaderResources(
7770
            /* [annotation] */
7771
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7772
            /* [annotation] */
7773
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7774
            /* [annotation] */
7775
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7776
 
7777
        virtual void STDMETHODCALLTYPE VSGetSamplers(
7778
            /* [annotation] */
7779
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7780
            /* [annotation] */
7781
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7782
            /* [annotation] */
7783
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7784
 
7785
        virtual void STDMETHODCALLTYPE GetPredication(
7786
            /* [annotation] */
7787
            __out_opt  ID3D11Predicate **ppPredicate,
7788
            /* [annotation] */
7789
            __out_opt  BOOL *pPredicateValue) = 0;
7790
 
7791
        virtual void STDMETHODCALLTYPE GSGetShaderResources(
7792
            /* [annotation] */
7793
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7794
            /* [annotation] */
7795
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7796
            /* [annotation] */
7797
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7798
 
7799
        virtual void STDMETHODCALLTYPE GSGetSamplers(
7800
            /* [annotation] */
7801
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7802
            /* [annotation] */
7803
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7804
            /* [annotation] */
7805
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7806
 
7807
        virtual void STDMETHODCALLTYPE OMGetRenderTargets(
7808
            /* [annotation] */
7809
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
7810
            /* [annotation] */
7811
            __out_ecount_opt(NumViews)  ID3D11RenderTargetView **ppRenderTargetViews,
7812
            /* [annotation] */
7813
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView) = 0;
7814
 
7815
        virtual void STDMETHODCALLTYPE OMGetRenderTargetsAndUnorderedAccessViews(
7816
            /* [annotation] */
7817
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumRTVs,
7818
            /* [annotation] */
7819
            __out_ecount_opt(NumRTVs)  ID3D11RenderTargetView **ppRenderTargetViews,
7820
            /* [annotation] */
7821
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView,
7822
            /* [annotation] */
7823
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT UAVStartSlot,
7824
            /* [annotation] */
7825
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - UAVStartSlot )  UINT NumUAVs,
7826
            /* [annotation] */
7827
            __out_ecount_opt(NumUAVs)  ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
7828
 
7829
        virtual void STDMETHODCALLTYPE OMGetBlendState(
7830
            /* [annotation] */
7831
            __out_opt  ID3D11BlendState **ppBlendState,
7832
            /* [annotation] */
7833
            __out_opt  FLOAT BlendFactor[ 4 ],
7834
            /* [annotation] */
7835
            __out_opt  UINT *pSampleMask) = 0;
7836
 
7837
        virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
7838
            /* [annotation] */
7839
            __out_opt  ID3D11DepthStencilState **ppDepthStencilState,
7840
            /* [annotation] */
7841
            __out_opt  UINT *pStencilRef) = 0;
7842
 
7843
        virtual void STDMETHODCALLTYPE SOGetTargets(
7844
            /* [annotation] */
7845
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT )  UINT NumBuffers,
7846
            /* [annotation] */
7847
            __out_ecount(NumBuffers)  ID3D11Buffer **ppSOTargets) = 0;
7848
 
7849
        virtual void STDMETHODCALLTYPE RSGetState(
7850
            /* [annotation] */
7851
            __out  ID3D11RasterizerState **ppRasterizerState) = 0;
7852
 
7853
        virtual void STDMETHODCALLTYPE RSGetViewports(
7854
            /* [annotation] */
7855
            __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *pNumViewports,
7856
            /* [annotation] */
7857
            __out_ecount_opt(*pNumViewports)  D3D11_VIEWPORT *pViewports) = 0;
7858
 
7859
        virtual void STDMETHODCALLTYPE RSGetScissorRects(
7860
            /* [annotation] */
7861
            __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *pNumRects,
7862
            /* [annotation] */
7863
            __out_ecount_opt(*pNumRects)  D3D11_RECT *pRects) = 0;
7864
 
7865
        virtual void STDMETHODCALLTYPE HSGetShaderResources(
7866
            /* [annotation] */
7867
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7868
            /* [annotation] */
7869
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7870
            /* [annotation] */
7871
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7872
 
7873
        virtual void STDMETHODCALLTYPE HSGetShader(
7874
            /* [annotation] */
7875
            __out  ID3D11HullShader **ppHullShader,
7876
            /* [annotation] */
7877
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7878
            /* [annotation] */
7879
            __inout_opt  UINT *pNumClassInstances) = 0;
7880
 
7881
        virtual void STDMETHODCALLTYPE HSGetSamplers(
7882
            /* [annotation] */
7883
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7884
            /* [annotation] */
7885
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7886
            /* [annotation] */
7887
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7888
 
7889
        virtual void STDMETHODCALLTYPE HSGetConstantBuffers(
7890
            /* [annotation] */
7891
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7892
            /* [annotation] */
7893
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7894
            /* [annotation] */
7895
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7896
 
7897
        virtual void STDMETHODCALLTYPE DSGetShaderResources(
7898
            /* [annotation] */
7899
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7900
            /* [annotation] */
7901
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7902
            /* [annotation] */
7903
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7904
 
7905
        virtual void STDMETHODCALLTYPE DSGetShader(
7906
            /* [annotation] */
7907
            __out  ID3D11DomainShader **ppDomainShader,
7908
            /* [annotation] */
7909
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7910
            /* [annotation] */
7911
            __inout_opt  UINT *pNumClassInstances) = 0;
7912
 
7913
        virtual void STDMETHODCALLTYPE DSGetSamplers(
7914
            /* [annotation] */
7915
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7916
            /* [annotation] */
7917
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7918
            /* [annotation] */
7919
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7920
 
7921
        virtual void STDMETHODCALLTYPE DSGetConstantBuffers(
7922
            /* [annotation] */
7923
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7924
            /* [annotation] */
7925
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7926
            /* [annotation] */
7927
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7928
 
7929
        virtual void STDMETHODCALLTYPE CSGetShaderResources(
7930
            /* [annotation] */
7931
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
7932
            /* [annotation] */
7933
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
7934
            /* [annotation] */
7935
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews) = 0;
7936
 
7937
        virtual void STDMETHODCALLTYPE CSGetUnorderedAccessViews(
7938
            /* [annotation] */
7939
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT StartSlot,
7940
            /* [annotation] */
7941
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot )  UINT NumUAVs,
7942
            /* [annotation] */
7943
            __out_ecount(NumUAVs)  ID3D11UnorderedAccessView **ppUnorderedAccessViews) = 0;
7944
 
7945
        virtual void STDMETHODCALLTYPE CSGetShader(
7946
            /* [annotation] */
7947
            __out  ID3D11ComputeShader **ppComputeShader,
7948
            /* [annotation] */
7949
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
7950
            /* [annotation] */
7951
            __inout_opt  UINT *pNumClassInstances) = 0;
7952
 
7953
        virtual void STDMETHODCALLTYPE CSGetSamplers(
7954
            /* [annotation] */
7955
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
7956
            /* [annotation] */
7957
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
7958
            /* [annotation] */
7959
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers) = 0;
7960
 
7961
        virtual void STDMETHODCALLTYPE CSGetConstantBuffers(
7962
            /* [annotation] */
7963
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
7964
            /* [annotation] */
7965
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
7966
            /* [annotation] */
7967
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers) = 0;
7968
 
7969
        virtual void STDMETHODCALLTYPE ClearState( void) = 0;
7970
 
7971
        virtual void STDMETHODCALLTYPE Flush( void) = 0;
7972
 
7973
        virtual D3D11_DEVICE_CONTEXT_TYPE STDMETHODCALLTYPE GetType( void) = 0;
7974
 
7975
        virtual UINT STDMETHODCALLTYPE GetContextFlags( void) = 0;
7976
 
7977
        virtual HRESULT STDMETHODCALLTYPE FinishCommandList(
7978
            BOOL RestoreDeferredContextState,
7979
            /* [annotation] */
7980
            __out_opt  ID3D11CommandList **ppCommandList) = 0;
7981
 
7982
    };
7983
 
7984
#else   /* C style interface */
7985
 
7986
    typedef struct ID3D11DeviceContextVtbl
7987
    {
7988
        BEGIN_INTERFACE
7989
 
7990
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
7991
            ID3D11DeviceContext * This,
7992
            /* [in] */ REFIID riid,
7993
            /* [annotation][iid_is][out] */
7994
            __RPC__deref_out  void **ppvObject);
7995
 
7996
        ULONG ( STDMETHODCALLTYPE *AddRef )(
7997
            ID3D11DeviceContext * This);
7998
 
7999
        ULONG ( STDMETHODCALLTYPE *Release )(
8000
            ID3D11DeviceContext * This);
8001
 
8002
        void ( STDMETHODCALLTYPE *GetDevice )(
8003
            ID3D11DeviceContext * This,
8004
            /* [annotation] */
8005
            __out  ID3D11Device **ppDevice);
8006
 
8007
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
8008
            ID3D11DeviceContext * This,
8009
            /* [annotation] */
8010
            __in  REFGUID guid,
8011
            /* [annotation] */
8012
            __inout  UINT *pDataSize,
8013
            /* [annotation] */
8014
            __out_bcount_opt( *pDataSize )  void *pData);
8015
 
8016
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
8017
            ID3D11DeviceContext * This,
8018
            /* [annotation] */
8019
            __in  REFGUID guid,
8020
            /* [annotation] */
8021
            __in  UINT DataSize,
8022
            /* [annotation] */
8023
            __in_bcount_opt( DataSize )  const void *pData);
8024
 
8025
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
8026
            ID3D11DeviceContext * This,
8027
            /* [annotation] */
8028
            __in  REFGUID guid,
8029
            /* [annotation] */
8030
            __in_opt  const IUnknown *pData);
8031
 
8032
        void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
8033
            ID3D11DeviceContext * This,
8034
            /* [annotation] */
8035
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8036
            /* [annotation] */
8037
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8038
            /* [annotation] */
8039
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8040
 
8041
        void ( STDMETHODCALLTYPE *PSSetShaderResources )(
8042
            ID3D11DeviceContext * This,
8043
            /* [annotation] */
8044
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8045
            /* [annotation] */
8046
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8047
            /* [annotation] */
8048
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8049
 
8050
        void ( STDMETHODCALLTYPE *PSSetShader )(
8051
            ID3D11DeviceContext * This,
8052
            /* [annotation] */
8053
            __in_opt  ID3D11PixelShader *pPixelShader,
8054
            /* [annotation] */
8055
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8056
            UINT NumClassInstances);
8057
 
8058
        void ( STDMETHODCALLTYPE *PSSetSamplers )(
8059
            ID3D11DeviceContext * This,
8060
            /* [annotation] */
8061
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8062
            /* [annotation] */
8063
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8064
            /* [annotation] */
8065
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8066
 
8067
        void ( STDMETHODCALLTYPE *VSSetShader )(
8068
            ID3D11DeviceContext * This,
8069
            /* [annotation] */
8070
            __in_opt  ID3D11VertexShader *pVertexShader,
8071
            /* [annotation] */
8072
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8073
            UINT NumClassInstances);
8074
 
8075
        void ( STDMETHODCALLTYPE *DrawIndexed )(
8076
            ID3D11DeviceContext * This,
8077
            /* [annotation] */
8078
            __in  UINT IndexCount,
8079
            /* [annotation] */
8080
            __in  UINT StartIndexLocation,
8081
            /* [annotation] */
8082
            __in  INT BaseVertexLocation);
8083
 
8084
        void ( STDMETHODCALLTYPE *Draw )(
8085
            ID3D11DeviceContext * This,
8086
            /* [annotation] */
8087
            __in  UINT VertexCount,
8088
            /* [annotation] */
8089
            __in  UINT StartVertexLocation);
8090
 
8091
        HRESULT ( STDMETHODCALLTYPE *Map )(
8092
            ID3D11DeviceContext * This,
8093
            /* [annotation] */
8094
            __in  ID3D11Resource *pResource,
8095
            /* [annotation] */
8096
            __in  UINT Subresource,
8097
            /* [annotation] */
8098
            __in  D3D11_MAP MapType,
8099
            /* [annotation] */
8100
            __in  UINT MapFlags,
8101
            /* [annotation] */
8102
            __out  D3D11_MAPPED_SUBRESOURCE *pMappedResource);
8103
 
8104
        void ( STDMETHODCALLTYPE *Unmap )(
8105
            ID3D11DeviceContext * This,
8106
            /* [annotation] */
8107
            __in  ID3D11Resource *pResource,
8108
            /* [annotation] */
8109
            __in  UINT Subresource);
8110
 
8111
        void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
8112
            ID3D11DeviceContext * This,
8113
            /* [annotation] */
8114
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8115
            /* [annotation] */
8116
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8117
            /* [annotation] */
8118
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8119
 
8120
        void ( STDMETHODCALLTYPE *IASetInputLayout )(
8121
            ID3D11DeviceContext * This,
8122
            /* [annotation] */
8123
            __in_opt  ID3D11InputLayout *pInputLayout);
8124
 
8125
        void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
8126
            ID3D11DeviceContext * This,
8127
            /* [annotation] */
8128
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8129
            /* [annotation] */
8130
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8131
            /* [annotation] */
8132
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppVertexBuffers,
8133
            /* [annotation] */
8134
            __in_ecount(NumBuffers)  const UINT *pStrides,
8135
            /* [annotation] */
8136
            __in_ecount(NumBuffers)  const UINT *pOffsets);
8137
 
8138
        void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
8139
            ID3D11DeviceContext * This,
8140
            /* [annotation] */
8141
            __in_opt  ID3D11Buffer *pIndexBuffer,
8142
            /* [annotation] */
8143
            __in  DXGI_FORMAT Format,
8144
            /* [annotation] */
8145
            __in  UINT Offset);
8146
 
8147
        void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
8148
            ID3D11DeviceContext * This,
8149
            /* [annotation] */
8150
            __in  UINT IndexCountPerInstance,
8151
            /* [annotation] */
8152
            __in  UINT InstanceCount,
8153
            /* [annotation] */
8154
            __in  UINT StartIndexLocation,
8155
            /* [annotation] */
8156
            __in  INT BaseVertexLocation,
8157
            /* [annotation] */
8158
            __in  UINT StartInstanceLocation);
8159
 
8160
        void ( STDMETHODCALLTYPE *DrawInstanced )(
8161
            ID3D11DeviceContext * This,
8162
            /* [annotation] */
8163
            __in  UINT VertexCountPerInstance,
8164
            /* [annotation] */
8165
            __in  UINT InstanceCount,
8166
            /* [annotation] */
8167
            __in  UINT StartVertexLocation,
8168
            /* [annotation] */
8169
            __in  UINT StartInstanceLocation);
8170
 
8171
        void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
8172
            ID3D11DeviceContext * This,
8173
            /* [annotation] */
8174
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8175
            /* [annotation] */
8176
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8177
            /* [annotation] */
8178
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8179
 
8180
        void ( STDMETHODCALLTYPE *GSSetShader )(
8181
            ID3D11DeviceContext * This,
8182
            /* [annotation] */
8183
            __in_opt  ID3D11GeometryShader *pShader,
8184
            /* [annotation] */
8185
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8186
            UINT NumClassInstances);
8187
 
8188
        void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
8189
            ID3D11DeviceContext * This,
8190
            /* [annotation] */
8191
            __in  D3D11_PRIMITIVE_TOPOLOGY Topology);
8192
 
8193
        void ( STDMETHODCALLTYPE *VSSetShaderResources )(
8194
            ID3D11DeviceContext * This,
8195
            /* [annotation] */
8196
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8197
            /* [annotation] */
8198
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8199
            /* [annotation] */
8200
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8201
 
8202
        void ( STDMETHODCALLTYPE *VSSetSamplers )(
8203
            ID3D11DeviceContext * This,
8204
            /* [annotation] */
8205
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8206
            /* [annotation] */
8207
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8208
            /* [annotation] */
8209
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8210
 
8211
        void ( STDMETHODCALLTYPE *Begin )(
8212
            ID3D11DeviceContext * This,
8213
            /* [annotation] */
8214
            __in  ID3D11Asynchronous *pAsync);
8215
 
8216
        void ( STDMETHODCALLTYPE *End )(
8217
            ID3D11DeviceContext * This,
8218
            /* [annotation] */
8219
            __in  ID3D11Asynchronous *pAsync);
8220
 
8221
        HRESULT ( STDMETHODCALLTYPE *GetData )(
8222
            ID3D11DeviceContext * This,
8223
            /* [annotation] */
8224
            __in  ID3D11Asynchronous *pAsync,
8225
            /* [annotation] */
8226
            __out_bcount_opt( DataSize )  void *pData,
8227
            /* [annotation] */
8228
            __in  UINT DataSize,
8229
            /* [annotation] */
8230
            __in  UINT GetDataFlags);
8231
 
8232
        void ( STDMETHODCALLTYPE *SetPredication )(
8233
            ID3D11DeviceContext * This,
8234
            /* [annotation] */
8235
            __in_opt  ID3D11Predicate *pPredicate,
8236
            /* [annotation] */
8237
            __in  BOOL PredicateValue);
8238
 
8239
        void ( STDMETHODCALLTYPE *GSSetShaderResources )(
8240
            ID3D11DeviceContext * This,
8241
            /* [annotation] */
8242
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8243
            /* [annotation] */
8244
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8245
            /* [annotation] */
8246
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8247
 
8248
        void ( STDMETHODCALLTYPE *GSSetSamplers )(
8249
            ID3D11DeviceContext * This,
8250
            /* [annotation] */
8251
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8252
            /* [annotation] */
8253
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8254
            /* [annotation] */
8255
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8256
 
8257
        void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
8258
            ID3D11DeviceContext * This,
8259
            /* [annotation] */
8260
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
8261
            /* [annotation] */
8262
            __in_ecount_opt(NumViews)  ID3D11RenderTargetView *const *ppRenderTargetViews,
8263
            /* [annotation] */
8264
            __in_opt  ID3D11DepthStencilView *pDepthStencilView);
8265
 
8266
        void ( STDMETHODCALLTYPE *OMSetRenderTargetsAndUnorderedAccessViews )(
8267
            ID3D11DeviceContext * This,
8268
            /* [annotation] */
8269
            __in  UINT NumRTVs,
8270
            /* [annotation] */
8271
            __in_ecount_opt(NumRTVs)  ID3D11RenderTargetView *const *ppRenderTargetViews,
8272
            /* [annotation] */
8273
            __in_opt  ID3D11DepthStencilView *pDepthStencilView,
8274
            /* [annotation] */
8275
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT UAVStartSlot,
8276
            /* [annotation] */
8277
            __in  UINT NumUAVs,
8278
            /* [annotation] */
8279
            __in_ecount_opt(NumUAVs)  ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
8280
            /* [annotation] */
8281
            __in_ecount_opt(NumUAVs)  const UINT *pUAVInitialCounts);
8282
 
8283
        void ( STDMETHODCALLTYPE *OMSetBlendState )(
8284
            ID3D11DeviceContext * This,
8285
            /* [annotation] */
8286
            __in_opt  ID3D11BlendState *pBlendState,
8287
            /* [annotation] */
8288
            __in_opt  const FLOAT BlendFactor[ 4 ],
8289
            /* [annotation] */
8290
            __in  UINT SampleMask);
8291
 
8292
        void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
8293
            ID3D11DeviceContext * This,
8294
            /* [annotation] */
8295
            __in_opt  ID3D11DepthStencilState *pDepthStencilState,
8296
            /* [annotation] */
8297
            __in  UINT StencilRef);
8298
 
8299
        void ( STDMETHODCALLTYPE *SOSetTargets )(
8300
            ID3D11DeviceContext * This,
8301
            /* [annotation] */
8302
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT)  UINT NumBuffers,
8303
            /* [annotation] */
8304
            __in_ecount_opt(NumBuffers)  ID3D11Buffer *const *ppSOTargets,
8305
            /* [annotation] */
8306
            __in_ecount_opt(NumBuffers)  const UINT *pOffsets);
8307
 
8308
        void ( STDMETHODCALLTYPE *DrawAuto )(
8309
            ID3D11DeviceContext * This);
8310
 
8311
        void ( STDMETHODCALLTYPE *DrawIndexedInstancedIndirect )(
8312
            ID3D11DeviceContext * This,
8313
            /* [annotation] */
8314
            __in  ID3D11Buffer *pBufferForArgs,
8315
            /* [annotation] */
8316
            __in  UINT AlignedByteOffsetForArgs);
8317
 
8318
        void ( STDMETHODCALLTYPE *DrawInstancedIndirect )(
8319
            ID3D11DeviceContext * This,
8320
            /* [annotation] */
8321
            __in  ID3D11Buffer *pBufferForArgs,
8322
            /* [annotation] */
8323
            __in  UINT AlignedByteOffsetForArgs);
8324
 
8325
        void ( STDMETHODCALLTYPE *Dispatch )(
8326
            ID3D11DeviceContext * This,
8327
            /* [annotation] */
8328
            __in  UINT ThreadGroupCountX,
8329
            /* [annotation] */
8330
            __in  UINT ThreadGroupCountY,
8331
            /* [annotation] */
8332
            __in  UINT ThreadGroupCountZ);
8333
 
8334
        void ( STDMETHODCALLTYPE *DispatchIndirect )(
8335
            ID3D11DeviceContext * This,
8336
            /* [annotation] */
8337
            __in  ID3D11Buffer *pBufferForArgs,
8338
            /* [annotation] */
8339
            __in  UINT AlignedByteOffsetForArgs);
8340
 
8341
        void ( STDMETHODCALLTYPE *RSSetState )(
8342
            ID3D11DeviceContext * This,
8343
            /* [annotation] */
8344
            __in_opt  ID3D11RasterizerState *pRasterizerState);
8345
 
8346
        void ( STDMETHODCALLTYPE *RSSetViewports )(
8347
            ID3D11DeviceContext * This,
8348
            /* [annotation] */
8349
            __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumViewports,
8350
            /* [annotation] */
8351
            __in_ecount_opt(NumViewports)  const D3D11_VIEWPORT *pViewports);
8352
 
8353
        void ( STDMETHODCALLTYPE *RSSetScissorRects )(
8354
            ID3D11DeviceContext * This,
8355
            /* [annotation] */
8356
            __in_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE)  UINT NumRects,
8357
            /* [annotation] */
8358
            __in_ecount_opt(NumRects)  const D3D11_RECT *pRects);
8359
 
8360
        void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
8361
            ID3D11DeviceContext * This,
8362
            /* [annotation] */
8363
            __in  ID3D11Resource *pDstResource,
8364
            /* [annotation] */
8365
            __in  UINT DstSubresource,
8366
            /* [annotation] */
8367
            __in  UINT DstX,
8368
            /* [annotation] */
8369
            __in  UINT DstY,
8370
            /* [annotation] */
8371
            __in  UINT DstZ,
8372
            /* [annotation] */
8373
            __in  ID3D11Resource *pSrcResource,
8374
            /* [annotation] */
8375
            __in  UINT SrcSubresource,
8376
            /* [annotation] */
8377
            __in_opt  const D3D11_BOX *pSrcBox);
8378
 
8379
        void ( STDMETHODCALLTYPE *CopyResource )(
8380
            ID3D11DeviceContext * This,
8381
            /* [annotation] */
8382
            __in  ID3D11Resource *pDstResource,
8383
            /* [annotation] */
8384
            __in  ID3D11Resource *pSrcResource);
8385
 
8386
        void ( STDMETHODCALLTYPE *UpdateSubresource )(
8387
            ID3D11DeviceContext * This,
8388
            /* [annotation] */
8389
            __in  ID3D11Resource *pDstResource,
8390
            /* [annotation] */
8391
            __in  UINT DstSubresource,
8392
            /* [annotation] */
8393
            __in_opt  const D3D11_BOX *pDstBox,
8394
            /* [annotation] */
8395
            __in  const void *pSrcData,
8396
            /* [annotation] */
8397
            __in  UINT SrcRowPitch,
8398
            /* [annotation] */
8399
            __in  UINT SrcDepthPitch);
8400
 
8401
        void ( STDMETHODCALLTYPE *CopyStructureCount )(
8402
            ID3D11DeviceContext * This,
8403
            /* [annotation] */
8404
            __in  ID3D11Buffer *pDstBuffer,
8405
            /* [annotation] */
8406
            __in  UINT DstAlignedByteOffset,
8407
            /* [annotation] */
8408
            __in  ID3D11UnorderedAccessView *pSrcView);
8409
 
8410
        void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
8411
            ID3D11DeviceContext * This,
8412
            /* [annotation] */
8413
            __in  ID3D11RenderTargetView *pRenderTargetView,
8414
            /* [annotation] */
8415
            __in  const FLOAT ColorRGBA[ 4 ]);
8416
 
8417
        void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewUint )(
8418
            ID3D11DeviceContext * This,
8419
            /* [annotation] */
8420
            __in  ID3D11UnorderedAccessView *pUnorderedAccessView,
8421
            /* [annotation] */
8422
            __in  const UINT Values[ 4 ]);
8423
 
8424
        void ( STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat )(
8425
            ID3D11DeviceContext * This,
8426
            /* [annotation] */
8427
            __in  ID3D11UnorderedAccessView *pUnorderedAccessView,
8428
            /* [annotation] */
8429
            __in  const FLOAT Values[ 4 ]);
8430
 
8431
        void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
8432
            ID3D11DeviceContext * This,
8433
            /* [annotation] */
8434
            __in  ID3D11DepthStencilView *pDepthStencilView,
8435
            /* [annotation] */
8436
            __in  UINT ClearFlags,
8437
            /* [annotation] */
8438
            __in  FLOAT Depth,
8439
            /* [annotation] */
8440
            __in  UINT8 Stencil);
8441
 
8442
        void ( STDMETHODCALLTYPE *GenerateMips )(
8443
            ID3D11DeviceContext * This,
8444
            /* [annotation] */
8445
            __in  ID3D11ShaderResourceView *pShaderResourceView);
8446
 
8447
        void ( STDMETHODCALLTYPE *SetResourceMinLOD )(
8448
            ID3D11DeviceContext * This,
8449
            /* [annotation] */
8450
            __in  ID3D11Resource *pResource,
8451
            FLOAT MinLOD);
8452
 
8453
        FLOAT ( STDMETHODCALLTYPE *GetResourceMinLOD )(
8454
            ID3D11DeviceContext * This,
8455
            /* [annotation] */
8456
            __in  ID3D11Resource *pResource);
8457
 
8458
        void ( STDMETHODCALLTYPE *ResolveSubresource )(
8459
            ID3D11DeviceContext * This,
8460
            /* [annotation] */
8461
            __in  ID3D11Resource *pDstResource,
8462
            /* [annotation] */
8463
            __in  UINT DstSubresource,
8464
            /* [annotation] */
8465
            __in  ID3D11Resource *pSrcResource,
8466
            /* [annotation] */
8467
            __in  UINT SrcSubresource,
8468
            /* [annotation] */
8469
            __in  DXGI_FORMAT Format);
8470
 
8471
        void ( STDMETHODCALLTYPE *ExecuteCommandList )(
8472
            ID3D11DeviceContext * This,
8473
            /* [annotation] */
8474
            __in  ID3D11CommandList *pCommandList,
8475
            BOOL RestoreContextState);
8476
 
8477
        void ( STDMETHODCALLTYPE *HSSetShaderResources )(
8478
            ID3D11DeviceContext * This,
8479
            /* [annotation] */
8480
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8481
            /* [annotation] */
8482
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8483
            /* [annotation] */
8484
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8485
 
8486
        void ( STDMETHODCALLTYPE *HSSetShader )(
8487
            ID3D11DeviceContext * This,
8488
            /* [annotation] */
8489
            __in_opt  ID3D11HullShader *pHullShader,
8490
            /* [annotation] */
8491
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8492
            UINT NumClassInstances);
8493
 
8494
        void ( STDMETHODCALLTYPE *HSSetSamplers )(
8495
            ID3D11DeviceContext * This,
8496
            /* [annotation] */
8497
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8498
            /* [annotation] */
8499
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8500
            /* [annotation] */
8501
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8502
 
8503
        void ( STDMETHODCALLTYPE *HSSetConstantBuffers )(
8504
            ID3D11DeviceContext * This,
8505
            /* [annotation] */
8506
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8507
            /* [annotation] */
8508
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8509
            /* [annotation] */
8510
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8511
 
8512
        void ( STDMETHODCALLTYPE *DSSetShaderResources )(
8513
            ID3D11DeviceContext * This,
8514
            /* [annotation] */
8515
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8516
            /* [annotation] */
8517
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8518
            /* [annotation] */
8519
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8520
 
8521
        void ( STDMETHODCALLTYPE *DSSetShader )(
8522
            ID3D11DeviceContext * This,
8523
            /* [annotation] */
8524
            __in_opt  ID3D11DomainShader *pDomainShader,
8525
            /* [annotation] */
8526
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8527
            UINT NumClassInstances);
8528
 
8529
        void ( STDMETHODCALLTYPE *DSSetSamplers )(
8530
            ID3D11DeviceContext * This,
8531
            /* [annotation] */
8532
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8533
            /* [annotation] */
8534
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8535
            /* [annotation] */
8536
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8537
 
8538
        void ( STDMETHODCALLTYPE *DSSetConstantBuffers )(
8539
            ID3D11DeviceContext * This,
8540
            /* [annotation] */
8541
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8542
            /* [annotation] */
8543
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8544
            /* [annotation] */
8545
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8546
 
8547
        void ( STDMETHODCALLTYPE *CSSetShaderResources )(
8548
            ID3D11DeviceContext * This,
8549
            /* [annotation] */
8550
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8551
            /* [annotation] */
8552
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8553
            /* [annotation] */
8554
            __in_ecount(NumViews)  ID3D11ShaderResourceView *const *ppShaderResourceViews);
8555
 
8556
        void ( STDMETHODCALLTYPE *CSSetUnorderedAccessViews )(
8557
            ID3D11DeviceContext * This,
8558
            /* [annotation] */
8559
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT StartSlot,
8560
            /* [annotation] */
8561
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot )  UINT NumUAVs,
8562
            /* [annotation] */
8563
            __in_ecount(NumUAVs)  ID3D11UnorderedAccessView *const *ppUnorderedAccessViews,
8564
            /* [annotation] */
8565
            __in_ecount(NumUAVs)  const UINT *pUAVInitialCounts);
8566
 
8567
        void ( STDMETHODCALLTYPE *CSSetShader )(
8568
            ID3D11DeviceContext * This,
8569
            /* [annotation] */
8570
            __in_opt  ID3D11ComputeShader *pComputeShader,
8571
            /* [annotation] */
8572
            __in_ecount_opt(NumClassInstances)  ID3D11ClassInstance *const *ppClassInstances,
8573
            UINT NumClassInstances);
8574
 
8575
        void ( STDMETHODCALLTYPE *CSSetSamplers )(
8576
            ID3D11DeviceContext * This,
8577
            /* [annotation] */
8578
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8579
            /* [annotation] */
8580
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8581
            /* [annotation] */
8582
            __in_ecount(NumSamplers)  ID3D11SamplerState *const *ppSamplers);
8583
 
8584
        void ( STDMETHODCALLTYPE *CSSetConstantBuffers )(
8585
            ID3D11DeviceContext * This,
8586
            /* [annotation] */
8587
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8588
            /* [annotation] */
8589
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8590
            /* [annotation] */
8591
            __in_ecount(NumBuffers)  ID3D11Buffer *const *ppConstantBuffers);
8592
 
8593
        void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
8594
            ID3D11DeviceContext * This,
8595
            /* [annotation] */
8596
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8597
            /* [annotation] */
8598
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8599
            /* [annotation] */
8600
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8601
 
8602
        void ( STDMETHODCALLTYPE *PSGetShaderResources )(
8603
            ID3D11DeviceContext * This,
8604
            /* [annotation] */
8605
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8606
            /* [annotation] */
8607
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8608
            /* [annotation] */
8609
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8610
 
8611
        void ( STDMETHODCALLTYPE *PSGetShader )(
8612
            ID3D11DeviceContext * This,
8613
            /* [annotation] */
8614
            __out  ID3D11PixelShader **ppPixelShader,
8615
            /* [annotation] */
8616
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8617
            /* [annotation] */
8618
            __inout_opt  UINT *pNumClassInstances);
8619
 
8620
        void ( STDMETHODCALLTYPE *PSGetSamplers )(
8621
            ID3D11DeviceContext * This,
8622
            /* [annotation] */
8623
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8624
            /* [annotation] */
8625
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8626
            /* [annotation] */
8627
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8628
 
8629
        void ( STDMETHODCALLTYPE *VSGetShader )(
8630
            ID3D11DeviceContext * This,
8631
            /* [annotation] */
8632
            __out  ID3D11VertexShader **ppVertexShader,
8633
            /* [annotation] */
8634
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8635
            /* [annotation] */
8636
            __inout_opt  UINT *pNumClassInstances);
8637
 
8638
        void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
8639
            ID3D11DeviceContext * This,
8640
            /* [annotation] */
8641
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8642
            /* [annotation] */
8643
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8644
            /* [annotation] */
8645
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8646
 
8647
        void ( STDMETHODCALLTYPE *IAGetInputLayout )(
8648
            ID3D11DeviceContext * This,
8649
            /* [annotation] */
8650
            __out  ID3D11InputLayout **ppInputLayout);
8651
 
8652
        void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
8653
            ID3D11DeviceContext * This,
8654
            /* [annotation] */
8655
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8656
            /* [annotation] */
8657
            __in_range( 0, D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8658
            /* [annotation] */
8659
            __out_ecount_opt(NumBuffers)  ID3D11Buffer **ppVertexBuffers,
8660
            /* [annotation] */
8661
            __out_ecount_opt(NumBuffers)  UINT *pStrides,
8662
            /* [annotation] */
8663
            __out_ecount_opt(NumBuffers)  UINT *pOffsets);
8664
 
8665
        void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
8666
            ID3D11DeviceContext * This,
8667
            /* [annotation] */
8668
            __out_opt  ID3D11Buffer **pIndexBuffer,
8669
            /* [annotation] */
8670
            __out_opt  DXGI_FORMAT *Format,
8671
            /* [annotation] */
8672
            __out_opt  UINT *Offset);
8673
 
8674
        void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
8675
            ID3D11DeviceContext * This,
8676
            /* [annotation] */
8677
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8678
            /* [annotation] */
8679
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8680
            /* [annotation] */
8681
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8682
 
8683
        void ( STDMETHODCALLTYPE *GSGetShader )(
8684
            ID3D11DeviceContext * This,
8685
            /* [annotation] */
8686
            __out  ID3D11GeometryShader **ppGeometryShader,
8687
            /* [annotation] */
8688
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8689
            /* [annotation] */
8690
            __inout_opt  UINT *pNumClassInstances);
8691
 
8692
        void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
8693
            ID3D11DeviceContext * This,
8694
            /* [annotation] */
8695
            __out  D3D11_PRIMITIVE_TOPOLOGY *pTopology);
8696
 
8697
        void ( STDMETHODCALLTYPE *VSGetShaderResources )(
8698
            ID3D11DeviceContext * This,
8699
            /* [annotation] */
8700
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8701
            /* [annotation] */
8702
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8703
            /* [annotation] */
8704
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8705
 
8706
        void ( STDMETHODCALLTYPE *VSGetSamplers )(
8707
            ID3D11DeviceContext * This,
8708
            /* [annotation] */
8709
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8710
            /* [annotation] */
8711
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8712
            /* [annotation] */
8713
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8714
 
8715
        void ( STDMETHODCALLTYPE *GetPredication )(
8716
            ID3D11DeviceContext * This,
8717
            /* [annotation] */
8718
            __out_opt  ID3D11Predicate **ppPredicate,
8719
            /* [annotation] */
8720
            __out_opt  BOOL *pPredicateValue);
8721
 
8722
        void ( STDMETHODCALLTYPE *GSGetShaderResources )(
8723
            ID3D11DeviceContext * This,
8724
            /* [annotation] */
8725
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8726
            /* [annotation] */
8727
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8728
            /* [annotation] */
8729
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8730
 
8731
        void ( STDMETHODCALLTYPE *GSGetSamplers )(
8732
            ID3D11DeviceContext * This,
8733
            /* [annotation] */
8734
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8735
            /* [annotation] */
8736
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8737
            /* [annotation] */
8738
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8739
 
8740
        void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
8741
            ID3D11DeviceContext * This,
8742
            /* [annotation] */
8743
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumViews,
8744
            /* [annotation] */
8745
            __out_ecount_opt(NumViews)  ID3D11RenderTargetView **ppRenderTargetViews,
8746
            /* [annotation] */
8747
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView);
8748
 
8749
        void ( STDMETHODCALLTYPE *OMGetRenderTargetsAndUnorderedAccessViews )(
8750
            ID3D11DeviceContext * This,
8751
            /* [annotation] */
8752
            __in_range( 0, D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT )  UINT NumRTVs,
8753
            /* [annotation] */
8754
            __out_ecount_opt(NumRTVs)  ID3D11RenderTargetView **ppRenderTargetViews,
8755
            /* [annotation] */
8756
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView,
8757
            /* [annotation] */
8758
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT UAVStartSlot,
8759
            /* [annotation] */
8760
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - UAVStartSlot )  UINT NumUAVs,
8761
            /* [annotation] */
8762
            __out_ecount_opt(NumUAVs)  ID3D11UnorderedAccessView **ppUnorderedAccessViews);
8763
 
8764
        void ( STDMETHODCALLTYPE *OMGetBlendState )(
8765
            ID3D11DeviceContext * This,
8766
            /* [annotation] */
8767
            __out_opt  ID3D11BlendState **ppBlendState,
8768
            /* [annotation] */
8769
            __out_opt  FLOAT BlendFactor[ 4 ],
8770
            /* [annotation] */
8771
            __out_opt  UINT *pSampleMask);
8772
 
8773
        void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
8774
            ID3D11DeviceContext * This,
8775
            /* [annotation] */
8776
            __out_opt  ID3D11DepthStencilState **ppDepthStencilState,
8777
            /* [annotation] */
8778
            __out_opt  UINT *pStencilRef);
8779
 
8780
        void ( STDMETHODCALLTYPE *SOGetTargets )(
8781
            ID3D11DeviceContext * This,
8782
            /* [annotation] */
8783
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT )  UINT NumBuffers,
8784
            /* [annotation] */
8785
            __out_ecount(NumBuffers)  ID3D11Buffer **ppSOTargets);
8786
 
8787
        void ( STDMETHODCALLTYPE *RSGetState )(
8788
            ID3D11DeviceContext * This,
8789
            /* [annotation] */
8790
            __out  ID3D11RasterizerState **ppRasterizerState);
8791
 
8792
        void ( STDMETHODCALLTYPE *RSGetViewports )(
8793
            ID3D11DeviceContext * This,
8794
            /* [annotation] */
8795
            __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *pNumViewports,
8796
            /* [annotation] */
8797
            __out_ecount_opt(*pNumViewports)  D3D11_VIEWPORT *pViewports);
8798
 
8799
        void ( STDMETHODCALLTYPE *RSGetScissorRects )(
8800
            ID3D11DeviceContext * This,
8801
            /* [annotation] */
8802
            __inout /*_range(0, D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/   UINT *pNumRects,
8803
            /* [annotation] */
8804
            __out_ecount_opt(*pNumRects)  D3D11_RECT *pRects);
8805
 
8806
        void ( STDMETHODCALLTYPE *HSGetShaderResources )(
8807
            ID3D11DeviceContext * This,
8808
            /* [annotation] */
8809
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8810
            /* [annotation] */
8811
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8812
            /* [annotation] */
8813
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8814
 
8815
        void ( STDMETHODCALLTYPE *HSGetShader )(
8816
            ID3D11DeviceContext * This,
8817
            /* [annotation] */
8818
            __out  ID3D11HullShader **ppHullShader,
8819
            /* [annotation] */
8820
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8821
            /* [annotation] */
8822
            __inout_opt  UINT *pNumClassInstances);
8823
 
8824
        void ( STDMETHODCALLTYPE *HSGetSamplers )(
8825
            ID3D11DeviceContext * This,
8826
            /* [annotation] */
8827
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8828
            /* [annotation] */
8829
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8830
            /* [annotation] */
8831
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8832
 
8833
        void ( STDMETHODCALLTYPE *HSGetConstantBuffers )(
8834
            ID3D11DeviceContext * This,
8835
            /* [annotation] */
8836
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8837
            /* [annotation] */
8838
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8839
            /* [annotation] */
8840
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8841
 
8842
        void ( STDMETHODCALLTYPE *DSGetShaderResources )(
8843
            ID3D11DeviceContext * This,
8844
            /* [annotation] */
8845
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8846
            /* [annotation] */
8847
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8848
            /* [annotation] */
8849
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8850
 
8851
        void ( STDMETHODCALLTYPE *DSGetShader )(
8852
            ID3D11DeviceContext * This,
8853
            /* [annotation] */
8854
            __out  ID3D11DomainShader **ppDomainShader,
8855
            /* [annotation] */
8856
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8857
            /* [annotation] */
8858
            __inout_opt  UINT *pNumClassInstances);
8859
 
8860
        void ( STDMETHODCALLTYPE *DSGetSamplers )(
8861
            ID3D11DeviceContext * This,
8862
            /* [annotation] */
8863
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8864
            /* [annotation] */
8865
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8866
            /* [annotation] */
8867
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8868
 
8869
        void ( STDMETHODCALLTYPE *DSGetConstantBuffers )(
8870
            ID3D11DeviceContext * This,
8871
            /* [annotation] */
8872
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8873
            /* [annotation] */
8874
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8875
            /* [annotation] */
8876
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8877
 
8878
        void ( STDMETHODCALLTYPE *CSGetShaderResources )(
8879
            ID3D11DeviceContext * This,
8880
            /* [annotation] */
8881
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 )  UINT StartSlot,
8882
            /* [annotation] */
8883
            __in_range( 0, D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot )  UINT NumViews,
8884
            /* [annotation] */
8885
            __out_ecount(NumViews)  ID3D11ShaderResourceView **ppShaderResourceViews);
8886
 
8887
        void ( STDMETHODCALLTYPE *CSGetUnorderedAccessViews )(
8888
            ID3D11DeviceContext * This,
8889
            /* [annotation] */
8890
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - 1 )  UINT StartSlot,
8891
            /* [annotation] */
8892
            __in_range( 0, D3D11_PS_CS_UAV_REGISTER_COUNT - StartSlot )  UINT NumUAVs,
8893
            /* [annotation] */
8894
            __out_ecount(NumUAVs)  ID3D11UnorderedAccessView **ppUnorderedAccessViews);
8895
 
8896
        void ( STDMETHODCALLTYPE *CSGetShader )(
8897
            ID3D11DeviceContext * This,
8898
            /* [annotation] */
8899
            __out  ID3D11ComputeShader **ppComputeShader,
8900
            /* [annotation] */
8901
            __out_ecount_opt(*pNumClassInstances)  ID3D11ClassInstance **ppClassInstances,
8902
            /* [annotation] */
8903
            __inout_opt  UINT *pNumClassInstances);
8904
 
8905
        void ( STDMETHODCALLTYPE *CSGetSamplers )(
8906
            ID3D11DeviceContext * This,
8907
            /* [annotation] */
8908
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 )  UINT StartSlot,
8909
            /* [annotation] */
8910
            __in_range( 0, D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot )  UINT NumSamplers,
8911
            /* [annotation] */
8912
            __out_ecount(NumSamplers)  ID3D11SamplerState **ppSamplers);
8913
 
8914
        void ( STDMETHODCALLTYPE *CSGetConstantBuffers )(
8915
            ID3D11DeviceContext * This,
8916
            /* [annotation] */
8917
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )  UINT StartSlot,
8918
            /* [annotation] */
8919
            __in_range( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )  UINT NumBuffers,
8920
            /* [annotation] */
8921
            __out_ecount(NumBuffers)  ID3D11Buffer **ppConstantBuffers);
8922
 
8923
        void ( STDMETHODCALLTYPE *ClearState )(
8924
            ID3D11DeviceContext * This);
8925
 
8926
        void ( STDMETHODCALLTYPE *Flush )(
8927
            ID3D11DeviceContext * This);
8928
 
8929
        D3D11_DEVICE_CONTEXT_TYPE ( STDMETHODCALLTYPE *GetType )(
8930
            ID3D11DeviceContext * This);
8931
 
8932
        UINT ( STDMETHODCALLTYPE *GetContextFlags )(
8933
            ID3D11DeviceContext * This);
8934
 
8935
        HRESULT ( STDMETHODCALLTYPE *FinishCommandList )(
8936
            ID3D11DeviceContext * This,
8937
            BOOL RestoreDeferredContextState,
8938
            /* [annotation] */
8939
            __out_opt  ID3D11CommandList **ppCommandList);
8940
 
8941
        END_INTERFACE
8942
    } ID3D11DeviceContextVtbl;
8943
 
8944
    interface ID3D11DeviceContext
8945
    {
8946
        CONST_VTBL struct ID3D11DeviceContextVtbl *lpVtbl;
8947
    };
8948
 
8949
 
8950
 
8951
#ifdef COBJMACROS
8952
 
8953
 
8954
#define ID3D11DeviceContext_QueryInterface(This,riid,ppvObject) \
8955
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
8956
 
8957
#define ID3D11DeviceContext_AddRef(This)        \
8958
    ( (This)->lpVtbl -> AddRef(This) ) 
8959
 
8960
#define ID3D11DeviceContext_Release(This)       \
8961
    ( (This)->lpVtbl -> Release(This) ) 
8962
 
8963
 
8964
#define ID3D11DeviceContext_GetDevice(This,ppDevice)    \
8965
    ( (This)->lpVtbl -> GetDevice(This,ppDevice) ) 
8966
 
8967
#define ID3D11DeviceContext_GetPrivateData(This,guid,pDataSize,pData)   \
8968
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
8969
 
8970
#define ID3D11DeviceContext_SetPrivateData(This,guid,DataSize,pData)    \
8971
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
8972
 
8973
#define ID3D11DeviceContext_SetPrivateDataInterface(This,guid,pData)    \
8974
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
8975
 
8976
 
8977
#define ID3D11DeviceContext_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
8978
    ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
8979
 
8980
#define ID3D11DeviceContext_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
8981
    ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
8982
 
8983
#define ID3D11DeviceContext_PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances)   \
8984
    ( (This)->lpVtbl -> PSSetShader(This,pPixelShader,ppClassInstances,NumClassInstances) ) 
8985
 
8986
#define ID3D11DeviceContext_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
8987
    ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
8988
 
8989
#define ID3D11DeviceContext_VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances)  \
8990
    ( (This)->lpVtbl -> VSSetShader(This,pVertexShader,ppClassInstances,NumClassInstances) ) 
8991
 
8992
#define ID3D11DeviceContext_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation)  \
8993
    ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) ) 
8994
 
8995
#define ID3D11DeviceContext_Draw(This,VertexCount,StartVertexLocation)  \
8996
    ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) ) 
8997
 
8998
#define ID3D11DeviceContext_Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource)    \
8999
    ( (This)->lpVtbl -> Map(This,pResource,Subresource,MapType,MapFlags,pMappedResource) ) 
9000
 
9001
#define ID3D11DeviceContext_Unmap(This,pResource,Subresource)   \
9002
    ( (This)->lpVtbl -> Unmap(This,pResource,Subresource) ) 
9003
 
9004
#define ID3D11DeviceContext_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9005
    ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9006
 
9007
#define ID3D11DeviceContext_IASetInputLayout(This,pInputLayout) \
9008
    ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) ) 
9009
 
9010
#define ID3D11DeviceContext_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)     \
9011
    ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) ) 
9012
 
9013
#define ID3D11DeviceContext_IASetIndexBuffer(This,pIndexBuffer,Format,Offset)   \
9014
    ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) ) 
9015
 
9016
#define ID3D11DeviceContext_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation)  \
9017
    ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) ) 
9018
 
9019
#define ID3D11DeviceContext_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation)  \
9020
    ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) ) 
9021
 
9022
#define ID3D11DeviceContext_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9023
    ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9024
 
9025
#define ID3D11DeviceContext_GSSetShader(This,pShader,ppClassInstances,NumClassInstances)        \
9026
    ( (This)->lpVtbl -> GSSetShader(This,pShader,ppClassInstances,NumClassInstances) ) 
9027
 
9028
#define ID3D11DeviceContext_IASetPrimitiveTopology(This,Topology)       \
9029
    ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) ) 
9030
 
9031
#define ID3D11DeviceContext_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9032
    ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9033
 
9034
#define ID3D11DeviceContext_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9035
    ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9036
 
9037
#define ID3D11DeviceContext_Begin(This,pAsync)  \
9038
    ( (This)->lpVtbl -> Begin(This,pAsync) ) 
9039
 
9040
#define ID3D11DeviceContext_End(This,pAsync)    \
9041
    ( (This)->lpVtbl -> End(This,pAsync) ) 
9042
 
9043
#define ID3D11DeviceContext_GetData(This,pAsync,pData,DataSize,GetDataFlags)    \
9044
    ( (This)->lpVtbl -> GetData(This,pAsync,pData,DataSize,GetDataFlags) ) 
9045
 
9046
#define ID3D11DeviceContext_SetPredication(This,pPredicate,PredicateValue)      \
9047
    ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) ) 
9048
 
9049
#define ID3D11DeviceContext_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9050
    ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9051
 
9052
#define ID3D11DeviceContext_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9053
    ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9054
 
9055
#define ID3D11DeviceContext_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView)     \
9056
    ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) ) 
9057
 
9058
#define ID3D11DeviceContext_OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) \
9059
    ( (This)->lpVtbl -> OMSetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,pDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) ) 
9060
 
9061
#define ID3D11DeviceContext_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask)    \
9062
    ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) ) 
9063
 
9064
#define ID3D11DeviceContext_OMSetDepthStencilState(This,pDepthStencilState,StencilRef)  \
9065
    ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) ) 
9066
 
9067
#define ID3D11DeviceContext_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets)  \
9068
    ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) ) 
9069
 
9070
#define ID3D11DeviceContext_DrawAuto(This)      \
9071
    ( (This)->lpVtbl -> DrawAuto(This) ) 
9072
 
9073
#define ID3D11DeviceContext_DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)  \
9074
    ( (This)->lpVtbl -> DrawIndexedInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) ) 
9075
 
9076
#define ID3D11DeviceContext_DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) \
9077
    ( (This)->lpVtbl -> DrawInstancedIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) ) 
9078
 
9079
#define ID3D11DeviceContext_Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ)        \
9080
    ( (This)->lpVtbl -> Dispatch(This,ThreadGroupCountX,ThreadGroupCountY,ThreadGroupCountZ) ) 
9081
 
9082
#define ID3D11DeviceContext_DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs)      \
9083
    ( (This)->lpVtbl -> DispatchIndirect(This,pBufferForArgs,AlignedByteOffsetForArgs) ) 
9084
 
9085
#define ID3D11DeviceContext_RSSetState(This,pRasterizerState)   \
9086
    ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) ) 
9087
 
9088
#define ID3D11DeviceContext_RSSetViewports(This,NumViewports,pViewports)        \
9089
    ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) ) 
9090
 
9091
#define ID3D11DeviceContext_RSSetScissorRects(This,NumRects,pRects)     \
9092
    ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) ) 
9093
 
9094
#define ID3D11DeviceContext_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox)  \
9095
    ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) ) 
9096
 
9097
#define ID3D11DeviceContext_CopyResource(This,pDstResource,pSrcResource)        \
9098
    ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) ) 
9099
 
9100
#define ID3D11DeviceContext_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch)      \
9101
    ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) ) 
9102
 
9103
#define ID3D11DeviceContext_CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView)   \
9104
    ( (This)->lpVtbl -> CopyStructureCount(This,pDstBuffer,DstAlignedByteOffset,pSrcView) ) 
9105
 
9106
#define ID3D11DeviceContext_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA)     \
9107
    ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) ) 
9108
 
9109
#define ID3D11DeviceContext_ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values)      \
9110
    ( (This)->lpVtbl -> ClearUnorderedAccessViewUint(This,pUnorderedAccessView,Values) ) 
9111
 
9112
#define ID3D11DeviceContext_ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values)     \
9113
    ( (This)->lpVtbl -> ClearUnorderedAccessViewFloat(This,pUnorderedAccessView,Values) ) 
9114
 
9115
#define ID3D11DeviceContext_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil)      \
9116
    ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) ) 
9117
 
9118
#define ID3D11DeviceContext_GenerateMips(This,pShaderResourceView)      \
9119
    ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) ) 
9120
 
9121
#define ID3D11DeviceContext_SetResourceMinLOD(This,pResource,MinLOD)    \
9122
    ( (This)->lpVtbl -> SetResourceMinLOD(This,pResource,MinLOD) ) 
9123
 
9124
#define ID3D11DeviceContext_GetResourceMinLOD(This,pResource)   \
9125
    ( (This)->lpVtbl -> GetResourceMinLOD(This,pResource) ) 
9126
 
9127
#define ID3D11DeviceContext_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format)     \
9128
    ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) ) 
9129
 
9130
#define ID3D11DeviceContext_ExecuteCommandList(This,pCommandList,RestoreContextState)   \
9131
    ( (This)->lpVtbl -> ExecuteCommandList(This,pCommandList,RestoreContextState) ) 
9132
 
9133
#define ID3D11DeviceContext_HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9134
    ( (This)->lpVtbl -> HSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9135
 
9136
#define ID3D11DeviceContext_HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances)    \
9137
    ( (This)->lpVtbl -> HSSetShader(This,pHullShader,ppClassInstances,NumClassInstances) ) 
9138
 
9139
#define ID3D11DeviceContext_HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9140
    ( (This)->lpVtbl -> HSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9141
 
9142
#define ID3D11DeviceContext_HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9143
    ( (This)->lpVtbl -> HSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9144
 
9145
#define ID3D11DeviceContext_DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9146
    ( (This)->lpVtbl -> DSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9147
 
9148
#define ID3D11DeviceContext_DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances)  \
9149
    ( (This)->lpVtbl -> DSSetShader(This,pDomainShader,ppClassInstances,NumClassInstances) ) 
9150
 
9151
#define ID3D11DeviceContext_DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9152
    ( (This)->lpVtbl -> DSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9153
 
9154
#define ID3D11DeviceContext_DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9155
    ( (This)->lpVtbl -> DSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9156
 
9157
#define ID3D11DeviceContext_CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9158
    ( (This)->lpVtbl -> CSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9159
 
9160
#define ID3D11DeviceContext_CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts)  \
9161
    ( (This)->lpVtbl -> CSSetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews,pUAVInitialCounts) ) 
9162
 
9163
#define ID3D11DeviceContext_CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) \
9164
    ( (This)->lpVtbl -> CSSetShader(This,pComputeShader,ppClassInstances,NumClassInstances) ) 
9165
 
9166
#define ID3D11DeviceContext_CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9167
    ( (This)->lpVtbl -> CSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9168
 
9169
#define ID3D11DeviceContext_CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9170
    ( (This)->lpVtbl -> CSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9171
 
9172
#define ID3D11DeviceContext_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9173
    ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9174
 
9175
#define ID3D11DeviceContext_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9176
    ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9177
 
9178
#define ID3D11DeviceContext_PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) \
9179
    ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader,ppClassInstances,pNumClassInstances) ) 
9180
 
9181
#define ID3D11DeviceContext_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9182
    ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9183
 
9184
#define ID3D11DeviceContext_VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances)        \
9185
    ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader,ppClassInstances,pNumClassInstances) ) 
9186
 
9187
#define ID3D11DeviceContext_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9188
    ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9189
 
9190
#define ID3D11DeviceContext_IAGetInputLayout(This,ppInputLayout)        \
9191
    ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) ) 
9192
 
9193
#define ID3D11DeviceContext_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets)     \
9194
    ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) ) 
9195
 
9196
#define ID3D11DeviceContext_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset)   \
9197
    ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) ) 
9198
 
9199
#define ID3D11DeviceContext_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9200
    ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9201
 
9202
#define ID3D11DeviceContext_GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances)      \
9203
    ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader,ppClassInstances,pNumClassInstances) ) 
9204
 
9205
#define ID3D11DeviceContext_IAGetPrimitiveTopology(This,pTopology)      \
9206
    ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) ) 
9207
 
9208
#define ID3D11DeviceContext_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9209
    ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9210
 
9211
#define ID3D11DeviceContext_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9212
    ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9213
 
9214
#define ID3D11DeviceContext_GetPredication(This,ppPredicate,pPredicateValue)    \
9215
    ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) ) 
9216
 
9217
#define ID3D11DeviceContext_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9218
    ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9219
 
9220
#define ID3D11DeviceContext_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9221
    ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9222
 
9223
#define ID3D11DeviceContext_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView)    \
9224
    ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) ) 
9225
 
9226
#define ID3D11DeviceContext_OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews)  \
9227
    ( (This)->lpVtbl -> OMGetRenderTargetsAndUnorderedAccessViews(This,NumRTVs,ppRenderTargetViews,ppDepthStencilView,UAVStartSlot,NumUAVs,ppUnorderedAccessViews) ) 
9228
 
9229
#define ID3D11DeviceContext_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask)  \
9230
    ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) ) 
9231
 
9232
#define ID3D11DeviceContext_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef)        \
9233
    ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) ) 
9234
 
9235
#define ID3D11DeviceContext_SOGetTargets(This,NumBuffers,ppSOTargets)   \
9236
    ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets) ) 
9237
 
9238
#define ID3D11DeviceContext_RSGetState(This,ppRasterizerState)  \
9239
    ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) ) 
9240
 
9241
#define ID3D11DeviceContext_RSGetViewports(This,pNumViewports,pViewports)       \
9242
    ( (This)->lpVtbl -> RSGetViewports(This,pNumViewports,pViewports) ) 
9243
 
9244
#define ID3D11DeviceContext_RSGetScissorRects(This,pNumRects,pRects)    \
9245
    ( (This)->lpVtbl -> RSGetScissorRects(This,pNumRects,pRects) ) 
9246
 
9247
#define ID3D11DeviceContext_HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9248
    ( (This)->lpVtbl -> HSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9249
 
9250
#define ID3D11DeviceContext_HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances)  \
9251
    ( (This)->lpVtbl -> HSGetShader(This,ppHullShader,ppClassInstances,pNumClassInstances) ) 
9252
 
9253
#define ID3D11DeviceContext_HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9254
    ( (This)->lpVtbl -> HSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9255
 
9256
#define ID3D11DeviceContext_HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9257
    ( (This)->lpVtbl -> HSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9258
 
9259
#define ID3D11DeviceContext_DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9260
    ( (This)->lpVtbl -> DSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9261
 
9262
#define ID3D11DeviceContext_DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances)        \
9263
    ( (This)->lpVtbl -> DSGetShader(This,ppDomainShader,ppClassInstances,pNumClassInstances) ) 
9264
 
9265
#define ID3D11DeviceContext_DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9266
    ( (This)->lpVtbl -> DSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9267
 
9268
#define ID3D11DeviceContext_DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9269
    ( (This)->lpVtbl -> DSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9270
 
9271
#define ID3D11DeviceContext_CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
9272
    ( (This)->lpVtbl -> CSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) ) 
9273
 
9274
#define ID3D11DeviceContext_CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews)    \
9275
    ( (This)->lpVtbl -> CSGetUnorderedAccessViews(This,StartSlot,NumUAVs,ppUnorderedAccessViews) ) 
9276
 
9277
#define ID3D11DeviceContext_CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances)       \
9278
    ( (This)->lpVtbl -> CSGetShader(This,ppComputeShader,ppClassInstances,pNumClassInstances) ) 
9279
 
9280
#define ID3D11DeviceContext_CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers)        \
9281
    ( (This)->lpVtbl -> CSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) ) 
9282
 
9283
#define ID3D11DeviceContext_CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers)   \
9284
    ( (This)->lpVtbl -> CSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) ) 
9285
 
9286
#define ID3D11DeviceContext_ClearState(This)    \
9287
    ( (This)->lpVtbl -> ClearState(This) ) 
9288
 
9289
#define ID3D11DeviceContext_Flush(This) \
9290
    ( (This)->lpVtbl -> Flush(This) ) 
9291
 
9292
#define ID3D11DeviceContext_GetType(This)       \
9293
    ( (This)->lpVtbl -> GetType(This) ) 
9294
 
9295
#define ID3D11DeviceContext_GetContextFlags(This)       \
9296
    ( (This)->lpVtbl -> GetContextFlags(This) ) 
9297
 
9298
#define ID3D11DeviceContext_FinishCommandList(This,RestoreDeferredContextState,ppCommandList)   \
9299
    ( (This)->lpVtbl -> FinishCommandList(This,RestoreDeferredContextState,ppCommandList) ) 
9300
 
9301
#endif /* COBJMACROS */
9302
 
9303
 
9304
#endif  /* C style interface */
9305
 
9306
 
9307
 
9308
 
9309
#endif  /* __ID3D11DeviceContext_INTERFACE_DEFINED__ */
9310
 
9311
 
9312
#ifndef __ID3D11Device_INTERFACE_DEFINED__
9313
#define __ID3D11Device_INTERFACE_DEFINED__
9314
 
9315
/* interface ID3D11Device */
9316
/* [unique][local][object][uuid] */
9317
 
9318
 
9319
EXTERN_C const IID IID_ID3D11Device;
9320
 
9321
#if defined(__cplusplus) && !defined(CINTERFACE)
9322
 
9323
    MIDL_INTERFACE("db6f6ddb-ac77-4e88-8253-819df9bbf140")
9324
    ID3D11Device : public IUnknown
9325
    {
9326
    public:
9327
        virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
9328
            /* [annotation] */
9329
            __in  const D3D11_BUFFER_DESC *pDesc,
9330
            /* [annotation] */
9331
            __in_opt  const D3D11_SUBRESOURCE_DATA *pInitialData,
9332
            /* [annotation] */
9333
            __out_opt  ID3D11Buffer **ppBuffer) = 0;
9334
 
9335
        virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
9336
            /* [annotation] */
9337
            __in  const D3D11_TEXTURE1D_DESC *pDesc,
9338
            /* [annotation] */
9339
            __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9340
            /* [annotation] */
9341
            __out_opt  ID3D11Texture1D **ppTexture1D) = 0;
9342
 
9343
        virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
9344
            /* [annotation] */
9345
            __in  const D3D11_TEXTURE2D_DESC *pDesc,
9346
            /* [annotation] */
9347
            __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9348
            /* [annotation] */
9349
            __out_opt  ID3D11Texture2D **ppTexture2D) = 0;
9350
 
9351
        virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
9352
            /* [annotation] */
9353
            __in  const D3D11_TEXTURE3D_DESC *pDesc,
9354
            /* [annotation] */
9355
            __in_xcount_opt(pDesc->MipLevels)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9356
            /* [annotation] */
9357
            __out_opt  ID3D11Texture3D **ppTexture3D) = 0;
9358
 
9359
        virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
9360
            /* [annotation] */
9361
            __in  ID3D11Resource *pResource,
9362
            /* [annotation] */
9363
            __in_opt  const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
9364
            /* [annotation] */
9365
            __out_opt  ID3D11ShaderResourceView **ppSRView) = 0;
9366
 
9367
        virtual HRESULT STDMETHODCALLTYPE CreateUnorderedAccessView(
9368
            /* [annotation] */
9369
            __in  ID3D11Resource *pResource,
9370
            /* [annotation] */
9371
            __in_opt  const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9372
            /* [annotation] */
9373
            __out_opt  ID3D11UnorderedAccessView **ppUAView) = 0;
9374
 
9375
        virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
9376
            /* [annotation] */
9377
            __in  ID3D11Resource *pResource,
9378
            /* [annotation] */
9379
            __in_opt  const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
9380
            /* [annotation] */
9381
            __out_opt  ID3D11RenderTargetView **ppRTView) = 0;
9382
 
9383
        virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
9384
            /* [annotation] */
9385
            __in  ID3D11Resource *pResource,
9386
            /* [annotation] */
9387
            __in_opt  const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
9388
            /* [annotation] */
9389
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView) = 0;
9390
 
9391
        virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
9392
            /* [annotation] */
9393
            __in_ecount(NumElements)  const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
9394
            /* [annotation] */
9395
            __in_range( 0, D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT )  UINT NumElements,
9396
            /* [annotation] */
9397
            __in  const void *pShaderBytecodeWithInputSignature,
9398
            /* [annotation] */
9399
            __in  SIZE_T BytecodeLength,
9400
            /* [annotation] */
9401
            __out_opt  ID3D11InputLayout **ppInputLayout) = 0;
9402
 
9403
        virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
9404
            /* [annotation] */
9405
            __in  const void *pShaderBytecode,
9406
            /* [annotation] */
9407
            __in  SIZE_T BytecodeLength,
9408
            /* [annotation] */
9409
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9410
            /* [annotation] */
9411
            __out_opt  ID3D11VertexShader **ppVertexShader) = 0;
9412
 
9413
        virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
9414
            /* [annotation] */
9415
            __in  const void *pShaderBytecode,
9416
            /* [annotation] */
9417
            __in  SIZE_T BytecodeLength,
9418
            /* [annotation] */
9419
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9420
            /* [annotation] */
9421
            __out_opt  ID3D11GeometryShader **ppGeometryShader) = 0;
9422
 
9423
        virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
9424
            /* [annotation] */
9425
            __in  const void *pShaderBytecode,
9426
            /* [annotation] */
9427
            __in  SIZE_T BytecodeLength,
9428
            /* [annotation] */
9429
            __in_ecount_opt(NumEntries)  const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
9430
            /* [annotation] */
9431
            __in_range( 0, D3D11_SO_STREAM_COUNT * D3D11_SO_OUTPUT_COMPONENT_COUNT )  UINT NumEntries,
9432
            /* [annotation] */
9433
            __in_ecount_opt(NumStrides)  const UINT *pBufferStrides,
9434
            /* [annotation] */
9435
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT )  UINT NumStrides,
9436
            /* [annotation] */
9437
            __in  UINT RasterizedStream,
9438
            /* [annotation] */
9439
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9440
            /* [annotation] */
9441
            __out_opt  ID3D11GeometryShader **ppGeometryShader) = 0;
9442
 
9443
        virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
9444
            /* [annotation] */
9445
            __in  const void *pShaderBytecode,
9446
            /* [annotation] */
9447
            __in  SIZE_T BytecodeLength,
9448
            /* [annotation] */
9449
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9450
            /* [annotation] */
9451
            __out_opt  ID3D11PixelShader **ppPixelShader) = 0;
9452
 
9453
        virtual HRESULT STDMETHODCALLTYPE CreateHullShader(
9454
            /* [annotation] */
9455
            __in  const void *pShaderBytecode,
9456
            /* [annotation] */
9457
            __in  SIZE_T BytecodeLength,
9458
            /* [annotation] */
9459
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9460
            /* [annotation] */
9461
            __out_opt  ID3D11HullShader **ppHullShader) = 0;
9462
 
9463
        virtual HRESULT STDMETHODCALLTYPE CreateDomainShader(
9464
            /* [annotation] */
9465
            __in  const void *pShaderBytecode,
9466
            /* [annotation] */
9467
            __in  SIZE_T BytecodeLength,
9468
            /* [annotation] */
9469
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9470
            /* [annotation] */
9471
            __out_opt  ID3D11DomainShader **ppDomainShader) = 0;
9472
 
9473
        virtual HRESULT STDMETHODCALLTYPE CreateComputeShader(
9474
            /* [annotation] */
9475
            __in  const void *pShaderBytecode,
9476
            /* [annotation] */
9477
            __in  SIZE_T BytecodeLength,
9478
            /* [annotation] */
9479
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9480
            /* [annotation] */
9481
            __out_opt  ID3D11ComputeShader **ppComputeShader) = 0;
9482
 
9483
        virtual HRESULT STDMETHODCALLTYPE CreateClassLinkage(
9484
            /* [annotation] */
9485
            __out  ID3D11ClassLinkage **ppLinkage) = 0;
9486
 
9487
        virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
9488
            /* [annotation] */
9489
            __in  const D3D11_BLEND_DESC *pBlendStateDesc,
9490
            /* [annotation] */
9491
            __out_opt  ID3D11BlendState **ppBlendState) = 0;
9492
 
9493
        virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
9494
            /* [annotation] */
9495
            __in  const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
9496
            /* [annotation] */
9497
            __out_opt  ID3D11DepthStencilState **ppDepthStencilState) = 0;
9498
 
9499
        virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
9500
            /* [annotation] */
9501
            __in  const D3D11_RASTERIZER_DESC *pRasterizerDesc,
9502
            /* [annotation] */
9503
            __out_opt  ID3D11RasterizerState **ppRasterizerState) = 0;
9504
 
9505
        virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
9506
            /* [annotation] */
9507
            __in  const D3D11_SAMPLER_DESC *pSamplerDesc,
9508
            /* [annotation] */
9509
            __out_opt  ID3D11SamplerState **ppSamplerState) = 0;
9510
 
9511
        virtual HRESULT STDMETHODCALLTYPE CreateQuery(
9512
            /* [annotation] */
9513
            __in  const D3D11_QUERY_DESC *pQueryDesc,
9514
            /* [annotation] */
9515
            __out_opt  ID3D11Query **ppQuery) = 0;
9516
 
9517
        virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
9518
            /* [annotation] */
9519
            __in  const D3D11_QUERY_DESC *pPredicateDesc,
9520
            /* [annotation] */
9521
            __out_opt  ID3D11Predicate **ppPredicate) = 0;
9522
 
9523
        virtual HRESULT STDMETHODCALLTYPE CreateCounter(
9524
            /* [annotation] */
9525
            __in  const D3D11_COUNTER_DESC *pCounterDesc,
9526
            /* [annotation] */
9527
            __out_opt  ID3D11Counter **ppCounter) = 0;
9528
 
9529
        virtual HRESULT STDMETHODCALLTYPE CreateDeferredContext(
9530
            UINT ContextFlags,
9531
            /* [annotation] */
9532
            __out_opt  ID3D11DeviceContext **ppDeferredContext) = 0;
9533
 
9534
        virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
9535
            /* [annotation] */
9536
            __in  HANDLE hResource,
9537
            /* [annotation] */
9538
            __in  REFIID ReturnedInterface,
9539
            /* [annotation] */
9540
            __out_opt  void **ppResource) = 0;
9541
 
9542
        virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
9543
            /* [annotation] */
9544
            __in  DXGI_FORMAT Format,
9545
            /* [annotation] */
9546
            __out  UINT *pFormatSupport) = 0;
9547
 
9548
        virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
9549
            /* [annotation] */
9550
            __in  DXGI_FORMAT Format,
9551
            /* [annotation] */
9552
            __in  UINT SampleCount,
9553
            /* [annotation] */
9554
            __out  UINT *pNumQualityLevels) = 0;
9555
 
9556
        virtual void STDMETHODCALLTYPE CheckCounterInfo(
9557
            /* [annotation] */
9558
            __out  D3D11_COUNTER_INFO *pCounterInfo) = 0;
9559
 
9560
        virtual HRESULT STDMETHODCALLTYPE CheckCounter(
9561
            /* [annotation] */
9562
            __in  const D3D11_COUNTER_DESC *pDesc,
9563
            /* [annotation] */
9564
            __out  D3D11_COUNTER_TYPE *pType,
9565
            /* [annotation] */
9566
            __out  UINT *pActiveCounters,
9567
            /* [annotation] */
9568
            __out_ecount_opt(*pNameLength)  LPSTR szName,
9569
            /* [annotation] */
9570
            __inout_opt  UINT *pNameLength,
9571
            /* [annotation] */
9572
            __out_ecount_opt(*pUnitsLength)  LPSTR szUnits,
9573
            /* [annotation] */
9574
            __inout_opt  UINT *pUnitsLength,
9575
            /* [annotation] */
9576
            __out_ecount_opt(*pDescriptionLength)  LPSTR szDescription,
9577
            /* [annotation] */
9578
            __inout_opt  UINT *pDescriptionLength) = 0;
9579
 
9580
        virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
9581
            D3D11_FEATURE Feature,
9582
            /* [annotation] */
9583
            __out_bcount(FeatureSupportDataSize)  void *pFeatureSupportData,
9584
            UINT FeatureSupportDataSize) = 0;
9585
 
9586
        virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
9587
            /* [annotation] */
9588
            __in  REFGUID guid,
9589
            /* [annotation] */
9590
            __inout  UINT *pDataSize,
9591
            /* [annotation] */
9592
            __out_bcount_opt(*pDataSize)  void *pData) = 0;
9593
 
9594
        virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
9595
            /* [annotation] */
9596
            __in  REFGUID guid,
9597
            /* [annotation] */
9598
            __in  UINT DataSize,
9599
            /* [annotation] */
9600
            __in_bcount_opt(DataSize)  const void *pData) = 0;
9601
 
9602
        virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
9603
            /* [annotation] */
9604
            __in  REFGUID guid,
9605
            /* [annotation] */
9606
            __in_opt  const IUnknown *pData) = 0;
9607
 
9608
        virtual D3D_FEATURE_LEVEL STDMETHODCALLTYPE GetFeatureLevel( void) = 0;
9609
 
9610
        virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
9611
 
9612
        virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
9613
 
9614
        virtual void STDMETHODCALLTYPE GetImmediateContext(
9615
            /* [annotation] */
9616
            __out  ID3D11DeviceContext **ppImmediateContext) = 0;
9617
 
9618
        virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
9619
            UINT RaiseFlags) = 0;
9620
 
9621
        virtual UINT STDMETHODCALLTYPE GetExceptionMode( void) = 0;
9622
 
9623
    };
9624
 
9625
#else   /* C style interface */
9626
 
9627
    typedef struct ID3D11DeviceVtbl
9628
    {
9629
        BEGIN_INTERFACE
9630
 
9631
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
9632
            ID3D11Device * This,
9633
            /* [in] */ REFIID riid,
9634
            /* [annotation][iid_is][out] */
9635
            __RPC__deref_out  void **ppvObject);
9636
 
9637
        ULONG ( STDMETHODCALLTYPE *AddRef )(
9638
            ID3D11Device * This);
9639
 
9640
        ULONG ( STDMETHODCALLTYPE *Release )(
9641
            ID3D11Device * This);
9642
 
9643
        HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
9644
            ID3D11Device * This,
9645
            /* [annotation] */
9646
            __in  const D3D11_BUFFER_DESC *pDesc,
9647
            /* [annotation] */
9648
            __in_opt  const D3D11_SUBRESOURCE_DATA *pInitialData,
9649
            /* [annotation] */
9650
            __out_opt  ID3D11Buffer **ppBuffer);
9651
 
9652
        HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
9653
            ID3D11Device * This,
9654
            /* [annotation] */
9655
            __in  const D3D11_TEXTURE1D_DESC *pDesc,
9656
            /* [annotation] */
9657
            __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9658
            /* [annotation] */
9659
            __out_opt  ID3D11Texture1D **ppTexture1D);
9660
 
9661
        HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
9662
            ID3D11Device * This,
9663
            /* [annotation] */
9664
            __in  const D3D11_TEXTURE2D_DESC *pDesc,
9665
            /* [annotation] */
9666
            __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9667
            /* [annotation] */
9668
            __out_opt  ID3D11Texture2D **ppTexture2D);
9669
 
9670
        HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
9671
            ID3D11Device * This,
9672
            /* [annotation] */
9673
            __in  const D3D11_TEXTURE3D_DESC *pDesc,
9674
            /* [annotation] */
9675
            __in_xcount_opt(pDesc->MipLevels)  const D3D11_SUBRESOURCE_DATA *pInitialData,
9676
            /* [annotation] */
9677
            __out_opt  ID3D11Texture3D **ppTexture3D);
9678
 
9679
        HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
9680
            ID3D11Device * This,
9681
            /* [annotation] */
9682
            __in  ID3D11Resource *pResource,
9683
            /* [annotation] */
9684
            __in_opt  const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc,
9685
            /* [annotation] */
9686
            __out_opt  ID3D11ShaderResourceView **ppSRView);
9687
 
9688
        HRESULT ( STDMETHODCALLTYPE *CreateUnorderedAccessView )(
9689
            ID3D11Device * This,
9690
            /* [annotation] */
9691
            __in  ID3D11Resource *pResource,
9692
            /* [annotation] */
9693
            __in_opt  const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc,
9694
            /* [annotation] */
9695
            __out_opt  ID3D11UnorderedAccessView **ppUAView);
9696
 
9697
        HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
9698
            ID3D11Device * This,
9699
            /* [annotation] */
9700
            __in  ID3D11Resource *pResource,
9701
            /* [annotation] */
9702
            __in_opt  const D3D11_RENDER_TARGET_VIEW_DESC *pDesc,
9703
            /* [annotation] */
9704
            __out_opt  ID3D11RenderTargetView **ppRTView);
9705
 
9706
        HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
9707
            ID3D11Device * This,
9708
            /* [annotation] */
9709
            __in  ID3D11Resource *pResource,
9710
            /* [annotation] */
9711
            __in_opt  const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc,
9712
            /* [annotation] */
9713
            __out_opt  ID3D11DepthStencilView **ppDepthStencilView);
9714
 
9715
        HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
9716
            ID3D11Device * This,
9717
            /* [annotation] */
9718
            __in_ecount(NumElements)  const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
9719
            /* [annotation] */
9720
            __in_range( 0, D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT )  UINT NumElements,
9721
            /* [annotation] */
9722
            __in  const void *pShaderBytecodeWithInputSignature,
9723
            /* [annotation] */
9724
            __in  SIZE_T BytecodeLength,
9725
            /* [annotation] */
9726
            __out_opt  ID3D11InputLayout **ppInputLayout);
9727
 
9728
        HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
9729
            ID3D11Device * This,
9730
            /* [annotation] */
9731
            __in  const void *pShaderBytecode,
9732
            /* [annotation] */
9733
            __in  SIZE_T BytecodeLength,
9734
            /* [annotation] */
9735
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9736
            /* [annotation] */
9737
            __out_opt  ID3D11VertexShader **ppVertexShader);
9738
 
9739
        HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
9740
            ID3D11Device * This,
9741
            /* [annotation] */
9742
            __in  const void *pShaderBytecode,
9743
            /* [annotation] */
9744
            __in  SIZE_T BytecodeLength,
9745
            /* [annotation] */
9746
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9747
            /* [annotation] */
9748
            __out_opt  ID3D11GeometryShader **ppGeometryShader);
9749
 
9750
        HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
9751
            ID3D11Device * This,
9752
            /* [annotation] */
9753
            __in  const void *pShaderBytecode,
9754
            /* [annotation] */
9755
            __in  SIZE_T BytecodeLength,
9756
            /* [annotation] */
9757
            __in_ecount_opt(NumEntries)  const D3D11_SO_DECLARATION_ENTRY *pSODeclaration,
9758
            /* [annotation] */
9759
            __in_range( 0, D3D11_SO_STREAM_COUNT * D3D11_SO_OUTPUT_COMPONENT_COUNT )  UINT NumEntries,
9760
            /* [annotation] */
9761
            __in_ecount_opt(NumStrides)  const UINT *pBufferStrides,
9762
            /* [annotation] */
9763
            __in_range( 0, D3D11_SO_BUFFER_SLOT_COUNT )  UINT NumStrides,
9764
            /* [annotation] */
9765
            __in  UINT RasterizedStream,
9766
            /* [annotation] */
9767
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9768
            /* [annotation] */
9769
            __out_opt  ID3D11GeometryShader **ppGeometryShader);
9770
 
9771
        HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
9772
            ID3D11Device * This,
9773
            /* [annotation] */
9774
            __in  const void *pShaderBytecode,
9775
            /* [annotation] */
9776
            __in  SIZE_T BytecodeLength,
9777
            /* [annotation] */
9778
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9779
            /* [annotation] */
9780
            __out_opt  ID3D11PixelShader **ppPixelShader);
9781
 
9782
        HRESULT ( STDMETHODCALLTYPE *CreateHullShader )(
9783
            ID3D11Device * This,
9784
            /* [annotation] */
9785
            __in  const void *pShaderBytecode,
9786
            /* [annotation] */
9787
            __in  SIZE_T BytecodeLength,
9788
            /* [annotation] */
9789
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9790
            /* [annotation] */
9791
            __out_opt  ID3D11HullShader **ppHullShader);
9792
 
9793
        HRESULT ( STDMETHODCALLTYPE *CreateDomainShader )(
9794
            ID3D11Device * This,
9795
            /* [annotation] */
9796
            __in  const void *pShaderBytecode,
9797
            /* [annotation] */
9798
            __in  SIZE_T BytecodeLength,
9799
            /* [annotation] */
9800
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9801
            /* [annotation] */
9802
            __out_opt  ID3D11DomainShader **ppDomainShader);
9803
 
9804
        HRESULT ( STDMETHODCALLTYPE *CreateComputeShader )(
9805
            ID3D11Device * This,
9806
            /* [annotation] */
9807
            __in  const void *pShaderBytecode,
9808
            /* [annotation] */
9809
            __in  SIZE_T BytecodeLength,
9810
            /* [annotation] */
9811
            __in_opt  ID3D11ClassLinkage *pClassLinkage,
9812
            /* [annotation] */
9813
            __out_opt  ID3D11ComputeShader **ppComputeShader);
9814
 
9815
        HRESULT ( STDMETHODCALLTYPE *CreateClassLinkage )(
9816
            ID3D11Device * This,
9817
            /* [annotation] */
9818
            __out  ID3D11ClassLinkage **ppLinkage);
9819
 
9820
        HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
9821
            ID3D11Device * This,
9822
            /* [annotation] */
9823
            __in  const D3D11_BLEND_DESC *pBlendStateDesc,
9824
            /* [annotation] */
9825
            __out_opt  ID3D11BlendState **ppBlendState);
9826
 
9827
        HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
9828
            ID3D11Device * This,
9829
            /* [annotation] */
9830
            __in  const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc,
9831
            /* [annotation] */
9832
            __out_opt  ID3D11DepthStencilState **ppDepthStencilState);
9833
 
9834
        HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
9835
            ID3D11Device * This,
9836
            /* [annotation] */
9837
            __in  const D3D11_RASTERIZER_DESC *pRasterizerDesc,
9838
            /* [annotation] */
9839
            __out_opt  ID3D11RasterizerState **ppRasterizerState);
9840
 
9841
        HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
9842
            ID3D11Device * This,
9843
            /* [annotation] */
9844
            __in  const D3D11_SAMPLER_DESC *pSamplerDesc,
9845
            /* [annotation] */
9846
            __out_opt  ID3D11SamplerState **ppSamplerState);
9847
 
9848
        HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
9849
            ID3D11Device * This,
9850
            /* [annotation] */
9851
            __in  const D3D11_QUERY_DESC *pQueryDesc,
9852
            /* [annotation] */
9853
            __out_opt  ID3D11Query **ppQuery);
9854
 
9855
        HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
9856
            ID3D11Device * This,
9857
            /* [annotation] */
9858
            __in  const D3D11_QUERY_DESC *pPredicateDesc,
9859
            /* [annotation] */
9860
            __out_opt  ID3D11Predicate **ppPredicate);
9861
 
9862
        HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
9863
            ID3D11Device * This,
9864
            /* [annotation] */
9865
            __in  const D3D11_COUNTER_DESC *pCounterDesc,
9866
            /* [annotation] */
9867
            __out_opt  ID3D11Counter **ppCounter);
9868
 
9869
        HRESULT ( STDMETHODCALLTYPE *CreateDeferredContext )(
9870
            ID3D11Device * This,
9871
            UINT ContextFlags,
9872
            /* [annotation] */
9873
            __out_opt  ID3D11DeviceContext **ppDeferredContext);
9874
 
9875
        HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
9876
            ID3D11Device * This,
9877
            /* [annotation] */
9878
            __in  HANDLE hResource,
9879
            /* [annotation] */
9880
            __in  REFIID ReturnedInterface,
9881
            /* [annotation] */
9882
            __out_opt  void **ppResource);
9883
 
9884
        HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
9885
            ID3D11Device * This,
9886
            /* [annotation] */
9887
            __in  DXGI_FORMAT Format,
9888
            /* [annotation] */
9889
            __out  UINT *pFormatSupport);
9890
 
9891
        HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
9892
            ID3D11Device * This,
9893
            /* [annotation] */
9894
            __in  DXGI_FORMAT Format,
9895
            /* [annotation] */
9896
            __in  UINT SampleCount,
9897
            /* [annotation] */
9898
            __out  UINT *pNumQualityLevels);
9899
 
9900
        void ( STDMETHODCALLTYPE *CheckCounterInfo )(
9901
            ID3D11Device * This,
9902
            /* [annotation] */
9903
            __out  D3D11_COUNTER_INFO *pCounterInfo);
9904
 
9905
        HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
9906
            ID3D11Device * This,
9907
            /* [annotation] */
9908
            __in  const D3D11_COUNTER_DESC *pDesc,
9909
            /* [annotation] */
9910
            __out  D3D11_COUNTER_TYPE *pType,
9911
            /* [annotation] */
9912
            __out  UINT *pActiveCounters,
9913
            /* [annotation] */
9914
            __out_ecount_opt(*pNameLength)  LPSTR szName,
9915
            /* [annotation] */
9916
            __inout_opt  UINT *pNameLength,
9917
            /* [annotation] */
9918
            __out_ecount_opt(*pUnitsLength)  LPSTR szUnits,
9919
            /* [annotation] */
9920
            __inout_opt  UINT *pUnitsLength,
9921
            /* [annotation] */
9922
            __out_ecount_opt(*pDescriptionLength)  LPSTR szDescription,
9923
            /* [annotation] */
9924
            __inout_opt  UINT *pDescriptionLength);
9925
 
9926
        HRESULT ( STDMETHODCALLTYPE *CheckFeatureSupport )(
9927
            ID3D11Device * This,
9928
            D3D11_FEATURE Feature,
9929
            /* [annotation] */
9930
            __out_bcount(FeatureSupportDataSize)  void *pFeatureSupportData,
9931
            UINT FeatureSupportDataSize);
9932
 
9933
        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
9934
            ID3D11Device * This,
9935
            /* [annotation] */
9936
            __in  REFGUID guid,
9937
            /* [annotation] */
9938
            __inout  UINT *pDataSize,
9939
            /* [annotation] */
9940
            __out_bcount_opt(*pDataSize)  void *pData);
9941
 
9942
        HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
9943
            ID3D11Device * This,
9944
            /* [annotation] */
9945
            __in  REFGUID guid,
9946
            /* [annotation] */
9947
            __in  UINT DataSize,
9948
            /* [annotation] */
9949
            __in_bcount_opt(DataSize)  const void *pData);
9950
 
9951
        HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
9952
            ID3D11Device * This,
9953
            /* [annotation] */
9954
            __in  REFGUID guid,
9955
            /* [annotation] */
9956
            __in_opt  const IUnknown *pData);
9957
 
9958
        D3D_FEATURE_LEVEL ( STDMETHODCALLTYPE *GetFeatureLevel )(
9959
            ID3D11Device * This);
9960
 
9961
        UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
9962
            ID3D11Device * This);
9963
 
9964
        HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
9965
            ID3D11Device * This);
9966
 
9967
        void ( STDMETHODCALLTYPE *GetImmediateContext )(
9968
            ID3D11Device * This,
9969
            /* [annotation] */
9970
            __out  ID3D11DeviceContext **ppImmediateContext);
9971
 
9972
        HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
9973
            ID3D11Device * This,
9974
            UINT RaiseFlags);
9975
 
9976
        UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
9977
            ID3D11Device * This);
9978
 
9979
        END_INTERFACE
9980
    } ID3D11DeviceVtbl;
9981
 
9982
    interface ID3D11Device
9983
    {
9984
        CONST_VTBL struct ID3D11DeviceVtbl *lpVtbl;
9985
    };
9986
 
9987
 
9988
 
9989
#ifdef COBJMACROS
9990
 
9991
 
9992
#define ID3D11Device_QueryInterface(This,riid,ppvObject)        \
9993
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
9994
 
9995
#define ID3D11Device_AddRef(This)       \
9996
    ( (This)->lpVtbl -> AddRef(This) ) 
9997
 
9998
#define ID3D11Device_Release(This)      \
9999
    ( (This)->lpVtbl -> Release(This) ) 
10000
 
10001
 
10002
#define ID3D11Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer)     \
10003
    ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) ) 
10004
 
10005
#define ID3D11Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D)       \
10006
    ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) ) 
10007
 
10008
#define ID3D11Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D)       \
10009
    ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) ) 
10010
 
10011
#define ID3D11Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D)       \
10012
    ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) ) 
10013
 
10014
#define ID3D11Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView)    \
10015
    ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) ) 
10016
 
10017
#define ID3D11Device_CreateUnorderedAccessView(This,pResource,pDesc,ppUAView)   \
10018
    ( (This)->lpVtbl -> CreateUnorderedAccessView(This,pResource,pDesc,ppUAView) ) 
10019
 
10020
#define ID3D11Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView)      \
10021
    ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) ) 
10022
 
10023
#define ID3D11Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView)    \
10024
    ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) ) 
10025
 
10026
#define ID3D11Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout)      \
10027
    ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) ) 
10028
 
10029
#define ID3D11Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader)       \
10030
    ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppVertexShader) ) 
10031
 
10032
#define ID3D11Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader)   \
10033
    ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppGeometryShader) ) 
10034
 
10035
#define ID3D11Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader)      \
10036
    ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,pBufferStrides,NumStrides,RasterizedStream,pClassLinkage,ppGeometryShader) ) 
10037
 
10038
#define ID3D11Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) \
10039
    ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppPixelShader) ) 
10040
 
10041
#define ID3D11Device_CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader)   \
10042
    ( (This)->lpVtbl -> CreateHullShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppHullShader) ) 
10043
 
10044
#define ID3D11Device_CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader)       \
10045
    ( (This)->lpVtbl -> CreateDomainShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppDomainShader) ) 
10046
 
10047
#define ID3D11Device_CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader)     \
10048
    ( (This)->lpVtbl -> CreateComputeShader(This,pShaderBytecode,BytecodeLength,pClassLinkage,ppComputeShader) ) 
10049
 
10050
#define ID3D11Device_CreateClassLinkage(This,ppLinkage) \
10051
    ( (This)->lpVtbl -> CreateClassLinkage(This,ppLinkage) ) 
10052
 
10053
#define ID3D11Device_CreateBlendState(This,pBlendStateDesc,ppBlendState)        \
10054
    ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) ) 
10055
 
10056
#define ID3D11Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState)        \
10057
    ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) ) 
10058
 
10059
#define ID3D11Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState)      \
10060
    ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) ) 
10061
 
10062
#define ID3D11Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState)       \
10063
    ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) ) 
10064
 
10065
#define ID3D11Device_CreateQuery(This,pQueryDesc,ppQuery)       \
10066
    ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) ) 
10067
 
10068
#define ID3D11Device_CreatePredicate(This,pPredicateDesc,ppPredicate)   \
10069
    ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) ) 
10070
 
10071
#define ID3D11Device_CreateCounter(This,pCounterDesc,ppCounter) \
10072
    ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) ) 
10073
 
10074
#define ID3D11Device_CreateDeferredContext(This,ContextFlags,ppDeferredContext) \
10075
    ( (This)->lpVtbl -> CreateDeferredContext(This,ContextFlags,ppDeferredContext) ) 
10076
 
10077
#define ID3D11Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource)    \
10078
    ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) ) 
10079
 
10080
#define ID3D11Device_CheckFormatSupport(This,Format,pFormatSupport)     \
10081
    ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) ) 
10082
 
10083
#define ID3D11Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels)   \
10084
    ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) ) 
10085
 
10086
#define ID3D11Device_CheckCounterInfo(This,pCounterInfo)        \
10087
    ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) ) 
10088
 
10089
#define ID3D11Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength)    \
10090
    ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) ) 
10091
 
10092
#define ID3D11Device_CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize)       \
10093
    ( (This)->lpVtbl -> CheckFeatureSupport(This,Feature,pFeatureSupportData,FeatureSupportDataSize) ) 
10094
 
10095
#define ID3D11Device_GetPrivateData(This,guid,pDataSize,pData)  \
10096
    ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) ) 
10097
 
10098
#define ID3D11Device_SetPrivateData(This,guid,DataSize,pData)   \
10099
    ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) ) 
10100
 
10101
#define ID3D11Device_SetPrivateDataInterface(This,guid,pData)   \
10102
    ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) ) 
10103
 
10104
#define ID3D11Device_GetFeatureLevel(This)      \
10105
    ( (This)->lpVtbl -> GetFeatureLevel(This) ) 
10106
 
10107
#define ID3D11Device_GetCreationFlags(This)     \
10108
    ( (This)->lpVtbl -> GetCreationFlags(This) ) 
10109
 
10110
#define ID3D11Device_GetDeviceRemovedReason(This)       \
10111
    ( (This)->lpVtbl -> GetDeviceRemovedReason(This) ) 
10112
 
10113
#define ID3D11Device_GetImmediateContext(This,ppImmediateContext)       \
10114
    ( (This)->lpVtbl -> GetImmediateContext(This,ppImmediateContext) ) 
10115
 
10116
#define ID3D11Device_SetExceptionMode(This,RaiseFlags)  \
10117
    ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) ) 
10118
 
10119
#define ID3D11Device_GetExceptionMode(This)     \
10120
    ( (This)->lpVtbl -> GetExceptionMode(This) ) 
10121
 
10122
#endif /* COBJMACROS */
10123
 
10124
 
10125
#endif  /* C style interface */
10126
 
10127
 
10128
 
10129
 
10130
#endif  /* __ID3D11Device_INTERFACE_DEFINED__ */
10131
 
10132
 
10133
/* interface __MIDL_itf_d3d11_0000_0031 */
10134
/* [local] */
10135
 
10136
typedef
10137
enum D3D11_CREATE_DEVICE_FLAG
10138
    {   D3D11_CREATE_DEVICE_SINGLETHREADED      = 0x1,
10139
        D3D11_CREATE_DEVICE_DEBUG       = 0x2,
10140
        D3D11_CREATE_DEVICE_SWITCH_TO_REF       = 0x4,
10141
        D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS    = 0x8,
10142
        D3D11_CREATE_DEVICE_BGRA_SUPPORT        = 0x20
10143
    }   D3D11_CREATE_DEVICE_FLAG;
10144
 
10145
#define D3D11_SDK_VERSION       ( 7 )
10146
 
10147
#include "d3d10_1.h"
10148
#if !defined( D3D11_IGNORE_SDK_LAYERS ) 
10149
#include "d3d11sdklayers.h" 
10150
#endif 
10151
#include "d3d10misc.h" 
10152
#include "d3d10shader.h" 
10153
#include "d3d10effect.h" 
10154
#include "d3d10_1shader.h" 
10155
 
10156
///////////////////////////////////////////////////////////////////////////
10157
// D3D11CreateDevice
10158
// ------------------
10159
//
10160
// pAdapter
10161
//      If NULL, D3D11CreateDevice will choose the primary adapter and
10162
//      create a new instance from a temporarily created IDXGIFactory.
10163
//      If non-NULL, D3D11CreateDevice will register the appropriate
10164
//      device, if necessary (via IDXGIAdapter::RegisterDrver), before
10165
//      creating the device.
10166
// DriverType
10167
//      Specifies the driver type to be created: hardware, reference or
10168
//      null.
10169
// Software
10170
//      HMODULE of a DLL implementing a software rasterizer. Must be NULL for
10171
//      non-Software driver types.
10172
// Flags
10173
//      Any of those documented for D3D11CreateDeviceAndSwapChain.
10174
// pFeatureLevels
10175
//      Any of those documented for D3D11CreateDeviceAndSwapChain.
10176
// FeatureLevels
10177
//      Size of feature levels array.
10178
// SDKVersion
10179
//      SDK version. Use the D3D11_SDK_VERSION macro.
10180
// ppDevice
10181
//      Pointer to returned interface. May be NULL.
10182
// pFeatureLevel
10183
//      Pointer to returned feature level. May be NULL.
10184
// ppImmediateContext
10185
//      Pointer to returned interface. May be NULL.
10186
//
10187
// Return Values
10188
//  Any of those documented for 
10189
//          CreateDXGIFactory1
10190
//          IDXGIFactory::EnumAdapters
10191
//          IDXGIAdapter::RegisterDriver
10192
//          D3D11CreateDevice
10193
//
10194
///////////////////////////////////////////////////////////////////////////
10195
typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)( __in_opt IDXGIAdapter*,
10196
    D3D_DRIVER_TYPE, HMODULE, UINT,
10197
    __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL*,
10198
    UINT FeatureLevels, UINT, __out_opt ID3D11Device**,
10199
    __out_opt D3D_FEATURE_LEVEL*, __out_opt ID3D11DeviceContext** );
10200
 
10201
HRESULT WINAPI D3D11CreateDevice(
10202
    __in_opt IDXGIAdapter* pAdapter,
10203
    D3D_DRIVER_TYPE DriverType,
10204
    HMODULE Software,
10205
    UINT Flags,
10206
    __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
10207
    UINT FeatureLevels,
10208
    UINT SDKVersion,
10209
    __out_opt ID3D11Device** ppDevice,
10210
    __out_opt D3D_FEATURE_LEVEL* pFeatureLevel,
10211
    __out_opt ID3D11DeviceContext** ppImmediateContext );
10212
 
10213
///////////////////////////////////////////////////////////////////////////
10214
// D3D11CreateDeviceAndSwapChain
10215
// ------------------------------
10216
//
10217
// ppAdapter
10218
//      If NULL, D3D11CreateDevice will choose the primary adapter and 
10219
//      create a new instance from a temporarily created IDXGIFactory.
10220
//      If non-NULL, D3D11CreateDevice will register the appropriate
10221
//      device, if necessary (via IDXGIAdapter::RegisterDrver), before
10222
//      creating the device.
10223
// DriverType
10224
//      Specifies the driver type to be created: hardware, reference or
10225
//      null.
10226
// Software
10227
//      HMODULE of a DLL implementing a software rasterizer. Must be NULL for
10228
//      non-Software driver types.
10229
// Flags
10230
//      Any of those documented for D3D11CreateDevice.
10231
// pFeatureLevels
10232
//      Array of any of the following:
10233
//          D3D_FEATURE_LEVEL_11_0
10234
//          D3D_FEATURE_LEVEL_10_1
10235
//          D3D_FEATURE_LEVEL_10_0
10236
//          D3D_FEATURE_LEVEL_9_3
10237
//          D3D_FEATURE_LEVEL_9_2
10238
//          D3D_FEATURE_LEVEL_9_1
10239
//      Order indicates sequence in which instantiation will be attempted. If
10240
//      NULL, then the implied order is the same as previously listed (i.e. 
10241
//      prefer most features available). 
10242
// FeatureLevels
10243
//      Size of feature levels array.
10244
// SDKVersion
10245
//      SDK version. Use the D3D11_SDK_VERSION macro.
10246
// pSwapChainDesc
10247
//      Swap chain description, may be NULL.
10248
// ppSwapChain
10249
//      Pointer to returned interface. May be NULL.
10250
// ppDevice
10251
//      Pointer to returned interface. May be NULL.
10252
// pFeatureLevel
10253
//      Pointer to returned feature level. May be NULL.
10254
// ppImmediateContext
10255
//      Pointer to returned interface. May be NULL.
10256
//
10257
// Return Values
10258
//  Any of those documented for 
10259
//          CreateDXGIFactory1
10260
//          IDXGIFactory::EnumAdapters
10261
//          IDXGIAdapter::RegisterDriver
10262
//          D3D11CreateDevice
10263
//          IDXGIFactory::CreateSwapChain
10264
//
10265
///////////////////////////////////////////////////////////////////////////
10266
typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)( __in_opt IDXGIAdapter*,
10267
    D3D_DRIVER_TYPE, HMODULE, UINT,
10268
    __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL*,
10269
    UINT FeatureLevels, UINT, __in_opt CONST DXGI_SWAP_CHAIN_DESC*,
10270
    __out_opt IDXGISwapChain**, __out_opt ID3D11Device**,
10271
    __out_opt D3D_FEATURE_LEVEL*, __out_opt ID3D11DeviceContext** );
10272
 
10273
HRESULT WINAPI D3D11CreateDeviceAndSwapChain(
10274
    __in_opt IDXGIAdapter* pAdapter,
10275
    D3D_DRIVER_TYPE DriverType,
10276
    HMODULE Software,
10277
    UINT Flags,
10278
    __in_ecount_opt( FeatureLevels ) CONST D3D_FEATURE_LEVEL* pFeatureLevels,
10279
    UINT FeatureLevels,
10280
    UINT SDKVersion,
10281
    __in_opt CONST DXGI_SWAP_CHAIN_DESC* pSwapChainDesc,
10282
    __out_opt IDXGISwapChain** ppSwapChain,
10283
    __out_opt ID3D11Device** ppDevice,
10284
    __out_opt D3D_FEATURE_LEVEL* pFeatureLevel,
10285
    __out_opt ID3D11DeviceContext** ppImmediateContext );
10286
 
10287
DEFINE_GUID(IID_ID3D11DeviceChild,0x1841e5c8,0x16b0,0x489b,0xbc,0xc8,0x44,0xcf,0xb0,0xd5,0xde,0xae);
10288
DEFINE_GUID(IID_ID3D11DepthStencilState,0x03823efb,0x8d8f,0x4e1c,0x9a,0xa2,0xf6,0x4b,0xb2,0xcb,0xfd,0xf1);
10289
DEFINE_GUID(IID_ID3D11BlendState,0x75b68faa,0x347d,0x4159,0x8f,0x45,0xa0,0x64,0x0f,0x01,0xcd,0x9a);
10290
DEFINE_GUID(IID_ID3D11RasterizerState,0x9bb4ab81,0xab1a,0x4d8f,0xb5,0x06,0xfc,0x04,0x20,0x0b,0x6e,0xe7);
10291
DEFINE_GUID(IID_ID3D11Resource,0xdc8e63f3,0xd12b,0x4952,0xb4,0x7b,0x5e,0x45,0x02,0x6a,0x86,0x2d);
10292
DEFINE_GUID(IID_ID3D11Buffer,0x48570b85,0xd1ee,0x4fcd,0xa2,0x50,0xeb,0x35,0x07,0x22,0xb0,0x37);
10293
DEFINE_GUID(IID_ID3D11Texture1D,0xf8fb5c27,0xc6b3,0x4f75,0xa4,0xc8,0x43,0x9a,0xf2,0xef,0x56,0x4c);
10294
DEFINE_GUID(IID_ID3D11Texture2D,0x6f15aaf2,0xd208,0x4e89,0x9a,0xb4,0x48,0x95,0x35,0xd3,0x4f,0x9c);
10295
DEFINE_GUID(IID_ID3D11Texture3D,0x037e866e,0xf56d,0x4357,0xa8,0xaf,0x9d,0xab,0xbe,0x6e,0x25,0x0e);
10296
DEFINE_GUID(IID_ID3D11View,0x839d1216,0xbb2e,0x412b,0xb7,0xf4,0xa9,0xdb,0xeb,0xe0,0x8e,0xd1);
10297
DEFINE_GUID(IID_ID3D11ShaderResourceView,0xb0e06fe0,0x8192,0x4e1a,0xb1,0xca,0x36,0xd7,0x41,0x47,0x10,0xb2);
10298
DEFINE_GUID(IID_ID3D11RenderTargetView,0xdfdba067,0x0b8d,0x4865,0x87,0x5b,0xd7,0xb4,0x51,0x6c,0xc1,0x64);
10299
DEFINE_GUID(IID_ID3D11DepthStencilView,0x9fdac92a,0x1876,0x48c3,0xaf,0xad,0x25,0xb9,0x4f,0x84,0xa9,0xb6);
10300
DEFINE_GUID(IID_ID3D11UnorderedAccessView,0x28acf509,0x7f5c,0x48f6,0x86,0x11,0xf3,0x16,0x01,0x0a,0x63,0x80);
10301
DEFINE_GUID(IID_ID3D11VertexShader,0x3b301d64,0xd678,0x4289,0x88,0x97,0x22,0xf8,0x92,0x8b,0x72,0xf3);
10302
DEFINE_GUID(IID_ID3D11HullShader,0x8e5c6061,0x628a,0x4c8e,0x82,0x64,0xbb,0xe4,0x5c,0xb3,0xd5,0xdd);
10303
DEFINE_GUID(IID_ID3D11DomainShader,0xf582c508,0x0f36,0x490c,0x99,0x77,0x31,0xee,0xce,0x26,0x8c,0xfa);
10304
DEFINE_GUID(IID_ID3D11GeometryShader,0x38325b96,0xeffb,0x4022,0xba,0x02,0x2e,0x79,0x5b,0x70,0x27,0x5c);
10305
DEFINE_GUID(IID_ID3D11PixelShader,0xea82e40d,0x51dc,0x4f33,0x93,0xd4,0xdb,0x7c,0x91,0x25,0xae,0x8c);
10306
DEFINE_GUID(IID_ID3D11ComputeShader,0x4f5b196e,0xc2bd,0x495e,0xbd,0x01,0x1f,0xde,0xd3,0x8e,0x49,0x69);
10307
DEFINE_GUID(IID_ID3D11InputLayout,0xe4819ddc,0x4cf0,0x4025,0xbd,0x26,0x5d,0xe8,0x2a,0x3e,0x07,0xb7);
10308
DEFINE_GUID(IID_ID3D11SamplerState,0xda6fea51,0x564c,0x4487,0x98,0x10,0xf0,0xd0,0xf9,0xb4,0xe3,0xa5);
10309
DEFINE_GUID(IID_ID3D11Asynchronous,0x4b35d0cd,0x1e15,0x4258,0x9c,0x98,0x1b,0x13,0x33,0xf6,0xdd,0x3b);
10310
DEFINE_GUID(IID_ID3D11Query,0xd6c00747,0x87b7,0x425e,0xb8,0x4d,0x44,0xd1,0x08,0x56,0x0a,0xfd);
10311
DEFINE_GUID(IID_ID3D11Predicate,0x9eb576dd,0x9f77,0x4d86,0x81,0xaa,0x8b,0xab,0x5f,0xe4,0x90,0xe2);
10312
DEFINE_GUID(IID_ID3D11Counter,0x6e8c49fb,0xa371,0x4770,0xb4,0x40,0x29,0x08,0x60,0x22,0xb7,0x41);
10313
DEFINE_GUID(IID_ID3D11ClassInstance,0xa6cd7faa,0xb0b7,0x4a2f,0x94,0x36,0x86,0x62,0xa6,0x57,0x97,0xcb);
10314
DEFINE_GUID(IID_ID3D11ClassLinkage,0xddf57cba,0x9543,0x46e4,0xa1,0x2b,0xf2,0x07,0xa0,0xfe,0x7f,0xed);
10315
DEFINE_GUID(IID_ID3D11CommandList,0xa24bc4d1,0x769e,0x43f7,0x80,0x13,0x98,0xff,0x56,0x6c,0x18,0xe2);
10316
DEFINE_GUID(IID_ID3D11DeviceContext,0xc0bfa96c,0xe089,0x44fb,0x8e,0xaf,0x26,0xf8,0x79,0x61,0x90,0xda);
10317
DEFINE_GUID(IID_ID3D11Device,0xdb6f6ddb,0xac77,0x4e88,0x82,0x53,0x81,0x9d,0xf9,0xbb,0xf1,0x40);
10318
 
10319
 
10320
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0031_v0_0_c_ifspec;
10321
extern RPC_IF_HANDLE __MIDL_itf_d3d11_0000_0031_v0_0_s_ifspec;
10322
 
10323
/* Additional Prototypes for ALL interfaces */
10324
 
10325
/* end of Additional Prototypes */
10326
 
10327
#ifdef __cplusplus
10328
}
10329
#endif
10330
 
10331
#endif
10332
 
10333