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