.pragma list(push, 0)
ifndef __REQUIRED_RPCNDR_H_VERSION__
define __REQUIRED_RPCNDR_H_VERSION__ 500
endif
ifndef __REQUIRED_RPCSAL_H_VERSION__
define __REQUIRED_RPCSAL_H_VERSION__ 100
endif

include rpc.inc
include rpcndr.inc
ifndef __RPCNDR_H_VERSION__
.err <this stub requires an updated version of rpcndr.inc>
endif

ifndef COM_NO_WINDOWS_H
include windows.inc
include ole2.inc
endif

ifndef __d3d11_h__
define __d3d11_h__

.pragma comment(lib, d3d11)

include oaidl.inc
include ocidl.inc
include dxgi.inc
include d3dcommon.inc

ifndef _D3D11_CONSTANTS
define _D3D11_CONSTANTS
D3D11_16BIT_INDEX_STRIP_CUT_VALUE equ ( 0xffff )
D3D11_32BIT_INDEX_STRIP_CUT_VALUE equ ( 0xffffffff )
D3D11_8BIT_INDEX_STRIP_CUT_VALUE equ ( 0xff )
D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT equ ( 9 )
D3D11_CLIP_OR_CULL_DISTANCE_COUNT equ ( 8 )
D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT equ ( 2 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT equ ( 14 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS equ ( 4 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT equ ( 15 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS equ ( 4 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT equ ( 15 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST equ ( 1 )
D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS equ ( 1 )
D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT equ ( 64 )
D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS equ ( 4 )
D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT equ ( 1 )
D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST equ ( 1 )
D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS equ ( 1 )
D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS equ ( 1 )
D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT equ ( 128 )
D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST equ ( 1 )
D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS equ ( 1 )
D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT equ ( 128 )
D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS equ ( 1 )
D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT equ ( 16 )
D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST equ ( 1 )
D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS equ ( 1 )
D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT equ ( 16 )
D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT equ ( 32 )
D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS equ ( 4 )
D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_COMMONSHADER_TEMP_REGISTER_COUNT equ ( 4096 )
D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST equ ( 3 )
D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS equ ( 3 )
D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX equ ( 10 )
D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN equ ( -10 )
D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE equ ( -8 )
D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE equ ( 7 )
D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 256 )
D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP equ ( 64 )
D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 240 )
D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP equ ( 68 )
D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 224 )
D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP equ ( 72 )
D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 208 )
D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP equ ( 76 )
D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 192 )
D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP equ ( 84 )
D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 176 )
D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP equ ( 92 )
D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 160 )
D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP equ ( 100 )
D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 144 )
D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP equ ( 112 )
D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 128 )
D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP equ ( 128 )
D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 112 )
D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP equ ( 144 )
D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 96 )
D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP equ ( 168 )
D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 80 )
D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP equ ( 204 )
D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 64 )
D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP equ ( 256 )
D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 48 )
D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP equ ( 340 )
D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 32 )
D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP equ ( 512 )
D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD equ ( 16 )
D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP equ ( 768 )
D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION equ ( 1 )
D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT equ ( 256 )
D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP equ ( 768 )
D3D11_CS_4_X_THREAD_GROUP_MAX_X equ ( 768 )
D3D11_CS_4_X_THREAD_GROUP_MAX_Y equ ( 768 )
D3D11_CS_4_X_UAV_REGISTER_COUNT equ ( 1 )
D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION equ ( 65535 )
D3D11_CS_TGSM_REGISTER_COUNT equ ( 8192 )
D3D11_CS_TGSM_REGISTER_READS_PER_INST equ ( 1 )
D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS equ ( 1 )
D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS equ ( 1 )
D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP equ ( 1024 )
D3D11_CS_THREAD_GROUP_MAX_X equ ( 1024 )
D3D11_CS_THREAD_GROUP_MAX_Y equ ( 1024 )
D3D11_CS_THREAD_GROUP_MAX_Z equ ( 64 )
D3D11_CS_THREAD_GROUP_MIN_X equ ( 1 )
D3D11_CS_THREAD_GROUP_MIN_Y equ ( 1 )
D3D11_CS_THREAD_GROUP_MIN_Z equ ( 1 )
D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL equ ( 16384 )

D3D11_DEFAULT_BLEND_FACTOR_ALPHA equ ( 1.0f )
D3D11_DEFAULT_BLEND_FACTOR_BLUE equ ( 1.0f )
D3D11_DEFAULT_BLEND_FACTOR_GREEN equ ( 1.0f )
D3D11_DEFAULT_BLEND_FACTOR_RED equ ( 1.0f )
D3D11_DEFAULT_BORDER_COLOR_COMPONENT equ ( 0.0f )
D3D11_DEFAULT_DEPTH_BIAS equ ( 0 )

D3D11_DEFAULT_DEPTH_BIAS_CLAMP equ ( 0.0f )
D3D11_DEFAULT_MAX_ANISOTROPY equ ( 16.0f )
D3D11_DEFAULT_MIP_LOD_BIAS equ ( 0.0f )
D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX equ ( 0 )

D3D11_DEFAULT_SAMPLE_MASK equ ( 0xffffffff )
D3D11_DEFAULT_SCISSOR_ENDX equ ( 0 )
D3D11_DEFAULT_SCISSOR_ENDY equ ( 0 )
D3D11_DEFAULT_SCISSOR_STARTX equ ( 0 )
D3D11_DEFAULT_SCISSOR_STARTY equ ( 0 )

D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS equ ( 0.0f )
D3D11_DEFAULT_STENCIL_READ_MASK equ ( 0xff )

D3D11_DEFAULT_STENCIL_REFERENCE equ ( 0 )
D3D11_DEFAULT_STENCIL_WRITE_MASK equ ( 0xff )
D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX equ ( 0 )
D3D11_DEFAULT_VIEWPORT_HEIGHT equ ( 0 )

D3D11_DEFAULT_VIEWPORT_MAX_DEPTH equ ( 0.0f )
D3D11_DEFAULT_VIEWPORT_MIN_DEPTH equ ( 0.0f )
D3D11_DEFAULT_VIEWPORT_TOPLEFTX equ ( 0 )
D3D11_DEFAULT_VIEWPORT_TOPLEFTY equ ( 0 )
D3D11_DEFAULT_VIEWPORT_WIDTH equ ( 0 )
D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS equ ( 3968 )
D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS equ ( 4 )
D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT equ ( 32 )
D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS equ ( 1 )
D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS equ ( 3 )
D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT equ ( 1 )
D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS equ ( 1 )
D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS equ ( 4 )
D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT equ ( 32 )
D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS equ ( 1 )
D3D11_DS_OUTPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_DS_OUTPUT_REGISTER_COUNT equ ( 32 )

D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP equ ( 0.6 )
D3D11_FLOAT32_MAX	equ ( 3.402823466e+38 )
D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP equ ( 0.6f )
D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR equ ( 2.4f )
D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR equ ( 1.0f )
D3D11_FLOAT_TO_SRGB_OFFSET equ ( 0.055f )
D3D11_FLOAT_TO_SRGB_SCALE_1 equ ( 12.92f )
D3D11_FLOAT_TO_SRGB_SCALE_2 equ ( 1.055f )
D3D11_FLOAT_TO_SRGB_THRESHOLD equ ( 0.0031308f )
D3D11_FTOI_INSTRUCTION_MAX_INPUT equ ( 2147483647.999f )
D3D11_FTOI_INSTRUCTION_MIN_INPUT equ ( -2147483648.999f )
D3D11_FTOU_INSTRUCTION_MAX_INPUT equ ( 4294967295.999f )
D3D11_FTOU_INSTRUCTION_MIN_INPUT equ ( 0.0f )
D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST equ ( 2 )

D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS equ ( 1 )
D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS equ ( 1 )
D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT equ ( 1 )
D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS equ ( 1 )
D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT equ ( 1 )
D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST equ ( 2 )
D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS equ ( 1 )
D3D11_GS_INPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_GS_INPUT_REGISTER_COUNT equ ( 32 )
D3D11_GS_INPUT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_GS_INPUT_REGISTER_READ_PORTS equ ( 1 )
D3D11_GS_INPUT_REGISTER_VERTICES equ ( 32 )
D3D11_GS_MAX_INSTANCE_COUNT equ ( 32 )
D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES equ ( 1024 )
D3D11_GS_OUTPUT_ELEMENTS equ ( 32 )
D3D11_GS_OUTPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_GS_OUTPUT_REGISTER_COUNT equ ( 32 )
D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT equ ( 32 )
D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT equ ( 32 )
D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS equ ( 4 )
D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS equ ( 1 )
D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND equ ( 0xffffffff )
D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS equ ( 1 )
D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT equ ( 1 )
D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS equ ( 1 )
D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS equ ( 1 )
D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT equ ( 1 )
D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS equ ( 1 )
D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS equ ( 1 )
D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT equ ( 1 )
D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS equ ( 1 )
D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND equ ( 0xffffffff )

D3D11_HS_MAXTESSFACTOR_LOWER_BOUND equ ( 1.0f )
D3D11_HS_MAXTESSFACTOR_UPPER_BOUND equ ( 64.0f )
D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS equ ( 3968 )

D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS equ ( 1 )
D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT equ ( 1 )
D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS equ ( 1 )
D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS equ ( 4 )
D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT equ ( 32 )
D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS equ ( 1 )
D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES equ ( 0 )
D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY equ ( 0 )
D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES equ ( 0 )
D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT equ ( 1 )
D3D11_IA_INSTANCE_ID_BIT_COUNT equ ( 32 )
D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT equ ( 32 )
D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT equ ( 32 )
D3D11_IA_PRIMITIVE_ID_BIT_COUNT equ ( 32 )
D3D11_IA_VERTEX_ID_BIT_COUNT equ ( 32 )
D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT equ ( 32 )
D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS equ ( 128 )
D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT equ ( 32 )
D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT equ ( 0xffffffff )
D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER equ ( 0xffffffff )
D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL equ ( 0xffffffff )
D3D11_KEEP_UNORDERED_ACCESS_VIEWS equ ( 0xffffffff )
D3D11_LINEAR_GAMMA	equ ( 1.0f )
D3D11_MAJOR_VERSION	equ ( 11 )
D3D11_MAX_BORDER_COLOR_COMPONENT equ ( 1.0f )
D3D11_MAX_DEPTH		equ ( 1.0f )
D3D11_MAX_MAXANISOTROPY equ ( 16 )
D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT equ ( 32 )
D3D11_MAX_POSITION_VALUE equ ( 3.402823466e+34f )
D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP equ ( 17 )
D3D11_MINOR_VERSION	equ ( 0 )
D3D11_MIN_BORDER_COLOR_COMPONENT equ ( 0.0f )
D3D11_MIN_DEPTH		equ ( 0.0f )
D3D11_MIN_MAXANISOTROPY equ ( 0 )
D3D11_MIP_LOD_BIAS_MAX	equ ( 15.99f )
D3D11_MIP_LOD_BIAS_MIN	equ ( -16.0f )
D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT equ ( 8 )
D3D11_MIP_LOD_RANGE_BIT_COUNT equ ( 8 )
D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH equ ( 1.4f )
D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT equ ( 0 )
D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT equ ( 15 )
D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT equ ( 16 )
D3D11_PS_CS_UAV_REGISTER_COMPONENTS equ ( 1 )
D3D11_PS_CS_UAV_REGISTER_COUNT equ ( 8 )
D3D11_PS_CS_UAV_REGISTER_READS_PER_INST equ ( 1 )
D3D11_PS_CS_UAV_REGISTER_READ_PORTS equ ( 1 )
D3D11_PS_FRONTFACING_DEFAULT_VALUE equ ( 0xffffffff )
D3D11_PS_FRONTFACING_FALSE_VALUE equ ( 0 )
D3D11_PS_FRONTFACING_TRUE_VALUE equ ( 0xffffffff )
D3D11_PS_INPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_PS_INPUT_REGISTER_COUNT equ ( 32 )
D3D11_PS_INPUT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_PS_INPUT_REGISTER_READ_PORTS equ ( 1 )

D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT equ ( 0.0f )
D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS equ ( 1 )

D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT equ ( 1 )
D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS equ ( 1 )
D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_PS_OUTPUT_MASK_REGISTER_COUNT equ ( 1 )
D3D11_PS_OUTPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_PS_OUTPUT_REGISTER_COUNT equ ( 8 )
D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT equ ( 0.5f )
D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT equ ( 16 )
D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE equ ( 4096 )
D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP equ ( 27 )
D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT equ ( 4096 )
D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE equ ( 4096 )
D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP equ ( 32 )
D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP equ ( 32 )
D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION equ ( 16384 )
D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT equ ( 1024 )
D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT equ ( 4096 )
D3D11_REQ_MAXANISOTROPY equ ( 16 )
D3D11_REQ_MIP_LEVELS	equ ( 15 )
D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES equ ( 2048 )
D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE equ ( 4096 )
D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH equ ( 16384 )
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM equ ( 128 )
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM equ ( 0.25f )
D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP equ ( 20 )
D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE equ ( 4096 )
D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION equ ( 2048 )
D3D11_REQ_TEXTURE1D_U_DIMENSION equ ( 16384 )
D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION equ ( 2048 )
D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION equ ( 16384 )
D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION equ ( 2048 )
D3D11_REQ_TEXTURECUBE_DIMENSION equ ( 16384 )
D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL equ ( 0 )
D3D11_SHADER_MAJOR_VERSION equ ( 5 )
D3D11_SHADER_MAX_INSTANCES equ ( 65535 )
D3D11_SHADER_MAX_INTERFACES equ ( 256 )
D3D11_SHADER_MAX_INTERFACE_CALL_SITES equ ( 4096 )
D3D11_SHADER_MAX_TYPES	equ ( 65535 )
D3D11_SHADER_MINOR_VERSION equ ( 0 )
D3D11_SHIFT_INSTRUCTION_PAD_VALUE equ ( 0 )
D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT equ ( 5 )
D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT equ ( 8 )
D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES equ ( 2048 )
D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES equ ( 512 )
D3D11_SO_BUFFER_SLOT_COUNT equ ( 4 )
D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP equ ( 0xffffffff )
D3D11_SO_NO_RASTERIZED_STREAM equ ( 0xffffffff )
D3D11_SO_OUTPUT_COMPONENT_COUNT equ ( 128 )
D3D11_SO_STREAM_COUNT	equ ( 4 )
D3D11_SPEC_DATE_DAY	equ ( 19 )
D3D11_SPEC_DATE_MONTH	equ ( 02 )
D3D11_SPEC_DATE_YEAR	equ ( 2009 )

