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.

6761 lines
221 KiB

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