d3dcommon.idl 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  1. /*
  2. * Copyright 2010 Matteo Bruni for CodeWeavers
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. typedef struct _D3D_SHADER_MACRO
  21. {
  22. const char *Name;
  23. const char *Definition;
  24. } D3D_SHADER_MACRO;
  25. typedef struct _D3D_SHADER_MACRO* LPD3D_SHADER_MACRO;
  26. [
  27. object,
  28. local,
  29. uuid(8ba5fb08-5195-40e2-ac58-0d989c3a0102)
  30. ]
  31. interface ID3D10Blob : IUnknown
  32. {
  33. void *GetBufferPointer();
  34. SIZE_T GetBufferSize();
  35. }
  36. typedef ID3D10Blob* LPD3D10BLOB;
  37. typedef ID3D10Blob ID3DBlob;
  38. typedef ID3DBlob* LPD3DBLOB;
  39. cpp_quote("#define IID_ID3DBlob IID_ID3D10Blob")
  40. typedef enum _D3D_INCLUDE_TYPE
  41. {
  42. D3D_INCLUDE_LOCAL = 0,
  43. D3D_INCLUDE_SYSTEM,
  44. D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
  45. D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
  46. D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
  47. } D3D_INCLUDE_TYPE;
  48. [
  49. object,
  50. local,
  51. ]
  52. interface ID3DInclude
  53. {
  54. HRESULT Open(D3D_INCLUDE_TYPE include_type,
  55. const char *filename,
  56. const void *parent_data,
  57. const void **data,
  58. UINT *bytes);
  59. HRESULT Close(const void *data);
  60. }
  61. typedef ID3DInclude* LPD3DINCLUDE;
  62. typedef enum D3D_DRIVER_TYPE
  63. {
  64. D3D_DRIVER_TYPE_UNKNOWN,
  65. D3D_DRIVER_TYPE_HARDWARE,
  66. D3D_DRIVER_TYPE_REFERENCE,
  67. D3D_DRIVER_TYPE_NULL,
  68. D3D_DRIVER_TYPE_SOFTWARE,
  69. D3D_DRIVER_TYPE_WARP,
  70. } D3D_DRIVER_TYPE;
  71. typedef enum D3D_FEATURE_LEVEL
  72. {
  73. D3D_FEATURE_LEVEL_9_1 = 0x9100,
  74. D3D_FEATURE_LEVEL_9_2 = 0x9200,
  75. D3D_FEATURE_LEVEL_9_3 = 0x9300,
  76. D3D_FEATURE_LEVEL_10_0 = 0xa000,
  77. D3D_FEATURE_LEVEL_10_1 = 0xa100,
  78. D3D_FEATURE_LEVEL_11_0 = 0xb000,
  79. D3D_FEATURE_LEVEL_11_1 = 0xb100
  80. } D3D_FEATURE_LEVEL;
  81. cpp_quote("#define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048")
  82. cpp_quote("#define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096")
  83. cpp_quote("#define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048")
  84. cpp_quote("#define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096")
  85. cpp_quote("#define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512")
  86. cpp_quote("#define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096")
  87. cpp_quote("#define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256")
  88. cpp_quote("#define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2")
  89. cpp_quote("#define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535")
  90. cpp_quote("#define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575")
  91. cpp_quote("#define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1")
  92. cpp_quote("#define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4")
  93. cpp_quote("#define D3D_FL9_1_MAX_TEXTURE_REPEAT 128")
  94. cpp_quote("#define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048")
  95. cpp_quote("#define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192")
  96. typedef enum _D3D_SHADER_VARIABLE_CLASS
  97. {
  98. D3D_SVC_SCALAR,
  99. D3D_SVC_VECTOR,
  100. D3D_SVC_MATRIX_ROWS,
  101. D3D_SVC_MATRIX_COLUMNS,
  102. D3D_SVC_OBJECT,
  103. D3D_SVC_STRUCT,
  104. D3D_SVC_INTERFACE_CLASS,
  105. D3D_SVC_INTERFACE_POINTER,
  106. D3D10_SVC_SCALAR = 0,
  107. D3D10_SVC_VECTOR,
  108. D3D10_SVC_MATRIX_ROWS,
  109. D3D10_SVC_MATRIX_COLUMNS,
  110. D3D10_SVC_OBJECT,
  111. D3D10_SVC_STRUCT,
  112. D3D11_SVC_INTERFACE_CLASS,
  113. D3D11_SVC_INTERFACE_POINTER,
  114. D3D_SVC_FORCE_DWORD = 0x7fffffff,
  115. } D3D_SHADER_VARIABLE_CLASS;
  116. typedef enum _D3D_SHADER_VARIABLE_FLAGS
  117. {
  118. D3D_SVF_USERPACKED = 0x01,
  119. D3D_SVF_USED = 0x02,
  120. D3D_SVF_INTERFACE_POINTER = 0x04,
  121. D3D_SVF_INTERFACE_PARAMETER = 0x08,
  122. D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED,
  123. D3D10_SVF_USED = D3D_SVF_USED,
  124. D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER,
  125. D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER,
  126. D3D_SVF_FORCE_DWORD = 0x7fffffff
  127. } D3D_SHADER_VARIABLE_FLAGS;
  128. typedef enum _D3D_SHADER_VARIABLE_TYPE
  129. {
  130. D3D_SVT_VOID,
  131. D3D_SVT_BOOL,
  132. D3D_SVT_INT,
  133. D3D_SVT_FLOAT,
  134. D3D_SVT_STRING,
  135. D3D_SVT_TEXTURE,
  136. D3D_SVT_TEXTURE1D,
  137. D3D_SVT_TEXTURE2D,
  138. D3D_SVT_TEXTURE3D,
  139. D3D_SVT_TEXTURECUBE,
  140. D3D_SVT_SAMPLER,
  141. D3D_SVT_SAMPLER1D,
  142. D3D_SVT_SAMPLER2D,
  143. D3D_SVT_SAMPLER3D,
  144. D3D_SVT_SAMPLERCUBE,
  145. D3D_SVT_PIXELSHADER,
  146. D3D_SVT_VERTEXSHADER,
  147. D3D_SVT_PIXELFRAGMENT,
  148. D3D_SVT_VERTEXFRAGMENT,
  149. D3D_SVT_UINT,
  150. D3D_SVT_UINT8,
  151. D3D_SVT_GEOMETRYSHADER,
  152. D3D_SVT_RASTERIZER,
  153. D3D_SVT_DEPTHSTENCIL,
  154. D3D_SVT_BLEND,
  155. D3D_SVT_BUFFER,
  156. D3D_SVT_CBUFFER,
  157. D3D_SVT_TBUFFER,
  158. D3D_SVT_TEXTURE1DARRAY,
  159. D3D_SVT_TEXTURE2DARRAY,
  160. D3D_SVT_RENDERTARGETVIEW,
  161. D3D_SVT_DEPTHSTENCILVIEW,
  162. D3D_SVT_TEXTURE2DMS,
  163. D3D_SVT_TEXTURE2DMSARRAY,
  164. D3D_SVT_TEXTURECUBEARRAY,
  165. D3D_SVT_HULLSHADER,
  166. D3D_SVT_DOMAINSHADER,
  167. D3D_SVT_INTERFACE_POINTER,
  168. D3D_SVT_COMPUTESHADER,
  169. D3D_SVT_DOUBLE,
  170. D3D_SVT_RWTEXTURE1D,
  171. D3D_SVT_RWTEXTURE1DARRAY,
  172. D3D_SVT_RWTEXTURE2D,
  173. D3D_SVT_RWTEXTURE2DARRAY,
  174. D3D_SVT_RWTEXTURE3D,
  175. D3D_SVT_RWBUFFER,
  176. D3D_SVT_BYTEADDRESS_BUFFER,
  177. D3D_SVT_RWBYTEADDRESS_BUFFER,
  178. D3D_SVT_STRUCTURED_BUFFER,
  179. D3D_SVT_RWSTRUCTURED_BUFFER,
  180. D3D_SVT_APPEND_STRUCTURED_BUFFER,
  181. D3D_SVT_CONSUME_STRUCTURED_BUFFER,
  182. D3D10_SVT_VOID = 0,
  183. D3D10_SVT_BOOL,
  184. D3D10_SVT_INT,
  185. D3D10_SVT_FLOAT,
  186. D3D10_SVT_STRING,
  187. D3D10_SVT_TEXTURE,
  188. D3D10_SVT_TEXTURE1D,
  189. D3D10_SVT_TEXTURE2D,
  190. D3D10_SVT_TEXTURE3D,
  191. D3D10_SVT_TEXTURECUBE,
  192. D3D10_SVT_SAMPLER,
  193. D3D10_SVT_SAMPLER1D,
  194. D3D10_SVT_SAMPLER2D,
  195. D3D10_SVT_SAMPLER3D,
  196. D3D10_SVT_SAMPLERCUBE,
  197. D3D10_SVT_PIXELSHADER,
  198. D3D10_SVT_VERTEXSHADER,
  199. D3D10_SVT_PIXELFRAGMENT,
  200. D3D10_SVT_VERTEXFRAGMENT,
  201. D3D10_SVT_UINT,
  202. D3D10_SVT_UINT8,
  203. D3D10_SVT_GEOMETRYSHADER,
  204. D3D10_SVT_RASTERIZER,
  205. D3D10_SVT_DEPTHSTENCIL,
  206. D3D10_SVT_BLEND,
  207. D3D10_SVT_BUFFER,
  208. D3D10_SVT_CBUFFER,
  209. D3D10_SVT_TBUFFER,
  210. D3D10_SVT_TEXTURE1DARRAY,
  211. D3D10_SVT_TEXTURE2DARRAY,
  212. D3D10_SVT_RENDERTARGETVIEW,
  213. D3D10_SVT_DEPTHSTENCILVIEW,
  214. D3D10_SVT_TEXTURE2DMS,
  215. D3D10_SVT_TEXTURE2DMSARRAY,
  216. D3D10_SVT_TEXTURECUBEARRAY,
  217. D3D11_SVT_HULLSHADER,
  218. D3D11_SVT_DOMAINSHADER,
  219. D3D11_SVT_INTERFACE_POINTER,
  220. D3D11_SVT_COMPUTESHADER,
  221. D3D11_SVT_DOUBLE,
  222. D3D11_SVT_RWTEXTURE1D,
  223. D3D11_SVT_RWTEXTURE1DARRAY,
  224. D3D11_SVT_RWTEXTURE2D,
  225. D3D11_SVT_RWTEXTURE2DARRAY,
  226. D3D11_SVT_RWTEXTURE3D,
  227. D3D11_SVT_RWBUFFER,
  228. D3D11_SVT_BYTEADDRESS_BUFFER,
  229. D3D11_SVT_RWBYTEADDRESS_BUFFER,
  230. D3D11_SVT_STRUCTURED_BUFFER,
  231. D3D11_SVT_RWSTRUCTURED_BUFFER,
  232. D3D11_SVT_APPEND_STRUCTURED_BUFFER,
  233. D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
  234. D3D_SVT_FORCE_DWORD = 0x7fffffff,
  235. } D3D_SHADER_VARIABLE_TYPE;
  236. typedef enum _D3D_SHADER_INPUT_FLAGS
  237. {
  238. D3D_SIF_USERPACKED = 0x01,
  239. D3D_SIF_COMPARISON_SAMPLER = 0x02,
  240. D3D_SIF_TEXTURE_COMPONENT_0 = 0x04,
  241. D3D_SIF_TEXTURE_COMPONENT_1 = 0x08,
  242. D3D_SIF_TEXTURE_COMPONENTS = 0x0C,
  243. D3D_SIF_UNUSED = 0x10,
  244. D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED,
  245. D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER,
  246. D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0,
  247. D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1,
  248. D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS,
  249. D3D_SIF_FORCE_DWORD = 0x7fffffff
  250. } D3D_SHADER_INPUT_FLAGS;
  251. typedef enum D3D_PRIMITIVE
  252. {
  253. D3D_PRIMITIVE_UNDEFINED,
  254. D3D_PRIMITIVE_POINT,
  255. D3D_PRIMITIVE_LINE,
  256. D3D_PRIMITIVE_TRIANGLE,
  257. D3D_PRIMITIVE_LINE_ADJ = 6,
  258. D3D_PRIMITIVE_TRIANGLE_ADJ,
  259. D3D_PRIMITIVE_1_CONTROL_POINT_PATCH,
  260. D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
  261. D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
  262. D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
  263. D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
  264. D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
  265. D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
  266. D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
  267. D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
  268. D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
  269. D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
  270. D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
  271. D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
  272. D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
  273. D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
  274. D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
  275. D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
  276. D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
  277. D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
  278. D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,
  279. D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
  280. D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
  281. D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
  282. D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
  283. D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
  284. D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
  285. D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
  286. D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
  287. D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
  288. D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
  289. D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
  290. D3D_PRIMITIVE_32_CONTROL_POINT_PATCH,
  291. D3D10_PRIMITIVE_UNDEFINED = 0,
  292. D3D10_PRIMITIVE_POINT,
  293. D3D10_PRIMITIVE_LINE,
  294. D3D10_PRIMITIVE_TRIANGLE,
  295. D3D10_PRIMITIVE_LINE_ADJ = 6,
  296. D3D10_PRIMITIVE_TRIANGLE_ADJ,
  297. D3D11_PRIMITIVE_UNDEFINED = 0,
  298. D3D11_PRIMITIVE_POINT,
  299. D3D11_PRIMITIVE_LINE,
  300. D3D11_PRIMITIVE_TRIANGLE,
  301. D3D11_PRIMITIVE_LINE_ADJ = 6,
  302. D3D11_PRIMITIVE_TRIANGLE_ADJ,
  303. D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH,
  304. D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH,
  305. D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH,
  306. D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH,
  307. D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH,
  308. D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH,
  309. D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH,
  310. D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH,
  311. D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH,
  312. D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH,
  313. D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH,
  314. D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH,
  315. D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH,
  316. D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH,
  317. D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH,
  318. D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH,
  319. D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH,
  320. D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH,
  321. D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH,
  322. D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = 28,
  323. D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH,
  324. D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH,
  325. D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH,
  326. D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH,
  327. D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH,
  328. D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH,
  329. D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH,
  330. D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH,
  331. D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH,
  332. D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH,
  333. D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH,
  334. D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH,
  335. } D3D_PRIMITIVE;
  336. typedef enum D3D_PRIMITIVE_TOPOLOGY
  337. {
  338. D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
  339. D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
  340. D3D_PRIMITIVE_TOPOLOGY_LINELIST,
  341. D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
  342. D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
  343. D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
  344. D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
  345. D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
  346. D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
  347. D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
  348. D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
  349. D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
  350. D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
  351. D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
  352. D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
  353. D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
  354. D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
  355. D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
  356. D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
  357. D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
  358. D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
  359. D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
  360. D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
  361. D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
  362. D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
  363. D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
  364. D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
  365. D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
  366. D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
  367. D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
  368. D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
  369. D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
  370. D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
  371. D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
  372. D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
  373. D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
  374. D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
  375. D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
  376. D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
  377. D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
  378. D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
  379. D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,
  380. D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
  381. D3D10_PRIMITIVE_TOPOLOGY_POINTLIST,
  382. D3D10_PRIMITIVE_TOPOLOGY_LINELIST,
  383. D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP,
  384. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
  385. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
  386. D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
  387. D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
  388. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
  389. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
  390. D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
  391. D3D11_PRIMITIVE_TOPOLOGY_POINTLIST,
  392. D3D11_PRIMITIVE_TOPOLOGY_LINELIST,
  393. D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP,
  394. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
  395. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
  396. D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
  397. D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
  398. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
  399. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
  400. D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
  401. D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
  402. D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
  403. D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
  404. D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
  405. D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
  406. D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
  407. D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
  408. D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
  409. D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
  410. D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
  411. D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
  412. D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
  413. D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
  414. D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
  415. D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
  416. D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
  417. D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
  418. D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
  419. D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
  420. D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
  421. D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
  422. D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
  423. D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
  424. D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
  425. D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
  426. D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
  427. D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
  428. D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
  429. D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
  430. D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
  431. D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST,
  432. } D3D_PRIMITIVE_TOPOLOGY;
  433. typedef enum D3D_TESSELLATOR_DOMAIN
  434. {
  435. D3D_TESSELLATOR_DOMAIN_UNDEFINED,
  436. D3D_TESSELLATOR_DOMAIN_ISOLINE,
  437. D3D_TESSELLATOR_DOMAIN_TRI,
  438. D3D_TESSELLATOR_DOMAIN_QUAD,
  439. D3D11_TESSELLATOR_DOMAIN_UNDEFINED = 0,
  440. D3D11_TESSELLATOR_DOMAIN_ISOLINE,
  441. D3D11_TESSELLATOR_DOMAIN_TRI,
  442. D3D11_TESSELLATOR_DOMAIN_QUAD,
  443. } D3D_TESSELLATOR_DOMAIN;
  444. typedef enum D3D_TESSELLATOR_PARTITIONING
  445. {
  446. D3D_TESSELLATOR_PARTITIONING_UNDEFINED,
  447. D3D_TESSELLATOR_PARTITIONING_INTEGER,
  448. D3D_TESSELLATOR_PARTITIONING_POW2,
  449. D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
  450. D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
  451. D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
  452. D3D11_TESSELLATOR_PARTITIONING_INTEGER,
  453. D3D11_TESSELLATOR_PARTITIONING_POW2,
  454. D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
  455. D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN,
  456. } D3D_TESSELLATOR_PARTITIONING;
  457. typedef enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
  458. {
  459. D3D_TESSELLATOR_OUTPUT_UNDEFINED,
  460. D3D_TESSELLATOR_OUTPUT_POINT,
  461. D3D_TESSELLATOR_OUTPUT_LINE,
  462. D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
  463. D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
  464. D3D11_TESSELLATOR_OUTPUT_UNDEFINED = 0,
  465. D3D11_TESSELLATOR_OUTPUT_POINT,
  466. D3D11_TESSELLATOR_OUTPUT_LINE,
  467. D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW,
  468. D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW,
  469. } D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
  470. typedef enum D3D_CBUFFER_TYPE
  471. {
  472. D3D_CT_CBUFFER,
  473. D3D_CT_TBUFFER,
  474. D3D_CT_INTERFACE_POINTERS,
  475. D3D_CT_RESOURCE_BIND_INFO,
  476. D3D10_CT_CBUFFER = 0,
  477. D3D10_CT_TBUFFER,
  478. D3D11_CT_CBUFFER = 0,
  479. D3D11_CT_TBUFFER,
  480. D3D11_CT_INTERFACE_POINTERS,
  481. D3D11_CT_RESOURCE_BIND_INFO,
  482. } D3D_CBUFFER_TYPE;
  483. typedef enum D3D_SRV_DIMENSION
  484. {
  485. D3D_SRV_DIMENSION_UNKNOWN,
  486. D3D_SRV_DIMENSION_BUFFER,
  487. D3D_SRV_DIMENSION_TEXTURE1D,
  488. D3D_SRV_DIMENSION_TEXTURE1DARRAY,
  489. D3D_SRV_DIMENSION_TEXTURE2D,
  490. D3D_SRV_DIMENSION_TEXTURE2DARRAY,
  491. D3D_SRV_DIMENSION_TEXTURE2DMS,
  492. D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
  493. D3D_SRV_DIMENSION_TEXTURE3D,
  494. D3D_SRV_DIMENSION_TEXTURECUBE,
  495. D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
  496. D3D_SRV_DIMENSION_BUFFEREX,
  497. D3D10_SRV_DIMENSION_UNKNOWN = 0,
  498. D3D10_SRV_DIMENSION_BUFFER,
  499. D3D10_SRV_DIMENSION_TEXTURE1D,
  500. D3D10_SRV_DIMENSION_TEXTURE1DARRAY,
  501. D3D10_SRV_DIMENSION_TEXTURE2D,
  502. D3D10_SRV_DIMENSION_TEXTURE2DARRAY,
  503. D3D10_SRV_DIMENSION_TEXTURE2DMS,
  504. D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY,
  505. D3D10_SRV_DIMENSION_TEXTURE3D,
  506. D3D10_SRV_DIMENSION_TEXTURECUBE,
  507. D3D10_1_SRV_DIMENSION_UNKNOWN = 0,
  508. D3D10_1_SRV_DIMENSION_BUFFER,
  509. D3D10_1_SRV_DIMENSION_TEXTURE1D,
  510. D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY,
  511. D3D10_1_SRV_DIMENSION_TEXTURE2D,
  512. D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY,
  513. D3D10_1_SRV_DIMENSION_TEXTURE2DMS,
  514. D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY,
  515. D3D10_1_SRV_DIMENSION_TEXTURE3D,
  516. D3D10_1_SRV_DIMENSION_TEXTURECUBE,
  517. D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY,
  518. D3D11_SRV_DIMENSION_UNKNOWN = 0,
  519. D3D11_SRV_DIMENSION_BUFFER,
  520. D3D11_SRV_DIMENSION_TEXTURE1D,
  521. D3D11_SRV_DIMENSION_TEXTURE1DARRAY,
  522. D3D11_SRV_DIMENSION_TEXTURE2D,
  523. D3D11_SRV_DIMENSION_TEXTURE2DARRAY,
  524. D3D11_SRV_DIMENSION_TEXTURE2DMS,
  525. D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY,
  526. D3D11_SRV_DIMENSION_TEXTURE3D,
  527. D3D11_SRV_DIMENSION_TEXTURECUBE,
  528. D3D11_SRV_DIMENSION_TEXTURECUBEARRAY,
  529. D3D11_SRV_DIMENSION_BUFFEREX,
  530. } D3D_SRV_DIMENSION;
  531. typedef enum D3D_REGISTER_COMPONENT_TYPE
  532. {
  533. D3D_REGISTER_COMPONENT_UNKNOWN,
  534. D3D_REGISTER_COMPONENT_UINT32,
  535. D3D_REGISTER_COMPONENT_SINT32,
  536. D3D_REGISTER_COMPONENT_FLOAT32,
  537. D3D10_REGISTER_COMPONENT_UNKNOWN = 0,
  538. D3D10_REGISTER_COMPONENT_UINT32,
  539. D3D10_REGISTER_COMPONENT_SINT32,
  540. D3D10_REGISTER_COMPONENT_FLOAT32,
  541. } D3D_REGISTER_COMPONENT_TYPE;
  542. typedef enum D3D_RESOURCE_RETURN_TYPE
  543. {
  544. D3D_RETURN_TYPE_UNORM = 1,
  545. D3D_RETURN_TYPE_SNORM,
  546. D3D_RETURN_TYPE_SINT,
  547. D3D_RETURN_TYPE_UINT,
  548. D3D_RETURN_TYPE_FLOAT,
  549. D3D_RETURN_TYPE_MIXED,
  550. D3D_RETURN_TYPE_DOUBLE,
  551. D3D_RETURN_TYPE_CONTINUED,
  552. D3D10_RETURN_TYPE_UNORM = 1,
  553. D3D10_RETURN_TYPE_SNORM,
  554. D3D10_RETURN_TYPE_SINT,
  555. D3D10_RETURN_TYPE_UINT,
  556. D3D10_RETURN_TYPE_FLOAT,
  557. D3D10_RETURN_TYPE_MIXED,
  558. D3D11_RETURN_TYPE_UNORM = 1,
  559. D3D11_RETURN_TYPE_SNORM,
  560. D3D11_RETURN_TYPE_SINT,
  561. D3D11_RETURN_TYPE_UINT,
  562. D3D11_RETURN_TYPE_FLOAT,
  563. D3D11_RETURN_TYPE_MIXED,
  564. D3D11_RETURN_TYPE_DOUBLE,
  565. D3D11_RETURN_TYPE_CONTINUED,
  566. } D3D_RESOURCE_RETURN_TYPE;
  567. typedef enum D3D_NAME
  568. {
  569. D3D_NAME_UNDEFINED,
  570. D3D_NAME_POSITION,
  571. D3D_NAME_CLIP_DISTANCE,
  572. D3D_NAME_CULL_DISTANCE,
  573. D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
  574. D3D_NAME_VIEWPORT_ARRAY_INDEX,
  575. D3D_NAME_VERTEX_ID,
  576. D3D_NAME_PRIMITIVE_ID,
  577. D3D_NAME_INSTANCE_ID,
  578. D3D_NAME_IS_FRONT_FACE,
  579. D3D_NAME_SAMPLE_INDEX,
  580. D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
  581. D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
  582. D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
  583. D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
  584. D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
  585. D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
  586. D3D_NAME_TARGET = 64,
  587. D3D_NAME_DEPTH,
  588. D3D_NAME_COVERAGE,
  589. D3D_NAME_DEPTH_GREATER_EQUAL,
  590. D3D_NAME_DEPTH_LESS_EQUAL,
  591. D3D10_NAME_UNDEFINED = 0,
  592. D3D10_NAME_POSITION,
  593. D3D10_NAME_CLIP_DISTANCE,
  594. D3D10_NAME_CULL_DISTANCE,
  595. D3D10_NAME_RENDER_TARGET_ARRAY_INDEX,
  596. D3D10_NAME_VIEWPORT_ARRAY_INDEX,
  597. D3D10_NAME_VERTEX_ID,
  598. D3D10_NAME_PRIMITIVE_ID,
  599. D3D10_NAME_INSTANCE_ID,
  600. D3D10_NAME_IS_FRONT_FACE,
  601. D3D10_NAME_SAMPLE_INDEX,
  602. D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
  603. D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
  604. D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR,
  605. D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
  606. D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
  607. D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
  608. D3D10_NAME_TARGET = 64,
  609. D3D10_NAME_DEPTH,
  610. D3D10_NAME_COVERAGE,
  611. D3D11_NAME_DEPTH_GREATER_EQUAL,
  612. D3D11_NAME_DEPTH_LESS_EQUAL,
  613. } D3D_NAME;
  614. typedef enum _D3D_SHADER_INPUT_TYPE
  615. {
  616. D3D_SIT_CBUFFER,
  617. D3D_SIT_TBUFFER,
  618. D3D_SIT_TEXTURE,
  619. D3D_SIT_SAMPLER,
  620. D3D_SIT_UAV_RWTYPED,
  621. D3D_SIT_STRUCTURED,
  622. D3D_SIT_UAV_RWSTRUCTURED,
  623. D3D_SIT_BYTEADDRESS,
  624. D3D_SIT_UAV_RWBYTEADDRESS,
  625. D3D_SIT_UAV_APPEND_STRUCTURED,
  626. D3D_SIT_UAV_CONSUME_STRUCTURED,
  627. D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
  628. D3D10_SIT_CBUFFER = 0,
  629. D3D10_SIT_TBUFFER,
  630. D3D10_SIT_TEXTURE,
  631. D3D10_SIT_SAMPLER,
  632. D3D11_SIT_UAV_RWTYPED,
  633. D3D11_SIT_STRUCTURED,
  634. D3D11_SIT_UAV_RWSTRUCTURED,
  635. D3D11_SIT_BYTEADDRESS,
  636. D3D11_SIT_UAV_RWBYTEADDRESS,
  637. D3D11_SIT_UAV_APPEND_STRUCTURED,
  638. D3D11_SIT_UAV_CONSUME_STRUCTURED,
  639. D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER,
  640. } D3D_SHADER_INPUT_TYPE;
  641. typedef enum _D3D_SHADER_CBUFFER_FLAGS
  642. {
  643. D3D_CBF_USERPACKED = 0x01,
  644. D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
  645. D3D_CBF_FORCE_DWORD = 0x7fffffff
  646. } D3D_SHADER_CBUFFER_FLAGS;
  647. cpp_quote("DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);")