Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10330 lines
355 KiB

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