D3D11_SPEC_VERSION	equ ( 0.01 )
D3D11_SRGB_GAMMA	equ ( 2.2f )
D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 equ ( 12.92f )
D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 equ ( 1.055f )
D3D11_SRGB_TO_FLOAT_EXPONENT equ ( 2.4f )
D3D11_SRGB_TO_FLOAT_OFFSET equ ( 0.055f )
D3D11_SRGB_TO_FLOAT_THRESHOLD equ ( 0.04045f )
D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP equ ( 0.5f )
D3D11_STANDARD_COMPONENT_BIT_COUNT equ ( 32 )

D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED equ ( 64 )
D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE equ ( 4 )
D3D11_STANDARD_PIXEL_COMPONENT_COUNT equ ( 128 )
D3D11_STANDARD_PIXEL_ELEMENT_COUNT equ ( 32 )
D3D11_STANDARD_VECTOR_SIZE equ ( 4 )
D3D11_STANDARD_VERTEX_ELEMENT_COUNT equ ( 32 )
D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT equ ( 64 )
D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT equ ( 8 )
D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT equ ( 8 )
D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR equ ( 64 )
D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR equ ( 64 )
D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR equ ( 63 )
D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR equ ( 64 )
D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR equ ( 2 )
D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR equ ( 1 )
D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR equ ( 1 )
D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT equ ( 16 )
D3D11_UNBOUND_MEMORY_ACCESS_RESULT equ ( 0 )
D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX equ ( 15 )
D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE equ ( 16 )
D3D11_VIEWPORT_BOUNDS_MAX equ ( 32767 )
D3D11_VIEWPORT_BOUNDS_MIN equ ( -32768 )
D3D11_VS_INPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_VS_INPUT_REGISTER_COUNT equ ( 32 )
D3D11_VS_INPUT_REGISTER_READS_PER_INST equ ( 2 )
D3D11_VS_INPUT_REGISTER_READ_PORTS equ ( 1 )
D3D11_VS_OUTPUT_REGISTER_COMPONENTS equ ( 4 )
D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT equ ( 32 )
D3D11_VS_OUTPUT_REGISTER_COUNT equ ( 32 )
D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT equ ( 10 )
D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP equ ( 25 )
D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP equ ( 25 )
endif

define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS 0x887C0001
define D3D11_ERROR_FILE_NOT_FOUND	0x887C0002
define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS 0x887C0003
define D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD 0x887C0004

D3D11_INPUT_CLASSIFICATION typedef SDWORD
D3D11_INPUT_PER_VERTEX_DATA equ 0
D3D11_INPUT_PER_INSTANCE_DATA equ 1

D3D11_APPEND_ALIGNED_ELEMENT equ ( 0xffffffff )

D3D11_INPUT_ELEMENT_DESC STRUC
SemanticName		LPCSTR ?
SemanticIndex		UINT ?
Format			DXGI_FORMAT ?
InputSlot		UINT ?
AlignedByteOffset	UINT ?
InputSlotClass		D3D11_INPUT_CLASSIFICATION ?
InstanceDataStepRate	UINT ?
D3D11_INPUT_ELEMENT_DESC ENDS

D3D11_FILL_MODE		typedef SDWORD
D3D11_FILL_WIREFRAME	equ 2
D3D11_FILL_SOLID	equ 3

D3D11_PRIMITIVE_TOPOLOGY typedef SDWORD
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED equ 0
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST equ 1
D3D11_PRIMITIVE_TOPOLOGY_LINELIST equ 2
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP equ 3
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST equ 4
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP equ 5
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ equ 10
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ equ 11
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ equ 12
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ equ 13
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST equ 33
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST equ 34
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST equ 35
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST equ 36
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST equ 37
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST equ 38
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST equ 39
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST equ 40
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST equ 41
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST equ 42
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST equ 43
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST equ 44
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST equ 45
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST equ 46
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST equ 47
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST equ 48
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST equ 49
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST equ 50
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST equ 51
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST equ 52
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST equ 53
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST equ 54
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST equ 55
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST equ 56
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST equ 57
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST equ 58
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST equ 59
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST equ 60
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST equ 61
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST equ 62
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST equ 63
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST equ 64

D3D11_PRIMITIVE		typedef SDWORD
D3D11_PRIMITIVE_UNDEFINED equ 0
D3D11_PRIMITIVE_POINT	equ 1
D3D11_PRIMITIVE_LINE	equ 2
D3D11_PRIMITIVE_TRIANGLE equ 3
D3D11_PRIMITIVE_LINE_ADJ equ 6
D3D11_PRIMITIVE_TRIANGLE_ADJ equ 7
D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH equ 8
D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH equ 9
D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH equ 10
D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH equ 11
D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH equ 12
D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH equ 13
D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH equ 14
D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH equ 15
D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH equ 16
D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH equ 17
D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH equ 18
D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH equ 19
D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH equ 20
D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH equ 21
D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH equ 22
D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH equ 23
D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH equ 24
D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH equ 25
D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH equ 26
D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH equ 27
D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH equ 28
D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH equ 29
D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH equ 30
D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH equ 31
D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH equ 32
D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH equ 33
D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH equ 34
D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH equ 35
D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH equ 36
D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH equ 37
D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH equ 38
D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH equ 39

D3D11_CULL_MODE		typedef SDWORD
D3D11_CULL_NONE		equ 1
D3D11_CULL_FRONT	equ 2
D3D11_CULL_BACK		equ 3

D3D11_SO_DECLARATION_ENTRY STRUC
Stream			UINT ?
SemanticName		LPCSTR ?
SemanticIndex		UINT ?
StartComponent		db ?
ComponentCount		db ?
OutputSlot		db ?
D3D11_SO_DECLARATION_ENTRY ENDS

D3D11_VIEWPORT		STRUC
TopLeftX		FLOAT ?
TopLeftY		FLOAT ?
Width			FLOAT ?
Height			FLOAT ?
MinDepth		FLOAT ?
MaxDepth		FLOAT ?
D3D11_VIEWPORT		ENDS

D3D11_RESOURCE_DIMENSION typedef SDWORD
D3D11_RESOURCE_DIMENSION_UNKNOWN equ 0
D3D11_RESOURCE_DIMENSION_BUFFER equ 1
D3D11_RESOURCE_DIMENSION_TEXTURE1D equ 2
D3D11_RESOURCE_DIMENSION_TEXTURE2D equ 3
D3D11_RESOURCE_DIMENSION_TEXTURE3D equ 4

D3D11_SRV_DIMENSION	typedef SDWORD
D3D11_SRV_DIMENSION_UNKNOWN equ 0
D3D11_SRV_DIMENSION_BUFFER equ 1
D3D11_SRV_DIMENSION_TEXTURE1D equ 2
D3D11_SRV_DIMENSION_TEXTURE1DARRAY equ 3
D3D11_SRV_DIMENSION_TEXTURE2D equ 4
D3D11_SRV_DIMENSION_TEXTURE2DARRAY equ 5
D3D11_SRV_DIMENSION_TEXTURE2DMS equ 6
D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY equ 7
D3D11_SRV_DIMENSION_TEXTURE3D equ 8
D3D11_SRV_DIMENSION_TEXTURECUBE equ 9
D3D11_SRV_DIMENSION_TEXTURECUBEARRAY equ 10
D3D11_SRV_DIMENSION_BUFFEREX equ 11

D3D11_DSV_DIMENSION	typedef SDWORD
D3D11_DSV_DIMENSION_UNKNOWN equ 0
D3D11_DSV_DIMENSION_TEXTURE1D equ 1
D3D11_DSV_DIMENSION_TEXTURE1DARRAY equ 2
D3D11_DSV_DIMENSION_TEXTURE2D equ 3
D3D11_DSV_DIMENSION_TEXTURE2DARRAY equ 4
D3D11_DSV_DIMENSION_TEXTURE2DMS equ 5
D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY equ 6

D3D11_RTV_DIMENSION	typedef SDWORD
D3D11_RTV_DIMENSION_UNKNOWN equ 0
D3D11_RTV_DIMENSION_BUFFER equ 1
D3D11_RTV_DIMENSION_TEXTURE1D equ 2
D3D11_RTV_DIMENSION_TEXTURE1DARRAY equ 3
D3D11_RTV_DIMENSION_TEXTURE2D equ 4
D3D11_RTV_DIMENSION_TEXTURE2DARRAY equ 5
D3D11_RTV_DIMENSION_TEXTURE2DMS equ 6
D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY equ 7
D3D11_RTV_DIMENSION_TEXTURE3D equ 8

D3D11_UAV_DIMENSION	typedef SDWORD
D3D11_UAV_DIMENSION_UNKNOWN equ 0
D3D11_UAV_DIMENSION_BUFFER equ 1
D3D11_UAV_DIMENSION_TEXTURE1D equ 2
D3D11_UAV_DIMENSION_TEXTURE1DARRAY equ 3
D3D11_UAV_DIMENSION_TEXTURE2D equ 4
D3D11_UAV_DIMENSION_TEXTURE2DARRAY equ 5
D3D11_UAV_DIMENSION_TEXTURE3D equ 8

D3D11_USAGE		typedef SDWORD
D3D11_USAGE_DEFAULT	equ 0
D3D11_USAGE_IMMUTABLE	equ 1
D3D11_USAGE_DYNAMIC	equ 2
D3D11_USAGE_STAGING	equ 3

D3D11_BIND_FLAG		typedef SDWORD
D3D11_BIND_VERTEX_BUFFER equ 0x1
D3D11_BIND_INDEX_BUFFER equ 0x2
D3D11_BIND_CONSTANT_BUFFER equ 0x4
D3D11_BIND_SHADER_RESOURCE equ 0x8
D3D11_BIND_STREAM_OUTPUT equ 0x10
D3D11_BIND_RENDER_TARGET equ 0x20
D3D11_BIND_DEPTH_STENCIL equ 0x40
D3D11_BIND_UNORDERED_ACCESS equ 0x80

D3D11_CPU_ACCESS_FLAG	typedef SDWORD
D3D11_CPU_ACCESS_WRITE	equ 0x10000
D3D11_CPU_ACCESS_READ	equ 0x20000

D3D11_RESOURCE_MISC_FLAG typedef SDWORD
D3D11_RESOURCE_MISC_GENERATE_MIPS equ 0x1
D3D11_RESOURCE_MISC_SHARED equ 0x2
D3D11_RESOURCE_MISC_TEXTURECUBE equ 0x4
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS equ 0x10
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS equ 0x20
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED equ 0x40
D3D11_RESOURCE_MISC_RESOURCE_CLAMP equ 0x80
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX equ 0x100
D3D11_RESOURCE_MISC_GDI_COMPATIBLE equ 0x200

D3D11_MAP		typedef SDWORD
D3D11_MAP_READ		equ 1
D3D11_MAP_WRITE		equ 2
D3D11_MAP_READ_WRITE	equ 3
D3D11_MAP_WRITE_DISCARD equ 4
D3D11_MAP_WRITE_NO_OVERWRITE equ 5

D3D11_MAP_FLAG		typedef SDWORD
D3D11_MAP_FLAG_DO_NOT_WAIT equ 0x100000

D3D11_RAISE_FLAG	typedef SDWORD
D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR equ 0x1

D3D11_CLEAR_FLAG	typedef SDWORD
D3D11_CLEAR_DEPTH	equ 0x1
D3D11_CLEAR_STENCIL	equ 0x2

D3D11_RECT		typedef RECT

D3D11_BOX		STRUC
left			UINT ?
top			UINT ?
front			UINT ?
right			UINT ?
bottom			UINT ?
back			UINT ?
D3D11_BOX		ENDS

ifndef __ID3D11DeviceChild_INTERFACE_DEFINED__
define __ID3D11DeviceChild_INTERFACE_DEFINED__

.comdef ID3D11DeviceChild : public IUnknown

    GetDevice		proc :ptr
    GetPrivateData	proc :REFGUID, :ptr, pDataSize:ptr
    SetPrivateData	proc :REFGUID, :UINT, :ptr
    SetPrivateDataInterface proc :REFGUID, :ptr
   .ends

endif

