' ########################################################################################
' Microsoft Windows
' File: D3D10.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_D3D10_PBI)
#DEFINE PBX_D3D10_PBI
%EQUATE `D3D10_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/COM/OCIdl.inc"
#INCLUDE ONCE "Legacy/Graphics/DXGI.inc"
$IID_ID3D10DeviceChild = GUID$("{9B7E4C00-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10DepthStencilState = GUID$("{2B4B1CC8-A4AD-41F8-8322-CA86FC3EC675}")
$IID_ID3D10BlendState = GUID$("{EDAD8D19-8A35-4D6D-8566-2EA276CDE161}")
$IID_ID3D10RasterizerState = GUID$("{A2A07292-89AF-4345-BE2E-C53D9FBB6E9F}")
$IID_ID3D10Resource = GUID$("{9B7E4C01-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Buffer = GUID$("{9B7E4C02-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Texture1D = GUID$("{9B7E4C03-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Texture2D = GUID$("{9B7E4C04-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Texture3D = GUID$("{9B7E4C05-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10View = GUID$("{C902B03F-60A7-49BA-9936-2A3AB37A7E33}")
$IID_ID3D10ShaderResourceView = GUID$("{9B7E4C07-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10RenderTargetView = GUID$("{9B7E4C08-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10DepthStencilView = GUID$("{9B7E4C09-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10VertexShader = GUID$("{9B7E4C0A-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10GeometryShader = GUID$("{6316BE88-54CD-4040-AB44-20461BC81F68}")
$IID_ID3D10PixelShader = GUID$("{4968B601-9D00-4CDE-8346-8E7F675819B6}")
$IID_ID3D10InputLayout = GUID$("{9B7E4C0B-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10SamplerState = GUID$("{9B7E4C0C-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Asynchronous = GUID$("{9B7E4C0D-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Query = GUID$("{9B7E4C0E-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Predicate = GUID$("{9B7E4C10-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Counter = GUID$("{9B7E4C11-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Device = GUID$("{9B7E4C0F-342C-4106-A19F-4F2704F689F0}")
$IID_ID3D10Multithread = GUID$("{9B7E4E00-342C-4106-A19F-4F2704F689F0}")
#IF NOT %DEF(%D3D10_CONSTANTS)
 %D3D10_CONSTANTS = 1
%EQUATE `D3D10_16BIT_INDEX_STRIP_CUT_VALUE = &Hffff
%EQUATE `D3D10_32BIT_INDEX_STRIP_CUT_VALUE = &Hffffffff
%EQUATE `D3D10_8BIT_INDEX_STRIP_CUT_VALUE = &Hff
%EQUATE `D3D10_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9
%EQUATE `D3D10_CLIP_OR_CULL_DISTANCE_COUNT = 8
%EQUATE `D3D10_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1
%EQUATE `D3D10_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64
%EQUATE `D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1
%EQUATE `D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1
%EQUATE `D3D10_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1
%EQUATE `D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128
%EQUATE `D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1
%EQUATE `D3D10_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128
%EQUATE `D3D10_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1
%EQUATE `D3D10_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16
%EQUATE `D3D10_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1
%EQUATE `D3D10_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_COMMONSHADER_SAMPLER_SLOT_COUNT = 16
%EQUATE `D3D10_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32
%EQUATE `D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_COMMONSHADER_TEMP_REGISTER_COUNT = 4096
%EQUATE `D3D10_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3
%EQUATE `D3D10_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3
%EQUATE `D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10
%EQUATE `D3D10_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10
%EQUATE `D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8
%EQUATE `D3D10_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7
MACRO D3D10_DEFAULT_BLEND_FACTOR_ALPHA = 1.0!
MACRO D3D10_DEFAULT_BLEND_FACTOR_BLUE = 1.0!
MACRO D3D10_DEFAULT_BLEND_FACTOR_GREEN = 1.0!
MACRO D3D10_DEFAULT_BLEND_FACTOR_RED = 1.0!
MACRO D3D10_DEFAULT_BORDER_COLOR_COMPONENT = 0.0!
%EQUATE `D3D10_DEFAULT_DEPTH_BIAS = 0
MACRO D3D10_DEFAULT_DEPTH_BIAS_CLAMP = 0.0!
MACRO D3D10_DEFAULT_MAX_ANISOTROPY = 16.0!
MACRO D3D10_DEFAULT_MIP_LOD_BIAS = 0.0!
%EQUATE `D3D10_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0
%EQUATE `D3D10_DEFAULT_SAMPLE_MASK = &Hffffffff
%EQUATE `D3D10_DEFAULT_SCISSOR_ENDX = 0
%EQUATE `D3D10_DEFAULT_SCISSOR_ENDY = 0
%EQUATE `D3D10_DEFAULT_SCISSOR_STARTX = 0
%EQUATE `D3D10_DEFAULT_SCISSOR_STARTY = 0
MACRO D3D10_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0!
%EQUATE `D3D10_DEFAULT_STENCIL_READ_MASK = &Hff
%EQUATE `D3D10_DEFAULT_STENCIL_REFERENCE = 0
%EQUATE `D3D10_DEFAULT_STENCIL_WRITE_MASK = &Hff
%EQUATE `D3D10_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0
%EQUATE `D3D10_DEFAULT_VIEWPORT_HEIGHT = 0
MACRO D3D10_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0!
MACRO D3D10_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0!
%EQUATE `D3D10_DEFAULT_VIEWPORT_TOPLEFTX = 0
%EQUATE `D3D10_DEFAULT_VIEWPORT_TOPLEFTY = 0
%EQUATE `D3D10_DEFAULT_VIEWPORT_WIDTH = 0
MACRO D3D10_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6!
MACRO D3D10_FLOAT32_MAX = 3.402823466e+38!
MACRO D3D10_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6!
MACRO D3D10_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4!
MACRO D3D10_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0!
MACRO D3D10_FLOAT_TO_SRGB_OFFSET = 0.055!
MACRO D3D10_FLOAT_TO_SRGB_SCALE_1 = 12.92!
MACRO D3D10_FLOAT_TO_SRGB_SCALE_2 = 1.055!
MACRO D3D10_FLOAT_TO_SRGB_THRESHOLD = 0.0031308!
MACRO D3D10_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999!
MACRO D3D10_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999!
MACRO D3D10_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999!
MACRO D3D10_FTOU_INSTRUCTION_MIN_INPUT = 0.0!
%EQUATE `D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1
%EQUATE `D3D10_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1
%EQUATE `D3D10_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2
%EQUATE `D3D10_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_GS_INPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_GS_INPUT_REGISTER_COUNT = 16
%EQUATE `D3D10_GS_INPUT_REGISTER_READS_PER_INST = 2
%EQUATE `D3D10_GS_INPUT_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_GS_INPUT_REGISTER_VERTICES = 6
%EQUATE `D3D10_GS_OUTPUT_ELEMENTS = 32
%EQUATE `D3D10_GS_OUTPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_GS_OUTPUT_REGISTER_COUNT = 32
%EQUATE `D3D10_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0
%EQUATE `D3D10_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0
%EQUATE `D3D10_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0
%EQUATE `D3D10_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1
%EQUATE `D3D10_IA_INSTANCE_ID_BIT_COUNT = 32
%EQUATE `D3D10_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32
%EQUATE `D3D10_IA_PRIMITIVE_ID_BIT_COUNT = 32
%EQUATE `D3D10_IA_VERTEX_ID_BIT_COUNT = 32
%EQUATE `D3D10_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 16
%EQUATE `D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 64
%EQUATE `D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 16
%EQUATE `D3D10_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = &Hffffffff
%EQUATE `D3D10_INTEGER_DIVIDE_BY_ZERO_REMAINDER = &Hffffffff
MACRO D3D10_LINEAR_GAMMA = 1.0!
MACRO D3D10_MAX_BORDER_COLOR_COMPONENT = 1.0!
MACRO D3D10_MAX_DEPTH = 1.0!
%EQUATE `D3D10_MAX_MAXANISOTROPY = 16
%EQUATE `D3D10_MAX_MULTISAMPLE_SAMPLE_COUNT = 32
MACRO D3D10_MAX_POSITION_VALUE = 3.402823466e+34!
%EQUATE `D3D10_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17
MACRO D3D10_MIN_BORDER_COLOR_COMPONENT = 0.0!
MACRO D3D10_MIN_DEPTH = 0.0!
%EQUATE `D3D10_MIN_MAXANISOTROPY = 0
MACRO D3D10_MIP_LOD_BIAS_MAX = 15.99!
MACRO D3D10_MIP_LOD_BIAS_MIN = -16.0!
%EQUATE `D3D10_MIP_LOD_FRACTIONAL_BIT_COUNT = 6
%EQUATE `D3D10_MIP_LOD_RANGE_BIT_COUNT = 8
MACRO D3D10_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4!
%EQUATE `D3D10_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0
%EQUATE `D3D10_PIXEL_ADDRESS_RANGE_BIT_COUNT = 13
%EQUATE `D3D10_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15
%EQUATE `D3D10_PS_FRONTFACING_DEFAULT_VALUE = &Hffffffff
%EQUATE `D3D10_PS_FRONTFACING_FALSE_VALUE = 0
%EQUATE `D3D10_PS_FRONTFACING_TRUE_VALUE = &Hffffffff
%EQUATE `D3D10_PS_INPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_PS_INPUT_REGISTER_COUNT = 32
%EQUATE `D3D10_PS_INPUT_REGISTER_READS_PER_INST = 2
%EQUATE `D3D10_PS_INPUT_REGISTER_READ_PORTS = 1
MACRO D3D10_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0!
%EQUATE `D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1
%EQUATE `D3D10_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1
%EQUATE `D3D10_PS_OUTPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_PS_OUTPUT_REGISTER_COUNT = 8
MACRO D3D10_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5!
%EQUATE `D3D10_REQ_BLEND_OBJECT_COUNT_PER_CONTEXT = 4096
%EQUATE `D3D10_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27
%EQUATE `D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096
%EQUATE `D3D10_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_CONTEXT = 4096
%EQUATE `D3D10_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32
%EQUATE `D3D10_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32
%EQUATE `D3D10_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 8192
%EQUATE `D3D10_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024
%EQUATE `D3D10_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096
%EQUATE `D3D10_REQ_MAXANISOTROPY = 16
%EQUATE `D3D10_REQ_MIP_LEVELS = 14
%EQUATE `D3D10_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048
%EQUATE `D3D10_REQ_RASTERIZER_OBJECT_COUNT_PER_CONTEXT = 4096
%EQUATE `D3D10_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 8192
%EQUATE `D3D10_REQ_RESOURCE_SIZE_IN_MEGABYTES = 128
%EQUATE `D3D10_REQ_RESOURCE_VIEW_COUNT_PER_CONTEXT_2_TO_EXP = 20
%EQUATE `D3D10_REQ_SAMPLER_OBJECT_COUNT_PER_CONTEXT = 4096
%EQUATE `D3D10_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 512
%EQUATE `D3D10_REQ_TEXTURE1D_U_DIMENSION = 8192
%EQUATE `D3D10_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 512
%EQUATE `D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION = 8192
%EQUATE `D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048
%EQUATE `D3D10_REQ_TEXTURECUBE_DIMENSION = 8192
%EQUATE `D3D10_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0
%EQUATE `D3D10_SHADER_MAJOR_VERSION = 4
%EQUATE `D3D10_SHADER_MINOR_VERSION = 0
%EQUATE `D3D10_SHIFT_INSTRUCTION_PAD_VALUE = 0
%EQUATE `D3D10_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5
%EQUATE `D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT = 8
%EQUATE `D3D10_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048
%EQUATE `D3D10_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 256
%EQUATE `D3D10_SO_BUFFER_SLOT_COUNT = 4
%EQUATE `D3D10_SO_DDI_REGISTER_INDEX_DENOTING_GAP = &Hffffffff
%EQUATE `D3D10_SO_MULTIPLE_BUFFER_ELEMENTS_PER_BUFFER = 1
%EQUATE `D3D10_SO_SINGLE_BUFFER_COMPONENT_LIMIT = 64
MACRO D3D10_SRGB_GAMMA = 2.2!
MACRO D3D10_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92!
MACRO D3D10_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055!
MACRO D3D10_SRGB_TO_FLOAT_EXPONENT = 2.4!
MACRO D3D10_SRGB_TO_FLOAT_OFFSET = 0.055!
MACRO D3D10_SRGB_TO_FLOAT_THRESHOLD = 0.04045!
MACRO D3D10_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5!
%EQUATE `D3D10_STANDARD_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64
%EQUATE `D3D10_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4
%EQUATE `D3D10_STANDARD_PIXEL_COMPONENT_COUNT = 128
%EQUATE `D3D10_STANDARD_PIXEL_ELEMENT_COUNT = 32
%EQUATE `D3D10_STANDARD_VECTOR_SIZE = 4
%EQUATE `D3D10_STANDARD_VERTEX_ELEMENT_COUNT = 16
%EQUATE `D3D10_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64
%EQUATE `D3D10_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8
%EQUATE `D3D10_SUBTEXEL_FRACTIONAL_BIT_COUNT = 6
%EQUATE `D3D10_TEXEL_ADDRESS_RANGE_BIT_COUNT = 18
%EQUATE `D3D10_UNBOUND_MEMORY_ACCESS_RESULT = 0
%EQUATE `D3D10_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15
%EQUATE `D3D10_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16
%EQUATE `D3D10_VIEWPORT_BOUNDS_MAX = 16383
%EQUATE `D3D10_VIEWPORT_BOUNDS_MIN = -16384
%EQUATE `D3D10_VS_INPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_VS_INPUT_REGISTER_COUNT = 16
%EQUATE `D3D10_VS_INPUT_REGISTER_READS_PER_INST = 2
%EQUATE `D3D10_VS_INPUT_REGISTER_READ_PORTS = 1
%EQUATE `D3D10_VS_OUTPUT_REGISTER_COMPONENTS = 4
%EQUATE `D3D10_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32
%EQUATE `D3D10_VS_OUTPUT_REGISTER_COUNT = 16
%EQUATE `D3D10_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10
%EQUATE `D3D10_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25
%EQUATE `D3D10_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25
%EQUATE `D3D_MAJOR_VERSION = 10
%EQUATE `D3D_MINOR_VERSION = 0
%EQUATE `D3D_SPEC_DATE_DAY = 8
%EQUATE `D3D_SPEC_DATE_MONTH = 8
%EQUATE `D3D_SPEC_DATE_YEAR = 2006
MACRO D3D_SPEC_VERSION = 1.050005
#ENDIF ' #IF NOT %DEF(%D3D10_CONSTANTS)
'#if !defined( __d3d10_1_h__ ) && !(D3D10_HEADER_MINOR_VERSION >= 1)
#IF NOT %DEF(%D3D10_1_INC)
%EQUATE `D3D10_1_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = %D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
%EQUATE `D3D10_1_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = %D3D10_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT
#ENDIF
%EQUATE `FACD3D10 = &H879
%EQUATE `FACD3D10DEBUG = %FACD3D10 + 1
'#define MAKE_D3D10_HRESULT( code ) MAKE_HRESULT( 1, _FACD3D10, code )
MACRO MAKE_D3D10_HRESULT(ncode) = MAKE_HRESULT(1, %FACD3D10, ncode)
'#define MAKE_D3D10_STATUS( code ) MAKE_HRESULT( 0, _FACD3D10, code )
MACRO MAKE_D3D10_STATUS(ncode) = MAKE_HRESULT(0, %FACD3D10, ncode)
%EQUATE `D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS = &H88790001&
'#define D3D10_ERROR_FILE_NOT_FOUND MAKE_D3D10_HRESULT(2)
%EQUATE `D3D10_ERROR_FILE_NOT_FOUND = &H88790002&
'#if __SAL_H_FULL_VER < 140050727
'#undef __in_range
'#undef __in_xcount_opt
' %in_range(x, y)
' %in_xcount_opt(x)
'#endif
' enum D3D10_INPUT_CLASSIFICATION
%EQUATE `D3D10_INPUT_PER_VERTEX_DATA = 0
%EQUATE `D3D10_INPUT_PER_INSTANCE_DATA = 1
%EQUATE `D3D10_APPEND_ALIGNED_ELEMENT = &Hffffffff
' // Size = 28 bytes
TYPE D3D10_INPUT_ELEMENT_DESC DWORD
 SemanticName AS ASCIIZ PTR
 SemanticIndex AS DWORD ' UINT
 Format AS DWORD ' DXGI_FORMAT enum
 InputSlot AS DWORD ' UINT
 AlignedByteOffset AS DWORD ' UINT
 InputSlotClass AS DWORD ' D3D10_INPUT_CLASSIFICATION enum
 InstanceDataStepRate AS DWORD ' UINT
END TYPE
' enum D3D10_FILL_MODE
%EQUATE `D3D10_FILL_WIREFRAME = 2
%EQUATE `D3D10_FILL_SOLID = 3
' enum D3D10_PRIMITIVE_TOPOLOGY
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12
%EQUATE `D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
' enum D3D10_PRIMITIVE
%EQUATE `D3D10_PRIMITIVE_UNDEFINED = 0
%EQUATE `D3D10_PRIMITIVE_POINT = 1
%EQUATE `D3D10_PRIMITIVE_LINE = 2
%EQUATE `D3D10_PRIMITIVE_TRIANGLE = 3
%EQUATE `D3D10_PRIMITIVE_LINE_ADJ = 6
%EQUATE `D3D10_PRIMITIVE_TRIANGLE_ADJ = 7
' enum D3D10_CULL_MODE
%EQUATE `D3D10_CULL_NONE = 1
%EQUATE `D3D10_CULL_FRONT = 2
%EQUATE `D3D10_CULL_BACK = 3
' // Size = 12 bytes
TYPE D3D10_SO_DECLARATION_ENTRY BYTE
 SemanticName AS ASCIIZ PTR
 SemanticIndex AS DWORD ' UINT
 StartComponent AS BYTE ' BYTE
 ComponentCount AS BYTE ' BYTE
 OutputSlot AS BYTE ' BYTE
 filler_ AS BYTE ' // TO keep alignment
END TYPE
' // Size = 24 bytes
TYPE D3D10_VIEWPORT DWORD
 TopLeftX AS LONG ' INT
 TopLeftY AS LONG ' INT
 Width AS DWORD ' UINT
 Height AS DWORD ' UINT
 MinDepth AS SINGLE ' FLOAT
 MaxDepth AS SINGLE ' FLOAT
END TYPE
' enum D3D10_RESOURCE_DIMENSION
%EQUATE `D3D10_RESOURCE_DIMENSION_UNKNOWN = 0
%EQUATE `D3D10_RESOURCE_DIMENSION_BUFFER = 1
%EQUATE `D3D10_RESOURCE_DIMENSION_TEXTURE1D = 2
%EQUATE `D3D10_RESOURCE_DIMENSION_TEXTURE2D = 3
%EQUATE `D3D10_RESOURCE_DIMENSION_TEXTURE3D = 4
' enum %D3D10_SRV_DIMENSION
%EQUATE `D3D10_SRV_DIMENSION_UNKNOWN = 0
%EQUATE `D3D10_SRV_DIMENSION_BUFFER = 1
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE1D = 2
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE1DARRAY = 3
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE2D = 4
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE2DARRAY = 5
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE2DMS = 6
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY = 7
%EQUATE `D3D10_SRV_DIMENSION_TEXTURE3D = 8
%EQUATE `D3D10_SRV_DIMENSION_TEXTURECUBE = 9
' enum D3D10_DSV_DIMENSION
%EQUATE `D3D10_DSV_DIMENSION_UNKNOWN = 0
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE1D = 1
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE1DARRAY = 2
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE2D = 3
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE2DARRAY = 4
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE2DMS = 5
%EQUATE `D3D10_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
' enum D3D10_RTV_DIMENSION
%EQUATE `D3D10_RTV_DIMENSION_UNKNOWN = 0
%EQUATE `D3D10_RTV_DIMENSION_BUFFER = 1
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE1D = 2
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE1DARRAY = 3
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE2D = 4
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE2DARRAY = 5
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE2DMS = 6
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE2DMSARRAY = 7
%EQUATE `D3D10_RTV_DIMENSION_TEXTURE3D = 8
' enum D3D10_USAGE
%EQUATE `D3D10_USAGE_DEFAULT = 0
%EQUATE `D3D10_USAGE_IMMUTABLE = 1
%EQUATE `D3D10_USAGE_DYNAMIC = 2
%EQUATE `D3D10_USAGE_STAGING = 3
' enum D3D10_BIND_FLAG
%EQUATE `D3D10_BIND_VERTEX_BUFFER = &H1
%EQUATE `D3D10_BIND_INDEX_BUFFER = &H2
%EQUATE `D3D10_BIND_CONSTANT_BUFFER = &H4
%EQUATE `D3D10_BIND_SHADER_RESOURCE = &H8
%EQUATE `D3D10_BIND_STREAM_OUTPUT = &H10
%EQUATE `D3D10_BIND_RENDER_TARGET = &H20
%EQUATE `D3D10_BIND_DEPTH_STENCIL = &H40
' enum D3D10_CPU_ACCESS_FLAG
%EQUATE `D3D10_CPU_ACCESS_WRITE = &H10000
%EQUATE `D3D10_CPU_ACCESS_READ = &H20000
' enum D3D10_RESOURCE_MISC_FLAG
%EQUATE `D3D10_RESOURCE_MISC_GENERATE_MIPS = &H1
%EQUATE `D3D10_RESOURCE_MISC_SHARED = &H2
%EQUATE `D3D10_RESOURCE_MISC_TEXTURECUBE = &H4
%EQUATE `D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX = &H10
%EQUATE `D3D10_RESOURCE_MISC_GDI_COMPATIBLE = &H20
' enum D3D10_MAP
%EQUATE `D3D10_MAP_READ = 1
%EQUATE `D3D10_MAP_WRITE = 2
%EQUATE `D3D10_MAP_READ_WRITE = 3
%EQUATE `D3D10_MAP_WRITE_DISCARD = 4
%EQUATE `D3D10_MAP_WRITE_NO_OVERWRITE = 5
' enum D3D10_MAP_FLAG
%EQUATE `D3D10_MAP_FLAG_DO_NOT_WAIT = &H100000
' enum D3D10_RAISE_FLAG
%EQUATE `D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR = &H1
' enum D3D10_CLEAR_FLAG
%EQUATE `D3D10_CLEAR_DEPTH = &H1
%EQUATE `D3D10_CLEAR_STENCIL = &H2
'typedef RECT D3D10_RECT;
MACRO D3D10_RECT = RECT
' // Size = 24 bytes
TYPE D3D10_BOX DWORD
 left AS DWORD ' UINT
 top AS DWORD ' UINT
 front AS DWORD ' UINT
 right AS DWORD ' UINT
 bottom AS DWORD ' UINT
 back AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10DeviceChild interface
