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