D3D11_COMPARISON_FUNC	typedef SDWORD
D3D11_COMPARISON_NEVER	equ 1
D3D11_COMPARISON_LESS	equ 2
D3D11_COMPARISON_EQUAL	equ 3
D3D11_COMPARISON_LESS_EQUAL equ 4
D3D11_COMPARISON_GREATER equ 5
D3D11_COMPARISON_NOT_EQUAL equ 6
D3D11_COMPARISON_GREATER_EQUAL equ 7
D3D11_COMPARISON_ALWAYS equ 8

D3D11_DEPTH_WRITE_MASK	typedef SDWORD
D3D11_DEPTH_WRITE_MASK_ZERO equ 0
D3D11_DEPTH_WRITE_MASK_ALL equ 1

D3D11_STENCIL_OP	typedef SDWORD
D3D11_STENCIL_OP_KEEP	equ 1
D3D11_STENCIL_OP_ZERO	equ 2
D3D11_STENCIL_OP_REPLACE equ 3
D3D11_STENCIL_OP_INCR_SAT equ 4
D3D11_STENCIL_OP_DECR_SAT equ 5
D3D11_STENCIL_OP_INVERT equ 6
D3D11_STENCIL_OP_INCR	equ 7
D3D11_STENCIL_OP_DECR	equ 8

D3D11_DEPTH_STENCILOP_DESC STRUC
StencilFailOp		D3D11_STENCIL_OP ?
StencilDepthFailOp	D3D11_STENCIL_OP ?
StencilPassOp		D3D11_STENCIL_OP ?
StencilFunc		D3D11_COMPARISON_FUNC ?
D3D11_DEPTH_STENCILOP_DESC ENDS

D3D11_DEPTH_STENCIL_DESC STRUC
DepthEnable		BOOL ?
DepthWriteMask		D3D11_DEPTH_WRITE_MASK ?
DepthFunc		D3D11_COMPARISON_FUNC ?
StencilEnable		BOOL ?
StencilReadMask		UINT8 ?
StencilWriteMask	UINT8 ?
FrontFace		D3D11_DEPTH_STENCILOP_DESC <>
BackFace		D3D11_DEPTH_STENCILOP_DESC <>
D3D11_DEPTH_STENCIL_DESC ENDS

ifndef __ID3D11DepthStencilState_INTERFACE_DEFINED__
define __ID3D11DepthStencilState_INTERFACE_DEFINED__

.comdef ID3D11DepthStencilState : public ID3D11DeviceChild

    GetDesc		proc :ptr
   .ends

endif

D3D11_BLEND		typedef SDWORD
D3D11_BLEND_ZERO	equ 1
D3D11_BLEND_ONE		equ 2
D3D11_BLEND_SRC_COLOR	equ 3
D3D11_BLEND_INV_SRC_COLOR equ 4
D3D11_BLEND_SRC_ALPHA	equ 5
D3D11_BLEND_INV_SRC_ALPHA equ 6
D3D11_BLEND_DEST_ALPHA	equ 7
D3D11_BLEND_INV_DEST_ALPHA equ 8
D3D11_BLEND_DEST_COLOR	equ 9
D3D11_BLEND_INV_DEST_COLOR equ 10
D3D11_BLEND_SRC_ALPHA_SAT equ 11
D3D11_BLEND_BLEND_FACTOR equ 14
D3D11_BLEND_INV_BLEND_FACTOR equ 15
D3D11_BLEND_SRC1_COLOR	equ 16
D3D11_BLEND_INV_SRC1_COLOR equ 17
D3D11_BLEND_SRC1_ALPHA	equ 18
D3D11_BLEND_INV_SRC1_ALPHA equ 19

D3D11_BLEND_OP		typedef SDWORD
D3D11_BLEND_OP_ADD	equ 1
D3D11_BLEND_OP_SUBTRACT equ 2
D3D11_BLEND_OP_REV_SUBTRACT equ 3
D3D11_BLEND_OP_MIN	equ 4
D3D11_BLEND_OP_MAX	equ 5

D3D11_COLOR_WRITE_ENABLE typedef SDWORD
D3D11_COLOR_WRITE_ENABLE_RED equ 1
D3D11_COLOR_WRITE_ENABLE_GREEN equ 2
D3D11_COLOR_WRITE_ENABLE_BLUE equ 4
D3D11_COLOR_WRITE_ENABLE_ALPHA equ 8
D3D11_COLOR_WRITE_ENABLE_ALL equ ( ( ( D3D11_COLOR_WRITE_ENABLE_RED or D3D11_COLOR_WRITE_ENABLE_GREEN ) or D3D11_COLOR_WRITE_ENABLE_BLUE ) or D3D11_COLOR_WRITE_ENABLE_ALPHA )

D3D11_RENDER_TARGET_BLEND_DESC STRUC
BlendEnable		BOOL ?
SrcBlend		D3D11_BLEND ?
DestBlend		D3D11_BLEND ?
BlendOp			D3D11_BLEND_OP ?
SrcBlendAlpha		D3D11_BLEND ?
DestBlendAlpha		D3D11_BLEND ?
BlendOpAlpha		D3D11_BLEND_OP ?
RenderTargetWriteMask	UINT8 ?
D3D11_RENDER_TARGET_BLEND_DESC ENDS

D3D11_BLEND_DESC	STRUC
AlphaToCoverageEnable	BOOL ?
IndependentBlendEnable	BOOL ?
RenderTarget		D3D11_RENDER_TARGET_BLEND_DESC 8 dup(<>)
D3D11_BLEND_DESC	ENDS

ifndef __ID3D11BlendState_INTERFACE_DEFINED__
define __ID3D11BlendState_INTERFACE_DEFINED__

.comdef ID3D11BlendState : public ID3D11DepthStencilState
   .ends

endif

D3D11_RASTERIZER_DESC	STRUC
FillMode		D3D11_FILL_MODE ?
CullMode		D3D11_CULL_MODE ?
FrontCounterClockwise	BOOL ?
DepthBias		SINT ?
DepthBiasClamp		FLOAT ?
SlopeScaledDepthBias	FLOAT ?
DepthClipEnable		BOOL ?
ScissorEnable		BOOL ?
MultisampleEnable	BOOL ?
AntialiasedLineEnable	BOOL ?
D3D11_RASTERIZER_DESC	ENDS

ifndef __ID3D11RasterizerState_INTERFACE_DEFINED__
define __ID3D11RasterizerState_INTERFACE_DEFINED__

.comdef ID3D11RasterizerState : public ID3D11DepthStencilState
   .ends

endif

D3D11_SUBRESOURCE_DATA	STRUC
pSysMem			PVOID ?
SysMemPitch		UINT ?
SysMemSlicePitch	UINT ?
D3D11_SUBRESOURCE_DATA	ENDS

D3D11_MAPPED_SUBRESOURCE STRUC
pData			PVOID ?
RowPitch		UINT ?
DepthPitch		UINT ?
D3D11_MAPPED_SUBRESOURCE ENDS

ifndef __ID3D11Resource_INTERFACE_DEFINED__
define __ID3D11Resource_INTERFACE_DEFINED__

.comdef ID3D11Resource : public ID3D11DeviceChild

    GetType		proc :ptr
    SetEvictionPriority proc :UINT
    GetEvictionPriority proc
   .ends

endif

D3D11_BUFFER_DESC	STRUC
ByteWidth		UINT ?
Usage			D3D11_USAGE ?
BindFlags		UINT ?
CPUAccessFlags		UINT ?
MiscFlags		UINT ?
StructureByteStride	UINT ?
D3D11_BUFFER_DESC	ENDS

ifndef __ID3D11Buffer_INTERFACE_DEFINED__
define __ID3D11Buffer_INTERFACE_DEFINED__

.comdef ID3D11Buffer : public ID3D11Resource

    GetDesc		proc :ptr
   .ends
    LPID3D11Buffer	typedef ptr ID3D11Buffer

endif

D3D11_TEXTURE1D_DESC	STRUC
Width			UINT ?
MipLevels		UINT ?
ArraySize		UINT ?
Format			DXGI_FORMAT ?
Usage			D3D11_USAGE ?
BindFlags		UINT ?
CPUAccessFlags		UINT ?
MiscFlags		UINT ?
D3D11_TEXTURE1D_DESC	ENDS

ifndef __ID3D11Texture1D_INTERFACE_DEFINED__
define __ID3D11Texture1D_INTERFACE_DEFINED__

.comdef ID3D11Texture1D : public ID3D11Buffer
   .ends

endif

D3D11_TEXTURE2D_DESC	STRUC
Width			UINT ?
Height			UINT ?
MipLevels		UINT ?
ArraySize		UINT ?
Format			DXGI_FORMAT ?
SampleDesc		DXGI_SAMPLE_DESC <>
Usage			D3D11_USAGE ?
BindFlags		UINT ?
CPUAccessFlags		UINT ?
MiscFlags		UINT ?
D3D11_TEXTURE2D_DESC	ENDS

ifndef __ID3D11Texture2D_INTERFACE_DEFINED__
define __ID3D11Texture2D_INTERFACE_DEFINED__

.comdef ID3D11Texture2D : public ID3D11Buffer
   .ends
    LPID3D11Texture2D	typedef ptr ID3D11Texture2D
endif

D3D11_TEXTURE3D_DESC	STRUC
Width			UINT ?
Height			UINT ?
Depth			UINT ?
MipLevels		UINT ?
Format			DXGI_FORMAT ?
Usage			D3D11_USAGE ?
BindFlags		UINT ?
CPUAccessFlags		UINT ?
MiscFlags		UINT ?
D3D11_TEXTURE3D_DESC	ENDS

ifndef __ID3D11Texture3D_INTERFACE_DEFINED__
define __ID3D11Texture3D_INTERFACE_DEFINED__

.comdef ID3D11Texture3D : public ID3D11Buffer
   .ends
endif

D3D11_TEXTURECUBE_FACE	typedef SDWORD
D3D11_TEXTURECUBE_FACE_POSITIVE_X equ 0
D3D11_TEXTURECUBE_FACE_NEGATIVE_X equ 1
D3D11_TEXTURECUBE_FACE_POSITIVE_Y equ 2
D3D11_TEXTURECUBE_FACE_NEGATIVE_Y equ 3
D3D11_TEXTURECUBE_FACE_POSITIVE_Z equ 4
D3D11_TEXTURECUBE_FACE_NEGATIVE_Z equ 5

ifndef __ID3D11View_INTERFACE_DEFINED__
define __ID3D11View_INTERFACE_DEFINED__

.comdef ID3D11View : public ID3D11DeviceChild

    GetResource		proc :ptr
   .ends

endif

D3D11_BUFFER_SRV	STRUC
UNION
 FirstElement		UINT ?
 ElementOffset		UINT ?
ENDS
UNION
 NumElements		UINT ?
 ElementWidth		UINT ?
ENDS
D3D11_BUFFER_SRV	ENDS

D3D11_BUFFEREX_SRV_FLAG typedef SDWORD
D3D11_BUFFEREX_SRV_FLAG_RAW equ 0x1

D3D11_BUFFEREX_SRV	STRUC
FirstElement		UINT ?
NumElements		UINT ?
Flags			UINT ?
D3D11_BUFFEREX_SRV	ENDS

D3D11_TEX1D_SRV		STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
D3D11_TEX1D_SRV		ENDS

D3D11_TEX1D_ARRAY_SRV	STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX1D_ARRAY_SRV	ENDS

D3D11_TEX2D_SRV		STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
D3D11_TEX2D_SRV		ENDS

D3D11_TEX2D_ARRAY_SRV	STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2D_ARRAY_SRV	ENDS

D3D11_TEX3D_SRV		STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
D3D11_TEX3D_SRV		ENDS

D3D11_TEXCUBE_SRV	STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
D3D11_TEXCUBE_SRV	ENDS

D3D11_TEXCUBE_ARRAY_SRV STRUC
MostDetailedMip		UINT ?
MipLevels		UINT ?
First2DArrayFace	UINT ?
NumCubes		UINT ?
D3D11_TEXCUBE_ARRAY_SRV ENDS

D3D11_TEX2DMS_SRV	STRUC
UnusedField_NothingToDefine UINT ?
D3D11_TEX2DMS_SRV	ENDS

D3D11_TEX2DMS_ARRAY_SRV STRUC
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2DMS_ARRAY_SRV ENDS

D3D11_SHADER_RESOURCE_VIEW_DESC STRUC
Format			DXGI_FORMAT ?
ViewDimension		D3D11_SRV_DIMENSION ?
UNION
 Buffer			D3D11_BUFFER_SRV <>
 Texture1D		D3D11_TEX1D_SRV <>
 Texture1DArray		D3D11_TEX1D_ARRAY_SRV <>
 Texture2D		D3D11_TEX2D_SRV <>
 Texture2DArray		D3D11_TEX2D_ARRAY_SRV <>
 Texture2DMS		D3D11_TEX2DMS_SRV <>
 Texture2DMSArray	D3D11_TEX2DMS_ARRAY_SRV <>
 Texture3D		D3D11_TEX3D_SRV <>
 TextureCube		D3D11_TEXCUBE_SRV <>
 TextureCubeArray	D3D11_TEXCUBE_ARRAY_SRV <>
 BufferEx		D3D11_BUFFEREX_SRV <>
ENDS
D3D11_SHADER_RESOURCE_VIEW_DESC ENDS

ifndef __ID3D11ShaderResourceView_INTERFACE_DEFINED__
define __ID3D11ShaderResourceView_INTERFACE_DEFINED__

.comdef ID3D11ShaderResourceView : public ID3D11View

    GetDesc		proc :ptr
   .ends

endif

D3D11_BUFFER_RTV	STRUC
UNION
 FirstElement		UINT ?
 ElementOffset		UINT ?