' IID = 9B7E4C00-342C-4106-A19F-4F2704F689F0
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ID3D10DeviceChild_INTERFACE_DEFINED)
 %ID3D10DeviceChild_INTERFACE_DEFINED = 1
INTERFACE ID3D10DeviceChild $IID_ID3D10DeviceChild
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10DeviceChild_INTERFACE_DEFINED__ */
' enum D3D10_COMPARISON_FUNC
%EQUATE `D3D10_COMPARISON_NEVER = 1
%EQUATE `D3D10_COMPARISON_LESS = 2
%EQUATE `D3D10_COMPARISON_EQUAL = 3
%EQUATE `D3D10_COMPARISON_LESS_EQUAL = 4
%EQUATE `D3D10_COMPARISON_GREATER = 5
%EQUATE `D3D10_COMPARISON_NOT_EQUAL = 6
%EQUATE `D3D10_COMPARISON_GREATER_EQUAL = 7
%EQUATE `D3D10_COMPARISON_ALWAYS = 8
' enum D3D10_DEPTH_WRITE_MASK
%EQUATE `D3D10_DEPTH_WRITE_MASK_ZERO = 0
%EQUATE `D3D10_DEPTH_WRITE_MASK_ALL = 1
' enum D3D10_STENCIL_OP
%EQUATE `D3D10_STENCIL_OP_KEEP = 1
%EQUATE `D3D10_STENCIL_OP_ZERO = 2
%EQUATE `D3D10_STENCIL_OP_REPLACE = 3
%EQUATE `D3D10_STENCIL_OP_INCR_SAT = 4
%EQUATE `D3D10_STENCIL_OP_DECR_SAT = 5
%EQUATE `D3D10_STENCIL_OP_INVERT = 6
%EQUATE `D3D10_STENCIL_OP_INCR = 7
%EQUATE `D3D10_STENCIL_OP_DECR = 8
' // Size = 16 bytes
TYPE D3D10_DEPTH_STENCILOP_DESC DWORD
 StencilFailOp AS DWORD ' D3D10_STENCIL_OP enum
 StencilDepthFailOp AS DWORD ' D3D10_STENCIL_OP enum
 StencilPassOp AS DWORD ' D3D10_STENCIL_OP enum
 StencilFunc AS DWORD ' D3D10_COMPARISON_FUNC enum
