d3d10.idl 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649
  1. /*
  2. * Copyright 2007 Andras Kovacs
  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. import "dxgi.idl";
  21. import "d3dcommon.idl";
  22. cpp_quote("#ifndef _D3D10_CONSTANTS")
  23. cpp_quote("#define _D3D10_CONSTANTS")
  24. const float D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
  25. const float D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
  26. const float D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
  27. const float D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0;
  28. const float D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
  29. const float D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
  30. const float D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
  31. const float D3D10_DEFAULT_MAX_ANISOTROPY = 16.0;
  32. const float D3D10_DEFAULT_MIP_LOD_BIAS = 0.0;
  33. const float D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
  34. const float D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
  35. const float D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
  36. const float D3D10_FLOAT32_MAX = 3.402823466e+38;
  37. const float D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
  38. const float D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
  39. const float D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
  40. const float D3D10_FLOAT_TO_SRGB_OFFSET = 0.055;
  41. const float D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92;
  42. const float D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055;
  43. const float D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
  44. const float D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
  45. const float D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
  46. const float D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
  47. const float D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
  48. const float D3D10_LINEAR_GAMMA = 1.0;
  49. const float D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0;
  50. const float D3D10_MAX_DEPTH = 1.0;
  51. const float D3D10_MAX_POSITION_VALUE = 3.402823466e+34;
  52. const float D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0;
  53. const float D3D10_MIN_DEPTH = 0.0;
  54. const float D3D10_MIP_LOD_BIAS_MAX = 15.99;
  55. const float D3D10_MIP_LOD_BIAS_MIN = -16.0;
  56. const float D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
  57. const float D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
  58. const float D3D10_SRGB_GAMMA = 2.2;
  59. const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
  60. const float D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
  61. const float D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4;
  62. const float D3D10_SRGB_TO_FLOAT_OFFSET = 0.055;
  63. const float D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
  64. const float D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
  65. const float D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
  66. const float D3D_SPEC_VERSION = 1.050005;
  67. const unsigned int D3D10_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
  68. const unsigned int D3D10_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
  69. const unsigned int D3D10_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
  70. const unsigned int D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
  71. const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8;
  72. const unsigned int D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
  73. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
  74. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
  75. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
  76. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
  77. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
  78. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
  79. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
  80. const unsigned int D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
  81. const unsigned int D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
  82. const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
  83. const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
  84. const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
  85. const unsigned int D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
  86. const unsigned int D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
  87. const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
  88. const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
  89. const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
  90. const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
  91. const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
  92. const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
  93. const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
  94. const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
  95. const unsigned int D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
  96. const unsigned int D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
  97. const unsigned int D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
  98. const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
  99. const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
  100. const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
  101. const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
  102. const unsigned int D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
  103. const unsigned int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
  104. const int D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
  105. const int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
  106. const unsigned int D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
  107. const unsigned int D3D10_DEFAULT_DEPTH_BIAS = 0;
  108. const unsigned int D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
  109. const unsigned int D3D10_DEFAULT_SAMPLE_MASK = 0xffffffff;
  110. const unsigned int D3D10_DEFAULT_SCISSOR_ENDX = 0;
  111. const unsigned int D3D10_DEFAULT_SCISSOR_ENDY = 0;
  112. const unsigned int D3D10_DEFAULT_SCISSOR_STARTX = 0;
  113. const unsigned int D3D10_DEFAULT_SCISSOR_STARTY = 0;
  114. const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK = 0xff;
  115. const unsigned int D3D10_DEFAULT_STENCIL_REFERENCE = 0;
  116. const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK = 0xff;
  117. const unsigned int D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
  118. const unsigned int D3D10_DEFAULT_VIEWPORT_HEIGHT = 0;
  119. const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0;
  120. const unsigned int D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0;
  121. const unsigned int D3D10_DEFAULT_VIEWPORT_WIDTH = 0;
  122. const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
  123. const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
  124. const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
  125. const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
  126. const unsigned int D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
  127. const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENTS = 4;
  128. const unsigned int D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT =32;
  129. const unsigned int D3D10_GS_INPUT_REGISTER_COUNT = 16;
  130. const unsigned int D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2;
  131. const unsigned int D3D10_GS_INPUT_REGISTER_READ_PORTS = 1;
  132. const unsigned int D3D10_GS_INPUT_REGISTER_VERTICES = 6;
  133. const unsigned int D3D10_GS_OUTPUT_ELEMENTS = 32;
  134. const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4;
  135. const unsigned int D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  136. const unsigned int D3D10_GS_OUTPUT_REGISTER_COUNT = 32;
  137. const unsigned int D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
  138. const unsigned int D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
  139. const unsigned int D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
  140. const unsigned int D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
  141. const unsigned int D3D10_IA_INSTANCE_ID_BIT_COUNT = 32;
  142. const unsigned int D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
  143. const unsigned int D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32;
  144. const unsigned int D3D10_IA_VERTEX_ID_BIT_COUNT = 32;
  145. const unsigned int D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16;
  146. const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64;
  147. const unsigned int D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16;
  148. const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
  149. const unsigned int D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
  150. const unsigned int D3D10_MAX_MAXANISOTROPY = 16;
  151. const unsigned int D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
  152. const unsigned int D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
  153. const unsigned int D3D10_MIN_MAXANISOTROPY = 0;
  154. const unsigned int D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6;
  155. const unsigned int D3D10_MIP_LOD_RANGE_BIT_COUNT = 8;
  156. const unsigned int D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
  157. const unsigned int D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13;
  158. const unsigned int D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
  159. const unsigned int D3D10_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
  160. const unsigned int D3D10_PS_FRONTFACING_FALSE_VALUE = 0;
  161. const unsigned int D3D10_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
  162. const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENTS = 4;
  163. const unsigned int D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  164. const unsigned int D3D10_PS_INPUT_REGISTER_COUNT = 32;
  165. const unsigned int D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2;
  166. const unsigned int D3D10_PS_INPUT_REGISTER_READ_PORTS = 1;
  167. const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
  168. const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
  169. const unsigned int D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
  170. const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4;
  171. const unsigned int D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  172. const unsigned int D3D10_PS_OUTPUT_REGISTER_COUNT = 8;
  173. const unsigned int D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096;
  174. const unsigned int D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
  175. const unsigned int D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
  176. const unsigned int D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096;
  177. const unsigned int D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
  178. const unsigned int D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
  179. const unsigned int D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192;
  180. const unsigned int D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
  181. const unsigned int D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
  182. const unsigned int D3D10_REQ_MAXANISOTROPY = 16;
  183. const unsigned int D3D10_REQ_MIP_LEVELS = 14;
  184. const unsigned int D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
  185. const unsigned int D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096;
  186. const unsigned int D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192;
  187. const unsigned int D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128;
  188. const unsigned int D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20;
  189. const unsigned int D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096;
  190. const unsigned int D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512;
  191. const unsigned int D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192;
  192. const unsigned int D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512;
  193. const unsigned int D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192;
  194. const unsigned int D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
  195. const unsigned int D3D10_REQ_TEXTURECUBE_DIMENSION = 8192;
  196. const unsigned int D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
  197. const unsigned int D3D10_SHADER_MAJOR_VERSION = 4;
  198. const unsigned int D3D10_SHADER_MINOR_VERSION = 0;
  199. const unsigned int D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0;
  200. const unsigned int D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
  201. const unsigned int D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
  202. const unsigned int D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
  203. const unsigned int D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256;
  204. const unsigned int D3D10_SO_BUFFER_SLOT_COUNT = 4;
  205. const unsigned int D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
  206. const unsigned int D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1;
  207. const unsigned int D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64;
  208. const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT = 32;
  209. const unsigned int D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
  210. const unsigned int D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
  211. const unsigned int D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128;
  212. const unsigned int D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32;
  213. const unsigned int D3D10_STANDARD_VECTOR_SIZE = 4;
  214. const unsigned int D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16;
  215. const unsigned int D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
  216. const unsigned int D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
  217. const unsigned int D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6;
  218. const unsigned int D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18;
  219. const unsigned int D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0;
  220. const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
  221. const unsigned int D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
  222. const unsigned int D3D10_VIEWPORT_BOUNDS_MAX = 16383;
  223. const int D3D10_VIEWPORT_BOUNDS_MIN = -16384;
  224. const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENTS = 4;
  225. const unsigned int D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  226. const unsigned int D3D10_VS_INPUT_REGISTER_COUNT = 16;
  227. const unsigned int D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2;
  228. const unsigned int D3D10_VS_INPUT_REGISTER_READ_PORTS = 1;
  229. const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4;
  230. const unsigned int D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  231. const unsigned int D3D10_VS_OUTPUT_REGISTER_COUNT = 16;
  232. const unsigned int D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
  233. const unsigned int D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
  234. const unsigned int D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
  235. const unsigned int D3D_MAJOR_VERSION = 10;
  236. const unsigned int D3D_MINOR_VERSION = 0;
  237. const unsigned int D3D_SPEC_DATE_DAY = 8;
  238. const unsigned int D3D_SPEC_DATE_MONTH = 8;
  239. const unsigned int D3D_SPEC_DATE_YEAR = 2006;
  240. cpp_quote("#endif")
  241. const unsigned int D3D10_APPEND_ALIGNED_ELEMENT = 0xffffffff;
  242. const unsigned int _FACD3D10 = 0x879;
  243. const unsigned int _FACD3D10DEBUG = _FACD3D10 + 1;
  244. const unsigned int D3D10_FILTER_TYPE_MASK = 0x3;
  245. const unsigned int D3D10_SDK_VERSION = 29;
  246. cpp_quote("#define MAKE_D3D10_HRESULT(code) MAKE_HRESULT( 1, _FACD3D10, code)")
  247. cpp_quote("#define MAKE_D3D10_STATUS(code) MAKE_HRESULT( 0, _FACD3D10, code)")
  248. cpp_quote("#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D10_HRESULT(1)")
  249. cpp_quote("#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)")
  250. typedef enum D3D10_BLEND {
  251. D3D10_BLEND_ZERO = 1,
  252. D3D10_BLEND_ONE = 2,
  253. D3D10_BLEND_SRC_COLOR = 3,
  254. D3D10_BLEND_INV_SRC_COLOR = 4,
  255. D3D10_BLEND_SRC_ALPHA = 5,
  256. D3D10_BLEND_INV_SRC_ALPHA = 6,
  257. D3D10_BLEND_DEST_ALPHA = 7,
  258. D3D10_BLEND_INV_DEST_ALPHA = 8,
  259. D3D10_BLEND_DEST_COLOR = 9,
  260. D3D10_BLEND_INV_DEST_COLOR = 10,
  261. D3D10_BLEND_SRC_ALPHA_SAT = 11,
  262. D3D10_BLEND_BLEND_FACTOR = 14,
  263. D3D10_BLEND_INV_BLEND_FACTOR = 15,
  264. D3D10_BLEND_SRC1_COLOR = 16,
  265. D3D10_BLEND_INV_SRC1_COLOR = 17,
  266. D3D10_BLEND_SRC1_ALPHA = 18,
  267. D3D10_BLEND_INV_SRC1_ALPHA = 19
  268. } D3D10_BLEND;
  269. typedef enum D3D10_BLEND_OP {
  270. D3D10_BLEND_OP_ADD = 1,
  271. D3D10_BLEND_OP_SUBTRACT,
  272. D3D10_BLEND_OP_REV_SUBTRACT,
  273. D3D10_BLEND_OP_MIN,
  274. D3D10_BLEND_OP_MAX,
  275. } D3D10_BLEND_OP;
  276. typedef struct D3D10_BLEND_DESC {
  277. BOOL AlphaToCoverageEnable;
  278. BOOL BlendEnable[8];
  279. D3D10_BLEND SrcBlend;
  280. D3D10_BLEND DestBlend;
  281. D3D10_BLEND_OP BlendOp;
  282. D3D10_BLEND SrcBlendAlpha;
  283. D3D10_BLEND DestBlendAlpha;
  284. D3D10_BLEND_OP BlendOpAlpha;
  285. UINT8 RenderTargetWriteMask[8];
  286. } D3D10_BLEND_DESC;
  287. typedef enum D3D10_DEPTH_WRITE_MASK {
  288. D3D10_DEPTH_WRITE_MASK_ZERO,
  289. D3D10_DEPTH_WRITE_MASK_ALL,
  290. } D3D10_DEPTH_WRITE_MASK;
  291. typedef enum D3D10_COMPARISON_FUNC {
  292. D3D10_COMPARISON_NEVER = 1,
  293. D3D10_COMPARISON_LESS,
  294. D3D10_COMPARISON_EQUAL,
  295. D3D10_COMPARISON_LESS_EQUAL,
  296. D3D10_COMPARISON_GREATER,
  297. D3D10_COMPARISON_NOT_EQUAL,
  298. D3D10_COMPARISON_GREATER_EQUAL,
  299. D3D10_COMPARISON_ALWAYS,
  300. } D3D10_COMPARISON_FUNC;
  301. typedef enum D3D10_STENCIL_OP {
  302. D3D10_STENCIL_OP_KEEP = 1,
  303. D3D10_STENCIL_OP_ZERO,
  304. D3D10_STENCIL_OP_REPLACE,
  305. D3D10_STENCIL_OP_INCR_SAT,
  306. D3D10_STENCIL_OP_DECR_SAT,
  307. D3D10_STENCIL_OP_INVERT,
  308. D3D10_STENCIL_OP_INCR,
  309. D3D10_STENCIL_OP_DECR,
  310. } D3D10_STENCIL_OP;
  311. typedef struct D3D10_DEPTH_STENCILOP_DESC {
  312. D3D10_STENCIL_OP StencilFailOp;
  313. D3D10_STENCIL_OP StencilDepthFailOp;
  314. D3D10_STENCIL_OP StencilPassOp;
  315. D3D10_COMPARISON_FUNC StencilFunc;
  316. } D3D10_DEPTH_STENCILOP_DESC;
  317. typedef struct D3D10_DEPTH_STENCIL_DESC {
  318. BOOL DepthEnable;
  319. D3D10_DEPTH_WRITE_MASK DepthWriteMask;
  320. D3D10_COMPARISON_FUNC DepthFunc;
  321. BOOL StencilEnable;
  322. UINT8 StencilReadMask;
  323. UINT8 StencilWriteMask;
  324. D3D10_DEPTH_STENCILOP_DESC FrontFace;
  325. D3D10_DEPTH_STENCILOP_DESC BackFace;
  326. } D3D10_DEPTH_STENCIL_DESC;
  327. typedef enum D3D10_FILL_MODE {
  328. D3D10_FILL_WIREFRAME = 2,
  329. D3D10_FILL_SOLID,
  330. } D3D10_FILL_MODE;
  331. typedef enum D3D10_CULL_MODE {
  332. D3D10_CULL_NONE = 1,
  333. D3D10_CULL_FRONT,
  334. D3D10_CULL_BACK,
  335. } D3D10_CULL_MODE;
  336. typedef struct D3D10_RASTERIZER_DESC {
  337. D3D10_FILL_MODE FillMode;
  338. D3D10_CULL_MODE CullMode;
  339. BOOL FrontCounterClockwise;
  340. INT DepthBias;
  341. FLOAT DepthBiasClamp;
  342. FLOAT SlopeScaledDepthBias;
  343. BOOL DepthClipEnable;
  344. BOOL ScissorEnable;
  345. BOOL MultisampleEnable;
  346. BOOL AntialiasedLineEnable;
  347. } D3D10_RASTERIZER_DESC;
  348. typedef enum D3D10_FILTER {
  349. D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
  350. D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
  351. D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
  352. D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
  353. D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
  354. D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
  355. D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
  356. D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
  357. D3D10_FILTER_ANISOTROPIC = 0x55,
  358. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
  359. D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
  360. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
  361. D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
  362. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
  363. D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
  364. D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
  365. D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
  366. D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
  367. D3D10_FILTER_TEXT_1BIT = 0x80000000
  368. } D3D10_FILTER;
  369. typedef enum D3D10_TEXTURE_ADDRESS_MODE {
  370. D3D10_TEXTURE_ADDRESS_WRAP = 1,
  371. D3D10_TEXTURE_ADDRESS_MIRROR,
  372. D3D10_TEXTURE_ADDRESS_CLAMP,
  373. D3D10_TEXTURE_ADDRESS_BORDER,
  374. D3D10_TEXTURE_ADDRESS_MIRROR_ONCE,
  375. } D3D10_TEXTURE_ADDRESS_MODE;
  376. typedef struct D3D10_SAMPLER_DESC {
  377. D3D10_FILTER Filter;
  378. D3D10_TEXTURE_ADDRESS_MODE AddressU;
  379. D3D10_TEXTURE_ADDRESS_MODE AddressV;
  380. D3D10_TEXTURE_ADDRESS_MODE AddressW;
  381. FLOAT MipLODBias;
  382. UINT MaxAnisotropy;
  383. D3D10_COMPARISON_FUNC ComparisonFunc;
  384. FLOAT BorderColor[4];
  385. FLOAT MinLOD;
  386. FLOAT MaxLOD;
  387. } D3D10_SAMPLER_DESC;
  388. typedef enum D3D10_COUNTER {
  389. D3D10_COUNTER_GPU_IDLE,
  390. D3D10_COUNTER_VERTEX_PROCESSING,
  391. D3D10_COUNTER_GEOMETRY_PROCESSING,
  392. D3D10_COUNTER_PIXEL_PROCESSING,
  393. D3D10_COUNTER_OTHER_GPU_PROCESSING,
  394. D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION,
  395. D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION,
  396. D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION,
  397. D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION,
  398. D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION,
  399. D3D10_COUNTER_VS_MEMORY_LIMITED,
  400. D3D10_COUNTER_VS_COMPUTATION_LIMITED,
  401. D3D10_COUNTER_GS_MEMORY_LIMITED,
  402. D3D10_COUNTER_GS_COMPUTATION_LIMITED,
  403. D3D10_COUNTER_PS_MEMORY_LIMITED,
  404. D3D10_COUNTER_PS_COMPUTATION_LIMITED,
  405. D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE,
  406. D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE,
  407. D3D10_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
  408. } D3D10_COUNTER;
  409. typedef struct D3D10_COUNTER_DESC {
  410. D3D10_COUNTER Counter;
  411. UINT MiscFlags;
  412. } D3D10_COUNTER_DESC;
  413. typedef enum D3D10_COUNTER_TYPE {
  414. D3D10_COUNTER_TYPE_FLOAT32,
  415. D3D10_COUNTER_TYPE_UINT16,
  416. D3D10_COUNTER_TYPE_UINT32,
  417. D3D10_COUNTER_TYPE_UINT64,
  418. } D3D10_COUNTER_TYPE;
  419. typedef struct D3D10_COUNTER_INFO {
  420. D3D10_COUNTER LastDeviceDependentCounter;
  421. UINT NumSimultaneousCounters;
  422. UINT8 NumDetectableParallelUnits;
  423. } D3D10_COUNTER_INFO;
  424. typedef enum D3D10_RESOURCE_DIMENSION {
  425. D3D10_RESOURCE_DIMENSION_UNKNOWN,
  426. D3D10_RESOURCE_DIMENSION_BUFFER,
  427. D3D10_RESOURCE_DIMENSION_TEXTURE1D,
  428. D3D10_RESOURCE_DIMENSION_TEXTURE2D,
  429. D3D10_RESOURCE_DIMENSION_TEXTURE3D,
  430. } D3D10_RESOURCE_DIMENSION;
  431. typedef enum D3D10_USAGE {
  432. D3D10_USAGE_DEFAULT,
  433. D3D10_USAGE_IMMUTABLE,
  434. D3D10_USAGE_DYNAMIC,
  435. D3D10_USAGE_STAGING,
  436. } D3D10_USAGE;
  437. typedef enum D3D10_BIND_FLAG {
  438. D3D10_BIND_VERTEX_BUFFER = 0x1,
  439. D3D10_BIND_INDEX_BUFFER = 0x2,
  440. D3D10_BIND_CONSTANT_BUFFER = 0x4,
  441. D3D10_BIND_SHADER_RESOURCE = 0x8,
  442. D3D10_BIND_STREAM_OUTPUT = 0x10,
  443. D3D10_BIND_RENDER_TARGET = 0x20,
  444. D3D10_BIND_DEPTH_STENCIL = 0x40
  445. } D3D10_BIND_FLAG;
  446. typedef struct D3D10_BUFFER_DESC {
  447. UINT ByteWidth;
  448. D3D10_USAGE Usage;
  449. UINT BindFlags;
  450. UINT CPUAccessFlags;
  451. UINT MiscFlags;
  452. } D3D10_BUFFER_DESC;
  453. cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
  454. cpp_quote("struct CD3D10_BUFFER_DESC : public D3D10_BUFFER_DESC {")
  455. cpp_quote(" CD3D10_BUFFER_DESC() {}" )
  456. cpp_quote(" explicit CD3D10_BUFFER_DESC(const D3D10_BUFFER_DESC &o) : D3D10_BUFFER_DESC(o) {}")
  457. cpp_quote(" explicit CD3D10_BUFFER_DESC(UINT byteWidth, UINT bindFlags, D3D10_USAGE usage = D3D10_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT miscFlags = 0 ) {")
  458. cpp_quote(" ByteWidth = byteWidth;")
  459. cpp_quote(" Usage = usage;")
  460. cpp_quote(" BindFlags = bindFlags;")
  461. cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
  462. cpp_quote(" MiscFlags = miscFlags;")
  463. cpp_quote(" }")
  464. cpp_quote(" ~CD3D10_BUFFER_DESC() {}")
  465. cpp_quote(" operator const D3D10_BUFFER_DESC&() const {")
  466. cpp_quote(" return *this;")
  467. cpp_quote(" }")
  468. cpp_quote("};")
  469. cpp_quote("#endif")
  470. typedef enum D3D10_MAP {
  471. D3D10_MAP_READ = 1,
  472. D3D10_MAP_WRITE,
  473. D3D10_MAP_READ_WRITE,
  474. D3D10_MAP_WRITE_DISCARD,
  475. D3D10_MAP_WRITE_NO_OVERWRITE,
  476. } D3D10_MAP;
  477. typedef struct D3D10_TEXTURE1D_DESC {
  478. UINT Width;
  479. UINT MipLevels;
  480. UINT ArraySize;
  481. DXGI_FORMAT Format;
  482. D3D10_USAGE Usage;
  483. UINT BindFlags;
  484. UINT CPUAccessFlags;
  485. UINT MiscFlags;
  486. } D3D10_TEXTURE1D_DESC;
  487. cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
  488. cpp_quote("struct CD3D10_TEXTURE1D_DESC : public D3D10_TEXTURE1D_DESC {")
  489. cpp_quote(" CD3D10_TEXTURE1D_DESC() {}")
  490. cpp_quote(" explicit CD3D10_TEXTURE1D_DESC(const D3D10_TEXTURE1D_DESC &o) : D3D10_TEXTURE1D_DESC(o) {}")
  491. cpp_quote(" explicit CD3D10_TEXTURE1D_DESC(DXGI_FORMAT format, UINT width, UINT arraySize = 1, UINT mipLevels = 0,")
  492. cpp_quote(" UINT bindFlags = D3D10_BIND_SHADER_RESOURCE, D3D10_USAGE usage = D3D10_USAGE_DEFAULT, UINT cpuaccessFlags = 0,")
  493. cpp_quote(" UINT miscFlags = 0) {")
  494. cpp_quote(" Width = width;")
  495. cpp_quote(" MipLevels = mipLevels;")
  496. cpp_quote(" ArraySize = arraySize;")
  497. cpp_quote(" Format = format;")
  498. cpp_quote(" Usage = usage;")
  499. cpp_quote(" BindFlags = bindFlags;")
  500. cpp_quote(" CPUAccessFlags = cpuaccessFlags;")
  501. cpp_quote(" MiscFlags = miscFlags;")
  502. cpp_quote(" }")
  503. cpp_quote(" ~CD3D10_TEXTURE1D_DESC() {}")
  504. cpp_quote(" operator const D3D10_TEXTURE1D_DESC&() const {")
  505. cpp_quote(" return *this;")
  506. cpp_quote(" }")
  507. cpp_quote("};")
  508. cpp_quote("#endif")
  509. typedef struct D3D10_TEXTURE2D_DESC {
  510. UINT Width;
  511. UINT Height;
  512. UINT MipLevels;
  513. UINT ArraySize;
  514. DXGI_FORMAT Format;
  515. DXGI_SAMPLE_DESC SampleDesc;
  516. D3D10_USAGE Usage;
  517. UINT BindFlags;
  518. UINT CPUAccessFlags;
  519. UINT MiscFlags;
  520. } D3D10_TEXTURE2D_DESC;
  521. cpp_quote("#if !defined(D3D10_NO_HELPERS) && defined(__cplusplus)")
  522. cpp_quote("struct CD3D10_TEXTURE2D_DESC : public D3D10_TEXTURE2D_DESC {")
  523. cpp_quote(" CD3D10_TEXTURE2D_DESC() {}" )
  524. cpp_quote(" explicit CD3D10_TEXTURE2D_DESC(const D3D10_TEXTURE2D_DESC &o) : D3D10_TEXTURE2D_DESC(o) {}")
  525. cpp_quote(" explicit CD3D10_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height,")
  526. cpp_quote(" UINT arraySize = 1,")
  527. cpp_quote(" UINT mipLevels = 0,")
  528. cpp_quote(" UINT bindFlags = D3D10_BIND_SHADER_RESOURCE,")
  529. cpp_quote(" D3D10_USAGE usage = D3D10_USAGE_DEFAULT,")
  530. cpp_quote(" UINT cpuaccessFlags = 0,")
  531. cpp_quote(" UINT sampleCount = 1,")
  532. cpp_quote(" UINT sampleQuality = 0,")
  533. cpp_quote(" UINT miscFlags = 0) {")
  534. cpp_quote(" Width = width;" )
  535. cpp_quote(" Height = height;" )
  536. cpp_quote(" MipLevels = mipLevels;" )
  537. cpp_quote(" ArraySize = arraySize;" )
  538. cpp_quote(" Format = format;" )
  539. cpp_quote(" SampleDesc.Count = sampleCount;" )
  540. cpp_quote(" SampleDesc.Quality = sampleQuality;" )
  541. cpp_quote(" Usage = usage;" )
  542. cpp_quote(" BindFlags = bindFlags;" )
  543. cpp_quote(" CPUAccessFlags = cpuaccessFlags;" )
  544. cpp_quote(" MiscFlags = miscFlags;" )
  545. cpp_quote(" }")
  546. cpp_quote(" ~CD3D10_TEXTURE2D_DESC() {}")
  547. cpp_quote(" operator const D3D10_TEXTURE2D_DESC&() const {")
  548. cpp_quote(" return *this;")
  549. cpp_quote(" }")
  550. cpp_quote("};")
  551. cpp_quote("#endif")
  552. typedef struct D3D10_TEXTURE3D_DESC {
  553. UINT Width;
  554. UINT Height;
  555. UINT Depth;
  556. UINT MipLevels;
  557. DXGI_FORMAT Format;
  558. D3D10_USAGE Usage;
  559. UINT BindFlags;
  560. UINT CPUAccessFlags;
  561. UINT MiscFlags;
  562. } D3D10_TEXTURE3D_DESC;
  563. typedef enum D3D10_DSV_DIMENSION
  564. {
  565. D3D10_DSV_DIMENSION_UNKNOWN,
  566. D3D10_DSV_DIMENSION_TEXTURE1D,
  567. D3D10_DSV_DIMENSION_TEXTURE1DARRAY,
  568. D3D10_DSV_DIMENSION_TEXTURE2D,
  569. D3D10_DSV_DIMENSION_TEXTURE2DARRAY,
  570. D3D10_DSV_DIMENSION_TEXTURE2DMS,
  571. D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY,
  572. } D3D10_DSV_DIMENSION;
  573. typedef struct D3D10_TEX1D_DSV {
  574. UINT MipSlice;
  575. } D3D10_TEX1D_DSV;
  576. typedef struct D3D10_TEX1D_ARRAY_DSV {
  577. UINT MipSlice;
  578. UINT FirstArraySlice;
  579. UINT ArraySize;
  580. } D3D10_TEX1D_ARRAY_DSV;
  581. typedef struct D3D10_TEX2D_DSV {
  582. UINT MipSlice;
  583. } D3D10_TEX2D_DSV;
  584. typedef struct D3D10_TEX2D_ARRAY_DSV {
  585. UINT MipSlice;
  586. UINT FirstArraySlice;
  587. UINT ArraySize;
  588. } D3D10_TEX2D_ARRAY_DSV;
  589. typedef struct D3D10_TEX2DMS_DSV {
  590. UINT UnusedField_NothingToDefine;
  591. } D3D10_TEX2DMS_DSV;
  592. typedef struct D3D10_TEX2DMS_ARRAY_DSV {
  593. UINT FirstArraySlice;
  594. UINT ArraySize;
  595. } D3D10_TEX2DMS_ARRAY_DSV;
  596. typedef struct D3D10_DEPTH_STENCIL_VIEW_DESC {
  597. DXGI_FORMAT Format;
  598. D3D10_DSV_DIMENSION ViewDimension;
  599. union {
  600. D3D10_TEX1D_DSV Texture1D;
  601. D3D10_TEX1D_ARRAY_DSV Texture1DArray;
  602. D3D10_TEX2D_DSV Texture2D;
  603. D3D10_TEX2D_ARRAY_DSV Texture2DArray;
  604. D3D10_TEX2DMS_DSV Texture2DMS;
  605. D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray;
  606. };
  607. } D3D10_DEPTH_STENCIL_VIEW_DESC;
  608. typedef enum D3D10_RTV_DIMENSION {
  609. D3D10_RTV_DIMENSION_UNKNOWN,
  610. D3D10_RTV_DIMENSION_BUFFER,
  611. D3D10_RTV_DIMENSION_TEXTURE1D,
  612. D3D10_RTV_DIMENSION_TEXTURE1DARRAY,
  613. D3D10_RTV_DIMENSION_TEXTURE2D,
  614. D3D10_RTV_DIMENSION_TEXTURE2DARRAY,
  615. D3D10_RTV_DIMENSION_TEXTURE2DMS,
  616. D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY,
  617. D3D10_RTV_DIMENSION_TEXTURE3D,
  618. } D3D10_RTV_DIMENSION;
  619. typedef struct D3D10_BUFFER_RTV {
  620. union {
  621. UINT FirstElement;
  622. UINT ElementOffset;
  623. };
  624. union {
  625. UINT NumElements;
  626. UINT ElementWidth;
  627. };
  628. } D3D10_BUFFER_RTV;
  629. typedef struct D3D10_TEX1D_RTV {
  630. UINT MipSlice;
  631. } D3D10_TEX1D_RTV;
  632. typedef struct D3D10_TEX1D_ARRAY_RTV {
  633. UINT MipSlice;
  634. UINT FirstArraySlice;
  635. UINT ArraySize;
  636. } D3D10_TEX1D_ARRAY_RTV;
  637. typedef struct D3D10_TEX2D_RTV {
  638. UINT MipSlice;
  639. } D3D10_TEX2D_RTV;
  640. typedef struct D3D10_TEX2D_ARRAY_RTV {
  641. UINT MipSlice;
  642. UINT FirstArraySlice;
  643. UINT ArraySize;
  644. } D3D10_TEX2D_ARRAY_RTV;
  645. typedef struct D3D10_TEX2DMS_RTV {
  646. UINT UnusedField_NothingToDefine;
  647. } D3D10_TEX2DMS_RTV;
  648. typedef struct D3D10_TEX2DMS_ARRAY_RTV {
  649. UINT FirstArraySlice;
  650. UINT ArraySize;
  651. } D3D10_TEX2DMS_ARRAY_RTV;
  652. typedef struct D3D10_TEX3D_RTV {
  653. UINT MipSlice;
  654. UINT FirstWSlice;
  655. UINT WSize;
  656. } D3D10_TEX3D_RTV;
  657. typedef struct D3D10_RENDER_TARGET_VIEW_DESC {
  658. DXGI_FORMAT Format;
  659. D3D10_RTV_DIMENSION ViewDimension;
  660. union {
  661. D3D10_BUFFER_RTV Buffer;
  662. D3D10_TEX1D_RTV Texture1D;
  663. D3D10_TEX1D_ARRAY_RTV Texture1DArray;
  664. D3D10_TEX2D_RTV Texture2D;
  665. D3D10_TEX2D_ARRAY_RTV Texture2DArray;
  666. D3D10_TEX2DMS_RTV Texture2DMS;
  667. D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray;
  668. D3D10_TEX3D_RTV Texture3D;
  669. };
  670. } D3D10_RENDER_TARGET_VIEW_DESC;
  671. typedef D3D_SRV_DIMENSION D3D10_SRV_DIMENSION;
  672. typedef struct D3D10_BUFFER_SRV {
  673. union {
  674. UINT FirstElement;
  675. UINT ElementOffset;
  676. };
  677. union {
  678. UINT NumElements;
  679. UINT ElementWidth;
  680. };
  681. } D3D10_BUFFER_SRV;
  682. typedef struct D3D10_TEX1D_SRV {
  683. UINT MostDetailedMip;
  684. UINT MipLevels;
  685. } D3D10_TEX1D_SRV;
  686. typedef struct D3D10_TEX1D_ARRAY_SRV {
  687. UINT MostDetailedMip;
  688. UINT MipLevels;
  689. UINT FirstArraySlice;
  690. UINT ArraySize;
  691. } D3D10_TEX1D_ARRAY_SRV;
  692. typedef struct D3D10_TEX2D_SRV {
  693. UINT MostDetailedMip;
  694. UINT MipLevels;
  695. } D3D10_TEX2D_SRV;
  696. typedef struct D3D10_TEX2D_ARRAY_SRV {
  697. UINT MostDetailedMip;
  698. UINT MipLevels;
  699. UINT FirstArraySlice;
  700. UINT ArraySize;
  701. } D3D10_TEX2D_ARRAY_SRV;
  702. typedef struct D3D10_TEX2DMS_SRV {
  703. UINT UnusedField_NothingToDefine;
  704. } D3D10_TEX2DMS_SRV;
  705. typedef struct D3D10_TEX2DMS_ARRAY_SRV {
  706. UINT FirstArraySlice;
  707. UINT ArraySize;
  708. } D3D10_TEX2DMS_ARRAY_SRV;
  709. typedef struct D3D10_TEX3D_SRV {
  710. UINT MostDetailedMip;
  711. UINT MipLevels;
  712. } D3D10_TEX3D_SRV;
  713. typedef struct D3D10_TEXCUBE_SRV {
  714. UINT MostDetailedMip;
  715. UINT MipLevels;
  716. } D3D10_TEXCUBE_SRV;
  717. typedef struct D3D10_SHADER_RESOURCE_VIEW_DESC {
  718. DXGI_FORMAT Format;
  719. D3D10_SRV_DIMENSION ViewDimension;
  720. union {
  721. D3D10_BUFFER_SRV Buffer;
  722. D3D10_TEX1D_SRV Texture1D;
  723. D3D10_TEX1D_ARRAY_SRV Texture1DArray;
  724. D3D10_TEX2D_SRV Texture2D;
  725. D3D10_TEX2D_ARRAY_SRV Texture2DArray;
  726. D3D10_TEX2DMS_SRV Texture2DMS;
  727. D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray;
  728. D3D10_TEX3D_SRV Texture3D;
  729. D3D10_TEXCUBE_SRV TextureCube;
  730. };
  731. } D3D10_SHADER_RESOURCE_VIEW_DESC;
  732. typedef struct D3D10_BOX {
  733. UINT left;
  734. UINT top;
  735. UINT front;
  736. UINT right;
  737. UINT bottom;
  738. UINT back;
  739. } D3D10_BOX;
  740. typedef struct D3D10_SUBRESOURCE_DATA {
  741. const void *pSysMem;
  742. UINT SysMemPitch;
  743. UINT SysMemSlicePitch;
  744. } D3D10_SUBRESOURCE_DATA;
  745. typedef struct D3D10_SO_DECLARATION_ENTRY
  746. {
  747. const char *SemanticName;
  748. UINT SemanticIndex;
  749. BYTE StartComponent;
  750. BYTE ComponentCount;
  751. BYTE OutputSlot;
  752. } D3D10_SO_DECLARATION_ENTRY;
  753. typedef enum D3D10_INPUT_CLASSIFICATION {
  754. D3D10_INPUT_PER_VERTEX_DATA,
  755. D3D10_INPUT_PER_INSTANCE_DATA,
  756. } D3D10_INPUT_CLASSIFICATION;
  757. typedef struct D3D10_INPUT_ELEMENT_DESC
  758. {
  759. const char *SemanticName;
  760. UINT SemanticIndex;
  761. DXGI_FORMAT Format;
  762. UINT InputSlot;
  763. UINT AlignedByteOffset;
  764. D3D10_INPUT_CLASSIFICATION InputSlotClass;
  765. UINT InstanceDataStepRate;
  766. } D3D10_INPUT_ELEMENT_DESC;
  767. typedef enum D3D10_QUERY {
  768. D3D10_QUERY_EVENT,
  769. D3D10_QUERY_OCCLUSION,
  770. D3D10_QUERY_TIMESTAMP,
  771. D3D10_QUERY_TIMESTAMP_DISJOINT,
  772. D3D10_QUERY_PIPELINE_STATISTICS,
  773. D3D10_QUERY_OCCLUSION_PREDICATE,
  774. D3D10_QUERY_SO_STATISTICS,
  775. D3D10_QUERY_SO_OVERFLOW_PREDICATE,
  776. } D3D10_QUERY;
  777. typedef struct D3D10_QUERY_DESC {
  778. D3D10_QUERY Query;
  779. UINT MiscFlags;
  780. } D3D10_QUERY_DESC;
  781. typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY;
  782. typedef D3D_PRIMITIVE D3D10_PRIMITIVE;
  783. typedef RECT D3D10_RECT;
  784. typedef struct D3D10_VIEWPORT {
  785. INT TopLeftX;
  786. INT TopLeftY;
  787. UINT Width;
  788. UINT Height;
  789. FLOAT MinDepth;
  790. FLOAT MaxDepth;
  791. } D3D10_VIEWPORT;
  792. typedef struct D3D10_MAPPED_TEXTURE2D {
  793. void *pData;
  794. UINT RowPitch;
  795. } D3D10_MAPPED_TEXTURE2D;
  796. typedef struct D3D10_MAPPED_TEXTURE3D {
  797. void *pData;
  798. UINT RowPitch;
  799. UINT DepthPitch;
  800. } D3D10_MAPPED_TEXTURE3D;
  801. typedef enum D3D10_CPU_ACCESS_FLAG {
  802. D3D10_CPU_ACCESS_WRITE = 0x10000,
  803. D3D10_CPU_ACCESS_READ = 0x20000
  804. } D3D10_CPU_ACCESS_FLAG;
  805. typedef enum D3D10_RESOURCE_MISC_FLAG {
  806. D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x0001,
  807. D3D10_RESOURCE_MISC_SHARED = 0x0002,
  808. D3D10_RESOURCE_MISC_TEXTURECUBE = 0x0004,
  809. D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x0010,
  810. D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x0020
  811. } D3D10_RESOURCE_MISC_FLAG;
  812. typedef enum D3D10_MAP_FLAG {
  813. D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000,
  814. } D3D10_MAP_FLAG;
  815. typedef enum D3D10_RAISE_FLAG {
  816. D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1,
  817. } D3D10_RAISE_FLAG;
  818. typedef enum D3D10_CLEAR_FLAG {
  819. D3D10_CLEAR_DEPTH = 0x1,
  820. D3D10_CLEAR_STENCIL = 0x2
  821. } D3D10_CLEAR_FLAG;
  822. typedef enum D3D10_COLOR_WRITE_ENABLE {
  823. D3D10_COLOR_WRITE_ENABLE_RED = 0x1,
  824. D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2,
  825. D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4,
  826. D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8,
  827. D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN |
  828. D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA)
  829. } D3D10_COLOR_WRITE_ENABLE;
  830. typedef enum D3D10_FORMAT_SUPPORT
  831. {
  832. D3D10_FORMAT_SUPPORT_BUFFER = 0x00000001,
  833. D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x00000002,
  834. D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x00000004,
  835. D3D10_FORMAT_SUPPORT_SO_BUFFER = 0x00000008,
  836. D3D10_FORMAT_SUPPORT_TEXTURE1D = 0x00000010,
  837. D3D10_FORMAT_SUPPORT_TEXTURE2D = 0x00000020,
  838. D3D10_FORMAT_SUPPORT_TEXTURE3D = 0x00000040,
  839. D3D10_FORMAT_SUPPORT_TEXTURECUBE = 0x00000080,
  840. D3D10_FORMAT_SUPPORT_SHADER_LOAD = 0x00000100,
  841. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = 0x00000200,
  842. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x00000400,
  843. D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x00000800,
  844. D3D10_FORMAT_SUPPORT_MIP = 0x00001000,
  845. D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = 0x00002000,
  846. D3D10_FORMAT_SUPPORT_RENDER_TARGET = 0x00004000,
  847. D3D10_FORMAT_SUPPORT_BLENDABLE = 0x00008000,
  848. D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = 0x00010000,
  849. D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = 0x00020000,
  850. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x00040000,
  851. D3D10_FORMAT_SUPPORT_DISPLAY = 0x00080000,
  852. D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x00100000,
  853. D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x00200000,
  854. D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x00400000,
  855. D3D10_FORMAT_SUPPORT_SHADER_GATHER = 0x00800000,
  856. D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x01000000,
  857. } D3D10_FORMAT_SUPPORT;
  858. typedef enum D3D10_TEXTURECUBE_FACE {
  859. D3D10_TEXTURECUBE_FACE_POSITIVE_X,
  860. D3D10_TEXTURECUBE_FACE_NEGATIVE_X,
  861. D3D10_TEXTURECUBE_FACE_POSITIVE_Y,
  862. D3D10_TEXTURECUBE_FACE_NEGATIVE_Y,
  863. D3D10_TEXTURECUBE_FACE_POSITIVE_Z,
  864. D3D10_TEXTURECUBE_FACE_NEGATIVE_Z,
  865. } D3D10_TEXTURECUBE_FACE;
  866. typedef enum D3D10_ASYNC_GETDATA_FLAG {
  867. D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1,
  868. } D3D10_ASYNC_GETDATA_FLAG;
  869. typedef enum D3D10_FILTER_TYPE {
  870. D3D10_FILTER_TYPE_POINT,
  871. D3D10_FILTER_TYPE_LINEAR
  872. } D3D10_FILTER_TYPE;
  873. typedef enum D3D10_QUERY_MISC_FLAG {
  874. D3D10_QUERY_MISC_PREDICATEHINT = 0x1
  875. } D3D10_QUERY_MISC_FLAG;
  876. typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT {
  877. UINT64 Frequency;
  878. BOOL Disjoint;
  879. } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT;
  880. typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS {
  881. UINT64 IAVertices;
  882. UINT64 IAPrimitives;
  883. UINT64 VSInvocations;
  884. UINT64 GSInvocations;
  885. UINT64 GSPrimitives;
  886. UINT64 CInvocations;
  887. UINT64 CPrimitives;
  888. UINT64 PSInvocations;
  889. } D3D10_QUERY_DATA_PIPELINE_STATISTICS;
  890. typedef struct D3D10_QUERY_DATA_SO_STATISTICS {
  891. UINT64 NumPrimitivesWritten;
  892. UINT64 PrimitivesStorageNeeded;
  893. } D3D10_QUERY_DATA_SO_STATISTICS;
  894. typedef enum D3D10_CREATE_DEVICE_FLAG {
  895. D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1,
  896. D3D10_CREATE_DEVICE_DEBUG = 0x2,
  897. D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4,
  898. D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8,
  899. D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10,
  900. D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20,
  901. D3D10_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80,
  902. D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x200,
  903. D3D10_CREATE_DEVICE_DEBUGGABLE = 0x400,
  904. } D3D10_CREATE_DEVICE_FLAG;
  905. /* Core */
  906. interface ID3D10Device;
  907. [
  908. object,
  909. local,
  910. uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0)
  911. ]
  912. interface ID3D10DeviceChild : IUnknown
  913. {
  914. void GetDevice(
  915. [out] ID3D10Device **ppDevice);
  916. HRESULT GetPrivateData(
  917. [in] REFGUID guid,
  918. [in, out] UINT *pDataSize,
  919. [out] void *pData);
  920. HRESULT SetPrivateData(
  921. [in] REFGUID guid,
  922. [in] UINT DataSize,
  923. [in] const void *pData);
  924. HRESULT SetPrivateDataInterface(
  925. [in] REFGUID guid,
  926. [in] const IUnknown *pData);
  927. }
  928. /* Resource */
  929. [
  930. object,
  931. local,
  932. uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0)
  933. ]
  934. interface ID3D10Resource : ID3D10DeviceChild
  935. {
  936. void GetType(
  937. [out] D3D10_RESOURCE_DIMENSION *rType);
  938. void SetEvictionPriority(
  939. [in] UINT EvictionPriority);
  940. UINT GetEvictionPriority();
  941. }
  942. [
  943. object,
  944. local,
  945. uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0)
  946. ]
  947. interface ID3D10Buffer : ID3D10Resource
  948. {
  949. HRESULT Map(
  950. [in] D3D10_MAP MapType,
  951. [in] UINT MapFlags,
  952. [out] void **ppData);
  953. void Unmap();
  954. void GetDesc(
  955. [out] D3D10_BUFFER_DESC *pDesc);
  956. }
  957. [
  958. object,
  959. local,
  960. uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0)
  961. ]
  962. interface ID3D10Texture1D : ID3D10Resource
  963. {
  964. HRESULT Map(
  965. [in] UINT Subresource,
  966. [in] D3D10_MAP MapType,
  967. [in] UINT MapFlags,
  968. [out] void **ppData);
  969. void Unmap(
  970. [in] UINT Subresource);
  971. void GetDesc(
  972. [out] D3D10_TEXTURE1D_DESC *pDesc);
  973. }
  974. [
  975. object,
  976. local,
  977. uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0)
  978. ]
  979. interface ID3D10Texture2D : ID3D10Resource
  980. {
  981. HRESULT Map(
  982. [in] UINT Subresource,
  983. [in] D3D10_MAP MapType,
  984. [in] UINT MapFlags,
  985. [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D);
  986. void Unmap(
  987. [in] UINT Subresource);
  988. void GetDesc(
  989. [out] D3D10_TEXTURE2D_DESC *pDesc);
  990. }
  991. [
  992. object,
  993. local,
  994. uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0)
  995. ]
  996. interface ID3D10Texture3D : ID3D10Resource
  997. {
  998. HRESULT Map(
  999. [in] UINT Subresource,
  1000. [in] D3D10_MAP MapType,
  1001. [in] UINT MapFlags,
  1002. [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D);
  1003. void Unmap(
  1004. [in] UINT Subresource);
  1005. void GetDesc(
  1006. [out] D3D10_TEXTURE3D_DESC *pDesc);
  1007. }
  1008. [
  1009. object,
  1010. local,
  1011. uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33)
  1012. ]
  1013. interface ID3D10View : ID3D10DeviceChild
  1014. {
  1015. void GetResource(
  1016. [out] ID3D10Resource **ppResource);
  1017. }
  1018. [
  1019. object,
  1020. local,
  1021. uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0)
  1022. ]
  1023. interface ID3D10DepthStencilView : ID3D10View
  1024. {
  1025. void GetDesc(
  1026. [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc);
  1027. }
  1028. [
  1029. object,
  1030. local,
  1031. uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0)
  1032. ]
  1033. interface ID3D10RenderTargetView : ID3D10View
  1034. {
  1035. void GetDesc(
  1036. [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc);
  1037. }
  1038. [
  1039. object,
  1040. local,
  1041. uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0)
  1042. ]
  1043. interface ID3D10ShaderResourceView : ID3D10View
  1044. {
  1045. void GetDesc(
  1046. [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc);
  1047. }
  1048. /* Resource End */
  1049. [
  1050. object,
  1051. local,
  1052. uuid(edad8d19-8a35-4d6d-8566-2ea276cde161)
  1053. ]
  1054. interface ID3D10BlendState : ID3D10DeviceChild
  1055. {
  1056. void GetDesc(
  1057. [out] D3D10_BLEND_DESC *pDesc);
  1058. }
  1059. [
  1060. object,
  1061. local,
  1062. uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675)
  1063. ]
  1064. interface ID3D10DepthStencilState : ID3D10DeviceChild
  1065. {
  1066. void GetDesc(
  1067. [out] D3D10_DEPTH_STENCIL_DESC *pDesc);
  1068. }
  1069. [
  1070. object,
  1071. local,
  1072. uuid(6316be88-54cd-4040-ab44-20461bc81f68)
  1073. ]
  1074. interface ID3D10GeometryShader : ID3D10DeviceChild
  1075. {
  1076. }
  1077. [
  1078. object,
  1079. local,
  1080. uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0)
  1081. ]
  1082. interface ID3D10InputLayout : ID3D10DeviceChild
  1083. {
  1084. }
  1085. [
  1086. object,
  1087. local,
  1088. uuid(4968b601-9d00-4cde-8346-8e7f675819b6)
  1089. ]
  1090. interface ID3D10PixelShader : ID3D10DeviceChild
  1091. {
  1092. }
  1093. [
  1094. object,
  1095. local,
  1096. uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f)
  1097. ]
  1098. interface ID3D10RasterizerState : ID3D10DeviceChild
  1099. {
  1100. void GetDesc(
  1101. [out] D3D10_RASTERIZER_DESC *pDesc);
  1102. }
  1103. [
  1104. object,
  1105. local,
  1106. uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0)
  1107. ]
  1108. interface ID3D10SamplerState : ID3D10DeviceChild
  1109. {
  1110. void GetDesc(
  1111. [out] D3D10_SAMPLER_DESC *pDesc);
  1112. }
  1113. [
  1114. object,
  1115. local,
  1116. uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0)
  1117. ]
  1118. interface ID3D10VertexShader : ID3D10DeviceChild
  1119. {
  1120. }
  1121. [
  1122. object,
  1123. local,
  1124. uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0)
  1125. ]
  1126. interface ID3D10Asynchronous : ID3D10DeviceChild
  1127. {
  1128. void Begin();
  1129. void End();
  1130. HRESULT GetData(
  1131. [out] void *pData,
  1132. [in] UINT DataSize,
  1133. [in] UINT GetDataFlags);
  1134. UINT GetDataSize();
  1135. }
  1136. [
  1137. object,
  1138. local,
  1139. uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0)
  1140. ]
  1141. interface ID3D10Counter : ID3D10Asynchronous
  1142. {
  1143. void GetDesc(
  1144. [out] D3D10_COUNTER_DESC *pDesc);
  1145. }
  1146. [
  1147. object,
  1148. local,
  1149. uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0)
  1150. ]
  1151. interface ID3D10Query : ID3D10Asynchronous
  1152. {
  1153. void GetDesc(
  1154. [out] D3D10_QUERY_DESC *pDesc);
  1155. }
  1156. [
  1157. object,
  1158. local,
  1159. uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0)
  1160. ]
  1161. interface ID3D10Predicate : ID3D10Query
  1162. {
  1163. }
  1164. [
  1165. object,
  1166. local,
  1167. uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0)
  1168. ]
  1169. interface ID3D10Device : IUnknown
  1170. {
  1171. void VSSetConstantBuffers(
  1172. [in] UINT StartSlot,
  1173. [in] UINT NumBuffers,
  1174. [in] ID3D10Buffer *const *ppConstantBuffers);
  1175. void PSSetShaderResources(
  1176. [in] UINT StartSlot,
  1177. [in] UINT NumViews,
  1178. [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
  1179. void PSSetShader(
  1180. [in] ID3D10PixelShader *pPixelShader);
  1181. void PSSetSamplers(
  1182. [in] UINT StartSlot,
  1183. [in] UINT NumSamplers,
  1184. [in]ID3D10SamplerState *const *ppSamplers);
  1185. void VSSetShader(
  1186. [in] ID3D10VertexShader *pVertexShader);
  1187. void DrawIndexed(
  1188. [in] UINT IndexCount,
  1189. [in] UINT StartIndexLocation,
  1190. [in] INT BaseVertexLocation);
  1191. void Draw(
  1192. [in] UINT VertexCount,
  1193. [in] UINT StartVertexLocation);
  1194. void PSSetConstantBuffers(
  1195. [in] UINT StartSlot,
  1196. [in] UINT NumBuffers,
  1197. [in] ID3D10Buffer *const *ppConstantBuffers);
  1198. void IASetInputLayout(
  1199. [in] ID3D10InputLayout *pInputLayout);
  1200. void IASetVertexBuffers(
  1201. [in] UINT StartSlot,
  1202. [in] UINT NumBuffers,
  1203. [in] ID3D10Buffer *const *ppVertexBuffers,
  1204. [in] const UINT *pStrides,
  1205. [in] const UINT *pOffsets);
  1206. void IASetIndexBuffer(
  1207. [in] ID3D10Buffer *pIndexBuffer,
  1208. [in] DXGI_FORMAT Format,
  1209. [in] UINT Offset);
  1210. void DrawIndexedInstanced(
  1211. [in] UINT IndexCountPerInstance,
  1212. [in] UINT InstanceCount,
  1213. [in] UINT StartIndexLocation,
  1214. [in] INT BaseVertexLocation,
  1215. [in] UINT StartInstanceLocation);
  1216. void DrawInstanced(
  1217. [in] UINT VertexCountPerInstance,
  1218. [in] UINT InstanceCount,
  1219. [in] UINT StartVertexLocation,
  1220. [in] UINT StartInstanceLocation);
  1221. void GSSetConstantBuffers(
  1222. [in] UINT StartSlot,
  1223. [in] UINT NumBuffers,
  1224. [in] ID3D10Buffer *const *ppConstantBuffers);
  1225. void GSSetShader(
  1226. [in] ID3D10GeometryShader *pShader);
  1227. void IASetPrimitiveTopology(
  1228. [in] D3D10_PRIMITIVE_TOPOLOGY Topology);
  1229. void VSSetShaderResources(
  1230. [in] UINT StartSlot,
  1231. [in] UINT NumViews,
  1232. [in] ID3D10ShaderResourceView *const *ppShaderResourceViews);
  1233. void VSSetSamplers(
  1234. [in] UINT StartSlot,
  1235. [in] UINT NumSamplers,
  1236. [in] ID3D10SamplerState *const *ppSamplers);
  1237. void SetPredication(
  1238. [in] ID3D10Predicate *pPredicate,
  1239. [in] BOOL PredicateValue);
  1240. void GSSetShaderResources(
  1241. [in] UINT StartSlot,
  1242. [in] UINT NumViews,
  1243. [in] ID3D10ShaderResourceView * const *ppShaderResourceViews);
  1244. void GSSetSamplers(
  1245. [in] UINT StartSlot,
  1246. [in] UINT NumSamplers,
  1247. [in] ID3D10SamplerState *const *ppSamplers);
  1248. void OMSetRenderTargets(
  1249. [in] UINT NumViews,
  1250. [in] ID3D10RenderTargetView *const *ppRenderTargetViews,
  1251. [in] ID3D10DepthStencilView *pDepthStencilView);
  1252. void OMSetBlendState(
  1253. [in] ID3D10BlendState *pBlendState,
  1254. [in] const FLOAT BlendFactor[4],
  1255. [in] UINT SampleMask);
  1256. void OMSetDepthStencilState(
  1257. [in] ID3D10DepthStencilState *pDepthStencilState,
  1258. [in] UINT StencilRef);
  1259. void SOSetTargets(
  1260. [in] UINT NumBuffers,
  1261. [in] ID3D10Buffer *const *ppSOTargets,
  1262. [in] const UINT *pOffsets);
  1263. void DrawAuto();
  1264. void RSSetState(
  1265. [in] ID3D10RasterizerState *pRasterizerState);
  1266. void RSSetViewports(
  1267. [in] UINT NumViewports,
  1268. [in] const D3D10_VIEWPORT *pViewports);
  1269. void RSSetScissorRects(
  1270. [in] UINT NumRects,
  1271. [in] const D3D10_RECT *pRects);
  1272. void CopySubresourceRegion(
  1273. [in] ID3D10Resource *pDstResource,
  1274. [in] UINT DstSubresource,
  1275. [in] UINT DstX,
  1276. [in] UINT DstY,
  1277. [in] UINT DstZ,
  1278. [in] ID3D10Resource *pSrcResource,
  1279. [in] UINT SrcSubresource,
  1280. [in] const D3D10_BOX *pSrcBox);
  1281. void CopyResource(
  1282. [in] ID3D10Resource *pDstResource,
  1283. [in] ID3D10Resource *pSrcResource);
  1284. void UpdateSubresource(
  1285. [in] ID3D10Resource *pDstResource,
  1286. [in] UINT DstSubresource,
  1287. [in] const D3D10_BOX *pDstBox,
  1288. [in] const void *pSrcData,
  1289. [in] UINT SrcRowPitch,
  1290. [in] UINT SrcDepthPitch);
  1291. void ClearRenderTargetView(
  1292. [in] ID3D10RenderTargetView *pRenderTargetView,
  1293. [in] const FLOAT ColorRGBA[4]);
  1294. void ClearDepthStencilView(
  1295. [in] ID3D10DepthStencilView *pDepthStencilView,
  1296. [in] UINT ClearFlags,
  1297. [in] FLOAT Depth,
  1298. [in] UINT8 Stencil);
  1299. void GenerateMips(
  1300. [in] ID3D10ShaderResourceView *pShaderResourceView);
  1301. void ResolveSubresource(
  1302. [in] ID3D10Resource *pDstResource,
  1303. [in] UINT DstSubresource,
  1304. [in] ID3D10Resource *pSrcResource,
  1305. [in] UINT SrcSubresource,
  1306. [in] DXGI_FORMAT Format);
  1307. void VSGetConstantBuffers(
  1308. [in] UINT StartSlot,
  1309. [in] UINT NumBuffers,
  1310. [out] ID3D10Buffer **ppConstantBuffers);
  1311. void PSGetShaderResources(
  1312. [in] UINT StartSlot,
  1313. [in] UINT NumViews,
  1314. [out] ID3D10ShaderResourceView **ppShaderResourceViews);
  1315. void PSGetShader(
  1316. [out] ID3D10PixelShader **ppPixelShader);
  1317. void PSGetSamplers(
  1318. [in] UINT StartSlot,
  1319. [in] UINT NumSamplers,
  1320. [out] ID3D10SamplerState **ppSamplers);
  1321. void VSGetShader(
  1322. [out] ID3D10VertexShader **ppVertexShader);
  1323. void PSGetConstantBuffers(
  1324. [in] UINT StartSlot,
  1325. [in] UINT NumBuffers,
  1326. [out] ID3D10Buffer **ppConstantBuffers);
  1327. void IAGetInputLayout(
  1328. [out] ID3D10InputLayout **ppInputLayout);
  1329. void IAGetVertexBuffers(
  1330. [in] UINT StartSlot,
  1331. [in] UINT NumBuffers,
  1332. [out] ID3D10Buffer **ppVertexBuffers,
  1333. [out] UINT *pStrides,
  1334. [out] UINT *pOffsets);
  1335. void IAGetIndexBuffer(
  1336. [out] ID3D10Buffer **pIndexBuffer,
  1337. [out] DXGI_FORMAT *Format,
  1338. [out] UINT *Offset);
  1339. void GSGetConstantBuffers(
  1340. [in] UINT StartSlot,
  1341. [in] UINT NumBuffers,
  1342. [out] ID3D10Buffer **ppConstantBuffers);
  1343. void GSGetShader(
  1344. [out] ID3D10GeometryShader **ppGeometryShader);
  1345. void IAGetPrimitiveTopology(
  1346. [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology);
  1347. void VSGetShaderResources(
  1348. [in] UINT StartSlot,
  1349. [in] UINT NumViews,
  1350. [out] ID3D10ShaderResourceView **ppShaderResourceViews);
  1351. void VSGetSamplers(
  1352. [in] UINT StartSlot,
  1353. [in] UINT NumSamplers,
  1354. [out] ID3D10SamplerState **ppSamplers);
  1355. void GetPredication(
  1356. [out] ID3D10Predicate **ppPredicate,
  1357. [out] BOOL *pPredicateValue);
  1358. void GSGetShaderResources(
  1359. [in] UINT StartSlot,
  1360. [in] UINT NumViews,
  1361. [out] ID3D10ShaderResourceView **ppShaderResourceViews);
  1362. void GSGetSamplers(
  1363. [in] UINT StartSlot,
  1364. [in] UINT NumSamplers,
  1365. [out] ID3D10SamplerState **ppSamplers);
  1366. void OMGetRenderTargets(
  1367. [in] UINT NumViews,
  1368. [out] ID3D10RenderTargetView **ppRenderTargetViews,
  1369. [out] ID3D10DepthStencilView **ppDepthStencilView);
  1370. void OMGetBlendState(
  1371. [out] ID3D10BlendState **ppBlendState,
  1372. [out] FLOAT BlendFactor[4],
  1373. [out] UINT *pSampleMask);
  1374. void OMGetDepthStencilState(
  1375. [out] ID3D10DepthStencilState **ppDepthStencilState,
  1376. [out] UINT *pStencilRef);
  1377. void SOGetTargets(
  1378. [in] UINT NumBuffers,
  1379. [out] ID3D10Buffer **ppSOTargets,
  1380. [out] UINT *pOffsets);
  1381. void RSGetState(
  1382. [out] ID3D10RasterizerState **ppRasterizerState);
  1383. void RSGetViewports(
  1384. [in, out] UINT *NumViewports,
  1385. [out] D3D10_VIEWPORT *pViewports);
  1386. void RSGetScissorRects(
  1387. [in, out] UINT *NumRects,
  1388. [out] D3D10_RECT *pRects);
  1389. HRESULT GetDeviceRemovedReason();
  1390. HRESULT SetExceptionMode(
  1391. [in] UINT RaiseFlags);
  1392. UINT GetExceptionMode();
  1393. HRESULT GetPrivateData(
  1394. [in] REFGUID guid,
  1395. [in, out] UINT *pDataSize,
  1396. [out] void *pData);
  1397. HRESULT SetPrivateData(
  1398. [in] REFGUID guid,
  1399. [in] UINT DataSize,
  1400. [in] const void *pData);
  1401. HRESULT SetPrivateDataInterface(
  1402. [in] REFGUID guid,
  1403. [in] const IUnknown *pData);
  1404. void ClearState();
  1405. void Flush();
  1406. HRESULT CreateBuffer(
  1407. [in] const D3D10_BUFFER_DESC *pDesc,
  1408. [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
  1409. [out] ID3D10Buffer **ppBuffer);
  1410. HRESULT CreateTexture1D(
  1411. [in] const D3D10_TEXTURE1D_DESC *pDesc,
  1412. [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
  1413. [out] ID3D10Texture1D **ppTexture1D);
  1414. HRESULT CreateTexture2D(
  1415. [in] const D3D10_TEXTURE2D_DESC *pDesc,
  1416. [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
  1417. [out] ID3D10Texture2D **ppTexture2D);
  1418. HRESULT CreateTexture3D(
  1419. [in] const D3D10_TEXTURE3D_DESC *pDesc,
  1420. [in] const D3D10_SUBRESOURCE_DATA *pInitialData,
  1421. [out] ID3D10Texture3D **ppTexture3D);
  1422. HRESULT CreateShaderResourceView(
  1423. [in] ID3D10Resource *pResource,
  1424. [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc,
  1425. [out] ID3D10ShaderResourceView **ppSRView);
  1426. HRESULT CreateRenderTargetView(
  1427. [in] ID3D10Resource *pResource,
  1428. [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc,
  1429. [out] ID3D10RenderTargetView **ppRTView);
  1430. HRESULT CreateDepthStencilView(
  1431. [in] ID3D10Resource *pResource,
  1432. [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc,
  1433. [out] ID3D10DepthStencilView **ppDepthStencilView);
  1434. HRESULT CreateInputLayout(
  1435. [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs,
  1436. [in] UINT NumElements,
  1437. [in] const void *pShaderBytecodeWithInputSignature,
  1438. [in] SIZE_T BytecodeLength,
  1439. [out] ID3D10InputLayout **ppInputLayout);
  1440. HRESULT CreateVertexShader(
  1441. [in] const void *pShaderBytecode,
  1442. [in] SIZE_T BytecodeLength,
  1443. [out] ID3D10VertexShader **ppVertexShader);
  1444. HRESULT CreateGeometryShader(
  1445. [in] const void *pShaderBytecode,
  1446. [in] SIZE_T BytecodeLength,
  1447. [out] ID3D10GeometryShader **ppGeometryShader);
  1448. HRESULT CreateGeometryShaderWithStreamOutput(
  1449. [in] const void *pShaderBytecode,
  1450. [in] SIZE_T BytecodeLength,
  1451. [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration,
  1452. [in] UINT NumEntries,
  1453. [in] UINT OutputStreamStride,
  1454. [out] ID3D10GeometryShader **ppGeometryShader);
  1455. HRESULT CreatePixelShader(
  1456. [in] const void *pShaderBytecode,
  1457. [in] SIZE_T BytecodeLength,
  1458. [out] ID3D10PixelShader **ppPixelShader);
  1459. HRESULT CreateBlendState(
  1460. [in] const D3D10_BLEND_DESC *pBlendStateDesc,
  1461. [out] ID3D10BlendState **ppBlendState);
  1462. HRESULT CreateDepthStencilState(
  1463. [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc,
  1464. [out] ID3D10DepthStencilState **ppDepthStencilState);
  1465. HRESULT CreateRasterizerState(
  1466. [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc,
  1467. [out] ID3D10RasterizerState **ppRasterizerState);
  1468. HRESULT CreateSamplerState(
  1469. [in] const D3D10_SAMPLER_DESC *pSamplerDesc,
  1470. [out] ID3D10SamplerState **ppSamplerState);
  1471. HRESULT CreateQuery(
  1472. [in] const D3D10_QUERY_DESC *pQueryDesc,
  1473. [out] ID3D10Query **ppQuery);
  1474. HRESULT CreatePredicate(
  1475. [in] const D3D10_QUERY_DESC *pPredicateDesc,
  1476. [out] ID3D10Predicate **ppPredicate);
  1477. HRESULT CreateCounter(
  1478. [in] const D3D10_COUNTER_DESC *pCounterDesc,
  1479. [out] ID3D10Counter **ppCounter);
  1480. HRESULT CheckFormatSupport(
  1481. [in] DXGI_FORMAT Format,
  1482. [out] UINT *pFormatSupport);
  1483. HRESULT CheckMultisampleQualityLevels(
  1484. [in] DXGI_FORMAT Format,
  1485. [in] UINT SampleCount,
  1486. [out] UINT *pNumQualityLevels);
  1487. void CheckCounterInfo(
  1488. [out] D3D10_COUNTER_INFO *pCounterInfo);
  1489. HRESULT CheckCounter(
  1490. [in] const D3D10_COUNTER_DESC *pDesc,
  1491. [out] D3D10_COUNTER_TYPE *pType,
  1492. [out] UINT *pActiveCounters,
  1493. [out] char *name,
  1494. [in, out] UINT *pNameLength,
  1495. [out] char *units,
  1496. [in, out] UINT *pUnitsLength,
  1497. [out] char *description,
  1498. [in, out] UINT *pDescriptionLength);
  1499. UINT GetCreationFlags();
  1500. HRESULT OpenSharedResource(
  1501. [in] HANDLE hResource,
  1502. [in] REFIID ReturnedInterface,
  1503. [out] void **ppResource);
  1504. void SetTextFilterSize(
  1505. [in] UINT Width,
  1506. [in] UINT Height);
  1507. void GetTextFilterSize(
  1508. [out] UINT *pWidth,
  1509. [out] UINT *pHeight);
  1510. }
  1511. [
  1512. object,
  1513. local,
  1514. uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0)
  1515. ]
  1516. interface ID3D10Multithread : IUnknown
  1517. {
  1518. void Enter();
  1519. void Leave();
  1520. BOOL SetMultithreadProtected(
  1521. [in] BOOL bMTProtect);
  1522. BOOL GetMultithreadProtected();
  1523. }
  1524. cpp_quote("#ifndef D3D10_IGNORE_SDK_LAYERS")
  1525. cpp_quote("#include \"d3d10sdklayers.h\"")
  1526. cpp_quote("#endif")
  1527. cpp_quote("#include \"d3d10misc.h\"")
  1528. cpp_quote("#include \"d3d10shader.h\"")
  1529. cpp_quote("#include \"d3d10effect.h\"")