ENDS
UNION
 NumElements		UINT ?
 ElementWidth		UINT ?
ENDS
D3D11_BUFFER_RTV	ENDS

D3D11_TEX1D_RTV		STRUC
MipSlice		UINT ?
D3D11_TEX1D_RTV		ENDS

D3D11_TEX1D_ARRAY_RTV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX1D_ARRAY_RTV	ENDS

D3D11_TEX2D_RTV		STRUC
MipSlice		UINT ?
D3D11_TEX2D_RTV		ENDS

D3D11_TEX2DMS_RTV	STRUC
UnusedField_NothingToDefine UINT ?
D3D11_TEX2DMS_RTV	ENDS

D3D11_TEX2D_ARRAY_RTV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2D_ARRAY_RTV	ENDS

D3D11_TEX2DMS_ARRAY_RTV STRUC
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2DMS_ARRAY_RTV ENDS

D3D11_TEX3D_RTV		STRUC
MipSlice		UINT ?
FirstWSlice		UINT ?
WSize			UINT ?
D3D11_TEX3D_RTV		ENDS

D3D11_RENDER_TARGET_VIEW_DESC STRUC
Format			DXGI_FORMAT ?
ViewDimension		D3D11_RTV_DIMENSION ?
UNION
Buffer			D3D11_BUFFER_RTV <>
 Texture1D		D3D11_TEX1D_RTV <>
 Texture1DArray		D3D11_TEX1D_ARRAY_RTV <>
 Texture2D		D3D11_TEX2D_RTV <>
 Texture2DArray		D3D11_TEX2D_ARRAY_RTV <>
 Texture2DMS		D3D11_TEX2DMS_RTV <>
 Texture2DMSArray	D3D11_TEX2DMS_ARRAY_RTV <>
 Texture3D		D3D11_TEX3D_RTV <>
ENDS
D3D11_RENDER_TARGET_VIEW_DESC ENDS

ifndef __ID3D11RenderTargetView_INTERFACE_DEFINED__
define __ID3D11RenderTargetView_INTERFACE_DEFINED__

.comdef ID3D11RenderTargetView : public ID3D11ShaderResourceView
   .ends
    LPID3D11RenderTargetView typedef ptr ID3D11RenderTargetView
endif

D3D11_TEX1D_DSV		STRUC
MipSlice		UINT ?
D3D11_TEX1D_DSV		ENDS

D3D11_TEX1D_ARRAY_DSV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX1D_ARRAY_DSV	ENDS

D3D11_TEX2D_DSV		STRUC
MipSlice		UINT ?
D3D11_TEX2D_DSV		ENDS

D3D11_TEX2D_ARRAY_DSV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2D_ARRAY_DSV	ENDS

D3D11_TEX2DMS_DSV	STRUC
UnusedField_NothingToDefine UINT ?
D3D11_TEX2DMS_DSV	ENDS

D3D11_TEX2DMS_ARRAY_DSV STRUC
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2DMS_ARRAY_DSV ENDS

D3D11_DSV_FLAG		typedef SDWORD
D3D11_DSV_READ_ONLY_DEPTH equ 0x1
D3D11_DSV_READ_ONLY_STENCIL equ 0x2

D3D11_DEPTH_STENCIL_VIEW_DESC STRUC
Format			DXGI_FORMAT ?
ViewDimension		D3D11_DSV_DIMENSION ?
UNION
 Flags			UINT ?
 Texture1D		D3D11_TEX1D_DSV <>
 Texture1DArray		D3D11_TEX1D_ARRAY_DSV <>
 Texture2D		D3D11_TEX2D_DSV <>
 Texture2DArray		D3D11_TEX2D_ARRAY_DSV <>
 Texture2DMS		D3D11_TEX2DMS_DSV <>
 Texture2DMSArray	D3D11_TEX2DMS_ARRAY_DSV <>
ENDS
D3D11_DEPTH_STENCIL_VIEW_DESC ENDS

ifndef __ID3D11DepthStencilView_INTERFACE_DEFINED__
define __ID3D11DepthStencilView_INTERFACE_DEFINED__

.comdef ID3D11DepthStencilView : public ID3D11ShaderResourceView

    .ends

LPID3D11DepthStencilView typedef ptr ID3D11DepthStencilView
endif

D3D11_BUFFER_UAV_FLAG	typedef SDWORD
D3D11_BUFFER_UAV_FLAG_RAW equ 0x1
D3D11_BUFFER_UAV_FLAG_APPEND equ 0x2
D3D11_BUFFER_UAV_FLAG_COUNTER equ 0x4

D3D11_BUFFER_UAV	STRUC
FirstElement		UINT ?
NumElements		UINT ?
Flags			UINT ?
D3D11_BUFFER_UAV	ENDS

D3D11_TEX1D_UAV		STRUC
MipSlice		UINT ?
D3D11_TEX1D_UAV		ENDS

D3D11_TEX1D_ARRAY_UAV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX1D_ARRAY_UAV	ENDS

D3D11_TEX2D_UAV		STRUC
MipSlice		UINT ?
D3D11_TEX2D_UAV		ENDS

D3D11_TEX2D_ARRAY_UAV	STRUC
MipSlice		UINT ?
FirstArraySlice		UINT ?
ArraySize		UINT ?
D3D11_TEX2D_ARRAY_UAV	ENDS

D3D11_TEX3D_UAV		STRUC
MipSlice		UINT ?
FirstWSlice		UINT ?
WSize			UINT ?
D3D11_TEX3D_UAV		ENDS

D3D11_UNORDERED_ACCESS_VIEW_DESC STRUC
Format			DXGI_FORMAT ?
ViewDimension		D3D11_UAV_DIMENSION ?
UNION
 Buffer			D3D11_BUFFER_UAV <>
 Texture1D		D3D11_TEX1D_UAV <>
 Texture1DArray		D3D11_TEX1D_ARRAY_UAV <>
 Texture2D		D3D11_TEX2D_UAV <>
 Texture2DArray		D3D11_TEX2D_ARRAY_UAV <>
 Texture3D		D3D11_TEX3D_UAV <>
ENDS
D3D11_UNORDERED_ACCESS_VIEW_DESC ENDS

ifndef __ID3D11UnorderedAccessView_INTERFACE_DEFINED__
define __ID3D11UnorderedAccessView_INTERFACE_DEFINED__

.comdef ID3D11UnorderedAccessView : public ID3D11View

    GetDesc		proc :ptr
   .ends
endif

ifndef __ID3D11VertexShader_INTERFACE_DEFINED__
define __ID3D11VertexShader_INTERFACE_DEFINED__

.comdef ID3D11VertexShader : public ID3D11DeviceChild
   .ends

LPID3D11VertexShader	typedef ptr ID3D11VertexShader
endif

ifndef __ID3D11HullShader_INTERFACE_DEFINED__
define __ID3D11HullShader_INTERFACE_DEFINED__

.comdef ID3D11HullShader : public ID3D11DeviceChild
   .ends

endif

ifndef __ID3D11DomainShader_INTERFACE_DEFINED__
define __ID3D11DomainShader_INTERFACE_DEFINED__

.comdef ID3D11DomainShader : public ID3D11DeviceChild
   .ends
endif

ifndef __ID3D11GeometryShader_INTERFACE_DEFINED__
define __ID3D11GeometryShader_INTERFACE_DEFINED__

.comdef ID3D11GeometryShader : public ID3D11DeviceChild
   .ends
endif

ifndef __ID3D11PixelShader_INTERFACE_DEFINED__
define __ID3D11PixelShader_INTERFACE_DEFINED__

.comdef ID3D11PixelShader : public ID3D11DeviceChild
   .ends
    LPID3D11PixelShader typedef ptr ID3D11PixelShader
endif

ifndef __ID3D11ComputeShader_INTERFACE_DEFINED__
define __ID3D11ComputeShader_INTERFACE_DEFINED__

.comdef ID3D11ComputeShader : public ID3D11DeviceChild
   .ends
endif

ifndef __ID3D11InputLayout_INTERFACE_DEFINED__
define __ID3D11InputLayout_INTERFACE_DEFINED__

.comdef ID3D11InputLayout : public ID3D11DeviceChild
   .ends

LPID3D11InputLayout	typedef ptr ID3D11InputLayout
endif

D3D11_FILTER		typedef SDWORD
D3D11_FILTER_MIN_MAG_MIP_POINT equ 0
D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR equ 0x1
D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT equ 0x4
D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR equ 0x5
D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT equ 0x10
D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR equ 0x11
D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT equ 0x14
D3D11_FILTER_MIN_MAG_MIP_LINEAR equ 0x15
D3D11_FILTER_ANISOTROPIC equ 0x55
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT equ 0x80
D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR equ 0x81
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT equ 0x84
D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR equ 0x85
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT equ 0x90
D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR equ 0x91
D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT equ 0x94
D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR equ 0x95
D3D11_FILTER_COMPARISON_ANISOTROPIC equ 0xd5

D3D11_FILTER_TYPE	typedef SDWORD
D3D11_FILTER_TYPE_POINT equ 0
D3D11_FILTER_TYPE_LINEAR equ 1

D3D11_FILTER_TYPE_MASK	equ ( 0x3 )
D3D11_MIN_FILTER_SHIFT	equ ( 4 )
D3D11_MAG_FILTER_SHIFT	equ ( 2 )
D3D11_MIP_FILTER_SHIFT	equ ( 0 )
D3D11_COMPARISON_FILTERING_BIT equ ( 0x80 )
D3D11_ANISOTROPIC_FILTERING_BIT equ ( 0x40 )
D3D11_ENCODE_BASIC_FILTER macro min, mag, mip, bComparison
	exitm<>
	endm
D3D11_ENCODE_ANISOTROPIC_FILTER macro bComparison
	exitm<>
	endm
D3D11_DECODE_MIN_FILTER macro d3d11Filter
	exitm<>
	endm
D3D11_DECODE_MAG_FILTER macro d3d11Filter
	exitm<>
	endm
D3D11_DECODE_MIP_FILTER macro d3d11Filter
	exitm<>
	endm
D3D11_DECODE_IS_COMPARISON_FILTER macro d3d11Filter
	exitm<>
	endm
D3D11_DECODE_IS_ANISOTROPIC_FILTER macro d3d11Filter
	exitm<>
	endm

D3D11_TEXTURE_ADDRESS_MODE typedef SDWORD
D3D11_TEXTURE_ADDRESS_WRAP equ 1
D3D11_TEXTURE_ADDRESS_MIRROR equ 2
D3D11_TEXTURE_ADDRESS_CLAMP equ 3
D3D11_TEXTURE_ADDRESS_BORDER equ 4
D3D11_TEXTURE_ADDRESS_MIRROR_ONCE equ 5

D3D11_SAMPLER_DESC	STRUC
Filter			D3D11_FILTER ?
AddressU		D3D11_TEXTURE_ADDRESS_MODE ?
AddressV		D3D11_TEXTURE_ADDRESS_MODE ?
AddressW		D3D11_TEXTURE_ADDRESS_MODE ?
MipLODBias		FLOAT ?
MaxAnisotropy		UINT ?
ComparisonFunc		D3D11_COMPARISON_FUNC ?
BorderColor		FLOAT 4 dup(?)
MinLOD			FLOAT ?
MaxLOD			FLOAT ?
D3D11_SAMPLER_DESC	ENDS

ifndef __ID3D11SamplerState_INTERFACE_DEFINED__
define __ID3D11SamplerState_INTERFACE_DEFINED__

.comdef ID3D11SamplerState : public ID3D11DepthStencilState
   .ends
endif

D3D11_FORMAT_SUPPORT	typedef SDWORD
D3D11_FORMAT_SUPPORT_BUFFER equ 0x1
D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER equ 0x2
D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER equ 0x4
D3D11_FORMAT_SUPPORT_SO_BUFFER equ 0x8
D3D11_FORMAT_SUPPORT_TEXTURE1D equ 0x10
D3D11_FORMAT_SUPPORT_TEXTURE2D equ 0x20
D3D11_FORMAT_SUPPORT_TEXTURE3D equ 0x40
D3D11_FORMAT_SUPPORT_TEXTURECUBE equ 0x80
D3D11_FORMAT_SUPPORT_SHADER_LOAD equ 0x100
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE equ 0x200
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON equ 0x400
D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT equ 0x800
D3D11_FORMAT_SUPPORT_MIP equ 0x1000
D3D11_FORMAT_SUPPORT_MIP_AUTOGEN equ 0x2000
D3D11_FORMAT_SUPPORT_RENDER_TARGET equ 0x4000
D3D11_FORMAT_SUPPORT_BLENDABLE equ 0x8000
D3D11_FORMAT_SUPPORT_DEPTH_STENCIL equ 0x10000
D3D11_FORMAT_SUPPORT_CPU_LOCKABLE equ 0x20000
D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE equ 0x40000
D3D11_FORMAT_SUPPORT_DISPLAY equ 0x80000
D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT equ 0x100000
D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET equ 0x200000
D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD equ 0x400000
D3D11_FORMAT_SUPPORT_SHADER_GATHER equ 0x800000
D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST equ 0x1000000
D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW equ 0x2000000
D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON equ 0x4000000

D3D11_FORMAT_SUPPORT2	typedef SDWORD
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD equ 0x1
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS equ 0x2
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE equ 0x4
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE equ 0x8
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX equ 0x10
D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX equ 0x20
D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD equ 0x40
D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE equ 0x80

ifndef __ID3D11Asynchronous_INTERFACE_DEFINED__
define __ID3D11Asynchronous_INTERFACE_DEFINED__