END TYPE
' // Size = 52 bytes
TYPE D3D10_DEPTH_STENCIL_DESC WORD
 DepthEnable AS LONG
 DepthWriteMask AS DWORD ' D3D10_DEPTH_WRITE_MASK enum
 DepthFunc AS DWORD ' D3D10_COMPARISON_FUNC enum
 StencilEnable AS LONG
 StencilReadMask AS BYTE ' UINT8
 StencilWriteMask AS BYTE ' UINT8
 FrontFace AS D3D10_DEPTH_STENCILOP_DESC
 BackFace AS D3D10_DEPTH_STENCILOP_DESC
END TYPE
' ########################################################################################
' ID3D10DepthStencilState interface
' IID = 2B4B1CC8-A4AD-41F8-8322-CA86FC3EC675
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10DepthStencilState_INTERFACE_DEFINED)
 %ID3D10DepthStencilState_INTERFACE_DEFINED = 1
INTERFACE ID3D10DepthStencilState $IID_ID3D10DepthStencilState
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10DepthStencilState Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 28
 BYREF pDesc AS D3D10_DEPTH_STENCIL_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10DepthStencilState_INTERFACE_DEFINED__ */
' enum D3D10_BLEND
%EQUATE `D3D10_BLEND_ZERO = 1
%EQUATE `D3D10_BLEND_ONE = 2
%EQUATE `D3D10_BLEND_SRC_COLOR = 3
%EQUATE `D3D10_BLEND_INV_SRC_COLOR = 4
%EQUATE `D3D10_BLEND_SRC_ALPHA = 5
%EQUATE `D3D10_BLEND_INV_SRC_ALPHA = 6
%EQUATE `D3D10_BLEND_DEST_ALPHA = 7
%EQUATE `D3D10_BLEND_INV_DEST_ALPHA = 8
%EQUATE `D3D10_BLEND_DEST_COLOR = 9
%EQUATE `D3D10_BLEND_INV_DEST_COLOR = 10
%EQUATE `D3D10_BLEND_SRC_ALPHA_SAT = 11
%EQUATE `D3D10_BLEND_BLEND_FACTOR = 14
%EQUATE `D3D10_BLEND_INV_BLEND_FACTOR = 15
%EQUATE `D3D10_BLEND_SRC1_COLOR = 16
%EQUATE `D3D10_BLEND_INV_SRC1_COLOR = 17
%EQUATE `D3D10_BLEND_SRC1_ALPHA = 18
%EQUATE `D3D10_BLEND_INV_SRC1_ALPHA = 19
' enum D3D10_BLEND_OP
%EQUATE `D3D10_BLEND_OP_ADD = 1
%EQUATE `D3D10_BLEND_OP_SUBTRACT = 2
%EQUATE `D3D10_BLEND_OP_REV_SUBTRACT = 3
%EQUATE `D3D10_BLEND_OP_MIN = 4
%EQUATE `D3D10_BLEND_OP_MAX = 5
' enum D3D10_COLOR_WRITE_ENABLE
%EQUATE `D3D10_COLOR_WRITE_ENABLE_RED = 1
%EQUATE `D3D10_COLOR_WRITE_ENABLE_GREEN = 2
%EQUATE `D3D10_COLOR_WRITE_ENABLE_BLUE = 4
%EQUATE `D3D10_COLOR_WRITE_ENABLE_ALPHA = 8
%EQUATE `D3D10_COLOR_WRITE_ENABLE_ALL = (((%D3D10_COLOR_WRITE_ENABLE_RED OR %D3D10_COLOR_WRITE_ENABLE_GREEN) OR %D3D10_COLOR_WRITE_ENABLE_BLUE ) OR %D3D10_COLOR_WRITE_ENABLE_ALPHA)
' // Size = 68 bytes
TYPE D3D10_BLEND_DESC DWORD
 AlphaToCoverageEnable AS LONG
 BlendEnable(7) AS LONG
 SrcBlend AS DWORD ' D3D10_BLEND enum
 DestBlend AS DWORD ' D3D10_BLEND enum
 BlendOp AS DWORD ' D3D10_BLEND_OP enum
 SrcBlendAlpha AS DWORD ' D3D10_BLEND enum
 DestBlendAlpha AS DWORD ' D3D10_BLEND enum
 BlendOpAlpha AS DWORD ' D3D10_BLEND_OP enum
 RenderTargetWriteMask(7) AS BYTE ' UINT8
END TYPE
' ########################################################################################
' ID3D10BlendState interface
' IID = EDAD8D19-8A35-4D6D-8566-2EA276CDE161
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10BlendState_INTERFACE_DEFINED)
 %ID3D10BlendState_INTERFACE_DEFINED = 1
INTERFACE ID3D10BlendState $IID_ID3D10BlendState
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10BlendState Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 28
 BYREF pDesc AS D3D10_BLEND_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10BlendState_INTERFACE_DEFINED__ */
' // Size = 40 bytes
TYPE D3D10_RASTERIZER_DESC DWORD
 FillMode AS DWORD ' D3D10_FILL_MODE enum
 CullMode AS DWORD ' D3D10_CULL_MODE enum
 FrontCounterClockwise AS LONG
 DepthBias AS LONG ' INT
 DepthBiasClamp AS SINGLE ' FLOAT
 SlopeScaledDepthBias AS SINGLE ' FLOAT
 DepthClipEnable AS LONG
 ScissorEnable AS LONG
 MultisampleEnable AS LONG
 AntialiasedLineEnable AS LONG
END TYPE
' ########################################################################################
' ID3D10RasterizerState interface
' IID = A2A07292-89AF-4345-BE2E-C53D9FBB6E9F
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10RasterizerState_INTERFACE_DEFINED)
 %ID3D10RasterizerState_INTERFACE_DEFINED = 1
INTERFACE ID3D10RasterizerState $IID_ID3D10RasterizerState
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10RasterizerState Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 28
 BYREF pDesc AS D3D10_RASTERIZER_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10RasterizerState_INTERFACE_DEFINED__ */
'#if !defined( D3D10_NO_HELPERS ) && defined( __cplusplus )
'inline UINT D3D10CalcSubresource( UINT MipSlice, UINT ArraySlice, UINT MipLevels )
'{ return MipSlice + ArraySlice * MipLevels; }
FUNCTION D3D10CalcSubresource (BYVAL MipSlice AS DWORD, BYVAL ArraySlice AS DWORD, BYVAL MipLevels AS DWORD) AS DWORD
 FUNCTION = MipSlice + ArraySlice * MipLevels
END FUNCTION
'#endif
' // Size = 12 bytes
TYPE D3D10_SUBRESOURCE_DATA DWORD
 pSysMem AS DWORD ' const void *
 SysMemPitch AS DWORD ' UINT
 SysMemSlicePitch AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Resource interface
' IID = 9B7E4C01-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10Resource_INTERFACE_DEFINED)
 %ID3D10Resource_INTERFACE_DEFINED = 1
INTERFACE ID3D10Resource $IID_ID3D10Resource
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Resource Methods
 ' =====================================================================================
 METHOD GetType ( ' VTable offset = 28
 BYREF rType AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SetEvictionPriority ( ' VTable offset = 32
 BYVAL EvictionPriority AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetEvictionPriority ( ' VTable offset = 36
 ) AS DWORD ' UINT
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Resource_INTERFACE_DEFINED__ */
' // Size = 20 bytes
TYPE D3D10_BUFFER_DESC DWORD
 ByteWidth AS DWORD ' UINT
 Usage AS DWORD ' D3D10_USAGE enum
 BindFlags AS DWORD ' UINT
 CPUAccessFlags AS DWORD ' UINT
 MiscFlags AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Buffer interface
' IID = 9B7E4C02-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Resource
' ########################################################################################
#IF NOT %DEF(%ID3D10Buffer_INTERFACE_DEFINED)
 %ID3D10Buffer_INTERFACE_DEFINED = 1
INTERFACE ID3D10Buffer $IID_ID3D10Buffer
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Resource Methods
 ' =====================================================================================
 METHOD GetType ( ' VTable offset = 28
 BYREF rType AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SetEvictionPriority ( ' VTable offset = 32
 BYVAL EvictionPriority AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetEvictionPriority ( ' VTable offset = 36
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Buffer Methods
 ' =====================================================================================
 METHOD Map ( ' VTable offset = 40
 BYVAL MapType AS DWORD
 , BYVAL MapFlags AS DWORD
 , BYREF ppData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD Unmap ( ' VTable offset = 44
 ) ' void
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 48
 BYREF pDesc AS D3D10_BUFFER_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Buffer_INTERFACE_DEFINED__ */
' // Size = 32 bytes
TYPE D3D10_TEXTURE1D_DESC DWORD
 Width AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
 Format AS DWORD ' DXGI_FORMAT enum
 Usage AS DWORD ' D3D10_USAGE
 BindFlags AS DWORD ' UINT
 CPUAccessFlags AS DWORD ' UINT
 MiscFlags AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Texture1D interface
' IID = 9B7E4C03-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Resource
' ########################################################################################
#IF NOT %DEF(%ID3D10Texture1D_INTERFACE_DEFINED)
 %ID3D10Texture1D_INTERFACE_DEFINED = 1
INTERFACE ID3D10Texture1D $IID_ID3D10Texture1D
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Resource Methods
 ' =====================================================================================
 METHOD GetType ( ' VTable offset = 28
 BYREF rType AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SetEvictionPriority ( ' VTable offset = 32
 BYVAL EvictionPriority AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetEvictionPriority ( ' VTable offset = 36
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Texture1D Methods
 ' =====================================================================================
 METHOD Map ( ' VTable offset = 40
 BYVAL Subresource AS DWORD
 , BYVAL MapType AS DWORD
 , BYVAL MapFlags AS DWORD
 , BYREF ppData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD Unmap ( ' VTable offset = 44
 BYVAL Subresource AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 48
 BYREF pDesc AS D3D10_TEXTURE1D_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Texture1D_INTERFACE_DEFINED__ */
' // Size = 44 bytes
TYPE D3D10_TEXTURE2D_DESC DWORD
 Width AS DWORD ' UINT
 Height AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
 Format AS DWORD ' DXGI_FORMAT enum
 SampleDesc AS DXGI_SAMPLE_DESC
 Usage AS DWORD ' D3D10_USAGE enum
 BindFlags AS DWORD ' UINT
 CPUAccessFlags AS DWORD ' UINT
 MiscFlags AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_MAPPED_TEXTURE2D DWORD
 pData AS DWORD ' void *
 RowPitch AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Texture2D interface
' IID = 9B7E4C04-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Resource
' ########################################################################################
#IF NOT %DEF(%ID3D10Texture2D_INTERFACE_DEFINED)
 %ID3D10Texture2D_INTERFACE_DEFINED = 1
INTERFACE ID3D10Texture2D $IID_ID3D10Texture2D
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Resource Methods
 ' =====================================================================================
 METHOD GetType ( ' VTable offset = 28
 BYREF rType AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SetEvictionPriority ( ' VTable offset = 32
 BYVAL EvictionPriority AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetEvictionPriority ( ' VTable offset = 36
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Texture2D Methods
 ' =====================================================================================
 METHOD Map ( ' VTable offset = 40
 BYVAL Subresource AS DWORD
 , BYVAL MapType AS DWORD
 , BYVAL MapFlags AS DWORD
 , BYREF pMappedTex2D AS D3D10_MAPPED_TEXTURE2D
 ) AS LONG
 ' =====================================================================================
 METHOD Unmap ( ' VTable offset = 44
 BYVAL Subresource AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 48
 BYREF pDesc AS D3D10_TEXTURE2D_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Texture2D_INTERFACE_DEFINED__ */
' // Size = 36 bytes
TYPE D3D10_TEXTURE3D_DESC DWORD
 Width AS DWORD ' UINT
 Height AS DWORD ' UINT
 Depth AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 Format AS DWORD ' DXGI_FORMAT enum
 Usage AS DWORD ' D3D10_USAGE
 BindFlags AS DWORD ' UINT
 CPUAccessFlags AS DWORD ' UINT
 MiscFlags AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_MAPPED_TEXTURE3D DWORD
 pData AS DWORD ' void *
 RowPitch AS DWORD ' UINT
 DepthPitch AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Texture3D interface
' IID = 9B7E4C05-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Resource
' ########################################################################################
#IF NOT %DEF(%ID3D10Texture3D_INTERFACE_DEFINED)
 %ID3D10Texture3D_INTERFACE_DEFINED = 1
INTERFACE ID3D10Texture3D $IID_ID3D10Texture3D
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Resource Methods
 ' =====================================================================================
 METHOD GetType ( ' VTable offset = 28
 BYREF rType AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SetEvictionPriority ( ' VTable offset = 32
 BYVAL EvictionPriority AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetEvictionPriority ( ' VTable offset = 36
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Texture3D Methods
 ' =====================================================================================
 METHOD Map ( ' VTable offset = 40
 BYVAL Subresource AS DWORD
 , BYVAL MapType AS DWORD
 , BYVAL MapFlags AS DWORD
 , BYREF pMappedTex3D AS D3D10_MAPPED_TEXTURE3D
 ) AS LONG
 ' =====================================================================================
 METHOD Unmap ( ' VTable offset = 44
 BYVAL Subresource AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 48
 BYREF pDesc AS D3D10_TEXTURE3D_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Texture3D_INTERFACE_DEFINED__ */
' enum D3D10_TEXTURECUBE_FACE
%EQUATE `D3D10_TEXTURECUBE_FACE_POSITIVE_X = 0
%EQUATE `D3D10_TEXTURECUBE_FACE_NEGATIVE_X = 1
%EQUATE `D3D10_TEXTURECUBE_FACE_POSITIVE_Y = 2
%EQUATE `D3D10_TEXTURECUBE_FACE_NEGATIVE_Y = 3
%EQUATE `D3D10_TEXTURECUBE_FACE_POSITIVE_Z = 4
%EQUATE `D3D10_TEXTURECUBE_FACE_NEGATIVE_Z = 5
' ########################################################################################
' ID3D10View interface
' IID = C902B03F-60A7-49BA-9936-2A3AB37A7E33
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10View_INTERFACE_DEFINED)
 %ID3D10View_INTERFACE_DEFINED = 1
INTERFACE ID3D10View $IID_ID3D10View
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10View Method
 ' =====================================================================================
 METHOD GetResource ( ' VTable offset = 28
 BYREF ppResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10View_INTERFACE_DEFINED__ */
' // Size = 4 bytes
UNION D3D10_BUFFER_SRV_UNION1 DWORD
 FirstElement AS DWORD ' UINT
 ElementOffset AS DWORD ' UINT
END UNION
' // Size = 4 bytes
UNION D3D10_BUFFER_SRV_UNION2 DWORD
 NumElements AS DWORD ' UINT
 ElementWidth AS DWORD ' UINT
END UNION
' // Size = 8 bytes
TYPE D3D10_BUFFER_SRV DWORD
 D3D10_BUFFER_SRV_UNION1
 D3D10_BUFFER_SRV_UNION2
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX1D_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
END TYPE
' // Size = 16 bytes
TYPE D3D10_TEX1D_ARRAY_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX2D_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
END TYPE
' // Size = 16 bytes
TYPE D3D10_TEX2D_ARRAY_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX3D_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEXCUBE_SRV DWORD
 MostDetailedMip AS DWORD ' UINT
 MipLevels AS DWORD ' UINT
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX2DMS_SRV DWORD
 UnusedField_NothingToDefine AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX2DMS_ARRAY_SRV DWORD
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 16 bytes
UNION D3D10_SHADER_RESOURCE_VIEW_DESC_UNION DWORD
 Buffer AS D3D10_BUFFER_SRV
 Texture1D AS D3D10_TEX1D_SRV
 Texture1DArray AS D3D10_TEX1D_ARRAY_SRV
 Texture2D AS D3D10_TEX2D_SRV
 Texture2DArray AS D3D10_TEX2D_ARRAY_SRV
 Texture2DMS AS D3D10_TEX2DMS_SRV
 Texture2DMSArray AS D3D10_TEX2DMS_ARRAY_SRV
 Texture3D AS D3D10_TEX3D_SRV
 TextureCube AS D3D10_TEXCUBE_SRV
END UNION
' // Size = 24 bytes
TYPE D3D10_SHADER_RESOURCE_VIEW_DESC
 Format AS DWORD ' DXGI_FORMAT enum
 ViewDimension AS DWORD ' D3D10_SRV_DIMENSION enum
 D3D10_SHADER_RESOURCE_VIEW_DESC_UNION
END TYPE
' ########################################################################################
' ID3D10ShaderResourceView interface
' IID = C902B03F-60A7-49BA-9936-2A3AB37A7E33
' Inherited interface = ID3D10View
' ########################################################################################
#IF NOT %DEF(%ID3D10ShaderResourceView_INTERFACE_DEFINED)
 %ID3D10ShaderResourceView_INTERFACE_DEFINED = 1
INTERFACE ID3D10ShaderResourceView $IID_ID3D10ShaderResourceView
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10View Method
 ' =====================================================================================
 METHOD GetResource ( ' VTable offset = 28
 BYREF ppResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10ShaderResourceView Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 32
 BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10ShaderResourceView_INTERFACE_DEFINED__ */
' // Size = 4 bytes
UNION D3D10_BUFFER_RTV_UNION1 DWORD
 FirstElement AS DWORD ' UINT
 ElementOffset AS DWORD ' UINT
END UNION
' // Size = 4 bytes
UNION D3D10_BUFFER_RTV_UNION2 DWORD
 NumElements AS DWORD ' UINT
 ElementWidth AS DWORD ' UINT
END UNION
' // Size = 8 bytes
TYPE D3D10_BUFFER_RTV DWORD
 D3D10_BUFFER_RTV_UNION1
 D3D10_BUFFER_RTV_UNION2
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX1D_RTV DWORD
 MipSlice AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_TEX1D_ARRAY_RTV DWORD
 MipSlice AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX2D_RTV DWORD
 MipSlice AS DWORD ' UINT
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX2DMS_RTV DWORD
 UnusedField_NothingToDefine AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_TEX2D_ARRAY_RTV DWORD
 MipSlice AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX2DMS_ARRAY_RTV DWORD
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_TEX3D_RTV DWORD
 MipSlice AS DWORD ' UINT
 FirstWSlice AS DWORD ' UINT
 WSize AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
UNION D3D10_RENDER_TARGET_VIEW_DESC_UNION DWORD
 Buffer AS D3D10_BUFFER_RTV
 Texture1D AS D3D10_TEX1D_RTV
 Texture1DArray AS D3D10_TEX1D_ARRAY_RTV
 Texture2D AS D3D10_TEX2D_RTV
 Texture2DArray AS D3D10_TEX2D_ARRAY_RTV
 Texture2DMS AS D3D10_TEX2DMS_RTV
 Texture2DMSArray AS D3D10_TEX2DMS_ARRAY_RTV
 Texture3D AS D3D10_TEX3D_RTV
END UNION
' // Size = 20 bytes
TYPE D3D10_RENDER_TARGET_VIEW_DESC DWORD
 Format AS DWORD ' DXGI_FORMAT enum
 ViewDimension AS DWORD ' D3D10_RTV_DIMENSION enum
 D3D10_RENDER_TARGET_VIEW_DESC_UNION
END TYPE
' ########################################################################################
' ID3D10RenderTargetView interface
' IID = 9B7E4C08-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10View
' ########################################################################################
#IF NOT %DEF(%ID3D10RenderTargetView_INTERFACE_DEFINED)
 %ID3D10RenderTargetView_INTERFACE_DEFINED = 1
INTERFACE ID3D10RenderTargetView $IID_ID3D10RenderTargetView
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10View Method
 ' =====================================================================================
 METHOD GetResource ( ' VTable offset = 28
 BYREF ppResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10RenderTargetView Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 32
 BYREF pDesc AS D3D10_RENDER_TARGET_VIEW_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10RenderTargetView_INTERFACE_DEFINED__ */
' // Size = 4 bytes
TYPE D3D10_TEX1D_DSV DWORD
 MipSlice AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_TEX1D_ARRAY_DSV DWORD
 MipSlice AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX2D_DSV DWORD
 MipSlice AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_TEX2D_ARRAY_DSV DWORD
 MipSlice AS DWORD ' UINT
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 4 bytes
TYPE D3D10_TEX2DMS_DSV DWORD
 UnusedField_NothingToDefine AS DWORD ' UINT
END TYPE
' // Size = 8 bytes
TYPE D3D10_TEX2DMS_ARRAY_DSV DWORD
 FirstArraySlice AS DWORD ' UINT
 ArraySize AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
UNION D3D10_DEPTH_STENCIL_VIEW_DESC_UNION DWORD
 Texture1D AS D3D10_TEX1D_DSV
 Texture1DArray AS D3D10_TEX1D_ARRAY_DSV
 Texture2D AS D3D10_TEX2D_DSV
 Texture2DArray AS D3D10_TEX2D_ARRAY_DSV
 Texture2DMS AS D3D10_TEX2DMS_DSV
 Texture2DMSArray AS D3D10_TEX2DMS_ARRAY_DSV
END UNION
' // Size = 20 bytes
TYPE D3D10_DEPTH_STENCIL_VIEW_DESC DWORD
 Format AS DWORD ' DXGI_FORMAT enum
 ViewDimension AS DWORD ' D3D10_DSV_DIMENSION enum
 D3D10_DEPTH_STENCIL_VIEW_DESC_UNION
END TYPE
' ########################################################################################
' ID3D10DepthStencilView interface
' IID = 9B7E4C09-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10View
' ########################################################################################
#IF NOT %DEF(%ID3D10DepthStencilView_INTERFACE_DEFINED)
 %ID3D10DepthStencilView_INTERFACE_DEFINED = 1
INTERFACE ID3D10DepthStencilView $IID_ID3D10DepthStencilView
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10View Method
 ' =====================================================================================
 METHOD GetResource ( ' VTable offset = 28
 BYREF ppResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10DepthStencilView Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 32
 BYREF pDesc AS D3D10_DEPTH_STENCIL_VIEW_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10DepthStencilView_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10VertexShader interface
' IID = 9B7E4C0A-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10VertexShader_INTERFACE_DEFINED)
 %ID3D10VertexShader_INTERFACE_DEFINED = 1
INTERFACE ID3D10VertexShader $IID_ID3D10VertexShader
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10VertexShader_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10GeometryShader interface
' IID = 6316BE88-54CD-4040-AB44-20461BC81F68
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10GeometryShader_INTERFACE_DEFINED)
 %ID3D10GeometryShader_INTERFACE_DEFINED = 1
INTERFACE ID3D10GeometryShader $IID_ID3D10GeometryShader
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10GeometryShader_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10PixelShader interface
' IID = 4968B601-9D00-4CDE-8346-8E7F675819B6
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10PixelShader_INTERFACE_DEFINED)
 %ID3D10PixelShader_INTERFACE_DEFINED = 1
INTERFACE ID3D10PixelShader $IID_ID3D10PixelShader
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10PixelShader_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10InputLayout interface
' IID = 9B7E4C0B-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10InputLayout_INTERFACE_DEFINED)
 %ID3D10InputLayout_INTERFACE_DEFINED = 1
INTERFACE ID3D10InputLayout $IID_ID3D10InputLayout
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10InputLayout_INTERFACE_DEFINED__ */
' enum D3D10_FILTER
%EQUATE `D3D10_FILTER_MIN_MAG_MIP_POINT = 0
%EQUATE `D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = &H1
%EQUATE `D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = &H4
%EQUATE `D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = &H5
%EQUATE `D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = &H10
%EQUATE `D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = &H11
%EQUATE `D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = &H14
%EQUATE `D3D10_FILTER_MIN_MAG_MIP_LINEAR = &H15
%EQUATE `D3D10_FILTER_ANISOTROPIC = &H55
%EQUATE `D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = &H80
%EQUATE `D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = &H81
%EQUATE `D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = &H84
%EQUATE `D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = &H85
%EQUATE `D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = &H90
%EQUATE `D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = &H91
%EQUATE `D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = &H94
%EQUATE `D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = &H95
%EQUATE `D3D10_FILTER_COMPARISON_ANISOTROPIC = &Hd5
%EQUATE `D3D10_FILTER_TEXT_1BIT = &H80000000
' enum D3D10_FILTER_TYPE
%EQUATE `D3D10_FILTER_TYPE_POINT = 0
%EQUATE `D3D10_FILTER_TYPE_LINEAR = 1
%EQUATE `D3D10_FILTER_TYPE_MASK = &H3
%EQUATE `D3D10_MIN_FILTER_SHIFT = 4
%EQUATE `D3D10_MAG_FILTER_SHIFT = 2
%EQUATE `D3D10_MIP_FILTER_SHIFT = 0
%EQUATE `D3D10_COMPARISON_FILTERING_BIT = &H80
%EQUATE `D3D10_ANISOTROPIC_FILTERING_BIT = &H40
%EQUATE `D3D10_TEXT_1BIT_BIT = &H80000000
'#define D3D10_ENCODE_BASIC_FILTER( min, mag, mip, bComparison ) \
' ( ( D3D10_FILTER ) ( \
' ( ( bComparison ) ? D3D10_COMPARISON_FILTERING_BIT : 0 ) | \
' ( ( ( min ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIN_FILTER_SHIFT ) | \
' ( ( ( mag ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MAG_FILTER_SHIFT ) | \
' ( ( ( mip ) & D3D10_FILTER_TYPE_MASK ) << D3D10_MIP_FILTER_SHIFT ) ) )
FUNCTION D3D10_ENCODE_BASIC_FILTER (BYVAL nMin AS DWORD, BYVAL mag AS DWORD, BYVAL mip AS DWORD, BYVAL bComparison AS LONG) AS DWORD
 LOCAL xComparison, xMin, xMag, xMip AS DWORD
 xComparison = IIF&(bComparison = %TRUE, %D3D10_COMPARISON_FILTERING_BIT, 0)
 xMin = nMin AND %D3D10_FILTER_TYPE_MASK
 SHIFT LEFT xMin, %D3D10_MIN_FILTER_SHIFT
 xMag = mag AND %D3D10_FILTER_TYPE_MASK
 SHIFT LEFT xMag, %D3D10_MAG_FILTER_SHIFT
 xMip = mip AND %D3D10_FILTER_TYPE_MASK
 SHIFT LEFT xMip, %D3D10_MIP_FILTER_SHIFT
 FUNCTION = xComparison OR xMin OR xMag OR xMip
END FUNCTION
'#define D3D10_ENCODE_ANISOTROPIC_FILTER( bComparison ) \
' ( ( D3D10_FILTER ) ( \
' D3D10_ANISOTROPIC_FILTERING_BIT | \
' D3D10_ENCODE_BASIC_FILTER( D3D10_FILTER_TYPE_LINEAR, \
' D3D10_FILTER_TYPE_LINEAR, \
' D3D10_FILTER_TYPE_LINEAR, \
' bComparison ) ) )
FUNCTION D3D10_ENCODE_ANISOTROPIC_FILTER (BYVAL bComparison AS LONG) AS DWORD
 FUNCTION = %D3D10_ANISOTROPIC_FILTERING_BIT OR D3D10_ENCODE_BASIC_FILTER(%D3D10_FILTER_TYPE_LINEAR, %D3D10_FILTER_TYPE_LINEAR, %D3D10_FILTER_TYPE_LINEAR, bComparison)
END FUNCTION
'#define D3D10_DECODE_MIN_FILTER( d3d10Filter ) \
' ( ( D3D10_FILTER_TYPE ) \
' ( ( ( d3d10Filter ) >> D3D10_MIN_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
FUNCTION D3D10_DECODE_MIN_FILTER (BYVAL d3d10Filter AS DWORD) AS DWORD
 SHIFT RIGHT d3d10Filter, %D3D10_MIN_FILTER_SHIFT
 FUNCTION = d3d10Filter AND %D3D10_FILTER_TYPE_MASK
END FUNCTION
'#define D3D10_DECODE_MAG_FILTER( d3d10Filter ) \
' ( ( D3D10_FILTER_TYPE ) \
' ( ( ( d3d10Filter ) >> D3D10_MAG_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
FUNCTION D3D10_DECODE_MAG_FILTER (BYVAL d3d10Filter AS DWORD) AS DWORD
 SHIFT RIGHT d3d10Filter, %D3D10_MAG_FILTER_SHIFT
 FUNCTION = d3d10Filter AND %D3D10_FILTER_TYPE_MASK
END FUNCTION
'#define D3D10_DECODE_MIP_FILTER( d3d10Filter ) \
' ( ( D3D10_FILTER_TYPE ) \
' ( ( ( d3d10Filter ) >> D3D10_MIP_FILTER_SHIFT ) & D3D10_FILTER_TYPE_MASK ) )
FUNCTION D3D10_DECODE_MIP_FILTER (BYVAL d3d10Filter AS DWORD) AS DWORD
 SHIFT RIGHT d3d10Filter, %D3D10_MIP_FILTER_SHIFT
 FUNCTION = d3d10Filter AND %D3D10_FILTER_TYPE_MASK
END FUNCTION
'#define D3D10_DECODE_IS_COMPARISON_FILTER( d3d10Filter ) \
' ( ( d3d10Filter ) & D3D10_COMPARISON_FILTERING_BIT )
FUNCTION D3D10_DECODE_IS_COMPARISON_FILTER (BYVAL d3d10Filter AS DWORD) AS LONG
 FUNCTION = d3d10Filter AND %D3D10_COMPARISON_FILTERING_BIT
END FUNCTION
'#define D3D10_DECODE_IS_ANISOTROPIC_FILTER( d3d10Filter ) \
' ( ( ( d3d10Filter ) & D3D10_ANISOTROPIC_FILTERING_BIT ) && \
' ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIN_FILTER( d3d10Filter ) ) && \
' ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MAG_FILTER( d3d10Filter ) ) && \
' ( D3D10_FILTER_TYPE_LINEAR == D3D10_DECODE_MIP_FILTER( d3d10Filter ) ) )
FUNCTION D3D10_DECODE_IS_ANISOTROPIC_FILTER (BYVAL d3d10Filter AS DWORD) AS LONG
 FUNCTION = ((d3d10Filter AND %D3D10_ANISOTROPIC_FILTERING_BIT) AND (%D3D10_FILTER_TYPE_LINEAR = D3D10_DECODE_MIN_FILTER(d3d10Filter)) AND (%D3D10_FILTER_TYPE_LINEAR = D3D10_DECODE_MAG_FILTER(d3d10Filter)) AND (%D3D10_FILTER_TYPE_LINEAR = D3D10_DECODE_MIP_FILTER( d3d10Filter)))
END FUNCTION
'#define D3D10_DECODE_IS_TEXT_1BIT_FILTER( d3d10Filter ) \
' ( ( d3d10Filter ) == D3D10_TEXT_1BIT_BIT )
FUNCTION D3D10_DECODE_IS_TEXT_1BIT_FILTER (BYVAL d3d10Filter AS DWORD) AS LONG
 FUNCTION = d3d10Filter = %D3D10_TEXT_1BIT_BIT
END FUNCTION
' enum D3D10_TEXTURE_ADDRESS_MODE
%EQUATE `D3D10_TEXTURE_ADDRESS_WRAP = 1
%EQUATE `D3D10_TEXTURE_ADDRESS_MIRROR = 2
%EQUATE `D3D10_TEXTURE_ADDRESS_CLAMP = 3
%EQUATE `D3D10_TEXTURE_ADDRESS_BORDER = 4
%EQUATE `D3D10_TEXTURE_ADDRESS_MIRROR_ONCE = 5
' // Size = 52 bytes
TYPE D3D10_SAMPLER_DESC DWORD
 Filter AS DWORD ' D3D10_FILTER enum
 AddressU AS DWORD ' D3D10_TEXTURE_ADDRESS_MODE enum
 AddressV AS DWORD ' D3D10_TEXTURE_ADDRESS_MODE enum
 AddressW AS DWORD ' D3D10_TEXTURE_ADDRESS_MODE enum
 MipLODBias AS SINGLE ' FLOAT
 MaxAnisotropy AS DWORD ' UINT
 ComparisonFunc AS DWORD ' D3D10_COMPARISON_FUNC enum
 BorderColor(3) AS SINGLE ' FLOAT[4]
 MinLOD AS SINGLE ' FLOAT
 MaxLOD AS SINGLE ' FLOAT
