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.

6723 lines
220 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.0555 */
  8. /* @@MIDL_FILE_HEADING( ) */
  9. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  13. #endif
  14. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  16. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  17. #endif
  18. #include "rpc.h"
  19. #include "rpcndr.h"
  20. #ifndef __RPCNDR_H_VERSION__
  21. #error this stub requires an updated version of <rpcndr.h>
  22. #endif // __RPCNDR_H_VERSION__
  23. #ifndef COM_NO_WINDOWS_H
  24. #include "windows.h"
  25. #include "ole2.h"
  26. #endif /*COM_NO_WINDOWS_H*/
  27. #ifndef __d3d10_h__
  28. #define __d3d10_h__
  29. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  30. #pragma once
  31. #endif
  32. /* Forward Declarations */
  33. #ifndef __ID3D10DeviceChild_FWD_DEFINED__
  34. #define __ID3D10DeviceChild_FWD_DEFINED__
  35. typedef interface ID3D10DeviceChild ID3D10DeviceChild;
  36. #endif /* __ID3D10DeviceChild_FWD_DEFINED__ */
  37. #ifndef __ID3D10DepthStencilState_FWD_DEFINED__
  38. #define __ID3D10DepthStencilState_FWD_DEFINED__
  39. typedef interface ID3D10DepthStencilState ID3D10DepthStencilState;
  40. #endif /* __ID3D10DepthStencilState_FWD_DEFINED__ */
  41. #ifndef __ID3D10BlendState_FWD_DEFINED__
  42. #define __ID3D10BlendState_FWD_DEFINED__
  43. typedef interface ID3D10BlendState ID3D10BlendState;
  44. #endif /* __ID3D10BlendState_FWD_DEFINED__ */
  45. #ifndef __ID3D10RasterizerState_FWD_DEFINED__
  46. #define __ID3D10RasterizerState_FWD_DEFINED__
  47. typedef interface ID3D10RasterizerState ID3D10RasterizerState;
  48. #endif /* __ID3D10RasterizerState_FWD_DEFINED__ */
  49. #ifndef __ID3D10Resource_FWD_DEFINED__
  50. #define __ID3D10Resource_FWD_DEFINED__
  51. typedef interface ID3D10Resource ID3D10Resource;
  52. #endif /* __ID3D10Resource_FWD_DEFINED__ */
  53. #ifndef __ID3D10Buffer_FWD_DEFINED__
  54. #define __ID3D10Buffer_FWD_DEFINED__
  55. typedef interface ID3D10Buffer ID3D10Buffer;
  56. #endif /* __ID3D10Buffer_FWD_DEFINED__ */
  57. #ifndef __ID3D10Texture1D_FWD_DEFINED__
  58. #define __ID3D10Texture1D_FWD_DEFINED__
  59. typedef interface ID3D10Texture1D ID3D10Texture1D;
  60. #endif /* __ID3D10Texture1D_FWD_DEFINED__ */
  61. #ifndef __ID3D10Texture2D_FWD_DEFINED__
  62. #define __ID3D10Texture2D_FWD_DEFINED__
  63. typedef interface ID3D10Texture2D ID3D10Texture2D;
  64. #endif /* __ID3D10Texture2D_FWD_DEFINED__ */
  65. #ifndef __ID3D10Texture3D_FWD_DEFINED__
  66. #define __ID3D10Texture3D_FWD_DEFINED__
  67. typedef interface ID3D10Texture3D ID3D10Texture3D;
  68. #endif /* __ID3D10Texture3D_FWD_DEFINED__ */
  69. #ifndef __ID3D10View_FWD_DEFINED__
  70. #define __ID3D10View_FWD_DEFINED__
  71. typedef interface ID3D10View ID3D10View;
  72. #endif /* __ID3D10View_FWD_DEFINED__ */
  73. #ifndef __ID3D10ShaderResourceView_FWD_DEFINED__
  74. #define __ID3D10ShaderResourceView_FWD_DEFINED__
  75. typedef interface ID3D10ShaderResourceView ID3D10ShaderResourceView;
  76. #endif /* __ID3D10ShaderResourceView_FWD_DEFINED__ */
  77. #ifndef __ID3D10RenderTargetView_FWD_DEFINED__
  78. #define __ID3D10RenderTargetView_FWD_DEFINED__
  79. typedef interface ID3D10RenderTargetView ID3D10RenderTargetView;
  80. #endif /* __ID3D10RenderTargetView_FWD_DEFINED__ */
  81. #ifndef __ID3D10DepthStencilView_FWD_DEFINED__
  82. #define __ID3D10DepthStencilView_FWD_DEFINED__
  83. typedef interface ID3D10DepthStencilView ID3D10DepthStencilView;
  84. #endif /* __ID3D10DepthStencilView_FWD_DEFINED__ */
  85. #ifndef __ID3D10VertexShader_FWD_DEFINED__
  86. #define __ID3D10VertexShader_FWD_DEFINED__
  87. typedef interface ID3D10VertexShader ID3D10VertexShader;
  88. #endif /* __ID3D10VertexShader_FWD_DEFINED__ */
  89. #ifndef __ID3D10GeometryShader_FWD_DEFINED__
  90. #define __ID3D10GeometryShader_FWD_DEFINED__
  91. typedef interface ID3D10GeometryShader ID3D10GeometryShader;
  92. #endif /* __ID3D10GeometryShader_FWD_DEFINED__ */
  93. #ifndef __ID3D10PixelShader_FWD_DEFINED__
  94. #define __ID3D10PixelShader_FWD_DEFINED__
  95. typedef interface ID3D10PixelShader ID3D10PixelShader;
  96. #endif /* __ID3D10PixelShader_FWD_DEFINED__ */
  97. #ifndef __ID3D10InputLayout_FWD_DEFINED__
  98. #define __ID3D10InputLayout_FWD_DEFINED__
  99. typedef interface ID3D10InputLayout ID3D10InputLayout;
  100. #endif /* __ID3D10InputLayout_FWD_DEFINED__ */
  101. #ifndef __ID3D10SamplerState_FWD_DEFINED__
  102. #define __ID3D10SamplerState_FWD_DEFINED__
  103. typedef interface ID3D10SamplerState ID3D10SamplerState;
  104. #endif /* __ID3D10SamplerState_FWD_DEFINED__ */
  105. #ifndef __ID3D10Asynchronous_FWD_DEFINED__
  106. #define __ID3D10Asynchronous_FWD_DEFINED__
  107. typedef interface ID3D10Asynchronous ID3D10Asynchronous;
  108. #endif /* __ID3D10Asynchronous_FWD_DEFINED__ */
  109. #ifndef __ID3D10Query_FWD_DEFINED__
  110. #define __ID3D10Query_FWD_DEFINED__
  111. typedef interface ID3D10Query ID3D10Query;
  112. #endif /* __ID3D10Query_FWD_DEFINED__ */
  113. #ifndef __ID3D10Predicate_FWD_DEFINED__
  114. #define __ID3D10Predicate_FWD_DEFINED__
  115. typedef interface ID3D10Predicate ID3D10Predicate;
  116. #endif /* __ID3D10Predicate_FWD_DEFINED__ */
  117. #ifndef __ID3D10Counter_FWD_DEFINED__
  118. #define __ID3D10Counter_FWD_DEFINED__
  119. typedef interface ID3D10Counter ID3D10Counter;
  120. #endif /* __ID3D10Counter_FWD_DEFINED__ */
  121. #ifndef __ID3D10Device_FWD_DEFINED__
  122. #define __ID3D10Device_FWD_DEFINED__
  123. typedef interface ID3D10Device ID3D10Device;
  124. #endif /* __ID3D10Device_FWD_DEFINED__ */
  125. #ifndef __ID3D10Multithread_FWD_DEFINED__
  126. #define __ID3D10Multithread_FWD_DEFINED__
  127. typedef interface ID3D10Multithread ID3D10Multithread;
  128. #endif /* __ID3D10Multithread_FWD_DEFINED__ */
  129. /* header files for imported files */
  130. #include "oaidl.h"
  131. #include "ocidl.h"
  132. #include "dxgi.h"
  133. #include "d3dcommon.h"
  134. #ifdef __cplusplus
  135. extern "C"{
  136. #endif
  137. /* interface __MIDL_itf_d3d10_0000_0000 */
  138. /* [local] */
  139. #ifndef _D3D10_CONSTANTS
  140. #define _D3D10_CONSTANTS
  141. #define D3D10_16BIT_INDEX_STRIP_CUT_VALUE ( 0xffff )
  142. #define D3D10_32BIT_INDEX_STRIP_CUT_VALUE ( 0xffffffff )
  143. #define D3D10_8BIT_INDEX_STRIP_CUT_VALUE ( 0xff )
  144. #define D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT ( 9 )
  145. #define D3D10_CLIP_OR_CULL_DISTANCE_COUNT ( 8 )
  146. #define D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT ( 2 )
  147. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT ( 14 )
  148. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS ( 4 )
  149. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT ( 32 )
  150. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT ( 15 )
  151. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  152. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT ( 15 )
  153. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  154. #define D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  155. #define D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT ( 64 )
  156. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS ( 4 )
  157. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT ( 1 )
  158. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST ( 1 )
  159. #define D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS ( 1 )
  160. #define D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT ( 32 )
  161. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS ( 1 )
  162. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT ( 128 )
  163. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST ( 1 )
  164. #define D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS ( 1 )
  165. #define D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT ( 128 )
  166. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS ( 1 )
  167. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT ( 16 )
  168. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST ( 1 )
  169. #define D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS ( 1 )
  170. #define D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT ( 16 )
  171. #define D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT ( 32 )
  172. #define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS ( 4 )
  173. #define D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  174. #define D3D10_COMMONSHADER_TEMP_REGISTER_COUNT ( 4096 )
  175. #define D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST ( 3 )
  176. #define D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS ( 3 )
  177. #define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX ( 10 )
  178. #define D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN ( -10 )
  179. #define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE ( -8 )
  180. #define D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE ( 7 )
  181. #define D3D10_DEFAULT_BLEND_FACTOR_ALPHA ( 1.0f )
  182. #define D3D10_DEFAULT_BLEND_FACTOR_BLUE ( 1.0f )
  183. #define D3D10_DEFAULT_BLEND_FACTOR_GREEN ( 1.0f )
  184. #define D3D10_DEFAULT_BLEND_FACTOR_RED ( 1.0f )
  185. #define D3D10_DEFAULT_BORDER_COLOR_COMPONENT ( 0.0f )
  186. #define D3D10_DEFAULT_DEPTH_BIAS ( 0 )
  187. #define D3D10_DEFAULT_DEPTH_BIAS_CLAMP ( 0.0f )
  188. #define D3D10_DEFAULT_MAX_ANISOTROPY ( 16.0f )
  189. #define D3D10_DEFAULT_MIP_LOD_BIAS ( 0.0f )
  190. #define D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX ( 0 )
  191. #define D3D10_DEFAULT_SAMPLE_MASK ( 0xffffffff )
  192. #define D3D10_DEFAULT_SCISSOR_ENDX ( 0 )
  193. #define D3D10_DEFAULT_SCISSOR_ENDY ( 0 )
  194. #define D3D10_DEFAULT_SCISSOR_STARTX ( 0 )
  195. #define D3D10_DEFAULT_SCISSOR_STARTY ( 0 )
  196. #define D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS ( 0.0f )
  197. #define D3D10_DEFAULT_STENCIL_READ_MASK ( 0xff )
  198. #define D3D10_DEFAULT_STENCIL_REFERENCE ( 0 )
  199. #define D3D10_DEFAULT_STENCIL_WRITE_MASK ( 0xff )
  200. #define D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX ( 0 )
  201. #define D3D10_DEFAULT_VIEWPORT_HEIGHT ( 0 )
  202. #define D3D10_DEFAULT_VIEWPORT_MAX_DEPTH ( 0.0f )
  203. #define D3D10_DEFAULT_VIEWPORT_MIN_DEPTH ( 0.0f )
  204. #define D3D10_DEFAULT_VIEWPORT_TOPLEFTX ( 0 )
  205. #define D3D10_DEFAULT_VIEWPORT_TOPLEFTY ( 0 )
  206. #define D3D10_DEFAULT_VIEWPORT_WIDTH ( 0 )
  207. #define D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP ( 0.6 )
  208. #define D3D10_FLOAT32_MAX ( 3.402823466e+38f )
  209. #define D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP ( 0.6f )
  210. #define D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR ( 2.4f )
  211. #define D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR ( 1.0f )
  212. #define D3D10_FLOAT_TO_SRGB_OFFSET ( 0.055f )
  213. #define D3D10_FLOAT_TO_SRGB_SCALE_1 ( 12.92f )
  214. #define D3D10_FLOAT_TO_SRGB_SCALE_2 ( 1.055f )
  215. #define D3D10_FLOAT_TO_SRGB_THRESHOLD ( 0.0031308f )
  216. #define D3D10_FTOI_INSTRUCTION_MAX_INPUT ( 2147483647.999f )
  217. #define D3D10_FTOI_INSTRUCTION_MIN_INPUT ( -2147483648.999f )
  218. #define D3D10_FTOU_INSTRUCTION_MAX_INPUT ( 4294967295.999f )
  219. #define D3D10_FTOU_INSTRUCTION_MIN_INPUT ( 0.0f )
  220. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS ( 1 )
  221. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  222. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT ( 1 )
  223. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST ( 2 )
  224. #define D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS ( 1 )
  225. #define D3D10_GS_INPUT_REGISTER_COMPONENTS ( 4 )
  226. #define D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  227. #define D3D10_GS_INPUT_REGISTER_COUNT ( 16 )
  228. #define D3D10_GS_INPUT_REGISTER_READS_PER_INST ( 2 )
  229. #define D3D10_GS_INPUT_REGISTER_READ_PORTS ( 1 )
  230. #define D3D10_GS_INPUT_REGISTER_VERTICES ( 6 )
  231. #define D3D10_GS_OUTPUT_ELEMENTS ( 32 )
  232. #define D3D10_GS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  233. #define D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  234. #define D3D10_GS_OUTPUT_REGISTER_COUNT ( 32 )
  235. #define D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  236. #define D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY ( 0 )
  237. #define D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES ( 0 )
  238. #define D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT ( 1 )
  239. #define D3D10_IA_INSTANCE_ID_BIT_COUNT ( 32 )
  240. #define D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT ( 32 )
  241. #define D3D10_IA_PRIMITIVE_ID_BIT_COUNT ( 32 )
  242. #define D3D10_IA_VERTEX_ID_BIT_COUNT ( 32 )
  243. #define D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT ( 16 )
  244. #define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS ( 64 )
  245. #define D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ( 16 )
  246. #define D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT ( 0xffffffff )
  247. #define D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER ( 0xffffffff )
  248. #define D3D10_LINEAR_GAMMA ( 1.0f )
  249. #define D3D10_MAX_BORDER_COLOR_COMPONENT ( 1.0f )
  250. #define D3D10_MAX_DEPTH ( 1.0f )
  251. #define D3D10_MAX_MAXANISOTROPY ( 16 )
  252. #define D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT ( 32 )
  253. #define D3D10_MAX_POSITION_VALUE ( 3.402823466e+34f )
  254. #define D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP ( 17 )
  255. #define D3D10_MIN_BORDER_COLOR_COMPONENT ( 0.0f )
  256. #define D3D10_MIN_DEPTH ( 0.0f )
  257. #define D3D10_MIN_MAXANISOTROPY ( 0 )
  258. #define D3D10_MIP_LOD_BIAS_MAX ( 15.99f )
  259. #define D3D10_MIP_LOD_BIAS_MIN ( -16.0f )
  260. #define D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT ( 6 )
  261. #define D3D10_MIP_LOD_RANGE_BIT_COUNT ( 8 )
  262. #define D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH ( 1.4f )
  263. #define D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT ( 0 )
  264. #define D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 13 )
  265. #define D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT ( 15 )
  266. #define D3D10_PS_FRONTFACING_DEFAULT_VALUE ( 0xffffffff )
  267. #define D3D10_PS_FRONTFACING_FALSE_VALUE ( 0 )
  268. #define D3D10_PS_FRONTFACING_TRUE_VALUE ( 0xffffffff )
  269. #define D3D10_PS_INPUT_REGISTER_COMPONENTS ( 4 )
  270. #define D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  271. #define D3D10_PS_INPUT_REGISTER_COUNT ( 32 )
  272. #define D3D10_PS_INPUT_REGISTER_READS_PER_INST ( 2 )
  273. #define D3D10_PS_INPUT_REGISTER_READ_PORTS ( 1 )
  274. #define D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.0f )
  275. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS ( 1 )
  276. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  277. #define D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT ( 1 )
  278. #define D3D10_PS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  279. #define D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  280. #define D3D10_PS_OUTPUT_REGISTER_COUNT ( 8 )
  281. #define D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT ( 0.5f )
  282. #define D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  283. #define D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP ( 27 )
  284. #define D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  285. #define D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  286. #define D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 32 )
  287. #define D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP ( 32 )
  288. #define D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION ( 8192 )
  289. #define D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT ( 1024 )
  290. #define D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT ( 4096 )
  291. #define D3D10_REQ_MAXANISOTROPY ( 16 )
  292. #define D3D10_REQ_MIP_LEVELS ( 14 )
  293. #define D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES ( 2048 )
  294. #define D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  295. #define D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH ( 8192 )
  296. #define D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES ( 128 )
  297. #define D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP ( 20 )
  298. #define D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT ( 4096 )
  299. #define D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION ( 512 )
  300. #define D3D10_REQ_TEXTURE1D_U_DIMENSION ( 8192 )
  301. #define D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION ( 512 )
  302. #define D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION ( 8192 )
  303. #define D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION ( 2048 )
  304. #define D3D10_REQ_TEXTURECUBE_DIMENSION ( 8192 )
  305. #define D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL ( 0 )
  306. #define D3D10_SHADER_MAJOR_VERSION ( 4 )
  307. #define D3D10_SHADER_MINOR_VERSION ( 0 )
  308. #define D3D10_SHIFT_INSTRUCTION_PAD_VALUE ( 0 )
  309. #define D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT ( 5 )
  310. #define D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ( 8 )
  311. #define D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES ( 2048 )
  312. #define D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES ( 256 )
  313. #define D3D10_SO_BUFFER_SLOT_COUNT ( 4 )
  314. #define D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP ( 0xffffffff )
  315. #define D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER ( 1 )
  316. #define D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ( 64 )
  317. #define D3D10_SRGB_GAMMA ( 2.2f )
  318. #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 ( 12.92f )
  319. #define D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 ( 1.055f )
  320. #define D3D10_SRGB_TO_FLOAT_EXPONENT ( 2.4f )
  321. #define D3D10_SRGB_TO_FLOAT_OFFSET ( 0.055f )
  322. #define D3D10_SRGB_TO_FLOAT_THRESHOLD ( 0.04045f )
  323. #define D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP ( 0.5f )
  324. #define D3D10_STANDARD_COMPONENT_BIT_COUNT ( 32 )
  325. #define D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED ( 64 )
  326. #define D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE ( 4 )
  327. #define D3D10_STANDARD_PIXEL_COMPONENT_COUNT ( 128 )
  328. #define D3D10_STANDARD_PIXEL_ELEMENT_COUNT ( 32 )
  329. #define D3D10_STANDARD_VECTOR_SIZE ( 4 )
  330. #define D3D10_STANDARD_VERTEX_ELEMENT_COUNT ( 16 )
  331. #define D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT ( 64 )
  332. #define D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT ( 8 )
  333. #define D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT ( 6 )
  334. #define D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT ( 18 )
  335. #define D3D10_UNBOUND_MEMORY_ACCESS_RESULT ( 0 )
  336. #define D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX ( 15 )
  337. #define D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE ( 16 )
  338. #define D3D10_VIEWPORT_BOUNDS_MAX ( 16383 )
  339. #define D3D10_VIEWPORT_BOUNDS_MIN ( -16384 )
  340. #define D3D10_VS_INPUT_REGISTER_COMPONENTS ( 4 )
  341. #define D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  342. #define D3D10_VS_INPUT_REGISTER_COUNT ( 16 )
  343. #define D3D10_VS_INPUT_REGISTER_READS_PER_INST ( 2 )
  344. #define D3D10_VS_INPUT_REGISTER_READ_PORTS ( 1 )
  345. #define D3D10_VS_OUTPUT_REGISTER_COMPONENTS ( 4 )
  346. #define D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT ( 32 )
  347. #define D3D10_VS_OUTPUT_REGISTER_COUNT ( 16 )
  348. #define D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT ( 10 )
  349. #define D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP ( 25 )
  350. #define D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP ( 25 )
  351. #define D3D_MAJOR_VERSION ( 10 )
  352. #define D3D_MINOR_VERSION ( 0 )
  353. #define D3D_SPEC_DATE_DAY ( 8 )
  354. #define D3D_SPEC_DATE_MONTH ( 8 )
  355. #define D3D_SPEC_DATE_YEAR ( 2006 )
  356. #define D3D_SPEC_VERSION ( 1.050005 )
  357. #endif
  358. #if !defined( __d3d10_1_h__ ) && !(D3D10_HEADER_MINOR_VERSION >= 1)
  359. #define D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
  360. #define D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
  361. #endif
  362. #define _FACD3D10 ( 0x879 )
  363. #define _FACD3D10DEBUG ( ( _FACD3D10 + 1 ) )
  364. #define MAKE_D3D10_HRESULT( code ) MAKE_HRESULT( 1, _FACD3D10, code )
  365. #define MAKE_D3D10_STATUS( code ) MAKE_HRESULT( 0, _FACD3D10, code )
  366. #define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)
  367. #define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)
  368. #if __SAL_H_FULL_VER < 140050727
  369. #undef __in_range
  370. #undef __in_xcount_opt
  371. #define __in_range(x, y)
  372. #define __in_xcount_opt(x)
  373. #endif
  374. typedef
  375. enum D3D10_INPUT_CLASSIFICATION
  376. { D3D10_INPUT_PER_VERTEX_DATA = 0,
  377. D3D10_INPUT_PER_INSTANCE_DATA = 1
  378. } D3D10_INPUT_CLASSIFICATION;
  379. #define D3D10_APPEND_ALIGNED_ELEMENT ( 0xffffffff )
  380. typedef struct D3D10_INPUT_ELEMENT_DESC
  381. {
  382. LPCSTR SemanticName;
  383. UINT SemanticIndex;
  384. DXGI_FORMAT Format;
  385. UINT InputSlot;
  386. UINT AlignedByteOffset;
  387. D3D10_INPUT_CLASSIFICATION InputSlotClass;
  388. UINT InstanceDataStepRate;
  389. } D3D10_INPUT_ELEMENT_DESC;
  390. typedef
  391. enum D3D10_FILL_MODE
  392. { D3D10_FILL_WIREFRAME = 2,
  393. D3D10_FILL_SOLID = 3
  394. } D3D10_FILL_MODE;
  395. typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
  396. typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
  397. typedef
  398. enum D3D10_CULL_MODE
  399. { D3D10_CULL_NONE = 1,
  400. D3D10_CULL_FRONT = 2,
  401. D3D10_CULL_BACK = 3
  402. } D3D10_CULL_MODE;
  403. typedef struct D3D10_SO_DECLARATION_ENTRY
  404. {
  405. LPCSTR SemanticName;
  406. UINT SemanticIndex;
  407. BYTE StartComponent;
  408. BYTE ComponentCount;
  409. BYTE OutputSlot;
  410. } D3D10_SO_DECLARATION_ENTRY;
  411. typedef struct D3D10_VIEWPORT
  412. {
  413. INT TopLeftX;
  414. INT TopLeftY;
  415. UINT Width;
  416. UINT Height;
  417. FLOAT MinDepth;
  418. FLOAT MaxDepth;
  419. } D3D10_VIEWPORT;
  420. typedef
  421. enum D3D10_RESOURCE_DIMENSION
  422. { D3D10_RESOURCE_DIMENSION_UNKNOWN = 0,
  423. D3D10_RESOURCE_DIMENSION_BUFFER = 1,
  424. D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2,
  425. D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3,
  426. D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
  427. } D3D10_RESOURCE_DIMENSION;
  428. typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
  429. typedef
  430. enum D3D10_DSV_DIMENSION
  431. { D3D10_DSV_DIMENSION_UNKNOWN = 0,
  432. D3D10_DSV_DIMENSION_TEXTURE1D = 1,
  433. D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2,
  434. D3D10_DSV_DIMENSION_TEXTURE2D = 3,
  435. D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4,
  436. D3D10_DSV_DIMENSION_TEXTURE2DMS = 5,
  437. D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
  438. } D3D10_DSV_DIMENSION;
  439. typedef
  440. enum D3D10_RTV_DIMENSION
  441. { D3D10_RTV_DIMENSION_UNKNOWN = 0,
  442. D3D10_RTV_DIMENSION_BUFFER = 1,
  443. D3D10_RTV_DIMENSION_TEXTURE1D = 2,
  444. D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3,
  445. D3D10_RTV_DIMENSION_TEXTURE2D = 4,
  446. D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5,
  447. D3D10_RTV_DIMENSION_TEXTURE2DMS = 6,
  448. D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
  449. D3D10_RTV_DIMENSION_TEXTURE3D = 8
  450. } D3D10_RTV_DIMENSION;
  451. typedef
  452. enum D3D10_USAGE
  453. { D3D10_USAGE_DEFAULT = 0,
  454. D3D10_USAGE_IMMUTABLE = 1,
  455. D3D10_USAGE_DYNAMIC = 2,
  456. D3D10_USAGE_STAGING = 3
  457. } D3D10_USAGE;
  458. typedef
  459. enum D3D10_BIND_FLAG
  460. { D3D10_BIND_VERTEX_BUFFER = 0x1L,
  461. D3D10_BIND_INDEX_BUFFER = 0x2L,
  462. D3D10_BIND_CONSTANT_BUFFER = 0x4L,
  463. D3D10_BIND_SHADER_RESOURCE = 0x8L,
  464. D3D10_BIND_STREAM_OUTPUT = 0x10L,
  465. D3D10_BIND_RENDER_TARGET = 0x20L,
  466. D3D10_BIND_DEPTH_STENCIL = 0x40L
  467. } D3D10_BIND_FLAG;
  468. typedef
  469. enum D3D10_CPU_ACCESS_FLAG
  470. { D3D10_CPU_ACCESS_WRITE = 0x10000L,
  471. D3D10_CPU_ACCESS_READ = 0x20000L
  472. } D3D10_CPU_ACCESS_FLAG;
  473. typedef
  474. enum D3D10_RESOURCE_MISC_FLAG
  475. { D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
  476. D3D10_RESOURCE_MISC_SHARED = 0x2L,
  477. D3D10_RESOURCE_MISC_TEXTURECUBE = 0x4L,
  478. D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x10L,
  479. D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x20L
  480. } D3D10_RESOURCE_MISC_FLAG;
  481. typedef
  482. enum D3D10_MAP
  483. { D3D10_MAP_READ = 1,
  484. D3D10_MAP_WRITE = 2,
  485. D3D10_MAP_READ_WRITE = 3,
  486. D3D10_MAP_WRITE_DISCARD = 4,
  487. D3D10_MAP_WRITE_NO_OVERWRITE = 5
  488. } D3D10_MAP;
  489. typedef
  490. enum D3D10_MAP_FLAG
  491. { D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000L
  492. } D3D10_MAP_FLAG;
  493. typedef
  494. enum D3D10_RAISE_FLAG
  495. { D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1L
  496. } D3D10_RAISE_FLAG;
  497. typedef
  498. enum D3D10_CLEAR_FLAG
  499. { D3D10_CLEAR_DEPTH = 0x1L,
  500. D3D10_CLEAR_STENCIL = 0x2L
  501. } D3D10_CLEAR_FLAG;
  502. typedef RECT D3D10_RECT;
  503. typedef struct D3D10_BOX
  504. {
  505. UINT left;
  506. UINT top;
  507. UINT front;
  508. UINT right;
  509. UINT bottom;
  510. UINT back;
  511. } D3D10_BOX;
  512. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_c_ifspec;
  513. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0000_v0_0_s_ifspec;
  514. #ifndef __ID3D10DeviceChild_INTERFACE_DEFINED__
  515. #define __ID3D10DeviceChild_INTERFACE_DEFINED__
  516. /* interface ID3D10DeviceChild */
  517. /* [unique][local][object][uuid] */
  518. EXTERN_C const IID IID_ID3D10DeviceChild;
  519. #if defined(__cplusplus) && !defined(CINTERFACE)
  520. MIDL_INTERFACE("9B7E4C00-342C-4106-A19F-4F2704F689F0")
  521. ID3D10DeviceChild : public IUnknown
  522. {
  523. public:
  524. virtual void STDMETHODCALLTYPE GetDevice(
  525. /* [annotation] */
  526. __out ID3D10Device **ppDevice) = 0;
  527. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  528. /* [annotation] */
  529. __in REFGUID guid,
  530. /* [annotation] */
  531. __inout UINT *pDataSize,
  532. /* [annotation] */
  533. __out_bcount_opt(*pDataSize) void *pData) = 0;
  534. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  535. /* [annotation] */
  536. __in REFGUID guid,
  537. /* [annotation] */
  538. __in UINT DataSize,
  539. /* [annotation] */
  540. __in_bcount_opt(DataSize) const void *pData) = 0;
  541. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  542. /* [annotation] */
  543. __in REFGUID guid,
  544. /* [annotation] */
  545. __in_opt const IUnknown *pData) = 0;
  546. };
  547. #else /* C style interface */
  548. typedef struct ID3D10DeviceChildVtbl
  549. {
  550. BEGIN_INTERFACE
  551. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  552. ID3D10DeviceChild * This,
  553. /* [in] */ REFIID riid,
  554. /* [annotation][iid_is][out] */
  555. __RPC__deref_out void **ppvObject);
  556. ULONG ( STDMETHODCALLTYPE *AddRef )(
  557. ID3D10DeviceChild * This);
  558. ULONG ( STDMETHODCALLTYPE *Release )(
  559. ID3D10DeviceChild * This);
  560. void ( STDMETHODCALLTYPE *GetDevice )(
  561. ID3D10DeviceChild * This,
  562. /* [annotation] */
  563. __out ID3D10Device **ppDevice);
  564. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  565. ID3D10DeviceChild * This,
  566. /* [annotation] */
  567. __in REFGUID guid,
  568. /* [annotation] */
  569. __inout UINT *pDataSize,
  570. /* [annotation] */
  571. __out_bcount_opt(*pDataSize) void *pData);
  572. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  573. ID3D10DeviceChild * This,
  574. /* [annotation] */
  575. __in REFGUID guid,
  576. /* [annotation] */
  577. __in UINT DataSize,
  578. /* [annotation] */
  579. __in_bcount_opt(DataSize) const void *pData);
  580. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  581. ID3D10DeviceChild * This,
  582. /* [annotation] */
  583. __in REFGUID guid,
  584. /* [annotation] */
  585. __in_opt const IUnknown *pData);
  586. END_INTERFACE
  587. } ID3D10DeviceChildVtbl;
  588. interface ID3D10DeviceChild
  589. {
  590. CONST_VTBL struct ID3D10DeviceChildVtbl *lpVtbl;
  591. };
  592. #ifdef COBJMACROS
  593. #define ID3D10DeviceChild_QueryInterface(This,riid,ppvObject) \
  594. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  595. #define ID3D10DeviceChild_AddRef(This) \
  596. ( (This)->lpVtbl -> AddRef(This) )
  597. #define ID3D10DeviceChild_Release(This) \
  598. ( (This)->lpVtbl -> Release(This) )
  599. #define ID3D10DeviceChild_GetDevice(This,ppDevice) \
  600. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  601. #define ID3D10DeviceChild_GetPrivateData(This,guid,pDataSize,pData) \
  602. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  603. #define ID3D10DeviceChild_SetPrivateData(This,guid,DataSize,pData) \
  604. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  605. #define ID3D10DeviceChild_SetPrivateDataInterface(This,guid,pData) \
  606. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  607. #endif /* COBJMACROS */
  608. #endif /* C style interface */
  609. #endif /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
  610. /* interface __MIDL_itf_d3d10_0000_0001 */
  611. /* [local] */
  612. typedef
  613. enum D3D10_COMPARISON_FUNC
  614. { D3D10_COMPARISON_NEVER = 1,
  615. D3D10_COMPARISON_LESS = 2,
  616. D3D10_COMPARISON_EQUAL = 3,
  617. D3D10_COMPARISON_LESS_EQUAL = 4,
  618. D3D10_COMPARISON_GREATER = 5,
  619. D3D10_COMPARISON_NOT_EQUAL = 6,
  620. D3D10_COMPARISON_GREATER_EQUAL = 7,
  621. D3D10_COMPARISON_ALWAYS = 8
  622. } D3D10_COMPARISON_FUNC;
  623. typedef
  624. enum D3D10_DEPTH_WRITE_MASK
  625. { D3D10_DEPTH_WRITE_MASK_ZERO = 0,
  626. D3D10_DEPTH_WRITE_MASK_ALL = 1
  627. } D3D10_DEPTH_WRITE_MASK;
  628. typedef
  629. enum D3D10_STENCIL_OP
  630. { D3D10_STENCIL_OP_KEEP = 1,
  631. D3D10_STENCIL_OP_ZERO = 2,
  632. D3D10_STENCIL_OP_REPLACE = 3,
  633. D3D10_STENCIL_OP_INCR_SAT = 4,
  634. D3D10_STENCIL_OP_DECR_SAT = 5,
  635. D3D10_STENCIL_OP_INVERT = 6,
  636. D3D10_STENCIL_OP_INCR = 7,
  637. D3D10_STENCIL_OP_DECR = 8
  638. } D3D10_STENCIL_OP;
  639. typedef struct D3D10_DEPTH_STENCILOP_DESC
  640. {
  641. D3D10_STENCIL_OP StencilFailOp;
  642. D3D10_STENCIL_OP StencilDepthFailOp;
  643. D3D10_STENCIL_OP StencilPassOp;
  644. D3D10_COMPARISON_FUNC StencilFunc;
  645. } D3D10_DEPTH_STENCILOP_DESC;
  646. typedef struct D3D10_DEPTH_STENCIL_DESC
  647. {
  648. BOOL DepthEnable;
  649. D3D10_DEPTH_WRITE_MASK DepthWriteMask;
  650. D3D10_COMPARISON_FUNC DepthFunc;
  651. BOOL StencilEnable;
  652. UINT8 StencilReadMask;
  653. UINT8 StencilWriteMask;
  654. D3D10_DEPTH_STENCILOP_DESC FrontFace;
  655. D3D10_DEPTH_STENCILOP_DESC BackFace;
  656. } D3D10_DEPTH_STENCIL_DESC;
  657. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_c_ifspec;
  658. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0001_v0_0_s_ifspec;
  659. #ifndef __ID3D10DepthStencilState_INTERFACE_DEFINED__
  660. #define __ID3D10DepthStencilState_INTERFACE_DEFINED__
  661. /* interface ID3D10DepthStencilState */
  662. /* [unique][local][object][uuid] */
  663. EXTERN_C const IID IID_ID3D10DepthStencilState;
  664. #if defined(__cplusplus) && !defined(CINTERFACE)
  665. MIDL_INTERFACE("2B4B1CC8-A4AD-41f8-8322-CA86FC3EC675")
  666. ID3D10DepthStencilState : public ID3D10DeviceChild
  667. {
  668. public:
  669. virtual void STDMETHODCALLTYPE GetDesc(
  670. /* [annotation] */
  671. __out D3D10_DEPTH_STENCIL_DESC *pDesc) = 0;
  672. };
  673. #else /* C style interface */
  674. typedef struct ID3D10DepthStencilStateVtbl
  675. {
  676. BEGIN_INTERFACE
  677. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  678. ID3D10DepthStencilState * This,
  679. /* [in] */ REFIID riid,
  680. /* [annotation][iid_is][out] */
  681. __RPC__deref_out void **ppvObject);
  682. ULONG ( STDMETHODCALLTYPE *AddRef )(
  683. ID3D10DepthStencilState * This);
  684. ULONG ( STDMETHODCALLTYPE *Release )(
  685. ID3D10DepthStencilState * This);
  686. void ( STDMETHODCALLTYPE *GetDevice )(
  687. ID3D10DepthStencilState * This,
  688. /* [annotation] */
  689. __out ID3D10Device **ppDevice);
  690. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  691. ID3D10DepthStencilState * This,
  692. /* [annotation] */
  693. __in REFGUID guid,
  694. /* [annotation] */
  695. __inout UINT *pDataSize,
  696. /* [annotation] */
  697. __out_bcount_opt(*pDataSize) void *pData);
  698. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  699. ID3D10DepthStencilState * This,
  700. /* [annotation] */
  701. __in REFGUID guid,
  702. /* [annotation] */
  703. __in UINT DataSize,
  704. /* [annotation] */
  705. __in_bcount_opt(DataSize) const void *pData);
  706. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  707. ID3D10DepthStencilState * This,
  708. /* [annotation] */
  709. __in REFGUID guid,
  710. /* [annotation] */
  711. __in_opt const IUnknown *pData);
  712. void ( STDMETHODCALLTYPE *GetDesc )(
  713. ID3D10DepthStencilState * This,
  714. /* [annotation] */
  715. __out D3D10_DEPTH_STENCIL_DESC *pDesc);
  716. END_INTERFACE
  717. } ID3D10DepthStencilStateVtbl;
  718. interface ID3D10DepthStencilState
  719. {
  720. CONST_VTBL struct ID3D10DepthStencilStateVtbl *lpVtbl;
  721. };
  722. #ifdef COBJMACROS
  723. #define ID3D10DepthStencilState_QueryInterface(This,riid,ppvObject) \
  724. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  725. #define ID3D10DepthStencilState_AddRef(This) \
  726. ( (This)->lpVtbl -> AddRef(This) )
  727. #define ID3D10DepthStencilState_Release(This) \
  728. ( (This)->lpVtbl -> Release(This) )
  729. #define ID3D10DepthStencilState_GetDevice(This,ppDevice) \
  730. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  731. #define ID3D10DepthStencilState_GetPrivateData(This,guid,pDataSize,pData) \
  732. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  733. #define ID3D10DepthStencilState_SetPrivateData(This,guid,DataSize,pData) \
  734. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  735. #define ID3D10DepthStencilState_SetPrivateDataInterface(This,guid,pData) \
  736. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  737. #define ID3D10DepthStencilState_GetDesc(This,pDesc) \
  738. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  739. #endif /* COBJMACROS */
  740. #endif /* C style interface */
  741. #endif /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
  742. /* interface __MIDL_itf_d3d10_0000_0002 */
  743. /* [local] */
  744. typedef
  745. enum D3D10_BLEND
  746. { D3D10_BLEND_ZERO = 1,
  747. D3D10_BLEND_ONE = 2,
  748. D3D10_BLEND_SRC_COLOR = 3,
  749. D3D10_BLEND_INV_SRC_COLOR = 4,
  750. D3D10_BLEND_SRC_ALPHA = 5,
  751. D3D10_BLEND_INV_SRC_ALPHA = 6,
  752. D3D10_BLEND_DEST_ALPHA = 7,
  753. D3D10_BLEND_INV_DEST_ALPHA = 8,
  754. D3D10_BLEND_DEST_COLOR = 9,
  755. D3D10_BLEND_INV_DEST_COLOR = 10,
  756. D3D10_BLEND_SRC_ALPHA_SAT = 11,
  757. D3D10_BLEND_BLEND_FACTOR = 14,
  758. D3D10_BLEND_INV_BLEND_FACTOR = 15,
  759. D3D10_BLEND_SRC1_COLOR = 16,
  760. D3D10_BLEND_INV_SRC1_COLOR = 17,
  761. D3D10_BLEND_SRC1_ALPHA = 18,
  762. D3D10_BLEND_INV_SRC1_ALPHA = 19
  763. } D3D10_BLEND;
  764. typedef
  765. enum D3D10_BLEND_OP
  766. { D3D10_BLEND_OP_ADD = 1,
  767. D3D10_BLEND_OP_SUBTRACT = 2,
  768. D3D10_BLEND_OP_REV_SUBTRACT = 3,
  769. D3D10_BLEND_OP_MIN = 4,
  770. D3D10_BLEND_OP_MAX = 5
  771. } D3D10_BLEND_OP;
  772. typedef
  773. enum D3D10_COLOR_WRITE_ENABLE
  774. { D3D10_COLOR_WRITE_ENABLE_RED = 1,
  775. D3D10_COLOR_WRITE_ENABLE_GREEN = 2,
  776. D3D10_COLOR_WRITE_ENABLE_BLUE = 4,
  777. D3D10_COLOR_WRITE_ENABLE_ALPHA = 8,
  778. D3D10_COLOR_WRITE_ENABLE_ALL = ( ( ( D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN ) | D3D10_COLOR_WRITE_ENABLE_BLUE ) | D3D10_COLOR_WRITE_ENABLE_ALPHA )
  779. } D3D10_COLOR_WRITE_ENABLE;
  780. typedef struct D3D10_BLEND_DESC
  781. {
  782. BOOL AlphaToCoverageEnable;
  783. BOOL BlendEnable[ 8 ];
  784. D3D10_BLEND SrcBlend;
  785. D3D10_BLEND DestBlend;
  786. D3D10_BLEND_OP BlendOp;
  787. D3D10_BLEND SrcBlendAlpha;
  788. D3D10_BLEND DestBlendAlpha;
  789. D3D10_BLEND_OP BlendOpAlpha;
  790. UINT8 RenderTargetWriteMask[ 8 ];
  791. } D3D10_BLEND_DESC;
  792. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_c_ifspec;
  793. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0002_v0_0_s_ifspec;
  794. #ifndef __ID3D10BlendState_INTERFACE_DEFINED__
  795. #define __ID3D10BlendState_INTERFACE_DEFINED__
  796. /* interface ID3D10BlendState */
  797. /* [unique][local][object][uuid] */
  798. EXTERN_C const IID IID_ID3D10BlendState;
  799. #if defined(__cplusplus) && !defined(CINTERFACE)
  800. MIDL_INTERFACE("EDAD8D19-8A35-4d6d-8566-2EA276CDE161")
  801. ID3D10BlendState : public ID3D10DeviceChild
  802. {
  803. public:
  804. virtual void STDMETHODCALLTYPE GetDesc(
  805. /* [annotation] */
  806. __out D3D10_BLEND_DESC *pDesc) = 0;
  807. };
  808. #else /* C style interface */
  809. typedef struct ID3D10BlendStateVtbl
  810. {
  811. BEGIN_INTERFACE
  812. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  813. ID3D10BlendState * This,
  814. /* [in] */ REFIID riid,
  815. /* [annotation][iid_is][out] */
  816. __RPC__deref_out void **ppvObject);
  817. ULONG ( STDMETHODCALLTYPE *AddRef )(
  818. ID3D10BlendState * This);
  819. ULONG ( STDMETHODCALLTYPE *Release )(
  820. ID3D10BlendState * This);
  821. void ( STDMETHODCALLTYPE *GetDevice )(
  822. ID3D10BlendState * This,
  823. /* [annotation] */
  824. __out ID3D10Device **ppDevice);
  825. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  826. ID3D10BlendState * This,
  827. /* [annotation] */
  828. __in REFGUID guid,
  829. /* [annotation] */
  830. __inout UINT *pDataSize,
  831. /* [annotation] */
  832. __out_bcount_opt(*pDataSize) void *pData);
  833. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  834. ID3D10BlendState * This,
  835. /* [annotation] */
  836. __in REFGUID guid,
  837. /* [annotation] */
  838. __in UINT DataSize,
  839. /* [annotation] */
  840. __in_bcount_opt(DataSize) const void *pData);
  841. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  842. ID3D10BlendState * This,
  843. /* [annotation] */
  844. __in REFGUID guid,
  845. /* [annotation] */
  846. __in_opt const IUnknown *pData);
  847. void ( STDMETHODCALLTYPE *GetDesc )(
  848. ID3D10BlendState * This,
  849. /* [annotation] */
  850. __out D3D10_BLEND_DESC *pDesc);
  851. END_INTERFACE
  852. } ID3D10BlendStateVtbl;
  853. interface ID3D10BlendState
  854. {
  855. CONST_VTBL struct ID3D10BlendStateVtbl *lpVtbl;
  856. };
  857. #ifdef COBJMACROS
  858. #define ID3D10BlendState_QueryInterface(This,riid,ppvObject) \
  859. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  860. #define ID3D10BlendState_AddRef(This) \
  861. ( (This)->lpVtbl -> AddRef(This) )
  862. #define ID3D10BlendState_Release(This) \
  863. ( (This)->lpVtbl -> Release(This) )
  864. #define ID3D10BlendState_GetDevice(This,ppDevice) \
  865. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  866. #define ID3D10BlendState_GetPrivateData(This,guid,pDataSize,pData) \
  867. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  868. #define ID3D10BlendState_SetPrivateData(This,guid,DataSize,pData) \
  869. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  870. #define ID3D10BlendState_SetPrivateDataInterface(This,guid,pData) \
  871. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  872. #define ID3D10BlendState_GetDesc(This,pDesc) \
  873. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  874. #endif /* COBJMACROS */
  875. #endif /* C style interface */
  876. #endif /* __ID3D10BlendState_INTERFACE_DEFINED__ */
  877. /* interface __MIDL_itf_d3d10_0000_0003 */
  878. /* [local] */
  879. typedef struct D3D10_RASTERIZER_DESC
  880. {
  881. D3D10_FILL_MODE FillMode;
  882. D3D10_CULL_MODE CullMode;
  883. BOOL FrontCounterClockwise;
  884. INT DepthBias;
  885. FLOAT DepthBiasClamp;
  886. FLOAT SlopeScaledDepthBias;
  887. BOOL DepthClipEnable;
  888. BOOL ScissorEnable;
  889. BOOL MultisampleEnable;
  890. BOOL AntialiasedLineEnable;
  891. } D3D10_RASTERIZER_DESC;
  892. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_c_ifspec;
  893. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0003_v0_0_s_ifspec;
  894. #ifndef __ID3D10RasterizerState_INTERFACE_DEFINED__
  895. #define __ID3D10RasterizerState_INTERFACE_DEFINED__
  896. /* interface ID3D10RasterizerState */
  897. /* [unique][local][object][uuid] */
  898. EXTERN_C const IID IID_ID3D10RasterizerState;
  899. #if defined(__cplusplus) && !defined(CINTERFACE)
  900. MIDL_INTERFACE("A2A07292-89AF-4345-BE2E-C53D9FBB6E9F")
  901. ID3D10RasterizerState : public ID3D10DeviceChild
  902. {
  903. public:
  904. virtual void STDMETHODCALLTYPE GetDesc(
  905. /* [annotation] */
  906. __out D3D10_RASTERIZER_DESC *pDesc) = 0;
  907. };
  908. #else /* C style interface */
  909. typedef struct ID3D10RasterizerStateVtbl
  910. {
  911. BEGIN_INTERFACE
  912. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  913. ID3D10RasterizerState * This,
  914. /* [in] */ REFIID riid,
  915. /* [annotation][iid_is][out] */
  916. __RPC__deref_out void **ppvObject);
  917. ULONG ( STDMETHODCALLTYPE *AddRef )(
  918. ID3D10RasterizerState * This);
  919. ULONG ( STDMETHODCALLTYPE *Release )(
  920. ID3D10RasterizerState * This);
  921. void ( STDMETHODCALLTYPE *GetDevice )(
  922. ID3D10RasterizerState * This,
  923. /* [annotation] */
  924. __out ID3D10Device **ppDevice);
  925. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  926. ID3D10RasterizerState * This,
  927. /* [annotation] */
  928. __in REFGUID guid,
  929. /* [annotation] */
  930. __inout UINT *pDataSize,
  931. /* [annotation] */
  932. __out_bcount_opt(*pDataSize) void *pData);
  933. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  934. ID3D10RasterizerState * This,
  935. /* [annotation] */
  936. __in REFGUID guid,
  937. /* [annotation] */
  938. __in UINT DataSize,
  939. /* [annotation] */
  940. __in_bcount_opt(DataSize) const void *pData);
  941. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  942. ID3D10RasterizerState * This,
  943. /* [annotation] */
  944. __in REFGUID guid,
  945. /* [annotation] */
  946. __in_opt const IUnknown *pData);
  947. void ( STDMETHODCALLTYPE *GetDesc )(
  948. ID3D10RasterizerState * This,
  949. /* [annotation] */
  950. __out D3D10_RASTERIZER_DESC *pDesc);
  951. END_INTERFACE
  952. } ID3D10RasterizerStateVtbl;
  953. interface ID3D10RasterizerState
  954. {
  955. CONST_VTBL struct ID3D10RasterizerStateVtbl *lpVtbl;
  956. };
  957. #ifdef COBJMACROS
  958. #define ID3D10RasterizerState_QueryInterface(This,riid,ppvObject) \
  959. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  960. #define ID3D10RasterizerState_AddRef(This) \
  961. ( (This)->lpVtbl -> AddRef(This) )
  962. #define ID3D10RasterizerState_Release(This) \
  963. ( (This)->lpVtbl -> Release(This) )
  964. #define ID3D10RasterizerState_GetDevice(This,ppDevice) \
  965. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  966. #define ID3D10RasterizerState_GetPrivateData(This,guid,pDataSize,pData) \
  967. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  968. #define ID3D10RasterizerState_SetPrivateData(This,guid,DataSize,pData) \
  969. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  970. #define ID3D10RasterizerState_SetPrivateDataInterface(This,guid,pData) \
  971. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  972. #define ID3D10RasterizerState_GetDesc(This,pDesc) \
  973. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  974. #endif /* COBJMACROS */
  975. #endif /* C style interface */
  976. #endif /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
  977. /* interface __MIDL_itf_d3d10_0000_0004 */
  978. /* [local] */
  979. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  980. inline UINT D3D10CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
  981. { return MipSlice + ArraySlice * MipLevels; }
  982. #endif
  983. typedef struct D3D10_SUBRESOURCE_DATA
  984. {
  985. const void *pSysMem;
  986. UINT SysMemPitch;
  987. UINT SysMemSlicePitch;
  988. } D3D10_SUBRESOURCE_DATA;
  989. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_c_ifspec;
  990. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0004_v0_0_s_ifspec;
  991. #ifndef __ID3D10Resource_INTERFACE_DEFINED__
  992. #define __ID3D10Resource_INTERFACE_DEFINED__
  993. /* interface ID3D10Resource */
  994. /* [unique][local][object][uuid] */
  995. EXTERN_C const IID IID_ID3D10Resource;
  996. #if defined(__cplusplus) && !defined(CINTERFACE)
  997. MIDL_INTERFACE("9B7E4C01-342C-4106-A19F-4F2704F689F0")
  998. ID3D10Resource : public ID3D10DeviceChild
  999. {
  1000. public:
  1001. virtual void STDMETHODCALLTYPE GetType(
  1002. /* [annotation] */
  1003. __out D3D10_RESOURCE_DIMENSION *rType) = 0;
  1004. virtual void STDMETHODCALLTYPE SetEvictionPriority(
  1005. /* [annotation] */
  1006. __in UINT EvictionPriority) = 0;
  1007. virtual UINT STDMETHODCALLTYPE GetEvictionPriority( void) = 0;
  1008. };
  1009. #else /* C style interface */
  1010. typedef struct ID3D10ResourceVtbl
  1011. {
  1012. BEGIN_INTERFACE
  1013. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1014. ID3D10Resource * This,
  1015. /* [in] */ REFIID riid,
  1016. /* [annotation][iid_is][out] */
  1017. __RPC__deref_out void **ppvObject);
  1018. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1019. ID3D10Resource * This);
  1020. ULONG ( STDMETHODCALLTYPE *Release )(
  1021. ID3D10Resource * This);
  1022. void ( STDMETHODCALLTYPE *GetDevice )(
  1023. ID3D10Resource * This,
  1024. /* [annotation] */
  1025. __out ID3D10Device **ppDevice);
  1026. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1027. ID3D10Resource * This,
  1028. /* [annotation] */
  1029. __in REFGUID guid,
  1030. /* [annotation] */
  1031. __inout UINT *pDataSize,
  1032. /* [annotation] */
  1033. __out_bcount_opt(*pDataSize) void *pData);
  1034. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1035. ID3D10Resource * This,
  1036. /* [annotation] */
  1037. __in REFGUID guid,
  1038. /* [annotation] */
  1039. __in UINT DataSize,
  1040. /* [annotation] */
  1041. __in_bcount_opt(DataSize) const void *pData);
  1042. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1043. ID3D10Resource * This,
  1044. /* [annotation] */
  1045. __in REFGUID guid,
  1046. /* [annotation] */
  1047. __in_opt const IUnknown *pData);
  1048. void ( STDMETHODCALLTYPE *GetType )(
  1049. ID3D10Resource * This,
  1050. /* [annotation] */
  1051. __out D3D10_RESOURCE_DIMENSION *rType);
  1052. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1053. ID3D10Resource * This,
  1054. /* [annotation] */
  1055. __in UINT EvictionPriority);
  1056. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1057. ID3D10Resource * This);
  1058. END_INTERFACE
  1059. } ID3D10ResourceVtbl;
  1060. interface ID3D10Resource
  1061. {
  1062. CONST_VTBL struct ID3D10ResourceVtbl *lpVtbl;
  1063. };
  1064. #ifdef COBJMACROS
  1065. #define ID3D10Resource_QueryInterface(This,riid,ppvObject) \
  1066. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1067. #define ID3D10Resource_AddRef(This) \
  1068. ( (This)->lpVtbl -> AddRef(This) )
  1069. #define ID3D10Resource_Release(This) \
  1070. ( (This)->lpVtbl -> Release(This) )
  1071. #define ID3D10Resource_GetDevice(This,ppDevice) \
  1072. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1073. #define ID3D10Resource_GetPrivateData(This,guid,pDataSize,pData) \
  1074. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1075. #define ID3D10Resource_SetPrivateData(This,guid,DataSize,pData) \
  1076. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1077. #define ID3D10Resource_SetPrivateDataInterface(This,guid,pData) \
  1078. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1079. #define ID3D10Resource_GetType(This,rType) \
  1080. ( (This)->lpVtbl -> GetType(This,rType) )
  1081. #define ID3D10Resource_SetEvictionPriority(This,EvictionPriority) \
  1082. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1083. #define ID3D10Resource_GetEvictionPriority(This) \
  1084. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1085. #endif /* COBJMACROS */
  1086. #endif /* C style interface */
  1087. #endif /* __ID3D10Resource_INTERFACE_DEFINED__ */
  1088. /* interface __MIDL_itf_d3d10_0000_0005 */
  1089. /* [local] */
  1090. typedef struct D3D10_BUFFER_DESC
  1091. {
  1092. UINT ByteWidth;
  1093. D3D10_USAGE Usage;
  1094. UINT BindFlags;
  1095. UINT CPUAccessFlags;
  1096. UINT MiscFlags;
  1097. } D3D10_BUFFER_DESC;
  1098. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1099. struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC
  1100. {
  1101. CD3D10_BUFFER_DESC()
  1102. {}
  1103. explicit CD3D10_BUFFER_DESC( const D3D10_BUFFER_DESC& o ) :
  1104. D3D10_BUFFER_DESC( o )
  1105. {}
  1106. explicit CD3D10_BUFFER_DESC(
  1107. UINT byteWidth,
  1108. UINT bindFlags,
  1109. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1110. UINT cpuaccessFlags = 0,
  1111. UINT miscFlags = 0 )
  1112. {
  1113. ByteWidth = byteWidth;
  1114. Usage = usage;
  1115. BindFlags = bindFlags;
  1116. CPUAccessFlags = cpuaccessFlags ;
  1117. MiscFlags = miscFlags;
  1118. }
  1119. ~CD3D10_BUFFER_DESC() {}
  1120. operator const D3D10_BUFFER_DESC&() const { return *this; }
  1121. };
  1122. #endif
  1123. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_c_ifspec;
  1124. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0005_v0_0_s_ifspec;
  1125. #ifndef __ID3D10Buffer_INTERFACE_DEFINED__
  1126. #define __ID3D10Buffer_INTERFACE_DEFINED__
  1127. /* interface ID3D10Buffer */
  1128. /* [unique][local][object][uuid] */
  1129. EXTERN_C const IID IID_ID3D10Buffer;
  1130. #if defined(__cplusplus) && !defined(CINTERFACE)
  1131. MIDL_INTERFACE("9B7E4C02-342C-4106-A19F-4F2704F689F0")
  1132. ID3D10Buffer : public ID3D10Resource
  1133. {
  1134. public:
  1135. virtual HRESULT STDMETHODCALLTYPE Map(
  1136. /* [annotation] */
  1137. __in D3D10_MAP MapType,
  1138. /* [annotation] */
  1139. __in UINT MapFlags,
  1140. /* [annotation] */
  1141. __out void **ppData) = 0;
  1142. virtual void STDMETHODCALLTYPE Unmap( void) = 0;
  1143. virtual void STDMETHODCALLTYPE GetDesc(
  1144. /* [annotation] */
  1145. __out D3D10_BUFFER_DESC *pDesc) = 0;
  1146. };
  1147. #else /* C style interface */
  1148. typedef struct ID3D10BufferVtbl
  1149. {
  1150. BEGIN_INTERFACE
  1151. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1152. ID3D10Buffer * This,
  1153. /* [in] */ REFIID riid,
  1154. /* [annotation][iid_is][out] */
  1155. __RPC__deref_out void **ppvObject);
  1156. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1157. ID3D10Buffer * This);
  1158. ULONG ( STDMETHODCALLTYPE *Release )(
  1159. ID3D10Buffer * This);
  1160. void ( STDMETHODCALLTYPE *GetDevice )(
  1161. ID3D10Buffer * This,
  1162. /* [annotation] */
  1163. __out ID3D10Device **ppDevice);
  1164. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1165. ID3D10Buffer * This,
  1166. /* [annotation] */
  1167. __in REFGUID guid,
  1168. /* [annotation] */
  1169. __inout UINT *pDataSize,
  1170. /* [annotation] */
  1171. __out_bcount_opt(*pDataSize) void *pData);
  1172. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1173. ID3D10Buffer * This,
  1174. /* [annotation] */
  1175. __in REFGUID guid,
  1176. /* [annotation] */
  1177. __in UINT DataSize,
  1178. /* [annotation] */
  1179. __in_bcount_opt(DataSize) const void *pData);
  1180. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1181. ID3D10Buffer * This,
  1182. /* [annotation] */
  1183. __in REFGUID guid,
  1184. /* [annotation] */
  1185. __in_opt const IUnknown *pData);
  1186. void ( STDMETHODCALLTYPE *GetType )(
  1187. ID3D10Buffer * This,
  1188. /* [annotation] */
  1189. __out D3D10_RESOURCE_DIMENSION *rType);
  1190. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1191. ID3D10Buffer * This,
  1192. /* [annotation] */
  1193. __in UINT EvictionPriority);
  1194. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1195. ID3D10Buffer * This);
  1196. HRESULT ( STDMETHODCALLTYPE *Map )(
  1197. ID3D10Buffer * This,
  1198. /* [annotation] */
  1199. __in D3D10_MAP MapType,
  1200. /* [annotation] */
  1201. __in UINT MapFlags,
  1202. /* [annotation] */
  1203. __out void **ppData);
  1204. void ( STDMETHODCALLTYPE *Unmap )(
  1205. ID3D10Buffer * This);
  1206. void ( STDMETHODCALLTYPE *GetDesc )(
  1207. ID3D10Buffer * This,
  1208. /* [annotation] */
  1209. __out D3D10_BUFFER_DESC *pDesc);
  1210. END_INTERFACE
  1211. } ID3D10BufferVtbl;
  1212. interface ID3D10Buffer
  1213. {
  1214. CONST_VTBL struct ID3D10BufferVtbl *lpVtbl;
  1215. };
  1216. #ifdef COBJMACROS
  1217. #define ID3D10Buffer_QueryInterface(This,riid,ppvObject) \
  1218. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1219. #define ID3D10Buffer_AddRef(This) \
  1220. ( (This)->lpVtbl -> AddRef(This) )
  1221. #define ID3D10Buffer_Release(This) \
  1222. ( (This)->lpVtbl -> Release(This) )
  1223. #define ID3D10Buffer_GetDevice(This,ppDevice) \
  1224. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1225. #define ID3D10Buffer_GetPrivateData(This,guid,pDataSize,pData) \
  1226. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1227. #define ID3D10Buffer_SetPrivateData(This,guid,DataSize,pData) \
  1228. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1229. #define ID3D10Buffer_SetPrivateDataInterface(This,guid,pData) \
  1230. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1231. #define ID3D10Buffer_GetType(This,rType) \
  1232. ( (This)->lpVtbl -> GetType(This,rType) )
  1233. #define ID3D10Buffer_SetEvictionPriority(This,EvictionPriority) \
  1234. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1235. #define ID3D10Buffer_GetEvictionPriority(This) \
  1236. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1237. #define ID3D10Buffer_Map(This,MapType,MapFlags,ppData) \
  1238. ( (This)->lpVtbl -> Map(This,MapType,MapFlags,ppData) )
  1239. #define ID3D10Buffer_Unmap(This) \
  1240. ( (This)->lpVtbl -> Unmap(This) )
  1241. #define ID3D10Buffer_GetDesc(This,pDesc) \
  1242. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1243. #endif /* COBJMACROS */
  1244. #endif /* C style interface */
  1245. #endif /* __ID3D10Buffer_INTERFACE_DEFINED__ */
  1246. /* interface __MIDL_itf_d3d10_0000_0006 */
  1247. /* [local] */
  1248. typedef struct D3D10_TEXTURE1D_DESC
  1249. {
  1250. UINT Width;
  1251. UINT MipLevels;
  1252. UINT ArraySize;
  1253. DXGI_FORMAT Format;
  1254. D3D10_USAGE Usage;
  1255. UINT BindFlags;
  1256. UINT CPUAccessFlags;
  1257. UINT MiscFlags;
  1258. } D3D10_TEXTURE1D_DESC;
  1259. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1260. struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC
  1261. {
  1262. CD3D10_TEXTURE1D_DESC()
  1263. {}
  1264. explicit CD3D10_TEXTURE1D_DESC( const D3D10_TEXTURE1D_DESC& o ) :
  1265. D3D10_TEXTURE1D_DESC( o )
  1266. {}
  1267. explicit CD3D10_TEXTURE1D_DESC(
  1268. DXGI_FORMAT format,
  1269. UINT width,
  1270. UINT arraySize = 1,
  1271. UINT mipLevels = 0,
  1272. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1273. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1274. UINT cpuaccessFlags= 0,
  1275. UINT miscFlags = 0 )
  1276. {
  1277. Width = width;
  1278. MipLevels = mipLevels;
  1279. ArraySize = arraySize;
  1280. Format = format;
  1281. Usage = usage;
  1282. BindFlags = bindFlags;
  1283. CPUAccessFlags = cpuaccessFlags;
  1284. MiscFlags = miscFlags;
  1285. }
  1286. ~CD3D10_TEXTURE1D_DESC() {}
  1287. operator const D3D10_TEXTURE1D_DESC&() const { return *this; }
  1288. };
  1289. #endif
  1290. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_c_ifspec;
  1291. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0006_v0_0_s_ifspec;
  1292. #ifndef __ID3D10Texture1D_INTERFACE_DEFINED__
  1293. #define __ID3D10Texture1D_INTERFACE_DEFINED__
  1294. /* interface ID3D10Texture1D */
  1295. /* [unique][local][object][uuid] */
  1296. EXTERN_C const IID IID_ID3D10Texture1D;
  1297. #if defined(__cplusplus) && !defined(CINTERFACE)
  1298. MIDL_INTERFACE("9B7E4C03-342C-4106-A19F-4F2704F689F0")
  1299. ID3D10Texture1D : public ID3D10Resource
  1300. {
  1301. public:
  1302. virtual HRESULT STDMETHODCALLTYPE Map(
  1303. /* [annotation] */
  1304. __in UINT Subresource,
  1305. /* [annotation] */
  1306. __in D3D10_MAP MapType,
  1307. /* [annotation] */
  1308. __in UINT MapFlags,
  1309. /* [annotation] */
  1310. __out void **ppData) = 0;
  1311. virtual void STDMETHODCALLTYPE Unmap(
  1312. /* [annotation] */
  1313. __in UINT Subresource) = 0;
  1314. virtual void STDMETHODCALLTYPE GetDesc(
  1315. /* [annotation] */
  1316. __out D3D10_TEXTURE1D_DESC *pDesc) = 0;
  1317. };
  1318. #else /* C style interface */
  1319. typedef struct ID3D10Texture1DVtbl
  1320. {
  1321. BEGIN_INTERFACE
  1322. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1323. ID3D10Texture1D * This,
  1324. /* [in] */ REFIID riid,
  1325. /* [annotation][iid_is][out] */
  1326. __RPC__deref_out void **ppvObject);
  1327. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1328. ID3D10Texture1D * This);
  1329. ULONG ( STDMETHODCALLTYPE *Release )(
  1330. ID3D10Texture1D * This);
  1331. void ( STDMETHODCALLTYPE *GetDevice )(
  1332. ID3D10Texture1D * This,
  1333. /* [annotation] */
  1334. __out ID3D10Device **ppDevice);
  1335. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1336. ID3D10Texture1D * This,
  1337. /* [annotation] */
  1338. __in REFGUID guid,
  1339. /* [annotation] */
  1340. __inout UINT *pDataSize,
  1341. /* [annotation] */
  1342. __out_bcount_opt(*pDataSize) void *pData);
  1343. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1344. ID3D10Texture1D * This,
  1345. /* [annotation] */
  1346. __in REFGUID guid,
  1347. /* [annotation] */
  1348. __in UINT DataSize,
  1349. /* [annotation] */
  1350. __in_bcount_opt(DataSize) const void *pData);
  1351. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1352. ID3D10Texture1D * This,
  1353. /* [annotation] */
  1354. __in REFGUID guid,
  1355. /* [annotation] */
  1356. __in_opt const IUnknown *pData);
  1357. void ( STDMETHODCALLTYPE *GetType )(
  1358. ID3D10Texture1D * This,
  1359. /* [annotation] */
  1360. __out D3D10_RESOURCE_DIMENSION *rType);
  1361. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1362. ID3D10Texture1D * This,
  1363. /* [annotation] */
  1364. __in UINT EvictionPriority);
  1365. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1366. ID3D10Texture1D * This);
  1367. HRESULT ( STDMETHODCALLTYPE *Map )(
  1368. ID3D10Texture1D * This,
  1369. /* [annotation] */
  1370. __in UINT Subresource,
  1371. /* [annotation] */
  1372. __in D3D10_MAP MapType,
  1373. /* [annotation] */
  1374. __in UINT MapFlags,
  1375. /* [annotation] */
  1376. __out void **ppData);
  1377. void ( STDMETHODCALLTYPE *Unmap )(
  1378. ID3D10Texture1D * This,
  1379. /* [annotation] */
  1380. __in UINT Subresource);
  1381. void ( STDMETHODCALLTYPE *GetDesc )(
  1382. ID3D10Texture1D * This,
  1383. /* [annotation] */
  1384. __out D3D10_TEXTURE1D_DESC *pDesc);
  1385. END_INTERFACE
  1386. } ID3D10Texture1DVtbl;
  1387. interface ID3D10Texture1D
  1388. {
  1389. CONST_VTBL struct ID3D10Texture1DVtbl *lpVtbl;
  1390. };
  1391. #ifdef COBJMACROS
  1392. #define ID3D10Texture1D_QueryInterface(This,riid,ppvObject) \
  1393. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1394. #define ID3D10Texture1D_AddRef(This) \
  1395. ( (This)->lpVtbl -> AddRef(This) )
  1396. #define ID3D10Texture1D_Release(This) \
  1397. ( (This)->lpVtbl -> Release(This) )
  1398. #define ID3D10Texture1D_GetDevice(This,ppDevice) \
  1399. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1400. #define ID3D10Texture1D_GetPrivateData(This,guid,pDataSize,pData) \
  1401. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1402. #define ID3D10Texture1D_SetPrivateData(This,guid,DataSize,pData) \
  1403. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1404. #define ID3D10Texture1D_SetPrivateDataInterface(This,guid,pData) \
  1405. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1406. #define ID3D10Texture1D_GetType(This,rType) \
  1407. ( (This)->lpVtbl -> GetType(This,rType) )
  1408. #define ID3D10Texture1D_SetEvictionPriority(This,EvictionPriority) \
  1409. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1410. #define ID3D10Texture1D_GetEvictionPriority(This) \
  1411. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1412. #define ID3D10Texture1D_Map(This,Subresource,MapType,MapFlags,ppData) \
  1413. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,ppData) )
  1414. #define ID3D10Texture1D_Unmap(This,Subresource) \
  1415. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1416. #define ID3D10Texture1D_GetDesc(This,pDesc) \
  1417. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1418. #endif /* COBJMACROS */
  1419. #endif /* C style interface */
  1420. #endif /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
  1421. /* interface __MIDL_itf_d3d10_0000_0007 */
  1422. /* [local] */
  1423. typedef struct D3D10_TEXTURE2D_DESC
  1424. {
  1425. UINT Width;
  1426. UINT Height;
  1427. UINT MipLevels;
  1428. UINT ArraySize;
  1429. DXGI_FORMAT Format;
  1430. DXGI_SAMPLE_DESC SampleDesc;
  1431. D3D10_USAGE Usage;
  1432. UINT BindFlags;
  1433. UINT CPUAccessFlags;
  1434. UINT MiscFlags;
  1435. } D3D10_TEXTURE2D_DESC;
  1436. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1437. struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC
  1438. {
  1439. CD3D10_TEXTURE2D_DESC()
  1440. {}
  1441. explicit CD3D10_TEXTURE2D_DESC( const D3D10_TEXTURE2D_DESC& o ) :
  1442. D3D10_TEXTURE2D_DESC( o )
  1443. {}
  1444. explicit CD3D10_TEXTURE2D_DESC(
  1445. DXGI_FORMAT format,
  1446. UINT width,
  1447. UINT height,
  1448. UINT arraySize = 1,
  1449. UINT mipLevels = 0,
  1450. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1451. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1452. UINT cpuaccessFlags = 0,
  1453. UINT sampleCount = 1,
  1454. UINT sampleQuality = 0,
  1455. UINT miscFlags = 0 )
  1456. {
  1457. Width = width;
  1458. Height = height;
  1459. MipLevels = mipLevels;
  1460. ArraySize = arraySize;
  1461. Format = format;
  1462. SampleDesc.Count = sampleCount;
  1463. SampleDesc.Quality = sampleQuality;
  1464. Usage = usage;
  1465. BindFlags = bindFlags;
  1466. CPUAccessFlags = cpuaccessFlags;
  1467. MiscFlags = miscFlags;
  1468. }
  1469. ~CD3D10_TEXTURE2D_DESC() {}
  1470. operator const D3D10_TEXTURE2D_DESC&() const { return *this; }
  1471. };
  1472. #endif
  1473. typedef struct D3D10_MAPPED_TEXTURE2D
  1474. {
  1475. void *pData;
  1476. UINT RowPitch;
  1477. } D3D10_MAPPED_TEXTURE2D;
  1478. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_c_ifspec;
  1479. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0007_v0_0_s_ifspec;
  1480. #ifndef __ID3D10Texture2D_INTERFACE_DEFINED__
  1481. #define __ID3D10Texture2D_INTERFACE_DEFINED__
  1482. /* interface ID3D10Texture2D */
  1483. /* [unique][local][object][uuid] */
  1484. EXTERN_C const IID IID_ID3D10Texture2D;
  1485. #if defined(__cplusplus) && !defined(CINTERFACE)
  1486. MIDL_INTERFACE("9B7E4C04-342C-4106-A19F-4F2704F689F0")
  1487. ID3D10Texture2D : public ID3D10Resource
  1488. {
  1489. public:
  1490. virtual HRESULT STDMETHODCALLTYPE Map(
  1491. /* [annotation] */
  1492. __in UINT Subresource,
  1493. /* [annotation] */
  1494. __in D3D10_MAP MapType,
  1495. /* [annotation] */
  1496. __in UINT MapFlags,
  1497. /* [annotation] */
  1498. __out D3D10_MAPPED_TEXTURE2D *pMappedTex2D) = 0;
  1499. virtual void STDMETHODCALLTYPE Unmap(
  1500. /* [annotation] */
  1501. __in UINT Subresource) = 0;
  1502. virtual void STDMETHODCALLTYPE GetDesc(
  1503. /* [annotation] */
  1504. __out D3D10_TEXTURE2D_DESC *pDesc) = 0;
  1505. };
  1506. #else /* C style interface */
  1507. typedef struct ID3D10Texture2DVtbl
  1508. {
  1509. BEGIN_INTERFACE
  1510. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1511. ID3D10Texture2D * This,
  1512. /* [in] */ REFIID riid,
  1513. /* [annotation][iid_is][out] */
  1514. __RPC__deref_out void **ppvObject);
  1515. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1516. ID3D10Texture2D * This);
  1517. ULONG ( STDMETHODCALLTYPE *Release )(
  1518. ID3D10Texture2D * This);
  1519. void ( STDMETHODCALLTYPE *GetDevice )(
  1520. ID3D10Texture2D * This,
  1521. /* [annotation] */
  1522. __out ID3D10Device **ppDevice);
  1523. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1524. ID3D10Texture2D * This,
  1525. /* [annotation] */
  1526. __in REFGUID guid,
  1527. /* [annotation] */
  1528. __inout UINT *pDataSize,
  1529. /* [annotation] */
  1530. __out_bcount_opt(*pDataSize) void *pData);
  1531. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1532. ID3D10Texture2D * This,
  1533. /* [annotation] */
  1534. __in REFGUID guid,
  1535. /* [annotation] */
  1536. __in UINT DataSize,
  1537. /* [annotation] */
  1538. __in_bcount_opt(DataSize) const void *pData);
  1539. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1540. ID3D10Texture2D * This,
  1541. /* [annotation] */
  1542. __in REFGUID guid,
  1543. /* [annotation] */
  1544. __in_opt const IUnknown *pData);
  1545. void ( STDMETHODCALLTYPE *GetType )(
  1546. ID3D10Texture2D * This,
  1547. /* [annotation] */
  1548. __out D3D10_RESOURCE_DIMENSION *rType);
  1549. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1550. ID3D10Texture2D * This,
  1551. /* [annotation] */
  1552. __in UINT EvictionPriority);
  1553. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1554. ID3D10Texture2D * This);
  1555. HRESULT ( STDMETHODCALLTYPE *Map )(
  1556. ID3D10Texture2D * This,
  1557. /* [annotation] */
  1558. __in UINT Subresource,
  1559. /* [annotation] */
  1560. __in D3D10_MAP MapType,
  1561. /* [annotation] */
  1562. __in UINT MapFlags,
  1563. /* [annotation] */
  1564. __out D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
  1565. void ( STDMETHODCALLTYPE *Unmap )(
  1566. ID3D10Texture2D * This,
  1567. /* [annotation] */
  1568. __in UINT Subresource);
  1569. void ( STDMETHODCALLTYPE *GetDesc )(
  1570. ID3D10Texture2D * This,
  1571. /* [annotation] */
  1572. __out D3D10_TEXTURE2D_DESC *pDesc);
  1573. END_INTERFACE
  1574. } ID3D10Texture2DVtbl;
  1575. interface ID3D10Texture2D
  1576. {
  1577. CONST_VTBL struct ID3D10Texture2DVtbl *lpVtbl;
  1578. };
  1579. #ifdef COBJMACROS
  1580. #define ID3D10Texture2D_QueryInterface(This,riid,ppvObject) \
  1581. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1582. #define ID3D10Texture2D_AddRef(This) \
  1583. ( (This)->lpVtbl -> AddRef(This) )
  1584. #define ID3D10Texture2D_Release(This) \
  1585. ( (This)->lpVtbl -> Release(This) )
  1586. #define ID3D10Texture2D_GetDevice(This,ppDevice) \
  1587. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1588. #define ID3D10Texture2D_GetPrivateData(This,guid,pDataSize,pData) \
  1589. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1590. #define ID3D10Texture2D_SetPrivateData(This,guid,DataSize,pData) \
  1591. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1592. #define ID3D10Texture2D_SetPrivateDataInterface(This,guid,pData) \
  1593. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1594. #define ID3D10Texture2D_GetType(This,rType) \
  1595. ( (This)->lpVtbl -> GetType(This,rType) )
  1596. #define ID3D10Texture2D_SetEvictionPriority(This,EvictionPriority) \
  1597. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1598. #define ID3D10Texture2D_GetEvictionPriority(This) \
  1599. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1600. #define ID3D10Texture2D_Map(This,Subresource,MapType,MapFlags,pMappedTex2D) \
  1601. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex2D) )
  1602. #define ID3D10Texture2D_Unmap(This,Subresource) \
  1603. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1604. #define ID3D10Texture2D_GetDesc(This,pDesc) \
  1605. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1606. #endif /* COBJMACROS */
  1607. #endif /* C style interface */
  1608. #endif /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
  1609. /* interface __MIDL_itf_d3d10_0000_0008 */
  1610. /* [local] */
  1611. typedef struct D3D10_TEXTURE3D_DESC
  1612. {
  1613. UINT Width;
  1614. UINT Height;
  1615. UINT Depth;
  1616. UINT MipLevels;
  1617. DXGI_FORMAT Format;
  1618. D3D10_USAGE Usage;
  1619. UINT BindFlags;
  1620. UINT CPUAccessFlags;
  1621. UINT MiscFlags;
  1622. } D3D10_TEXTURE3D_DESC;
  1623. #if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
  1624. struct CD3D10_TEXTURE3D_DESC : public D3D10_TEXTURE3D_DESC
  1625. {
  1626. CD3D10_TEXTURE3D_DESC()
  1627. {}
  1628. explicit CD3D10_TEXTURE3D_DESC( const D3D10_TEXTURE3D_DESC& o ) :
  1629. D3D10_TEXTURE3D_DESC( o )
  1630. {}
  1631. explicit CD3D10_TEXTURE3D_DESC(
  1632. DXGI_FORMAT format,
  1633. UINT width,
  1634. UINT height,
  1635. UINT depth,
  1636. UINT mipLevels = 0,
  1637. UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,
  1638. D3D10_USAGE usage = D3D10_USAGE_DEFAULT,
  1639. UINT cpuaccessFlags = 0,
  1640. UINT miscFlags = 0 )
  1641. {
  1642. Width = width;
  1643. Height = height;
  1644. Depth = depth;
  1645. MipLevels = mipLevels;
  1646. Format = format;
  1647. Usage = usage;
  1648. BindFlags = bindFlags;
  1649. CPUAccessFlags = cpuaccessFlags;
  1650. MiscFlags = miscFlags;
  1651. }
  1652. ~CD3D10_TEXTURE3D_DESC() {}
  1653. operator const D3D10_TEXTURE3D_DESC&() const { return *this; }
  1654. };
  1655. #endif
  1656. typedef struct D3D10_MAPPED_TEXTURE3D
  1657. {
  1658. void *pData;
  1659. UINT RowPitch;
  1660. UINT DepthPitch;
  1661. } D3D10_MAPPED_TEXTURE3D;
  1662. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_c_ifspec;
  1663. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0008_v0_0_s_ifspec;
  1664. #ifndef __ID3D10Texture3D_INTERFACE_DEFINED__
  1665. #define __ID3D10Texture3D_INTERFACE_DEFINED__
  1666. /* interface ID3D10Texture3D */
  1667. /* [unique][local][object][uuid] */
  1668. EXTERN_C const IID IID_ID3D10Texture3D;
  1669. #if defined(__cplusplus) && !defined(CINTERFACE)
  1670. MIDL_INTERFACE("9B7E4C05-342C-4106-A19F-4F2704F689F0")
  1671. ID3D10Texture3D : public ID3D10Resource
  1672. {
  1673. public:
  1674. virtual HRESULT STDMETHODCALLTYPE Map(
  1675. /* [annotation] */
  1676. __in UINT Subresource,
  1677. /* [annotation] */
  1678. __in D3D10_MAP MapType,
  1679. /* [annotation] */
  1680. __in UINT MapFlags,
  1681. /* [annotation] */
  1682. __out D3D10_MAPPED_TEXTURE3D *pMappedTex3D) = 0;
  1683. virtual void STDMETHODCALLTYPE Unmap(
  1684. /* [annotation] */
  1685. __in UINT Subresource) = 0;
  1686. virtual void STDMETHODCALLTYPE GetDesc(
  1687. /* [annotation] */
  1688. __out D3D10_TEXTURE3D_DESC *pDesc) = 0;
  1689. };
  1690. #else /* C style interface */
  1691. typedef struct ID3D10Texture3DVtbl
  1692. {
  1693. BEGIN_INTERFACE
  1694. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1695. ID3D10Texture3D * This,
  1696. /* [in] */ REFIID riid,
  1697. /* [annotation][iid_is][out] */
  1698. __RPC__deref_out void **ppvObject);
  1699. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1700. ID3D10Texture3D * This);
  1701. ULONG ( STDMETHODCALLTYPE *Release )(
  1702. ID3D10Texture3D * This);
  1703. void ( STDMETHODCALLTYPE *GetDevice )(
  1704. ID3D10Texture3D * This,
  1705. /* [annotation] */
  1706. __out ID3D10Device **ppDevice);
  1707. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1708. ID3D10Texture3D * This,
  1709. /* [annotation] */
  1710. __in REFGUID guid,
  1711. /* [annotation] */
  1712. __inout UINT *pDataSize,
  1713. /* [annotation] */
  1714. __out_bcount_opt(*pDataSize) void *pData);
  1715. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1716. ID3D10Texture3D * This,
  1717. /* [annotation] */
  1718. __in REFGUID guid,
  1719. /* [annotation] */
  1720. __in UINT DataSize,
  1721. /* [annotation] */
  1722. __in_bcount_opt(DataSize) const void *pData);
  1723. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1724. ID3D10Texture3D * This,
  1725. /* [annotation] */
  1726. __in REFGUID guid,
  1727. /* [annotation] */
  1728. __in_opt const IUnknown *pData);
  1729. void ( STDMETHODCALLTYPE *GetType )(
  1730. ID3D10Texture3D * This,
  1731. /* [annotation] */
  1732. __out D3D10_RESOURCE_DIMENSION *rType);
  1733. void ( STDMETHODCALLTYPE *SetEvictionPriority )(
  1734. ID3D10Texture3D * This,
  1735. /* [annotation] */
  1736. __in UINT EvictionPriority);
  1737. UINT ( STDMETHODCALLTYPE *GetEvictionPriority )(
  1738. ID3D10Texture3D * This);
  1739. HRESULT ( STDMETHODCALLTYPE *Map )(
  1740. ID3D10Texture3D * This,
  1741. /* [annotation] */
  1742. __in UINT Subresource,
  1743. /* [annotation] */
  1744. __in D3D10_MAP MapType,
  1745. /* [annotation] */
  1746. __in UINT MapFlags,
  1747. /* [annotation] */
  1748. __out D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
  1749. void ( STDMETHODCALLTYPE *Unmap )(
  1750. ID3D10Texture3D * This,
  1751. /* [annotation] */
  1752. __in UINT Subresource);
  1753. void ( STDMETHODCALLTYPE *GetDesc )(
  1754. ID3D10Texture3D * This,
  1755. /* [annotation] */
  1756. __out D3D10_TEXTURE3D_DESC *pDesc);
  1757. END_INTERFACE
  1758. } ID3D10Texture3DVtbl;
  1759. interface ID3D10Texture3D
  1760. {
  1761. CONST_VTBL struct ID3D10Texture3DVtbl *lpVtbl;
  1762. };
  1763. #ifdef COBJMACROS
  1764. #define ID3D10Texture3D_QueryInterface(This,riid,ppvObject) \
  1765. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1766. #define ID3D10Texture3D_AddRef(This) \
  1767. ( (This)->lpVtbl -> AddRef(This) )
  1768. #define ID3D10Texture3D_Release(This) \
  1769. ( (This)->lpVtbl -> Release(This) )
  1770. #define ID3D10Texture3D_GetDevice(This,ppDevice) \
  1771. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1772. #define ID3D10Texture3D_GetPrivateData(This,guid,pDataSize,pData) \
  1773. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1774. #define ID3D10Texture3D_SetPrivateData(This,guid,DataSize,pData) \
  1775. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1776. #define ID3D10Texture3D_SetPrivateDataInterface(This,guid,pData) \
  1777. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1778. #define ID3D10Texture3D_GetType(This,rType) \
  1779. ( (This)->lpVtbl -> GetType(This,rType) )
  1780. #define ID3D10Texture3D_SetEvictionPriority(This,EvictionPriority) \
  1781. ( (This)->lpVtbl -> SetEvictionPriority(This,EvictionPriority) )
  1782. #define ID3D10Texture3D_GetEvictionPriority(This) \
  1783. ( (This)->lpVtbl -> GetEvictionPriority(This) )
  1784. #define ID3D10Texture3D_Map(This,Subresource,MapType,MapFlags,pMappedTex3D) \
  1785. ( (This)->lpVtbl -> Map(This,Subresource,MapType,MapFlags,pMappedTex3D) )
  1786. #define ID3D10Texture3D_Unmap(This,Subresource) \
  1787. ( (This)->lpVtbl -> Unmap(This,Subresource) )
  1788. #define ID3D10Texture3D_GetDesc(This,pDesc) \
  1789. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  1790. #endif /* COBJMACROS */
  1791. #endif /* C style interface */
  1792. #endif /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
  1793. /* interface __MIDL_itf_d3d10_0000_0009 */
  1794. /* [local] */
  1795. typedef
  1796. enum D3D10_TEXTURECUBE_FACE
  1797. { D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0,
  1798. D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1,
  1799. D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2,
  1800. D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
  1801. D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4,
  1802. D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
  1803. } D3D10_TEXTURECUBE_FACE;
  1804. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_c_ifspec;
  1805. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0009_v0_0_s_ifspec;
  1806. #ifndef __ID3D10View_INTERFACE_DEFINED__
  1807. #define __ID3D10View_INTERFACE_DEFINED__
  1808. /* interface ID3D10View */
  1809. /* [unique][local][object][uuid] */
  1810. EXTERN_C const IID IID_ID3D10View;
  1811. #if defined(__cplusplus) && !defined(CINTERFACE)
  1812. MIDL_INTERFACE("C902B03F-60A7-49BA-9936-2A3AB37A7E33")
  1813. ID3D10View : public ID3D10DeviceChild
  1814. {
  1815. public:
  1816. virtual void STDMETHODCALLTYPE GetResource(
  1817. /* [annotation] */
  1818. __out ID3D10Resource **ppResource) = 0;
  1819. };
  1820. #else /* C style interface */
  1821. typedef struct ID3D10ViewVtbl
  1822. {
  1823. BEGIN_INTERFACE
  1824. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1825. ID3D10View * This,
  1826. /* [in] */ REFIID riid,
  1827. /* [annotation][iid_is][out] */
  1828. __RPC__deref_out void **ppvObject);
  1829. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1830. ID3D10View * This);
  1831. ULONG ( STDMETHODCALLTYPE *Release )(
  1832. ID3D10View * This);
  1833. void ( STDMETHODCALLTYPE *GetDevice )(
  1834. ID3D10View * This,
  1835. /* [annotation] */
  1836. __out ID3D10Device **ppDevice);
  1837. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1838. ID3D10View * This,
  1839. /* [annotation] */
  1840. __in REFGUID guid,
  1841. /* [annotation] */
  1842. __inout UINT *pDataSize,
  1843. /* [annotation] */
  1844. __out_bcount_opt(*pDataSize) void *pData);
  1845. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  1846. ID3D10View * This,
  1847. /* [annotation] */
  1848. __in REFGUID guid,
  1849. /* [annotation] */
  1850. __in UINT DataSize,
  1851. /* [annotation] */
  1852. __in_bcount_opt(DataSize) const void *pData);
  1853. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  1854. ID3D10View * This,
  1855. /* [annotation] */
  1856. __in REFGUID guid,
  1857. /* [annotation] */
  1858. __in_opt const IUnknown *pData);
  1859. void ( STDMETHODCALLTYPE *GetResource )(
  1860. ID3D10View * This,
  1861. /* [annotation] */
  1862. __out ID3D10Resource **ppResource);
  1863. END_INTERFACE
  1864. } ID3D10ViewVtbl;
  1865. interface ID3D10View
  1866. {
  1867. CONST_VTBL struct ID3D10ViewVtbl *lpVtbl;
  1868. };
  1869. #ifdef COBJMACROS
  1870. #define ID3D10View_QueryInterface(This,riid,ppvObject) \
  1871. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  1872. #define ID3D10View_AddRef(This) \
  1873. ( (This)->lpVtbl -> AddRef(This) )
  1874. #define ID3D10View_Release(This) \
  1875. ( (This)->lpVtbl -> Release(This) )
  1876. #define ID3D10View_GetDevice(This,ppDevice) \
  1877. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  1878. #define ID3D10View_GetPrivateData(This,guid,pDataSize,pData) \
  1879. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  1880. #define ID3D10View_SetPrivateData(This,guid,DataSize,pData) \
  1881. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  1882. #define ID3D10View_SetPrivateDataInterface(This,guid,pData) \
  1883. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  1884. #define ID3D10View_GetResource(This,ppResource) \
  1885. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  1886. #endif /* COBJMACROS */
  1887. #endif /* C style interface */
  1888. #endif /* __ID3D10View_INTERFACE_DEFINED__ */
  1889. /* interface __MIDL_itf_d3d10_0000_0010 */
  1890. /* [local] */
  1891. typedef struct D3D10_BUFFER_SRV
  1892. {
  1893. union
  1894. {
  1895. UINT FirstElement;
  1896. UINT ElementOffset;
  1897. } ;
  1898. union
  1899. {
  1900. UINT NumElements;
  1901. UINT ElementWidth;
  1902. } ;
  1903. } D3D10_BUFFER_SRV;
  1904. typedef struct D3D10_TEX1D_SRV
  1905. {
  1906. UINT MostDetailedMip;
  1907. UINT MipLevels;
  1908. } D3D10_TEX1D_SRV;
  1909. typedef struct D3D10_TEX1D_ARRAY_SRV
  1910. {
  1911. UINT MostDetailedMip;
  1912. UINT MipLevels;
  1913. UINT FirstArraySlice;
  1914. UINT ArraySize;
  1915. } D3D10_TEX1D_ARRAY_SRV;
  1916. typedef struct D3D10_TEX2D_SRV
  1917. {
  1918. UINT MostDetailedMip;
  1919. UINT MipLevels;
  1920. } D3D10_TEX2D_SRV;
  1921. typedef struct D3D10_TEX2D_ARRAY_SRV
  1922. {
  1923. UINT MostDetailedMip;
  1924. UINT MipLevels;
  1925. UINT FirstArraySlice;
  1926. UINT ArraySize;
  1927. } D3D10_TEX2D_ARRAY_SRV;
  1928. typedef struct D3D10_TEX3D_SRV
  1929. {
  1930. UINT MostDetailedMip;
  1931. UINT MipLevels;
  1932. } D3D10_TEX3D_SRV;
  1933. typedef struct D3D10_TEXCUBE_SRV
  1934. {
  1935. UINT MostDetailedMip;
  1936. UINT MipLevels;
  1937. } D3D10_TEXCUBE_SRV;
  1938. typedef struct D3D10_TEX2DMS_SRV
  1939. {
  1940. UINT UnusedField_NothingToDefine;
  1941. } D3D10_TEX2DMS_SRV;
  1942. typedef struct D3D10_TEX2DMS_ARRAY_SRV
  1943. {
  1944. UINT FirstArraySlice;
  1945. UINT ArraySize;
  1946. } D3D10_TEX2DMS_ARRAY_SRV;
  1947. typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC
  1948. {
  1949. DXGI_FORMAT Format;
  1950. D3D10_SRV_DIMENSION ViewDimension;
  1951. union
  1952. {
  1953. D3D10_BUFFER_SRV Buffer;
  1954. D3D10_TEX1D_SRV Texture1D;
  1955. D3D10_TEX1D_ARRAY_SRV Texture1DArray;
  1956. D3D10_TEX2D_SRV Texture2D;
  1957. D3D10_TEX2D_ARRAY_SRV Texture2DArray;
  1958. D3D10_TEX2DMS_SRV Texture2DMS;
  1959. D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  1960. D3D10_TEX3D_SRV Texture3D;
  1961. D3D10_TEXCUBE_SRV TextureCube;
  1962. } ;
  1963. } D3D10_SHADER_RESOURCE_VIEW_DESC;
  1964. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_c_ifspec;
  1965. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0010_v0_0_s_ifspec;
  1966. #ifndef __ID3D10ShaderResourceView_INTERFACE_DEFINED__
  1967. #define __ID3D10ShaderResourceView_INTERFACE_DEFINED__
  1968. /* interface ID3D10ShaderResourceView */
  1969. /* [unique][local][object][uuid] */
  1970. EXTERN_C const IID IID_ID3D10ShaderResourceView;
  1971. #if defined(__cplusplus) && !defined(CINTERFACE)
  1972. MIDL_INTERFACE("9B7E4C07-342C-4106-A19F-4F2704F689F0")
  1973. ID3D10ShaderResourceView : public ID3D10View
  1974. {
  1975. public:
  1976. virtual void STDMETHODCALLTYPE GetDesc(
  1977. /* [annotation] */
  1978. __out D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc) = 0;
  1979. };
  1980. #else /* C style interface */
  1981. typedef struct ID3D10ShaderResourceViewVtbl
  1982. {
  1983. BEGIN_INTERFACE
  1984. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1985. ID3D10ShaderResourceView * This,
  1986. /* [in] */ REFIID riid,
  1987. /* [annotation][iid_is][out] */
  1988. __RPC__deref_out void **ppvObject);
  1989. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1990. ID3D10ShaderResourceView * This);
  1991. ULONG ( STDMETHODCALLTYPE *Release )(
  1992. ID3D10ShaderResourceView * This);
  1993. void ( STDMETHODCALLTYPE *GetDevice )(
  1994. ID3D10ShaderResourceView * This,
  1995. /* [annotation] */
  1996. __out ID3D10Device **ppDevice);
  1997. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  1998. ID3D10ShaderResourceView * This,
  1999. /* [annotation] */
  2000. __in REFGUID guid,
  2001. /* [annotation] */
  2002. __inout UINT *pDataSize,
  2003. /* [annotation] */
  2004. __out_bcount_opt(*pDataSize) void *pData);
  2005. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2006. ID3D10ShaderResourceView * This,
  2007. /* [annotation] */
  2008. __in REFGUID guid,
  2009. /* [annotation] */
  2010. __in UINT DataSize,
  2011. /* [annotation] */
  2012. __in_bcount_opt(DataSize) const void *pData);
  2013. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2014. ID3D10ShaderResourceView * This,
  2015. /* [annotation] */
  2016. __in REFGUID guid,
  2017. /* [annotation] */
  2018. __in_opt const IUnknown *pData);
  2019. void ( STDMETHODCALLTYPE *GetResource )(
  2020. ID3D10ShaderResourceView * This,
  2021. /* [annotation] */
  2022. __out ID3D10Resource **ppResource);
  2023. void ( STDMETHODCALLTYPE *GetDesc )(
  2024. ID3D10ShaderResourceView * This,
  2025. /* [annotation] */
  2026. __out D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
  2027. END_INTERFACE
  2028. } ID3D10ShaderResourceViewVtbl;
  2029. interface ID3D10ShaderResourceView
  2030. {
  2031. CONST_VTBL struct ID3D10ShaderResourceViewVtbl *lpVtbl;
  2032. };
  2033. #ifdef COBJMACROS
  2034. #define ID3D10ShaderResourceView_QueryInterface(This,riid,ppvObject) \
  2035. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2036. #define ID3D10ShaderResourceView_AddRef(This) \
  2037. ( (This)->lpVtbl -> AddRef(This) )
  2038. #define ID3D10ShaderResourceView_Release(This) \
  2039. ( (This)->lpVtbl -> Release(This) )
  2040. #define ID3D10ShaderResourceView_GetDevice(This,ppDevice) \
  2041. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2042. #define ID3D10ShaderResourceView_GetPrivateData(This,guid,pDataSize,pData) \
  2043. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2044. #define ID3D10ShaderResourceView_SetPrivateData(This,guid,DataSize,pData) \
  2045. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2046. #define ID3D10ShaderResourceView_SetPrivateDataInterface(This,guid,pData) \
  2047. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2048. #define ID3D10ShaderResourceView_GetResource(This,ppResource) \
  2049. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2050. #define ID3D10ShaderResourceView_GetDesc(This,pDesc) \
  2051. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2052. #endif /* COBJMACROS */
  2053. #endif /* C style interface */
  2054. #endif /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
  2055. /* interface __MIDL_itf_d3d10_0000_0011 */
  2056. /* [local] */
  2057. typedef struct D3D10_BUFFER_RTV
  2058. {
  2059. union
  2060. {
  2061. UINT FirstElement;
  2062. UINT ElementOffset;
  2063. } ;
  2064. union
  2065. {
  2066. UINT NumElements;
  2067. UINT ElementWidth;
  2068. } ;
  2069. } D3D10_BUFFER_RTV;
  2070. typedef struct D3D10_TEX1D_RTV
  2071. {
  2072. UINT MipSlice;
  2073. } D3D10_TEX1D_RTV;
  2074. typedef struct D3D10_TEX1D_ARRAY_RTV
  2075. {
  2076. UINT MipSlice;
  2077. UINT FirstArraySlice;
  2078. UINT ArraySize;
  2079. } D3D10_TEX1D_ARRAY_RTV;
  2080. typedef struct D3D10_TEX2D_RTV
  2081. {
  2082. UINT MipSlice;
  2083. } D3D10_TEX2D_RTV;
  2084. typedef struct D3D10_TEX2DMS_RTV
  2085. {
  2086. UINT UnusedField_NothingToDefine;
  2087. } D3D10_TEX2DMS_RTV;
  2088. typedef struct D3D10_TEX2D_ARRAY_RTV
  2089. {
  2090. UINT MipSlice;
  2091. UINT FirstArraySlice;
  2092. UINT ArraySize;
  2093. } D3D10_TEX2D_ARRAY_RTV;
  2094. typedef struct D3D10_TEX2DMS_ARRAY_RTV
  2095. {
  2096. UINT FirstArraySlice;
  2097. UINT ArraySize;
  2098. } D3D10_TEX2DMS_ARRAY_RTV;
  2099. typedef struct D3D10_TEX3D_RTV
  2100. {
  2101. UINT MipSlice;
  2102. UINT FirstWSlice;
  2103. UINT WSize;
  2104. } D3D10_TEX3D_RTV;
  2105. typedef struct D3D10_RENDER_TARGET_VIEW_DESC
  2106. {
  2107. DXGI_FORMAT Format;
  2108. D3D10_RTV_DIMENSION ViewDimension;
  2109. union
  2110. {
  2111. D3D10_BUFFER_RTV Buffer;
  2112. D3D10_TEX1D_RTV Texture1D;
  2113. D3D10_TEX1D_ARRAY_RTV Texture1DArray;
  2114. D3D10_TEX2D_RTV Texture2D;
  2115. D3D10_TEX2D_ARRAY_RTV Texture2DArray;
  2116. D3D10_TEX2DMS_RTV Texture2DMS;
  2117. D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
  2118. D3D10_TEX3D_RTV Texture3D;
  2119. } ;
  2120. } D3D10_RENDER_TARGET_VIEW_DESC;
  2121. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_c_ifspec;
  2122. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0011_v0_0_s_ifspec;
  2123. #ifndef __ID3D10RenderTargetView_INTERFACE_DEFINED__
  2124. #define __ID3D10RenderTargetView_INTERFACE_DEFINED__
  2125. /* interface ID3D10RenderTargetView */
  2126. /* [unique][local][object][uuid] */
  2127. EXTERN_C const IID IID_ID3D10RenderTargetView;
  2128. #if defined(__cplusplus) && !defined(CINTERFACE)
  2129. MIDL_INTERFACE("9B7E4C08-342C-4106-A19F-4F2704F689F0")
  2130. ID3D10RenderTargetView : public ID3D10View
  2131. {
  2132. public:
  2133. virtual void STDMETHODCALLTYPE GetDesc(
  2134. /* [annotation] */
  2135. __out D3D10_RENDER_TARGET_VIEW_DESC *pDesc) = 0;
  2136. };
  2137. #else /* C style interface */
  2138. typedef struct ID3D10RenderTargetViewVtbl
  2139. {
  2140. BEGIN_INTERFACE
  2141. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2142. ID3D10RenderTargetView * This,
  2143. /* [in] */ REFIID riid,
  2144. /* [annotation][iid_is][out] */
  2145. __RPC__deref_out void **ppvObject);
  2146. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2147. ID3D10RenderTargetView * This);
  2148. ULONG ( STDMETHODCALLTYPE *Release )(
  2149. ID3D10RenderTargetView * This);
  2150. void ( STDMETHODCALLTYPE *GetDevice )(
  2151. ID3D10RenderTargetView * This,
  2152. /* [annotation] */
  2153. __out ID3D10Device **ppDevice);
  2154. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2155. ID3D10RenderTargetView * This,
  2156. /* [annotation] */
  2157. __in REFGUID guid,
  2158. /* [annotation] */
  2159. __inout UINT *pDataSize,
  2160. /* [annotation] */
  2161. __out_bcount_opt(*pDataSize) void *pData);
  2162. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2163. ID3D10RenderTargetView * This,
  2164. /* [annotation] */
  2165. __in REFGUID guid,
  2166. /* [annotation] */
  2167. __in UINT DataSize,
  2168. /* [annotation] */
  2169. __in_bcount_opt(DataSize) const void *pData);
  2170. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2171. ID3D10RenderTargetView * This,
  2172. /* [annotation] */
  2173. __in REFGUID guid,
  2174. /* [annotation] */
  2175. __in_opt const IUnknown *pData);
  2176. void ( STDMETHODCALLTYPE *GetResource )(
  2177. ID3D10RenderTargetView * This,
  2178. /* [annotation] */
  2179. __out ID3D10Resource **ppResource);
  2180. void ( STDMETHODCALLTYPE *GetDesc )(
  2181. ID3D10RenderTargetView * This,
  2182. /* [annotation] */
  2183. __out D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
  2184. END_INTERFACE
  2185. } ID3D10RenderTargetViewVtbl;
  2186. interface ID3D10RenderTargetView
  2187. {
  2188. CONST_VTBL struct ID3D10RenderTargetViewVtbl *lpVtbl;
  2189. };
  2190. #ifdef COBJMACROS
  2191. #define ID3D10RenderTargetView_QueryInterface(This,riid,ppvObject) \
  2192. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2193. #define ID3D10RenderTargetView_AddRef(This) \
  2194. ( (This)->lpVtbl -> AddRef(This) )
  2195. #define ID3D10RenderTargetView_Release(This) \
  2196. ( (This)->lpVtbl -> Release(This) )
  2197. #define ID3D10RenderTargetView_GetDevice(This,ppDevice) \
  2198. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2199. #define ID3D10RenderTargetView_GetPrivateData(This,guid,pDataSize,pData) \
  2200. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2201. #define ID3D10RenderTargetView_SetPrivateData(This,guid,DataSize,pData) \
  2202. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2203. #define ID3D10RenderTargetView_SetPrivateDataInterface(This,guid,pData) \
  2204. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2205. #define ID3D10RenderTargetView_GetResource(This,ppResource) \
  2206. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2207. #define ID3D10RenderTargetView_GetDesc(This,pDesc) \
  2208. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2209. #endif /* COBJMACROS */
  2210. #endif /* C style interface */
  2211. #endif /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
  2212. /* interface __MIDL_itf_d3d10_0000_0012 */
  2213. /* [local] */
  2214. typedef struct D3D10_TEX1D_DSV
  2215. {
  2216. UINT MipSlice;
  2217. } D3D10_TEX1D_DSV;
  2218. typedef struct D3D10_TEX1D_ARRAY_DSV
  2219. {
  2220. UINT MipSlice;
  2221. UINT FirstArraySlice;
  2222. UINT ArraySize;
  2223. } D3D10_TEX1D_ARRAY_DSV;
  2224. typedef struct D3D10_TEX2D_DSV
  2225. {
  2226. UINT MipSlice;
  2227. } D3D10_TEX2D_DSV;
  2228. typedef struct D3D10_TEX2D_ARRAY_DSV
  2229. {
  2230. UINT MipSlice;
  2231. UINT FirstArraySlice;
  2232. UINT ArraySize;
  2233. } D3D10_TEX2D_ARRAY_DSV;
  2234. typedef struct D3D10_TEX2DMS_DSV
  2235. {
  2236. UINT UnusedField_NothingToDefine;
  2237. } D3D10_TEX2DMS_DSV;
  2238. typedef struct D3D10_TEX2DMS_ARRAY_DSV
  2239. {
  2240. UINT FirstArraySlice;
  2241. UINT ArraySize;
  2242. } D3D10_TEX2DMS_ARRAY_DSV;
  2243. typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC
  2244. {
  2245. DXGI_FORMAT Format;
  2246. D3D10_DSV_DIMENSION ViewDimension;
  2247. union
  2248. {
  2249. D3D10_TEX1D_DSV Texture1D;
  2250. D3D10_TEX1D_ARRAY_DSV Texture1DArray;
  2251. D3D10_TEX2D_DSV Texture2D;
  2252. D3D10_TEX2D_ARRAY_DSV Texture2DArray;
  2253. D3D10_TEX2DMS_DSV Texture2DMS;
  2254. D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
  2255. } ;
  2256. } D3D10_DEPTH_STENCIL_VIEW_DESC;
  2257. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_c_ifspec;
  2258. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0012_v0_0_s_ifspec;
  2259. #ifndef __ID3D10DepthStencilView_INTERFACE_DEFINED__
  2260. #define __ID3D10DepthStencilView_INTERFACE_DEFINED__
  2261. /* interface ID3D10DepthStencilView */
  2262. /* [unique][local][object][uuid] */
  2263. EXTERN_C const IID IID_ID3D10DepthStencilView;
  2264. #if defined(__cplusplus) && !defined(CINTERFACE)
  2265. MIDL_INTERFACE("9B7E4C09-342C-4106-A19F-4F2704F689F0")
  2266. ID3D10DepthStencilView : public ID3D10View
  2267. {
  2268. public:
  2269. virtual void STDMETHODCALLTYPE GetDesc(
  2270. /* [annotation] */
  2271. __out D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc) = 0;
  2272. };
  2273. #else /* C style interface */
  2274. typedef struct ID3D10DepthStencilViewVtbl
  2275. {
  2276. BEGIN_INTERFACE
  2277. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2278. ID3D10DepthStencilView * This,
  2279. /* [in] */ REFIID riid,
  2280. /* [annotation][iid_is][out] */
  2281. __RPC__deref_out void **ppvObject);
  2282. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2283. ID3D10DepthStencilView * This);
  2284. ULONG ( STDMETHODCALLTYPE *Release )(
  2285. ID3D10DepthStencilView * This);
  2286. void ( STDMETHODCALLTYPE *GetDevice )(
  2287. ID3D10DepthStencilView * This,
  2288. /* [annotation] */
  2289. __out ID3D10Device **ppDevice);
  2290. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2291. ID3D10DepthStencilView * This,
  2292. /* [annotation] */
  2293. __in REFGUID guid,
  2294. /* [annotation] */
  2295. __inout UINT *pDataSize,
  2296. /* [annotation] */
  2297. __out_bcount_opt(*pDataSize) void *pData);
  2298. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2299. ID3D10DepthStencilView * This,
  2300. /* [annotation] */
  2301. __in REFGUID guid,
  2302. /* [annotation] */
  2303. __in UINT DataSize,
  2304. /* [annotation] */
  2305. __in_bcount_opt(DataSize) const void *pData);
  2306. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2307. ID3D10DepthStencilView * This,
  2308. /* [annotation] */
  2309. __in REFGUID guid,
  2310. /* [annotation] */
  2311. __in_opt const IUnknown *pData);
  2312. void ( STDMETHODCALLTYPE *GetResource )(
  2313. ID3D10DepthStencilView * This,
  2314. /* [annotation] */
  2315. __out ID3D10Resource **ppResource);
  2316. void ( STDMETHODCALLTYPE *GetDesc )(
  2317. ID3D10DepthStencilView * This,
  2318. /* [annotation] */
  2319. __out D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
  2320. END_INTERFACE
  2321. } ID3D10DepthStencilViewVtbl;
  2322. interface ID3D10DepthStencilView
  2323. {
  2324. CONST_VTBL struct ID3D10DepthStencilViewVtbl *lpVtbl;
  2325. };
  2326. #ifdef COBJMACROS
  2327. #define ID3D10DepthStencilView_QueryInterface(This,riid,ppvObject) \
  2328. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2329. #define ID3D10DepthStencilView_AddRef(This) \
  2330. ( (This)->lpVtbl -> AddRef(This) )
  2331. #define ID3D10DepthStencilView_Release(This) \
  2332. ( (This)->lpVtbl -> Release(This) )
  2333. #define ID3D10DepthStencilView_GetDevice(This,ppDevice) \
  2334. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2335. #define ID3D10DepthStencilView_GetPrivateData(This,guid,pDataSize,pData) \
  2336. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2337. #define ID3D10DepthStencilView_SetPrivateData(This,guid,DataSize,pData) \
  2338. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2339. #define ID3D10DepthStencilView_SetPrivateDataInterface(This,guid,pData) \
  2340. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2341. #define ID3D10DepthStencilView_GetResource(This,ppResource) \
  2342. ( (This)->lpVtbl -> GetResource(This,ppResource) )
  2343. #define ID3D10DepthStencilView_GetDesc(This,pDesc) \
  2344. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2345. #endif /* COBJMACROS */
  2346. #endif /* C style interface */
  2347. #endif /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
  2348. #ifndef __ID3D10VertexShader_INTERFACE_DEFINED__
  2349. #define __ID3D10VertexShader_INTERFACE_DEFINED__
  2350. /* interface ID3D10VertexShader */
  2351. /* [unique][local][object][uuid] */
  2352. EXTERN_C const IID IID_ID3D10VertexShader;
  2353. #if defined(__cplusplus) && !defined(CINTERFACE)
  2354. MIDL_INTERFACE("9B7E4C0A-342C-4106-A19F-4F2704F689F0")
  2355. ID3D10VertexShader : public ID3D10DeviceChild
  2356. {
  2357. public:
  2358. };
  2359. #else /* C style interface */
  2360. typedef struct ID3D10VertexShaderVtbl
  2361. {
  2362. BEGIN_INTERFACE
  2363. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2364. ID3D10VertexShader * This,
  2365. /* [in] */ REFIID riid,
  2366. /* [annotation][iid_is][out] */
  2367. __RPC__deref_out void **ppvObject);
  2368. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2369. ID3D10VertexShader * This);
  2370. ULONG ( STDMETHODCALLTYPE *Release )(
  2371. ID3D10VertexShader * This);
  2372. void ( STDMETHODCALLTYPE *GetDevice )(
  2373. ID3D10VertexShader * This,
  2374. /* [annotation] */
  2375. __out ID3D10Device **ppDevice);
  2376. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2377. ID3D10VertexShader * This,
  2378. /* [annotation] */
  2379. __in REFGUID guid,
  2380. /* [annotation] */
  2381. __inout UINT *pDataSize,
  2382. /* [annotation] */
  2383. __out_bcount_opt(*pDataSize) void *pData);
  2384. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2385. ID3D10VertexShader * This,
  2386. /* [annotation] */
  2387. __in REFGUID guid,
  2388. /* [annotation] */
  2389. __in UINT DataSize,
  2390. /* [annotation] */
  2391. __in_bcount_opt(DataSize) const void *pData);
  2392. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2393. ID3D10VertexShader * This,
  2394. /* [annotation] */
  2395. __in REFGUID guid,
  2396. /* [annotation] */
  2397. __in_opt const IUnknown *pData);
  2398. END_INTERFACE
  2399. } ID3D10VertexShaderVtbl;
  2400. interface ID3D10VertexShader
  2401. {
  2402. CONST_VTBL struct ID3D10VertexShaderVtbl *lpVtbl;
  2403. };
  2404. #ifdef COBJMACROS
  2405. #define ID3D10VertexShader_QueryInterface(This,riid,ppvObject) \
  2406. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2407. #define ID3D10VertexShader_AddRef(This) \
  2408. ( (This)->lpVtbl -> AddRef(This) )
  2409. #define ID3D10VertexShader_Release(This) \
  2410. ( (This)->lpVtbl -> Release(This) )
  2411. #define ID3D10VertexShader_GetDevice(This,ppDevice) \
  2412. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2413. #define ID3D10VertexShader_GetPrivateData(This,guid,pDataSize,pData) \
  2414. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2415. #define ID3D10VertexShader_SetPrivateData(This,guid,DataSize,pData) \
  2416. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2417. #define ID3D10VertexShader_SetPrivateDataInterface(This,guid,pData) \
  2418. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2419. #endif /* COBJMACROS */
  2420. #endif /* C style interface */
  2421. #endif /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
  2422. #ifndef __ID3D10GeometryShader_INTERFACE_DEFINED__
  2423. #define __ID3D10GeometryShader_INTERFACE_DEFINED__
  2424. /* interface ID3D10GeometryShader */
  2425. /* [unique][local][object][uuid] */
  2426. EXTERN_C const IID IID_ID3D10GeometryShader;
  2427. #if defined(__cplusplus) && !defined(CINTERFACE)
  2428. MIDL_INTERFACE("6316BE88-54CD-4040-AB44-20461BC81F68")
  2429. ID3D10GeometryShader : public ID3D10DeviceChild
  2430. {
  2431. public:
  2432. };
  2433. #else /* C style interface */
  2434. typedef struct ID3D10GeometryShaderVtbl
  2435. {
  2436. BEGIN_INTERFACE
  2437. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2438. ID3D10GeometryShader * This,
  2439. /* [in] */ REFIID riid,
  2440. /* [annotation][iid_is][out] */
  2441. __RPC__deref_out void **ppvObject);
  2442. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2443. ID3D10GeometryShader * This);
  2444. ULONG ( STDMETHODCALLTYPE *Release )(
  2445. ID3D10GeometryShader * This);
  2446. void ( STDMETHODCALLTYPE *GetDevice )(
  2447. ID3D10GeometryShader * This,
  2448. /* [annotation] */
  2449. __out ID3D10Device **ppDevice);
  2450. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2451. ID3D10GeometryShader * This,
  2452. /* [annotation] */
  2453. __in REFGUID guid,
  2454. /* [annotation] */
  2455. __inout UINT *pDataSize,
  2456. /* [annotation] */
  2457. __out_bcount_opt(*pDataSize) void *pData);
  2458. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2459. ID3D10GeometryShader * This,
  2460. /* [annotation] */
  2461. __in REFGUID guid,
  2462. /* [annotation] */
  2463. __in UINT DataSize,
  2464. /* [annotation] */
  2465. __in_bcount_opt(DataSize) const void *pData);
  2466. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2467. ID3D10GeometryShader * This,
  2468. /* [annotation] */
  2469. __in REFGUID guid,
  2470. /* [annotation] */
  2471. __in_opt const IUnknown *pData);
  2472. END_INTERFACE
  2473. } ID3D10GeometryShaderVtbl;
  2474. interface ID3D10GeometryShader
  2475. {
  2476. CONST_VTBL struct ID3D10GeometryShaderVtbl *lpVtbl;
  2477. };
  2478. #ifdef COBJMACROS
  2479. #define ID3D10GeometryShader_QueryInterface(This,riid,ppvObject) \
  2480. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2481. #define ID3D10GeometryShader_AddRef(This) \
  2482. ( (This)->lpVtbl -> AddRef(This) )
  2483. #define ID3D10GeometryShader_Release(This) \
  2484. ( (This)->lpVtbl -> Release(This) )
  2485. #define ID3D10GeometryShader_GetDevice(This,ppDevice) \
  2486. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2487. #define ID3D10GeometryShader_GetPrivateData(This,guid,pDataSize,pData) \
  2488. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2489. #define ID3D10GeometryShader_SetPrivateData(This,guid,DataSize,pData) \
  2490. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2491. #define ID3D10GeometryShader_SetPrivateDataInterface(This,guid,pData) \
  2492. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2493. #endif /* COBJMACROS */
  2494. #endif /* C style interface */
  2495. #endif /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
  2496. #ifndef __ID3D10PixelShader_INTERFACE_DEFINED__
  2497. #define __ID3D10PixelShader_INTERFACE_DEFINED__
  2498. /* interface ID3D10PixelShader */
  2499. /* [unique][local][object][uuid] */
  2500. EXTERN_C const IID IID_ID3D10PixelShader;
  2501. #if defined(__cplusplus) && !defined(CINTERFACE)
  2502. MIDL_INTERFACE("4968B601-9D00-4cde-8346-8E7F675819B6")
  2503. ID3D10PixelShader : public ID3D10DeviceChild
  2504. {
  2505. public:
  2506. };
  2507. #else /* C style interface */
  2508. typedef struct ID3D10PixelShaderVtbl
  2509. {
  2510. BEGIN_INTERFACE
  2511. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2512. ID3D10PixelShader * This,
  2513. /* [in] */ REFIID riid,
  2514. /* [annotation][iid_is][out] */
  2515. __RPC__deref_out void **ppvObject);
  2516. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2517. ID3D10PixelShader * This);
  2518. ULONG ( STDMETHODCALLTYPE *Release )(
  2519. ID3D10PixelShader * This);
  2520. void ( STDMETHODCALLTYPE *GetDevice )(
  2521. ID3D10PixelShader * This,
  2522. /* [annotation] */
  2523. __out ID3D10Device **ppDevice);
  2524. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2525. ID3D10PixelShader * This,
  2526. /* [annotation] */
  2527. __in REFGUID guid,
  2528. /* [annotation] */
  2529. __inout UINT *pDataSize,
  2530. /* [annotation] */
  2531. __out_bcount_opt(*pDataSize) void *pData);
  2532. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2533. ID3D10PixelShader * This,
  2534. /* [annotation] */
  2535. __in REFGUID guid,
  2536. /* [annotation] */
  2537. __in UINT DataSize,
  2538. /* [annotation] */
  2539. __in_bcount_opt(DataSize) const void *pData);
  2540. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2541. ID3D10PixelShader * This,
  2542. /* [annotation] */
  2543. __in REFGUID guid,
  2544. /* [annotation] */
  2545. __in_opt const IUnknown *pData);
  2546. END_INTERFACE
  2547. } ID3D10PixelShaderVtbl;
  2548. interface ID3D10PixelShader
  2549. {
  2550. CONST_VTBL struct ID3D10PixelShaderVtbl *lpVtbl;
  2551. };
  2552. #ifdef COBJMACROS
  2553. #define ID3D10PixelShader_QueryInterface(This,riid,ppvObject) \
  2554. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2555. #define ID3D10PixelShader_AddRef(This) \
  2556. ( (This)->lpVtbl -> AddRef(This) )
  2557. #define ID3D10PixelShader_Release(This) \
  2558. ( (This)->lpVtbl -> Release(This) )
  2559. #define ID3D10PixelShader_GetDevice(This,ppDevice) \
  2560. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2561. #define ID3D10PixelShader_GetPrivateData(This,guid,pDataSize,pData) \
  2562. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2563. #define ID3D10PixelShader_SetPrivateData(This,guid,DataSize,pData) \
  2564. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2565. #define ID3D10PixelShader_SetPrivateDataInterface(This,guid,pData) \
  2566. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2567. #endif /* COBJMACROS */
  2568. #endif /* C style interface */
  2569. #endif /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
  2570. #ifndef __ID3D10InputLayout_INTERFACE_DEFINED__
  2571. #define __ID3D10InputLayout_INTERFACE_DEFINED__
  2572. /* interface ID3D10InputLayout */
  2573. /* [unique][local][object][uuid] */
  2574. EXTERN_C const IID IID_ID3D10InputLayout;
  2575. #if defined(__cplusplus) && !defined(CINTERFACE)
  2576. MIDL_INTERFACE("9B7E4C0B-342C-4106-A19F-4F2704F689F0")
  2577. ID3D10InputLayout : public ID3D10DeviceChild
  2578. {
  2579. public:
  2580. };
  2581. #else /* C style interface */
  2582. typedef struct ID3D10InputLayoutVtbl
  2583. {
  2584. BEGIN_INTERFACE
  2585. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2586. ID3D10InputLayout * This,
  2587. /* [in] */ REFIID riid,
  2588. /* [annotation][iid_is][out] */
  2589. __RPC__deref_out void **ppvObject);
  2590. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2591. ID3D10InputLayout * This);
  2592. ULONG ( STDMETHODCALLTYPE *Release )(
  2593. ID3D10InputLayout * This);
  2594. void ( STDMETHODCALLTYPE *GetDevice )(
  2595. ID3D10InputLayout * This,
  2596. /* [annotation] */
  2597. __out ID3D10Device **ppDevice);
  2598. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2599. ID3D10InputLayout * This,
  2600. /* [annotation] */
  2601. __in REFGUID guid,
  2602. /* [annotation] */
  2603. __inout UINT *pDataSize,
  2604. /* [annotation] */
  2605. __out_bcount_opt(*pDataSize) void *pData);
  2606. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2607. ID3D10InputLayout * This,
  2608. /* [annotation] */
  2609. __in REFGUID guid,
  2610. /* [annotation] */
  2611. __in UINT DataSize,
  2612. /* [annotation] */
  2613. __in_bcount_opt(DataSize) const void *pData);
  2614. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2615. ID3D10InputLayout * This,
  2616. /* [annotation] */
  2617. __in REFGUID guid,
  2618. /* [annotation] */
  2619. __in_opt const IUnknown *pData);
  2620. END_INTERFACE
  2621. } ID3D10InputLayoutVtbl;
  2622. interface ID3D10InputLayout
  2623. {
  2624. CONST_VTBL struct ID3D10InputLayoutVtbl *lpVtbl;
  2625. };
  2626. #ifdef COBJMACROS
  2627. #define ID3D10InputLayout_QueryInterface(This,riid,ppvObject) \
  2628. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2629. #define ID3D10InputLayout_AddRef(This) \
  2630. ( (This)->lpVtbl -> AddRef(This) )
  2631. #define ID3D10InputLayout_Release(This) \
  2632. ( (This)->lpVtbl -> Release(This) )
  2633. #define ID3D10InputLayout_GetDevice(This,ppDevice) \
  2634. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2635. #define ID3D10InputLayout_GetPrivateData(This,guid,pDataSize,pData) \
  2636. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2637. #define ID3D10InputLayout_SetPrivateData(This,guid,DataSize,pData) \
  2638. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2639. #define ID3D10InputLayout_SetPrivateDataInterface(This,guid,pData) \
  2640. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2641. #endif /* COBJMACROS */
  2642. #endif /* C style interface */
  2643. #endif /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
  2644. /* interface __MIDL_itf_d3d10_0000_0017 */
  2645. /* [local] */
  2646. typedef
  2647. enum D3D10_FILTER
  2648. { D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
  2649. D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  2650. D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  2651. D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  2652. D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  2653. D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  2654. D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  2655. D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  2656. D3D10_FILTER_ANISOTROPIC = 0x55,
  2657. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  2658. D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  2659. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  2660. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  2661. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  2662. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  2663. D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  2664. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  2665. D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
  2666. D3D10_FILTER_TEXT_1BIT = 0x80000000
  2667. } D3D10_FILTER;
  2668. typedef
  2669. enum D3D10_FILTER_TYPE
  2670. { D3D10_FILTER_TYPE_POINT = 0,
  2671. D3D10_FILTER_TYPE_LINEAR = 1
  2672. } D3D10_FILTER_TYPE;
  2673. #define D3D10_FILTER_TYPE_MASK ( 0x3 )
  2674. #define D3D10_MIN_FILTER_SHIFT ( 4 )
  2675. #define D3D10_MAG_FILTER_SHIFT ( 2 )
  2676. #define D3D10_MIP_FILTER_SHIFT ( 0 )
  2677. #define D3D10_COMPARISON_FILTERING_BIT ( 0x80 )
  2678. #define D3D10_ANISOTROPIC_FILTERING_BIT ( 0x40 )
  2679. #define D3D10_TEXT_1BIT_BIT ( 0x80000000 )
  2680. #define D3D10_ENCODE_BASIC_FILTER( min, mag, mip, bComparison ) \
  2681. ( ( D3D10_FILTER ) ( \
  2682. ( ( bComparison ) ? D3D10_COMPARISON_FILTERING_BIT : 0 ) | \
  2683. ( ( ( min ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIN_FILTER_SHIFT ) | \
  2684. ( ( ( mag ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MAG_FILTER_SHIFT ) | \
  2685. ( ( ( mip ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIP_FILTER_SHIFT ) ) )
  2686. #define D3D10_ENCODE_ANISOTROPIC_FILTER( bComparison ) \
  2687. ( ( D3D10_FILTER ) ( \
  2688. D3D10_ANISOTROPIC_FILTERING_BIT | \
  2689. D3D10_ENCODE_BASIC_FILTER( D3D10_FILTER_TYPE_LINEAR, \
  2690. D3D10_FILTER_TYPE_LINEAR, \
  2691. D3D10_FILTER_TYPE_LINEAR, \
  2692. bComparison ) ) )
  2693. #define D3D10_DECODE_MIN_FILTER( d3d10Filter ) \
  2694. ( ( D3D10_FILTER_TYPE ) \
  2695. ( ( ( d3d10Filter ) >> D3D10_MIN_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2696. #define D3D10_DECODE_MAG_FILTER( d3d10Filter ) \
  2697. ( ( D3D10_FILTER_TYPE ) \
  2698. ( ( ( d3d10Filter ) >> D3D10_MAG_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2699. #define D3D10_DECODE_MIP_FILTER( d3d10Filter ) \
  2700. ( ( D3D10_FILTER_TYPE ) \
  2701. ( ( ( d3d10Filter ) >> D3D10_MIP_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
  2702. #define D3D10_DECODE_IS_COMPARISON_FILTER( d3d10Filter ) \
  2703. ( ( d3d10Filter ) & D3D10_COMPARISON_FILTERING_BIT )
  2704. #define D3D10_DECODE_IS_ANISOTROPIC_FILTER( d3d10Filter ) \
  2705. ( ( ( d3d10Filter ) & D3D10_ANISOTROPIC_FILTERING_BIT ) && \
  2706. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER( d3d10Filter ) ) && \
  2707. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER( d3d10Filter ) ) && \
  2708. ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER( d3d10Filter ) ) )
  2709. #define D3D10_DECODE_IS_TEXT_1BIT_FILTER( d3d10Filter ) \
  2710. ( ( d3d10Filter ) == D3D10_TEXT_1BIT_BIT )
  2711. typedef
  2712. enum D3D10_TEXTURE_ADDRESS_MODE
  2713. { D3D10_TEXTURE_ADDRESS_WRAP = 1,
  2714. D3D10_TEXTURE_ADDRESS_MIRROR = 2,
  2715. D3D10_TEXTURE_ADDRESS_CLAMP = 3,
  2716. D3D10_TEXTURE_ADDRESS_BORDER = 4,
  2717. D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
  2718. } D3D10_TEXTURE_ADDRESS_MODE;
  2719. typedef struct D3D10_SAMPLER_DESC
  2720. {
  2721. D3D10_FILTER Filter;
  2722. D3D10_TEXTURE_ADDRESS_MODE AddressU;
  2723. D3D10_TEXTURE_ADDRESS_MODE AddressV;
  2724. D3D10_TEXTURE_ADDRESS_MODE AddressW;
  2725. FLOAT MipLODBias;
  2726. UINT MaxAnisotropy;
  2727. D3D10_COMPARISON_FUNC ComparisonFunc;
  2728. FLOAT BorderColor[ 4 ];
  2729. FLOAT MinLOD;
  2730. FLOAT MaxLOD;
  2731. } D3D10_SAMPLER_DESC;
  2732. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_c_ifspec;
  2733. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0017_v0_0_s_ifspec;
  2734. #ifndef __ID3D10SamplerState_INTERFACE_DEFINED__
  2735. #define __ID3D10SamplerState_INTERFACE_DEFINED__
  2736. /* interface ID3D10SamplerState */
  2737. /* [unique][local][object][uuid] */
  2738. EXTERN_C const IID IID_ID3D10SamplerState;
  2739. #if defined(__cplusplus) && !defined(CINTERFACE)
  2740. MIDL_INTERFACE("9B7E4C0C-342C-4106-A19F-4F2704F689F0")
  2741. ID3D10SamplerState : public ID3D10DeviceChild
  2742. {
  2743. public:
  2744. virtual void STDMETHODCALLTYPE GetDesc(
  2745. /* [annotation] */
  2746. __out D3D10_SAMPLER_DESC *pDesc) = 0;
  2747. };
  2748. #else /* C style interface */
  2749. typedef struct ID3D10SamplerStateVtbl
  2750. {
  2751. BEGIN_INTERFACE
  2752. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2753. ID3D10SamplerState * This,
  2754. /* [in] */ REFIID riid,
  2755. /* [annotation][iid_is][out] */
  2756. __RPC__deref_out void **ppvObject);
  2757. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2758. ID3D10SamplerState * This);
  2759. ULONG ( STDMETHODCALLTYPE *Release )(
  2760. ID3D10SamplerState * This);
  2761. void ( STDMETHODCALLTYPE *GetDevice )(
  2762. ID3D10SamplerState * This,
  2763. /* [annotation] */
  2764. __out ID3D10Device **ppDevice);
  2765. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2766. ID3D10SamplerState * This,
  2767. /* [annotation] */
  2768. __in REFGUID guid,
  2769. /* [annotation] */
  2770. __inout UINT *pDataSize,
  2771. /* [annotation] */
  2772. __out_bcount_opt(*pDataSize) void *pData);
  2773. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2774. ID3D10SamplerState * This,
  2775. /* [annotation] */
  2776. __in REFGUID guid,
  2777. /* [annotation] */
  2778. __in UINT DataSize,
  2779. /* [annotation] */
  2780. __in_bcount_opt(DataSize) const void *pData);
  2781. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2782. ID3D10SamplerState * This,
  2783. /* [annotation] */
  2784. __in REFGUID guid,
  2785. /* [annotation] */
  2786. __in_opt const IUnknown *pData);
  2787. void ( STDMETHODCALLTYPE *GetDesc )(
  2788. ID3D10SamplerState * This,
  2789. /* [annotation] */
  2790. __out D3D10_SAMPLER_DESC *pDesc);
  2791. END_INTERFACE
  2792. } ID3D10SamplerStateVtbl;
  2793. interface ID3D10SamplerState
  2794. {
  2795. CONST_VTBL struct ID3D10SamplerStateVtbl *lpVtbl;
  2796. };
  2797. #ifdef COBJMACROS
  2798. #define ID3D10SamplerState_QueryInterface(This,riid,ppvObject) \
  2799. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2800. #define ID3D10SamplerState_AddRef(This) \
  2801. ( (This)->lpVtbl -> AddRef(This) )
  2802. #define ID3D10SamplerState_Release(This) \
  2803. ( (This)->lpVtbl -> Release(This) )
  2804. #define ID3D10SamplerState_GetDevice(This,ppDevice) \
  2805. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2806. #define ID3D10SamplerState_GetPrivateData(This,guid,pDataSize,pData) \
  2807. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2808. #define ID3D10SamplerState_SetPrivateData(This,guid,DataSize,pData) \
  2809. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2810. #define ID3D10SamplerState_SetPrivateDataInterface(This,guid,pData) \
  2811. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2812. #define ID3D10SamplerState_GetDesc(This,pDesc) \
  2813. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  2814. #endif /* COBJMACROS */
  2815. #endif /* C style interface */
  2816. #endif /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
  2817. /* interface __MIDL_itf_d3d10_0000_0018 */
  2818. /* [local] */
  2819. typedef
  2820. enum D3D10_FORMAT_SUPPORT
  2821. { D3D10_FORMAT_SUPPORT_BUFFER = 0x1,
  2822. D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
  2823. D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
  2824. D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x8,
  2825. D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x10,
  2826. D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x20,
  2827. D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x40,
  2828. D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
  2829. D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
  2830. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
  2831. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
  2832. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
  2833. D3D10_FORMAT_SUPPORT_MIP = 0x1000,
  2834. D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
  2835. D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
  2836. D3D10_FORMAT_SUPPORT_BLENDABLE = 0x8000,
  2837. D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
  2838. D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
  2839. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
  2840. D3D10_FORMAT_SUPPORT_DISPLAY = 0x80000,
  2841. D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
  2842. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
  2843. D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
  2844. D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
  2845. D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000
  2846. } D3D10_FORMAT_SUPPORT;
  2847. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_c_ifspec;
  2848. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0018_v0_0_s_ifspec;
  2849. #ifndef __ID3D10Asynchronous_INTERFACE_DEFINED__
  2850. #define __ID3D10Asynchronous_INTERFACE_DEFINED__
  2851. /* interface ID3D10Asynchronous */
  2852. /* [unique][local][object][uuid] */
  2853. EXTERN_C const IID IID_ID3D10Asynchronous;
  2854. #if defined(__cplusplus) && !defined(CINTERFACE)
  2855. MIDL_INTERFACE("9B7E4C0D-342C-4106-A19F-4F2704F689F0")
  2856. ID3D10Asynchronous : public ID3D10DeviceChild
  2857. {
  2858. public:
  2859. virtual void STDMETHODCALLTYPE Begin( void) = 0;
  2860. virtual void STDMETHODCALLTYPE End( void) = 0;
  2861. virtual HRESULT STDMETHODCALLTYPE GetData(
  2862. /* [annotation] */
  2863. __out_bcount_opt(DataSize) void *pData,
  2864. /* [annotation] */
  2865. __in UINT DataSize,
  2866. /* [annotation] */
  2867. __in UINT GetDataFlags) = 0;
  2868. virtual UINT STDMETHODCALLTYPE GetDataSize( void) = 0;
  2869. };
  2870. #else /* C style interface */
  2871. typedef struct ID3D10AsynchronousVtbl
  2872. {
  2873. BEGIN_INTERFACE
  2874. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2875. ID3D10Asynchronous * This,
  2876. /* [in] */ REFIID riid,
  2877. /* [annotation][iid_is][out] */
  2878. __RPC__deref_out void **ppvObject);
  2879. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2880. ID3D10Asynchronous * This);
  2881. ULONG ( STDMETHODCALLTYPE *Release )(
  2882. ID3D10Asynchronous * This);
  2883. void ( STDMETHODCALLTYPE *GetDevice )(
  2884. ID3D10Asynchronous * This,
  2885. /* [annotation] */
  2886. __out ID3D10Device **ppDevice);
  2887. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  2888. ID3D10Asynchronous * This,
  2889. /* [annotation] */
  2890. __in REFGUID guid,
  2891. /* [annotation] */
  2892. __inout UINT *pDataSize,
  2893. /* [annotation] */
  2894. __out_bcount_opt(*pDataSize) void *pData);
  2895. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  2896. ID3D10Asynchronous * This,
  2897. /* [annotation] */
  2898. __in REFGUID guid,
  2899. /* [annotation] */
  2900. __in UINT DataSize,
  2901. /* [annotation] */
  2902. __in_bcount_opt(DataSize) const void *pData);
  2903. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  2904. ID3D10Asynchronous * This,
  2905. /* [annotation] */
  2906. __in REFGUID guid,
  2907. /* [annotation] */
  2908. __in_opt const IUnknown *pData);
  2909. void ( STDMETHODCALLTYPE *Begin )(
  2910. ID3D10Asynchronous * This);
  2911. void ( STDMETHODCALLTYPE *End )(
  2912. ID3D10Asynchronous * This);
  2913. HRESULT ( STDMETHODCALLTYPE *GetData )(
  2914. ID3D10Asynchronous * This,
  2915. /* [annotation] */
  2916. __out_bcount_opt(DataSize) void *pData,
  2917. /* [annotation] */
  2918. __in UINT DataSize,
  2919. /* [annotation] */
  2920. __in UINT GetDataFlags);
  2921. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  2922. ID3D10Asynchronous * This);
  2923. END_INTERFACE
  2924. } ID3D10AsynchronousVtbl;
  2925. interface ID3D10Asynchronous
  2926. {
  2927. CONST_VTBL struct ID3D10AsynchronousVtbl *lpVtbl;
  2928. };
  2929. #ifdef COBJMACROS
  2930. #define ID3D10Asynchronous_QueryInterface(This,riid,ppvObject) \
  2931. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  2932. #define ID3D10Asynchronous_AddRef(This) \
  2933. ( (This)->lpVtbl -> AddRef(This) )
  2934. #define ID3D10Asynchronous_Release(This) \
  2935. ( (This)->lpVtbl -> Release(This) )
  2936. #define ID3D10Asynchronous_GetDevice(This,ppDevice) \
  2937. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  2938. #define ID3D10Asynchronous_GetPrivateData(This,guid,pDataSize,pData) \
  2939. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  2940. #define ID3D10Asynchronous_SetPrivateData(This,guid,DataSize,pData) \
  2941. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  2942. #define ID3D10Asynchronous_SetPrivateDataInterface(This,guid,pData) \
  2943. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  2944. #define ID3D10Asynchronous_Begin(This) \
  2945. ( (This)->lpVtbl -> Begin(This) )
  2946. #define ID3D10Asynchronous_End(This) \
  2947. ( (This)->lpVtbl -> End(This) )
  2948. #define ID3D10Asynchronous_GetData(This,pData,DataSize,GetDataFlags) \
  2949. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  2950. #define ID3D10Asynchronous_GetDataSize(This) \
  2951. ( (This)->lpVtbl -> GetDataSize(This) )
  2952. #endif /* COBJMACROS */
  2953. #endif /* C style interface */
  2954. #endif /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
  2955. /* interface __MIDL_itf_d3d10_0000_0019 */
  2956. /* [local] */
  2957. typedef
  2958. enum D3D10_ASYNC_GETDATA_FLAG
  2959. { D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1
  2960. } D3D10_ASYNC_GETDATA_FLAG;
  2961. typedef
  2962. enum D3D10_QUERY
  2963. { D3D10_QUERY_EVENT = 0,
  2964. D3D10_QUERY_OCCLUSION = ( D3D10_QUERY_EVENT + 1 ) ,
  2965. D3D10_QUERY_TIMESTAMP = ( D3D10_QUERY_OCCLUSION + 1 ) ,
  2966. D3D10_QUERY_TIMESTAMP_DISJOINT = ( D3D10_QUERY_TIMESTAMP + 1 ) ,
  2967. D3D10_QUERY_PIPELINE_STATISTICS = ( D3D10_QUERY_TIMESTAMP_DISJOINT + 1 ) ,
  2968. D3D10_QUERY_OCCLUSION_PREDICATE = ( D3D10_QUERY_PIPELINE_STATISTICS + 1 ) ,
  2969. D3D10_QUERY_SO_STATISTICS = ( D3D10_QUERY_OCCLUSION_PREDICATE + 1 ) ,
  2970. D3D10_QUERY_SO_OVERFLOW_PREDICATE = ( D3D10_QUERY_SO_STATISTICS + 1 )
  2971. } D3D10_QUERY;
  2972. typedef
  2973. enum D3D10_QUERY_MISC_FLAG
  2974. { D3D10_QUERY_MISC_PREDICATEHINT = 0x1
  2975. } D3D10_QUERY_MISC_FLAG;
  2976. typedef struct D3D10_QUERY_DESC
  2977. {
  2978. D3D10_QUERY Query;
  2979. UINT MiscFlags;
  2980. } D3D10_QUERY_DESC;
  2981. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_c_ifspec;
  2982. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0019_v0_0_s_ifspec;
  2983. #ifndef __ID3D10Query_INTERFACE_DEFINED__
  2984. #define __ID3D10Query_INTERFACE_DEFINED__
  2985. /* interface ID3D10Query */
  2986. /* [unique][local][object][uuid] */
  2987. EXTERN_C const IID IID_ID3D10Query;
  2988. #if defined(__cplusplus) && !defined(CINTERFACE)
  2989. MIDL_INTERFACE("9B7E4C0E-342C-4106-A19F-4F2704F689F0")
  2990. ID3D10Query : public ID3D10Asynchronous
  2991. {
  2992. public:
  2993. virtual void STDMETHODCALLTYPE GetDesc(
  2994. /* [annotation] */
  2995. __out D3D10_QUERY_DESC *pDesc) = 0;
  2996. };
  2997. #else /* C style interface */
  2998. typedef struct ID3D10QueryVtbl
  2999. {
  3000. BEGIN_INTERFACE
  3001. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3002. ID3D10Query * This,
  3003. /* [in] */ REFIID riid,
  3004. /* [annotation][iid_is][out] */
  3005. __RPC__deref_out void **ppvObject);
  3006. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3007. ID3D10Query * This);
  3008. ULONG ( STDMETHODCALLTYPE *Release )(
  3009. ID3D10Query * This);
  3010. void ( STDMETHODCALLTYPE *GetDevice )(
  3011. ID3D10Query * This,
  3012. /* [annotation] */
  3013. __out ID3D10Device **ppDevice);
  3014. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3015. ID3D10Query * This,
  3016. /* [annotation] */
  3017. __in REFGUID guid,
  3018. /* [annotation] */
  3019. __inout UINT *pDataSize,
  3020. /* [annotation] */
  3021. __out_bcount_opt(*pDataSize) void *pData);
  3022. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3023. ID3D10Query * This,
  3024. /* [annotation] */
  3025. __in REFGUID guid,
  3026. /* [annotation] */
  3027. __in UINT DataSize,
  3028. /* [annotation] */
  3029. __in_bcount_opt(DataSize) const void *pData);
  3030. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3031. ID3D10Query * This,
  3032. /* [annotation] */
  3033. __in REFGUID guid,
  3034. /* [annotation] */
  3035. __in_opt const IUnknown *pData);
  3036. void ( STDMETHODCALLTYPE *Begin )(
  3037. ID3D10Query * This);
  3038. void ( STDMETHODCALLTYPE *End )(
  3039. ID3D10Query * This);
  3040. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3041. ID3D10Query * This,
  3042. /* [annotation] */
  3043. __out_bcount_opt(DataSize) void *pData,
  3044. /* [annotation] */
  3045. __in UINT DataSize,
  3046. /* [annotation] */
  3047. __in UINT GetDataFlags);
  3048. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3049. ID3D10Query * This);
  3050. void ( STDMETHODCALLTYPE *GetDesc )(
  3051. ID3D10Query * This,
  3052. /* [annotation] */
  3053. __out D3D10_QUERY_DESC *pDesc);
  3054. END_INTERFACE
  3055. } ID3D10QueryVtbl;
  3056. interface ID3D10Query
  3057. {
  3058. CONST_VTBL struct ID3D10QueryVtbl *lpVtbl;
  3059. };
  3060. #ifdef COBJMACROS
  3061. #define ID3D10Query_QueryInterface(This,riid,ppvObject) \
  3062. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3063. #define ID3D10Query_AddRef(This) \
  3064. ( (This)->lpVtbl -> AddRef(This) )
  3065. #define ID3D10Query_Release(This) \
  3066. ( (This)->lpVtbl -> Release(This) )
  3067. #define ID3D10Query_GetDevice(This,ppDevice) \
  3068. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3069. #define ID3D10Query_GetPrivateData(This,guid,pDataSize,pData) \
  3070. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3071. #define ID3D10Query_SetPrivateData(This,guid,DataSize,pData) \
  3072. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3073. #define ID3D10Query_SetPrivateDataInterface(This,guid,pData) \
  3074. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3075. #define ID3D10Query_Begin(This) \
  3076. ( (This)->lpVtbl -> Begin(This) )
  3077. #define ID3D10Query_End(This) \
  3078. ( (This)->lpVtbl -> End(This) )
  3079. #define ID3D10Query_GetData(This,pData,DataSize,GetDataFlags) \
  3080. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3081. #define ID3D10Query_GetDataSize(This) \
  3082. ( (This)->lpVtbl -> GetDataSize(This) )
  3083. #define ID3D10Query_GetDesc(This,pDesc) \
  3084. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3085. #endif /* COBJMACROS */
  3086. #endif /* C style interface */
  3087. #endif /* __ID3D10Query_INTERFACE_DEFINED__ */
  3088. #ifndef __ID3D10Predicate_INTERFACE_DEFINED__
  3089. #define __ID3D10Predicate_INTERFACE_DEFINED__
  3090. /* interface ID3D10Predicate */
  3091. /* [unique][local][object][uuid] */
  3092. EXTERN_C const IID IID_ID3D10Predicate;
  3093. #if defined(__cplusplus) && !defined(CINTERFACE)
  3094. MIDL_INTERFACE("9B7E4C10-342C-4106-A19F-4F2704F689F0")
  3095. ID3D10Predicate : public ID3D10Query
  3096. {
  3097. public:
  3098. };
  3099. #else /* C style interface */
  3100. typedef struct ID3D10PredicateVtbl
  3101. {
  3102. BEGIN_INTERFACE
  3103. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3104. ID3D10Predicate * This,
  3105. /* [in] */ REFIID riid,
  3106. /* [annotation][iid_is][out] */
  3107. __RPC__deref_out void **ppvObject);
  3108. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3109. ID3D10Predicate * This);
  3110. ULONG ( STDMETHODCALLTYPE *Release )(
  3111. ID3D10Predicate * This);
  3112. void ( STDMETHODCALLTYPE *GetDevice )(
  3113. ID3D10Predicate * This,
  3114. /* [annotation] */
  3115. __out ID3D10Device **ppDevice);
  3116. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3117. ID3D10Predicate * This,
  3118. /* [annotation] */
  3119. __in REFGUID guid,
  3120. /* [annotation] */
  3121. __inout UINT *pDataSize,
  3122. /* [annotation] */
  3123. __out_bcount_opt(*pDataSize) void *pData);
  3124. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3125. ID3D10Predicate * This,
  3126. /* [annotation] */
  3127. __in REFGUID guid,
  3128. /* [annotation] */
  3129. __in UINT DataSize,
  3130. /* [annotation] */
  3131. __in_bcount_opt(DataSize) const void *pData);
  3132. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3133. ID3D10Predicate * This,
  3134. /* [annotation] */
  3135. __in REFGUID guid,
  3136. /* [annotation] */
  3137. __in_opt const IUnknown *pData);
  3138. void ( STDMETHODCALLTYPE *Begin )(
  3139. ID3D10Predicate * This);
  3140. void ( STDMETHODCALLTYPE *End )(
  3141. ID3D10Predicate * This);
  3142. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3143. ID3D10Predicate * This,
  3144. /* [annotation] */
  3145. __out_bcount_opt(DataSize) void *pData,
  3146. /* [annotation] */
  3147. __in UINT DataSize,
  3148. /* [annotation] */
  3149. __in UINT GetDataFlags);
  3150. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3151. ID3D10Predicate * This);
  3152. void ( STDMETHODCALLTYPE *GetDesc )(
  3153. ID3D10Predicate * This,
  3154. /* [annotation] */
  3155. __out D3D10_QUERY_DESC *pDesc);
  3156. END_INTERFACE
  3157. } ID3D10PredicateVtbl;
  3158. interface ID3D10Predicate
  3159. {
  3160. CONST_VTBL struct ID3D10PredicateVtbl *lpVtbl;
  3161. };
  3162. #ifdef COBJMACROS
  3163. #define ID3D10Predicate_QueryInterface(This,riid,ppvObject) \
  3164. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3165. #define ID3D10Predicate_AddRef(This) \
  3166. ( (This)->lpVtbl -> AddRef(This) )
  3167. #define ID3D10Predicate_Release(This) \
  3168. ( (This)->lpVtbl -> Release(This) )
  3169. #define ID3D10Predicate_GetDevice(This,ppDevice) \
  3170. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3171. #define ID3D10Predicate_GetPrivateData(This,guid,pDataSize,pData) \
  3172. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3173. #define ID3D10Predicate_SetPrivateData(This,guid,DataSize,pData) \
  3174. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3175. #define ID3D10Predicate_SetPrivateDataInterface(This,guid,pData) \
  3176. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3177. #define ID3D10Predicate_Begin(This) \
  3178. ( (This)->lpVtbl -> Begin(This) )
  3179. #define ID3D10Predicate_End(This) \
  3180. ( (This)->lpVtbl -> End(This) )
  3181. #define ID3D10Predicate_GetData(This,pData,DataSize,GetDataFlags) \
  3182. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3183. #define ID3D10Predicate_GetDataSize(This) \
  3184. ( (This)->lpVtbl -> GetDataSize(This) )
  3185. #define ID3D10Predicate_GetDesc(This,pDesc) \
  3186. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3187. #endif /* COBJMACROS */
  3188. #endif /* C style interface */
  3189. #endif /* __ID3D10Predicate_INTERFACE_DEFINED__ */
  3190. /* interface __MIDL_itf_d3d10_0000_0021 */
  3191. /* [local] */
  3192. typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT
  3193. {
  3194. UINT64 Frequency;
  3195. BOOL Disjoint;
  3196. } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
  3197. typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS
  3198. {
  3199. UINT64 IAVertices;
  3200. UINT64 IAPrimitives;
  3201. UINT64 VSInvocations;
  3202. UINT64 GSInvocations;
  3203. UINT64 GSPrimitives;
  3204. UINT64 CInvocations;
  3205. UINT64 CPrimitives;
  3206. UINT64 PSInvocations;
  3207. } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
  3208. typedef struct D3D10_QUERY_DATA_SO_STATISTICS
  3209. {
  3210. UINT64 NumPrimitivesWritten;
  3211. UINT64 PrimitivesStorageNeeded;
  3212. } D3D10_QUERY_DATA_SO_STATISTICS;
  3213. typedef
  3214. enum D3D10_COUNTER
  3215. { D3D10_COUNTER_GPU_IDLE = 0,
  3216. D3D10_COUNTER_VERTEX_PROCESSING = ( D3D10_COUNTER_GPU_IDLE + 1 ) ,
  3217. D3D10_COUNTER_GEOMETRY_PROCESSING = ( D3D10_COUNTER_VERTEX_PROCESSING + 1 ) ,
  3218. D3D10_COUNTER_PIXEL_PROCESSING = ( D3D10_COUNTER_GEOMETRY_PROCESSING + 1 ) ,
  3219. D3D10_COUNTER_OTHER_GPU_PROCESSING = ( D3D10_COUNTER_PIXEL_PROCESSING + 1 ) ,
  3220. D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_OTHER_GPU_PROCESSING + 1 ) ,
  3221. D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = ( D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1 ) ,
  3222. D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1 ) ,
  3223. D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1 ) ,
  3224. D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = ( D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1 ) ,
  3225. D3D10_COUNTER_VS_MEMORY_LIMITED = ( D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1 ) ,
  3226. D3D10_COUNTER_VS_COMPUTATION_LIMITED = ( D3D10_COUNTER_VS_MEMORY_LIMITED + 1 ) ,
  3227. D3D10_COUNTER_GS_MEMORY_LIMITED = ( D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1 ) ,
  3228. D3D10_COUNTER_GS_COMPUTATION_LIMITED = ( D3D10_COUNTER_GS_MEMORY_LIMITED + 1 ) ,
  3229. D3D10_COUNTER_PS_MEMORY_LIMITED = ( D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1 ) ,
  3230. D3D10_COUNTER_PS_COMPUTATION_LIMITED = ( D3D10_COUNTER_PS_MEMORY_LIMITED + 1 ) ,
  3231. D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = ( D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1 ) ,
  3232. D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = ( D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1 ) ,
  3233. D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
  3234. } D3D10_COUNTER;
  3235. typedef
  3236. enum D3D10_COUNTER_TYPE
  3237. { D3D10_COUNTER_TYPE_FLOAT32 = 0,
  3238. D3D10_COUNTER_TYPE_UINT16 = ( D3D10_COUNTER_TYPE_FLOAT32 + 1 ) ,
  3239. D3D10_COUNTER_TYPE_UINT32 = ( D3D10_COUNTER_TYPE_UINT16 + 1 ) ,
  3240. D3D10_COUNTER_TYPE_UINT64 = ( D3D10_COUNTER_TYPE_UINT32 + 1 )
  3241. } D3D10_COUNTER_TYPE;
  3242. typedef struct D3D10_COUNTER_DESC
  3243. {
  3244. D3D10_COUNTER Counter;
  3245. UINT MiscFlags;
  3246. } D3D10_COUNTER_DESC;
  3247. typedef struct D3D10_COUNTER_INFO
  3248. {
  3249. D3D10_COUNTER LastDeviceDependentCounter;
  3250. UINT NumSimultaneousCounters;
  3251. UINT8 NumDetectableParallelUnits;
  3252. } D3D10_COUNTER_INFO;
  3253. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_c_ifspec;
  3254. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0021_v0_0_s_ifspec;
  3255. #ifndef __ID3D10Counter_INTERFACE_DEFINED__
  3256. #define __ID3D10Counter_INTERFACE_DEFINED__
  3257. /* interface ID3D10Counter */
  3258. /* [unique][local][object][uuid] */
  3259. EXTERN_C const IID IID_ID3D10Counter;
  3260. #if defined(__cplusplus) && !defined(CINTERFACE)
  3261. MIDL_INTERFACE("9B7E4C11-342C-4106-A19F-4F2704F689F0")
  3262. ID3D10Counter : public ID3D10Asynchronous
  3263. {
  3264. public:
  3265. virtual void STDMETHODCALLTYPE GetDesc(
  3266. /* [annotation] */
  3267. __out D3D10_COUNTER_DESC *pDesc) = 0;
  3268. };
  3269. #else /* C style interface */
  3270. typedef struct ID3D10CounterVtbl
  3271. {
  3272. BEGIN_INTERFACE
  3273. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3274. ID3D10Counter * This,
  3275. /* [in] */ REFIID riid,
  3276. /* [annotation][iid_is][out] */
  3277. __RPC__deref_out void **ppvObject);
  3278. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3279. ID3D10Counter * This);
  3280. ULONG ( STDMETHODCALLTYPE *Release )(
  3281. ID3D10Counter * This);
  3282. void ( STDMETHODCALLTYPE *GetDevice )(
  3283. ID3D10Counter * This,
  3284. /* [annotation] */
  3285. __out ID3D10Device **ppDevice);
  3286. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  3287. ID3D10Counter * This,
  3288. /* [annotation] */
  3289. __in REFGUID guid,
  3290. /* [annotation] */
  3291. __inout UINT *pDataSize,
  3292. /* [annotation] */
  3293. __out_bcount_opt(*pDataSize) void *pData);
  3294. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  3295. ID3D10Counter * This,
  3296. /* [annotation] */
  3297. __in REFGUID guid,
  3298. /* [annotation] */
  3299. __in UINT DataSize,
  3300. /* [annotation] */
  3301. __in_bcount_opt(DataSize) const void *pData);
  3302. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  3303. ID3D10Counter * This,
  3304. /* [annotation] */
  3305. __in REFGUID guid,
  3306. /* [annotation] */
  3307. __in_opt const IUnknown *pData);
  3308. void ( STDMETHODCALLTYPE *Begin )(
  3309. ID3D10Counter * This);
  3310. void ( STDMETHODCALLTYPE *End )(
  3311. ID3D10Counter * This);
  3312. HRESULT ( STDMETHODCALLTYPE *GetData )(
  3313. ID3D10Counter * This,
  3314. /* [annotation] */
  3315. __out_bcount_opt(DataSize) void *pData,
  3316. /* [annotation] */
  3317. __in UINT DataSize,
  3318. /* [annotation] */
  3319. __in UINT GetDataFlags);
  3320. UINT ( STDMETHODCALLTYPE *GetDataSize )(
  3321. ID3D10Counter * This);
  3322. void ( STDMETHODCALLTYPE *GetDesc )(
  3323. ID3D10Counter * This,
  3324. /* [annotation] */
  3325. __out D3D10_COUNTER_DESC *pDesc);
  3326. END_INTERFACE
  3327. } ID3D10CounterVtbl;
  3328. interface ID3D10Counter
  3329. {
  3330. CONST_VTBL struct ID3D10CounterVtbl *lpVtbl;
  3331. };
  3332. #ifdef COBJMACROS
  3333. #define ID3D10Counter_QueryInterface(This,riid,ppvObject) \
  3334. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  3335. #define ID3D10Counter_AddRef(This) \
  3336. ( (This)->lpVtbl -> AddRef(This) )
  3337. #define ID3D10Counter_Release(This) \
  3338. ( (This)->lpVtbl -> Release(This) )
  3339. #define ID3D10Counter_GetDevice(This,ppDevice) \
  3340. ( (This)->lpVtbl -> GetDevice(This,ppDevice) )
  3341. #define ID3D10Counter_GetPrivateData(This,guid,pDataSize,pData) \
  3342. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  3343. #define ID3D10Counter_SetPrivateData(This,guid,DataSize,pData) \
  3344. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  3345. #define ID3D10Counter_SetPrivateDataInterface(This,guid,pData) \
  3346. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  3347. #define ID3D10Counter_Begin(This) \
  3348. ( (This)->lpVtbl -> Begin(This) )
  3349. #define ID3D10Counter_End(This) \
  3350. ( (This)->lpVtbl -> End(This) )
  3351. #define ID3D10Counter_GetData(This,pData,DataSize,GetDataFlags) \
  3352. ( (This)->lpVtbl -> GetData(This,pData,DataSize,GetDataFlags) )
  3353. #define ID3D10Counter_GetDataSize(This) \
  3354. ( (This)->lpVtbl -> GetDataSize(This) )
  3355. #define ID3D10Counter_GetDesc(This,pDesc) \
  3356. ( (This)->lpVtbl -> GetDesc(This,pDesc) )
  3357. #endif /* COBJMACROS */
  3358. #endif /* C style interface */
  3359. #endif /* __ID3D10Counter_INTERFACE_DEFINED__ */
  3360. #ifndef __ID3D10Device_INTERFACE_DEFINED__
  3361. #define __ID3D10Device_INTERFACE_DEFINED__
  3362. /* interface ID3D10Device */
  3363. /* [unique][local][object][uuid] */
  3364. EXTERN_C const IID IID_ID3D10Device;
  3365. #if defined(__cplusplus) && !defined(CINTERFACE)
  3366. MIDL_INTERFACE("9B7E4C0F-342C-4106-A19F-4F2704F689F0")
  3367. ID3D10Device : public IUnknown
  3368. {
  3369. public:
  3370. virtual void STDMETHODCALLTYPE VSSetConstantBuffers(
  3371. /* [annotation] */
  3372. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3373. /* [annotation] */
  3374. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3375. /* [annotation] */
  3376. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3377. virtual void STDMETHODCALLTYPE PSSetShaderResources(
  3378. /* [annotation] */
  3379. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3380. /* [annotation] */
  3381. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3382. /* [annotation] */
  3383. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3384. virtual void STDMETHODCALLTYPE PSSetShader(
  3385. /* [annotation] */
  3386. __in_opt ID3D10PixelShader *pPixelShader) = 0;
  3387. virtual void STDMETHODCALLTYPE PSSetSamplers(
  3388. /* [annotation] */
  3389. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3390. /* [annotation] */
  3391. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3392. /* [annotation] */
  3393. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3394. virtual void STDMETHODCALLTYPE VSSetShader(
  3395. /* [annotation] */
  3396. __in_opt ID3D10VertexShader *pVertexShader) = 0;
  3397. virtual void STDMETHODCALLTYPE DrawIndexed(
  3398. /* [annotation] */
  3399. __in UINT IndexCount,
  3400. /* [annotation] */
  3401. __in UINT StartIndexLocation,
  3402. /* [annotation] */
  3403. __in INT BaseVertexLocation) = 0;
  3404. virtual void STDMETHODCALLTYPE Draw(
  3405. /* [annotation] */
  3406. __in UINT VertexCount,
  3407. /* [annotation] */
  3408. __in UINT StartVertexLocation) = 0;
  3409. virtual void STDMETHODCALLTYPE PSSetConstantBuffers(
  3410. /* [annotation] */
  3411. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3412. /* [annotation] */
  3413. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3414. /* [annotation] */
  3415. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3416. virtual void STDMETHODCALLTYPE IASetInputLayout(
  3417. /* [annotation] */
  3418. __in_opt ID3D10InputLayout *pInputLayout) = 0;
  3419. virtual void STDMETHODCALLTYPE IASetVertexBuffers(
  3420. /* [annotation] */
  3421. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3422. /* [annotation] */
  3423. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3424. /* [annotation] */
  3425. __in_ecount(NumBuffers) ID3D10Buffer *const *ppVertexBuffers,
  3426. /* [annotation] */
  3427. __in_ecount(NumBuffers) const UINT *pStrides,
  3428. /* [annotation] */
  3429. __in_ecount(NumBuffers) const UINT *pOffsets) = 0;
  3430. virtual void STDMETHODCALLTYPE IASetIndexBuffer(
  3431. /* [annotation] */
  3432. __in_opt ID3D10Buffer *pIndexBuffer,
  3433. /* [annotation] */
  3434. __in DXGI_FORMAT Format,
  3435. /* [annotation] */
  3436. __in UINT Offset) = 0;
  3437. virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
  3438. /* [annotation] */
  3439. __in UINT IndexCountPerInstance,
  3440. /* [annotation] */
  3441. __in UINT InstanceCount,
  3442. /* [annotation] */
  3443. __in UINT StartIndexLocation,
  3444. /* [annotation] */
  3445. __in INT BaseVertexLocation,
  3446. /* [annotation] */
  3447. __in UINT StartInstanceLocation) = 0;
  3448. virtual void STDMETHODCALLTYPE DrawInstanced(
  3449. /* [annotation] */
  3450. __in UINT VertexCountPerInstance,
  3451. /* [annotation] */
  3452. __in UINT InstanceCount,
  3453. /* [annotation] */
  3454. __in UINT StartVertexLocation,
  3455. /* [annotation] */
  3456. __in UINT StartInstanceLocation) = 0;
  3457. virtual void STDMETHODCALLTYPE GSSetConstantBuffers(
  3458. /* [annotation] */
  3459. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3460. /* [annotation] */
  3461. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3462. /* [annotation] */
  3463. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers) = 0;
  3464. virtual void STDMETHODCALLTYPE GSSetShader(
  3465. /* [annotation] */
  3466. __in_opt ID3D10GeometryShader *pShader) = 0;
  3467. virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
  3468. /* [annotation] */
  3469. __in D3D10_PRIMITIVE_TOPOLOGY Topology) = 0;
  3470. virtual void STDMETHODCALLTYPE VSSetShaderResources(
  3471. /* [annotation] */
  3472. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3473. /* [annotation] */
  3474. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3475. /* [annotation] */
  3476. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3477. virtual void STDMETHODCALLTYPE VSSetSamplers(
  3478. /* [annotation] */
  3479. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3480. /* [annotation] */
  3481. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3482. /* [annotation] */
  3483. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3484. virtual void STDMETHODCALLTYPE SetPredication(
  3485. /* [annotation] */
  3486. __in_opt ID3D10Predicate *pPredicate,
  3487. /* [annotation] */
  3488. __in BOOL PredicateValue) = 0;
  3489. virtual void STDMETHODCALLTYPE GSSetShaderResources(
  3490. /* [annotation] */
  3491. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3492. /* [annotation] */
  3493. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3494. /* [annotation] */
  3495. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews) = 0;
  3496. virtual void STDMETHODCALLTYPE GSSetSamplers(
  3497. /* [annotation] */
  3498. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3499. /* [annotation] */
  3500. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3501. /* [annotation] */
  3502. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers) = 0;
  3503. virtual void STDMETHODCALLTYPE OMSetRenderTargets(
  3504. /* [annotation] */
  3505. __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  3506. /* [annotation] */
  3507. __in_ecount_opt(NumViews) ID3D10RenderTargetView *const *ppRenderTargetViews,
  3508. /* [annotation] */
  3509. __in_opt ID3D10DepthStencilView *pDepthStencilView) = 0;
  3510. virtual void STDMETHODCALLTYPE OMSetBlendState(
  3511. /* [annotation] */
  3512. __in_opt ID3D10BlendState *pBlendState,
  3513. /* [annotation] */
  3514. __in const FLOAT BlendFactor[ 4 ],
  3515. /* [annotation] */
  3516. __in UINT SampleMask) = 0;
  3517. virtual void STDMETHODCALLTYPE OMSetDepthStencilState(
  3518. /* [annotation] */
  3519. __in_opt ID3D10DepthStencilState *pDepthStencilState,
  3520. /* [annotation] */
  3521. __in UINT StencilRef) = 0;
  3522. virtual void STDMETHODCALLTYPE SOSetTargets(
  3523. /* [annotation] */
  3524. __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  3525. /* [annotation] */
  3526. __in_ecount_opt(NumBuffers) ID3D10Buffer *const *ppSOTargets,
  3527. /* [annotation] */
  3528. __in_ecount_opt(NumBuffers) const UINT *pOffsets) = 0;
  3529. virtual void STDMETHODCALLTYPE DrawAuto( void) = 0;
  3530. virtual void STDMETHODCALLTYPE RSSetState(
  3531. /* [annotation] */
  3532. __in_opt ID3D10RasterizerState *pRasterizerState) = 0;
  3533. virtual void STDMETHODCALLTYPE RSSetViewports(
  3534. /* [annotation] */
  3535. __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  3536. /* [annotation] */
  3537. __in_ecount_opt(NumViewports) const D3D10_VIEWPORT *pViewports) = 0;
  3538. virtual void STDMETHODCALLTYPE RSSetScissorRects(
  3539. /* [annotation] */
  3540. __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  3541. /* [annotation] */
  3542. __in_ecount_opt(NumRects) const D3D10_RECT *pRects) = 0;
  3543. virtual void STDMETHODCALLTYPE CopySubresourceRegion(
  3544. /* [annotation] */
  3545. __in ID3D10Resource *pDstResource,
  3546. /* [annotation] */
  3547. __in UINT DstSubresource,
  3548. /* [annotation] */
  3549. __in UINT DstX,
  3550. /* [annotation] */
  3551. __in UINT DstY,
  3552. /* [annotation] */
  3553. __in UINT DstZ,
  3554. /* [annotation] */
  3555. __in ID3D10Resource *pSrcResource,
  3556. /* [annotation] */
  3557. __in UINT SrcSubresource,
  3558. /* [annotation] */
  3559. __in_opt const D3D10_BOX *pSrcBox) = 0;
  3560. virtual void STDMETHODCALLTYPE CopyResource(
  3561. /* [annotation] */
  3562. __in ID3D10Resource *pDstResource,
  3563. /* [annotation] */
  3564. __in ID3D10Resource *pSrcResource) = 0;
  3565. virtual void STDMETHODCALLTYPE UpdateSubresource(
  3566. /* [annotation] */
  3567. __in ID3D10Resource *pDstResource,
  3568. /* [annotation] */
  3569. __in UINT DstSubresource,
  3570. /* [annotation] */
  3571. __in_opt const D3D10_BOX *pDstBox,
  3572. /* [annotation] */
  3573. __in const void *pSrcData,
  3574. /* [annotation] */
  3575. __in UINT SrcRowPitch,
  3576. /* [annotation] */
  3577. __in UINT SrcDepthPitch) = 0;
  3578. virtual void STDMETHODCALLTYPE ClearRenderTargetView(
  3579. /* [annotation] */
  3580. __in ID3D10RenderTargetView *pRenderTargetView,
  3581. /* [annotation] */
  3582. __in const FLOAT ColorRGBA[ 4 ]) = 0;
  3583. virtual void STDMETHODCALLTYPE ClearDepthStencilView(
  3584. /* [annotation] */
  3585. __in ID3D10DepthStencilView *pDepthStencilView,
  3586. /* [annotation] */
  3587. __in UINT ClearFlags,
  3588. /* [annotation] */
  3589. __in FLOAT Depth,
  3590. /* [annotation] */
  3591. __in UINT8 Stencil) = 0;
  3592. virtual void STDMETHODCALLTYPE GenerateMips(
  3593. /* [annotation] */
  3594. __in ID3D10ShaderResourceView *pShaderResourceView) = 0;
  3595. virtual void STDMETHODCALLTYPE ResolveSubresource(
  3596. /* [annotation] */
  3597. __in ID3D10Resource *pDstResource,
  3598. /* [annotation] */
  3599. __in UINT DstSubresource,
  3600. /* [annotation] */
  3601. __in ID3D10Resource *pSrcResource,
  3602. /* [annotation] */
  3603. __in UINT SrcSubresource,
  3604. /* [annotation] */
  3605. __in DXGI_FORMAT Format) = 0;
  3606. virtual void STDMETHODCALLTYPE VSGetConstantBuffers(
  3607. /* [annotation] */
  3608. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3609. /* [annotation] */
  3610. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3611. /* [annotation] */
  3612. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3613. virtual void STDMETHODCALLTYPE PSGetShaderResources(
  3614. /* [annotation] */
  3615. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3616. /* [annotation] */
  3617. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3618. /* [annotation] */
  3619. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3620. virtual void STDMETHODCALLTYPE PSGetShader(
  3621. /* [annotation] */
  3622. __out ID3D10PixelShader **ppPixelShader) = 0;
  3623. virtual void STDMETHODCALLTYPE PSGetSamplers(
  3624. /* [annotation] */
  3625. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3626. /* [annotation] */
  3627. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3628. /* [annotation] */
  3629. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3630. virtual void STDMETHODCALLTYPE VSGetShader(
  3631. /* [annotation] */
  3632. __out ID3D10VertexShader **ppVertexShader) = 0;
  3633. virtual void STDMETHODCALLTYPE PSGetConstantBuffers(
  3634. /* [annotation] */
  3635. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3636. /* [annotation] */
  3637. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3638. /* [annotation] */
  3639. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3640. virtual void STDMETHODCALLTYPE IAGetInputLayout(
  3641. /* [annotation] */
  3642. __out ID3D10InputLayout **ppInputLayout) = 0;
  3643. virtual void STDMETHODCALLTYPE IAGetVertexBuffers(
  3644. /* [annotation] */
  3645. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3646. /* [annotation] */
  3647. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3648. /* [annotation] */
  3649. __out_ecount_opt(NumBuffers) ID3D10Buffer **ppVertexBuffers,
  3650. /* [annotation] */
  3651. __out_ecount_opt(NumBuffers) UINT *pStrides,
  3652. /* [annotation] */
  3653. __out_ecount_opt(NumBuffers) UINT *pOffsets) = 0;
  3654. virtual void STDMETHODCALLTYPE IAGetIndexBuffer(
  3655. /* [annotation] */
  3656. __out_opt ID3D10Buffer **pIndexBuffer,
  3657. /* [annotation] */
  3658. __out_opt DXGI_FORMAT *Format,
  3659. /* [annotation] */
  3660. __out_opt UINT *Offset) = 0;
  3661. virtual void STDMETHODCALLTYPE GSGetConstantBuffers(
  3662. /* [annotation] */
  3663. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3664. /* [annotation] */
  3665. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3666. /* [annotation] */
  3667. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers) = 0;
  3668. virtual void STDMETHODCALLTYPE GSGetShader(
  3669. /* [annotation] */
  3670. __out ID3D10GeometryShader **ppGeometryShader) = 0;
  3671. virtual void STDMETHODCALLTYPE IAGetPrimitiveTopology(
  3672. /* [annotation] */
  3673. __out D3D10_PRIMITIVE_TOPOLOGY *pTopology) = 0;
  3674. virtual void STDMETHODCALLTYPE VSGetShaderResources(
  3675. /* [annotation] */
  3676. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3677. /* [annotation] */
  3678. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3679. /* [annotation] */
  3680. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3681. virtual void STDMETHODCALLTYPE VSGetSamplers(
  3682. /* [annotation] */
  3683. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3684. /* [annotation] */
  3685. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3686. /* [annotation] */
  3687. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3688. virtual void STDMETHODCALLTYPE GetPredication(
  3689. /* [annotation] */
  3690. __out_opt ID3D10Predicate **ppPredicate,
  3691. /* [annotation] */
  3692. __out_opt BOOL *pPredicateValue) = 0;
  3693. virtual void STDMETHODCALLTYPE GSGetShaderResources(
  3694. /* [annotation] */
  3695. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3696. /* [annotation] */
  3697. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3698. /* [annotation] */
  3699. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews) = 0;
  3700. virtual void STDMETHODCALLTYPE GSGetSamplers(
  3701. /* [annotation] */
  3702. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3703. /* [annotation] */
  3704. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3705. /* [annotation] */
  3706. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers) = 0;
  3707. virtual void STDMETHODCALLTYPE OMGetRenderTargets(
  3708. /* [annotation] */
  3709. __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  3710. /* [annotation] */
  3711. __out_ecount_opt(NumViews) ID3D10RenderTargetView **ppRenderTargetViews,
  3712. /* [annotation] */
  3713. __out_opt ID3D10DepthStencilView **ppDepthStencilView) = 0;
  3714. virtual void STDMETHODCALLTYPE OMGetBlendState(
  3715. /* [annotation] */
  3716. __out_opt ID3D10BlendState **ppBlendState,
  3717. /* [annotation] */
  3718. __out_opt FLOAT BlendFactor[ 4 ],
  3719. /* [annotation] */
  3720. __out_opt UINT *pSampleMask) = 0;
  3721. virtual void STDMETHODCALLTYPE OMGetDepthStencilState(
  3722. /* [annotation] */
  3723. __out_opt ID3D10DepthStencilState **ppDepthStencilState,
  3724. /* [annotation] */
  3725. __out_opt UINT *pStencilRef) = 0;
  3726. virtual void STDMETHODCALLTYPE SOGetTargets(
  3727. /* [annotation] */
  3728. __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  3729. /* [annotation] */
  3730. __out_ecount_opt(NumBuffers) ID3D10Buffer **ppSOTargets,
  3731. /* [annotation] */
  3732. __out_ecount_opt(NumBuffers) UINT *pOffsets) = 0;
  3733. virtual void STDMETHODCALLTYPE RSGetState(
  3734. /* [annotation] */
  3735. __out ID3D10RasterizerState **ppRasterizerState) = 0;
  3736. virtual void STDMETHODCALLTYPE RSGetViewports(
  3737. /* [annotation] */
  3738. __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumViewports,
  3739. /* [annotation] */
  3740. __out_ecount_opt(*NumViewports) D3D10_VIEWPORT *pViewports) = 0;
  3741. virtual void STDMETHODCALLTYPE RSGetScissorRects(
  3742. /* [annotation] */
  3743. __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumRects,
  3744. /* [annotation] */
  3745. __out_ecount_opt(*NumRects) D3D10_RECT *pRects) = 0;
  3746. virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason( void) = 0;
  3747. virtual HRESULT STDMETHODCALLTYPE SetExceptionMode(
  3748. UINT RaiseFlags) = 0;
  3749. virtual UINT STDMETHODCALLTYPE GetExceptionMode( void) = 0;
  3750. virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
  3751. /* [annotation] */
  3752. __in REFGUID guid,
  3753. /* [annotation] */
  3754. __inout UINT *pDataSize,
  3755. /* [annotation] */
  3756. __out_bcount_opt(*pDataSize) void *pData) = 0;
  3757. virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
  3758. /* [annotation] */
  3759. __in REFGUID guid,
  3760. /* [annotation] */
  3761. __in UINT DataSize,
  3762. /* [annotation] */
  3763. __in_bcount_opt(DataSize) const void *pData) = 0;
  3764. virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
  3765. /* [annotation] */
  3766. __in REFGUID guid,
  3767. /* [annotation] */
  3768. __in_opt const IUnknown *pData) = 0;
  3769. virtual void STDMETHODCALLTYPE ClearState( void) = 0;
  3770. virtual void STDMETHODCALLTYPE Flush( void) = 0;
  3771. virtual HRESULT STDMETHODCALLTYPE CreateBuffer(
  3772. /* [annotation] */
  3773. __in const D3D10_BUFFER_DESC *pDesc,
  3774. /* [annotation] */
  3775. __in_opt const D3D10_SUBRESOURCE_DATA *pInitialData,
  3776. /* [annotation] */
  3777. __out_opt ID3D10Buffer **ppBuffer) = 0;
  3778. virtual HRESULT STDMETHODCALLTYPE CreateTexture1D(
  3779. /* [annotation] */
  3780. __in const D3D10_TEXTURE1D_DESC *pDesc,
  3781. /* [annotation] */
  3782. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3783. /* [annotation] */
  3784. __out ID3D10Texture1D **ppTexture1D) = 0;
  3785. virtual HRESULT STDMETHODCALLTYPE CreateTexture2D(
  3786. /* [annotation] */
  3787. __in const D3D10_TEXTURE2D_DESC *pDesc,
  3788. /* [annotation] */
  3789. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3790. /* [annotation] */
  3791. __out ID3D10Texture2D **ppTexture2D) = 0;
  3792. virtual HRESULT STDMETHODCALLTYPE CreateTexture3D(
  3793. /* [annotation] */
  3794. __in const D3D10_TEXTURE3D_DESC *pDesc,
  3795. /* [annotation] */
  3796. __in_xcount_opt(pDesc->MipLevels) const D3D10_SUBRESOURCE_DATA *pInitialData,
  3797. /* [annotation] */
  3798. __out ID3D10Texture3D **ppTexture3D) = 0;
  3799. virtual HRESULT STDMETHODCALLTYPE CreateShaderResourceView(
  3800. /* [annotation] */
  3801. __in ID3D10Resource *pResource,
  3802. /* [annotation] */
  3803. __in_opt const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  3804. /* [annotation] */
  3805. __out_opt ID3D10ShaderResourceView **ppSRView) = 0;
  3806. virtual HRESULT STDMETHODCALLTYPE CreateRenderTargetView(
  3807. /* [annotation] */
  3808. __in ID3D10Resource *pResource,
  3809. /* [annotation] */
  3810. __in_opt const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  3811. /* [annotation] */
  3812. __out_opt ID3D10RenderTargetView **ppRTView) = 0;
  3813. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilView(
  3814. /* [annotation] */
  3815. __in ID3D10Resource *pResource,
  3816. /* [annotation] */
  3817. __in_opt const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  3818. /* [annotation] */
  3819. __out_opt ID3D10DepthStencilView **ppDepthStencilView) = 0;
  3820. virtual HRESULT STDMETHODCALLTYPE CreateInputLayout(
  3821. /* [annotation] */
  3822. __in_ecount(NumElements) const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  3823. /* [annotation] */
  3824. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  3825. /* [annotation] */
  3826. __in const void *pShaderBytecodeWithInputSignature,
  3827. /* [annotation] */
  3828. __in SIZE_T BytecodeLength,
  3829. /* [annotation] */
  3830. __out_opt ID3D10InputLayout **ppInputLayout) = 0;
  3831. virtual HRESULT STDMETHODCALLTYPE CreateVertexShader(
  3832. /* [annotation] */
  3833. __in const void *pShaderBytecode,
  3834. /* [annotation] */
  3835. __in SIZE_T BytecodeLength,
  3836. /* [annotation] */
  3837. __out_opt ID3D10VertexShader **ppVertexShader) = 0;
  3838. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShader(
  3839. /* [annotation] */
  3840. __in const void *pShaderBytecode,
  3841. /* [annotation] */
  3842. __in SIZE_T BytecodeLength,
  3843. /* [annotation] */
  3844. __out_opt ID3D10GeometryShader **ppGeometryShader) = 0;
  3845. virtual HRESULT STDMETHODCALLTYPE CreateGeometryShaderWithStreamOutput(
  3846. /* [annotation] */
  3847. __in const void *pShaderBytecode,
  3848. /* [annotation] */
  3849. __in SIZE_T BytecodeLength,
  3850. /* [annotation] */
  3851. __in_ecount_opt(NumEntries) const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  3852. /* [annotation] */
  3853. __in_range( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ) UINT NumEntries,
  3854. /* [annotation] */
  3855. __in UINT OutputStreamStride,
  3856. /* [annotation] */
  3857. __out_opt ID3D10GeometryShader **ppGeometryShader) = 0;
  3858. virtual HRESULT STDMETHODCALLTYPE CreatePixelShader(
  3859. /* [annotation] */
  3860. __in const void *pShaderBytecode,
  3861. /* [annotation] */
  3862. __in SIZE_T BytecodeLength,
  3863. /* [annotation] */
  3864. __out_opt ID3D10PixelShader **ppPixelShader) = 0;
  3865. virtual HRESULT STDMETHODCALLTYPE CreateBlendState(
  3866. /* [annotation] */
  3867. __in const D3D10_BLEND_DESC *pBlendStateDesc,
  3868. /* [annotation] */
  3869. __out_opt ID3D10BlendState **ppBlendState) = 0;
  3870. virtual HRESULT STDMETHODCALLTYPE CreateDepthStencilState(
  3871. /* [annotation] */
  3872. __in const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  3873. /* [annotation] */
  3874. __out_opt ID3D10DepthStencilState **ppDepthStencilState) = 0;
  3875. virtual HRESULT STDMETHODCALLTYPE CreateRasterizerState(
  3876. /* [annotation] */
  3877. __in const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  3878. /* [annotation] */
  3879. __out_opt ID3D10RasterizerState **ppRasterizerState) = 0;
  3880. virtual HRESULT STDMETHODCALLTYPE CreateSamplerState(
  3881. /* [annotation] */
  3882. __in const D3D10_SAMPLER_DESC *pSamplerDesc,
  3883. /* [annotation] */
  3884. __out_opt ID3D10SamplerState **ppSamplerState) = 0;
  3885. virtual HRESULT STDMETHODCALLTYPE CreateQuery(
  3886. /* [annotation] */
  3887. __in const D3D10_QUERY_DESC *pQueryDesc,
  3888. /* [annotation] */
  3889. __out_opt ID3D10Query **ppQuery) = 0;
  3890. virtual HRESULT STDMETHODCALLTYPE CreatePredicate(
  3891. /* [annotation] */
  3892. __in const D3D10_QUERY_DESC *pPredicateDesc,
  3893. /* [annotation] */
  3894. __out_opt ID3D10Predicate **ppPredicate) = 0;
  3895. virtual HRESULT STDMETHODCALLTYPE CreateCounter(
  3896. /* [annotation] */
  3897. __in const D3D10_COUNTER_DESC *pCounterDesc,
  3898. /* [annotation] */
  3899. __out_opt ID3D10Counter **ppCounter) = 0;
  3900. virtual HRESULT STDMETHODCALLTYPE CheckFormatSupport(
  3901. /* [annotation] */
  3902. __in DXGI_FORMAT Format,
  3903. /* [annotation] */
  3904. __out UINT *pFormatSupport) = 0;
  3905. virtual HRESULT STDMETHODCALLTYPE CheckMultisampleQualityLevels(
  3906. /* [annotation] */
  3907. __in DXGI_FORMAT Format,
  3908. /* [annotation] */
  3909. __in UINT SampleCount,
  3910. /* [annotation] */
  3911. __out UINT *pNumQualityLevels) = 0;
  3912. virtual void STDMETHODCALLTYPE CheckCounterInfo(
  3913. /* [annotation] */
  3914. __out D3D10_COUNTER_INFO *pCounterInfo) = 0;
  3915. virtual HRESULT STDMETHODCALLTYPE CheckCounter(
  3916. /* [annotation] */
  3917. __in const D3D10_COUNTER_DESC *pDesc,
  3918. /* [annotation] */
  3919. __out D3D10_COUNTER_TYPE *pType,
  3920. /* [annotation] */
  3921. __out UINT *pActiveCounters,
  3922. /* [annotation] */
  3923. __out_ecount_opt(*pNameLength) LPSTR szName,
  3924. /* [annotation] */
  3925. __inout_opt UINT *pNameLength,
  3926. /* [annotation] */
  3927. __out_ecount_opt(*pUnitsLength) LPSTR szUnits,
  3928. /* [annotation] */
  3929. __inout_opt UINT *pUnitsLength,
  3930. /* [annotation] */
  3931. __out_ecount_opt(*pDescriptionLength) LPSTR szDescription,
  3932. /* [annotation] */
  3933. __inout_opt UINT *pDescriptionLength) = 0;
  3934. virtual UINT STDMETHODCALLTYPE GetCreationFlags( void) = 0;
  3935. virtual HRESULT STDMETHODCALLTYPE OpenSharedResource(
  3936. /* [annotation] */
  3937. __in HANDLE hResource,
  3938. /* [annotation] */
  3939. __in REFIID ReturnedInterface,
  3940. /* [annotation] */
  3941. __out_opt void **ppResource) = 0;
  3942. virtual void STDMETHODCALLTYPE SetTextFilterSize(
  3943. /* [annotation] */
  3944. __in UINT Width,
  3945. /* [annotation] */
  3946. __in UINT Height) = 0;
  3947. virtual void STDMETHODCALLTYPE GetTextFilterSize(
  3948. /* [annotation] */
  3949. __out_opt UINT *pWidth,
  3950. /* [annotation] */
  3951. __out_opt UINT *pHeight) = 0;
  3952. };
  3953. #else /* C style interface */
  3954. typedef struct ID3D10DeviceVtbl
  3955. {
  3956. BEGIN_INTERFACE
  3957. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3958. ID3D10Device * This,
  3959. /* [in] */ REFIID riid,
  3960. /* [annotation][iid_is][out] */
  3961. __RPC__deref_out void **ppvObject);
  3962. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3963. ID3D10Device * This);
  3964. ULONG ( STDMETHODCALLTYPE *Release )(
  3965. ID3D10Device * This);
  3966. void ( STDMETHODCALLTYPE *VSSetConstantBuffers )(
  3967. ID3D10Device * This,
  3968. /* [annotation] */
  3969. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  3970. /* [annotation] */
  3971. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  3972. /* [annotation] */
  3973. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  3974. void ( STDMETHODCALLTYPE *PSSetShaderResources )(
  3975. ID3D10Device * This,
  3976. /* [annotation] */
  3977. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  3978. /* [annotation] */
  3979. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  3980. /* [annotation] */
  3981. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  3982. void ( STDMETHODCALLTYPE *PSSetShader )(
  3983. ID3D10Device * This,
  3984. /* [annotation] */
  3985. __in_opt ID3D10PixelShader *pPixelShader);
  3986. void ( STDMETHODCALLTYPE *PSSetSamplers )(
  3987. ID3D10Device * This,
  3988. /* [annotation] */
  3989. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  3990. /* [annotation] */
  3991. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  3992. /* [annotation] */
  3993. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  3994. void ( STDMETHODCALLTYPE *VSSetShader )(
  3995. ID3D10Device * This,
  3996. /* [annotation] */
  3997. __in_opt ID3D10VertexShader *pVertexShader);
  3998. void ( STDMETHODCALLTYPE *DrawIndexed )(
  3999. ID3D10Device * This,
  4000. /* [annotation] */
  4001. __in UINT IndexCount,
  4002. /* [annotation] */
  4003. __in UINT StartIndexLocation,
  4004. /* [annotation] */
  4005. __in INT BaseVertexLocation);
  4006. void ( STDMETHODCALLTYPE *Draw )(
  4007. ID3D10Device * This,
  4008. /* [annotation] */
  4009. __in UINT VertexCount,
  4010. /* [annotation] */
  4011. __in UINT StartVertexLocation);
  4012. void ( STDMETHODCALLTYPE *PSSetConstantBuffers )(
  4013. ID3D10Device * This,
  4014. /* [annotation] */
  4015. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4016. /* [annotation] */
  4017. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4018. /* [annotation] */
  4019. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  4020. void ( STDMETHODCALLTYPE *IASetInputLayout )(
  4021. ID3D10Device * This,
  4022. /* [annotation] */
  4023. __in_opt ID3D10InputLayout *pInputLayout);
  4024. void ( STDMETHODCALLTYPE *IASetVertexBuffers )(
  4025. ID3D10Device * This,
  4026. /* [annotation] */
  4027. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4028. /* [annotation] */
  4029. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4030. /* [annotation] */
  4031. __in_ecount(NumBuffers) ID3D10Buffer *const *ppVertexBuffers,
  4032. /* [annotation] */
  4033. __in_ecount(NumBuffers) const UINT *pStrides,
  4034. /* [annotation] */
  4035. __in_ecount(NumBuffers) const UINT *pOffsets);
  4036. void ( STDMETHODCALLTYPE *IASetIndexBuffer )(
  4037. ID3D10Device * This,
  4038. /* [annotation] */
  4039. __in_opt ID3D10Buffer *pIndexBuffer,
  4040. /* [annotation] */
  4041. __in DXGI_FORMAT Format,
  4042. /* [annotation] */
  4043. __in UINT Offset);
  4044. void ( STDMETHODCALLTYPE *DrawIndexedInstanced )(
  4045. ID3D10Device * This,
  4046. /* [annotation] */
  4047. __in UINT IndexCountPerInstance,
  4048. /* [annotation] */
  4049. __in UINT InstanceCount,
  4050. /* [annotation] */
  4051. __in UINT StartIndexLocation,
  4052. /* [annotation] */
  4053. __in INT BaseVertexLocation,
  4054. /* [annotation] */
  4055. __in UINT StartInstanceLocation);
  4056. void ( STDMETHODCALLTYPE *DrawInstanced )(
  4057. ID3D10Device * This,
  4058. /* [annotation] */
  4059. __in UINT VertexCountPerInstance,
  4060. /* [annotation] */
  4061. __in UINT InstanceCount,
  4062. /* [annotation] */
  4063. __in UINT StartVertexLocation,
  4064. /* [annotation] */
  4065. __in UINT StartInstanceLocation);
  4066. void ( STDMETHODCALLTYPE *GSSetConstantBuffers )(
  4067. ID3D10Device * This,
  4068. /* [annotation] */
  4069. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4070. /* [annotation] */
  4071. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4072. /* [annotation] */
  4073. __in_ecount(NumBuffers) ID3D10Buffer *const *ppConstantBuffers);
  4074. void ( STDMETHODCALLTYPE *GSSetShader )(
  4075. ID3D10Device * This,
  4076. /* [annotation] */
  4077. __in_opt ID3D10GeometryShader *pShader);
  4078. void ( STDMETHODCALLTYPE *IASetPrimitiveTopology )(
  4079. ID3D10Device * This,
  4080. /* [annotation] */
  4081. __in D3D10_PRIMITIVE_TOPOLOGY Topology);
  4082. void ( STDMETHODCALLTYPE *VSSetShaderResources )(
  4083. ID3D10Device * This,
  4084. /* [annotation] */
  4085. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4086. /* [annotation] */
  4087. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4088. /* [annotation] */
  4089. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  4090. void ( STDMETHODCALLTYPE *VSSetSamplers )(
  4091. ID3D10Device * This,
  4092. /* [annotation] */
  4093. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4094. /* [annotation] */
  4095. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4096. /* [annotation] */
  4097. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  4098. void ( STDMETHODCALLTYPE *SetPredication )(
  4099. ID3D10Device * This,
  4100. /* [annotation] */
  4101. __in_opt ID3D10Predicate *pPredicate,
  4102. /* [annotation] */
  4103. __in BOOL PredicateValue);
  4104. void ( STDMETHODCALLTYPE *GSSetShaderResources )(
  4105. ID3D10Device * This,
  4106. /* [annotation] */
  4107. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4108. /* [annotation] */
  4109. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4110. /* [annotation] */
  4111. __in_ecount(NumViews) ID3D10ShaderResourceView *const *ppShaderResourceViews);
  4112. void ( STDMETHODCALLTYPE *GSSetSamplers )(
  4113. ID3D10Device * This,
  4114. /* [annotation] */
  4115. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4116. /* [annotation] */
  4117. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4118. /* [annotation] */
  4119. __in_ecount(NumSamplers) ID3D10SamplerState *const *ppSamplers);
  4120. void ( STDMETHODCALLTYPE *OMSetRenderTargets )(
  4121. ID3D10Device * This,
  4122. /* [annotation] */
  4123. __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  4124. /* [annotation] */
  4125. __in_ecount_opt(NumViews) ID3D10RenderTargetView *const *ppRenderTargetViews,
  4126. /* [annotation] */
  4127. __in_opt ID3D10DepthStencilView *pDepthStencilView);
  4128. void ( STDMETHODCALLTYPE *OMSetBlendState )(
  4129. ID3D10Device * This,
  4130. /* [annotation] */
  4131. __in_opt ID3D10BlendState *pBlendState,
  4132. /* [annotation] */
  4133. __in const FLOAT BlendFactor[ 4 ],
  4134. /* [annotation] */
  4135. __in UINT SampleMask);
  4136. void ( STDMETHODCALLTYPE *OMSetDepthStencilState )(
  4137. ID3D10Device * This,
  4138. /* [annotation] */
  4139. __in_opt ID3D10DepthStencilState *pDepthStencilState,
  4140. /* [annotation] */
  4141. __in UINT StencilRef);
  4142. void ( STDMETHODCALLTYPE *SOSetTargets )(
  4143. ID3D10Device * This,
  4144. /* [annotation] */
  4145. __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT) UINT NumBuffers,
  4146. /* [annotation] */
  4147. __in_ecount_opt(NumBuffers) ID3D10Buffer *const *ppSOTargets,
  4148. /* [annotation] */
  4149. __in_ecount_opt(NumBuffers) const UINT *pOffsets);
  4150. void ( STDMETHODCALLTYPE *DrawAuto )(
  4151. ID3D10Device * This);
  4152. void ( STDMETHODCALLTYPE *RSSetState )(
  4153. ID3D10Device * This,
  4154. /* [annotation] */
  4155. __in_opt ID3D10RasterizerState *pRasterizerState);
  4156. void ( STDMETHODCALLTYPE *RSSetViewports )(
  4157. ID3D10Device * This,
  4158. /* [annotation] */
  4159. __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
  4160. /* [annotation] */
  4161. __in_ecount_opt(NumViewports) const D3D10_VIEWPORT *pViewports);
  4162. void ( STDMETHODCALLTYPE *RSSetScissorRects )(
  4163. ID3D10Device * This,
  4164. /* [annotation] */
  4165. __in_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
  4166. /* [annotation] */
  4167. __in_ecount_opt(NumRects) const D3D10_RECT *pRects);
  4168. void ( STDMETHODCALLTYPE *CopySubresourceRegion )(
  4169. ID3D10Device * This,
  4170. /* [annotation] */
  4171. __in ID3D10Resource *pDstResource,
  4172. /* [annotation] */
  4173. __in UINT DstSubresource,
  4174. /* [annotation] */
  4175. __in UINT DstX,
  4176. /* [annotation] */
  4177. __in UINT DstY,
  4178. /* [annotation] */
  4179. __in UINT DstZ,
  4180. /* [annotation] */
  4181. __in ID3D10Resource *pSrcResource,
  4182. /* [annotation] */
  4183. __in UINT SrcSubresource,
  4184. /* [annotation] */
  4185. __in_opt const D3D10_BOX *pSrcBox);
  4186. void ( STDMETHODCALLTYPE *CopyResource )(
  4187. ID3D10Device * This,
  4188. /* [annotation] */
  4189. __in ID3D10Resource *pDstResource,
  4190. /* [annotation] */
  4191. __in ID3D10Resource *pSrcResource);
  4192. void ( STDMETHODCALLTYPE *UpdateSubresource )(
  4193. ID3D10Device * This,
  4194. /* [annotation] */
  4195. __in ID3D10Resource *pDstResource,
  4196. /* [annotation] */
  4197. __in UINT DstSubresource,
  4198. /* [annotation] */
  4199. __in_opt const D3D10_BOX *pDstBox,
  4200. /* [annotation] */
  4201. __in const void *pSrcData,
  4202. /* [annotation] */
  4203. __in UINT SrcRowPitch,
  4204. /* [annotation] */
  4205. __in UINT SrcDepthPitch);
  4206. void ( STDMETHODCALLTYPE *ClearRenderTargetView )(
  4207. ID3D10Device * This,
  4208. /* [annotation] */
  4209. __in ID3D10RenderTargetView *pRenderTargetView,
  4210. /* [annotation] */
  4211. __in const FLOAT ColorRGBA[ 4 ]);
  4212. void ( STDMETHODCALLTYPE *ClearDepthStencilView )(
  4213. ID3D10Device * This,
  4214. /* [annotation] */
  4215. __in ID3D10DepthStencilView *pDepthStencilView,
  4216. /* [annotation] */
  4217. __in UINT ClearFlags,
  4218. /* [annotation] */
  4219. __in FLOAT Depth,
  4220. /* [annotation] */
  4221. __in UINT8 Stencil);
  4222. void ( STDMETHODCALLTYPE *GenerateMips )(
  4223. ID3D10Device * This,
  4224. /* [annotation] */
  4225. __in ID3D10ShaderResourceView *pShaderResourceView);
  4226. void ( STDMETHODCALLTYPE *ResolveSubresource )(
  4227. ID3D10Device * This,
  4228. /* [annotation] */
  4229. __in ID3D10Resource *pDstResource,
  4230. /* [annotation] */
  4231. __in UINT DstSubresource,
  4232. /* [annotation] */
  4233. __in ID3D10Resource *pSrcResource,
  4234. /* [annotation] */
  4235. __in UINT SrcSubresource,
  4236. /* [annotation] */
  4237. __in DXGI_FORMAT Format);
  4238. void ( STDMETHODCALLTYPE *VSGetConstantBuffers )(
  4239. ID3D10Device * This,
  4240. /* [annotation] */
  4241. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4242. /* [annotation] */
  4243. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4244. /* [annotation] */
  4245. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4246. void ( STDMETHODCALLTYPE *PSGetShaderResources )(
  4247. ID3D10Device * This,
  4248. /* [annotation] */
  4249. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4250. /* [annotation] */
  4251. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4252. /* [annotation] */
  4253. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4254. void ( STDMETHODCALLTYPE *PSGetShader )(
  4255. ID3D10Device * This,
  4256. /* [annotation] */
  4257. __out ID3D10PixelShader **ppPixelShader);
  4258. void ( STDMETHODCALLTYPE *PSGetSamplers )(
  4259. ID3D10Device * This,
  4260. /* [annotation] */
  4261. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4262. /* [annotation] */
  4263. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4264. /* [annotation] */
  4265. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers);
  4266. void ( STDMETHODCALLTYPE *VSGetShader )(
  4267. ID3D10Device * This,
  4268. /* [annotation] */
  4269. __out ID3D10VertexShader **ppVertexShader);
  4270. void ( STDMETHODCALLTYPE *PSGetConstantBuffers )(
  4271. ID3D10Device * This,
  4272. /* [annotation] */
  4273. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4274. /* [annotation] */
  4275. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4276. /* [annotation] */
  4277. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4278. void ( STDMETHODCALLTYPE *IAGetInputLayout )(
  4279. ID3D10Device * This,
  4280. /* [annotation] */
  4281. __out ID3D10InputLayout **ppInputLayout);
  4282. void ( STDMETHODCALLTYPE *IAGetVertexBuffers )(
  4283. ID3D10Device * This,
  4284. /* [annotation] */
  4285. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4286. /* [annotation] */
  4287. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4288. /* [annotation] */
  4289. __out_ecount_opt(NumBuffers) ID3D10Buffer **ppVertexBuffers,
  4290. /* [annotation] */
  4291. __out_ecount_opt(NumBuffers) UINT *pStrides,
  4292. /* [annotation] */
  4293. __out_ecount_opt(NumBuffers) UINT *pOffsets);
  4294. void ( STDMETHODCALLTYPE *IAGetIndexBuffer )(
  4295. ID3D10Device * This,
  4296. /* [annotation] */
  4297. __out_opt ID3D10Buffer **pIndexBuffer,
  4298. /* [annotation] */
  4299. __out_opt DXGI_FORMAT *Format,
  4300. /* [annotation] */
  4301. __out_opt UINT *Offset);
  4302. void ( STDMETHODCALLTYPE *GSGetConstantBuffers )(
  4303. ID3D10Device * This,
  4304. /* [annotation] */
  4305. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 ) UINT StartSlot,
  4306. /* [annotation] */
  4307. __in_range( 0, D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot ) UINT NumBuffers,
  4308. /* [annotation] */
  4309. __out_ecount(NumBuffers) ID3D10Buffer **ppConstantBuffers);
  4310. void ( STDMETHODCALLTYPE *GSGetShader )(
  4311. ID3D10Device * This,
  4312. /* [annotation] */
  4313. __out ID3D10GeometryShader **ppGeometryShader);
  4314. void ( STDMETHODCALLTYPE *IAGetPrimitiveTopology )(
  4315. ID3D10Device * This,
  4316. /* [annotation] */
  4317. __out D3D10_PRIMITIVE_TOPOLOGY *pTopology);
  4318. void ( STDMETHODCALLTYPE *VSGetShaderResources )(
  4319. ID3D10Device * This,
  4320. /* [annotation] */
  4321. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4322. /* [annotation] */
  4323. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4324. /* [annotation] */
  4325. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4326. void ( STDMETHODCALLTYPE *VSGetSamplers )(
  4327. ID3D10Device * This,
  4328. /* [annotation] */
  4329. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4330. /* [annotation] */
  4331. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4332. /* [annotation] */
  4333. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers);
  4334. void ( STDMETHODCALLTYPE *GetPredication )(
  4335. ID3D10Device * This,
  4336. /* [annotation] */
  4337. __out_opt ID3D10Predicate **ppPredicate,
  4338. /* [annotation] */
  4339. __out_opt BOOL *pPredicateValue);
  4340. void ( STDMETHODCALLTYPE *GSGetShaderResources )(
  4341. ID3D10Device * This,
  4342. /* [annotation] */
  4343. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - 1 ) UINT StartSlot,
  4344. /* [annotation] */
  4345. __in_range( 0, D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT - StartSlot ) UINT NumViews,
  4346. /* [annotation] */
  4347. __out_ecount(NumViews) ID3D10ShaderResourceView **ppShaderResourceViews);
  4348. void ( STDMETHODCALLTYPE *GSGetSamplers )(
  4349. ID3D10Device * This,
  4350. /* [annotation] */
  4351. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - 1 ) UINT StartSlot,
  4352. /* [annotation] */
  4353. __in_range( 0, D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot ) UINT NumSamplers,
  4354. /* [annotation] */
  4355. __out_ecount(NumSamplers) ID3D10SamplerState **ppSamplers);
  4356. void ( STDMETHODCALLTYPE *OMGetRenderTargets )(
  4357. ID3D10Device * This,
  4358. /* [annotation] */
  4359. __in_range( 0, D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT ) UINT NumViews,
  4360. /* [annotation] */
  4361. __out_ecount_opt(NumViews) ID3D10RenderTargetView **ppRenderTargetViews,
  4362. /* [annotation] */
  4363. __out_opt ID3D10DepthStencilView **ppDepthStencilView);
  4364. void ( STDMETHODCALLTYPE *OMGetBlendState )(
  4365. ID3D10Device * This,
  4366. /* [annotation] */
  4367. __out_opt ID3D10BlendState **ppBlendState,
  4368. /* [annotation] */
  4369. __out_opt FLOAT BlendFactor[ 4 ],
  4370. /* [annotation] */
  4371. __out_opt UINT *pSampleMask);
  4372. void ( STDMETHODCALLTYPE *OMGetDepthStencilState )(
  4373. ID3D10Device * This,
  4374. /* [annotation] */
  4375. __out_opt ID3D10DepthStencilState **ppDepthStencilState,
  4376. /* [annotation] */
  4377. __out_opt UINT *pStencilRef);
  4378. void ( STDMETHODCALLTYPE *SOGetTargets )(
  4379. ID3D10Device * This,
  4380. /* [annotation] */
  4381. __in_range( 0, D3D10_SO_BUFFER_SLOT_COUNT ) UINT NumBuffers,
  4382. /* [annotation] */
  4383. __out_ecount_opt(NumBuffers) ID3D10Buffer **ppSOTargets,
  4384. /* [annotation] */
  4385. __out_ecount_opt(NumBuffers) UINT *pOffsets);
  4386. void ( STDMETHODCALLTYPE *RSGetState )(
  4387. ID3D10Device * This,
  4388. /* [annotation] */
  4389. __out ID3D10RasterizerState **ppRasterizerState);
  4390. void ( STDMETHODCALLTYPE *RSGetViewports )(
  4391. ID3D10Device * This,
  4392. /* [annotation] */
  4393. __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumViewports,
  4394. /* [annotation] */
  4395. __out_ecount_opt(*NumViewports) D3D10_VIEWPORT *pViewports);
  4396. void ( STDMETHODCALLTYPE *RSGetScissorRects )(
  4397. ID3D10Device * This,
  4398. /* [annotation] */
  4399. __inout /*_range(0, D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE )*/ UINT *NumRects,
  4400. /* [annotation] */
  4401. __out_ecount_opt(*NumRects) D3D10_RECT *pRects);
  4402. HRESULT ( STDMETHODCALLTYPE *GetDeviceRemovedReason )(
  4403. ID3D10Device * This);
  4404. HRESULT ( STDMETHODCALLTYPE *SetExceptionMode )(
  4405. ID3D10Device * This,
  4406. UINT RaiseFlags);
  4407. UINT ( STDMETHODCALLTYPE *GetExceptionMode )(
  4408. ID3D10Device * This);
  4409. HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
  4410. ID3D10Device * This,
  4411. /* [annotation] */
  4412. __in REFGUID guid,
  4413. /* [annotation] */
  4414. __inout UINT *pDataSize,
  4415. /* [annotation] */
  4416. __out_bcount_opt(*pDataSize) void *pData);
  4417. HRESULT ( STDMETHODCALLTYPE *SetPrivateData )(
  4418. ID3D10Device * This,
  4419. /* [annotation] */
  4420. __in REFGUID guid,
  4421. /* [annotation] */
  4422. __in UINT DataSize,
  4423. /* [annotation] */
  4424. __in_bcount_opt(DataSize) const void *pData);
  4425. HRESULT ( STDMETHODCALLTYPE *SetPrivateDataInterface )(
  4426. ID3D10Device * This,
  4427. /* [annotation] */
  4428. __in REFGUID guid,
  4429. /* [annotation] */
  4430. __in_opt const IUnknown *pData);
  4431. void ( STDMETHODCALLTYPE *ClearState )(
  4432. ID3D10Device * This);
  4433. void ( STDMETHODCALLTYPE *Flush )(
  4434. ID3D10Device * This);
  4435. HRESULT ( STDMETHODCALLTYPE *CreateBuffer )(
  4436. ID3D10Device * This,
  4437. /* [annotation] */
  4438. __in const D3D10_BUFFER_DESC *pDesc,
  4439. /* [annotation] */
  4440. __in_opt const D3D10_SUBRESOURCE_DATA *pInitialData,
  4441. /* [annotation] */
  4442. __out_opt ID3D10Buffer **ppBuffer);
  4443. HRESULT ( STDMETHODCALLTYPE *CreateTexture1D )(
  4444. ID3D10Device * This,
  4445. /* [annotation] */
  4446. __in const D3D10_TEXTURE1D_DESC *pDesc,
  4447. /* [annotation] */
  4448. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4449. /* [annotation] */
  4450. __out ID3D10Texture1D **ppTexture1D);
  4451. HRESULT ( STDMETHODCALLTYPE *CreateTexture2D )(
  4452. ID3D10Device * This,
  4453. /* [annotation] */
  4454. __in const D3D10_TEXTURE2D_DESC *pDesc,
  4455. /* [annotation] */
  4456. __in_xcount_opt(pDesc->MipLevels * pDesc->ArraySize) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4457. /* [annotation] */
  4458. __out ID3D10Texture2D **ppTexture2D);
  4459. HRESULT ( STDMETHODCALLTYPE *CreateTexture3D )(
  4460. ID3D10Device * This,
  4461. /* [annotation] */
  4462. __in const D3D10_TEXTURE3D_DESC *pDesc,
  4463. /* [annotation] */
  4464. __in_xcount_opt(pDesc->MipLevels) const D3D10_SUBRESOURCE_DATA *pInitialData,
  4465. /* [annotation] */
  4466. __out ID3D10Texture3D **ppTexture3D);
  4467. HRESULT ( STDMETHODCALLTYPE *CreateShaderResourceView )(
  4468. ID3D10Device * This,
  4469. /* [annotation] */
  4470. __in ID3D10Resource *pResource,
  4471. /* [annotation] */
  4472. __in_opt const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  4473. /* [annotation] */
  4474. __out_opt ID3D10ShaderResourceView **ppSRView);
  4475. HRESULT ( STDMETHODCALLTYPE *CreateRenderTargetView )(
  4476. ID3D10Device * This,
  4477. /* [annotation] */
  4478. __in ID3D10Resource *pResource,
  4479. /* [annotation] */
  4480. __in_opt const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  4481. /* [annotation] */
  4482. __out_opt ID3D10RenderTargetView **ppRTView);
  4483. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilView )(
  4484. ID3D10Device * This,
  4485. /* [annotation] */
  4486. __in ID3D10Resource *pResource,
  4487. /* [annotation] */
  4488. __in_opt const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  4489. /* [annotation] */
  4490. __out_opt ID3D10DepthStencilView **ppDepthStencilView);
  4491. HRESULT ( STDMETHODCALLTYPE *CreateInputLayout )(
  4492. ID3D10Device * This,
  4493. /* [annotation] */
  4494. __in_ecount(NumElements) const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  4495. /* [annotation] */
  4496. __in_range( 0, D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT ) UINT NumElements,
  4497. /* [annotation] */
  4498. __in const void *pShaderBytecodeWithInputSignature,
  4499. /* [annotation] */
  4500. __in SIZE_T BytecodeLength,
  4501. /* [annotation] */
  4502. __out_opt ID3D10InputLayout **ppInputLayout);
  4503. HRESULT ( STDMETHODCALLTYPE *CreateVertexShader )(
  4504. ID3D10Device * This,
  4505. /* [annotation] */
  4506. __in const void *pShaderBytecode,
  4507. /* [annotation] */
  4508. __in SIZE_T BytecodeLength,
  4509. /* [annotation] */
  4510. __out_opt ID3D10VertexShader **ppVertexShader);
  4511. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShader )(
  4512. ID3D10Device * This,
  4513. /* [annotation] */
  4514. __in const void *pShaderBytecode,
  4515. /* [annotation] */
  4516. __in SIZE_T BytecodeLength,
  4517. /* [annotation] */
  4518. __out_opt ID3D10GeometryShader **ppGeometryShader);
  4519. HRESULT ( STDMETHODCALLTYPE *CreateGeometryShaderWithStreamOutput )(
  4520. ID3D10Device * This,
  4521. /* [annotation] */
  4522. __in const void *pShaderBytecode,
  4523. /* [annotation] */
  4524. __in SIZE_T BytecodeLength,
  4525. /* [annotation] */
  4526. __in_ecount_opt(NumEntries) const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  4527. /* [annotation] */
  4528. __in_range( 0, D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT ) UINT NumEntries,
  4529. /* [annotation] */
  4530. __in UINT OutputStreamStride,
  4531. /* [annotation] */
  4532. __out_opt ID3D10GeometryShader **ppGeometryShader);
  4533. HRESULT ( STDMETHODCALLTYPE *CreatePixelShader )(
  4534. ID3D10Device * This,
  4535. /* [annotation] */
  4536. __in const void *pShaderBytecode,
  4537. /* [annotation] */
  4538. __in SIZE_T BytecodeLength,
  4539. /* [annotation] */
  4540. __out_opt ID3D10PixelShader **ppPixelShader);
  4541. HRESULT ( STDMETHODCALLTYPE *CreateBlendState )(
  4542. ID3D10Device * This,
  4543. /* [annotation] */
  4544. __in const D3D10_BLEND_DESC *pBlendStateDesc,
  4545. /* [annotation] */
  4546. __out_opt ID3D10BlendState **ppBlendState);
  4547. HRESULT ( STDMETHODCALLTYPE *CreateDepthStencilState )(
  4548. ID3D10Device * This,
  4549. /* [annotation] */
  4550. __in const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  4551. /* [annotation] */
  4552. __out_opt ID3D10DepthStencilState **ppDepthStencilState);
  4553. HRESULT ( STDMETHODCALLTYPE *CreateRasterizerState )(
  4554. ID3D10Device * This,
  4555. /* [annotation] */
  4556. __in const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  4557. /* [annotation] */
  4558. __out_opt ID3D10RasterizerState **ppRasterizerState);
  4559. HRESULT ( STDMETHODCALLTYPE *CreateSamplerState )(
  4560. ID3D10Device * This,
  4561. /* [annotation] */
  4562. __in const D3D10_SAMPLER_DESC *pSamplerDesc,
  4563. /* [annotation] */
  4564. __out_opt ID3D10SamplerState **ppSamplerState);
  4565. HRESULT ( STDMETHODCALLTYPE *CreateQuery )(
  4566. ID3D10Device * This,
  4567. /* [annotation] */
  4568. __in const D3D10_QUERY_DESC *pQueryDesc,
  4569. /* [annotation] */
  4570. __out_opt ID3D10Query **ppQuery);
  4571. HRESULT ( STDMETHODCALLTYPE *CreatePredicate )(
  4572. ID3D10Device * This,
  4573. /* [annotation] */
  4574. __in const D3D10_QUERY_DESC *pPredicateDesc,
  4575. /* [annotation] */
  4576. __out_opt ID3D10Predicate **ppPredicate);
  4577. HRESULT ( STDMETHODCALLTYPE *CreateCounter )(
  4578. ID3D10Device * This,
  4579. /* [annotation] */
  4580. __in const D3D10_COUNTER_DESC *pCounterDesc,
  4581. /* [annotation] */
  4582. __out_opt ID3D10Counter **ppCounter);
  4583. HRESULT ( STDMETHODCALLTYPE *CheckFormatSupport )(
  4584. ID3D10Device * This,
  4585. /* [annotation] */
  4586. __in DXGI_FORMAT Format,
  4587. /* [annotation] */
  4588. __out UINT *pFormatSupport);
  4589. HRESULT ( STDMETHODCALLTYPE *CheckMultisampleQualityLevels )(
  4590. ID3D10Device * This,
  4591. /* [annotation] */
  4592. __in DXGI_FORMAT Format,
  4593. /* [annotation] */
  4594. __in UINT SampleCount,
  4595. /* [annotation] */
  4596. __out UINT *pNumQualityLevels);
  4597. void ( STDMETHODCALLTYPE *CheckCounterInfo )(
  4598. ID3D10Device * This,
  4599. /* [annotation] */
  4600. __out D3D10_COUNTER_INFO *pCounterInfo);
  4601. HRESULT ( STDMETHODCALLTYPE *CheckCounter )(
  4602. ID3D10Device * This,
  4603. /* [annotation] */
  4604. __in const D3D10_COUNTER_DESC *pDesc,
  4605. /* [annotation] */
  4606. __out D3D10_COUNTER_TYPE *pType,
  4607. /* [annotation] */
  4608. __out UINT *pActiveCounters,
  4609. /* [annotation] */
  4610. __out_ecount_opt(*pNameLength) LPSTR szName,
  4611. /* [annotation] */
  4612. __inout_opt UINT *pNameLength,
  4613. /* [annotation] */
  4614. __out_ecount_opt(*pUnitsLength) LPSTR szUnits,
  4615. /* [annotation] */
  4616. __inout_opt UINT *pUnitsLength,
  4617. /* [annotation] */
  4618. __out_ecount_opt(*pDescriptionLength) LPSTR szDescription,
  4619. /* [annotation] */
  4620. __inout_opt UINT *pDescriptionLength);
  4621. UINT ( STDMETHODCALLTYPE *GetCreationFlags )(
  4622. ID3D10Device * This);
  4623. HRESULT ( STDMETHODCALLTYPE *OpenSharedResource )(
  4624. ID3D10Device * This,
  4625. /* [annotation] */
  4626. __in HANDLE hResource,
  4627. /* [annotation] */
  4628. __in REFIID ReturnedInterface,
  4629. /* [annotation] */
  4630. __out_opt void **ppResource);
  4631. void ( STDMETHODCALLTYPE *SetTextFilterSize )(
  4632. ID3D10Device * This,
  4633. /* [annotation] */
  4634. __in UINT Width,
  4635. /* [annotation] */
  4636. __in UINT Height);
  4637. void ( STDMETHODCALLTYPE *GetTextFilterSize )(
  4638. ID3D10Device * This,
  4639. /* [annotation] */
  4640. __out_opt UINT *pWidth,
  4641. /* [annotation] */
  4642. __out_opt UINT *pHeight);
  4643. END_INTERFACE
  4644. } ID3D10DeviceVtbl;
  4645. interface ID3D10Device
  4646. {
  4647. CONST_VTBL struct ID3D10DeviceVtbl *lpVtbl;
  4648. };
  4649. #ifdef COBJMACROS
  4650. #define ID3D10Device_QueryInterface(This,riid,ppvObject) \
  4651. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4652. #define ID3D10Device_AddRef(This) \
  4653. ( (This)->lpVtbl -> AddRef(This) )
  4654. #define ID3D10Device_Release(This) \
  4655. ( (This)->lpVtbl -> Release(This) )
  4656. #define ID3D10Device_VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4657. ( (This)->lpVtbl -> VSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4658. #define ID3D10Device_PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4659. ( (This)->lpVtbl -> PSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4660. #define ID3D10Device_PSSetShader(This,pPixelShader) \
  4661. ( (This)->lpVtbl -> PSSetShader(This,pPixelShader) )
  4662. #define ID3D10Device_PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4663. ( (This)->lpVtbl -> PSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4664. #define ID3D10Device_VSSetShader(This,pVertexShader) \
  4665. ( (This)->lpVtbl -> VSSetShader(This,pVertexShader) )
  4666. #define ID3D10Device_DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) \
  4667. ( (This)->lpVtbl -> DrawIndexed(This,IndexCount,StartIndexLocation,BaseVertexLocation) )
  4668. #define ID3D10Device_Draw(This,VertexCount,StartVertexLocation) \
  4669. ( (This)->lpVtbl -> Draw(This,VertexCount,StartVertexLocation) )
  4670. #define ID3D10Device_PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4671. ( (This)->lpVtbl -> PSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4672. #define ID3D10Device_IASetInputLayout(This,pInputLayout) \
  4673. ( (This)->lpVtbl -> IASetInputLayout(This,pInputLayout) )
  4674. #define ID3D10Device_IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  4675. ( (This)->lpVtbl -> IASetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  4676. #define ID3D10Device_IASetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  4677. ( (This)->lpVtbl -> IASetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  4678. #define ID3D10Device_DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) \
  4679. ( (This)->lpVtbl -> DrawIndexedInstanced(This,IndexCountPerInstance,InstanceCount,StartIndexLocation,BaseVertexLocation,StartInstanceLocation) )
  4680. #define ID3D10Device_DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) \
  4681. ( (This)->lpVtbl -> DrawInstanced(This,VertexCountPerInstance,InstanceCount,StartVertexLocation,StartInstanceLocation) )
  4682. #define ID3D10Device_GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4683. ( (This)->lpVtbl -> GSSetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4684. #define ID3D10Device_GSSetShader(This,pShader) \
  4685. ( (This)->lpVtbl -> GSSetShader(This,pShader) )
  4686. #define ID3D10Device_IASetPrimitiveTopology(This,Topology) \
  4687. ( (This)->lpVtbl -> IASetPrimitiveTopology(This,Topology) )
  4688. #define ID3D10Device_VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4689. ( (This)->lpVtbl -> VSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4690. #define ID3D10Device_VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4691. ( (This)->lpVtbl -> VSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4692. #define ID3D10Device_SetPredication(This,pPredicate,PredicateValue) \
  4693. ( (This)->lpVtbl -> SetPredication(This,pPredicate,PredicateValue) )
  4694. #define ID3D10Device_GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4695. ( (This)->lpVtbl -> GSSetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4696. #define ID3D10Device_GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4697. ( (This)->lpVtbl -> GSSetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4698. #define ID3D10Device_OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) \
  4699. ( (This)->lpVtbl -> OMSetRenderTargets(This,NumViews,ppRenderTargetViews,pDepthStencilView) )
  4700. #define ID3D10Device_OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) \
  4701. ( (This)->lpVtbl -> OMSetBlendState(This,pBlendState,BlendFactor,SampleMask) )
  4702. #define ID3D10Device_OMSetDepthStencilState(This,pDepthStencilState,StencilRef) \
  4703. ( (This)->lpVtbl -> OMSetDepthStencilState(This,pDepthStencilState,StencilRef) )
  4704. #define ID3D10Device_SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) \
  4705. ( (This)->lpVtbl -> SOSetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  4706. #define ID3D10Device_DrawAuto(This) \
  4707. ( (This)->lpVtbl -> DrawAuto(This) )
  4708. #define ID3D10Device_RSSetState(This,pRasterizerState) \
  4709. ( (This)->lpVtbl -> RSSetState(This,pRasterizerState) )
  4710. #define ID3D10Device_RSSetViewports(This,NumViewports,pViewports) \
  4711. ( (This)->lpVtbl -> RSSetViewports(This,NumViewports,pViewports) )
  4712. #define ID3D10Device_RSSetScissorRects(This,NumRects,pRects) \
  4713. ( (This)->lpVtbl -> RSSetScissorRects(This,NumRects,pRects) )
  4714. #define ID3D10Device_CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) \
  4715. ( (This)->lpVtbl -> CopySubresourceRegion(This,pDstResource,DstSubresource,DstX,DstY,DstZ,pSrcResource,SrcSubresource,pSrcBox) )
  4716. #define ID3D10Device_CopyResource(This,pDstResource,pSrcResource) \
  4717. ( (This)->lpVtbl -> CopyResource(This,pDstResource,pSrcResource) )
  4718. #define ID3D10Device_UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) \
  4719. ( (This)->lpVtbl -> UpdateSubresource(This,pDstResource,DstSubresource,pDstBox,pSrcData,SrcRowPitch,SrcDepthPitch) )
  4720. #define ID3D10Device_ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) \
  4721. ( (This)->lpVtbl -> ClearRenderTargetView(This,pRenderTargetView,ColorRGBA) )
  4722. #define ID3D10Device_ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) \
  4723. ( (This)->lpVtbl -> ClearDepthStencilView(This,pDepthStencilView,ClearFlags,Depth,Stencil) )
  4724. #define ID3D10Device_GenerateMips(This,pShaderResourceView) \
  4725. ( (This)->lpVtbl -> GenerateMips(This,pShaderResourceView) )
  4726. #define ID3D10Device_ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) \
  4727. ( (This)->lpVtbl -> ResolveSubresource(This,pDstResource,DstSubresource,pSrcResource,SrcSubresource,Format) )
  4728. #define ID3D10Device_VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4729. ( (This)->lpVtbl -> VSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4730. #define ID3D10Device_PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4731. ( (This)->lpVtbl -> PSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4732. #define ID3D10Device_PSGetShader(This,ppPixelShader) \
  4733. ( (This)->lpVtbl -> PSGetShader(This,ppPixelShader) )
  4734. #define ID3D10Device_PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4735. ( (This)->lpVtbl -> PSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4736. #define ID3D10Device_VSGetShader(This,ppVertexShader) \
  4737. ( (This)->lpVtbl -> VSGetShader(This,ppVertexShader) )
  4738. #define ID3D10Device_PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4739. ( (This)->lpVtbl -> PSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4740. #define ID3D10Device_IAGetInputLayout(This,ppInputLayout) \
  4741. ( (This)->lpVtbl -> IAGetInputLayout(This,ppInputLayout) )
  4742. #define ID3D10Device_IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) \
  4743. ( (This)->lpVtbl -> IAGetVertexBuffers(This,StartSlot,NumBuffers,ppVertexBuffers,pStrides,pOffsets) )
  4744. #define ID3D10Device_IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) \
  4745. ( (This)->lpVtbl -> IAGetIndexBuffer(This,pIndexBuffer,Format,Offset) )
  4746. #define ID3D10Device_GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) \
  4747. ( (This)->lpVtbl -> GSGetConstantBuffers(This,StartSlot,NumBuffers,ppConstantBuffers) )
  4748. #define ID3D10Device_GSGetShader(This,ppGeometryShader) \
  4749. ( (This)->lpVtbl -> GSGetShader(This,ppGeometryShader) )
  4750. #define ID3D10Device_IAGetPrimitiveTopology(This,pTopology) \
  4751. ( (This)->lpVtbl -> IAGetPrimitiveTopology(This,pTopology) )
  4752. #define ID3D10Device_VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4753. ( (This)->lpVtbl -> VSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4754. #define ID3D10Device_VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4755. ( (This)->lpVtbl -> VSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4756. #define ID3D10Device_GetPredication(This,ppPredicate,pPredicateValue) \
  4757. ( (This)->lpVtbl -> GetPredication(This,ppPredicate,pPredicateValue) )
  4758. #define ID3D10Device_GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) \
  4759. ( (This)->lpVtbl -> GSGetShaderResources(This,StartSlot,NumViews,ppShaderResourceViews) )
  4760. #define ID3D10Device_GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) \
  4761. ( (This)->lpVtbl -> GSGetSamplers(This,StartSlot,NumSamplers,ppSamplers) )
  4762. #define ID3D10Device_OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) \
  4763. ( (This)->lpVtbl -> OMGetRenderTargets(This,NumViews,ppRenderTargetViews,ppDepthStencilView) )
  4764. #define ID3D10Device_OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) \
  4765. ( (This)->lpVtbl -> OMGetBlendState(This,ppBlendState,BlendFactor,pSampleMask) )
  4766. #define ID3D10Device_OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) \
  4767. ( (This)->lpVtbl -> OMGetDepthStencilState(This,ppDepthStencilState,pStencilRef) )
  4768. #define ID3D10Device_SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) \
  4769. ( (This)->lpVtbl -> SOGetTargets(This,NumBuffers,ppSOTargets,pOffsets) )
  4770. #define ID3D10Device_RSGetState(This,ppRasterizerState) \
  4771. ( (This)->lpVtbl -> RSGetState(This,ppRasterizerState) )
  4772. #define ID3D10Device_RSGetViewports(This,NumViewports,pViewports) \
  4773. ( (This)->lpVtbl -> RSGetViewports(This,NumViewports,pViewports) )
  4774. #define ID3D10Device_RSGetScissorRects(This,NumRects,pRects) \
  4775. ( (This)->lpVtbl -> RSGetScissorRects(This,NumRects,pRects) )
  4776. #define ID3D10Device_GetDeviceRemovedReason(This) \
  4777. ( (This)->lpVtbl -> GetDeviceRemovedReason(This) )
  4778. #define ID3D10Device_SetExceptionMode(This,RaiseFlags) \
  4779. ( (This)->lpVtbl -> SetExceptionMode(This,RaiseFlags) )
  4780. #define ID3D10Device_GetExceptionMode(This) \
  4781. ( (This)->lpVtbl -> GetExceptionMode(This) )
  4782. #define ID3D10Device_GetPrivateData(This,guid,pDataSize,pData) \
  4783. ( (This)->lpVtbl -> GetPrivateData(This,guid,pDataSize,pData) )
  4784. #define ID3D10Device_SetPrivateData(This,guid,DataSize,pData) \
  4785. ( (This)->lpVtbl -> SetPrivateData(This,guid,DataSize,pData) )
  4786. #define ID3D10Device_SetPrivateDataInterface(This,guid,pData) \
  4787. ( (This)->lpVtbl -> SetPrivateDataInterface(This,guid,pData) )
  4788. #define ID3D10Device_ClearState(This) \
  4789. ( (This)->lpVtbl -> ClearState(This) )
  4790. #define ID3D10Device_Flush(This) \
  4791. ( (This)->lpVtbl -> Flush(This) )
  4792. #define ID3D10Device_CreateBuffer(This,pDesc,pInitialData,ppBuffer) \
  4793. ( (This)->lpVtbl -> CreateBuffer(This,pDesc,pInitialData,ppBuffer) )
  4794. #define ID3D10Device_CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) \
  4795. ( (This)->lpVtbl -> CreateTexture1D(This,pDesc,pInitialData,ppTexture1D) )
  4796. #define ID3D10Device_CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) \
  4797. ( (This)->lpVtbl -> CreateTexture2D(This,pDesc,pInitialData,ppTexture2D) )
  4798. #define ID3D10Device_CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) \
  4799. ( (This)->lpVtbl -> CreateTexture3D(This,pDesc,pInitialData,ppTexture3D) )
  4800. #define ID3D10Device_CreateShaderResourceView(This,pResource,pDesc,ppSRView) \
  4801. ( (This)->lpVtbl -> CreateShaderResourceView(This,pResource,pDesc,ppSRView) )
  4802. #define ID3D10Device_CreateRenderTargetView(This,pResource,pDesc,ppRTView) \
  4803. ( (This)->lpVtbl -> CreateRenderTargetView(This,pResource,pDesc,ppRTView) )
  4804. #define ID3D10Device_CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) \
  4805. ( (This)->lpVtbl -> CreateDepthStencilView(This,pResource,pDesc,ppDepthStencilView) )
  4806. #define ID3D10Device_CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) \
  4807. ( (This)->lpVtbl -> CreateInputLayout(This,pInputElementDescs,NumElements,pShaderBytecodeWithInputSignature,BytecodeLength,ppInputLayout) )
  4808. #define ID3D10Device_CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) \
  4809. ( (This)->lpVtbl -> CreateVertexShader(This,pShaderBytecode,BytecodeLength,ppVertexShader) )
  4810. #define ID3D10Device_CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) \
  4811. ( (This)->lpVtbl -> CreateGeometryShader(This,pShaderBytecode,BytecodeLength,ppGeometryShader) )
  4812. #define ID3D10Device_CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) \
  4813. ( (This)->lpVtbl -> CreateGeometryShaderWithStreamOutput(This,pShaderBytecode,BytecodeLength,pSODeclaration,NumEntries,OutputStreamStride,ppGeometryShader) )
  4814. #define ID3D10Device_CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) \
  4815. ( (This)->lpVtbl -> CreatePixelShader(This,pShaderBytecode,BytecodeLength,ppPixelShader) )
  4816. #define ID3D10Device_CreateBlendState(This,pBlendStateDesc,ppBlendState) \
  4817. ( (This)->lpVtbl -> CreateBlendState(This,pBlendStateDesc,ppBlendState) )
  4818. #define ID3D10Device_CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) \
  4819. ( (This)->lpVtbl -> CreateDepthStencilState(This,pDepthStencilDesc,ppDepthStencilState) )
  4820. #define ID3D10Device_CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) \
  4821. ( (This)->lpVtbl -> CreateRasterizerState(This,pRasterizerDesc,ppRasterizerState) )
  4822. #define ID3D10Device_CreateSamplerState(This,pSamplerDesc,ppSamplerState) \
  4823. ( (This)->lpVtbl -> CreateSamplerState(This,pSamplerDesc,ppSamplerState) )
  4824. #define ID3D10Device_CreateQuery(This,pQueryDesc,ppQuery) \
  4825. ( (This)->lpVtbl -> CreateQuery(This,pQueryDesc,ppQuery) )
  4826. #define ID3D10Device_CreatePredicate(This,pPredicateDesc,ppPredicate) \
  4827. ( (This)->lpVtbl -> CreatePredicate(This,pPredicateDesc,ppPredicate) )
  4828. #define ID3D10Device_CreateCounter(This,pCounterDesc,ppCounter) \
  4829. ( (This)->lpVtbl -> CreateCounter(This,pCounterDesc,ppCounter) )
  4830. #define ID3D10Device_CheckFormatSupport(This,Format,pFormatSupport) \
  4831. ( (This)->lpVtbl -> CheckFormatSupport(This,Format,pFormatSupport) )
  4832. #define ID3D10Device_CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) \
  4833. ( (This)->lpVtbl -> CheckMultisampleQualityLevels(This,Format,SampleCount,pNumQualityLevels) )
  4834. #define ID3D10Device_CheckCounterInfo(This,pCounterInfo) \
  4835. ( (This)->lpVtbl -> CheckCounterInfo(This,pCounterInfo) )
  4836. #define ID3D10Device_CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) \
  4837. ( (This)->lpVtbl -> CheckCounter(This,pDesc,pType,pActiveCounters,szName,pNameLength,szUnits,pUnitsLength,szDescription,pDescriptionLength) )
  4838. #define ID3D10Device_GetCreationFlags(This) \
  4839. ( (This)->lpVtbl -> GetCreationFlags(This) )
  4840. #define ID3D10Device_OpenSharedResource(This,hResource,ReturnedInterface,ppResource) \
  4841. ( (This)->lpVtbl -> OpenSharedResource(This,hResource,ReturnedInterface,ppResource) )
  4842. #define ID3D10Device_SetTextFilterSize(This,Width,Height) \
  4843. ( (This)->lpVtbl -> SetTextFilterSize(This,Width,Height) )
  4844. #define ID3D10Device_GetTextFilterSize(This,pWidth,pHeight) \
  4845. ( (This)->lpVtbl -> GetTextFilterSize(This,pWidth,pHeight) )
  4846. #endif /* COBJMACROS */
  4847. #endif /* C style interface */
  4848. #endif /* __ID3D10Device_INTERFACE_DEFINED__ */
  4849. #ifndef __ID3D10Multithread_INTERFACE_DEFINED__
  4850. #define __ID3D10Multithread_INTERFACE_DEFINED__
  4851. /* interface ID3D10Multithread */
  4852. /* [unique][local][object][uuid] */
  4853. EXTERN_C const IID IID_ID3D10Multithread;
  4854. #if defined(__cplusplus) && !defined(CINTERFACE)
  4855. MIDL_INTERFACE("9B7E4E00-342C-4106-A19F-4F2704F689F0")
  4856. ID3D10Multithread : public IUnknown
  4857. {
  4858. public:
  4859. virtual void STDMETHODCALLTYPE Enter( void) = 0;
  4860. virtual void STDMETHODCALLTYPE Leave( void) = 0;
  4861. virtual BOOL STDMETHODCALLTYPE SetMultithreadProtected(
  4862. /* [annotation] */
  4863. __in BOOL bMTProtect) = 0;
  4864. virtual BOOL STDMETHODCALLTYPE GetMultithreadProtected( void) = 0;
  4865. };
  4866. #else /* C style interface */
  4867. typedef struct ID3D10MultithreadVtbl
  4868. {
  4869. BEGIN_INTERFACE
  4870. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4871. ID3D10Multithread * This,
  4872. /* [in] */ REFIID riid,
  4873. /* [annotation][iid_is][out] */
  4874. __RPC__deref_out void **ppvObject);
  4875. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4876. ID3D10Multithread * This);
  4877. ULONG ( STDMETHODCALLTYPE *Release )(
  4878. ID3D10Multithread * This);
  4879. void ( STDMETHODCALLTYPE *Enter )(
  4880. ID3D10Multithread * This);
  4881. void ( STDMETHODCALLTYPE *Leave )(
  4882. ID3D10Multithread * This);
  4883. BOOL ( STDMETHODCALLTYPE *SetMultithreadProtected )(
  4884. ID3D10Multithread * This,
  4885. /* [annotation] */
  4886. __in BOOL bMTProtect);
  4887. BOOL ( STDMETHODCALLTYPE *GetMultithreadProtected )(
  4888. ID3D10Multithread * This);
  4889. END_INTERFACE
  4890. } ID3D10MultithreadVtbl;
  4891. interface ID3D10Multithread
  4892. {
  4893. CONST_VTBL struct ID3D10MultithreadVtbl *lpVtbl;
  4894. };
  4895. #ifdef COBJMACROS
  4896. #define ID3D10Multithread_QueryInterface(This,riid,ppvObject) \
  4897. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  4898. #define ID3D10Multithread_AddRef(This) \
  4899. ( (This)->lpVtbl -> AddRef(This) )
  4900. #define ID3D10Multithread_Release(This) \
  4901. ( (This)->lpVtbl -> Release(This) )
  4902. #define ID3D10Multithread_Enter(This) \
  4903. ( (This)->lpVtbl -> Enter(This) )
  4904. #define ID3D10Multithread_Leave(This) \
  4905. ( (This)->lpVtbl -> Leave(This) )
  4906. #define ID3D10Multithread_SetMultithreadProtected(This,bMTProtect) \
  4907. ( (This)->lpVtbl -> SetMultithreadProtected(This,bMTProtect) )
  4908. #define ID3D10Multithread_GetMultithreadProtected(This) \
  4909. ( (This)->lpVtbl -> GetMultithreadProtected(This) )
  4910. #endif /* COBJMACROS */
  4911. #endif /* C style interface */
  4912. #endif /* __ID3D10Multithread_INTERFACE_DEFINED__ */
  4913. /* interface __MIDL_itf_d3d10_0000_0024 */
  4914. /* [local] */
  4915. typedef
  4916. enum D3D10_CREATE_DEVICE_FLAG
  4917. { D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
  4918. D3D10_CREATE_DEVICE_DEBUG = 0x2,
  4919. D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  4920. D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  4921. D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
  4922. D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  4923. D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200
  4924. } D3D10_CREATE_DEVICE_FLAG;
  4925. #define D3D10_SDK_VERSION ( 29 )
  4926. #if !defined( D3D10_IGNORE_SDK_LAYERS )
  4927. #include "d3d10sdklayers.h"
  4928. #endif
  4929. #include "d3d10misc.h"
  4930. #include "d3d10shader.h"
  4931. #include "d3d10effect.h"
  4932. DEFINE_GUID(IID_ID3D10DeviceChild,0x9B7E4C00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4933. DEFINE_GUID(IID_ID3D10DepthStencilState,0x2B4B1CC8,0xA4AD,0x41f8,0x83,0x22,0xCA,0x86,0xFC,0x3E,0xC6,0x75);
  4934. DEFINE_GUID(IID_ID3D10BlendState,0xEDAD8D19,0x8A35,0x4d6d,0x85,0x66,0x2E,0xA2,0x76,0xCD,0xE1,0x61);
  4935. DEFINE_GUID(IID_ID3D10RasterizerState,0xA2A07292,0x89AF,0x4345,0xBE,0x2E,0xC5,0x3D,0x9F,0xBB,0x6E,0x9F);
  4936. DEFINE_GUID(IID_ID3D10Resource,0x9B7E4C01,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4937. DEFINE_GUID(IID_ID3D10Buffer,0x9B7E4C02,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4938. DEFINE_GUID(IID_ID3D10Texture1D,0x9B7E4C03,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4939. DEFINE_GUID(IID_ID3D10Texture2D,0x9B7E4C04,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4940. DEFINE_GUID(IID_ID3D10Texture3D,0x9B7E4C05,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4941. DEFINE_GUID(IID_ID3D10View,0xC902B03F,0x60A7,0x49BA,0x99,0x36,0x2A,0x3A,0xB3,0x7A,0x7E,0x33);
  4942. DEFINE_GUID(IID_ID3D10ShaderResourceView,0x9B7E4C07,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4943. DEFINE_GUID(IID_ID3D10RenderTargetView,0x9B7E4C08,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4944. DEFINE_GUID(IID_ID3D10DepthStencilView,0x9B7E4C09,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4945. DEFINE_GUID(IID_ID3D10VertexShader,0x9B7E4C0A,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4946. DEFINE_GUID(IID_ID3D10GeometryShader,0x6316BE88,0x54CD,0x4040,0xAB,0x44,0x20,0x46,0x1B,0xC8,0x1F,0x68);
  4947. DEFINE_GUID(IID_ID3D10PixelShader,0x4968B601,0x9D00,0x4cde,0x83,0x46,0x8E,0x7F,0x67,0x58,0x19,0xB6);
  4948. DEFINE_GUID(IID_ID3D10InputLayout,0x9B7E4C0B,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4949. DEFINE_GUID(IID_ID3D10SamplerState,0x9B7E4C0C,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4950. DEFINE_GUID(IID_ID3D10Asynchronous,0x9B7E4C0D,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4951. DEFINE_GUID(IID_ID3D10Query,0x9B7E4C0E,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4952. DEFINE_GUID(IID_ID3D10Predicate,0x9B7E4C10,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4953. DEFINE_GUID(IID_ID3D10Counter,0x9B7E4C11,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4954. DEFINE_GUID(IID_ID3D10Device,0x9B7E4C0F,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4955. DEFINE_GUID(IID_ID3D10Multithread,0x9B7E4E00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);
  4956. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_c_ifspec;
  4957. extern RPC_IF_HANDLE __MIDL_itf_d3d10_0000_0024_v0_0_s_ifspec;
  4958. /* Additional Prototypes for ALL interfaces */
  4959. /* end of Additional Prototypes */
  4960. #ifdef __cplusplus
  4961. }
  4962. #endif
  4963. #endif