d3dcommon.h 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117
  1. /*-------------------------------------------------------------------------------------
  2. *
  3. * Copyright (c) Microsoft Corporation
  4. * Licensed under the MIT license
  5. *
  6. *-------------------------------------------------------------------------------------*/
  7. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  8. /* File created by MIDL compiler version 8.01.0628 */
  9. /* @@MIDL_FILE_HEADING( ) */
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 500
  13. #endif
  14. /* verify that the <rpcsal.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCSAL_H_VERSION__
  16. #define __REQUIRED_RPCSAL_H_VERSION__ 100
  17. #endif
  18. #include "rpc.h"
  19. #include "rpcndr.h"
  20. #ifndef __RPCNDR_H_VERSION__
  21. #error this stub requires an updated version of <rpcndr.h>
  22. #endif /* __RPCNDR_H_VERSION__ */
  23. #ifndef COM_NO_WINDOWS_H
  24. #include "windows.h"
  25. #include "ole2.h"
  26. #endif /*COM_NO_WINDOWS_H*/
  27. #ifndef __d3dcommon_h__
  28. #define __d3dcommon_h__
  29. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  30. #pragma once
  31. #endif
  32. #ifndef DECLSPEC_XFGVIRT
  33. #if defined(_CONTROL_FLOW_GUARD_XFG)
  34. #define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
  35. #else
  36. #define DECLSPEC_XFGVIRT(base, func)
  37. #endif
  38. #endif
  39. /* Forward Declarations */
  40. #ifndef __ID3D10Blob_FWD_DEFINED__
  41. #define __ID3D10Blob_FWD_DEFINED__
  42. typedef interface ID3D10Blob ID3D10Blob;
  43. #endif /* __ID3D10Blob_FWD_DEFINED__ */
  44. #ifndef __ID3DDestructionNotifier_FWD_DEFINED__
  45. #define __ID3DDestructionNotifier_FWD_DEFINED__
  46. typedef interface ID3DDestructionNotifier ID3DDestructionNotifier;
  47. #endif /* __ID3DDestructionNotifier_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "oaidl.h"
  50. #include "ocidl.h"
  51. #ifdef __cplusplus
  52. extern "C"{
  53. #endif
  54. /* interface __MIDL_itf_d3dcommon_0000_0000 */
  55. /* [local] */
  56. typedef
  57. enum D3D_DRIVER_TYPE
  58. {
  59. D3D_DRIVER_TYPE_UNKNOWN = 0,
  60. D3D_DRIVER_TYPE_HARDWARE = ( D3D_DRIVER_TYPE_UNKNOWN + 1 ) ,
  61. D3D_DRIVER_TYPE_REFERENCE = ( D3D_DRIVER_TYPE_HARDWARE + 1 ) ,
  62. D3D_DRIVER_TYPE_NULL = ( D3D_DRIVER_TYPE_REFERENCE + 1 ) ,
  63. D3D_DRIVER_TYPE_SOFTWARE = ( D3D_DRIVER_TYPE_NULL + 1 ) ,
  64. D3D_DRIVER_TYPE_WARP = ( D3D_DRIVER_TYPE_SOFTWARE + 1 )
  65. } D3D_DRIVER_TYPE;
  66. typedef
  67. enum D3D_FEATURE_LEVEL
  68. {
  69. D3D_FEATURE_LEVEL_1_0_GENERIC = 0x100,
  70. D3D_FEATURE_LEVEL_1_0_CORE = 0x1000,
  71. D3D_FEATURE_LEVEL_9_1 = 0x9100,
  72. D3D_FEATURE_LEVEL_9_2 = 0x9200,
  73. D3D_FEATURE_LEVEL_9_3 = 0x9300,
  74. D3D_FEATURE_LEVEL_10_0 = 0xa000,
  75. D3D_FEATURE_LEVEL_10_1 = 0xa100,
  76. D3D_FEATURE_LEVEL_11_0 = 0xb000,
  77. D3D_FEATURE_LEVEL_11_1 = 0xb100,
  78. D3D_FEATURE_LEVEL_12_0 = 0xc000,
  79. D3D_FEATURE_LEVEL_12_1 = 0xc100,
  80. D3D_FEATURE_LEVEL_12_2 = 0xc200
  81. } D3D_FEATURE_LEVEL;
  82. #define D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION 2048
  83. #define D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION 4096
  84. #define D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION 2048
  85. #define D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION 4096
  86. #define D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION 512
  87. #define D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION 4096
  88. #define D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION 256
  89. #define D3D_FL9_1_DEFAULT_MAX_ANISOTROPY 2
  90. #define D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT 65535
  91. #define D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT 1048575
  92. #define D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT 1
  93. #define D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT 4
  94. #define D3D_FL9_1_MAX_TEXTURE_REPEAT 128
  95. #define D3D_FL9_2_MAX_TEXTURE_REPEAT 2048
  96. #define D3D_FL9_3_MAX_TEXTURE_REPEAT 8192
  97. typedef
  98. enum D3D_PRIMITIVE_TOPOLOGY
  99. {
  100. D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
  101. D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
  102. D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
  103. D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
  104. D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
  105. D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
  106. D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN = 6,
  107. D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
  108. D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
  109. D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
  110. D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
  111. D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
  112. D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
  113. D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
  114. D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
  115. D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
  116. D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
  117. D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
  118. D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
  119. D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
  120. D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
  121. D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
  122. D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
  123. D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
  124. D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
  125. D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
  126. D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
  127. D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
  128. D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
  129. D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
  130. D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
  131. D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
  132. D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
  133. D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
  134. D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
  135. D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
  136. D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
  137. D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
  138. D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
  139. D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
  140. D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
  141. D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
  142. D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
  143. D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
  144. D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
  145. D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
  146. D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
  147. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
  148. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
  149. D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
  150. D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
  151. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
  152. D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
  153. D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
  154. D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
  155. D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
  156. D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
  157. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
  158. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
  159. D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
  160. D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
  161. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
  162. D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
  163. D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST,
  164. D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
  165. D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
  166. D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
  167. D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
  168. D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
  169. D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
  170. D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
  171. D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
  172. D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
  173. D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
  174. D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
  175. D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
  176. D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
  177. D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
  178. D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
  179. D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
  180. D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
  181. D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
  182. D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
  183. D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
  184. D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
  185. D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
  186. D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
  187. D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
  188. D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
  189. D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
  190. D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
  191. D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
  192. D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
  193. D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
  194. D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
  195. } D3D_PRIMITIVE_TOPOLOGY;
  196. typedef
  197. enum D3D_PRIMITIVE
  198. {
  199. D3D_PRIMITIVE_UNDEFINED = 0,
  200. D3D_PRIMITIVE_POINT = 1,
  201. D3D_PRIMITIVE_LINE = 2,
  202. D3D_PRIMITIVE_TRIANGLE = 3,
  203. D3D_PRIMITIVE_LINE_ADJ = 6,
  204. D3D_PRIMITIVE_TRIANGLE_ADJ = 7,
  205. D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8,
  206. D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9,
  207. D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10,
  208. D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11,
  209. D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12,
  210. D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13,
  211. D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14,
  212. D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15,
  213. D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16,
  214. D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17,
  215. D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18,
  216. D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19,
  217. D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20,
  218. D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21,
  219. D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22,
  220. D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23,
  221. D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24,
  222. D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25,
  223. D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26,
  224. D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 27,
  225. D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 28,
  226. D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 29,
  227. D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 30,
  228. D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 31,
  229. D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 32,
  230. D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 33,
  231. D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 34,
  232. D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 35,
  233. D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 36,
  234. D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 37,
  235. D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 38,
  236. D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 39,
  237. D3D10_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
  238. D3D10_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
  239. D3D10_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
  240. D3D10_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
  241. D3D10_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
  242. D3D10_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
  243. D3D11_PRIMITIVE_UNDEFINED = D3D_PRIMITIVE_UNDEFINED,
  244. D3D11_PRIMITIVE_POINT = D3D_PRIMITIVE_POINT,
  245. D3D11_PRIMITIVE_LINE = D3D_PRIMITIVE_LINE,
  246. D3D11_PRIMITIVE_TRIANGLE = D3D_PRIMITIVE_TRIANGLE,
  247. D3D11_PRIMITIVE_LINE_ADJ = D3D_PRIMITIVE_LINE_ADJ,
  248. D3D11_PRIMITIVE_TRIANGLE_ADJ = D3D_PRIMITIVE_TRIANGLE_ADJ,
  249. D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH = D3D_PRIMITIVE_1_CONTROL_POINT_PATCH,
  250. D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH = D3D_PRIMITIVE_2_CONTROL_POINT_PATCH,
  251. D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH = D3D_PRIMITIVE_3_CONTROL_POINT_PATCH,
  252. D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH = D3D_PRIMITIVE_4_CONTROL_POINT_PATCH,
  253. D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH = D3D_PRIMITIVE_5_CONTROL_POINT_PATCH,
  254. D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH = D3D_PRIMITIVE_6_CONTROL_POINT_PATCH,
  255. D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH = D3D_PRIMITIVE_7_CONTROL_POINT_PATCH,
  256. D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH = D3D_PRIMITIVE_8_CONTROL_POINT_PATCH,
  257. D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH = D3D_PRIMITIVE_9_CONTROL_POINT_PATCH,
  258. D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH = D3D_PRIMITIVE_10_CONTROL_POINT_PATCH,
  259. D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH = D3D_PRIMITIVE_11_CONTROL_POINT_PATCH,
  260. D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH = D3D_PRIMITIVE_12_CONTROL_POINT_PATCH,
  261. D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH = D3D_PRIMITIVE_13_CONTROL_POINT_PATCH,
  262. D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH = D3D_PRIMITIVE_14_CONTROL_POINT_PATCH,
  263. D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH = D3D_PRIMITIVE_15_CONTROL_POINT_PATCH,
  264. D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH = D3D_PRIMITIVE_16_CONTROL_POINT_PATCH,
  265. D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH = D3D_PRIMITIVE_17_CONTROL_POINT_PATCH,
  266. D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH = D3D_PRIMITIVE_18_CONTROL_POINT_PATCH,
  267. D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH = D3D_PRIMITIVE_19_CONTROL_POINT_PATCH,
  268. D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH = D3D_PRIMITIVE_20_CONTROL_POINT_PATCH,
  269. D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH = D3D_PRIMITIVE_21_CONTROL_POINT_PATCH,
  270. D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH = D3D_PRIMITIVE_22_CONTROL_POINT_PATCH,
  271. D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH = D3D_PRIMITIVE_23_CONTROL_POINT_PATCH,
  272. D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH = D3D_PRIMITIVE_24_CONTROL_POINT_PATCH,
  273. D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH = D3D_PRIMITIVE_25_CONTROL_POINT_PATCH,
  274. D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH = D3D_PRIMITIVE_26_CONTROL_POINT_PATCH,
  275. D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH = D3D_PRIMITIVE_27_CONTROL_POINT_PATCH,
  276. D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH = D3D_PRIMITIVE_28_CONTROL_POINT_PATCH,
  277. D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH = D3D_PRIMITIVE_29_CONTROL_POINT_PATCH,
  278. D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH = D3D_PRIMITIVE_30_CONTROL_POINT_PATCH,
  279. D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH = D3D_PRIMITIVE_31_CONTROL_POINT_PATCH,
  280. D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH = D3D_PRIMITIVE_32_CONTROL_POINT_PATCH
  281. } D3D_PRIMITIVE;
  282. typedef
  283. enum D3D_SRV_DIMENSION
  284. {
  285. D3D_SRV_DIMENSION_UNKNOWN = 0,
  286. D3D_SRV_DIMENSION_BUFFER = 1,
  287. D3D_SRV_DIMENSION_TEXTURE1D = 2,
  288. D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3,
  289. D3D_SRV_DIMENSION_TEXTURE2D = 4,
  290. D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5,
  291. D3D_SRV_DIMENSION_TEXTURE2DMS = 6,
  292. D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
  293. D3D_SRV_DIMENSION_TEXTURE3D = 8,
  294. D3D_SRV_DIMENSION_TEXTURECUBE = 9,
  295. D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10,
  296. D3D_SRV_DIMENSION_BUFFEREX = 11,
  297. D3D10_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
  298. D3D10_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
  299. D3D10_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
  300. D3D10_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
  301. D3D10_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
  302. D3D10_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
  303. D3D10_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
  304. D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
  305. D3D10_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
  306. D3D10_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
  307. D3D10_1_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
  308. D3D10_1_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
  309. D3D10_1_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
  310. D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
  311. D3D10_1_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
  312. D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
  313. D3D10_1_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
  314. D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
  315. D3D10_1_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
  316. D3D10_1_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
  317. D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
  318. D3D11_SRV_DIMENSION_UNKNOWN = D3D_SRV_DIMENSION_UNKNOWN,
  319. D3D11_SRV_DIMENSION_BUFFER = D3D_SRV_DIMENSION_BUFFER,
  320. D3D11_SRV_DIMENSION_TEXTURE1D = D3D_SRV_DIMENSION_TEXTURE1D,
  321. D3D11_SRV_DIMENSION_TEXTURE1DARRAY = D3D_SRV_DIMENSION_TEXTURE1DARRAY,
  322. D3D11_SRV_DIMENSION_TEXTURE2D = D3D_SRV_DIMENSION_TEXTURE2D,
  323. D3D11_SRV_DIMENSION_TEXTURE2DARRAY = D3D_SRV_DIMENSION_TEXTURE2DARRAY,
  324. D3D11_SRV_DIMENSION_TEXTURE2DMS = D3D_SRV_DIMENSION_TEXTURE2DMS,
  325. D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D_SRV_DIMENSION_TEXTURE2DMSARRAY,
  326. D3D11_SRV_DIMENSION_TEXTURE3D = D3D_SRV_DIMENSION_TEXTURE3D,
  327. D3D11_SRV_DIMENSION_TEXTURECUBE = D3D_SRV_DIMENSION_TEXTURECUBE,
  328. D3D11_SRV_DIMENSION_TEXTURECUBEARRAY = D3D_SRV_DIMENSION_TEXTURECUBEARRAY,
  329. D3D11_SRV_DIMENSION_BUFFEREX = D3D_SRV_DIMENSION_BUFFEREX
  330. } D3D_SRV_DIMENSION;
  331. #define D3D_SHADER_FEATURE_DOUBLES 0x00001
  332. #define D3D_SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X 0x00002
  333. #define D3D_SHADER_FEATURE_UAVS_AT_EVERY_STAGE 0x00004
  334. #define D3D_SHADER_FEATURE_64_UAVS 0x00008
  335. #define D3D_SHADER_FEATURE_MINIMUM_PRECISION 0x00010
  336. #define D3D_SHADER_FEATURE_11_1_DOUBLE_EXTENSIONS 0x00020
  337. #define D3D_SHADER_FEATURE_11_1_SHADER_EXTENSIONS 0x00040
  338. #define D3D_SHADER_FEATURE_LEVEL_9_COMPARISON_FILTERING 0x00080
  339. #define D3D_SHADER_FEATURE_TILED_RESOURCES 0x00100
  340. #define D3D_SHADER_FEATURE_STENCIL_REF 0x00200
  341. #define D3D_SHADER_FEATURE_INNER_COVERAGE 0x00400
  342. #define D3D_SHADER_FEATURE_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00800
  343. #define D3D_SHADER_FEATURE_ROVS 0x01000
  344. #define D3D_SHADER_FEATURE_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x02000
  345. #define D3D_SHADER_FEATURE_WAVE_OPS 0x04000
  346. #define D3D_SHADER_FEATURE_INT64_OPS 0x08000
  347. #define D3D_SHADER_FEATURE_VIEW_ID 0x10000
  348. #define D3D_SHADER_FEATURE_BARYCENTRICS 0x20000
  349. #define D3D_SHADER_FEATURE_NATIVE_16BIT_OPS 0x40000
  350. #define D3D_SHADER_FEATURE_SHADING_RATE 0x80000
  351. #define D3D_SHADER_FEATURE_RAYTRACING_TIER_1_1 0x100000
  352. #define D3D_SHADER_FEATURE_SAMPLER_FEEDBACK 0x200000
  353. #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_TYPED_RESOURCE 0x400000
  354. #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_GROUP_SHARED 0x800000
  355. #define D3D_SHADER_FEATURE_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS 0x1000000
  356. #define D3D_SHADER_FEATURE_RESOURCE_DESCRIPTOR_HEAP_INDEXING 0x2000000
  357. #define D3D_SHADER_FEATURE_SAMPLER_DESCRIPTOR_HEAP_INDEXING 0x4000000
  358. #define D3D_SHADER_FEATURE_WAVE_MMA 0x8000000
  359. #define D3D_SHADER_FEATURE_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE 0x10000000
  360. #define D3D_SHADER_FEATURE_ADVANCED_TEXTURE_OPS 0x20000000
  361. #define D3D_SHADER_FEATURE_WRITEABLE_MSAA_TEXTURES 0x40000000
  362. typedef struct _D3D_SHADER_MACRO
  363. {
  364. LPCSTR Name;
  365. LPCSTR Definition;
  366. } D3D_SHADER_MACRO;
  367. typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
  368. DEFINE_GUID(IID_ID3D10Blob, 0x8ba5fb08, 0x5195, 0x40e2, 0xac, 0x58, 0xd, 0x98, 0x9c, 0x3a, 0x1, 0x2);
  369. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_c_ifspec;
  370. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0000_v0_0_s_ifspec;
  371. #ifndef __ID3D10Blob_INTERFACE_DEFINED__
  372. #define __ID3D10Blob_INTERFACE_DEFINED__
  373. /* interface ID3D10Blob */
  374. /* [unique][local][object][uuid] */
  375. EXTERN_C const IID IID_ID3D10Blob;
  376. #if defined(__cplusplus) && !defined(CINTERFACE)
  377. MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
  378. ID3D10Blob : public IUnknown
  379. {
  380. public:
  381. virtual LPVOID STDMETHODCALLTYPE GetBufferPointer( void) = 0;
  382. virtual SIZE_T STDMETHODCALLTYPE GetBufferSize( void) = 0;
  383. };
  384. #else /* C style interface */
  385. typedef struct ID3D10BlobVtbl
  386. {
  387. BEGIN_INTERFACE
  388. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  389. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  390. ID3D10Blob * This,
  391. /* [in] */ REFIID riid,
  392. /* [annotation][iid_is][out] */
  393. _COM_Outptr_ void **ppvObject);
  394. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  395. ULONG ( STDMETHODCALLTYPE *AddRef )(
  396. ID3D10Blob * This);
  397. DECLSPEC_XFGVIRT(IUnknown, Release)
  398. ULONG ( STDMETHODCALLTYPE *Release )(
  399. ID3D10Blob * This);
  400. DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferPointer)
  401. LPVOID ( STDMETHODCALLTYPE *GetBufferPointer )(
  402. ID3D10Blob * This);
  403. DECLSPEC_XFGVIRT(ID3D10Blob, GetBufferSize)
  404. SIZE_T ( STDMETHODCALLTYPE *GetBufferSize )(
  405. ID3D10Blob * This);
  406. END_INTERFACE
  407. } ID3D10BlobVtbl;
  408. interface ID3D10Blob
  409. {
  410. CONST_VTBL struct ID3D10BlobVtbl *lpVtbl;
  411. };
  412. #ifdef COBJMACROS
  413. #define ID3D10Blob_QueryInterface(This,riid,ppvObject) \
  414. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  415. #define ID3D10Blob_AddRef(This) \
  416. ( (This)->lpVtbl -> AddRef(This) )
  417. #define ID3D10Blob_Release(This) \
  418. ( (This)->lpVtbl -> Release(This) )
  419. #define ID3D10Blob_GetBufferPointer(This) \
  420. ( (This)->lpVtbl -> GetBufferPointer(This) )
  421. #define ID3D10Blob_GetBufferSize(This) \
  422. ( (This)->lpVtbl -> GetBufferSize(This) )
  423. #endif /* COBJMACROS */
  424. #endif /* C style interface */
  425. #endif /* __ID3D10Blob_INTERFACE_DEFINED__ */
  426. /* interface __MIDL_itf_d3dcommon_0000_0001 */
  427. /* [local] */
  428. typedef interface ID3D10Blob* LPD3D10BLOB;
  429. typedef ID3D10Blob ID3DBlob;
  430. typedef ID3DBlob* LPD3DBLOB;
  431. #define IID_ID3DBlob IID_ID3D10Blob
  432. typedef void ( __stdcall *PFN_DESTRUCTION_CALLBACK )(
  433. void *pData);
  434. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_c_ifspec;
  435. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0001_v0_0_s_ifspec;
  436. #ifndef __ID3DDestructionNotifier_INTERFACE_DEFINED__
  437. #define __ID3DDestructionNotifier_INTERFACE_DEFINED__
  438. /* interface ID3DDestructionNotifier */
  439. /* [unique][local][object][uuid] */
  440. EXTERN_C const IID IID_ID3DDestructionNotifier;
  441. #if defined(__cplusplus) && !defined(CINTERFACE)
  442. MIDL_INTERFACE("a06eb39a-50da-425b-8c31-4eecd6c270f3")
  443. ID3DDestructionNotifier : public IUnknown
  444. {
  445. public:
  446. virtual HRESULT STDMETHODCALLTYPE RegisterDestructionCallback(
  447. /* [annotation] */
  448. _In_ PFN_DESTRUCTION_CALLBACK callbackFn,
  449. /* [annotation] */
  450. _In_ void *pData,
  451. /* [annotation] */
  452. _Out_ UINT *pCallbackID) = 0;
  453. virtual HRESULT STDMETHODCALLTYPE UnregisterDestructionCallback(
  454. /* [annotation] */
  455. _In_ UINT callbackID) = 0;
  456. };
  457. #else /* C style interface */
  458. typedef struct ID3DDestructionNotifierVtbl
  459. {
  460. BEGIN_INTERFACE
  461. DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
  462. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  463. ID3DDestructionNotifier * This,
  464. /* [in] */ REFIID riid,
  465. /* [annotation][iid_is][out] */
  466. _COM_Outptr_ void **ppvObject);
  467. DECLSPEC_XFGVIRT(IUnknown, AddRef)
  468. ULONG ( STDMETHODCALLTYPE *AddRef )(
  469. ID3DDestructionNotifier * This);
  470. DECLSPEC_XFGVIRT(IUnknown, Release)
  471. ULONG ( STDMETHODCALLTYPE *Release )(
  472. ID3DDestructionNotifier * This);
  473. DECLSPEC_XFGVIRT(ID3DDestructionNotifier, RegisterDestructionCallback)
  474. HRESULT ( STDMETHODCALLTYPE *RegisterDestructionCallback )(
  475. ID3DDestructionNotifier * This,
  476. /* [annotation] */
  477. _In_ PFN_DESTRUCTION_CALLBACK callbackFn,
  478. /* [annotation] */
  479. _In_ void *pData,
  480. /* [annotation] */
  481. _Out_ UINT *pCallbackID);
  482. DECLSPEC_XFGVIRT(ID3DDestructionNotifier, UnregisterDestructionCallback)
  483. HRESULT ( STDMETHODCALLTYPE *UnregisterDestructionCallback )(
  484. ID3DDestructionNotifier * This,
  485. /* [annotation] */
  486. _In_ UINT callbackID);
  487. END_INTERFACE
  488. } ID3DDestructionNotifierVtbl;
  489. interface ID3DDestructionNotifier
  490. {
  491. CONST_VTBL struct ID3DDestructionNotifierVtbl *lpVtbl;
  492. };
  493. #ifdef COBJMACROS
  494. #define ID3DDestructionNotifier_QueryInterface(This,riid,ppvObject) \
  495. ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
  496. #define ID3DDestructionNotifier_AddRef(This) \
  497. ( (This)->lpVtbl -> AddRef(This) )
  498. #define ID3DDestructionNotifier_Release(This) \
  499. ( (This)->lpVtbl -> Release(This) )
  500. #define ID3DDestructionNotifier_RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) \
  501. ( (This)->lpVtbl -> RegisterDestructionCallback(This,callbackFn,pData,pCallbackID) )
  502. #define ID3DDestructionNotifier_UnregisterDestructionCallback(This,callbackID) \
  503. ( (This)->lpVtbl -> UnregisterDestructionCallback(This,callbackID) )
  504. #endif /* COBJMACROS */
  505. #endif /* C style interface */
  506. #endif /* __ID3DDestructionNotifier_INTERFACE_DEFINED__ */
  507. /* interface __MIDL_itf_d3dcommon_0000_0002 */
  508. /* [local] */
  509. typedef
  510. enum _D3D_INCLUDE_TYPE
  511. {
  512. D3D_INCLUDE_LOCAL = 0,
  513. D3D_INCLUDE_SYSTEM = ( D3D_INCLUDE_LOCAL + 1 ) ,
  514. D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
  515. D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
  516. D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
  517. } D3D_INCLUDE_TYPE;
  518. typedef interface ID3DInclude ID3DInclude;
  519. #undef INTERFACE
  520. #define INTERFACE ID3DInclude
  521. DECLARE_INTERFACE(ID3DInclude)
  522. {
  523. STDMETHOD(Open)(THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData, UINT *pBytes) PURE;
  524. STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;
  525. };
  526. typedef ID3DInclude* LPD3DINCLUDE;
  527. typedef
  528. enum _D3D_SHADER_VARIABLE_CLASS
  529. {
  530. D3D_SVC_SCALAR = 0,
  531. D3D_SVC_VECTOR = ( D3D_SVC_SCALAR + 1 ) ,
  532. D3D_SVC_MATRIX_ROWS = ( D3D_SVC_VECTOR + 1 ) ,
  533. D3D_SVC_MATRIX_COLUMNS = ( D3D_SVC_MATRIX_ROWS + 1 ) ,
  534. D3D_SVC_OBJECT = ( D3D_SVC_MATRIX_COLUMNS + 1 ) ,
  535. D3D_SVC_STRUCT = ( D3D_SVC_OBJECT + 1 ) ,
  536. D3D_SVC_INTERFACE_CLASS = ( D3D_SVC_STRUCT + 1 ) ,
  537. D3D_SVC_INTERFACE_POINTER = ( D3D_SVC_INTERFACE_CLASS + 1 ) ,
  538. D3D10_SVC_SCALAR = D3D_SVC_SCALAR,
  539. D3D10_SVC_VECTOR = D3D_SVC_VECTOR,
  540. D3D10_SVC_MATRIX_ROWS = D3D_SVC_MATRIX_ROWS,
  541. D3D10_SVC_MATRIX_COLUMNS = D3D_SVC_MATRIX_COLUMNS,
  542. D3D10_SVC_OBJECT = D3D_SVC_OBJECT,
  543. D3D10_SVC_STRUCT = D3D_SVC_STRUCT,
  544. D3D11_SVC_INTERFACE_CLASS = D3D_SVC_INTERFACE_CLASS,
  545. D3D11_SVC_INTERFACE_POINTER = D3D_SVC_INTERFACE_POINTER,
  546. D3D_SVC_FORCE_DWORD = 0x7fffffff
  547. } D3D_SHADER_VARIABLE_CLASS;
  548. typedef
  549. enum _D3D_SHADER_VARIABLE_FLAGS
  550. {
  551. D3D_SVF_USERPACKED = 1,
  552. D3D_SVF_USED = 2,
  553. D3D_SVF_INTERFACE_POINTER = 4,
  554. D3D_SVF_INTERFACE_PARAMETER = 8,
  555. D3D10_SVF_USERPACKED = D3D_SVF_USERPACKED,
  556. D3D10_SVF_USED = D3D_SVF_USED,
  557. D3D11_SVF_INTERFACE_POINTER = D3D_SVF_INTERFACE_POINTER,
  558. D3D11_SVF_INTERFACE_PARAMETER = D3D_SVF_INTERFACE_PARAMETER,
  559. D3D_SVF_FORCE_DWORD = 0x7fffffff
  560. } D3D_SHADER_VARIABLE_FLAGS;
  561. typedef
  562. enum _D3D_SHADER_VARIABLE_TYPE
  563. {
  564. D3D_SVT_VOID = 0,
  565. D3D_SVT_BOOL = 1,
  566. D3D_SVT_INT = 2,
  567. D3D_SVT_FLOAT = 3,
  568. D3D_SVT_STRING = 4,
  569. D3D_SVT_TEXTURE = 5,
  570. D3D_SVT_TEXTURE1D = 6,
  571. D3D_SVT_TEXTURE2D = 7,
  572. D3D_SVT_TEXTURE3D = 8,
  573. D3D_SVT_TEXTURECUBE = 9,
  574. D3D_SVT_SAMPLER = 10,
  575. D3D_SVT_SAMPLER1D = 11,
  576. D3D_SVT_SAMPLER2D = 12,
  577. D3D_SVT_SAMPLER3D = 13,
  578. D3D_SVT_SAMPLERCUBE = 14,
  579. D3D_SVT_PIXELSHADER = 15,
  580. D3D_SVT_VERTEXSHADER = 16,
  581. D3D_SVT_PIXELFRAGMENT = 17,
  582. D3D_SVT_VERTEXFRAGMENT = 18,
  583. D3D_SVT_UINT = 19,
  584. D3D_SVT_UINT8 = 20,
  585. D3D_SVT_GEOMETRYSHADER = 21,
  586. D3D_SVT_RASTERIZER = 22,
  587. D3D_SVT_DEPTHSTENCIL = 23,
  588. D3D_SVT_BLEND = 24,
  589. D3D_SVT_BUFFER = 25,
  590. D3D_SVT_CBUFFER = 26,
  591. D3D_SVT_TBUFFER = 27,
  592. D3D_SVT_TEXTURE1DARRAY = 28,
  593. D3D_SVT_TEXTURE2DARRAY = 29,
  594. D3D_SVT_RENDERTARGETVIEW = 30,
  595. D3D_SVT_DEPTHSTENCILVIEW = 31,
  596. D3D_SVT_TEXTURE2DMS = 32,
  597. D3D_SVT_TEXTURE2DMSARRAY = 33,
  598. D3D_SVT_TEXTURECUBEARRAY = 34,
  599. D3D_SVT_HULLSHADER = 35,
  600. D3D_SVT_DOMAINSHADER = 36,
  601. D3D_SVT_INTERFACE_POINTER = 37,
  602. D3D_SVT_COMPUTESHADER = 38,
  603. D3D_SVT_DOUBLE = 39,
  604. D3D_SVT_RWTEXTURE1D = 40,
  605. D3D_SVT_RWTEXTURE1DARRAY = 41,
  606. D3D_SVT_RWTEXTURE2D = 42,
  607. D3D_SVT_RWTEXTURE2DARRAY = 43,
  608. D3D_SVT_RWTEXTURE3D = 44,
  609. D3D_SVT_RWBUFFER = 45,
  610. D3D_SVT_BYTEADDRESS_BUFFER = 46,
  611. D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
  612. D3D_SVT_STRUCTURED_BUFFER = 48,
  613. D3D_SVT_RWSTRUCTURED_BUFFER = 49,
  614. D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
  615. D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
  616. D3D_SVT_MIN8FLOAT = 52,
  617. D3D_SVT_MIN10FLOAT = 53,
  618. D3D_SVT_MIN16FLOAT = 54,
  619. D3D_SVT_MIN12INT = 55,
  620. D3D_SVT_MIN16INT = 56,
  621. D3D_SVT_MIN16UINT = 57,
  622. D3D_SVT_INT16 = 58,
  623. D3D_SVT_UINT16 = 59,
  624. D3D_SVT_FLOAT16 = 60,
  625. D3D_SVT_INT64 = 61,
  626. D3D_SVT_UINT64 = 62,
  627. D3D10_SVT_VOID = D3D_SVT_VOID,
  628. D3D10_SVT_BOOL = D3D_SVT_BOOL,
  629. D3D10_SVT_INT = D3D_SVT_INT,
  630. D3D10_SVT_FLOAT = D3D_SVT_FLOAT,
  631. D3D10_SVT_STRING = D3D_SVT_STRING,
  632. D3D10_SVT_TEXTURE = D3D_SVT_TEXTURE,
  633. D3D10_SVT_TEXTURE1D = D3D_SVT_TEXTURE1D,
  634. D3D10_SVT_TEXTURE2D = D3D_SVT_TEXTURE2D,
  635. D3D10_SVT_TEXTURE3D = D3D_SVT_TEXTURE3D,
  636. D3D10_SVT_TEXTURECUBE = D3D_SVT_TEXTURECUBE,
  637. D3D10_SVT_SAMPLER = D3D_SVT_SAMPLER,
  638. D3D10_SVT_SAMPLER1D = D3D_SVT_SAMPLER1D,
  639. D3D10_SVT_SAMPLER2D = D3D_SVT_SAMPLER2D,
  640. D3D10_SVT_SAMPLER3D = D3D_SVT_SAMPLER3D,
  641. D3D10_SVT_SAMPLERCUBE = D3D_SVT_SAMPLERCUBE,
  642. D3D10_SVT_PIXELSHADER = D3D_SVT_PIXELSHADER,
  643. D3D10_SVT_VERTEXSHADER = D3D_SVT_VERTEXSHADER,
  644. D3D10_SVT_PIXELFRAGMENT = D3D_SVT_PIXELFRAGMENT,
  645. D3D10_SVT_VERTEXFRAGMENT = D3D_SVT_VERTEXFRAGMENT,
  646. D3D10_SVT_UINT = D3D_SVT_UINT,
  647. D3D10_SVT_UINT8 = D3D_SVT_UINT8,
  648. D3D10_SVT_GEOMETRYSHADER = D3D_SVT_GEOMETRYSHADER,
  649. D3D10_SVT_RASTERIZER = D3D_SVT_RASTERIZER,
  650. D3D10_SVT_DEPTHSTENCIL = D3D_SVT_DEPTHSTENCIL,
  651. D3D10_SVT_BLEND = D3D_SVT_BLEND,
  652. D3D10_SVT_BUFFER = D3D_SVT_BUFFER,
  653. D3D10_SVT_CBUFFER = D3D_SVT_CBUFFER,
  654. D3D10_SVT_TBUFFER = D3D_SVT_TBUFFER,
  655. D3D10_SVT_TEXTURE1DARRAY = D3D_SVT_TEXTURE1DARRAY,
  656. D3D10_SVT_TEXTURE2DARRAY = D3D_SVT_TEXTURE2DARRAY,
  657. D3D10_SVT_RENDERTARGETVIEW = D3D_SVT_RENDERTARGETVIEW,
  658. D3D10_SVT_DEPTHSTENCILVIEW = D3D_SVT_DEPTHSTENCILVIEW,
  659. D3D10_SVT_TEXTURE2DMS = D3D_SVT_TEXTURE2DMS,
  660. D3D10_SVT_TEXTURE2DMSARRAY = D3D_SVT_TEXTURE2DMSARRAY,
  661. D3D10_SVT_TEXTURECUBEARRAY = D3D_SVT_TEXTURECUBEARRAY,
  662. D3D11_SVT_HULLSHADER = D3D_SVT_HULLSHADER,
  663. D3D11_SVT_DOMAINSHADER = D3D_SVT_DOMAINSHADER,
  664. D3D11_SVT_INTERFACE_POINTER = D3D_SVT_INTERFACE_POINTER,
  665. D3D11_SVT_COMPUTESHADER = D3D_SVT_COMPUTESHADER,
  666. D3D11_SVT_DOUBLE = D3D_SVT_DOUBLE,
  667. D3D11_SVT_RWTEXTURE1D = D3D_SVT_RWTEXTURE1D,
  668. D3D11_SVT_RWTEXTURE1DARRAY = D3D_SVT_RWTEXTURE1DARRAY,
  669. D3D11_SVT_RWTEXTURE2D = D3D_SVT_RWTEXTURE2D,
  670. D3D11_SVT_RWTEXTURE2DARRAY = D3D_SVT_RWTEXTURE2DARRAY,
  671. D3D11_SVT_RWTEXTURE3D = D3D_SVT_RWTEXTURE3D,
  672. D3D11_SVT_RWBUFFER = D3D_SVT_RWBUFFER,
  673. D3D11_SVT_BYTEADDRESS_BUFFER = D3D_SVT_BYTEADDRESS_BUFFER,
  674. D3D11_SVT_RWBYTEADDRESS_BUFFER = D3D_SVT_RWBYTEADDRESS_BUFFER,
  675. D3D11_SVT_STRUCTURED_BUFFER = D3D_SVT_STRUCTURED_BUFFER,
  676. D3D11_SVT_RWSTRUCTURED_BUFFER = D3D_SVT_RWSTRUCTURED_BUFFER,
  677. D3D11_SVT_APPEND_STRUCTURED_BUFFER = D3D_SVT_APPEND_STRUCTURED_BUFFER,
  678. D3D11_SVT_CONSUME_STRUCTURED_BUFFER = D3D_SVT_CONSUME_STRUCTURED_BUFFER,
  679. D3D_SVT_FORCE_DWORD = 0x7fffffff
  680. } D3D_SHADER_VARIABLE_TYPE;
  681. typedef
  682. enum _D3D_SHADER_INPUT_FLAGS
  683. {
  684. D3D_SIF_USERPACKED = 0x1,
  685. D3D_SIF_COMPARISON_SAMPLER = 0x2,
  686. D3D_SIF_TEXTURE_COMPONENT_0 = 0x4,
  687. D3D_SIF_TEXTURE_COMPONENT_1 = 0x8,
  688. D3D_SIF_TEXTURE_COMPONENTS = 0xc,
  689. D3D_SIF_UNUSED = 0x10,
  690. D3D10_SIF_USERPACKED = D3D_SIF_USERPACKED,
  691. D3D10_SIF_COMPARISON_SAMPLER = D3D_SIF_COMPARISON_SAMPLER,
  692. D3D10_SIF_TEXTURE_COMPONENT_0 = D3D_SIF_TEXTURE_COMPONENT_0,
  693. D3D10_SIF_TEXTURE_COMPONENT_1 = D3D_SIF_TEXTURE_COMPONENT_1,
  694. D3D10_SIF_TEXTURE_COMPONENTS = D3D_SIF_TEXTURE_COMPONENTS,
  695. D3D_SIF_FORCE_DWORD = 0x7fffffff
  696. } D3D_SHADER_INPUT_FLAGS;
  697. typedef
  698. enum _D3D_SHADER_INPUT_TYPE
  699. {
  700. D3D_SIT_CBUFFER = 0,
  701. D3D_SIT_TBUFFER = ( D3D_SIT_CBUFFER + 1 ) ,
  702. D3D_SIT_TEXTURE = ( D3D_SIT_TBUFFER + 1 ) ,
  703. D3D_SIT_SAMPLER = ( D3D_SIT_TEXTURE + 1 ) ,
  704. D3D_SIT_UAV_RWTYPED = ( D3D_SIT_SAMPLER + 1 ) ,
  705. D3D_SIT_STRUCTURED = ( D3D_SIT_UAV_RWTYPED + 1 ) ,
  706. D3D_SIT_UAV_RWSTRUCTURED = ( D3D_SIT_STRUCTURED + 1 ) ,
  707. D3D_SIT_BYTEADDRESS = ( D3D_SIT_UAV_RWSTRUCTURED + 1 ) ,
  708. D3D_SIT_UAV_RWBYTEADDRESS = ( D3D_SIT_BYTEADDRESS + 1 ) ,
  709. D3D_SIT_UAV_APPEND_STRUCTURED = ( D3D_SIT_UAV_RWBYTEADDRESS + 1 ) ,
  710. D3D_SIT_UAV_CONSUME_STRUCTURED = ( D3D_SIT_UAV_APPEND_STRUCTURED + 1 ) ,
  711. D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = ( D3D_SIT_UAV_CONSUME_STRUCTURED + 1 ) ,
  712. D3D_SIT_RTACCELERATIONSTRUCTURE = ( D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER + 1 ) ,
  713. D3D_SIT_UAV_FEEDBACKTEXTURE = ( D3D_SIT_RTACCELERATIONSTRUCTURE + 1 ) ,
  714. D3D10_SIT_CBUFFER = D3D_SIT_CBUFFER,
  715. D3D10_SIT_TBUFFER = D3D_SIT_TBUFFER,
  716. D3D10_SIT_TEXTURE = D3D_SIT_TEXTURE,
  717. D3D10_SIT_SAMPLER = D3D_SIT_SAMPLER,
  718. D3D11_SIT_UAV_RWTYPED = D3D_SIT_UAV_RWTYPED,
  719. D3D11_SIT_STRUCTURED = D3D_SIT_STRUCTURED,
  720. D3D11_SIT_UAV_RWSTRUCTURED = D3D_SIT_UAV_RWSTRUCTURED,
  721. D3D11_SIT_BYTEADDRESS = D3D_SIT_BYTEADDRESS,
  722. D3D11_SIT_UAV_RWBYTEADDRESS = D3D_SIT_UAV_RWBYTEADDRESS,
  723. D3D11_SIT_UAV_APPEND_STRUCTURED = D3D_SIT_UAV_APPEND_STRUCTURED,
  724. D3D11_SIT_UAV_CONSUME_STRUCTURED = D3D_SIT_UAV_CONSUME_STRUCTURED,
  725. D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER = D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER
  726. } D3D_SHADER_INPUT_TYPE;
  727. typedef
  728. enum _D3D_SHADER_CBUFFER_FLAGS
  729. {
  730. D3D_CBF_USERPACKED = 1,
  731. D3D10_CBF_USERPACKED = D3D_CBF_USERPACKED,
  732. D3D_CBF_FORCE_DWORD = 0x7fffffff
  733. } D3D_SHADER_CBUFFER_FLAGS;
  734. typedef
  735. enum _D3D_CBUFFER_TYPE
  736. {
  737. D3D_CT_CBUFFER = 0,
  738. D3D_CT_TBUFFER = ( D3D_CT_CBUFFER + 1 ) ,
  739. D3D_CT_INTERFACE_POINTERS = ( D3D_CT_TBUFFER + 1 ) ,
  740. D3D_CT_RESOURCE_BIND_INFO = ( D3D_CT_INTERFACE_POINTERS + 1 ) ,
  741. D3D10_CT_CBUFFER = D3D_CT_CBUFFER,
  742. D3D10_CT_TBUFFER = D3D_CT_TBUFFER,
  743. D3D11_CT_CBUFFER = D3D_CT_CBUFFER,
  744. D3D11_CT_TBUFFER = D3D_CT_TBUFFER,
  745. D3D11_CT_INTERFACE_POINTERS = D3D_CT_INTERFACE_POINTERS,
  746. D3D11_CT_RESOURCE_BIND_INFO = D3D_CT_RESOURCE_BIND_INFO
  747. } D3D_CBUFFER_TYPE;
  748. typedef
  749. enum D3D_NAME
  750. {
  751. D3D_NAME_UNDEFINED = 0,
  752. D3D_NAME_POSITION = 1,
  753. D3D_NAME_CLIP_DISTANCE = 2,
  754. D3D_NAME_CULL_DISTANCE = 3,
  755. D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4,
  756. D3D_NAME_VIEWPORT_ARRAY_INDEX = 5,
  757. D3D_NAME_VERTEX_ID = 6,
  758. D3D_NAME_PRIMITIVE_ID = 7,
  759. D3D_NAME_INSTANCE_ID = 8,
  760. D3D_NAME_IS_FRONT_FACE = 9,
  761. D3D_NAME_SAMPLE_INDEX = 10,
  762. D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11,
  763. D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12,
  764. D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13,
  765. D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14,
  766. D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15,
  767. D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16,
  768. D3D_NAME_BARYCENTRICS = 23,
  769. D3D_NAME_SHADINGRATE = 24,
  770. D3D_NAME_CULLPRIMITIVE = 25,
  771. D3D_NAME_TARGET = 64,
  772. D3D_NAME_DEPTH = 65,
  773. D3D_NAME_COVERAGE = 66,
  774. D3D_NAME_DEPTH_GREATER_EQUAL = 67,
  775. D3D_NAME_DEPTH_LESS_EQUAL = 68,
  776. D3D_NAME_STENCIL_REF = 69,
  777. D3D_NAME_INNER_COVERAGE = 70,
  778. D3D10_NAME_UNDEFINED = D3D_NAME_UNDEFINED,
  779. D3D10_NAME_POSITION = D3D_NAME_POSITION,
  780. D3D10_NAME_CLIP_DISTANCE = D3D_NAME_CLIP_DISTANCE,
  781. D3D10_NAME_CULL_DISTANCE = D3D_NAME_CULL_DISTANCE,
  782. D3D10_NAME_RENDER_TARGET_ARRAY_INDEX = D3D_NAME_RENDER_TARGET_ARRAY_INDEX,
  783. D3D10_NAME_VIEWPORT_ARRAY_INDEX = D3D_NAME_VIEWPORT_ARRAY_INDEX,
  784. D3D10_NAME_VERTEX_ID = D3D_NAME_VERTEX_ID,
  785. D3D10_NAME_PRIMITIVE_ID = D3D_NAME_PRIMITIVE_ID,
  786. D3D10_NAME_INSTANCE_ID = D3D_NAME_INSTANCE_ID,
  787. D3D10_NAME_IS_FRONT_FACE = D3D_NAME_IS_FRONT_FACE,
  788. D3D10_NAME_SAMPLE_INDEX = D3D_NAME_SAMPLE_INDEX,
  789. D3D10_NAME_TARGET = D3D_NAME_TARGET,
  790. D3D10_NAME_DEPTH = D3D_NAME_DEPTH,
  791. D3D10_NAME_COVERAGE = D3D_NAME_COVERAGE,
  792. D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR,
  793. D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR,
  794. D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR,
  795. D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR,
  796. D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR,
  797. D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR,
  798. D3D11_NAME_DEPTH_GREATER_EQUAL = D3D_NAME_DEPTH_GREATER_EQUAL,
  799. D3D11_NAME_DEPTH_LESS_EQUAL = D3D_NAME_DEPTH_LESS_EQUAL,
  800. D3D11_NAME_STENCIL_REF = D3D_NAME_STENCIL_REF,
  801. D3D11_NAME_INNER_COVERAGE = D3D_NAME_INNER_COVERAGE,
  802. D3D12_NAME_BARYCENTRICS = D3D_NAME_BARYCENTRICS,
  803. D3D12_NAME_SHADINGRATE = D3D_NAME_SHADINGRATE,
  804. D3D12_NAME_CULLPRIMITIVE = D3D_NAME_CULLPRIMITIVE
  805. } D3D_NAME;
  806. typedef
  807. enum D3D_RESOURCE_RETURN_TYPE
  808. {
  809. D3D_RETURN_TYPE_UNORM = 1,
  810. D3D_RETURN_TYPE_SNORM = 2,
  811. D3D_RETURN_TYPE_SINT = 3,
  812. D3D_RETURN_TYPE_UINT = 4,
  813. D3D_RETURN_TYPE_FLOAT = 5,
  814. D3D_RETURN_TYPE_MIXED = 6,
  815. D3D_RETURN_TYPE_DOUBLE = 7,
  816. D3D_RETURN_TYPE_CONTINUED = 8,
  817. D3D10_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
  818. D3D10_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
  819. D3D10_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
  820. D3D10_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
  821. D3D10_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
  822. D3D10_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
  823. D3D11_RETURN_TYPE_UNORM = D3D_RETURN_TYPE_UNORM,
  824. D3D11_RETURN_TYPE_SNORM = D3D_RETURN_TYPE_SNORM,
  825. D3D11_RETURN_TYPE_SINT = D3D_RETURN_TYPE_SINT,
  826. D3D11_RETURN_TYPE_UINT = D3D_RETURN_TYPE_UINT,
  827. D3D11_RETURN_TYPE_FLOAT = D3D_RETURN_TYPE_FLOAT,
  828. D3D11_RETURN_TYPE_MIXED = D3D_RETURN_TYPE_MIXED,
  829. D3D11_RETURN_TYPE_DOUBLE = D3D_RETURN_TYPE_DOUBLE,
  830. D3D11_RETURN_TYPE_CONTINUED = D3D_RETURN_TYPE_CONTINUED
  831. } D3D_RESOURCE_RETURN_TYPE;
  832. typedef
  833. enum D3D_REGISTER_COMPONENT_TYPE
  834. {
  835. D3D_REGISTER_COMPONENT_UNKNOWN = 0,
  836. D3D_REGISTER_COMPONENT_UINT32 = 1,
  837. D3D_REGISTER_COMPONENT_SINT32 = 2,
  838. D3D_REGISTER_COMPONENT_FLOAT32 = 3,
  839. D3D10_REGISTER_COMPONENT_UNKNOWN = D3D_REGISTER_COMPONENT_UNKNOWN,
  840. D3D10_REGISTER_COMPONENT_UINT32 = D3D_REGISTER_COMPONENT_UINT32,
  841. D3D10_REGISTER_COMPONENT_SINT32 = D3D_REGISTER_COMPONENT_SINT32,
  842. D3D10_REGISTER_COMPONENT_FLOAT32 = D3D_REGISTER_COMPONENT_FLOAT32
  843. } D3D_REGISTER_COMPONENT_TYPE;
  844. typedef
  845. enum D3D_TESSELLATOR_DOMAIN
  846. {
  847. D3D_TESSELLATOR_DOMAIN_UNDEFINED = 0,
  848. D3D_TESSELLATOR_DOMAIN_ISOLINE = 1,
  849. D3D_TESSELLATOR_DOMAIN_TRI = 2,
  850. D3D_TESSELLATOR_DOMAIN_QUAD = 3,
  851. D3D11_TESSELLATOR_DOMAIN_UNDEFINED = D3D_TESSELLATOR_DOMAIN_UNDEFINED,
  852. D3D11_TESSELLATOR_DOMAIN_ISOLINE = D3D_TESSELLATOR_DOMAIN_ISOLINE,
  853. D3D11_TESSELLATOR_DOMAIN_TRI = D3D_TESSELLATOR_DOMAIN_TRI,
  854. D3D11_TESSELLATOR_DOMAIN_QUAD = D3D_TESSELLATOR_DOMAIN_QUAD
  855. } D3D_TESSELLATOR_DOMAIN;
  856. typedef
  857. enum D3D_TESSELLATOR_PARTITIONING
  858. {
  859. D3D_TESSELLATOR_PARTITIONING_UNDEFINED = 0,
  860. D3D_TESSELLATOR_PARTITIONING_INTEGER = 1,
  861. D3D_TESSELLATOR_PARTITIONING_POW2 = 2,
  862. D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = 3,
  863. D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = 4,
  864. D3D11_TESSELLATOR_PARTITIONING_UNDEFINED = D3D_TESSELLATOR_PARTITIONING_UNDEFINED,
  865. D3D11_TESSELLATOR_PARTITIONING_INTEGER = D3D_TESSELLATOR_PARTITIONING_INTEGER,
  866. D3D11_TESSELLATOR_PARTITIONING_POW2 = D3D_TESSELLATOR_PARTITIONING_POW2,
  867. D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD,
  868. D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN = D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN
  869. } D3D_TESSELLATOR_PARTITIONING;
  870. typedef
  871. enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE
  872. {
  873. D3D_TESSELLATOR_OUTPUT_UNDEFINED = 0,
  874. D3D_TESSELLATOR_OUTPUT_POINT = 1,
  875. D3D_TESSELLATOR_OUTPUT_LINE = 2,
  876. D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW = 3,
  877. D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW = 4,
  878. D3D11_TESSELLATOR_OUTPUT_UNDEFINED = D3D_TESSELLATOR_OUTPUT_UNDEFINED,
  879. D3D11_TESSELLATOR_OUTPUT_POINT = D3D_TESSELLATOR_OUTPUT_POINT,
  880. D3D11_TESSELLATOR_OUTPUT_LINE = D3D_TESSELLATOR_OUTPUT_LINE,
  881. D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW,
  882. D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW = D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW
  883. } D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
  884. typedef
  885. enum D3D_MIN_PRECISION
  886. {
  887. D3D_MIN_PRECISION_DEFAULT = 0,
  888. D3D_MIN_PRECISION_FLOAT_16 = 1,
  889. D3D_MIN_PRECISION_FLOAT_2_8 = 2,
  890. D3D_MIN_PRECISION_RESERVED = 3,
  891. D3D_MIN_PRECISION_SINT_16 = 4,
  892. D3D_MIN_PRECISION_UINT_16 = 5,
  893. D3D_MIN_PRECISION_ANY_16 = 0xf0,
  894. D3D_MIN_PRECISION_ANY_10 = 0xf1
  895. } D3D_MIN_PRECISION;
  896. typedef
  897. enum D3D_INTERPOLATION_MODE
  898. {
  899. D3D_INTERPOLATION_UNDEFINED = 0,
  900. D3D_INTERPOLATION_CONSTANT = 1,
  901. D3D_INTERPOLATION_LINEAR = 2,
  902. D3D_INTERPOLATION_LINEAR_CENTROID = 3,
  903. D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE = 4,
  904. D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID = 5,
  905. D3D_INTERPOLATION_LINEAR_SAMPLE = 6,
  906. D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE = 7
  907. } D3D_INTERPOLATION_MODE;
  908. typedef
  909. enum _D3D_PARAMETER_FLAGS
  910. {
  911. D3D_PF_NONE = 0,
  912. D3D_PF_IN = 0x1,
  913. D3D_PF_OUT = 0x2,
  914. D3D_PF_FORCE_DWORD = 0x7fffffff
  915. } D3D_PARAMETER_FLAGS;
  916. typedef
  917. enum D3D_FORMAT_LAYOUT
  918. {
  919. D3DFL_STANDARD = 0,
  920. D3DFL_CUSTOM = -1
  921. } D3D_FORMAT_LAYOUT;
  922. typedef
  923. enum D3D_FORMAT_TYPE_LEVEL
  924. {
  925. D3DFTL_NO_TYPE = 0,
  926. D3DFTL_PARTIAL_TYPE = -2,
  927. D3DFTL_FULL_TYPE = -1
  928. } D3D_FORMAT_TYPE_LEVEL;
  929. typedef
  930. enum D3D_FORMAT_COMPONENT_NAME
  931. {
  932. D3DFCN_R = -4,
  933. D3DFCN_G = -3,
  934. D3DFCN_B = -2,
  935. D3DFCN_A = -1,
  936. D3DFCN_D = 0,
  937. D3DFCN_S = 1,
  938. D3DFCN_X = 2
  939. } D3D_FORMAT_COMPONENT_NAME;
  940. typedef
  941. enum D3D_FORMAT_COMPONENT_INTERPRETATION
  942. {
  943. D3DFCI_TYPELESS = 0,
  944. D3DFCI_FLOAT = -4,
  945. D3DFCI_SNORM = -3,
  946. D3DFCI_UNORM = -2,
  947. D3DFCI_SINT = -1,
  948. D3DFCI_UINT = 1,
  949. D3DFCI_UNORM_SRGB = 2,
  950. D3DFCI_BIASED_FIXED_2_8 = 3
  951. } D3D_FORMAT_COMPONENT_INTERPRETATION;
  952. DEFINE_GUID(WKPDID_D3DDebugObjectName,0x429b8c22,0x9188,0x4b0c,0x87,0x42,0xac,0xb0,0xbf,0x85,0xc2,0x00);
  953. DEFINE_GUID(WKPDID_D3DDebugObjectNameW,0x4cca5fd8,0x921f,0x42c8,0x85,0x66,0x70,0xca,0xf2,0xa9,0xb7,0x41);
  954. DEFINE_GUID(WKPDID_CommentStringW,0xd0149dc0,0x90e8,0x4ec8,0x81, 0x44, 0xe9, 0x00, 0xad, 0x26, 0x6b, 0xb2);
  955. DEFINE_GUID(WKPDID_D3D12UniqueObjectId, 0x1b39de15, 0xec04, 0x4bae, 0xba, 0x4d, 0x8c, 0xef, 0x79, 0xfc, 0x04, 0xc1);
  956. #define D3D_SET_OBJECT_NAME_N_A(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectName, Chars, pName)
  957. #define D3D_SET_OBJECT_NAME_A(pObject, pName) D3D_SET_OBJECT_NAME_N_A(pObject, lstrlenA(pName), pName)
  958. #define D3D_SET_OBJECT_NAME_N_W(pObject, Chars, pName) (pObject)->SetPrivateData(WKPDID_D3DDebugObjectNameW, Chars*2, pName)
  959. #define D3D_SET_OBJECT_NAME_W(pObject, pName) D3D_SET_OBJECT_NAME_N_W(pObject, wcslen(pName), pName)
  960. #define D3D_COMPONENT_MASK_X 1
  961. #define D3D_COMPONENT_MASK_Y 2
  962. #define D3D_COMPONENT_MASK_Z 4
  963. #define D3D_COMPONENT_MASK_W 8
  964. DEFINE_GUID(D3D_TEXTURE_LAYOUT_ROW_MAJOR,0xb5dc234f,0x72bb,0x4bec,0x97,0x05,0x8c,0xf2,0x58,0xdf,0x6b,0x6c);
  965. DEFINE_GUID(D3D_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE,0x4c0f29e3,0x3f5f,0x4d35,0x84,0xc9,0xbc,0x09,0x83,0xb6,0x2c,0x28);
  966. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_c_ifspec;
  967. extern RPC_IF_HANDLE __MIDL_itf_d3dcommon_0000_0002_v0_0_s_ifspec;
  968. /* Additional Prototypes for ALL interfaces */
  969. /* end of Additional Prototypes */
  970. #ifdef __cplusplus
  971. }
  972. #endif
  973. #endif