END TYPE
' ########################################################################################
' ID3D10SamplerState interface
' IID = 9B7E4C0C-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10SamplerState_INTERFACE_DEFINED)
 %ID3D10SamplerState_INTERFACE_DEFINED = 1
INTERFACE ID3D10SamplerState $IID_ID3D10SamplerState
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10SamplerState Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 28
 BYREF pDesc AS D3D10_SAMPLER_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10SamplerState_INTERFACE_DEFINED__ */
' enum D3D10_FORMAT_SUPPORT
%EQUATE `D3D10_FORMAT_SUPPORT_BUFFER = &H1
%EQUATE `D3D10_FORMAT_SUPPORT_IA_VERTEX_BUFFER = &H2
%EQUATE `D3D10_FORMAT_SUPPORT_IA_INDEX_BUFFER = &H4
%EQUATE `D3D10_FORMAT_SUPPORT_SO_BUFFER = &H8
%EQUATE `D3D10_FORMAT_SUPPORT_TEXTURE1D = &H10
%EQUATE `D3D10_FORMAT_SUPPORT_TEXTURE2D = &H20
%EQUATE `D3D10_FORMAT_SUPPORT_TEXTURE3D = &H40
%EQUATE `D3D10_FORMAT_SUPPORT_TEXTURECUBE = &H80
%EQUATE `D3D10_FORMAT_SUPPORT_SHADER_LOAD = &H100
%EQUATE `D3D10_FORMAT_SUPPORT_SHADER_SAMPLE = &H200
%EQUATE `D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = &H400
%EQUATE `D3D10_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = &H800
%EQUATE `D3D10_FORMAT_SUPPORT_MIP = &H1000
%EQUATE `D3D10_FORMAT_SUPPORT_MIP_AUTOGEN = &H2000
%EQUATE `D3D10_FORMAT_SUPPORT_RENDER_TARGET = &H4000
%EQUATE `D3D10_FORMAT_SUPPORT_BLENDABLE = &H8000
%EQUATE `D3D10_FORMAT_SUPPORT_DEPTH_STENCIL = &H10000
%EQUATE `D3D10_FORMAT_SUPPORT_CPU_LOCKABLE = &H20000
%EQUATE `D3D10_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = &H40000
%EQUATE `D3D10_FORMAT_SUPPORT_DISPLAY = &H80000
%EQUATE `D3D10_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = &H100000
%EQUATE `D3D10_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = &H200000
%EQUATE `D3D10_FORMAT_SUPPORT_MULTISAMPLE_LOAD = &H400000
%EQUATE `D3D10_FORMAT_SUPPORT_SHADER_GATHER = &H800000
%EQUATE `D3D10_FORMAT_SUPPORT_BACK_BUFFER_CAST = &H1000000
' ########################################################################################
' ID3D10Asynchronous interface
' IID = 9B7E4C0D-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10DeviceChild
' ########################################################################################
#IF NOT %DEF(%ID3D10Asynchronous_INTERFACE_DEFINED)
 %ID3D10Asynchronous_INTERFACE_DEFINED = 1
INTERFACE ID3D10Asynchronous $IID_ID3D10Asynchronous
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Asynchronous Methods
 ' =====================================================================================
 METHOD Begin ( ' VTable offset = 28
 ) ' void
 ' =====================================================================================
 METHOD End ( ' VTable offset = 32
 ) ' void
 ' =====================================================================================
 METHOD GetData ( ' VTable offset = 36
 BYREF pData AS DWORD
 , BYVAL DataSize AS DWORD
 , BYVAL GetDataFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDataSize ( ' VTable offset = 40
 ) AS DWORD ' UINT
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Asynchronous_INTERFACE_DEFINED__ */
' enum D3D10_ASYNC_GETDATA_FLAG
%EQUATE `D3D10_ASYNC_GETDATA_DONOTFLUSH = &H1
' enum D3D10_QUERY
%EQUATE `D3D10_QUERY_EVENT = 0
%EQUATE `D3D10_QUERY_OCCLUSION = (%D3D10_QUERY_EVENT + 1)
%EQUATE `D3D10_QUERY_TIMESTAMP = (%D3D10_QUERY_OCCLUSION + 1)
%EQUATE `D3D10_QUERY_TIMESTAMP_DISJOINT = (%D3D10_QUERY_TIMESTAMP + 1)
%EQUATE `D3D10_QUERY_PIPELINE_STATISTICS = (%D3D10_QUERY_TIMESTAMP_DISJOINT + 1)
%EQUATE `D3D10_QUERY_OCCLUSION_PREDICATE = (%D3D10_QUERY_PIPELINE_STATISTICS + 1)
%EQUATE `D3D10_QUERY_SO_STATISTICS = (%D3D10_QUERY_OCCLUSION_PREDICATE + 1)
%EQUATE `D3D10_QUERY_SO_OVERFLOW_PREDICATE = (%D3D10_QUERY_SO_STATISTICS + 1)
' enum D3D10_QUERY_MISC_FLAG
%EQUATE `D3D10_QUERY_MISC_PREDICATEHINT = &H1
' // Size = 8 bytes
TYPE D3D10_QUERY_DESC DWORD
 Query AS DWORD ' D3D10_QUERY
 MiscFlags AS DWORD ' UINT
END TYPE
' ########################################################################################
' ID3D10Query interface
' IID = 9B7E4C0E-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Asynchronous
' ########################################################################################
#IF NOT %DEF(%ID3D10Query_INTERFACE_DEFINED)
 %ID3D10Query_INTERFACE_DEFINED = 1
INTERFACE ID3D10Query $IID_ID3D10Query
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Asynchronous Methods
 ' =====================================================================================
 METHOD Begin ( ' VTable offset = 28
 ) ' void
 ' =====================================================================================
 METHOD End ( ' VTable offset = 32
 ) ' void
 ' =====================================================================================
 METHOD GetData ( ' VTable offset = 36
 BYREF pData AS DWORD
 , BYVAL DataSize AS DWORD
 , BYVAL GetDataFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDataSize ( ' VTable offset = 40
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Query Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 44
 BYREF pDesc AS D3D10_QUERY_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Query_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10Predicate interface
' IID = 9B7E4C10-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Query
' ########################################################################################
#IF NOT %DEF(%ID3D10Predicate_INTERFACE_DEFINED)
 %ID3D10Predicate_INTERFACE_DEFINED = 1
INTERFACE ID3D10Predicate $IID_ID3D10Predicate
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Asynchronous Methods
 ' =====================================================================================
 METHOD Begin ( ' VTable offset = 28
 ) ' void
 ' =====================================================================================
 METHOD End ( ' VTable offset = 32
 ) ' void
 ' =====================================================================================
 METHOD GetData ( ' VTable offset = 36
 BYREF pData AS DWORD
 , BYVAL DataSize AS DWORD
 , BYVAL GetDataFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDataSize ( ' VTable offset = 40
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Query Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 44
 BYREF pDesc AS D3D10_QUERY_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Predicate_INTERFACE_DEFINED__ */
' // Size = 8 bytes
TYPE D3D10_QUERY_DATA_TIMESTAMP_DISJOINT DWORD
 Frequency AS QUAD ' UINT64
 Disjoint AS LONG
END TYPE
' // Size = 64 bytes
TYPE D3D10_QUERY_DATA_PIPELINE_STATISTICS QWORD
 IAVertices AS QUAD ' UINT64
 IAPrimitives AS QUAD ' UINT64
 VSInvocations AS QUAD ' UINT64
 GSInvocations AS QUAD ' UINT64
 GSPrimitives AS QUAD ' UINT64
 CInvocations AS QUAD ' UINT64
 CPrimitives AS QUAD ' UINT64
 PSInvocations AS QUAD ' UINT64
END TYPE
' // Size = 16 bytes
TYPE D3D10_QUERY_DATA_SO_STATISTICS QWORD
 NumPrimitivesWritten AS QUAD ' UINT64
 PrimitivesStorageNeeded AS QUAD ' UINT64
END TYPE
' enum D3D10_COUNTER
%EQUATE `D3D10_COUNTER_GPU_IDLE = 0
%EQUATE `D3D10_COUNTER_VERTEX_PROCESSING = (%D3D10_COUNTER_GPU_IDLE + 1)
%EQUATE `D3D10_COUNTER_GEOMETRY_PROCESSING = (%D3D10_COUNTER_VERTEX_PROCESSING + 1)
%EQUATE `D3D10_COUNTER_PIXEL_PROCESSING = (%D3D10_COUNTER_GEOMETRY_PROCESSING + 1)
%EQUATE `D3D10_COUNTER_OTHER_GPU_PROCESSING = (%D3D10_COUNTER_PIXEL_PROCESSING + 1)
%EQUATE `D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION = (%D3D10_COUNTER_OTHER_GPU_PROCESSING + 1)
%EQUATE `D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION = (%D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION + 1)
%EQUATE `D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION = (%D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION + 1)
%EQUATE `D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION = (%D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION + 1)
%EQUATE `D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION = (%D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION + 1)
%EQUATE `D3D10_COUNTER_VS_MEMORY_LIMITED = (%D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION + 1)
%EQUATE `D3D10_COUNTER_VS_COMPUTATION_LIMITED = (%D3D10_COUNTER_VS_MEMORY_LIMITED + 1)
%EQUATE `D3D10_COUNTER_GS_MEMORY_LIMITED = (%D3D10_COUNTER_VS_COMPUTATION_LIMITED + 1)
%EQUATE `D3D10_COUNTER_GS_COMPUTATION_LIMITED = (%D3D10_COUNTER_GS_MEMORY_LIMITED + 1)
%EQUATE `D3D10_COUNTER_PS_MEMORY_LIMITED = (%D3D10_COUNTER_GS_COMPUTATION_LIMITED + 1)
%EQUATE `D3D10_COUNTER_PS_COMPUTATION_LIMITED = (%D3D10_COUNTER_PS_MEMORY_LIMITED + 1)
%EQUATE `D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE = (%D3D10_COUNTER_PS_COMPUTATION_LIMITED + 1)
%EQUATE `D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE = (%D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE + 1)
%EQUATE `D3D10_COUNTER_DEVICE_DEPENDENT_0 = &H40000000
' enum D3D10_COUNTER_TYPE
%EQUATE `D3D10_COUNTER_TYPE_FLOAT32 = 0
%EQUATE `D3D10_COUNTER_TYPE_UINT16 = (%D3D10_COUNTER_TYPE_FLOAT32 + 1)
%EQUATE `D3D10_COUNTER_TYPE_UINT32 = (%D3D10_COUNTER_TYPE_UINT16 + 1)
%EQUATE `D3D10_COUNTER_TYPE_UINT64 = (%D3D10_COUNTER_TYPE_UINT32 + 1)
' // Size = 8 bytes
TYPE D3D10_COUNTER_DESC DWOrd
 Counter AS DWORD ' D3D10_COUNTER
 MiscFlags AS DWORD ' UINT