.comdef ID3D11Asynchronous : public ID3D11DeviceChild

    GetDataSize		proc
   .ends
endif

D3D11_ASYNC_GETDATA_FLAG typedef SDWORD
D3D11_ASYNC_GETDATA_DONOTFLUSH equ 0x1

D3D11_QUERY		typedef SDWORD
D3D11_QUERY_EVENT	equ 0
D3D11_QUERY_OCCLUSION	equ ( D3D11_QUERY_EVENT + 1 )
D3D11_QUERY_TIMESTAMP	equ ( D3D11_QUERY_OCCLUSION + 1 )
D3D11_QUERY_TIMESTAMP_DISJOINT equ ( D3D11_QUERY_TIMESTAMP + 1 )
D3D11_QUERY_PIPELINE_STATISTICS equ ( D3D11_QUERY_TIMESTAMP_DISJOINT + 1 )
D3D11_QUERY_OCCLUSION_PREDICATE equ ( D3D11_QUERY_PIPELINE_STATISTICS + 1 )
D3D11_QUERY_SO_STATISTICS equ ( D3D11_QUERY_OCCLUSION_PREDICATE + 1 )
D3D11_QUERY_SO_OVERFLOW_PREDICATE equ ( D3D11_QUERY_SO_STATISTICS + 1 )
D3D11_QUERY_SO_STATISTICS_STREAM0 equ ( D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1 )
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 equ ( D3D11_QUERY_SO_STATISTICS_STREAM0 + 1 )
D3D11_QUERY_SO_STATISTICS_STREAM1 equ ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1 )
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 equ ( D3D11_QUERY_SO_STATISTICS_STREAM1 + 1 )
D3D11_QUERY_SO_STATISTICS_STREAM2 equ ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1 )
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 equ ( D3D11_QUERY_SO_STATISTICS_STREAM2 + 1 )
D3D11_QUERY_SO_STATISTICS_STREAM3 equ ( D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1 )
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 equ ( D3D11_QUERY_SO_STATISTICS_STREAM3 + 1 )

D3D11_QUERY_MISC_FLAG	typedef SDWORD
D3D11_QUERY_MISC_PREDICATEHINT equ 0x1

D3D11_QUERY_DESC	STRUC
Query			D3D11_QUERY ?
MiscFlags		UINT ?
D3D11_QUERY_DESC	ENDS

ifndef __ID3D11Query_INTERFACE_DEFINED__
define __ID3D11Query_INTERFACE_DEFINED__

.comdef ID3D11Query : public ID3D11Asynchronous

    GetDesc		proc :ptr
   .ends
endif

ifndef __ID3D11Predicate_INTERFACE_DEFINED__
define __ID3D11Predicate_INTERFACE_DEFINED__

.comdef ID3D11Predicate : public ID3D11Query

    .ends
endif

D3D11_QUERY_DATA_TIMESTAMP_DISJOINT STRUC
Frequency		UINT64 ?
Disjoint		BOOL ?
D3D11_QUERY_DATA_TIMESTAMP_DISJOINT ENDS

D3D11_QUERY_DATA_PIPELINE_STATISTICS STRUC
IAVertices		UINT64 ?
IAPrimitives		UINT64 ?
VSInvocations		UINT64 ?
GSInvocations		UINT64 ?
GSPrimitives		UINT64 ?
CInvocations		UINT64 ?
CPrimitives		UINT64 ?
PSInvocations		UINT64 ?
HSInvocations		UINT64 ?
DSInvocations		UINT64 ?
CSInvocations		UINT64 ?
D3D11_QUERY_DATA_PIPELINE_STATISTICS ENDS

D3D11_QUERY_DATA_SO_STATISTICS STRUC
NumPrimitivesWritten	UINT64 ?
PrimitivesStorageNeeded UINT64 ?
D3D11_QUERY_DATA_SO_STATISTICS ENDS

D3D11_COUNTER		typedef SDWORD
D3D11_COUNTER_DEVICE_DEPENDENT_0 equ 0x40000000

D3D11_COUNTER_TYPE	typedef SDWORD
D3D11_COUNTER_TYPE_FLOAT32 equ 0
D3D11_COUNTER_TYPE_UINT16 equ ( D3D11_COUNTER_TYPE_FLOAT32 + 1 )
D3D11_COUNTER_TYPE_UINT32 equ ( D3D11_COUNTER_TYPE_UINT16 + 1 )
D3D11_COUNTER_TYPE_UINT64 equ ( D3D11_COUNTER_TYPE_UINT32 + 1 )

D3D11_COUNTER_DESC	STRUC
Counter			D3D11_COUNTER ?
MiscFlags		UINT ?
D3D11_COUNTER_DESC	ENDS

D3D11_COUNTER_INFO	STRUC
LastDeviceDependentCounter D3D11_COUNTER ?
NumSimultaneousCounters UINT ?
NumDetectableParallelUnits UINT8 ?
D3D11_COUNTER_INFO	ENDS

ifndef __ID3D11Counter_INTERFACE_DEFINED__
define __ID3D11Counter_INTERFACE_DEFINED__

.comdef ID3D11Counter : public ID3D11Query

    .ends
endif

D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS typedef SDWORD
D3D11_STANDARD_MULTISAMPLE_PATTERN equ 0xffffffff
D3D11_CENTER_MULTISAMPLE_PATTERN equ 0xfffffffe

D3D11_DEVICE_CONTEXT_TYPE typedef SDWORD
D3D11_DEVICE_CONTEXT_IMMEDIATE equ 0
D3D11_DEVICE_CONTEXT_DEFERRED equ ( D3D11_DEVICE_CONTEXT_IMMEDIATE + 1 )

D3D11_CLASS_INSTANCE_DESC STRUC
InstanceId		UINT ?
InstanceIndex		UINT ?
TypeId			UINT ?
ConstantBuffer		UINT ?
BaseConstantBufferOffset UINT ?
BaseTexture		UINT ?
BaseSampler		UINT ?
Created			BOOL ?
D3D11_CLASS_INSTANCE_DESC ENDS

ifndef __ID3D11ClassInstance_INTERFACE_DEFINED__
define __ID3D11ClassInstance_INTERFACE_DEFINED__

.comdef ID3D11ClassInstance : public ID3D11DeviceChild

    GetClassLinkage	proc :ptr
    GetDesc		proc :ptr
    GetInstanceName	proc
    GetTypeName		proc
   .ends

endif

ifndef __ID3D11ClassLinkage_INTERFACE_DEFINED__
define __ID3D11ClassLinkage_INTERFACE_DEFINED__

.comdef ID3D11ClassLinkage : public ID3D11DeviceChild

    GetClassInstance	proc :LPCSTR, :UINT, :ptr
    CreateClassInstance proc :LPCSTR, :UINT, :UINT, :UINT, :UINT, :ptr
   .ends
endif

ifndef __ID3D11CommandList_INTERFACE_DEFINED__
define __ID3D11CommandList_INTERFACE_DEFINED__

.comdef ID3D11CommandList : public ID3D11DeviceChild

    GetContextFlags	proc
   .ends
endif

D3D11_FEATURE		typedef SDWORD
D3D11_FEATURE_THREADING equ 0
D3D11_FEATURE_DOUBLES	equ ( D3D11_FEATURE_THREADING + 1 )
D3D11_FEATURE_FORMAT_SUPPORT equ ( D3D11_FEATURE_DOUBLES + 1 )
D3D11_FEATURE_FORMAT_SUPPORT2 equ ( D3D11_FEATURE_FORMAT_SUPPORT + 1 )
D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS equ ( D3D11_FEATURE_FORMAT_SUPPORT2 + 1 )

D3D11_FEATURE_DATA_THREADING STRUC
DriverConcurrentCreates BOOL ?
DriverCommandLists	BOOL ?
D3D11_FEATURE_DATA_THREADING ENDS

D3D11_FEATURE_DATA_DOUBLES STRUC
DoublePrecisionFloatShaderOps BOOL ?
D3D11_FEATURE_DATA_DOUBLES ENDS

D3D11_FEATURE_DATA_FORMAT_SUPPORT STRUC
InFormat		DXGI_FORMAT ?
OutFormatSupport	UINT ?
D3D11_FEATURE_DATA_FORMAT_SUPPORT ENDS

D3D11_FEATURE_DATA_FORMAT_SUPPORT2 STRUC
InFormat		DXGI_FORMAT ?
OutFormatSupport2	UINT ?
D3D11_FEATURE_DATA_FORMAT_SUPPORT2 ENDS

D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS STRUC
ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x BOOL ?
D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS ENDS

ifndef __ID3D11DeviceContext_INTERFACE_DEFINED__
define __ID3D11DeviceContext_INTERFACE_DEFINED__

.comdef ID3D11DeviceContext : public ID3D11DeviceChild

    VSSetConstantBuffers proc :UINT, :UINT, :ptr
    PSSetShaderResources proc :UINT, :UINT, :ptr
    PSSetShader		proc :ptr, :ptr, :UINT
    PSSetSamplers	proc :UINT, :UINT, :ptr
    VSSetShader		proc :ptr, :ptr, :UINT
    DrawIndexed		proc :UINT, :UINT, :SINT
    Draw		proc :UINT, :UINT
    Map			proc :ptr, :UINT, :D3D11_MAP, :UINT, :ptr
    Unmap		proc :ptr, :UINT
    PSSetConstantBuffers proc :UINT, :UINT, :ptr
    IASetInputLayout	proc :ptr
    IASetVertexBuffers	proc :UINT, :UINT, :ptr, :ptr, :ptr
    IASetIndexBuffer	proc :ptr, :DXGI_FORMAT, :UINT
    DrawIndexedInstanced proc :UINT, :UINT, :UINT, :SINT, :UINT
    DrawInstanced	proc :UINT, :UINT, :UINT, :UINT
    GSSetConstantBuffers proc :UINT, :UINT, :ptr
    GSSetShader		proc :ptr
    IASetPrimitiveTopology proc :D3D11_PRIMITIVE_TOPOLOGY
    VSSetShaderResources proc :UINT, :UINT, :ptr
    VSSetSamplers	proc :UINT, :UINT, :ptr
    Begin		proc :ptr
    _End		proc :ptr
    GetData		proc :ptr
    SetPredication	proc :ptr, :BOOL
    GSSetShaderResources proc :UINT, :UINT, :ptr
    GSSetSamplers	proc :UINT, :UINT, :ptr
    OMSetRenderTargets	proc :UINT, :ptr, :ptr
    OMSetRenderTargetsAndUnorderedAccessViews proc :UINT, :UINT, :UINT, :ptr
    OMSetBlendState	proc :ptr, :ptr, :UINT
    OMSetDepthStencilState proc :ptr, :UINT
    SOSetTargets	proc :UINT, :ptr
    DrawAuto		proc
    DrawIndexedInstancedIndirect proc :ptr, :UINT
    DrawInstancedIndirect proc :ptr, :UINT
    Dispatch		proc :UINT, :UINT, :UINT
    DispatchIndirect	proc :ptr, :UINT
    RSSetState		proc :ptr
    RSSetViewports	proc :UINT, :ptr
    RSSetScissorRects	proc :UINT, :ptr
    CopySubresourceRegion proc :ptr, :UINT, :UINT, :UINT, :UINT, :ptr, :UINT, :ptr
    CopyResource	proc :ptr, :ptr
    UpdateSubresource	proc :ptr, :UINT, :ptr, :ptr, :UINT, :UINT
    CopyStructureCount	proc :ptr, :UINT, :ptr
    ClearRenderTargetView proc :ptr, :ptr
    ClearUnorderedAccessViewUint proc :ptr, :ptr
    ClearUnorderedAccessViewFloat proc :ptr, :ptr
    ClearDepthStencilView proc :ptr, :UINT, :FLOAT, :UINT8
    GenerateMips	proc :ptr
    SetResourceMinLOD	proc :ptr, :FLOAT
    GetResourceMinLOD	proc :ptr
    ResolveSubresource	proc :ptr, :UINT, :ptr, :UINT, :DXGI_FORMAT
    ExecuteCommandList	proc :ptr, :BOOL
    HSSetShaderResources proc :UINT, :UINT, :ptr
    HSSetShader		proc :ptr
    HSSetSamplers	proc :UINT, :UINT, :ptr
    HSSetConstantBuffers proc :UINT, :UINT, :ptr
    DSSetShaderResources proc :UINT, :UINT, :ptr
    DSSetShader		proc :ptr
    DSSetSamplers	proc :UINT, :UINT, :ptr
    DSSetConstantBuffers proc :UINT, :UINT, :ptr
    CSSetShaderResources proc :UINT, :UINT, :ptr
    CSSetUnorderedAccessViews proc :UINT, :UINT, :ptr
    CSSetShader		proc :ptr
    CSSetSamplers	proc :UINT, :UINT, :ptr
    CSSetConstantBuffers proc :UINT, :UINT, :ptr
    VSGetConstantBuffers proc :UINT, :UINT, :ptr
    PSGetShaderResources proc :UINT, :UINT, :ptr
    PSGetShader		proc :ptr
    PSGetSamplers	proc :UINT, :UINT, :ptr
    VSGetShader		proc :ptr
    PSGetConstantBuffers proc :UINT, :UINT, :ptr
    IAGetInputLayout	proc :ptr
    IAGetVertexBuffers	proc :UINT, :UINT, :ptr, :ptr
    IAGetIndexBuffer	proc :ptr, :ptr, :ptr
    GSGetConstantBuffers proc :UINT, :UINT, :ptr
    GSGetShader		proc :ptr
    IAGetPrimitiveTopology proc :ptr
    VSGetShaderResources proc :UINT, :UINT, :ptr
    VSGetSamplers	proc :UINT, :UINT, :ptr
    GetPredication	proc :ptr, :ptr
    GSGetShaderResources proc :UINT, :UINT, :ptr
    GSGetSamplers	proc :UINT, :UINT, :ptr
    OMGetRenderTargets	proc :UINT
    OMGetRenderTargetsAndUnorderedAccessViews proc :UINT, :UINT, :UINT, :ptr
    OMGetBlendState	proc :ptr, :FLOAT, :ptr
    OMGetDepthStencilState proc :ptr, :ptr
    SOGetTargets	proc :UINT, :ptr
    RSGetState		proc :ptr
    RSGetViewports	proc :ptr, :ptr
    RSGetScissorRects	proc :ptr, :ptr
    HSGetShaderResources proc :UINT, :UINT, :ptr
    HSGetShader		proc :ptr
    HSGetSamplers	proc :UINT, :UINT, :ptr
    HSGetConstantBuffers proc :UINT, :UINT, :ptr
    DSGetShaderResources proc :UINT, :UINT, :ptr
    DSGetShader		proc :ptr
    DSGetSamplers	proc :UINT, :UINT, :ptr
    DSGetConstantBuffers proc :UINT, :UINT, :ptr
    CSGetShaderResources proc :UINT, :UINT, :ptr
    CSGetUnorderedAccessViews proc :UINT, :UINT, :ptr
    CSGetShader		proc :ptr
    CSGetSamplers	proc :UINT, :UINT, :ptr
    CSGetConstantBuffers proc :UINT, :UINT, :ptr
    ClearState		proc
    Flush		proc
    GetType		proc
    GetContextFlags	proc
    FinishCommandList	proc :BOOL, :ptr
   .ends

