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