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 { 800 const char *SemanticName; 801 UINT SemanticIndex; 802 BYTE StartComponent; 803 BYTE ComponentCount; 804 BYTE OutputSlot; 805 } D3D10_SO_DECLARATION_ENTRY; 806 807 typedef enum D3D10_INPUT_CLASSIFICATION { 808 D3D10_INPUT_PER_VERTEX_DATA, 809 D3D10_INPUT_PER_INSTANCE_DATA, 810 } D3D10_INPUT_CLASSIFICATION; 811 812 typedef struct D3D10_INPUT_ELEMENT_DESC 813 { 814 const char *SemanticName; 815 UINT SemanticIndex; 816 DXGI_FORMAT Format; 817 UINT InputSlot; 818 UINT AlignedByteOffset; 819 D3D10_INPUT_CLASSIFICATION InputSlotClass; 820 UINT InstanceDataStepRate; 821 } D3D10_INPUT_ELEMENT_DESC; 822 823 typedef enum D3D10_QUERY { 824 D3D10_QUERY_EVENT, 825 D3D10_QUERY_OCCLUSION, 826 D3D10_QUERY_TIMESTAMP, 827 D3D10_QUERY_TIMESTAMP_DISJOINT, 828 D3D10_QUERY_PIPELINE_STATISTICS, 829 D3D10_QUERY_OCCLUSION_PREDICATE, 830 D3D10_QUERY_SO_STATISTICS, 831 D3D10_QUERY_SO_OVERFLOW_PREDICATE, 832 } D3D10_QUERY; 833 834 typedef struct D3D10_QUERY_DESC { 835 D3D10_QUERY Query; 836 UINT MiscFlags; 837 } D3D10_QUERY_DESC; 838 839 typedef D3D_PRIMITIVE_TOPOLOGY D3D10_PRIMITIVE_TOPOLOGY; 840 841 typedef D3D_PRIMITIVE D3D10_PRIMITIVE; 842 843 typedef RECT D3D10_RECT; 844 845 typedef struct D3D10_VIEWPORT { 846 INT TopLeftX; 847 INT TopLeftY; 848 UINT Width; 849 UINT Height; 850 FLOAT MinDepth; 851 FLOAT MaxDepth; 852 } D3D10_VIEWPORT; 853 854 typedef struct D3D10_MAPPED_TEXTURE2D { 855 void *pData; 856 UINT RowPitch; 857 } D3D10_MAPPED_TEXTURE2D; 858 859 typedef struct D3D10_MAPPED_TEXTURE3D { 860 void *pData; 861 UINT RowPitch; 862 UINT DepthPitch; 863 } D3D10_MAPPED_TEXTURE3D; 864 865 typedef enum D3D10_CPU_ACCESS_FLAG { 866 D3D10_CPU_ACCESS_WRITE = 0x10000, 867 D3D10_CPU_ACCESS_READ = 0x20000 868 } D3D10_CPU_ACCESS_FLAG; 869 870 typedef enum D3D10_RESOURCE_MISC_FLAG { 871 D3D10_RESOURCE_MISC_GENERATE_MIPS = 0x0001, 872 D3D10_RESOURCE_MISC_SHARED = 0x0002, 873 D3D10_RESOURCE_MISC_TEXTURECUBE = 0x0004, 874 D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x0010, 875 D3D10_RESOURCE_MISC_GDI_COMPATIBLE = 0x0020 876 } D3D10_RESOURCE_MISC_FLAG; 877 878 typedef enum D3D10_MAP_FLAG { 879 D3D10_MAP_FLAG_DO_NOT_WAIT = 0x100000, 880 } D3D10_MAP_FLAG; 881 882 typedef enum D3D10_CLEAR_FLAG { 883 D3D10_CLEAR_DEPTH = 0x1, 884 D3D10_CLEAR_STENCIL = 0x2 885 } D3D10_CLEAR_FLAG; 886 887 typedef enum D3D10_COLOR_WRITE_ENABLE { 888 D3D10_COLOR_WRITE_ENABLE_RED = 0x1, 889 D3D10_COLOR_WRITE_ENABLE_GREEN = 0x2, 890 D3D10_COLOR_WRITE_ENABLE_BLUE = 0x4, 891 D3D10_COLOR_WRITE_ENABLE_ALPHA = 0x8, 892 D3D10_COLOR_WRITE_ENABLE_ALL = (D3D10_COLOR_WRITE_ENABLE_RED | D3D10_COLOR_WRITE_ENABLE_GREEN | 893 D3D10_COLOR_WRITE_ENABLE_BLUE | D3D10_COLOR_WRITE_ENABLE_ALPHA) 894 } D3D10_COLOR_WRITE_ENABLE; 895 896 typedef enum D3D10_TEXTURECUBE_FACE { 897 D3D10_TEXTURECUBE_FACE_POSITIVE_X, 898 D3D10_TEXTURECUBE_FACE_NEGATIVE_X, 899 D3D10_TEXTURECUBE_FACE_POSITIVE_Y, 900 D3D10_TEXTURECUBE_FACE_NEGATIVE_Y, 901 D3D10_TEXTURECUBE_FACE_POSITIVE_Z, 902 D3D10_TEXTURECUBE_FACE_NEGATIVE_Z, 903 } D3D10_TEXTURECUBE_FACE; 904 905 typedef enum D3D10_ASYNC_GETDATA_FLAG { 906 D3D10_ASYNC_GETDATA_DONOTFLUSH = 0x1, 907 } D3D10_ASYNC_GETDATA_FLAG; 908 909 typedef enum D3D10_FILTER_TYPE { 910 D3D10_FILTER_TYPE_POINT, 911 D3D10_FILTER_TYPE_LINEAR 912 } D3D10_FILTER_TYPE; 913 914 typedef enum D3D10_QUERY_MISC_FLAG { 915 D3D10_QUERY_MISC_PREDICATEHINT = 0x1 916 } D3D10_QUERY_MISC_FLAG; 917 918 typedef struct D3D10_QUERY_DATA_TIMESTAMP_DISJOINT { 919 UINT64 Frequency; 920 BOOL Disjoint; 921 } D3D10_QUERY_DATA_TIMESTAMP_DISJOINT; 922 923 typedef struct D3D10_QUERY_DATA_PIPELINE_STATISTICS { 924 UINT64 IAVertices; 925 UINT64 IAPrimitives; 926 UINT64 VSInvocations; 927 UINT64 GSInvocations; 928 UINT64 GSPrimitives; 929 UINT64 CInvocations; 930 UINT64 CPrimitives; 931 UINT64 PSInvocations; 932 } D3D10_QUERY_DATA_PIPELINE_STATISTICS; 933 934 typedef struct D3D10_QUERY_DATA_SO_STATISTICS { 935 UINT64 NumPrimitivesWritten; 936 UINT64 PrimitivesStorageNeeded; 937 } D3D10_QUERY_DATA_SO_STATISTICS; 938 939 typedef enum D3D10_CREATE_DEVICE_FLAG { 940 D3D10_CREATE_DEVICE_SINGLETHREADED = 0x1, 941 D3D10_CREATE_DEVICE_DEBUG = 0x2, 942 D3D10_CREATE_DEVICE_SWITCH_TO_REF = 0x4, 943 D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, 944 D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = 0x10, 945 D3D10_CREATE_DEVICE_BGRA_SUPPORT = 0x20, 946 D3D10_CREATE_DEVICE_STRICT_VALIDATION = 0x0200 947 } D3D10_CREATE_DEVICE_FLAG; 948 949 /* Core */ 950 951 interface ID3D10Device; 952 953 [ 954 object, 955 local, 956 uuid(9b7e4c00-342c-4106-a19f-4f2704f689f0) 957 ] 958 interface ID3D10DeviceChild : IUnknown 959 { 960 void GetDevice( 961 [out] ID3D10Device **ppDevice); 962 HRESULT GetPrivateData( 963 [in] REFGUID guid, 964 [in, out] UINT *pDataSize, 965 [out] void *pData); 966 HRESULT SetPrivateData( 967 [in] REFGUID guid, 968 [in] UINT DataSize, 969 [in] const void *pData); 970 HRESULT SetPrivateDataInterface( 971 [in] REFGUID guid, 972 [in] const IUnknown *pData); 973 } 974 975 /* Resource */ 976 977 [ 978 object, 979 local, 980 uuid(9b7e4c01-342c-4106-a19f-4f2704f689f0) 981 ] 982 interface ID3D10Resource : ID3D10DeviceChild 983 { 984 void GetType( 985 [out] D3D10_RESOURCE_DIMENSION *rType); 986 void SetEvictionPriority( 987 [in] UINT EvictionPriority); 988 UINT GetEvictionPriority(); 989 } 990 991 [ 992 object, 993 local, 994 uuid(9b7e4c02-342c-4106-a19f-4f2704f689f0) 995 ] 996 interface ID3D10Buffer : ID3D10Resource 997 { 998 HRESULT Map( 999 [in] D3D10_MAP MapType, 1000 [in] UINT MapFlags, 1001 [out] void **ppData); 1002 void Unmap(); 1003 void GetDesc( 1004 [out] D3D10_BUFFER_DESC *pDesc); 1005 } 1006 1007 [ 1008 object, 1009 local, 1010 uuid(9b7e4c03-342c-4106-a19f-4f2704f689F0) 1011 ] 1012 interface ID3D10Texture1D : ID3D10Resource 1013 { 1014 HRESULT Map( 1015 [in] UINT Subresource, 1016 [in] D3D10_MAP MapType, 1017 [in] UINT MapFlags, 1018 [out] void **ppData); 1019 void Unmap( 1020 [in] UINT Subresource); 1021 void GetDesc( 1022 [out] D3D10_TEXTURE1D_DESC *pDesc); 1023 } 1024 1025 [ 1026 object, 1027 local, 1028 uuid(9b7e4c04-342c-4106-a19f-4f2704f689F0) 1029 ] 1030 interface ID3D10Texture2D : ID3D10Resource 1031 { 1032 HRESULT Map( 1033 [in] UINT Subresource, 1034 [in] D3D10_MAP MapType, 1035 [in] UINT MapFlags, 1036 [out] D3D10_MAPPED_TEXTURE2D *pMappedTex2D); 1037 void Unmap( 1038 [in] UINT Subresource); 1039 void GetDesc( 1040 [out] D3D10_TEXTURE2D_DESC *pDesc); 1041 } 1042 1043 [ 1044 object, 1045 local, 1046 uuid(9b7e4c05-342c-4106-a19f-4f2704f689F0) 1047 ] 1048 interface ID3D10Texture3D : ID3D10Resource 1049 { 1050 HRESULT Map( 1051 [in] UINT Subresource, 1052 [in] D3D10_MAP MapType, 1053 [in] UINT MapFlags, 1054 [out] D3D10_MAPPED_TEXTURE3D *pMappedTex3D); 1055 void Unmap( 1056 [in] UINT Subresource); 1057 void GetDesc( 1058 [out] D3D10_TEXTURE3D_DESC *pDesc); 1059 } 1060 1061 [ 1062 object, 1063 local, 1064 uuid(c902b03f-60a7-49ba-9936-2a3ab37a7e33) 1065 ] 1066 interface ID3D10View : ID3D10DeviceChild 1067 { 1068 void GetResource( 1069 [out] ID3D10Resource **ppResource); 1070 } 1071 1072 [ 1073 object, 1074 local, 1075 uuid(9b7e4c09-342c-4106-a19f-4f2704f689f0) 1076 ] 1077 interface ID3D10DepthStencilView : ID3D10View 1078 { 1079 void GetDesc( 1080 [out] D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc); 1081 } 1082 1083 1084 [ 1085 object, 1086 local, 1087 uuid(9b7e4c08-342c-4106-a19f-4f2704f689f0) 1088 ] 1089 interface ID3D10RenderTargetView : ID3D10View 1090 { 1091 void GetDesc( 1092 [out] D3D10_RENDER_TARGET_VIEW_DESC *pDesc); 1093 } 1094 1095 [ 1096 object, 1097 local, 1098 uuid(9b7e4c07-342c-4106-a19f-4f2704f689f0) 1099 ] 1100 interface ID3D10ShaderResourceView : ID3D10View 1101 { 1102 void GetDesc( 1103 [out] D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc); 1104 } 1105 1106 /* Resource End */ 1107 1108 [ 1109 object, 1110 local, 1111 uuid(edad8d19-8a35-4d6d-8566-2ea276cde161) 1112 ] 1113 interface ID3D10BlendState : ID3D10DeviceChild 1114 { 1115 void GetDesc( 1116 [out] D3D10_BLEND_DESC *pDesc); 1117 } 1118 1119 [ 1120 object, 1121 local, 1122 uuid(2b4b1cc8-a4ad-41f8-8322-ca86fc3ec675) 1123 ] 1124 interface ID3D10DepthStencilState : ID3D10DeviceChild 1125 { 1126 void GetDesc( 1127 [out] D3D10_DEPTH_STENCIL_DESC *pDesc); 1128 } 1129 1130 [ 1131 object, 1132 local, 1133 uuid(6316be88-54cd-4040-ab44-20461bc81f68) 1134 ] 1135 interface ID3D10GeometryShader : ID3D10DeviceChild 1136 { 1137 } 1138 1139 [ 1140 object, 1141 local, 1142 uuid(9b7e4c0b-342c-4106-a19f-4f2704f689f0) 1143 ] 1144 interface ID3D10InputLayout : ID3D10DeviceChild 1145 { 1146 } 1147 1148 [ 1149 object, 1150 local, 1151 uuid(4968b601-9d00-4cde-8346-8e7f675819b6) 1152 ] 1153 interface ID3D10PixelShader : ID3D10DeviceChild 1154 { 1155 } 1156 1157 [ 1158 object, 1159 local, 1160 uuid(a2a07292-89af-4345-be2e-c53d9fbb6e9f) 1161 ] 1162 interface ID3D10RasterizerState : ID3D10DeviceChild 1163 { 1164 void GetDesc( 1165 [out] D3D10_RASTERIZER_DESC *pDesc); 1166 } 1167 1168 [ 1169 object, 1170 local, 1171 uuid(9b7e4c0c-342c-4106-a19f-4f2704f689f0) 1172 ] 1173 interface ID3D10SamplerState : ID3D10DeviceChild 1174 { 1175 void GetDesc( 1176 [out] D3D10_SAMPLER_DESC *pDesc); 1177 } 1178 1179 [ 1180 object, 1181 local, 1182 uuid(9b7e4c0a-342c-4106-a19f-4f2704f689f0) 1183 ] 1184 interface ID3D10VertexShader : ID3D10DeviceChild 1185 { 1186 } 1187 1188 [ 1189 object, 1190 local, 1191 uuid(9b7e4c0d-342c-4106-a19f-4f2704f689f0) 1192 ] 1193 interface ID3D10Asynchronous : ID3D10DeviceChild 1194 { 1195 void Begin(); 1196 void End(); 1197 HRESULT GetData( 1198 [out] void *pData, 1199 [in] UINT DataSize, 1200 [in] UINT GetDataFlags); 1201 UINT GetDataSize(); 1202 } 1203 1204 [ 1205 object, 1206 local, 1207 uuid(9b7e4c11-342c-4106-a19f-4f2704f689f0) 1208 ] 1209 interface ID3D10Counter : ID3D10Asynchronous 1210 { 1211 void GetDesc( 1212 [out] D3D10_COUNTER_DESC *pDesc); 1213 } 1214 1215 [ 1216 object, 1217 local, 1218 uuid(9b7e4C0e-342C-4106-a19f-4f2704f689f0) 1219 ] 1220 interface ID3D10Query : ID3D10Asynchronous 1221 { 1222 void GetDesc( 1223 [out] D3D10_QUERY_DESC *pDesc); 1224 } 1225 1226 [ 1227 object, 1228 local, 1229 uuid(9b7e4c10-342c-4106-a19f-4f2704f689f0) 1230 ] 1231 interface ID3D10Predicate : ID3D10Query 1232 { 1233 } 1234 1235 [ 1236 object, 1237 local, 1238 uuid(9b7e4c0f-342c-4106-a19f-4f2704f689f0) 1239 ] 1240 interface ID3D10Device : IUnknown 1241 { 1242 void VSSetConstantBuffers( 1243 [in] UINT StartSlot, 1244 [in] UINT NumBuffers, 1245 [in] ID3D10Buffer *const *ppConstantBuffers); 1246 void PSSetShaderResources( 1247 [in] UINT StartSlot, 1248 [in] UINT NumViews, 1249 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews); 1250 void PSSetShader( 1251 [in] ID3D10PixelShader *pPixelShader); 1252 void PSSetSamplers( 1253 [in] UINT StartSlot, 1254 [in] UINT NumSamplers, 1255 [in]ID3D10SamplerState *const *ppSamplers); 1256 void VSSetShader( 1257 [in] ID3D10VertexShader *pVertexShader); 1258 void DrawIndexed( 1259 [in] UINT IndexCount, 1260 [in] UINT StartIndexLocation, 1261 [in] INT BaseVertexLocation); 1262 void Draw( 1263 [in] UINT VertexCount, 1264 [in] UINT StartVertexLocation); 1265 void PSSetConstantBuffers( 1266 [in] UINT StartSlot, 1267 [in] UINT NumBuffers, 1268 [in] ID3D10Buffer *const *ppConstantBuffers); 1269 void IASetInputLayout( 1270 [in] ID3D10InputLayout *pInputLayout); 1271 void IASetVertexBuffers( 1272 [in] UINT StartSlot, 1273 [in] UINT NumBuffers, 1274 [in] ID3D10Buffer *const *ppVertexBuffers, 1275 [in] const UINT *pStrides, 1276 [in] const UINT *pOffsets); 1277 void IASetIndexBuffer( 1278 [in] ID3D10Buffer *pIndexBuffer, 1279 [in] DXGI_FORMAT Format, 1280 [in] UINT Offset); 1281 void DrawIndexedInstanced( 1282 [in] UINT IndexCountPerInstance, 1283 [in] UINT InstanceCount, 1284 [in] UINT StartIndexLocation, 1285 [in] INT BaseVertexLocation, 1286 [in] UINT StartInstanceLocation); 1287 void DrawInstanced( 1288 [in] UINT VertexCountPerInstance, 1289 [in] UINT InstanceCount, 1290 [in] UINT StartVertexLocation, 1291 [in] UINT StartInstanceLocation); 1292 void GSSetConstantBuffers( 1293 [in] UINT StartSlot, 1294 [in] UINT NumBuffers, 1295 [in] ID3D10Buffer *const *ppConstantBuffers); 1296 void GSSetShader( 1297 [in] ID3D10GeometryShader *pShader); 1298 void IASetPrimitiveTopology( 1299 [in] D3D10_PRIMITIVE_TOPOLOGY Topology); 1300 void VSSetShaderResources( 1301 [in] UINT StartSlot, 1302 [in] UINT NumViews, 1303 [in] ID3D10ShaderResourceView *const *ppShaderResourceViews); 1304 void VSSetSamplers( 1305 [in] UINT StartSlot, 1306 [in] UINT NumSamplers, 1307 [in] ID3D10SamplerState *const *ppSamplers); 1308 void SetPredication( 1309 [in] ID3D10Predicate *pPredicate, 1310 [in] BOOL PredicateValue); 1311 void GSSetShaderResources( 1312 [in] UINT StartSlot, 1313 [in] UINT NumViews, 1314 [in] ID3D10ShaderResourceView * const *ppShaderResourceViews); 1315 void GSSetSamplers( 1316 [in] UINT StartSlot, 1317 [in] UINT NumSamplers, 1318 [in] ID3D10SamplerState *const *ppSamplers); 1319 void OMSetRenderTargets( 1320 [in] UINT NumViews, 1321 [in] ID3D10RenderTargetView *const *ppRenderTargetViews, 1322 [in] ID3D10DepthStencilView *pDepthStencilView); 1323 void OMSetBlendState( 1324 [in] ID3D10BlendState *pBlendState, 1325 [in] const FLOAT BlendFactor[4], 1326 [in] UINT SampleMask); 1327 void OMSetDepthStencilState( 1328 [in] ID3D10DepthStencilState *pDepthStencilState, 1329 [in] UINT StencilRef); 1330 void SOSetTargets( 1331 [in] UINT NumBuffers, 1332 [in] ID3D10Buffer *const *ppSOTargets, 1333 [in] const UINT *pOffsets); 1334 void DrawAuto(); 1335 void RSSetState( 1336 [in] ID3D10RasterizerState *pRasterizerState); 1337 void RSSetViewports( 1338 [in] UINT NumViewports, 1339 [in] const D3D10_VIEWPORT *pViewports); 1340 void RSSetScissorRects( 1341 [in] UINT NumRects, 1342 [in] const D3D10_RECT *pRects); 1343 void CopySubresourceRegion( 1344 [in] ID3D10Resource *pDstResource, 1345 [in] UINT DstSubresource, 1346 [in] UINT DstX, 1347 [in] UINT DstY, 1348 [in] UINT DstZ, 1349 [in] ID3D10Resource *pSrcResource, 1350 [in] UINT SrcSubresource, 1351 [in] const D3D10_BOX *pSrcBox); 1352 void CopyResource( 1353 [in] ID3D10Resource *pDstResource, 1354 [in] ID3D10Resource *pSrcResource); 1355 void UpdateSubresource( 1356 [in] ID3D10Resource *pDstResource, 1357 [in] UINT DstSubresource, 1358 [in] const D3D10_BOX *pDstBox, 1359 [in] const void *pSrcData, 1360 [in] UINT SrcRowPitch, 1361 [in] UINT SrcDepthPitch); 1362 void ClearRenderTargetView( 1363 [in] ID3D10RenderTargetView *pRenderTargetView, 1364 [in] const FLOAT ColorRGBA[4]); 1365 void ClearDepthStencilView( 1366 [in] ID3D10DepthStencilView *pDepthStencilView, 1367 [in] UINT ClearFlags, 1368 [in] FLOAT Depth, 1369 [in] UINT8 Stencil); 1370 void GenerateMips( 1371 [in] ID3D10ShaderResourceView *pShaderResourceView); 1372 void ResolveSubresource( 1373 [in] ID3D10Resource *pDstResource, 1374 [in] UINT DstSubresource, 1375 [in] ID3D10Resource *pSrcResource, 1376 [in] UINT SrcSubresource, 1377 [in] DXGI_FORMAT Format); 1378 void VSGetConstantBuffers( 1379 [in] UINT StartSlot, 1380 [in] UINT NumBuffers, 1381 [out] ID3D10Buffer **ppConstantBuffers); 1382 void PSGetShaderResources( 1383 [in] UINT StartSlot, 1384 [in] UINT NumViews, 1385 [out] ID3D10ShaderResourceView **ppShaderResourceViews); 1386 void PSGetShader( 1387 [out] ID3D10PixelShader **ppPixelShader); 1388 void PSGetSamplers( 1389 [in] UINT StartSlot, 1390 [in] UINT NumSamplers, 1391 [out] ID3D10SamplerState **ppSamplers); 1392 void VSGetShader( 1393 [out] ID3D10VertexShader **ppVertexShader); 1394 void PSGetConstantBuffers( 1395 [in] UINT StartSlot, 1396 [in] UINT NumBuffers, 1397 [out] ID3D10Buffer **ppConstantBuffers); 1398 void IAGetInputLayout( 1399 [out] ID3D10InputLayout **ppInputLayout); 1400 void IAGetVertexBuffers( 1401 [in] UINT StartSlot, 1402 [in] UINT NumBuffers, 1403 [out] ID3D10Buffer **ppVertexBuffers, 1404 [out] UINT *pStrides, 1405 [out] UINT *pOffsets); 1406 void IAGetIndexBuffer( 1407 [out] ID3D10Buffer **pIndexBuffer, 1408 [out] DXGI_FORMAT *Format, 1409 [out] UINT *Offset); 1410 void GSGetConstantBuffers( 1411 [in] UINT StartSlot, 1412 [in] UINT NumBuffers, 1413 [out] ID3D10Buffer **ppConstantBuffers); 1414 void GSGetShader( 1415 [out] ID3D10GeometryShader **ppGeometryShader); 1416 void IAGetPrimitiveTopology( 1417 [out] D3D10_PRIMITIVE_TOPOLOGY *pTopology); 1418 void VSGetShaderResources( 1419 [in] UINT StartSlot, 1420 [in] UINT NumViews, 1421 [out] ID3D10ShaderResourceView **ppShaderResourceViews); 1422 void VSGetSamplers( 1423 [in] UINT StartSlot, 1424 [in] UINT NumSamplers, 1425 [out] ID3D10SamplerState **ppSamplers); 1426 void GetPredication( 1427 [out] ID3D10Predicate **ppPredicate, 1428 [out] BOOL *pPredicateValue); 1429 void GSGetShaderResources( 1430 [in] UINT StartSlot, 1431 [in] UINT NumViews, 1432 [out] ID3D10ShaderResourceView **ppShaderResourceViews); 1433 void GSGetSamplers( 1434 [in] UINT StartSlot, 1435 [in] UINT NumSamplers, 1436 [out] ID3D10SamplerState **ppSamplers); 1437 void OMGetRenderTargets( 1438 [in] UINT NumViews, 1439 [out] ID3D10RenderTargetView **ppRenderTargetViews, 1440 [out] ID3D10DepthStencilView **ppDepthStencilView); 1441 void OMGetBlendState( 1442 [out] ID3D10BlendState **ppBlendState, 1443 [out] FLOAT BlendFactor[4], 1444 [out] UINT *pSampleMask); 1445 void OMGetDepthStencilState( 1446 [out] ID3D10DepthStencilState **ppDepthStencilState, 1447 [out] UINT *pStencilRef); 1448 void SOGetTargets( 1449 [in] UINT NumBuffers, 1450 [out] ID3D10Buffer **ppSOTargets, 1451 [out] UINT *pOffsets); 1452 void RSGetState( 1453 [out] ID3D10RasterizerState **ppRasterizerState); 1454 void RSGetViewports( 1455 [in, out] UINT *NumViewports, 1456 [out] D3D10_VIEWPORT *pViewports); 1457 void RSGetScissorRects( 1458 [in, out] UINT *NumRects, 1459 [out] D3D10_RECT *pRects); 1460 HRESULT GetDeviceRemovedReason(); 1461 HRESULT SetExceptionMode( 1462 [in] UINT RaiseFlags); 1463 UINT GetExceptionMode(); 1464 HRESULT GetPrivateData( 1465 [in] REFGUID guid, 1466 [in, out] UINT *pDataSize, 1467 [out] void *pData); 1468 HRESULT SetPrivateData( 1469 [in] REFGUID guid, 1470 [in] UINT DataSize, 1471 [in] const void *pData); 1472 HRESULT SetPrivateDataInterface( 1473 [in] REFGUID guid, 1474 [in] const IUnknown *pData); 1475 void ClearState(); 1476 void Flush(); 1477 HRESULT CreateBuffer( 1478 [in] const D3D10_BUFFER_DESC *pDesc, 1479 [in] const D3D10_SUBRESOURCE_DATA *pInitialData, 1480 [out] ID3D10Buffer **ppBuffer); 1481 HRESULT CreateTexture1D( 1482 [in] const D3D10_TEXTURE1D_DESC *pDesc, 1483 [in] const D3D10_SUBRESOURCE_DATA *pInitialData, 1484 [out] ID3D10Texture1D **ppTexture1D); 1485 HRESULT CreateTexture2D( 1486 [in] const D3D10_TEXTURE2D_DESC *pDesc, 1487 [in] const D3D10_SUBRESOURCE_DATA *pInitialData, 1488 [out] ID3D10Texture2D **ppTexture2D); 1489 HRESULT CreateTexture3D( 1490 [in] const D3D10_TEXTURE3D_DESC *pDesc, 1491 [in] const D3D10_SUBRESOURCE_DATA *pInitialData, 1492 [out] ID3D10Texture3D **ppTexture3D); 1493 HRESULT CreateShaderResourceView( 1494 [in] ID3D10Resource *pResource, 1495 [in] const D3D10_SHADER_RESOURCE_VIEW_DESC *pDesc, 1496 [out] ID3D10ShaderResourceView **ppSRView); 1497 HRESULT CreateRenderTargetView( 1498 [in] ID3D10Resource *pResource, 1499 [in] const D3D10_RENDER_TARGET_VIEW_DESC *pDesc, 1500 [out] ID3D10RenderTargetView **ppRTView); 1501 HRESULT CreateDepthStencilView( 1502 [in] ID3D10Resource *pResource, 1503 [in] const D3D10_DEPTH_STENCIL_VIEW_DESC *pDesc, 1504 [out] ID3D10DepthStencilView **ppDepthStencilView); 1505 HRESULT CreateInputLayout( 1506 [in] const D3D10_INPUT_ELEMENT_DESC *pInputElementDescs, 1507 [in] UINT NumElements, 1508 [in] const void *pShaderBytecodeWithInputSignature, 1509 [in] SIZE_T BytecodeLength, 1510 [out] ID3D10InputLayout **ppInputLayout); 1511 HRESULT CreateVertexShader( 1512 [in] const void *pShaderBytecode, 1513 [in] SIZE_T BytecodeLength, 1514 [out] ID3D10VertexShader **ppVertexShader); 1515 HRESULT CreateGeometryShader( 1516 [in] const void *pShaderBytecode, 1517 [in] SIZE_T BytecodeLength, 1518 [out] ID3D10GeometryShader **ppGeometryShader); 1519 HRESULT CreateGeometryShaderWithStreamOutput( 1520 [in] const void *pShaderBytecode, 1521 [in] SIZE_T BytecodeLength, 1522 [in] const D3D10_SO_DECLARATION_ENTRY *pSODeclaration, 1523 [in] UINT NumEntries, 1524 [in] UINT OutputStreamStride, 1525 [out] ID3D10GeometryShader **ppGeometryShader); 1526 HRESULT CreatePixelShader( 1527 [in] const void *pShaderBytecode, 1528 [in] SIZE_T BytecodeLength, 1529 [out] ID3D10PixelShader **ppPixelShader); 1530 HRESULT CreateBlendState( 1531 [in] const D3D10_BLEND_DESC *pBlendStateDesc, 1532 [out] ID3D10BlendState **ppBlendState); 1533 HRESULT CreateDepthStencilState( 1534 [in] const D3D10_DEPTH_STENCIL_DESC *pDepthStencilDesc, 1535 [out] ID3D10DepthStencilState **ppDepthStencilState); 1536 HRESULT CreateRasterizerState( 1537 [in] const D3D10_RASTERIZER_DESC *pRasterizerDesc, 1538 [out] ID3D10RasterizerState **ppRasterizerState); 1539 HRESULT CreateSamplerState( 1540 [in] const D3D10_SAMPLER_DESC *pSamplerDesc, 1541 [out] ID3D10SamplerState **ppSamplerState); 1542 HRESULT CreateQuery( 1543 [in] const D3D10_QUERY_DESC *pQueryDesc, 1544 [out] ID3D10Query **ppQuery); 1545 HRESULT CreatePredicate( 1546 [in] const D3D10_QUERY_DESC *pPredicateDesc, 1547 [out] ID3D10Predicate **ppPredicate); 1548 HRESULT CreateCounter( 1549 [in] const D3D10_COUNTER_DESC *pCounterDesc, 1550 [out] ID3D10Counter **ppCounter); 1551 HRESULT CheckFormatSupport( 1552 [in] DXGI_FORMAT Format, 1553 [out] UINT *pFormatSupport); 1554 HRESULT CheckMultisampleQualityLevels( 1555 [in] DXGI_FORMAT Format, 1556 [in] UINT SampleCount, 1557 [out] UINT *pNumQualityLevels); 1558 void CheckCounterInfo( 1559 [out] D3D10_COUNTER_INFO *pCounterInfo); 1560 HRESULT CheckCounter( 1561 [in] const D3D10_COUNTER_DESC *pDesc, 1562 [out] D3D10_COUNTER_TYPE *pType, 1563 [out] UINT *pActiveCounters, 1564 [out] char *name, 1565 [in, out] UINT *pNameLength, 1566 [out] char *units, 1567 [in, out] UINT *pUnitsLength, 1568 [out] char *description, 1569 [in, out] UINT *pDescriptionLength); 1570 UINT GetCreationFlags(); 1571 HRESULT OpenSharedResource( 1572 [in] HANDLE hResource, 1573 [in] REFIID ReturnedInterface, 1574 [out] void **ppResource); 1575 void SetTextFilterSize( 1576 [in] UINT Width, 1577 [in] UINT Height); 1578 void GetTextFilterSize( 1579 [out] UINT *pWidth, 1580 [out] UINT *pHeight); 1581 } 1582 1583 [ 1584 object, 1585 local, 1586 uuid(9b7e4e00-342c-4106-a19f-4f2704f689f0) 1587 ] 1588 interface ID3D10Multithread : IUnknown 1589 { 1590 void Enter(); 1591 void Leave(); 1592 BOOL SetMultithreadProtected( 1593 [in] BOOL bMTProtect); 1594 BOOL GetMultithreadProtected(); 1595 } 1596 1597 cpp_quote("#ifndef D3D10_IGNORE_SDK_LAYERS") 1598 cpp_quote("/* FIXME: # include <d3d10sdklayers.h> */") 1599 cpp_quote("#endif") 1600 cpp_quote("#include \"d3d10misc.h\"") 1601 cpp_quote("#include \"d3d10shader.h\"") 1602 cpp_quote("#include \"d3d10effect.h\"") 1603