LPID3D11DeviceContext	typedef ptr ID3D11DeviceContext
endif

ifndef __ID3D11Device_INTERFACE_DEFINED__
define __ID3D11Device_INTERFACE_DEFINED__

.comdef ID3D11Device : public IUnknown

    CreateBuffer	proc :ptr, :ptr, :ptr
    CreateTexture1D	proc :ptr, :ptr, :ptr
    CreateTexture2D	proc :ptr, :ptr, :ptr
    CreateTexture3D	proc :ptr, :ptr, :ptr
    CreateShaderResourceView proc :ptr, :ptr, :ptr
    CreateUnorderedAccessView proc :ptr, :ptr, :ptr
    CreateRenderTargetView proc :ptr, :ptr, :ptr
    CreateDepthStencilView proc :ptr, :ptr, :ptr
    CreateInputLayout	proc :ptr, :UINT, :ptr, :SIZE_T, :ptr
    CreateVertexShader	proc :ptr, :SIZE_T, :ptr, :ptr
    CreateGeometryShader proc :ptr, :SIZE_T, :ptr, :ptr
    CreateGeometryShaderWithStreamOutput proc :ptr, :SIZE_T, :UINT, :UINT, :UINT, :ptr, :ptr
    CreatePixelShader	proc :ptr, :SIZE_T, :ptr, :ptr
    CreateHullShader	proc :ptr, :SIZE_T, :ptr, :ptr
    CreateDomainShader	proc :ptr, :SIZE_T, :ptr, :ptr
    CreateComputeShader proc :ptr, :SIZE_T, :ptr, :ptr
    CreateClassLinkage	proc :ptr
    CreateBlendState	proc :ptr, :ptr
    CreateDepthStencilState proc :ptr, :ptr
    CreateRasterizerState proc :ptr, :ptr
    CreateSamplerState	proc :ptr, :ptr
    CreateQuery		proc :ptr, :ptr
    CreatePredicate	proc :ptr, :ptr
    CreateCounter	proc :ptr, :ptr
    CreateDeferredContext proc :UINT, :ptr
    OpenSharedResource	proc :HANDLE, :REFIID, :ptr
    CheckFormatSupport	proc :DXGI_FORMAT, :ptr
    CheckMultisampleQualityLevels proc :DXGI_FORMAT, :UINT, :ptr
    CheckCounterInfo	proc :ptr
    CheckCounter	proc :ptr, :ptr, :ptr, :LPSTR, :ptr
    CheckFeatureSupport proc :D3D11_FEATURE
    GetPrivateData	proc :REFGUID, :ptr, :ptr
    SetPrivateData	proc :REFGUID, :UINT, :ptr
    SetPrivateDataInterface proc :REFGUID, :ptr
    GetFeatureLevel	proc
    GetCreationFlags	proc
    GetDeviceRemovedReason proc
    GetImmediateContext proc :ptr
    SetExceptionMode	proc :UINT
    GetExceptionMode	proc
   .ends

LPID3D11Device		typedef ptr ID3D11Device
endif

D3D11_OMAC		STRUC
Omac			BYTE 16 dup(?)
D3D11_OMAC		ENDS

.enum D3D11_AUTHENTICATED_CHANNEL_TYPE {
    D3D11_AUTHENTICATED_CHANNEL_D3D11	= 1,
    D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2,
    D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3
    }


.enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT {
    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT	= 0x1,
    D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2
    }

.enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS {
    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE	= 0x1,
    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC	= 0x2,
    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION	= 0x4,
    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION	= 0x8,
    D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE	= 0x10
    }

.enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS {
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL	= 0x1,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION	= 0x2,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE	= 0x8,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY	= 0x10,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO	= 0x20,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM	= 0x80,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO	= 0x100,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR	= 0x200,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE	= 0x400,
    D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10	= 0x800
    }

.enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS {
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS	= 0x1,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST	= 0x2,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE	= 0x4,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION	= 0x8,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION	= 0x10,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT	= 0x20,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING	= 0x40,
    D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80
    }

.enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS {
    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED	= 0x1,
    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP	= 0x2,
    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY	= 0x4,
    D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED	= 0x8
    }

.enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS {
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE	= 0x1,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING	= 0x2,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT	= 0x4,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION	= 0x8,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING	= 0x10,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION	= 0x20,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION	= 0x40,
    D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING	= 0x80
    }

.enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS {
    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET	= 0x1,
    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED	= 0x2,
    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED	= 0x4,
    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD	= 0x8,
    D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10
    }

D3D11_VIDEO_PROCESSOR_CAPS STRUC
DeviceCaps		UINT ?
FeatureCaps		UINT ?
FilterCaps		UINT ?
InputFormatCaps		UINT ?
AutoStreamCaps		UINT ?
StereoCaps		UINT ?
RateConversionCapsCount UINT ?
MaxInputStreams		UINT ?
MaxStreamStates		UINT ?
D3D11_VIDEO_PROCESSOR_CAPS ENDS

.enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS {
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND	= 0x1,
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB	= 0x2,
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE	= 0x4,
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION	= 0x8,
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE	= 0x10,
    D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION	= 0x20
    }

.enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS {
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32	= 0x1,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22	= 0x2,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224	= 0x4,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332	= 0x8,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322	= 0x10,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55	= 0x20,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64	= 0x40,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87	= 0x80,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223	= 0x100,
    D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER	= 0x80000000
    }

D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS STRUC
PastFrames		UINT ?
FutureFrames		UINT ?
ProcessorCaps		UINT ?
ITelecineCaps		UINT ?
CustomRateCount		UINT ?
D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS ENDS

.enum D3D11_CONTENT_PROTECTION_CAPS {
    D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE	= 0x1,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE	= 0x2,
    D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON	= 0x4,
    D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION	= 0x8,
    D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY	= 0x10,
    D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY	= 0x20,
    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK	= 0x40,
    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY	= 0x80,
    D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV	= 0x100,
    D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY	= 0x200,
    D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT	= 0x400,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE	= 0x1000,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN	= 0x2000,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION	= 0x4000,
    D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION_MULTI_THREADED	= 0x8000
    }

DEFINE_GUID(D3D11_CRYPTO_TYPE_AES128_CTR, 0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0xb, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f );
DEFINE_GUID(D3D11_DECODER_ENCRYPTION_HW_CENC, 0x89d6ac4f, 0x9f2, 0x4229, 0xb2, 0xcd, 0x37, 0x74, 0xa, 0x6d, 0xfd, 0x81);
DEFINE_GUID(D3D11_DECODER_BITSTREAM_ENCRYPTION_TYPE_CENC, 0xb0405235, 0xc13d, 0x44f2, 0x9a, 0xe5, 0xdd, 0x48, 0xe0, 0x8e, 0x5b, 0x67);
DEFINE_GUID(D3D11_DECODER_BITSTREAM_ENCRYPTION_TYPE_CBCS, 0x422d9319, 0x9d21, 0x4bb7, 0x93, 0x71, 0xfa, 0xf5, 0xa8, 0x2c, 0x3e, 0x04);
DEFINE_GUID(D3D11_KEY_EXCHANGE_HW_PROTECTION, 0xb1170d8a, 0x628d, 0x4da3, 0xad, 0x3b, 0x82, 0xdd, 0xb0, 0x8b, 0x49, 0x70);


D3D11_VIDEO_CONTENT_PROTECTION_CAPS STRUC
Caps			UINT ?
KeyExchangeTypeCount	UINT ?
BlockAlignmentSize	UINT ?
ProtectedMemorySize	ULONGLONG ?
D3D11_VIDEO_CONTENT_PROTECTION_CAPS ENDS

D3D11_VIDEO_PROCESSOR_CUSTOM_RATE STRUC
CustomRate		DXGI_RATIONAL <>
OutputFrames		UINT ?
InputInterlaced		BOOL ?
InputFramesOrFields	UINT ?
D3D11_VIDEO_PROCESSOR_CUSTOM_RATE ENDS

.enum D3D11_VIDEO_PROCESSOR_FILTER {
    D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS	= 0,
    D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST	= 1,
    D3D11_VIDEO_PROCESSOR_FILTER_HUE	= 2,
    D3D11_VIDEO_PROCESSOR_FILTER_SATURATION	= 3,
    D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION	= 4,
    D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT	= 5,
    D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING	= 6,
    D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT	= 7
    }

D3D11_VIDEO_PROCESSOR_FILTER_RANGE STRUC
Minimum			SINT ?
Maximum			SINT ?
Default			SINT ?
Multiplier		real4 ?
D3D11_VIDEO_PROCESSOR_FILTER_RANGE ENDS

.enum D3D11_VIDEO_FRAME_FORMAT {
    D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE	= 0,
    D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
    D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST	= 2
    }

.enum D3D11_VIDEO_USAGE {
    D3D11_VIDEO_USAGE_PLAYBACK_NORMAL	= 0,
    D3D11_VIDEO_USAGE_OPTIMAL_SPEED	= 1,
    D3D11_VIDEO_USAGE_OPTIMAL_QUALITY	= 2
    }

D3D11_VIDEO_PROCESSOR_CONTENT_DESC STRUC
InputFrameFormat	D3D11_VIDEO_FRAME_FORMAT ?
InputFrameRate		DXGI_RATIONAL <>
InputWidth		UINT ?
InputHeight		UINT ?
OutputFrameRate		DXGI_RATIONAL <>
OutputWidth		UINT ?
OutputHeight		UINT ?
Usage			D3D11_VIDEO_USAGE ?
D3D11_VIDEO_PROCESSOR_CONTENT_DESC ENDS

.enum D3D11_VIDEO_DECODER_BUFFER_TYPE {
    D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS	= 0,
    D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL	= 1,
    D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE	= 2,
    D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL	= 3,
    D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX	= 4,
    D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL	= 5,
    D3D11_VIDEO_DECODER_BUFFER_BITSTREAM	= 6,
    D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR	= 7,
    D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN	= 8
    }

D3D11_VIDEO_COLOR_RGBA	STRUC
R			real4 ?
G			real4 ?
B			real4 ?
A			real4 ?
D3D11_VIDEO_COLOR_RGBA	ENDS

D3D11_VIDEO_COLOR_YCbCrA STRUC
Y			real4 ?
Cb			real4 ?
Cr			real4 ?
A			real4 ?
D3D11_VIDEO_COLOR_YCbCrA ENDS

D3D11_VIDEO_COLOR	STRUC
UNION
 YCbCr			D3D11_VIDEO_COLOR_YCbCrA <>
 RGBA			D3D11_VIDEO_COLOR_RGBA <>
ENDS
D3D11_VIDEO_COLOR	ENDS


.enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE {
    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED	= 0,
    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235	= 1,
    D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255	= 2
    }

D3D11_VIDEO_PROCESSOR_COLOR_SPACE STRUC
Flags			UINT ?
D3D11_VIDEO_PROCESSOR_COLOR_SPACE ENDS

.enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE {
    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE	= 0,
    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND	= 1,
    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION	= 2,
    D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3
    }

.enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE {
    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL	= 0,
    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF	= 1,
    D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM	= 2
    }


.enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT {
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO	= 0,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL	= 1,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL	= 2,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE	= 3,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET	= 4,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED	= 6,
    D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD	= 7
    }

.enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE {
    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE	= 0,
    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0	= 1,
    D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1	= 2
    }

.enum D3D11_VIDEO_PROCESSOR_ROTATION {
    D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY	= 0,
    D3D11_VIDEO_PROCESSOR_ROTATION_90	= 1,
    D3D11_VIDEO_PROCESSOR_ROTATION_180	= 2,
    D3D11_VIDEO_PROCESSOR_ROTATION_270	= 3
    }