END TYPE
' // Size = 12 bytes
TYPE D3D10_COUNTER_INFO DWORD
 LastDeviceDependentCounter AS DWORD ' D3D10_COUNTER
 NumSimultaneousCounters AS DWORD ' UINT
 NumDetectableParallelUnits AS BYTE ' UINT8
END TYPE
' ########################################################################################
' ID3D10Counter interface
' IID = 9B7E4C11-342C-4106-A19F-4F2704F689F0
' Inherited interface = ID3D10Asynchronous
' ########################################################################################
#IF NOT %DEF(%ID3D10Counter_INTERFACE_DEFINED)
 %ID3D10Counter_INTERFACE_DEFINED = 1
INTERFACE ID3D10Counter $IID_ID3D10Counter
 INHERIT IUnknown
 ' =====================================================================================
 ' ID3D10DeviceChild Methods
 ' =====================================================================================
 METHOD GetDevice ( ' VTable offset = 12
 BYREF ppDevice AS ID3D10Device
 ) ' void
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYREF pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 20
 BYREF guid AS GUID
 , BYREF DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 24
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Asynchronous Methods
 ' =====================================================================================
 METHOD Begin ( ' VTable offset = 28
 ) ' void
 ' =====================================================================================
 METHOD End ( ' VTable offset = 32
 ) ' void
 ' =====================================================================================
 METHOD GetData ( ' VTable offset = 36
 BYREF pData AS DWORD
 , BYVAL DataSize AS DWORD
 , BYVAL GetDataFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDataSize ( ' VTable offset = 40
 ) AS DWORD ' UINT
 ' =====================================================================================
 ' =====================================================================================
 ' ID3D10Counter Method
 ' =====================================================================================
 METHOD GetDesc ( ' VTable offset = 44
 BYREF pDesc AS D3D10_COUNTER_DESC
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Counter_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10Device interface
' IID = 9B7E4C0F-342C-4106-A19F-4F2704F689F0
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ID3D10Device_INTERFACE_DEFINED)
 %ID3D10Device_INTERFACE_DEFINED = 1
INTERFACE ID3D10Device $IID_ID3D10Device
 INHERIT IUnknown
 ' =====================================================================================
 METHOD VSSetConstantBuffers ( ' VTable offset = 12
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD PSSetShaderResources ( ' VTable offset = 16
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD PSSetShader ( ' VTable offset = 20
 BYVAL pPixelShader AS ID3D10PixelShader
 ) ' void
 ' =====================================================================================
 METHOD PSSetSamplers ( ' VTable offset = 24
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD VSSetShader ( ' VTable offset = 28
 BYVAL pVertexShader AS ID3D10VertexShader
 ) ' void
 ' =====================================================================================
 METHOD DrawIndexed ( ' VTable offset = 32
 BYVAL IndexCount AS DWORD
 , BYVAL StartIndexLocation AS DWORD
 , BYVAL BaseVertexLocation AS LONG
 ) ' void
 ' =====================================================================================
 METHOD Draw ( ' VTable offset = 36
 BYVAL VertexCount AS DWORD
 , BYVAL StartVertexLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD PSSetConstantBuffers ( ' VTable offset = 40
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD IASetInputLayout ( ' VTable offset = 44
 BYVAL pInputLayout AS ID3D10InputLayout
 ) ' void
 ' =====================================================================================
 METHOD IASetVertexBuffers ( ' VTable offset = 48
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppVertexBuffers AS ID3D10Buffer
 , BYREF pStrides AS DWORD
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD IASetIndexBuffer ( ' VTable offset = 52
 BYVAL pIndexBuffer AS ID3D10Buffer
 , BYVAL Format AS DWORD
 , BYVAL Offset AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawIndexedInstanced ( ' VTable offset = 56
 BYVAL IndexCountPerInstance AS DWORD
 , BYVAL InstanceCount AS DWORD
 , BYVAL StartIndexLocation AS DWORD
 , BYVAL BaseVertexLocation AS LONG
 , BYVAL StartInstanceLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawInstanced ( ' VTable offset = 60
 BYVAL VertexCountPerInstance AS DWORD
 , BYVAL InstanceCount AS DWORD
 , BYVAL StartVertexLocation AS DWORD
 , BYVAL StartInstanceLocation AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GSSetConstantBuffers ( ' VTable offset = 64
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD GSSetShader ( ' VTable offset = 68
 BYVAL pShader AS ID3D10GeometryShader
 ) ' void
 ' =====================================================================================
 METHOD IASetPrimitiveTopology ( ' VTable offset = 72
 BYVAL Topology AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSSetShaderResources ( ' VTable offset = 76
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD VSSetSamplers ( ' VTable offset = 80
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD SetPredication ( ' VTable offset = 84
 BYVAL pPredicate AS ID3D10Predicate
 , BYVAL PredicateValue AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GSSetShaderResources ( ' VTable offset = 88
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD GSSetSamplers ( ' VTable offset = 92
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD OMSetRenderTargets ( ' VTable offset = 96
 BYVAL NumViews AS DWORD
 , BYREF ppRenderTargetViews AS ID3D10RenderTargetView
 , BYVAL pDepthStencilView AS ID3D10DepthStencilView
 ) ' void
 ' =====================================================================================
 METHOD OMSetBlendState ( ' VTable offset = 100
 BYVAL pBlendState AS ID3D10BlendState
 , BYREF BlendFactor AS SINGLE
 , BYVAL SampleMask AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD OMSetDepthStencilState ( ' VTable offset = 104
 BYVAL pDepthStencilState AS ID3D10DepthStencilState
 , BYVAL StencilRef AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SOSetTargets ( ' VTable offset = 108
 BYVAL NumBuffers AS DWORD
 , BYREF ppSOTargets AS ID3D10Buffer
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD DrawAuto ( ' VTable offset = 112
 ) ' void
 ' =====================================================================================
 METHOD RSSetState ( ' VTable offset = 116
 BYVAL pRasterizerState AS ID3D10RasterizerState
 ) ' void
 ' =====================================================================================
 METHOD RSSetViewports ( ' VTable offset = 120
 BYVAL NumViewports AS DWORD
 , BYREF pViewports AS D3D10_VIEWPORT
 ) ' void
 ' =====================================================================================
 METHOD RSSetScissorRects ( ' VTable offset = 124
 BYVAL NumRects AS DWORD
 , BYREF pRects AS D3D10_RECT
 ) ' void
 ' =====================================================================================
 METHOD CopySubresourceRegion ( ' VTable offset = 128
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYVAL DstX AS DWORD
 , BYVAL DstY AS DWORD
 , BYVAL DstZ AS DWORD
 , BYVAL pSrcResource AS ID3D10Resource
 , BYVAL SrcSubresource AS DWORD
 , BYREF pSrcBox AS D3D10_BOX
 ) ' void
 ' =====================================================================================
 METHOD CopyResource ( ' VTable offset = 132
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL pSrcResource AS ID3D10Resource
 ) ' void
 ' =====================================================================================
 METHOD UpdateSubresource ( ' VTable offset = 136
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYREF pDstBox AS D3D10_BOX
 , BYVAL pSrcData AS DWORD
 , BYVAL SrcRowPitch AS DWORD
 , BYVAL SrcDepthPitch AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD ClearRenderTargetView ( ' VTable offset = 140
 BYVAL pRenderTargetView AS ID3D10RenderTargetView
 , BYREF ColorRGBA AS SINGLE
 ) ' void
 ' =====================================================================================
 METHOD ClearDepthStencilView ( ' VTable offset = 144
 BYVAL pDepthStencilView AS ID3D10DepthStencilView
 , BYVAL ClearFlags AS DWORD
 , BYVAL Depth AS SINGLE
 , BYVAL Stencil AS BYTE
 ) ' void
 ' =====================================================================================
 METHOD GenerateMips ( ' VTable offset = 148
 BYVAL pShaderResourceView AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD ResolveSubresource ( ' VTable offset = 152
 BYVAL pDstResource AS ID3D10Resource
 , BYVAL DstSubresource AS DWORD
 , BYVAL pSrcResource AS ID3D10Resource
 , BYVAL SrcSubresource AS DWORD
 , BYVAL Format As DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSGetConstantBuffers ( ' VTable offset = 156
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD PSGetShaderResources ( ' VTable offset = 160
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD PSGetShader ( ' VTable offset = 164
 BYREF ppPixelShader AS ID3D10PixelShader
 ) ' void
 ' =====================================================================================
 METHOD PSGetSamplers ( ' VTable offset = 168
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD VSGetShader ( ' VTable offset = 172
 BYREF ppVertexShader AS ID3D10VertexShader
 ) ' void
 ' =====================================================================================
 METHOD PSGetConstantBuffers ( ' VTable offset = 176
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD IAGetInputLayout ( ' VTable offset = 180
 BYREF ppInputLayout AS ID3D10InputLayout
 ) ' void
 ' =====================================================================================
 METHOD IAGetVertexBuffers ( ' VTable offset = 184
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppVertexBuffers AS ID3D10Buffer
 , BYREF pStrides AS DWORD
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD IAGetIndexBuffer ( ' VTable offset = 188
 BYREF pIndexBuffer AS ID3D10Buffer
 , BYREF Format AS DWORD
 , BYREF Offset AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GSGetConstantBuffers ( ' VTable offset = 192
 BYVAL StartSlot AS DWORD
 , BYVAL NumBuffers AS DWORD
 , BYREF ppConstantBuffers AS ID3D10Buffer
 ) ' void
 ' =====================================================================================
 METHOD GSGetShader ( ' VTable offset = 196
 BYREF ppGeometryShader AS ID3D10GeometryShader
 ) ' void
 ' =====================================================================================
 METHOD IAGetPrimitiveTopology ( ' VTable offset = 200
 BYREF pTopology AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD VSGetShaderResources ( ' VTable offset = 204
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD VSGetSamplers ( ' VTable offset = 208
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers AS DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD GetPredication ( ' VTable offset = 212
 BYREF ppPredicate AS ID3D10Predicate
 , BYREF pPredicateValue AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GSGetShaderResources ( ' VTable offset = 216
 BYVAL StartSlot AS DWORD
 , BYVAL NumViews AS DWORD
 , BYREF ppShaderResourceViews AS ID3D10ShaderResourceView
 ) ' void
 ' =====================================================================================
 METHOD GSGetSamplers ( ' VTable offset = 220
 BYVAL StartSlot AS DWORD
 , BYVAL NumSamplers As DWORD
 , BYREF ppSamplers AS ID3D10SamplerState
 ) ' void
 ' =====================================================================================
 METHOD OMGetRenderTargets ( ' VTable offset = 224
 BYVAL NumViews AS DWORD
 , BYREF ppRenderTargetViews AS ID3D10RenderTargetView
 , BYREF ppDepthStencilView AS ID3D10DepthStencilView
 ) ' void
 ' =====================================================================================
 METHOD OMGetBlendState ( ' VTable offset = 228
 BYREF ppBlendState AS ID3D10BlendState
 , BYREF BlendFactor AS SINGLE
 , BYREF pSampleMask AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD OMGetDepthStencilState ( ' VTable offset = 232
 BYREF ppDepthStencilState AS ID3D10DepthStencilState
 , BYREF pStencilRef AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD SOGetTargets ( ' VTable offset = 236
 BYVAL NumBuffers AS DWORD
 , BYREF ppSOTargets AS ID3D10Buffer
 , BYREF pOffsets AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD RSGetState ( ' VTable offset = 240
 BYREF ppRasterizerState AS ID3D10RasterizerState
 ) ' void
 ' =====================================================================================
 METHOD RSGetViewports ( ' VTable offset = 244
 BYREF NumViewports AS DWORD
 , BYREF pViewports AS D3D10_VIEWPORT
 ) ' void
 ' =====================================================================================
 METHOD RSGetScissorRects ( ' VTable offset = 248
 BYREF NumRects AS DWORD
 , BYREF pRects AS D3D10_RECT
 ) ' void
 ' =====================================================================================
 METHOD GetDeviceRemovedReason ( ' VTable offset = 252
 ) AS LONG
 ' =====================================================================================
 METHOD SetExceptionMode ( ' VTable offset = 256
 BYVAL RaiseFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetExceptionMode ( ' VTable offset = 260
 ) AS DWORD ' UINT
 ' =====================================================================================
 METHOD GetPrivateData ( ' VTable offset = 264
 BYREF guid AS GUID
 , BYREF pDataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateData ( ' VTable offset = 268
 BYREF guid AS GUID
 , BYVAL DataSize AS DWORD
 , BYVAL pData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD SetPrivateDataInterface ( ' VTable offset = 272
 BYREF guid AS GUID
 , BYVAL pData AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD ClearState ( ' VTable offset = 276
 ) ' void
 ' =====================================================================================
 METHOD Flush ( ' VTable offset = 280
 ) ' void
 ' =====================================================================================
 METHOD CreateBuffer ( ' VTable offset = 284
 BYREF pDesc AS D3D10_BUFFER_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppBuffer AS ID3D10Buffer
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture1D ( ' VTable offset = 288
 BYREF pDesc AS D3D10_TEXTURE1D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture1D AS ID3D10Texture1D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture2D ( ' VTable offset = 292
 BYREF pDesc AS D3D10_TEXTURE2D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture2D AS ID3D10Texture2D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateTexture3D ( ' VTable offset = 296
 BYREF pDesc AS D3D10_TEXTURE3D_DESC
 , BYREF pInitialData AS D3D10_SUBRESOURCE_DATA
 , BYREF ppTexture3D AS ID3D10Texture3D
 ) AS LONG
 ' =====================================================================================
 METHOD CreateShaderResourceView ( ' VTable offset = 300
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_SHADER_RESOURCE_VIEW_DESC
 , BYREF ppSRView AS ID3D10ShaderResourceView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateRenderTargetView ( ' VTable offset = 304
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_RENDER_TARGET_VIEW_DESC
 , BYREF ppRTView AS ID3D10RenderTargetView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateDepthStencilView ( ' VTable offset = 308
 BYVAL pResource AS ID3D10Resource
 , BYREF pDesc AS D3D10_DEPTH_STENCIL_VIEW_DESC
 , BYREF ppDepthStencilView AS ID3D10DepthStencilView
 ) AS LONG
 ' =====================================================================================
 METHOD CreateInputLayout ( ' VTable offset = 312
 BYREF pInputElementDescs AS D3D10_INPUT_ELEMENT_DESC
 , BYVAL NumElements AS DWORD
 , BYVAL pShaderBytecodeWithInputSignature AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppInputLayout AS ID3D10InputLayout
 ) AS LONG
 ' =====================================================================================
 METHOD CreateVertexShader ( ' VTable offset = 316
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppVertexShader AS ID3D10VertexShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateGeometryShader ( ' VTable offset = 320
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppGeometryShader AS ID3D10GeometryShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateGeometryShaderWithStreamOutput ( ' VTable offset = 324
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF pSODeclaration AS D3D10_SO_DECLARATION_ENTRY
 , BYVAL NumEntries AS DWORD
 , BYVAL OutputStreamStride AS DWORD
 , BYREF ppGeometryShader AS ID3D10GeometryShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreatePixelShader ( ' VTable offset = 328
 BYVAL pShaderBytecode AS DWORD
 , BYVAL BytecodeLength AS DWORD
 , BYREF ppPixelShader AS ID3D10PixelShader
 ) AS LONG
 ' =====================================================================================
 METHOD CreateBlendState ( ' VTable offset = 332
 BYREF pBlendStateDesc AS D3D10_BLEND_DESC
 , BYREF ppBlendState AS ID3D10BlendState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateDepthStencilState ( ' VTable offset = 336
 BYREF pDepthStencilDesc AS D3D10_DEPTH_STENCIL_DESC
 , BYREF ppDepthStencilState AS ID3D10DepthStencilState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateRasterizerState ( ' VTable offset = 340
 BYREF pRasterizerDesc AS D3D10_RASTERIZER_DESC
 , BYREF ppRasterizerState AS ID3D10RasterizerState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateSamplerState ( ' VTable offset = 344
 BYREF pSamplerDesc AS D3D10_SAMPLER_DESC
 , BYREF ppSamplerState AS ID3D10SamplerState
 ) AS LONG
 ' =====================================================================================
 METHOD CreateQuery ( ' VTable offset = 348
 BYREF pQueryDesc AS D3D10_QUERY_DESC
 , BYREF ppQuery AS ID3D10Query
 ) AS LONG
 ' =====================================================================================
 METHOD CreatePredicate ( ' VTable offset = 352
 BYREF pPredicateDesc AS D3D10_QUERY_DESC
 , BYREF ppPredicate AS ID3D10Predicate
 ) AS LONG
 ' =====================================================================================
 METHOD CreateCounter ( ' VTable offset = 356
 BYREF pCounterDesc AS D3D10_COUNTER_DESC
 , BYREF ppCounter AS ID3D10Counter
 ) AS LONG
 ' =====================================================================================
 METHOD CheckFormatSupport ( ' VTable offset = 360
 BYVAL Format AS DWORD
 , BYREF pFormatSupport AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CheckMultisampleQualityLevels ( ' VTable offset = 364
 BYVAL Format AS DWORD
 , BYVAL SampleCount AS DWORD
 , BYREF pNumQualityLevels AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CheckCounterInfo ( ' VTable offset = 368
 BYREF pCounterInfo AS D3D10_COUNTER_INFO
 ) ' void
 ' =====================================================================================
 METHOD CheckCounter ( ' VTable offset = 372
 BYREF pDesc AS D3D10_COUNTER_DESC
 , BYREF pType AS DWORD
 , BYREF pActiveCounters AS DWORD
 , BYREF szName AS ASCIIZ
 , BYREF pNameLength AS DWORD
 , BYREF szUnits AS ASCIIZ
 , BYREF pUnitsLength AS DWORD
 , BYREF szDescription AS ASCIIZ
 , BYREF pDescriptionLength AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetCreationFlags ( ' VTable offset = 376
 ) AS DWORD ' UINT
 ' =====================================================================================
 METHOD OpenSharedResource ( ' VTable offset = 380
 BYVAL hResource AS DWORD
 , BYREF ReturnedInterface AS GUID
 , BYREF ppResource AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD SetTextFilterSize ( ' VTable offset = 384
 BYVAL Width AS DWORD
 , BYVAL Height AS DWORD
 ) ' void
 ' =====================================================================================
 METHOD GetTextFilterSize ( ' VTable offset = 388
 BYREF pWidth AS DWORD
 , BYREF pHeight AS DWORD
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Device_INTERFACE_DEFINED__ */
' ########################################################################################
' ID3D10Multithread interface
' IID = 9B7E4E00-342C-4106-A19F-4F2704F689F0
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ID3D10Multithread_INTERFACE_DEFINED)
 %ID3D10Multithread_INTERFACE_DEFINED = 1
INTERFACE ID3D10Multithread $IID_ID3D10Multithread
 INHERIT IUnknown
 ' =====================================================================================
 METHOD Enter ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
 METHOD Leave ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
 METHOD SetMultithreadProtected ( ' VTable offset = 20
 BYVAL bMTProtect AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD GetMultithreadProtected ( ' VTable offset = 24
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ID3D10Multithread_INTERFACE_DEFINED__ */
' enum D3D10_CREATE_DEVICE_FLAG
%EQUATE `D3D10_CREATE_DEVICE_SINGLETHREADED = &H1
%EQUATE `D3D10_CREATE_DEVICE_DEBUG = &H2
%EQUATE `D3D10_CREATE_DEVICE_SWITCH_TO_REF = &H4
%EQUATE `D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = &H8
%EQUATE `D3D10_CREATE_DEVICE_ALLOW_NULL_FROM_MAP = &H10
%EQUATE `D3D10_CREATE_DEVICE_BGRA_SUPPORT = &H20
%EQUATE `D3D10_CREATE_DEVICE_STRICT_VALIDATION = &H200
%EQUATE `D3D10_SDK_VERSION = 29
#IF NOT %DEF(%D3D10_IGNORE_SDK_LAYERS)
#INCLUDE ONCE "Legacy/Graphics/d3d10sdklayers.inc"
#ENDIF
#INCLUDE ONCE "Legacy/Graphics/d3d10misc.inc"
#INCLUDE ONCE "Legacy/Graphics/D3D10shader.inc"
#INCLUDE ONCE "Legacy/Graphics/D3D10effect.inc"
#ENDIF