D3D11_VIDEO_PROCESSOR_STREAM STRUC
Enable			BOOL ?
OutputIndex		UINT ?
InputFrameOrField	UINT ?
PastFrames		UINT ?
FutureFrames		UINT ?
ppPastSurfaces		PVOID ? ; ID3D11VideoProcessorInputView
pInputSurface		PVOID ? ; ID3D11VideoProcessorInputView
ppFutureSurfaces	PVOID ? ; ID3D11VideoProcessorInputView
ppPastSurfacesRight	PVOID ? ; ID3D11VideoProcessorInputView
pInputSurfaceRight	PVOID ? ; ID3D11VideoProcessorInputView
ppFutureSurfacesRight	PVOID ? ; ID3D11VideoProcessorInputView
D3D11_VIDEO_PROCESSOR_STREAM ENDS

ifndef __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__
define __ID3D11VideoProcessorEnumerator_INTERFACE_DEFINED__

DEFINE_IIDX(ID3D11VideoProcessorEnumerator, "31627037-53AB-4200-9061-05FAA9AB45F9")

.comdef ID3D11VideoProcessorEnumerator : public ID3D11DeviceChild

    GetVideoProcessorContentDesc proc :ptr D3D11_VIDEO_PROCESSOR_CONTENT_DESC
    CheckVideoProcessorFormat proc :DXGI_FORMAT, :ptr UINT
    GetVideoProcessorCaps proc :ptr D3D11_VIDEO_PROCESSOR_CAPS
    GetVideoProcessorRateConversionCaps proc :UINT, :ptr D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS
    GetVideoProcessorCustomRate proc :UINT, :UINT, :ptr D3D11_VIDEO_PROCESSOR_CUSTOM_RATE
    GetVideoProcessorFilterRange proc :D3D11_VIDEO_PROCESSOR_FILTER, :ptr D3D11_VIDEO_PROCESSOR_FILTER_RANGE
   .ends
endif

ifndef __ID3D11VideoContext_INTERFACE_DEFINED__
define __ID3D11VideoContext_INTERFACE_DEFINED__

DEFINE_IIDX(ID3D11VideoContext, "61F21C45-3C0E-4a74-9CEA-67100D9AD5E4")

.comdef ID3D11VideoContext : public ID3D11DeviceChild

    GetDecoderBuffer	proc :ptr ID3D11VideoDecoder, :D3D11_VIDEO_DECODER_BUFFER_TYPE, :ptr UINT, :ptr ptr
    ReleaseDecoderBuffer proc :ptr ID3D11VideoDecoder, :D3D11_VIDEO_DECODER_BUFFER_TYPE
    DecoderBeginFrame	proc :ptr ID3D11VideoDecoder, :ptr ID3D11VideoDecoderOutputView, :UINT, :ptr
    DecoderEndFrame	proc :ptr ID3D11VideoDecoder
    SubmitDecoderBuffers proc :ptr ID3D11VideoDecoder, :UINT, :ptr D3D11_VIDEO_DECODER_BUFFER_DESC
    DecoderExtension	proc :ptr ID3D11VideoDecoder, :ptr D3D11_VIDEO_DECODER_EXTENSION
    VideoProcessorSetOutputTargetRect proc :ptr ID3D11VideoProcessor, :BOOL, :ptr RECT
    VideoProcessorSetOutputBackgroundColor proc :ptr ID3D11VideoProcessor, :BOOL, :ptr D3D11_VIDEO_COLOR
    VideoProcessorSetOutputColorSpace proc :ptr ID3D11VideoProcessor, :ptr D3D11_VIDEO_PROCESSOR_COLOR_SPACE
    VideoProcessorSetOutputAlphaFillMode proc :ptr ID3D11VideoProcessor, :D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, :UINT
    VideoProcessorSetOutputConstriction proc :ptr ID3D11VideoProcessor, :BOOL, :SIZEL
    VideoProcessorSetOutputStereoMode proc :ptr ID3D11VideoProcessor, :BOOL
    VideoProcessorSetOutputExtension proc :ptr ID3D11VideoProcessor, :ptr GUID, :UINT, :ptr
    VideoProcessorGetOutputTargetRect proc :ptr ID3D11VideoProcessor, :ptr BOOL, :ptr RECT
    VideoProcessorGetOutputBackgroundColor proc :ptr ID3D11VideoProcessor, :ptr BOOL, :ptr D3D11_VIDEO_COLOR
    VideoProcessorGetOutputColorSpace proc :ptr ID3D11VideoProcessor, :ptr D3D11_VIDEO_PROCESSOR_COLOR_SPACE
    VideoProcessorGetOutputAlphaFillMode proc :ptr ID3D11VideoProcessor, :ptr D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, :ptr UINT
    VideoProcessorGetOutputConstriction proc :ptr ID3D11VideoProcessor, :ptr BOOL, :ptr SIZE
    VideoProcessorGetOutputStereoMode proc :ptr ID3D11VideoProcessor, :ptr BOOL
    VideoProcessorGetOutputExtension proc :ptr ID3D11VideoProcessor, :ptr GUID, :UINT, :ptr
    VideoProcessorSetStreamFrameFormat proc :ptr ID3D11VideoProcessor, :UINT, :D3D11_VIDEO_FRAME_FORMAT
    VideoProcessorSetStreamColorSpace proc :ptr ID3D11VideoProcessor, :UINT, :ptr D3D11_VIDEO_PROCESSOR_COLOR_SPACE
    VideoProcessorSetStreamOutputRate proc :ptr ID3D11VideoProcessor, :UINT, :D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, :BOOL, :ptr DXGI_RATIONAL
    VideoProcessorSetStreamSourceRect proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :ptr RECT
    VideoProcessorSetStreamDestRect proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :ptr RECT
    VideoProcessorSetStreamAlpha proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :FLOAT
    VideoProcessorSetStreamPalette proc :ptr ID3D11VideoProcessor, :UINT, :UINT, :ptr UINT
    VideoProcessorSetStreamPixelAspectRatio proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :ptr DXGI_RATIONAL, :ptr DXGI_RATIONAL
    VideoProcessorSetStreamLumaKey proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :FLOAT, :FLOAT
    VideoProcessorSetStreamStereoFormat proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, :BOOL, :BOOL, :D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, :SINT
    VideoProcessorSetStreamAutoProcessingMode proc :ptr ID3D11VideoProcessor, :UINT, :BOOL
    VideoProcessorSetStreamFilter proc :ptr ID3D11VideoProcessor, :UINT, :D3D11_VIDEO_PROCESSOR_FILTER, :BOOL, :SINT
    VideoProcessorSetStreamExtension proc :ptr ID3D11VideoProcessor, :UINT, :ptr GUID, :UINT, :ptr
    VideoProcessorGetStreamFrameFormat proc :ptr ID3D11VideoProcessor, :UINT, :ptr D3D11_VIDEO_FRAME_FORMAT
    VideoProcessorGetStreamColorSpace proc :ptr ID3D11VideoProcessor, :UINT, :ptr D3D11_VIDEO_PROCESSOR_COLOR_SPACE
    VideoProcessorGetStreamOutputRate proc :ptr ID3D11VideoProcessor, :UINT, :ptr D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, :ptr BOOL, :ptr DXGI_RATIONAL
    VideoProcessorGetStreamSourceRect proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr RECT
    VideoProcessorGetStreamDestRect proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr RECT
    VideoProcessorGetStreamAlpha proc :ptr ID3D11VideoProcessor, :UINT,	 :ptr BOOL, :ptr FLOAT
    VideoProcessorGetStreamPalette proc :ptr ID3D11VideoProcessor, :UINT, :UINT, :ptr UINT
    VideoProcessorGetStreamPixelAspectRatio proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr DXGI_RATIONAL, :ptr DXGI_RATIONAL
    VideoProcessorGetStreamLumaKey proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr FLOAT, :ptr FLOAT
    VideoProcessorGetStreamStereoFormat proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, :ptr BOOL, :ptr BOOL, :ptr D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, :ptr
    VideoProcessorGetStreamAutoProcessingMode proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL
    VideoProcessorGetStreamFilter proc :ptr ID3D11VideoProcessor, :UINT, :D3D11_VIDEO_PROCESSOR_FILTER, :ptr BOOL, :ptr
    VideoProcessorGetStreamExtension proc :ptr ID3D11VideoProcessor, :UINT, :ptr GUID, :UINT, :ptr
    VideoProcessorBlt	proc :ptr ID3D11VideoProcessor, :ptr ID3D11VideoProcessorOutputView, :UINT, :UINT, :ptr D3D11_VIDEO_PROCESSOR_STREAM
    NegotiateCryptoSessionKeyExchange proc :ptr ID3D11CryptoSession, :UINT, :ptr
    EncryptionBlt	proc :ptr ID3D11CryptoSession, :ptr ID3D11Texture2D,  :ptr ID3D11Texture2D, :UINT, :ptr
    DecryptionBlt	proc :ptr ID3D11CryptoSession, :ptr ID3D11Texture2D, :ptr ID3D11Texture2D, :ptr D3D11_ENCRYPTED_BLOCK_INFO, :UINT, :ptr, :UINT, :ptr
    StartSessionKeyRefresh proc :ptr ID3D11CryptoSession, :UINT, :ptr
    FinishSessionKeyRefresh proc :ptr ID3D11CryptoSession
    GetEncryptionBltKey proc :ptr ID3D11CryptoSession, :UINT, :ptr
    NegotiateAuthenticatedChannelKeyExchange proc :ptr ID3D11AuthenticatedChannel, :UINT,  :ptr
    QueryAuthenticatedChannel proc :ptr ID3D11AuthenticatedChannel, :UINT, :ptr, :UINT, :ptr
    ConfigureAuthenticatedChannel proc :ptr ID3D11AuthenticatedChannel, :UINT, :ptr, :ptr
    VideoProcessorSetStreamRotation proc :ptr ID3D11VideoProcessor, :UINT, :BOOL, :D3D11_VIDEO_PROCESSOR_ROTATION
    VideoProcessorGetStreamRotation proc :ptr ID3D11VideoProcessor, :UINT, :ptr BOOL, :ptr D3D11_VIDEO_PROCESSOR_ROTATION
   .ends

endif

ifndef __ID3D11VideoDevice_INTERFACE_DEFINED__
define __ID3D11VideoDevice_INTERFACE_DEFINED__

DEFINE_IIDX(ID3D11VideoDevice, "10EC4D5B-975A-4689-B9E4-D0AAC30FE333")

.comdef ID3D11VideoDevice : public IUnknown

    CreateVideoDecoder proc:ptr D3D11_VIDEO_DECODER_DESC, :ptr D3D11_VIDEO_DECODER_CONFIG, :ptr ptr ID3D11VideoDecoder
    CreateVideoProcessor proc :ptr ID3D11VideoProcessorEnumerator, :UINT, :ptr ptr ID3D11VideoProcessor
    CreateAuthenticatedChannel proc :D3D11_AUTHENTICATED_CHANNEL_TYPE, :ptr ptr ID3D11AuthenticatedChannel
    CreateCryptoSession proc :ptr GUID, :ptr GUID, :ptr GUID, :ptr ptr ID3D11CryptoSession
    CreateVideoDecoderOutputView proc :ptr ID3D11Resource, :ptr D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, :ptr ptr ID3D11VideoDecoderOutputView
    CreateVideoProcessorInputView proc :ptr ID3D11Resource, :ptr ID3D11VideoProcessorEnumerator, :ptr D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, :ptr ptr ID3D11VideoProcessorInputView
    CreateVideoProcessorOutputView proc :ptr ID3D11Resource, :ptr ID3D11VideoProcessorEnumerator, :ptr D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, :ptr ptr ID3D11VideoProcessorOutputView
    CreateVideoProcessorEnumerator proc :ptr D3D11_VIDEO_PROCESSOR_CONTENT_DESC, :ptr ptr ID3D11VideoProcessorEnumerator
    GetVideoDecoderProfileCount proc
    GetVideoDecoderProfile proc :UINT, :ptr GUID
    CheckVideoDecoderFormat proc :ptr GUID, :DXGI_FORMAT, :ptr BOOL
    GetVideoDecoderConfigCount proc :ptr D3D11_VIDEO_DECODER_DESC, :ptr UINT
    GetVideoDecoderConfig proc :ptr D3D11_VIDEO_DECODER_DESC, :UINT, :ptr D3D11_VIDEO_DECODER_CONFIG
    GetContentProtectionCaps proc :ptr GUID, :ptr GUID, :ptr D3D11_VIDEO_CONTENT_PROTECTION_CAPS
    CheckCryptoKeyExchange proc :ptr GUID, :ptr GUID, :UINT, :ptr GUID
    SetPrivateData proc :REFGUID, :UINT, :ptr
    SetPrivateDataInterface proc :REFGUID, :ptr IUnknown
   .ends

endif

if not defined(APP_DEPRECATED_HRESULT) and not defined(APP_DEPRECATED_HRESULT_TYPEDEF)
APP_DEPRECATED_HRESULT_TYPEDEF equ <>
APP_DEPRECATED_HRESULT typedef HRESULT
endif

DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_MOCOMP,	     0xe6a9f44b, 0x61b0, 0x4563,0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_IDCT,	     0xbf22ad00, 0x03ea, 0x4690,0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2_VLD,	     0xee27417f, 0x5e28, 0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG1_VLD,	     0x6f3ec719, 0x3735, 0x42cc,0x80,0x63,0x65,0xcc,0x3c,0xb3,0x66,0x16);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG2and1_VLD,     0x86695f12, 0x340e, 0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 0x1b81be64, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_MOCOMP_FGT,   0x1b81be65, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_NOFGT,   0x1b81be66, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_IDCT_FGT,     0x1b81be67, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_NOFGT,    0x1b81be68, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_FGT,	     0x1b81be69, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT,  0xd5f04ff9, 0x3418,0x45d8,0x95,0x61,0x32,0xa7,0x6a,0xae,0x2d,0xdd);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 0xd79be8da, 0x0cf1,0x4c81,0xb8,0x2a,0x69,0xa4,0xe2,0x36,0xf4,0x3d);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT,	     0xf9aaccbb, 0xc2b6,0x4cfc,0x87,0x79,0x57,0x07,0xb1,0x76,0x05,0x52);
DEFINE_GUID(D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT,	     0x705b9d82, 0x76cf,0x49d6,0xb7,0xe6,0xac,0x88,0x72,0xdb,0x01,0x3c);
DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_POSTPROC,     0x1b81be80, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_WMV8_MOCOMP,	     0x1b81be81, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_POSTPROC,     0x1b81be90, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_MOCOMP,	     0x1b81be91, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_WMV9_IDCT,	     0x1b81be94, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_POSTPROC,	     0x1b81beA0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_MOCOMP,	     0x1b81beA1, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_IDCT,	     0x1b81beA2, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_VLD,	     0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_VC1_D2010,	     0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE,		 0xefd64d74, 0xc9e8,0x41d7,0xa5,0xe9,0xe9,0xb0,0xe3,0x9f,0xa3,0x19);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC,	 0xed418a9f, 0x010d,0x4eda,0x9a,0xe3,0x9a,0x65,0x35,0x8d,0x8d,0x2e);
DEFINE_GUID(D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC,	 0xab998b5b, 0x4258,0x44a9,0x9f,0xeb,0x94,0xe5,0x97,0xa6,0xba,0xae);
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN,     0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
DEFINE_GUID(D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10,   0x107af0e0, 0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0,	  0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e);
DEFINE_GUID(D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2, 0xa4c749ef, 0x6ecf, 0x48aa, 0x84, 0x48, 0x50, 0xa7, 0xa1, 0x16, 0x5f, 0xf7);
DEFINE_GUID(D3D11_DECODER_PROFILE_VP8_VLD,		  0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7);

D3D11_VIDEO_DECODER_DESC	STRUC
Guid				GUID <>
SampleWidth			UINT ?
SampleHeight			UINT ?
OutputFormat			DXGI_FORMAT ?
D3D11_VIDEO_DECODER_DESC	ENDS

D3D11_VIDEO_DECODER_CONFIG	STRUC
guidConfigBitstreamEncryption	GUID <>
guidConfigMBcontrolEncryption	GUID <>
guidConfigResidDiffEncryption	GUID <>
ConfigBitstreamRaw		UINT ?
ConfigMBcontrolRasterOrder	UINT ?
ConfigResidDiffHost		UINT ?
ConfigSpatialResid8		UINT ?
ConfigResid8Subtraction		UINT ?
ConfigSpatialHost8or9Clipping	UINT ?
ConfigSpatialResidInterleaved	UINT ?
ConfigIntraResidUnsigned	UINT ?
ConfigResidDiffAccelerator	UINT ?
ConfigHostInverseScan		UINT ?
ConfigSpecificIDCT		UINT ?
Config4GroupedCoefs		UINT ?
ConfigMinRenderTargetBuffCount	USHORT ?
ConfigDecoderSpecific		USHORT ?
D3D11_VIDEO_DECODER_CONFIG	ENDS


D3D11_AES_CTR_IV		STRUC
IV				UINT64 ?
Count				UINT64 ?
D3D11_AES_CTR_IV		ENDS

D3D11_ENCRYPTED_BLOCK_INFO	STRUC
NumEncryptedBytesAtBeginning	UINT ?
NumBytesInSkipPattern		UINT ?
NumBytesInEncryptPattern	UINT ?
D3D11_ENCRYPTED_BLOCK_INFO	ENDS

D3D11_VIDEO_DECODER_BUFFER_DESC STRUC
BufferType			D3D11_VIDEO_DECODER_BUFFER_TYPE ?
BufferIndex			UINT ?
DataOffset			UINT ?
DataSize			UINT ?
FirstMBaddress			UINT ?
NumMBsInBuffer			UINT ?
Width				UINT ?
Height				UINT ?
Stride				UINT ?
ReservedBits			UINT ?
pIV				PVOID ?
IVSize				UINT ?
PartialEncryption		BOOL ?
EncryptedBlockInfo		D3D11_ENCRYPTED_BLOCK_INFO <>
D3D11_VIDEO_DECODER_BUFFER_DESC ENDS

D3D11_VIDEO_DECODER_EXTENSION	STRUC
Function			UINT ?
pPrivateInputData		PVOID ?
PrivateInputDataSize		UINT ?
pPrivateOutputData		PVOID ?
PrivateOutputDataSize		UINT ?
ResourceCount			UINT ?
ppResourceList			PVOID ? ; ID3D11Resource
D3D11_VIDEO_DECODER_EXTENSION	ENDS


ifndef __ID3D11VideoDecoder_INTERFACE_DEFINED__
define __ID3D11VideoDecoder_INTERFACE_DEFINED__

DEFINE_IIDX(ID3D11VideoDecoder, "3C9C5B51-995D-48d1-9B8D-FA5CAEDED65C")

.comdef ID3D11VideoDecoder : public ID3D11DeviceChild

    GetCreationParameters proc :ptr D3D11_VIDEO_DECODER_DESC, :ptr D3D11_VIDEO_DECODER_CONFIG
    GetDriverHandle	proc :ptr HANDLE
   .ends

endif

D3D11_CREATE_DEVICE_FLAG typedef SDWORD
D3D11_CREATE_DEVICE_SINGLETHREADED equ 0x1
D3D11_CREATE_DEVICE_DEBUG equ 0x2
D3D11_CREATE_DEVICE_SWITCH_TO_REF equ 0x4
D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS equ 0x8
D3D11_CREATE_DEVICE_BGRA_SUPPORT equ 0x20

D3D11_SDK_VERSION	equ ( 7 )

include d3d10_1.inc
ifndef D3D11_IGNORE_SDK_LAYERS
include d3d11sdklayers.inc
endif
include d3d10misc.inc
include d3d10shader.inc
include d3d10effect.inc
include d3d10_1shader.inc

CALLBACK(PFN_D3D11_CREATE_DEVICE, :ptr, :D3D_DRIVER_TYPE, :HMODULE, :UINT, :ptr D3D_FEATURE_LEVEL, :UINT, :UINT, :ptr, :ptr, :ptr)
CALLBACK(PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN, :ptr, :D3D_DRIVER_TYPE, :HMODULE, :UINT, :ptr, :UINT, :UINT, :ptr, :ptr, :ptr, :ptr, :ptr)

D3D11CreateDevice proto WINAPI :ptr, :D3D_DRIVER_TYPE, :HMODULE, :UINT, :ptr, :UINT, :UINT, :ptr, :ptr, :ptr
D3D11CreateDeviceAndSwapChain proto WINAPI :ptr, :D3D_DRIVER_TYPE, :HMODULE, :UINT, :ptr, :UINT, :UINT, :ptr, :ptr, :ptr, :ptr, :ptr

DEFINE_GUID(IID_ID3D11DeviceChild,0x1841e5c8,0x16b0,0x489b,0xbc,0xc8,0x44,0xcf,0xb0,0xd5,0xde,0xae)
DEFINE_GUID(IID_ID3D11DepthStencilState,0x03823efb,0x8d8f,0x4e1c,0x9a,0xa2,0xf6,0x4b,0xb2,0xcb,0xfd,0xf1)
DEFINE_GUID(IID_ID3D11BlendState,0x75b68faa,0x347d,0x4159,0x8f,0x45,0xa0,0x64,0x0f,0x01,0xcd,0x9a)
DEFINE_GUID(IID_ID3D11RasterizerState,0x9bb4ab81,0xab1a,0x4d8f,0xb5,0x06,0xfc,0x04,0x20,0x0b,0x6e,0xe7)
DEFINE_GUID(IID_ID3D11Resource,0xdc8e63f3,0xd12b,0x4952,0xb4,0x7b,0x5e,0x45,0x02,0x6a,0x86,0x2d)
DEFINE_GUID(IID_ID3D11Buffer,0x48570b85,0xd1ee,0x4fcd,0xa2,0x50,0xeb,0x35,0x07,0x22,0xb0,0x37)
DEFINE_GUID(IID_ID3D11Texture1D,0xf8fb5c27,0xc6b3,0x4f75,0xa4,0xc8,0x43,0x9a,0xf2,0xef,0x56,0x4c)
DEFINE_GUID(IID_ID3D11Texture2D,0x6f15aaf2,0xd208,0x4e89,0x9a,0xb4,0x48,0x95,0x35,0xd3,0x4f,0x9c)
DEFINE_GUID(IID_ID3D11Texture3D,0x037e866e,0xf56d,0x4357,0xa8,0xaf,0x9d,0xab,0xbe,0x6e,0x25,0x0e)
DEFINE_GUID(IID_ID3D11View,0x839d1216,0xbb2e,0x412b,0xb7,0xf4,0xa9,0xdb,0xeb,0xe0,0x8e,0xd1)
DEFINE_GUID(IID_ID3D11ShaderResourceView,0xb0e06fe0,0x8192,0x4e1a,0xb1,0xca,0x36,0xd7,0x41,0x47,0x10,0xb2)
DEFINE_GUID(IID_ID3D11RenderTargetView,0xdfdba067,0x0b8d,0x4865,0x87,0x5b,0xd7,0xb4,0x51,0x6c,0xc1,0x64)
DEFINE_GUID(IID_ID3D11DepthStencilView,0x9fdac92a,0x1876,0x48c3,0xaf,0xad,0x25,0xb9,0x4f,0x84,0xa9,0xb6)
DEFINE_GUID(IID_ID3D11UnorderedAccessView,0x28acf509,0x7f5c,0x48f6,0x86,0x11,0xf3,0x16,0x01,0x0a,0x63,0x80)
DEFINE_GUID(IID_ID3D11VertexShader,0x3b301d64,0xd678,0x4289,0x88,0x97,0x22,0xf8,0x92,0x8b,0x72,0xf3)
DEFINE_GUID(IID_ID3D11HullShader,0x8e5c6061,0x628a,0x4c8e,0x82,0x64,0xbb,0xe4,0x5c,0xb3,0xd5,0xdd)
DEFINE_GUID(IID_ID3D11DomainShader,0xf582c508,0x0f36,0x490c,0x99,0x77,0x31,0xee,0xce,0x26,0x8c,0xfa)
DEFINE_GUID(IID_ID3D11GeometryShader,0x38325b96,0xeffb,0x4022,0xba,0x02,0x2e,0x79,0x5b,0x70,0x27,0x5c)
DEFINE_GUID(IID_ID3D11PixelShader,0xea82e40d,0x51dc,0x4f33,0x93,0xd4,0xdb,0x7c,0x91,0x25,0xae,0x8c)
DEFINE_GUID(IID_ID3D11ComputeShader,0x4f5b196e,0xc2bd,0x495e,0xbd,0x01,0x1f,0xde,0xd3,0x8e,0x49,0x69)
DEFINE_GUID(IID_ID3D11InputLayout,0xe4819ddc,0x4cf0,0x4025,0xbd,0x26,0x5d,0xe8,0x2a,0x3e,0x07,0xb7)
DEFINE_GUID(IID_ID3D11SamplerState,0xda6fea51,0x564c,0x4487,0x98,0x10,0xf0,0xd0,0xf9,0xb4,0xe3,0xa5)
DEFINE_GUID(IID_ID3D11Asynchronous,0x4b35d0cd,0x1e15,0x4258,0x9c,0x98,0x1b,0x13,0x33,0xf6,0xdd,0x3b)
DEFINE_GUID(IID_ID3D11Query,0xd6c00747,0x87b7,0x425e,0xb8,0x4d,0x44,0xd1,0x08,0x56,0x0a,0xfd)
DEFINE_GUID(IID_ID3D11Predicate,0x9eb576dd,0x9f77,0x4d86,0x81,0xaa,0x8b,0xab,0x5f,0xe4,0x90,0xe2)
DEFINE_GUID(IID_ID3D11Counter,0x6e8c49fb,0xa371,0x4770,0xb4,0x40,0x29,0x08,0x60,0x22,0xb7,0x41)
DEFINE_GUID(IID_ID3D11ClassInstance,0xa6cd7faa,0xb0b7,0x4a2f,0x94,0x36,0x86,0x62,0xa6,0x57,0x97,0xcb)
DEFINE_GUID(IID_ID3D11ClassLinkage,0xddf57cba,0x9543,0x46e4,0xa1,0x2b,0xf2,0x07,0xa0,0xfe,0x7f,0xed)
DEFINE_GUID(IID_ID3D11CommandList,0xa24bc4d1,0x769e,0x43f7,0x80,0x13,0x98,0xff,0x56,0x6c,0x18,0xe2)
DEFINE_GUID(IID_ID3D11DeviceContext,0xc0bfa96c,0xe089,0x44fb,0x8e,0xaf,0x26,0xf8,0x79,0x61,0x90,0xda)
DEFINE_GUID(IID_ID3D11Device,0xdb6f6ddb,0xac77,0x4e88,0x82,0x53,0x81,0x9d,0xf9,0xbb,0xf1,0x40)

endif
.pragma list(pop)
