/* * Copyright 2010 Rico Schüller * Copyright 2013 Austin English * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ import "oaidl.idl"; import "ocidl.idl"; import "dxgi.idl"; import "d3dcommon.idl"; typedef D3D_PRIMITIVE D3D11_PRIMITIVE; typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY; typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION; typedef RECT D3D11_RECT; interface ID3D11Device; interface ID3D11ClassLinkage; interface ID3D11Resource; interface ID3D11VideoProcessorInputView; cpp_quote("#ifndef _D3D11_CONSTANTS") cpp_quote("#define _D3D11_CONSTANTS") const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = 16; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; const UINT D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; const UINT D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64; const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4; const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1; const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1; const UINT D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1; const UINT D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32; const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1; const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128; const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1; const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1; const UINT D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128; const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1; const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16; const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1; const UINT D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1; const UINT D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT = 16; const UINT D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32; const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4; const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_COMMONSHADER_TEMP_REGISTER_COUNT = 4096; const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3; const UINT D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3; const UINT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10; const INT D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10; const INT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8; const UINT D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7; const UINT D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256; const UINT D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64; const UINT D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240; const UINT D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68; const UINT D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224; const UINT D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72; const UINT D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208; const UINT D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76; const UINT D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192; const UINT D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84; const UINT D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176; const UINT D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92; const UINT D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160; const UINT D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100; const UINT D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144; const UINT D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112; const UINT D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128; const UINT D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128; const UINT D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112; const UINT D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144; const UINT D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96; const UINT D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168; const UINT D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80; const UINT D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204; const UINT D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64; const UINT D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256; const UINT D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48; const UINT D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340; const UINT D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32; const UINT D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512; const UINT D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16; const UINT D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768; const UINT D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1; const UINT D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256; const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768; const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_X = 768; const UINT D3D11_CS_4_X_THREAD_GROUP_MAX_Y = 768; const UINT D3D11_CS_4_X_UAV_REGISTER_COUNT = 1; const UINT D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535; const UINT D3D11_CS_TGSM_REGISTER_COUNT = 8192; const UINT D3D11_CS_TGSM_REGISTER_READS_PER_INST = 1; const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1; const UINT D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1; const UINT D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024; const UINT D3D11_CS_THREAD_GROUP_MAX_X = 1024; const UINT D3D11_CS_THREAD_GROUP_MAX_Y = 1024; const UINT D3D11_CS_THREAD_GROUP_MAX_Z = 64; const UINT D3D11_CS_THREAD_GROUP_MIN_X = 1; const UINT D3D11_CS_THREAD_GROUP_MIN_Y = 1; const UINT D3D11_CS_THREAD_GROUP_MIN_Z = 1; const UINT D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384; const UINT D3D11_DEFAULT_DEPTH_BIAS = 0; cpp_quote("#define D3D11_DEFAULT_DEPTH_BIAS_CLAMP 0.0f") const UINT D3D11_DEFAULT_MAX_ANISOTROPY = 16; cpp_quote("#define D3D11_DEFAULT_MIP_LOD_BIAS 0.0f") const UINT D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0; const UINT D3D11_DEFAULT_SAMPLE_MASK = 0xffffffff; const UINT D3D11_DEFAULT_SCISSOR_ENDX = 0; const UINT D3D11_DEFAULT_SCISSOR_ENDY = 0; const UINT D3D11_DEFAULT_SCISSOR_STARTX = 0; const UINT D3D11_DEFAULT_SCISSOR_STARTY = 0; cpp_quote("#define D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS 0.0f") const UINT D3D11_DEFAULT_STENCIL_READ_MASK = 0xff; const UINT D3D11_DEFAULT_STENCIL_REFERENCE = 0; const UINT D3D11_DEFAULT_STENCIL_WRITE_MASK = 0xff; const UINT D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0; const UINT D3D11_DEFAULT_VIEWPORT_HEIGHT = 0; cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MAX_DEPTH 0.0f") cpp_quote("#define D3D11_DEFAULT_VIEWPORT_MIN_DEPTH 0.0f") const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0; const UINT D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0; const UINT D3D11_DEFAULT_VIEWPORT_WIDTH = 0; cpp_quote("#define D3D11_FLOAT32_MAX (3.402823466e+38f)") const UINT D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32; const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8; const UINT D3D11_MAX_MAXANISOTROPY = 16; const UINT D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32; const UINT D3D11_VIEWPORT_BOUNDS_MAX = 32767; const INT D3D11_VIEWPORT_BOUNDS_MIN = -32768; const UINT D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15; const UINT D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16; const UINT D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff; const UINT D3D11_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff; const UINT D3D11_SHADER_MAJOR_VERSION = 5; const UINT D3D11_SHADER_MAX_INSTANCES = 65535; const UINT D3D11_SHADER_MAX_INTERFACES = 253; const UINT D3D11_SHADER_MAX_INTERFACE_CALL_SITES = 4096; const UINT D3D11_SHADER_MAX_TYPES = 65535; const UINT D3D11_SHADER_MINOR_VERSION = 0; const UINT D3D11_VS_OUTPUT_REGISTER_COUNT = 32; const UINT D3D11_OMAC_SIZE = 16; const UINT D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1; const UINT D3D11_PS_CS_UAV_REGISTER_COUNT = 8; const UINT D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1; const UINT D3D11_PS_CS_UAV_REGISTER_READ_PORTS = 1; const UINT D3D11_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff; const UINT D3D11_PS_FRONTFACING_FALSE_VALUE = 0; const UINT D3D11_PS_FRONTFACING_TRUE_VALUE = 0xffffffff; const UINT D3D11_PS_INPUT_REGISTER_COMPONENTS = 4; const UINT D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_PS_INPUT_REGISTER_COUNT = 32; const UINT D3D11_PS_INPUT_REGISTER_READS_PER_INST = 2; const UINT D3D11_PS_INPUT_REGISTER_READ_PORTS = 1; cpp_quote("#define D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.0f)") const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1; const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1; const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1; const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_PS_OUTPUT_MASK_REGISTER_COUNT = 1; const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENTS = 4; const UINT D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32; const UINT D3D11_PS_OUTPUT_REGISTER_COUNT = 8; cpp_quote("#define D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT (0.5f)") const UINT D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT = 16; const UINT D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096; const UINT D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27; const UINT D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; const UINT D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096; const UINT D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32; const UINT D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32; const UINT D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384; const UINT D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024; const UINT D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096; const UINT D3D11_REQ_MAXANISOTROPY = 16; const UINT D3D11_REQ_MIP_LEVELS = 15; const UINT D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048; const UINT D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096; const UINT D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384; const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128; cpp_quote("#define D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)") const UINT D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = 2048; const UINT D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20; const UINT D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096; const UINT D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048; const UINT D3D11_REQ_TEXTURE1D_U_DIMENSION = 16384; const UINT D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048; const UINT D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384; const UINT D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048; const UINT D3D11_REQ_TEXTURECUBE_DIMENSION = 16384; const UINT D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0; const UINT D3D11_SHIFT_INSTRUCTION_PAD_VALUE = 0; const UINT D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5; const UINT D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048; const UINT D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512; const UINT D3D11_SO_BUFFER_SLOT_COUNT = 4; const UINT D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff; const UINT D3D11_SO_NO_RASTERIZED_STREAM = 0xffffffff; const UINT D3D11_SO_OUTPUT_COMPONENT_COUNT = 128; const UINT D3D11_SO_STREAM_COUNT = 4; const UINT D3D11_SPEC_DATE_DAY = 16; const UINT D3D11_SPEC_DATE_MONTH = 05; const UINT D3D11_SPEC_DATE_YEAR = 2011; cpp_quote("#define D3D11_SPEC_VERSION (1.07)") cpp_quote("#define D3D11_SRGB_GAMMA (2.2f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 (12.92f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 (1.055f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_EXPONENT (2.4f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_OFFSET (0.055f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_THRESHOLD (0.04045f)") cpp_quote("#define D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP (0.5f)") const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT = 32; const UINT D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64; const UINT D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4; const UINT D3D11_STANDARD_PIXEL_COMPONENT_COUNT = 128; const UINT D3D11_STANDARD_PIXEL_ELEMENT_COUNT = 32; const UINT D3D11_STANDARD_VECTOR_SIZE = 4; const UINT D3D11_STANDARD_VERTEX_ELEMENT_COUNT = 32; const UINT D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64; cpp_quote("#endif") cpp_quote("#ifndef _D3D11_1_CONSTANTS") cpp_quote("#define _D3D11_1_CONSTANTS") const UINT D3D11_1_UAV_SLOT_COUNT = 64; cpp_quote("#endif") cpp_quote("#ifndef _D3D11_2_CONSTANTS") cpp_quote("#define _D3D11_2_CONSTANTS") const UINT D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES = 0x10000; cpp_quote("#endif") cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_DEFAULT {};") cpp_quote("extern const DECLSPEC_SELECTANY CD3D11_DEFAULT D3D11_DEFAULT;") cpp_quote("#endif") typedef enum D3D11_BLEND { D3D11_BLEND_ZERO = 1, D3D11_BLEND_ONE = 2, D3D11_BLEND_SRC_COLOR = 3, D3D11_BLEND_INV_SRC_COLOR = 4, D3D11_BLEND_SRC_ALPHA = 5, D3D11_BLEND_INV_SRC_ALPHA = 6, D3D11_BLEND_DEST_ALPHA = 7, D3D11_BLEND_INV_DEST_ALPHA = 8, D3D11_BLEND_DEST_COLOR = 9, D3D11_BLEND_INV_DEST_COLOR = 10, D3D11_BLEND_SRC_ALPHA_SAT = 11, D3D11_BLEND_BLEND_FACTOR = 14, D3D11_BLEND_INV_BLEND_FACTOR = 15, D3D11_BLEND_SRC1_COLOR = 16, D3D11_BLEND_INV_SRC1_COLOR = 17, D3D11_BLEND_SRC1_ALPHA = 18, D3D11_BLEND_INV_SRC1_ALPHA = 19, } D3D11_BLEND; typedef enum D3D11_BLEND_OP { D3D11_BLEND_OP_ADD = 1, D3D11_BLEND_OP_SUBTRACT, D3D11_BLEND_OP_REV_SUBTRACT, D3D11_BLEND_OP_MIN, D3D11_BLEND_OP_MAX } D3D11_BLEND_OP; typedef 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_DECODER_BUFFER_TYPE; typedef 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, } D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE; typedef 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, } D3D11_VIDEO_PROCESSOR_OUTPUT_RATE; typedef 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, } D3D11_VIDEO_PROCESSOR_STEREO_FORMAT; typedef 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, } D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE; typedef 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_ROTATION; typedef enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS { D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x00000001, D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x00000002, D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x00000004, D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x00000008, D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x00000010, } D3D11_VIDEO_PROCESSOR_DEVICE_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS { D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x00000001, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x00000002, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x00000004, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x00000008, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x00000010, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x00000020, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x00000040, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x00000080, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x00000100, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x00000200, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x00000400, D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_METADATA_HDR10 = 0x00000800, } D3D11_VIDEO_PROCESSOR_FEATURE_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS { D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x00000001, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x00000002, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x00000004, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x00000008, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x00000010, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x00000020, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x00000040, D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x00000080, } D3D11_VIDEO_PROCESSOR_FILTER_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS { D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x00000001, D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x00000002, D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x00000004, D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x00000008, } D3D11_VIDEO_PROCESSOR_FORMAT_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS { D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x00000001, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x00000002, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x00000004, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x00000008, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x00000010, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x00000020, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x00000040, D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x00000080, } D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS { D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x00000001, D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x00000002, D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x00000004, D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x00000008, D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x00000010, } D3D11_VIDEO_PROCESSOR_STEREO_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS { D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x01, D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x02, D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x04, D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x08, D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, } D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS { D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x00000001, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x00000002, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x00000004, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x00000008, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x00000010, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x00000020, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x00000040, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x00000080, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x00000100, D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000, } D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS; typedef enum D3D11_CONTENT_PROTECTION_CAPS { D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x00000001, D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x00000002, D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x00000004, D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x00000008, D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x00000010, D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x00000020, D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x00000040, D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x00000080, D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x00000100, D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x00000200, D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x00000400, D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x00000800, D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x00001000, D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x00002000, D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x00004000, } D3D11_CONTENT_PROTECTION_CAPS; typedef enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE { D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0x00000000, D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 0x00000001, D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 0x00000002, } D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE; typedef enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE { D3D11_PROCESSIDTYPE_UNKNOWN = 0x00000000, D3D11_PROCESSIDTYPE_DWM = 0x00000001, D3D11_PROCESSIDTYPE_HANDLE = 0x00000002, } D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE; typedef enum D3D11_BUS_TYPE { D3D11_BUS_TYPE_OTHER = 0x00000000, D3D11_BUS_TYPE_PCI = 0x00000001, D3D11_BUS_TYPE_PCIX = 0x00000002, D3D11_BUS_TYPE_PCIEXPRESS = 0x00000003, D3D11_BUS_TYPE_AGP = 0x00000004, D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x00010000, D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x00020000, D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x00030000, D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x00040000, D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x00050000, D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000, } D3D11_BUS_TYPE; typedef struct D3D11_BOX { UINT left; UINT top; UINT front; UINT right; UINT bottom; UINT back; } D3D11_BOX; typedef struct D3D11_BUFFER_RTV { union { UINT FirstElement; UINT ElementOffset; }; union { UINT NumElements; UINT ElementWidth; }; } D3D11_BUFFER_RTV; typedef struct D3D11_BUFFER_SRV { union { UINT FirstElement; UINT ElementOffset; }; union { UINT NumElements; UINT ElementWidth; }; } D3D11_BUFFER_SRV; typedef struct D3D11_BUFFER_UAV { UINT FirstElement; UINT NumElements; UINT Flags; } D3D11_BUFFER_UAV; typedef struct D3D11_BUFFEREX_SRV { UINT FirstElement; UINT NumElements; UINT Flags; } D3D11_BUFFEREX_SRV; typedef struct D3D11_CLASS_INSTANCE_DESC { UINT InstanceId; UINT InstanceIndex; UINT TypeId; UINT ConstantBuffer; UINT BaseConstantBufferOffset; UINT BaseTexture; UINT BaseSampler; BOOL Created; } D3D11_CLASS_INSTANCE_DESC; typedef enum D3D11_COMPARISON_FUNC { D3D11_COMPARISON_NEVER = 1, D3D11_COMPARISON_LESS, D3D11_COMPARISON_EQUAL, D3D11_COMPARISON_LESS_EQUAL, D3D11_COMPARISON_GREATER, D3D11_COMPARISON_NOT_EQUAL, D3D11_COMPARISON_GREATER_EQUAL, D3D11_COMPARISON_ALWAYS } D3D11_COMPARISON_FUNC; typedef enum D3D11_COUNTER { D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000, } D3D11_COUNTER; typedef struct D3D11_COUNTER_DESC { D3D11_COUNTER Counter; UINT MiscFlags; } D3D11_COUNTER_DESC; typedef struct D3D11_COUNTER_INFO { D3D11_COUNTER LastDeviceDependentCounter; UINT NumSimultaneousCounters; UINT8 NumDetectableParallelUnits; } D3D11_COUNTER_INFO; typedef enum D3D11_COUNTER_TYPE { D3D11_COUNTER_TYPE_FLOAT32, D3D11_COUNTER_TYPE_UINT16, D3D11_COUNTER_TYPE_UINT32, D3D11_COUNTER_TYPE_UINT64, } D3D11_COUNTER_TYPE; typedef enum D3D11_CULL_MODE { D3D11_CULL_NONE = 1, D3D11_CULL_FRONT, D3D11_CULL_BACK } D3D11_CULL_MODE; typedef enum D3D11_DEPTH_WRITE_MASK { D3D11_DEPTH_WRITE_MASK_ZERO, D3D11_DEPTH_WRITE_MASK_ALL, } D3D11_DEPTH_WRITE_MASK; typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS { D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe, } D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS; typedef enum D3D11_DEVICE_CONTEXT_TYPE { D3D11_DEVICE_CONTEXT_IMMEDIATE, D3D11_DEVICE_CONTEXT_DEFERRED, } D3D11_DEVICE_CONTEXT_TYPE; typedef enum D3D11_DSV_DIMENSION { D3D11_DSV_DIMENSION_UNKNOWN, D3D11_DSV_DIMENSION_TEXTURE1D, D3D11_DSV_DIMENSION_TEXTURE1DARRAY, D3D11_DSV_DIMENSION_TEXTURE2D, D3D11_DSV_DIMENSION_TEXTURE2DARRAY, D3D11_DSV_DIMENSION_TEXTURE2DMS, D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY, } D3D11_DSV_DIMENSION; typedef enum D3D11_FEATURE { D3D11_FEATURE_THREADING, D3D11_FEATURE_DOUBLES, D3D11_FEATURE_FORMAT_SUPPORT, D3D11_FEATURE_FORMAT_SUPPORT2, D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS, D3D11_FEATURE_D3D11_OPTIONS, D3D11_FEATURE_ARCHITECTURE_INFO, D3D11_FEATURE_D3D9_OPTIONS, D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT, D3D11_FEATURE_D3D9_SHADOW_SUPPORT, D3D11_FEATURE_D3D11_OPTIONS1, D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT, D3D11_FEATURE_MARKER_SUPPORT, D3D11_FEATURE_D3D9_OPTIONS1, D3D11_FEATURE_D3D11_OPTIONS2, D3D11_FEATURE_D3D11_OPTIONS3, D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT, D3D11_FEATURE_D3D11_OPTIONS4, D3D11_FEATURE_SHADER_CACHE, D3D11_FEATURE_D3D11_OPTIONS5, } D3D11_FEATURE; typedef struct D3D11_FEATURE_DATA_THREADING { BOOL DriverConcurrentCreates; BOOL DriverCommandLists; } D3D11_FEATURE_DATA_THREADING; typedef struct D3D11_FEATURE_DATA_DOUBLES { BOOL DoublePrecisionFloatShaderOps; } D3D11_FEATURE_DATA_DOUBLES; typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT { DXGI_FORMAT InFormat; UINT OutFormatSupport; } D3D11_FEATURE_DATA_FORMAT_SUPPORT; typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 { DXGI_FORMAT InFormat; UINT OutFormatSupport2; } D3D11_FEATURE_DATA_FORMAT_SUPPORT2; typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; } D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS; typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS { BOOL OutputMergerLogicOp; BOOL UAVOnlyRenderingForcedSampleCount; BOOL DiscardAPIsSeenByDriver; BOOL FlagsForUpdateAndCopySeenByDriver; BOOL ClearView; BOOL CopyWithOverlap; BOOL ConstantBufferPartialUpdate; BOOL ConstantBufferOffsetting; BOOL MapNoOverwriteOnDynamicConstantBuffer; BOOL MapNoOverwriteOnDynamicBufferSRV; BOOL MultisampleRTVWithForcedSampleCountOne; BOOL SAD4ShaderInstructions; BOOL ExtendedDoublesShaderInstructions; BOOL ExtendedResourceSharing; } D3D11_FEATURE_DATA_D3D11_OPTIONS; typedef struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO { BOOL TileBasedDeferredRenderer; } D3D11_FEATURE_DATA_ARCHITECTURE_INFO; typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS { BOOL FullNonPow2TextureSupport; } D3D11_FEATURE_DATA_D3D9_OPTIONS; typedef struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT { BOOL SupportsDepthAsTextureWithLessEqualComparisonFilter; } D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT; typedef enum D3D11_SHADER_MIN_PRECISION_SUPPORT { D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1, D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2, } D3D11_SHADER_MIN_PRECISION_SUPPORT; typedef struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT { UINT PixelShaderMinPrecision; UINT AllOtherShaderStagesMinPrecision; } D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT; typedef enum D3D11_TILED_RESOURCES_TIER { D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0x0, D3D11_TILED_RESOURCES_TIER_1 = 0x1, D3D11_TILED_RESOURCES_TIER_2 = 0x2, D3D11_TILED_RESOURCES_TIER_3 = 0x3, } D3D11_TILED_RESOURCES_TIER; typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 { D3D11_TILED_RESOURCES_TIER TiledResourcesTier; BOOL MinMaxFiltering; BOOL ClearViewAlsoSupportsDepthOnlyFormats; BOOL MapOnDefaultBuffers; } D3D11_FEATURE_DATA_D3D11_OPTIONS1; typedef struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT { BOOL SimpleInstancingSupported; } D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT; typedef struct D3D11_FEATURE_DATA_MARKER_SUPPORT { BOOL Profile; } D3D11_FEATURE_DATA_MARKER_SUPPORT; typedef struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 { BOOL FullNonPow2TextureSupported; BOOL DepthAsTextureWithLessEqualComparisonFilterSupported; BOOL SimpleInstancingSupported; BOOL TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported; } D3D11_FEATURE_DATA_D3D9_OPTIONS1; typedef enum D3D11_CONSERVATIVE_RASTERIZATION_TIER { D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0x0, D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 0x1, D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 0x2, D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 0x3, } D3D11_CONSERVATIVE_RASTERIZATION_TIER; typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 { BOOL PSSpecifiedStencilRefSupported; BOOL TypedUAVLoadAdditionalFormats; BOOL ROVsSupported; D3D11_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier; D3D11_TILED_RESOURCES_TIER TiledResourcesTier; BOOL MapOnDefaultTextures; BOOL StandardSwizzle; BOOL UnifiedMemoryArchitecture; } D3D11_FEATURE_DATA_D3D11_OPTIONS2; typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 { BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizer; } D3D11_FEATURE_DATA_D3D11_OPTIONS3; typedef struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { UINT MaxGPUVirtualAddressBitsPerResource; UINT MaxGPUVirtualAddressBitsPerProcess; } D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT; typedef enum D3D11_SHADER_CACHE_SUPPORT_FLAGS { D3D11_SHADER_CACHE_SUPPORT_NONE = 0x0, D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x1, D3D11_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x2, } D3D11_SHADER_CACHE_SUPPORT_FLAGS; typedef struct D3D11_FEATURE_DATA_SHADER_CACHE { UINT SupportFlags; } D3D11_FEATURE_DATA_SHADER_CACHE; typedef enum D3D11_SHARED_RESOURCE_TIER { D3D11_SHARED_RESOURCE_TIER_0, D3D11_SHARED_RESOURCE_TIER_1, D3D11_SHARED_RESOURCE_TIER_2, D3D11_SHARED_RESOURCE_TIER_3, } D3D11_SHARED_RESOURCE_TIER; typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS5 { D3D11_SHARED_RESOURCE_TIER SharedResourceTier; } D3D11_FEATURE_DATA_D3D11_OPTIONS5; typedef enum D3D11_FILL_MODE { D3D11_FILL_WIREFRAME = 2, D3D11_FILL_SOLID } D3D11_FILL_MODE; typedef enum D3D11_FILTER_TYPE { D3D11_FILTER_TYPE_POINT = 0, D3D11_FILTER_TYPE_LINEAR = 1 } D3D11_FILTER_TYPE; const UINT D3D11_MIN_FILTER_SHIFT = 4; const UINT D3D11_MAG_FILTER_SHIFT = 2; const UINT D3D11_MIP_FILTER_SHIFT = 0; const UINT D3D11_FILTER_TYPE_MASK = 0x00000003; const UINT D3D11_COMPARISON_FILTERING_BIT = 0x00000080; const UINT D3D11_ANISOTROPIC_FILTERING_BIT = 0x00000040; cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, bComparison) \\") cpp_quote(" ((D3D11_FILTER)(((bComparison) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | \\") cpp_quote(" (((min)&D3D11_FILTER_TYPE_MASK) << D3D11_MIN_FILTER_SHIFT) | \\") cpp_quote(" (((mag)&D3D11_FILTER_TYPE_MASK) << D3D11_MAG_FILTER_SHIFT) | \\") cpp_quote(" (((mip)&D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))") cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(bComparison) \\") cpp_quote(" ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | \\" ) cpp_quote(" D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR,D3D11_FILTER_TYPE_LINEAR, \\" ) cpp_quote(" D3D11_FILTER_TYPE_LINEAR,bComparison)))" ) cpp_quote("#define D3D11_DECODE_MIN_FILTER(d3d11Filter) \\") cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") cpp_quote("#define D3D11_DECODE_MAG_FILTER(d3d11Filter) \\") cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") cpp_quote("#define D3D11_DECODE_MIP_FILTER(d3d11Filter) \\") cpp_quote(" ((D3D11_FILTER_TYPE)(((d3d11Filter) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))") cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(d3d11Filter) ((d3d11Filter) & D3D11_COMPARISON_FILTERING_BIT)") cpp_quote("#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(d3d11Filter) \\") cpp_quote(" (((d3d11Filter) & D3D11_ANISOTROPIC_FILTERING_BIT ) \\" ) cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER(d3d11Filter)) \\" ) cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER(d3d11Filter)) \\" ) cpp_quote(" && (D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER(d3d11Filter)))") typedef enum D3D11_FILTER { D3D11_FILTER_MIN_MAG_MIP_POINT = 0x00, D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01, D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04, D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05, D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15, D3D11_FILTER_ANISOTROPIC = 0x55, D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5, D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155, D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5 } D3D11_FILTER; typedef enum D3D11_DSV_FLAG { D3D11_DSV_READ_ONLY_DEPTH = 0x1, D3D11_DSV_READ_ONLY_STENCIL = 0x2, } D3D11_DSV_FLAG; typedef enum D3D11_BUFFEREX_SRV_FLAG { D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1, } D3D11_BUFFEREX_SRV_FLAG; typedef enum D3D11_UAV_FLAG { D3D11_BUFFER_UAV_FLAG_RAW = 0x1, D3D11_BUFFER_UAV_FLAG_APPEND = 0x2, D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4, } D3D11_UAV_FLAG; typedef enum D3D11_INPUT_CLASSIFICATION { D3D11_INPUT_PER_VERTEX_DATA, D3D11_INPUT_PER_INSTANCE_DATA, } D3D11_INPUT_CLASSIFICATION; const UINT D3D11_APPEND_ALIGNED_ELEMENT = 0xffffffff; typedef struct D3D11_INPUT_ELEMENT_DESC { LPCSTR SemanticName; UINT SemanticIndex; DXGI_FORMAT Format; UINT InputSlot; UINT AlignedByteOffset; D3D11_INPUT_CLASSIFICATION InputSlotClass; UINT InstanceDataStepRate; } D3D11_INPUT_ELEMENT_DESC; typedef enum D3D11_MAP { D3D11_MAP_READ = 1, D3D11_MAP_WRITE, D3D11_MAP_READ_WRITE, D3D11_MAP_WRITE_DISCARD, D3D11_MAP_WRITE_NO_OVERWRITE } D3D11_MAP; typedef enum D3D11_MAP_FLAG { D3D11_MAP_FLAG_DO_NOT_WAIT = 0x00100000 } D3D11_MAP_FLAG; typedef enum D3D11_RAISE_FLAG { D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1, } D3D11_RAISE_FLAG; typedef struct D3D11_QUERY_DATA_SO_STATISTICS { UINT64 NumPrimitivesWritten; UINT64 PrimitivesStorageNeeded; } D3D11_QUERY_DATA_SO_STATISTICS; typedef struct D3D11_MAPPED_SUBRESOURCE { void *pData; UINT RowPitch; UINT DepthPitch; } D3D11_MAPPED_SUBRESOURCE; typedef enum D3D11_QUERY { D3D11_QUERY_EVENT, D3D11_QUERY_OCCLUSION, D3D11_QUERY_TIMESTAMP, D3D11_QUERY_TIMESTAMP_DISJOINT, D3D11_QUERY_PIPELINE_STATISTICS, D3D11_QUERY_OCCLUSION_PREDICATE, D3D11_QUERY_SO_STATISTICS, D3D11_QUERY_SO_OVERFLOW_PREDICATE, D3D11_QUERY_SO_STATISTICS_STREAM0, D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0, D3D11_QUERY_SO_STATISTICS_STREAM1, D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1, D3D11_QUERY_SO_STATISTICS_STREAM2, D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2, D3D11_QUERY_SO_STATISTICS_STREAM3, D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3, } D3D11_QUERY; typedef enum D3D11_QUERY_MISC_FLAG { D3D11_QUERY_MISC_PREDICATEHINT = 0x1, } D3D11_QUERY_MISC_FLAG; typedef enum D3D11_ASYNC_GETDATA_FLAG { D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x0001, } D3D11_ASYNC_GETDATA_FLAG; typedef enum D3D11_RESOURCE_MISC_FLAG { D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x00000001L, D3D11_RESOURCE_MISC_SHARED = 0x00000002L, D3D11_RESOURCE_MISC_TEXTURECUBE = 0x00000004L, D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x00000010L, D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x00000020L, D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x00000040L, D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x00000080L, D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x00000100L, D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x00000200L, D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x00000800L, D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x00001000L, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x00002000L, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x00004000L, D3D11_RESOURCE_MISC_GUARDED = 0x00008000L, D3D11_RESOURCE_MISC_TILE_POOL = 0x00020000L, D3D11_RESOURCE_MISC_TILED = 0x00040000L, D3D11_RESOURCE_MISC_HW_PROTECTED = 0x00080000L } D3D11_RESOURCE_MISC_FLAG; typedef struct D3D11_QUERY_DESC { D3D11_QUERY Query; UINT MiscFlags; } D3D11_QUERY_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_QUERY_DESC : public D3D11_QUERY_DESC {") cpp_quote(" CD3D11_QUERY_DESC() {}") cpp_quote(" ~CD3D11_QUERY_DESC() {}") cpp_quote(" explicit CD3D11_QUERY_DESC(const D3D11_QUERY_DESC &other) : D3D11_QUERY_DESC(other) {}") cpp_quote(" explicit CD3D11_QUERY_DESC(D3D11_QUERY query, UINT misc_flags = 0) {") cpp_quote(" Query = query;") cpp_quote(" MiscFlags = misc_flags;") cpp_quote(" }") cpp_quote(" operator const D3D11_QUERY_DESC&() const {") cpp_quote(" return *this;") cpp_quote(" }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_RASTERIZER_DESC { D3D11_FILL_MODE FillMode; D3D11_CULL_MODE CullMode; BOOL FrontCounterClockwise; INT DepthBias; FLOAT DepthBiasClamp; FLOAT SlopeScaledDepthBias; BOOL DepthClipEnable; BOOL ScissorEnable; BOOL MultisampleEnable; BOOL AntialiasedLineEnable; } D3D11_RASTERIZER_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC {") cpp_quote(" CD3D11_RASTERIZER_DESC() {}") cpp_quote(" explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o) : D3D11_RASTERIZER_DESC(o) {}") cpp_quote(" explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT) {") cpp_quote(" FillMode = D3D11_FILL_SOLID;") cpp_quote(" CullMode = D3D11_CULL_BACK;") cpp_quote(" FrontCounterClockwise = FALSE;") cpp_quote(" DepthBias = D3D11_DEFAULT_DEPTH_BIAS;") cpp_quote(" DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;") cpp_quote(" SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;") cpp_quote(" DepthClipEnable = TRUE;") cpp_quote(" ScissorEnable = FALSE;") cpp_quote(" MultisampleEnable = FALSE;") cpp_quote(" AntialiasedLineEnable = FALSE;") cpp_quote(" }") cpp_quote(" explicit CD3D11_RASTERIZER_DESC(D3D11_FILL_MODE fillMode, D3D11_CULL_MODE cullMode," ) cpp_quote(" WINBOOL frontCounterClockwise, INT depthBias, FLOAT depthBiasClamp, FLOAT slopeScaledDepthBias,") cpp_quote(" BOOL depthClipEnable, WINBOOL scissorEnable, WINBOOL multisampleEnable, WINBOOL antialiasedLineEnable) {") cpp_quote(" FillMode = fillMode;") cpp_quote(" CullMode = cullMode;") cpp_quote(" FrontCounterClockwise = frontCounterClockwise;") cpp_quote(" DepthBias = depthBias;") cpp_quote(" DepthBiasClamp = depthBiasClamp;") cpp_quote(" SlopeScaledDepthBias = slopeScaledDepthBias;") cpp_quote(" DepthClipEnable = depthClipEnable;") cpp_quote(" ScissorEnable = scissorEnable;") cpp_quote(" MultisampleEnable = multisampleEnable;") cpp_quote(" AntialiasedLineEnable = antialiasedLineEnable;") cpp_quote(" }") cpp_quote(" ~CD3D11_RASTERIZER_DESC() {}") cpp_quote(" operator const D3D11_RASTERIZER_DESC&() const { return *this; }") cpp_quote("};") cpp_quote("#endif") typedef enum D3D11_RESOURCE_DIMENSION { D3D11_RESOURCE_DIMENSION_UNKNOWN, D3D11_RESOURCE_DIMENSION_BUFFER, D3D11_RESOURCE_DIMENSION_TEXTURE1D, D3D11_RESOURCE_DIMENSION_TEXTURE2D, D3D11_RESOURCE_DIMENSION_TEXTURE3D, } D3D11_RESOURCE_DIMENSION; typedef enum D3D11_RTV_DIMENSION { D3D11_RTV_DIMENSION_UNKNOWN, D3D11_RTV_DIMENSION_BUFFER, D3D11_RTV_DIMENSION_TEXTURE1D, D3D11_RTV_DIMENSION_TEXTURE1DARRAY, D3D11_RTV_DIMENSION_TEXTURE2D, D3D11_RTV_DIMENSION_TEXTURE2DARRAY, D3D11_RTV_DIMENSION_TEXTURE2DMS, D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY, D3D11_RTV_DIMENSION_TEXTURE3D, } D3D11_RTV_DIMENSION; typedef struct D3D11_SO_DECLARATION_ENTRY { UINT Stream; LPCSTR SemanticName; UINT SemanticIndex; BYTE StartComponent; BYTE ComponentCount; BYTE OutputSlot; } D3D11_SO_DECLARATION_ENTRY; typedef enum D3D11_STENCIL_OP { D3D11_STENCIL_OP_KEEP = 1, D3D11_STENCIL_OP_ZERO, D3D11_STENCIL_OP_REPLACE, D3D11_STENCIL_OP_INCR_SAT, D3D11_STENCIL_OP_DECR_SAT, D3D11_STENCIL_OP_INVERT, D3D11_STENCIL_OP_INCR, D3D11_STENCIL_OP_DECR } D3D11_STENCIL_OP; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("}") cpp_quote("inline UINT D3D11CalcSubresource(UINT MipSlice, UINT ArraySlice, UINT MipLevels) {") cpp_quote(" return MipSlice + ArraySlice * MipLevels;") cpp_quote("}") cpp_quote("extern \"C\"{") cpp_quote("#endif") typedef struct D3D11_SUBRESOURCE_DATA { const void *pSysMem; UINT SysMemPitch; UINT SysMemSlicePitch; } D3D11_SUBRESOURCE_DATA; typedef struct D3D11_TEX1D_ARRAY_DSV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX1D_ARRAY_DSV; typedef struct D3D11_TEX1D_ARRAY_RTV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX1D_ARRAY_RTV; typedef struct D3D11_TEX1D_ARRAY_SRV { UINT MostDetailedMip; UINT MipLevels; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX1D_ARRAY_SRV; typedef struct D3D11_TEX1D_ARRAY_UAV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX1D_ARRAY_UAV; typedef struct D3D11_TEX1D_DSV { UINT MipSlice; } D3D11_TEX1D_DSV; typedef struct D3D11_TEX1D_RTV { UINT MipSlice; } D3D11_TEX1D_RTV; typedef struct D3D11_TEX1D_SRV { UINT MostDetailedMip; UINT MipLevels; } D3D11_TEX1D_SRV; typedef struct D3D11_TEX1D_UAV { UINT MipSlice; } D3D11_TEX1D_UAV; typedef struct D3D11_TEX2D_ARRAY_DSV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2D_ARRAY_DSV; typedef struct D3D11_TEX2D_ARRAY_RTV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2D_ARRAY_RTV; typedef struct D3D11_TEX2D_ARRAY_SRV { UINT MostDetailedMip; UINT MipLevels; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2D_ARRAY_SRV; typedef struct D3D11_TEX2D_ARRAY_UAV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2D_ARRAY_UAV; typedef struct D3D11_TEX2D_DSV { UINT MipSlice; } D3D11_TEX2D_DSV; typedef struct D3D11_TEX2D_RTV { UINT MipSlice; } D3D11_TEX2D_RTV; typedef struct D3D11_TEX2D_SRV { UINT MostDetailedMip; UINT MipLevels; } D3D11_TEX2D_SRV; typedef struct D3D11_TEX2D_UAV { UINT MipSlice; } D3D11_TEX2D_UAV; typedef struct D3D11_TEX2DMS_ARRAY_DSV { UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2DMS_ARRAY_DSV; typedef struct D3D11_TEX2DMS_ARRAY_RTV { UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2DMS_ARRAY_RTV; typedef struct D3D11_TEX2DMS_ARRAY_SRV { UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2DMS_ARRAY_SRV; typedef struct D3D11_TEX2DMS_DSV { UINT UnusedField_NothingToDefine; } D3D11_TEX2DMS_DSV; typedef struct D3D11_TEX2DMS_RTV { UINT UnusedField_NothingToDefine; } D3D11_TEX2DMS_RTV; typedef struct D3D11_TEX2DMS_SRV { UINT UnusedField_NothingToDefine; } D3D11_TEX2DMS_SRV; typedef struct D3D11_TEX3D_RTV { UINT MipSlice; UINT FirstWSlice; UINT WSize; } D3D11_TEX3D_RTV; typedef struct D3D11_TEX3D_SRV { UINT MostDetailedMip; UINT MipLevels; } D3D11_TEX3D_SRV; typedef struct D3D11_TEX3D_UAV { UINT MipSlice; UINT FirstWSlice; UINT WSize; } D3D11_TEX3D_UAV; typedef struct D3D11_TEXCUBE_ARRAY_SRV { UINT MostDetailedMip; UINT MipLevels; UINT First2DArrayFace; UINT NumCubes; } D3D11_TEXCUBE_ARRAY_SRV; typedef struct D3D11_TEXCUBE_SRV { UINT MostDetailedMip; UINT MipLevels; } D3D11_TEXCUBE_SRV; typedef enum D3D11_TEXTURE_ADDRESS_MODE { D3D11_TEXTURE_ADDRESS_WRAP = 1, D3D11_TEXTURE_ADDRESS_MIRROR, D3D11_TEXTURE_ADDRESS_CLAMP, D3D11_TEXTURE_ADDRESS_BORDER, D3D11_TEXTURE_ADDRESS_MIRROR_ONCE } D3D11_TEXTURE_ADDRESS_MODE; typedef enum D3D11_UAV_DIMENSION { D3D11_UAV_DIMENSION_UNKNOWN, D3D11_UAV_DIMENSION_BUFFER, D3D11_UAV_DIMENSION_TEXTURE1D, D3D11_UAV_DIMENSION_TEXTURE1DARRAY, D3D11_UAV_DIMENSION_TEXTURE2D, D3D11_UAV_DIMENSION_TEXTURE2DARRAY, D3D11_UAV_DIMENSION_TEXTURE3D = 8, } D3D11_UAV_DIMENSION; typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC { DXGI_FORMAT Format; D3D11_UAV_DIMENSION ViewDimension; union { D3D11_BUFFER_UAV Buffer; D3D11_TEX1D_UAV Texture1D; D3D11_TEX1D_ARRAY_UAV Texture1DArray; D3D11_TEX2D_UAV Texture2D; D3D11_TEX2D_ARRAY_UAV Texture2DArray; D3D11_TEX3D_UAV Texture3D; }; } D3D11_UNORDERED_ACCESS_VIEW_DESC; typedef enum D3D11_USAGE { D3D11_USAGE_DEFAULT, D3D11_USAGE_IMMUTABLE, D3D11_USAGE_DYNAMIC, D3D11_USAGE_STAGING, } D3D11_USAGE; typedef enum D3D11_BIND_FLAG { D3D11_BIND_VERTEX_BUFFER = 0x0001, D3D11_BIND_INDEX_BUFFER = 0x0002, D3D11_BIND_CONSTANT_BUFFER = 0x0004, D3D11_BIND_SHADER_RESOURCE = 0x0008, D3D11_BIND_STREAM_OUTPUT = 0x0010, D3D11_BIND_RENDER_TARGET = 0x0020, D3D11_BIND_DEPTH_STENCIL = 0x0040, D3D11_BIND_UNORDERED_ACCESS = 0x0080, D3D11_BIND_DECODER = 0x0200, D3D11_BIND_VIDEO_ENCODER = 0x0400 } D3D11_BIND_FLAG; typedef enum D3D11_CPU_ACCESS_FLAG { D3D11_CPU_ACCESS_WRITE = 0x00010000, D3D11_CPU_ACCESS_READ = 0x00020000 } D3D11_CPU_ACCESS_FLAG; typedef struct D3D11_VIEWPORT { FLOAT TopLeftX; FLOAT TopLeftY; FLOAT Width; FLOAT Height; FLOAT MinDepth; FLOAT MaxDepth; } D3D11_VIEWPORT; typedef enum D3D11_COLOR_WRITE_ENABLE { D3D11_COLOR_WRITE_ENABLE_RED = 1, D3D11_COLOR_WRITE_ENABLE_GREEN = 2, D3D11_COLOR_WRITE_ENABLE_BLUE = 4, D3D11_COLOR_WRITE_ENABLE_ALPHA = 8, D3D11_COLOR_WRITE_ENABLE_ALL = (D3D11_COLOR_WRITE_ENABLE_RED|D3D11_COLOR_WRITE_ENABLE_GREEN|D3D11_COLOR_WRITE_ENABLE_BLUE|D3D11_COLOR_WRITE_ENABLE_ALPHA) } D3D11_COLOR_WRITE_ENABLE; typedef enum D3D11_FORMAT_SUPPORT { D3D11_FORMAT_SUPPORT_BUFFER = 0x00000001, D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x00000002, D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x00000004, D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x00000008, D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x00000010, D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x00000020, D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x00000040, D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x00000080, D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x00000100, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x00000200, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x00000400, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x00000800, D3D11_FORMAT_SUPPORT_MIP = 0x00001000, D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x00002000, D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x00004000, D3D11_FORMAT_SUPPORT_BLENDABLE = 0x00008000, D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x00010000, D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x00020000, D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x00040000, D3D11_FORMAT_SUPPORT_DISPLAY = 0x00080000, D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x00100000, D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x00200000, D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x00400000, D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x00800000, D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x01000000, D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x02000000, D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x04000000, D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x08000000, D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000, D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000, D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000, } D3D11_FORMAT_SUPPORT; typedef enum D3D11_FORMAT_SUPPORT2 { D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x00000001, D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x00000002, D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x00000004, D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x00000008, D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x00000010, D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x00000020, D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x00000040, D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x00000080, D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x00000100, D3D11_FORMAT_SUPPORT2_TILED = 0x00000200, D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x00000400, D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x00004000, } D3D11_FORMAT_SUPPORT2; typedef enum D3D11_CLEAR_FLAG { D3D11_CLEAR_DEPTH = 0x0001L, D3D11_CLEAR_STENCIL = 0x0002L } D3D11_CLEAR_FLAG; typedef struct D3D11_RENDER_TARGET_BLEND_DESC { BOOL BlendEnable; D3D11_BLEND SrcBlend; D3D11_BLEND DestBlend; D3D11_BLEND_OP BlendOp; D3D11_BLEND SrcBlendAlpha; D3D11_BLEND DestBlendAlpha; D3D11_BLEND_OP BlendOpAlpha; UINT8 RenderTargetWriteMask; } D3D11_RENDER_TARGET_BLEND_DESC; typedef struct D3D11_BLEND_DESC { BOOL AlphaToCoverageEnable; BOOL IndependentBlendEnable; D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT]; } D3D11_BLEND_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_BLEND_DESC : public D3D11_BLEND_DESC {") cpp_quote(" CD3D11_BLEND_DESC() {}") cpp_quote(" explicit CD3D11_BLEND_DESC(const D3D11_BLEND_DESC &o) : D3D11_BLEND_DESC(o) {}") cpp_quote(" explicit CD3D11_BLEND_DESC(CD3D11_DEFAULT) {") cpp_quote(" AlphaToCoverageEnable = FALSE;") cpp_quote(" IndependentBlendEnable = FALSE;") cpp_quote(" for(D3D11_RENDER_TARGET_BLEND_DESC *target = RenderTarget;") cpp_quote(" target < RenderTarget + D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT;") cpp_quote(" target++) {") cpp_quote(" target->BlendEnable = FALSE;") cpp_quote(" target->SrcBlend = target->SrcBlendAlpha = D3D11_BLEND_ONE;") cpp_quote(" target->DestBlend = target->DestBlendAlpha = D3D11_BLEND_ZERO;") cpp_quote(" target->BlendOp = target->BlendOpAlpha = D3D11_BLEND_OP_ADD;") cpp_quote(" target->RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;") cpp_quote(" }") cpp_quote(" }") cpp_quote(" ~CD3D11_BLEND_DESC() {}") cpp_quote(" operator const D3D11_BLEND_DESC&() const { return *this; }") cpp_quote("};" ) cpp_quote("#endif" ) typedef struct D3D11_BUFFER_DESC { UINT ByteWidth; D3D11_USAGE Usage; UINT BindFlags; UINT CPUAccessFlags; UINT MiscFlags; UINT StructureByteStride; } D3D11_BUFFER_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_BUFFER_DESC : public D3D11_BUFFER_DESC {") cpp_quote(" CD3D11_BUFFER_DESC() {}" ) cpp_quote(" explicit CD3D11_BUFFER_DESC(const D3D11_BUFFER_DESC &o) : D3D11_BUFFER_DESC(o) {}") cpp_quote(" explicit CD3D11_BUFFER_DESC(UINT byteWidth,UINT bindFlags,") cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0,") cpp_quote(" UINT miscFlags = 0, UINT structureByteStride = 0 ) {") cpp_quote(" ByteWidth = byteWidth;") cpp_quote(" Usage = usage;") cpp_quote(" BindFlags = bindFlags;") cpp_quote(" CPUAccessFlags = cpuaccessFlags;") cpp_quote(" MiscFlags = miscFlags;" ) cpp_quote(" StructureByteStride = structureByteStride;") cpp_quote(" }") cpp_quote(" ~CD3D11_BUFFER_DESC() {}") cpp_quote(" operator const D3D11_BUFFER_DESC&() const { return *this; }") cpp_quote("};" ) cpp_quote("#endif" ) typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC { DXGI_FORMAT Format; D3D11_DSV_DIMENSION ViewDimension; UINT Flags; union { D3D11_TEX1D_DSV Texture1D; D3D11_TEX1D_ARRAY_DSV Texture1DArray; D3D11_TEX2D_DSV Texture2D; D3D11_TEX2D_ARRAY_DSV Texture2DArray; D3D11_TEX2DMS_DSV Texture2DMS; D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray; }; } D3D11_DEPTH_STENCIL_VIEW_DESC; typedef struct D3D11_DEPTH_STENCILOP_DESC { D3D11_STENCIL_OP StencilFailOp; D3D11_STENCIL_OP StencilDepthFailOp; D3D11_STENCIL_OP StencilPassOp; D3D11_COMPARISON_FUNC StencilFunc; } D3D11_DEPTH_STENCILOP_DESC; typedef struct D3D11_DEPTH_STENCIL_DESC { BOOL DepthEnable; D3D11_DEPTH_WRITE_MASK DepthWriteMask; D3D11_COMPARISON_FUNC DepthFunc; BOOL StencilEnable; UINT8 StencilReadMask; UINT8 StencilWriteMask; D3D11_DEPTH_STENCILOP_DESC FrontFace; D3D11_DEPTH_STENCILOP_DESC BackFace; } D3D11_DEPTH_STENCIL_DESC; cpp_quote("#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )") cpp_quote("struct CD3D11_DEPTH_STENCIL_DESC : public D3D11_DEPTH_STENCIL_DESC {") cpp_quote(" CD3D11_DEPTH_STENCIL_DESC() {}") cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(const D3D11_DEPTH_STENCIL_DESC &other) : D3D11_DEPTH_STENCIL_DESC(other) {}") cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(CD3D11_DEFAULT) {") cpp_quote(" const D3D11_DEPTH_STENCILOP_DESC default_op =") cpp_quote(" {D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_STENCIL_OP_KEEP, D3D11_COMPARISON_ALWAYS};") cpp_quote(" DepthEnable = TRUE;") cpp_quote(" DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;") cpp_quote(" DepthFunc = D3D11_COMPARISON_LESS;") cpp_quote(" StencilEnable = FALSE;") cpp_quote(" StencilReadMask = D3D11_DEFAULT_STENCIL_READ_MASK;") cpp_quote(" StencilWriteMask = D3D11_DEFAULT_STENCIL_WRITE_MASK;") cpp_quote(" FrontFace = default_op;") cpp_quote(" BackFace = default_op;") cpp_quote(" }") cpp_quote(" explicit CD3D11_DEPTH_STENCIL_DESC(") cpp_quote(" WINBOOL depth_enable,") cpp_quote(" D3D11_DEPTH_WRITE_MASK depth_write_mask,") cpp_quote(" D3D11_COMPARISON_FUNC depth_func,") cpp_quote(" WINBOOL stencil_enable,") cpp_quote(" UINT8 stencil_read_mask,") cpp_quote(" UINT8 stencil_write_mask,") cpp_quote(" D3D11_STENCIL_OP front_stencil_fail_op,") cpp_quote(" D3D11_STENCIL_OP front_stencil_depth_fail_op,") cpp_quote(" D3D11_STENCIL_OP front_stencil_pass_op,") cpp_quote(" D3D11_COMPARISON_FUNC front_stencil_func,") cpp_quote(" D3D11_STENCIL_OP back_stencil_fail_op,") cpp_quote(" D3D11_STENCIL_OP back_stencil_depth_fail_op,") cpp_quote(" D3D11_STENCIL_OP back_stencil_pass_op,") cpp_quote(" D3D11_COMPARISON_FUNC back_stencil_func) {") cpp_quote(" DepthEnable = depth_enable;") cpp_quote(" DepthWriteMask = depth_write_mask;") cpp_quote(" DepthFunc = depth_func;") cpp_quote(" StencilEnable = stencil_enable;") cpp_quote(" StencilReadMask = stencil_read_mask;") cpp_quote(" StencilWriteMask = stencil_write_mask;") cpp_quote(" FrontFace.StencilFailOp = front_stencil_fail_op;") cpp_quote(" FrontFace.StencilDepthFailOp = front_stencil_depth_fail_op;") cpp_quote(" FrontFace.StencilPassOp = front_stencil_pass_op;") cpp_quote(" FrontFace.StencilFunc = front_stencil_func;") cpp_quote(" BackFace.StencilFailOp = back_stencil_fail_op;") cpp_quote(" BackFace.StencilDepthFailOp = back_stencil_depth_fail_op;") cpp_quote(" BackFace.StencilPassOp = back_stencil_pass_op;") cpp_quote(" BackFace.StencilFunc = back_stencil_func;") cpp_quote(" }") cpp_quote(" ~CD3D11_DEPTH_STENCIL_DESC() {}") cpp_quote(" operator const D3D11_DEPTH_STENCIL_DESC&() const { return *this; }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_RENDER_TARGET_VIEW_DESC { DXGI_FORMAT Format; D3D11_RTV_DIMENSION ViewDimension; union { D3D11_BUFFER_RTV Buffer; D3D11_TEX1D_RTV Texture1D; D3D11_TEX1D_ARRAY_RTV Texture1DArray; D3D11_TEX2D_RTV Texture2D; D3D11_TEX2D_ARRAY_RTV Texture2DArray; D3D11_TEX2DMS_RTV Texture2DMS; D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray; D3D11_TEX3D_RTV Texture3D; }; } D3D11_RENDER_TARGET_VIEW_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_RENDER_TARGET_VIEW_DESC : public D3D11_RENDER_TARGET_VIEW_DESC {") cpp_quote(" CD3D11_RENDER_TARGET_VIEW_DESC() {}") cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(D3D11_RTV_DIMENSION dim, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") cpp_quote(" UINT mip_slice = 0, UINT first_slice = 0, UINT array_size = -1) {") cpp_quote(" Format = format;") cpp_quote(" ViewDimension = dim;") cpp_quote(" switch(dim) {") cpp_quote(" case D3D11_RTV_DIMENSION_BUFFER:") cpp_quote(" Buffer.FirstElement = mip_slice;") cpp_quote(" Buffer.NumElements = first_slice;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1D:") cpp_quote(" Texture1D.MipSlice = mip_slice;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE1DARRAY:") cpp_quote(" Texture1DArray.MipSlice = mip_slice;") cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;") cpp_quote(" Texture1DArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2D:") cpp_quote(" Texture2D.MipSlice = mip_slice;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DARRAY:") cpp_quote(" Texture2DArray.MipSlice = mip_slice;") cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;") cpp_quote(" Texture2DArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY:") cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;") cpp_quote(" Texture2DMSArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_RTV_DIMENSION_TEXTURE3D:") cpp_quote(" Texture3D.MipSlice = mip_slice;") cpp_quote(" Texture3D.FirstWSlice = first_slice;") cpp_quote(" Texture3D.WSize = array_size;") cpp_quote(" break;") cpp_quote(" default:") cpp_quote(" break;") cpp_quote(" }") cpp_quote(" }") cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,") cpp_quote(" UINT elem_cnt) {") cpp_quote(" Format = format;") cpp_quote(" ViewDimension = D3D11_RTV_DIMENSION_BUFFER;") cpp_quote(" Buffer.FirstElement = first_elem;") cpp_quote(" Buffer.NumElements = elem_cnt;") cpp_quote(" }") cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture1D *texture, D3D11_RTV_DIMENSION dim,") cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,") cpp_quote(" UINT array_size = -1);") /* FIXME: implement */ cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture2D *texture, D3D11_RTV_DIMENSION dim,") cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT mip_slice = 0, UINT first_slice = 0,") cpp_quote(" UINT array_size = -1);") /* FIXME: implement */ cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") cpp_quote(" UINT mip_slice = 0, UINT first_w_slice = 0, UINT w_slice = -1 );") /* FIXME: implement */ cpp_quote(" ~CD3D11_RENDER_TARGET_VIEW_DESC() {}") cpp_quote(" explicit CD3D11_RENDER_TARGET_VIEW_DESC(const D3D11_RENDER_TARGET_VIEW_DESC &other)") cpp_quote(" : D3D11_RENDER_TARGET_VIEW_DESC(other) {}") cpp_quote(" operator const D3D11_RENDER_TARGET_VIEW_DESC&() const {") cpp_quote(" return *this;") cpp_quote(" }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_SAMPLER_DESC { D3D11_FILTER Filter; D3D11_TEXTURE_ADDRESS_MODE AddressU; D3D11_TEXTURE_ADDRESS_MODE AddressV; D3D11_TEXTURE_ADDRESS_MODE AddressW; FLOAT MipLODBias; UINT MaxAnisotropy; D3D11_COMPARISON_FUNC ComparisonFunc; FLOAT BorderColor[4]; FLOAT MinLOD; FLOAT MaxLOD; } D3D11_SAMPLER_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC {") cpp_quote(" CD3D11_SAMPLER_DESC() {}") cpp_quote(" explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o) : D3D11_SAMPLER_DESC(o) {}") cpp_quote(" explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT) {" ) cpp_quote(" Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;") cpp_quote(" AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;") cpp_quote(" AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;") cpp_quote(" AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;") cpp_quote(" MipLODBias = 0;") cpp_quote(" MaxAnisotropy = 1;") cpp_quote(" ComparisonFunc = D3D11_COMPARISON_NEVER;") cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;") cpp_quote(" MinLOD = -3.402823466e+38f;") cpp_quote(" MaxLOD = 3.402823466e+38f;") cpp_quote(" }") cpp_quote(" explicit CD3D11_SAMPLER_DESC(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressU,") cpp_quote(" D3D11_TEXTURE_ADDRESS_MODE addressV, D3D11_TEXTURE_ADDRESS_MODE addressW,") cpp_quote(" FLOAT mipLODBias, UINT maxAnisotropy, D3D11_COMPARISON_FUNC comparisonFunc,") cpp_quote(" const FLOAT *borderColor, FLOAT minLOD, FLOAT maxLOD) {" ) cpp_quote(" Filter = filter;") cpp_quote(" AddressU = addressU;") cpp_quote(" AddressV = addressV;") cpp_quote(" AddressW = addressW;") cpp_quote(" MipLODBias = mipLODBias;") cpp_quote(" MaxAnisotropy = maxAnisotropy;") cpp_quote(" ComparisonFunc = comparisonFunc;") cpp_quote(" if(borderColor) {") cpp_quote(" BorderColor[0] = borderColor[0];") cpp_quote(" BorderColor[1] = borderColor[1];") cpp_quote(" BorderColor[2] = borderColor[2];") cpp_quote(" BorderColor[3] = borderColor[3];") cpp_quote(" }else {") cpp_quote(" BorderColor[0] = BorderColor[1] = BorderColor[2] = BorderColor[3] = 1.0f;") cpp_quote(" }") cpp_quote(" MinLOD = minLOD;") cpp_quote(" MaxLOD = maxLOD;") cpp_quote(" }") cpp_quote(" ~CD3D11_SAMPLER_DESC() {}") cpp_quote(" operator const D3D11_SAMPLER_DESC&() const { return *this; }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC { DXGI_FORMAT Format; D3D11_SRV_DIMENSION ViewDimension; union { D3D11_BUFFER_SRV Buffer; D3D11_TEX1D_SRV Texture1D; D3D11_TEX1D_ARRAY_SRV Texture1DArray; D3D11_TEX2D_SRV Texture2D; D3D11_TEX2D_ARRAY_SRV Texture2DArray; D3D11_TEX2DMS_SRV Texture2DMS; D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray; D3D11_TEX3D_SRV Texture3D; D3D11_TEXCUBE_SRV TextureCube; D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray; D3D11_BUFFEREX_SRV BufferEx; }; } D3D11_SHADER_RESOURCE_VIEW_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined( __cplusplus )") cpp_quote("struct CD3D11_SHADER_RESOURCE_VIEW_DESC : public D3D11_SHADER_RESOURCE_VIEW_DESC {") cpp_quote(" CD3D11_SHADER_RESOURCE_VIEW_DESC() {}") cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(D3D11_SRV_DIMENSION dim,") cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0,") cpp_quote(" UINT mip_levels = -1, UINT first_slice = 0, UINT array_size = -1, UINT flags = 0) {") cpp_quote(" Format = format;") cpp_quote(" ViewDimension = dim;") cpp_quote(" switch(ViewDimension) {") cpp_quote(" case D3D11_SRV_DIMENSION_BUFFER:") cpp_quote(" Buffer.FirstElement = most_detailed_mip;") cpp_quote(" Buffer.NumElements = mip_levels;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1D:") cpp_quote(" Texture1D.MostDetailedMip = most_detailed_mip;") cpp_quote(" Texture1D.MipLevels = mip_levels;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE1DARRAY:") cpp_quote(" Texture1DArray.MostDetailedMip = most_detailed_mip;") cpp_quote(" Texture1DArray.MipLevels = mip_levels;") cpp_quote(" Texture1DArray.FirstArraySlice = first_slice;") cpp_quote(" Texture1DArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2D:") cpp_quote(" Texture2D.MostDetailedMip = most_detailed_mip;") cpp_quote(" Texture2D.MipLevels = mip_levels;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DARRAY:") cpp_quote(" Texture2DArray.MostDetailedMip = most_detailed_mip;") cpp_quote(" Texture2DArray.MipLevels = mip_levels;") cpp_quote(" Texture2DArray.FirstArraySlice = first_slice;") cpp_quote(" Texture2DArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY:") cpp_quote(" Texture2DMSArray.FirstArraySlice = first_slice;") cpp_quote(" Texture2DMSArray.ArraySize = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURE3D:") cpp_quote(" Texture3D.MostDetailedMip = most_detailed_mip;") cpp_quote(" Texture3D.MipLevels = mip_levels;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBE:") cpp_quote(" TextureCube.MostDetailedMip = most_detailed_mip;") cpp_quote(" TextureCube.MipLevels = mip_levels;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_TEXTURECUBEARRAY:") cpp_quote(" TextureCubeArray.MostDetailedMip = most_detailed_mip;") cpp_quote(" TextureCubeArray.MipLevels = mip_levels;") cpp_quote(" TextureCubeArray.First2DArrayFace = first_slice;") cpp_quote(" TextureCubeArray.NumCubes = array_size;") cpp_quote(" break;") cpp_quote(" case D3D11_SRV_DIMENSION_BUFFEREX:") cpp_quote(" BufferEx.FirstElement = most_detailed_mip;") cpp_quote(" BufferEx.NumElements = mip_levels;") cpp_quote(" BufferEx.Flags = flags;") cpp_quote(" break;") cpp_quote(" default:") cpp_quote(" break;") cpp_quote(" }") cpp_quote(" }") cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Buffer*, DXGI_FORMAT format, UINT first_elem,") cpp_quote(" UINT elem_cnt, UINT flags = 0);") /* FIXME: implement */ cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture1D *texture, D3D11_SRV_DIMENSION dim,") cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,") cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */ cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture2D *texture, D3D11_SRV_DIMENSION dim,") cpp_quote(" DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN, UINT most_detailed_mip = 0, UINT mip_levels = -1,") cpp_quote(" UINT first_slice = 0, UINT array_size = -1 );") /* FIXME: implement */ cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(ID3D11Texture3D *texture, DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN,") cpp_quote(" UINT most_detailed_mip = 0, UINT mip_levels = -1 );") cpp_quote(" ~CD3D11_SHADER_RESOURCE_VIEW_DESC() {}") cpp_quote(" explicit CD3D11_SHADER_RESOURCE_VIEW_DESC(const D3D11_SHADER_RESOURCE_VIEW_DESC &other)") cpp_quote(" : D3D11_SHADER_RESOURCE_VIEW_DESC(other) {}") cpp_quote(" operator const D3D11_SHADER_RESOURCE_VIEW_DESC&() const {") cpp_quote(" return *this;") cpp_quote(" }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_TEXTURE1D_DESC { UINT Width; UINT MipLevels; UINT ArraySize; DXGI_FORMAT Format; D3D11_USAGE Usage; UINT BindFlags; UINT CPUAccessFlags; UINT MiscFlags; } D3D11_TEXTURE1D_DESC; typedef struct D3D11_TEXTURE2D_DESC { UINT Width; UINT Height; UINT MipLevels; UINT ArraySize; DXGI_FORMAT Format; DXGI_SAMPLE_DESC SampleDesc; D3D11_USAGE Usage; UINT BindFlags; UINT CPUAccessFlags; UINT MiscFlags; } D3D11_TEXTURE2D_DESC; cpp_quote("#if !defined(D3D11_NO_HELPERS) && defined(__cplusplus)") cpp_quote("struct CD3D11_TEXTURE2D_DESC : public D3D11_TEXTURE2D_DESC {") cpp_quote(" CD3D11_TEXTURE2D_DESC() {}") cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(const D3D11_TEXTURE2D_DESC &o) : D3D11_TEXTURE2D_DESC(o) {}") cpp_quote(" explicit CD3D11_TEXTURE2D_DESC(DXGI_FORMAT format, UINT width, UINT height, UINT arraySize = 1,") cpp_quote(" UINT mipLevels = 0, UINT bindFlags = D3D11_BIND_SHADER_RESOURCE,") cpp_quote(" D3D11_USAGE usage = D3D11_USAGE_DEFAULT, UINT cpuaccessFlags = 0, UINT sampleCount = 1," ) cpp_quote(" UINT sampleQuality = 0, UINT miscFlags = 0) {") cpp_quote(" Width = width;") cpp_quote(" Height = height;") cpp_quote(" MipLevels = mipLevels;") cpp_quote(" ArraySize = arraySize;") cpp_quote(" Format = format;") cpp_quote(" SampleDesc.Count = sampleCount;") cpp_quote(" SampleDesc.Quality = sampleQuality;") cpp_quote(" Usage = usage;") cpp_quote(" BindFlags = bindFlags;") cpp_quote(" CPUAccessFlags = cpuaccessFlags;") cpp_quote(" MiscFlags = miscFlags;") cpp_quote(" }" ) cpp_quote(" ~CD3D11_TEXTURE2D_DESC() {}") cpp_quote(" operator const D3D11_TEXTURE2D_DESC&() const { return *this; }") cpp_quote("};") cpp_quote("#endif") typedef struct D3D11_TEXTURE3D_DESC { UINT Width; UINT Height; UINT Depth; UINT MipLevels; DXGI_FORMAT Format; D3D11_USAGE Usage; UINT BindFlags; UINT CPUAccessFlags; UINT MiscFlags; } D3D11_TEXTURE3D_DESC; typedef struct D3D11_VIDEO_DECODER_DESC { GUID Guid; UINT SampleWidth; UINT SampleHeight; DXGI_FORMAT OutputFormat; } D3D11_VIDEO_DECODER_DESC; typedef struct D3D11_VIDEO_DECODER_CONFIG { GUID guidConfigBitstreamEncryption; GUID guidConfigMBcontrolEncryption; GUID guidConfigResidDiffEncryption; UINT ConfigBitstreamRaw; UINT ConfigMBcontrolRasterOrder; UINT ConfigResidDiffHost; UINT ConfigSpatialResid8; UINT ConfigResid8Subtraction; UINT ConfigSpatialHost8or9Clipping; UINT ConfigSpatialResidInterleaved; UINT ConfigIntraResidUnsigned; UINT ConfigResidDiffAccelerator; UINT ConfigHostInverseScan; UINT ConfigSpecificIDCT; UINT Config4GroupedCoefs; USHORT ConfigMinRenderTargetBuffCount; USHORT ConfigDecoderSpecific; } D3D11_VIDEO_DECODER_CONFIG; typedef 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 } D3D11_VIDEO_FRAME_FORMAT; typedef enum D3D11_VIDEO_USAGE { D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0, D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1, D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2 } D3D11_VIDEO_USAGE; typedef struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC { D3D11_VIDEO_FRAME_FORMAT InputFrameFormat; DXGI_RATIONAL InputFrameRate; UINT InputWidth; UINT InputHeight; DXGI_RATIONAL OutputFrameRate; UINT OutputWidth; UINT OutputHeight; D3D11_VIDEO_USAGE Usage; } D3D11_VIDEO_PROCESSOR_CONTENT_DESC; typedef struct D3D11_VIDEO_PROCESSOR_CAPS { UINT DeviceCaps; UINT FeatureCaps; UINT FilterCaps; UINT InputFormatCaps; UINT AutoStreamCaps; UINT StereoCaps; UINT RateConversionCapsCount; UINT MaxInputStreams; UINT MaxStreamStates; } D3D11_VIDEO_PROCESSOR_CAPS; typedef struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS { UINT PastFrames; UINT FutureFrames; UINT ProcessorCaps; UINT ITelecineCaps; UINT CustomRateCount; } D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS; typedef struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE { DXGI_RATIONAL CustomRate; UINT OutputFrames; BOOL InputInterlaced; UINT InputFramesOrFields; } D3D11_VIDEO_PROCESSOR_CUSTOM_RATE; typedef 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; typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE { int Minimum; int Maximum; int Default; float Multiplier; } D3D11_VIDEO_PROCESSOR_FILTER_RANGE; typedef enum D3D11_AUTHENTICATED_CHANNEL_TYPE { D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1, D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2, D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3 } D3D11_AUTHENTICATED_CHANNEL_TYPE; typedef enum D3D11_VDOV_DIMENSION { D3D11_VDOV_DIMENSION_UNKNOWN = 0, D3D11_VDOV_DIMENSION_TEXTURE2D = 1 } D3D11_VDOV_DIMENSION; typedef struct D3D11_TEX2D_VDOV { UINT ArraySlice; } D3D11_TEX2D_VDOV; typedef struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC { GUID DecodeProfile; D3D11_VDOV_DIMENSION ViewDimension; union { D3D11_TEX2D_VDOV Texture2D; }; } D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC; typedef enum D3D11_VPIV_DIMENSION { D3D11_VPIV_DIMENSION_UNKNOWN = 0, D3D11_VPIV_DIMENSION_TEXTURE2D = 1 } D3D11_VPIV_DIMENSION; typedef struct D3D11_TEX2D_VPIV { UINT MipSlice; UINT ArraySlice; } D3D11_TEX2D_VPIV; typedef struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC { UINT FourCC; D3D11_VPIV_DIMENSION ViewDimension; union { D3D11_TEX2D_VPIV Texture2D; }; } D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC; typedef enum D3D11_VPOV_DIMENSION { D3D11_VPOV_DIMENSION_UNKNOWN = 0, D3D11_VPOV_DIMENSION_TEXTURE2D = 1, D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2 } D3D11_VPOV_DIMENSION; typedef struct D3D11_TEX2D_VPOV { UINT MipSlice; } D3D11_TEX2D_VPOV; typedef struct D3D11_TEX2D_ARRAY_VPOV { UINT MipSlice; UINT FirstArraySlice; UINT ArraySize; } D3D11_TEX2D_ARRAY_VPOV; typedef struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC { D3D11_VPOV_DIMENSION ViewDimension; union { D3D11_TEX2D_VPOV Texture2D; D3D11_TEX2D_ARRAY_VPOV Texture2DArray; }; } D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC; typedef struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS { UINT Caps; UINT KeyExchangeTypeCount; UINT BlockAlignmentSize; ULONGLONG ProtectedMemorySize; } D3D11_VIDEO_CONTENT_PROTECTION_CAPS; typedef struct D3D11_ENCRYPTED_BLOCK_INFO { UINT NumEncryptedBytesAtBeginning; UINT NumBytesInSkipPattern; UINT NumBytesInEncryptPattern; } D3D11_ENCRYPTED_BLOCK_INFO; typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC { D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType; UINT BufferIndex; UINT DataOffset; UINT DataSize; UINT FirstMBaddress; UINT NumMBsInBuffer; UINT Width; UINT Height; UINT Stride; UINT ReservedBits; void *pIV; UINT IVSize; BOOL PartialEncryption; D3D11_ENCRYPTED_BLOCK_INFO EncryptedBlockInfo; } D3D11_VIDEO_DECODER_BUFFER_DESC; typedef struct D3D11_VIDEO_DECODER_EXTENSION { UINT Function; void *pPrivateInputData; UINT PrivateInputDataSize; void *pPrivateOutputData; UINT PrivateOutputDataSize; UINT ResourceCount; ID3D11Resource **ppResourceList; } D3D11_VIDEO_DECODER_EXTENSION; typedef struct D3D11_VIDEO_COLOR_YCbCrA { float Y; float Cb; float Cr; float A; } D3D11_VIDEO_COLOR_YCbCrA; typedef struct D3D11_VIDEO_COLOR_RGBA { float R; float G; float B; float A; } D3D11_VIDEO_COLOR_RGBA; typedef struct D3D11_VIDEO_COLOR { union { D3D11_VIDEO_COLOR_YCbCrA YCbCr; D3D11_VIDEO_COLOR_RGBA RGBA; }; } D3D11_VIDEO_COLOR; typedef struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE { UINT Usage : 1; UINT RGB_Range : 1; UINT YCbCr_Matrix : 1; UINT YCbCr_xvYCC : 1; UINT Nominal_Range : 2; UINT Reserved : 26; } D3D11_VIDEO_PROCESSOR_COLOR_SPACE; typedef struct D3D11_VIDEO_PROCESSOR_STREAM { BOOL Enable; UINT OutputIndex; UINT InputFrameOrField; UINT PastFrames; UINT FutureFrames; ID3D11VideoProcessorInputView **ppPastSurfaces; ID3D11VideoProcessorInputView *pInputSurface; ID3D11VideoProcessorInputView **ppFutureSurfaces; ID3D11VideoProcessorInputView **ppPastSurfacesRight; ID3D11VideoProcessorInputView *pInputSurfaceRight; ID3D11VideoProcessorInputView **ppFutureSurfacesRight; } D3D11_VIDEO_PROCESSOR_STREAM; typedef struct D3D11_OMAC { BYTE Omac[D3D11_OMAC_SIZE]; } D3D11_OMAC; typedef struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT { D3D11_OMAC omac; GUID ConfigureType; HANDLE hChannel; UINT SequenceNumber; HRESULT ReturnCode; } D3D11_AUTHENTICATED_CONFIGURE_OUTPUT; typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT { UINT64 Frequency; BOOL Disjoint; } D3D11_QUERY_DATA_TIMESTAMP_DISJOINT; typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS { UINT64 IAVertices; UINT64 IAPrimitives; UINT64 VSInvocations; UINT64 GSInvocations; UINT64 GSPrimitives; UINT64 CInvocations; UINT64 CPrimitives; UINT64 PSInvocations; UINT64 HSInvocations; UINT64 DSInvocations; UINT64 CSInvocations; } D3D11_QUERY_DATA_PIPELINE_STATISTICS; typedef struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS { UINT VertexCountPerInstance; UINT InstanceCount; UINT StartVertexLocation; UINT StartInstanceLocation; } D3D11_DRAW_INSTANCED_INDIRECT_ARGS; typedef struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS { UINT IndexCountPerInstance; UINT InstanceCount; UINT StartIndexLocation; INT BaseVertexLocation; UINT StartInstanceLocation; } D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS; typedef struct D3D11_AUTHENTICATED_CONFIGURE_INPUT { D3D11_OMAC omac; GUID ConfigureType; HANDLE hChannel; UINT SequenceNumber; } D3D11_AUTHENTICATED_CONFIGURE_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_INPUT { GUID QueryType; HANDLE hChannel; UINT SequenceNumber; } D3D11_AUTHENTICATED_QUERY_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT { D3D11_OMAC omac; GUID QueryType; HANDLE hChannel; UINT SequenceNumber; HRESULT ReturnCode; } D3D11_AUTHENTICATED_QUERY_OUTPUT; typedef union D3D11_AUTHENTICATED_PROTECTION_FLAGS { struct { UINT ProtectionEnabled : 1; UINT OverlayOrFullscreenRequired : 1; UINT Reserved : 30; } Flags; UINT Value; } D3D11_AUTHENTICATED_PROTECTION_FLAGS; typedef struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; D3D11_AUTHENTICATED_PROTECTION_FLAGS ProtectionFlags; } D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType; } D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; HANDLE DeviceHandle; } D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT { D3D11_AUTHENTICATED_QUERY_INPUT Input; HANDLE DecoderHandle; } D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; HANDLE DecoderHandle; HANDLE CryptoSessionHandle; HANDLE DeviceHandle; } D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; UINT RestrictedSharedResourceProcessCount; } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT { D3D11_AUTHENTICATED_QUERY_INPUT Input; UINT ProcessIndex; } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; UINT ProcessIndex; D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessIdentifier; HANDLE ProcessHandle; } D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; UINT UnrestrictedProtectedSharedResourceCount; } D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT { D3D11_AUTHENTICATED_QUERY_INPUT Input; HANDLE DeviceHandle; HANDLE CryptoSessionHandle; } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; HANDLE DeviceHandle; HANDLE CryptoSessionHandle; UINT OutputIDCount; } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT { D3D11_AUTHENTICATED_QUERY_INPUT Input; HANDLE DeviceHandle; HANDLE CryptoSessionHandle; UINT OutputIDIndex; } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; HANDLE DeviceHandle; HANDLE CryptoSessionHandle; UINT OutputIDIndex; UINT64 OutputID; } D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; D3D11_BUS_TYPE BusType; BOOL AccessibleInContiguousBlocks; BOOL AccessibleInNonContiguousBlocks; } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; UINT EncryptionGuidCount; } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT { D3D11_AUTHENTICATED_QUERY_INPUT Input; UINT EncryptionGuidIndex; } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT; typedef struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; UINT EncryptionGuidIndex; GUID EncryptionGuid; } D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT; typedef struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT { D3D11_AUTHENTICATED_QUERY_OUTPUT Output; GUID EncryptionGuid; } D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT; typedef struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT { D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; UINT StartSequenceQuery; UINT StartSequenceConfigure; } D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT; typedef struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT { D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; D3D11_AUTHENTICATED_PROTECTION_FLAGS Protections; } D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT; typedef struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT { D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; HANDLE DecoderHandle; HANDLE CryptoSessionHandle; HANDLE DeviceHandle; } D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT; typedef struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT { D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE ProcessType; HANDLE ProcessHandle; BOOL AllowAccess; } D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT; typedef struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT { D3D11_AUTHENTICATED_CONFIGURE_INPUT Parameters; GUID EncryptionGuid; } D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT; [ object, local, uuid(1841e5c8-16b0-489b-bcc8-44cfb0d5deae) ] interface ID3D11DeviceChild : IUnknown { void GetDevice( [out] ID3D11Device **ppDevice); HRESULT GetPrivateData( [in] REFGUID guid, [in, out] UINT *pDataSize, [out] void *pData); HRESULT SetPrivateData( [in] REFGUID guid, [in] UINT DataSize, [in] const void *pData); HRESULT SetPrivateDataInterface( [in] REFGUID guid, [in] const IUnknown *pData); } [ object, local, uuid(4b35d0cd-1e15-4258-9c98-1b1333f6dd3b) ] interface ID3D11Asynchronous : ID3D11DeviceChild { UINT GetDataSize(); } [ object, local, uuid(d6c00747-87b7-425e-b84d-44d108560afd) ] interface ID3D11Query : ID3D11Asynchronous { void GetDesc( [out] D3D11_QUERY_DESC *pDesc); } [ object, local, uuid(dc8e63f3-d12b-4952-b47b-5e45026a862d) ] interface ID3D11Resource : ID3D11DeviceChild { void GetType( [out] D3D11_RESOURCE_DIMENSION *pResourceDimension); void SetEvictionPriority( [in] UINT EvictionPriority); UINT GetEvictionPriority(); } [ object, local, uuid(839d1216-bb2e-412b-b7f4-a9dbebe08ed1) ] interface ID3D11View : ID3D11DeviceChild { void GetResource( [out] ID3D11Resource **ppResource); } [ object, local, uuid(75b68faa-347d-4159-8f45-a0640f01cd9a) ] interface ID3D11BlendState : ID3D11DeviceChild { void GetDesc( [out] D3D11_BLEND_DESC *pDesc); } [ object, local, uuid(48570b85-d1ee-4fcd-a250-eb350722b037) ] interface ID3D11Buffer : ID3D11Resource { void GetDesc( [out] D3D11_BUFFER_DESC *pDesc); } [ object, local, uuid(a6cd7faa-b0b7-4a2f-9436-8662a65797cb) ] interface ID3D11ClassInstance : ID3D11DeviceChild { void GetClassLinkage( [out] ID3D11ClassLinkage **ppLinkage); void GetDesc( [out] D3D11_CLASS_INSTANCE_DESC *pDesc); void GetInstanceName( [out] LPSTR pInstanceName, [in, out] SIZE_T *pBufferLength); void GetTypeName( [out] LPSTR pTypeName, [in, out] SIZE_T *pBufferLength); } [ object, local, uuid(ddf57cba-9543-46e4-a12b-f207a0fe7fed) ] interface ID3D11ClassLinkage : ID3D11DeviceChild { HRESULT GetClassInstance( [in] LPCSTR pClassInstanceName, [in] UINT InstanceIndex, [out] ID3D11ClassInstance **ppInstance); HRESULT CreateClassInstance( [in] LPCSTR pClassTypeName, [in] UINT ConstantBufferOffset, [in] UINT ConstantVectorOffset, [in] UINT TextureOffset, [in] UINT SamplerOffset, [out] ID3D11ClassInstance **ppInstance); } [ object, local, uuid(a24bc4d1-769e-43f7-8013-98ff566c18e2) ] interface ID3D11CommandList : ID3D11DeviceChild { UINT GetContextFlags(); } [ object, local, uuid(4f5b196e-c2bd-495e-bd01-1fded38e4969) ] interface ID3D11ComputeShader : ID3D11DeviceChild { } [ object, local, uuid(6e8c49fb-a371-4770-b440-29086022b741) ] interface ID3D11Counter : ID3D11Asynchronous { void GetDesc( [out] D3D11_COUNTER_DESC *pDesc); } [ object, local, uuid(03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1) ] interface ID3D11DepthStencilState : ID3D11DeviceChild { void GetDesc( [out] D3D11_DEPTH_STENCIL_DESC *pDesc); } [ object, local, uuid(9fdac92a-1876-48c3-afad-25b94f84a9b6) ] interface ID3D11DepthStencilView : ID3D11View { void GetDesc( [out] D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc); } [ object, local, uuid(f582c508-0f36-490c-9977-31eece268cfa) ] interface ID3D11DomainShader : ID3D11DeviceChild { } [ object, local, uuid(38325b96-effb-4022-ba02-2e795b70275c) ] interface ID3D11GeometryShader : ID3D11DeviceChild { } [ object, local, uuid(8e5c6061-628a-4c8e-8264-bbe45cb3d5dd) ] interface ID3D11HullShader : ID3D11DeviceChild { } [ object, local, uuid(e4819ddc-4cf0-4025-bd26-5de82a3e07b7) ] interface ID3D11InputLayout : ID3D11DeviceChild { } [ object, local, uuid(ea82e40d-51dc-4f33-93d4-db7c9125ae8c) ] interface ID3D11PixelShader : ID3D11DeviceChild { } [ object, local, uuid(9eb576dd-9f77-4d86-81aa-8bab5fe490e2) ] interface ID3D11Predicate : ID3D11Query { } [ object, local, uuid(9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7) ] interface ID3D11RasterizerState : ID3D11DeviceChild { void GetDesc( [out] D3D11_RASTERIZER_DESC *pDesc); } [ object, local, uuid(dfdba067-0b8d-4865-875b-d7b4516cc164) ] interface ID3D11RenderTargetView : ID3D11View { void GetDesc( [out] D3D11_RENDER_TARGET_VIEW_DESC *pDesc); } [ object, local, uuid(da6fea51-564c-4487-9810-f0d0f9b4e3a5) ] interface ID3D11SamplerState : ID3D11DeviceChild { void GetDesc( [out] D3D11_SAMPLER_DESC *pDesc); } [ object, local, uuid(b0e06fe0-8192-4e1a-b1ca-36d7414710b2) ] interface ID3D11ShaderResourceView : ID3D11View { void GetDesc( [out] D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc); } [ object, local, uuid(f8fb5c27-c6b3-4f75-a4c8-439af2ef564c), ] interface ID3D11Texture1D : ID3D11Resource { void GetDesc( [out] D3D11_TEXTURE1D_DESC *pDesc); } [ object, local, uuid(6f15aaf2-d208-4e89-9ab4-489535d34f9c) ] interface ID3D11Texture2D : ID3D11Resource { void GetDesc( [out] D3D11_TEXTURE2D_DESC *pDesc); } [ object, local, uuid(037e866e-f56d-4357-a8af-9dabbe6e250e) ] interface ID3D11Texture3D : ID3D11Resource { void GetDesc( [out] D3D11_TEXTURE3D_DESC *pDesc); } [ object, local, uuid(28acf509-7f5c-48f6-8611-f316010a6380) ] interface ID3D11UnorderedAccessView : ID3D11View { void GetDesc( [out] D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc); } [ object, local, uuid(3b301d64-d678-4289-8897-22f8928b72f3) ] interface ID3D11VertexShader : ID3D11DeviceChild { } [ object, local, uuid(c0bfa96c-e089-44fb-8eaf-26f8796190da) ] interface ID3D11DeviceContext : ID3D11DeviceChild { void VSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void PSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void PSSetShader( [in] ID3D11PixelShader *pPixelShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void PSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void VSSetShader( [in] ID3D11VertexShader *pVertexShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void DrawIndexed( [in] UINT IndexCount, [in] UINT StartIndexLocation, [in] INT BaseVertexLocation); void Draw( [in] UINT VertexCount, [in] UINT StartVertexLocation); HRESULT Map( [in] ID3D11Resource *pResource, [in] UINT Subresource, [in] D3D11_MAP MapType, [in] UINT MapFlags, [out] D3D11_MAPPED_SUBRESOURCE *pMappedResource); void Unmap( [in] ID3D11Resource *pResource, [in] UINT Subresource); void PSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void IASetInputLayout( [in] ID3D11InputLayout *pInputLayout); void IASetVertexBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppVertexBuffers, [in] const UINT *pStrides, [in] const UINT *pOffsets); void IASetIndexBuffer( [in] ID3D11Buffer *pIndexBuffer, [in] DXGI_FORMAT Format, [in] UINT Offset); void DrawIndexedInstanced( [in] UINT IndexCountPerInstance, [in] UINT InstanceCount, [in] UINT StartIndexLocation, [in] INT BaseVertexLocation, [in] UINT StartInstanceLocation); void DrawInstanced( [in] UINT VertexCountPerInstance, [in] UINT InstanceCount, [in] UINT StartVertexLocation, [in] UINT StartInstanceLocation); void GSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void GSSetShader( [in] ID3D11GeometryShader *pShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void IASetPrimitiveTopology( [in] D3D11_PRIMITIVE_TOPOLOGY Topology); void VSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void VSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void Begin( [in] ID3D11Asynchronous *pAsync); void End( [in] ID3D11Asynchronous *pAsync); HRESULT GetData( [in] ID3D11Asynchronous *pAsync, [in] void *pData, [in] UINT DataSize, [in] UINT GetDataFlags); void SetPredication( [in] ID3D11Predicate *pPredicate, [in] BOOL PredicateValue); void GSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void GSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void OMSetRenderTargets( [in] UINT NumViews, [in] ID3D11RenderTargetView *const *ppRenderTargetViews, [in] ID3D11DepthStencilView *pDepthStencilView); void OMSetRenderTargetsAndUnorderedAccessViews( [in] UINT NumRTVs, [in] ID3D11RenderTargetView *const *ppRenderTargetViews, [in] ID3D11DepthStencilView *pDepthStencilView, [in] UINT UAVStartSlot, [in] UINT NumUAVs, [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews, [in] const UINT *pUAVInitialCounts); void OMSetBlendState( [in] ID3D11BlendState *pBlendState, [in] const FLOAT BlendFactor[4], [in] UINT SampleMask); void OMSetDepthStencilState( [in] ID3D11DepthStencilState *pDepthStencilState, [in] UINT StencilRef); void SOSetTargets( [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppSOTargets, [in] const UINT *pOffsets); void DrawAuto(); void DrawIndexedInstancedIndirect( [in] ID3D11Buffer *pBufferForArgs, [in] UINT AlignedByteOffsetForArgs); void DrawInstancedIndirect( [in] ID3D11Buffer *pBufferForArgs, [in] UINT AlignedByteOffsetForArgs); void Dispatch( [in] UINT ThreadGroupCountX, [in] UINT ThreadGroupCountY, [in] UINT ThreadGroupCountZ); void DispatchIndirect( [in] ID3D11Buffer *pBufferForArgs, [in] UINT AlignedByteOffsetForArgs); void RSSetState( [in] ID3D11RasterizerState *pRasterizerState); void RSSetViewports( [in] UINT NumViewports, [in] const D3D11_VIEWPORT *pViewports); void RSSetScissorRects( [in] UINT NumRects, [in] const D3D11_RECT *pRects); void CopySubresourceRegion( [in] ID3D11Resource *pDstResource, [in] UINT DstSubresource, [in] UINT DstX, [in] UINT DstY, [in] UINT DstZ, [in] ID3D11Resource *pSrcResource, [in] UINT SrcSubresource, [in] const D3D11_BOX *pSrcBox); void CopyResource( [in] ID3D11Resource *pDstResource, [in] ID3D11Resource *pSrcResource); void UpdateSubresource( [in] ID3D11Resource *pDstResource, [in] UINT DstSubresource, [in] const D3D11_BOX *pDstBox, [in] const void *pSrcData, [in] UINT SrcRowPitch, [in] UINT SrcDepthPitch); void CopyStructureCount( [in] ID3D11Buffer *pDstBuffer, [in] UINT DstAlignedByteOffset, [in] ID3D11UnorderedAccessView *pSrcView); void ClearRenderTargetView( [in] ID3D11RenderTargetView *pRenderTargetView, [in] const FLOAT ColorRGBA[4]); void ClearUnorderedAccessViewUint( [in] ID3D11UnorderedAccessView *pUnorderedAccessView, [in] const UINT Values[4]); void ClearUnorderedAccessViewFloat( [in] ID3D11UnorderedAccessView *pUnorderedAccessView, [in] const FLOAT Values[4]); void ClearDepthStencilView( [in] ID3D11DepthStencilView *pDepthStencilView, [in] UINT ClearFlags, [in] FLOAT Depth, [in] UINT8 Stencil); void GenerateMips( [in] ID3D11ShaderResourceView *pShaderResourceView); void SetResourceMinLOD( [in] ID3D11Resource *pResource, FLOAT MinLOD); FLOAT GetResourceMinLOD( [in] ID3D11Resource *pResource); void ResolveSubresource( [in] ID3D11Resource *pDstResource, [in] UINT DstSubresource, [in] ID3D11Resource *pSrcResource, [in] UINT SrcSubresource, [in] DXGI_FORMAT Format); void ExecuteCommandList( [in] ID3D11CommandList *pCommandList, BOOL RestoreContextState); void HSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void HSSetShader( [in] ID3D11HullShader *pHullShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void HSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void HSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void DSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void DSSetShader( [in] ID3D11DomainShader *pDomainShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void DSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void DSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void CSSetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [in] ID3D11ShaderResourceView *const *ppShaderResourceViews); void CSSetUnorderedAccessViews( [in] UINT StartSlot, [in] UINT NumUAVs, [in] ID3D11UnorderedAccessView *const *ppUnorderedAccessViews, [in] const UINT *pUAVInitialCounts); void CSSetShader( [in] ID3D11ComputeShader *pComputeShader, [in] ID3D11ClassInstance *const *ppClassInstances, UINT NumClassInstances); void CSSetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [in] ID3D11SamplerState *const *ppSamplers); void CSSetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [in] ID3D11Buffer *const *ppConstantBuffers); void VSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void PSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void PSGetShader( [out] ID3D11PixelShader **ppPixelShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void PSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void VSGetShader( [out] ID3D11VertexShader **ppVertexShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void PSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void IAGetInputLayout( [out] ID3D11InputLayout **ppInputLayout); void IAGetVertexBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppVertexBuffers, [out] UINT *pStrides, [out] UINT *pOffsets); void IAGetIndexBuffer( [out] ID3D11Buffer **pIndexBuffer, [out] DXGI_FORMAT* Format, [out] UINT* Offset); void GSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void GSGetShader( [out] ID3D11GeometryShader **ppGeometryShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void IAGetPrimitiveTopology( [out] D3D11_PRIMITIVE_TOPOLOGY *pTopology); void VSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void VSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void GetPredication( [out] ID3D11Predicate **ppPredicate, [out] BOOL *pPredicateValue); void GSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void GSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void OMGetRenderTargets( [in] UINT NumViews, [out] ID3D11RenderTargetView **ppRenderTargetViews, [out] ID3D11DepthStencilView **ppDepthStencilView); void OMGetRenderTargetsAndUnorderedAccessViews( [in] UINT NumRTVs, [out] ID3D11RenderTargetView **ppRenderTargetViews, [out] ID3D11DepthStencilView **ppDepthStencilView, [in] UINT UAVStartSlot, [in] UINT NumUAVs, [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews); void OMGetBlendState( [out] ID3D11BlendState **ppBlendState, [out] FLOAT BlendFactor[4], [out] UINT *pSampleMask); void OMGetDepthStencilState( [out] ID3D11DepthStencilState **ppDepthStencilState, [out] UINT *pStencilRef); void SOGetTargets( [in] UINT NumBuffers, [out] ID3D11Buffer **ppSOTargets); void RSGetState( [out] ID3D11RasterizerState **ppRasterizerState); void RSGetViewports( [in, out] UINT *pNumViewports, [out] D3D11_VIEWPORT *pViewports); void RSGetScissorRects( [in, out] UINT *pNumRects, [out] D3D11_RECT *pRects); void HSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void HSGetShader( [out] ID3D11HullShader **ppHullShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void HSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void HSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void DSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void DSGetShader( [out] ID3D11DomainShader **ppDomainShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void DSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void DSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void CSGetShaderResources( [in] UINT StartSlot, [in] UINT NumViews, [out] ID3D11ShaderResourceView **ppShaderResourceViews); void CSGetUnorderedAccessViews( [in] UINT StartSlot, [in] UINT NumUAVs, [out] ID3D11UnorderedAccessView **ppUnorderedAccessViews); void CSGetShader( [out] ID3D11ComputeShader **ppComputeShader, [out] ID3D11ClassInstance **ppClassInstances, [in, out] UINT *pNumClassInstances); void CSGetSamplers( [in] UINT StartSlot, [in] UINT NumSamplers, [out] ID3D11SamplerState **ppSamplers); void CSGetConstantBuffers( [in] UINT StartSlot, [in] UINT NumBuffers, [out] ID3D11Buffer **ppConstantBuffers); void ClearState(); void Flush(); D3D11_DEVICE_CONTEXT_TYPE GetType(); UINT GetContextFlags(); HRESULT FinishCommandList( BOOL RestoreDeferredContextState, [out] ID3D11CommandList **ppCommandList); } [ object, uuid(3015a308-dcbd-47aa-a747-192486d14d4a), local, pointer_default(unique) ] interface ID3D11AuthenticatedChannel : ID3D11DeviceChild { HRESULT GetCertificateSize( UINT *pCertificateSize); HRESULT GetCertificate( UINT CertificateSize, BYTE *pCertificate); void GetChannelHandle( HANDLE *pChannelHandle); } [ object, uuid(9b32f9ad-bdcc-40a6-a39d-d5c865845720), local, pointer_default(unique) ] interface ID3D11CryptoSession : ID3D11DeviceChild { void GetCryptoType( GUID *pCryptoType); void GetDecoderProfile( GUID *pDecoderProfile); HRESULT GetCertificateSize( UINT *pCertificateSize); HRESULT GetCertificate( UINT CertificateSize, BYTE *pCertificate); void GetCryptoSessionHandle( HANDLE *pCryptoSessionHandle); } [ object, uuid(3c9c5b51-995d-48d1-9b8d-fa5caeded65c), local, pointer_default(unique) ] interface ID3D11VideoDecoder : ID3D11DeviceChild { HRESULT GetCreationParameters( D3D11_VIDEO_DECODER_DESC *pVideoDesc, D3D11_VIDEO_DECODER_CONFIG *pConfig); HRESULT GetDriverHandle( HANDLE *pDriverHandle); } [ object, uuid(31627037-53ab-4200-9061-05faa9ab45f9), local, pointer_default(unique) ] interface ID3D11VideoProcessorEnumerator : ID3D11DeviceChild { HRESULT GetVideoProcessorContentDesc( D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pContentDesc); HRESULT CheckVideoProcessorFormat( DXGI_FORMAT Format, UINT *pFlags); HRESULT GetVideoProcessorCaps( D3D11_VIDEO_PROCESSOR_CAPS *pCaps); HRESULT GetVideoProcessorRateConversionCaps( UINT TypeIndex, D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps); HRESULT GetVideoProcessorCustomRate( UINT TypeIndex, UINT CustomRateIndex, D3D11_VIDEO_PROCESSOR_CUSTOM_RATE *pRate); HRESULT GetVideoProcessorFilterRange( D3D11_VIDEO_PROCESSOR_FILTER Filter, D3D11_VIDEO_PROCESSOR_FILTER_RANGE *pRange); } [ object, uuid(1d7b0652-185f-41c6-85ce-0c5be3d4ae6c), local, pointer_default(unique) ] interface ID3D11VideoProcessor : ID3D11DeviceChild { void GetContentDesc( D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc); void GetRateConversionCaps( D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS *pCaps); } [ object, uuid(c2931aea-2a85-4f20-860f-fba1fd256e18), local, pointer_default(unique) ] interface ID3D11VideoDecoderOutputView : ID3D11View { void GetDesc( D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc); } [ object, uuid(11ec5a5f-51dc-4945-ab34-6e8c21300ea5), local, pointer_default(unique) ] interface ID3D11VideoProcessorInputView : ID3D11View { void GetDesc( D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc); } [ object, uuid(a048285e-25a9-4527-bd93-d68b68c44254), local, pointer_default(unique) ] interface ID3D11VideoProcessorOutputView : ID3D11View { void GetDesc( D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc); } [ object, uuid(10ec4d5b-975a-4689-b9e4-d0aac30fe333), local, pointer_default(unique) ] interface ID3D11VideoDevice : IUnknown { HRESULT CreateVideoDecoder( const D3D11_VIDEO_DECODER_DESC *pVideoDesc, const D3D11_VIDEO_DECODER_CONFIG *pConfig, ID3D11VideoDecoder **ppDecoder); HRESULT CreateVideoProcessor( ID3D11VideoProcessorEnumerator *pEnum, UINT RateConversionIndex, ID3D11VideoProcessor **ppVideoProcessor); HRESULT CreateAuthenticatedChannel( D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType, ID3D11AuthenticatedChannel **ppAuthenticatedChannel); HRESULT CreateCryptoSession( const GUID *pCryptoType, const GUID *pDecoderProfile, const GUID *pKeyExchangeType, ID3D11CryptoSession **ppCryptoSession); HRESULT CreateVideoDecoderOutputView( ID3D11Resource *pResource, const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc, ID3D11VideoDecoderOutputView **ppVDOVView); HRESULT CreateVideoProcessorInputView( ID3D11Resource *pResource, ID3D11VideoProcessorEnumerator *pEnum, const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc, ID3D11VideoProcessorInputView **ppVPIView); HRESULT CreateVideoProcessorOutputView( ID3D11Resource *pResource, ID3D11VideoProcessorEnumerator *pEnum, const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc, ID3D11VideoProcessorOutputView **ppVPOView); HRESULT CreateVideoProcessorEnumerator( const D3D11_VIDEO_PROCESSOR_CONTENT_DESC *pDesc, ID3D11VideoProcessorEnumerator **ppEnum); UINT GetVideoDecoderProfileCount(); HRESULT GetVideoDecoderProfile( UINT Index, GUID *pDecoderProfile); HRESULT CheckVideoDecoderFormat( const GUID *pDecoderProfile, DXGI_FORMAT Format, BOOL *pSupported); HRESULT GetVideoDecoderConfigCount( const D3D11_VIDEO_DECODER_DESC *pDesc, UINT *pCount); HRESULT GetVideoDecoderConfig( const D3D11_VIDEO_DECODER_DESC *pDesc, UINT Index, D3D11_VIDEO_DECODER_CONFIG *pConfig); HRESULT GetContentProtectionCaps( const GUID *pCryptoType, const GUID *pDecoderProfile, D3D11_VIDEO_CONTENT_PROTECTION_CAPS *pCaps); HRESULT CheckCryptoKeyExchange( const GUID *pCryptoType, const GUID *pDecoderProfile, UINT Index, GUID *pKeyExchangeType); HRESULT SetPrivateData( REFGUID guid, UINT DataSize, const void *pData); HRESULT SetPrivateDataInterface( REFGUID guid, const IUnknown *pData); } [ object, uuid(61f21c45-3c0e-4a74-9cea-67100d9ad5e4), local, pointer_default(unique) ] interface ID3D11VideoContext : ID3D11DeviceChild { HRESULT GetDecoderBuffer( [in] ID3D11VideoDecoder *decoder, [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type, [out] UINT *buffer_size, [out] void **buffer ); HRESULT ReleaseDecoderBuffer( [in] ID3D11VideoDecoder *decoder, [in] D3D11_VIDEO_DECODER_BUFFER_TYPE type ); HRESULT DecoderBeginFrame( [in] ID3D11VideoDecoder *decoder, [in] ID3D11VideoDecoderOutputView *view, [in] UINT key_size, [in] const void *key ); HRESULT DecoderEndFrame( [in] ID3D11VideoDecoder *decoder ); HRESULT SubmitDecoderBuffers( [in] ID3D11VideoDecoder *decoder, [in] UINT buffers_count, [in] const D3D11_VIDEO_DECODER_BUFFER_DESC *buffer_desc ); HRESULT DecoderExtension( [in] ID3D11VideoDecoder *decoder, [in] const D3D11_VIDEO_DECODER_EXTENSION *extension ); void VideoProcessorSetOutputTargetRect( [in] ID3D11VideoProcessor *processor, [in] BOOL enable, [in] const RECT *rect ); void VideoProcessorSetOutputBackgroundColor( [in] ID3D11VideoProcessor *processor, [in] BOOL y_cb_cr, [in] const D3D11_VIDEO_COLOR *color ); void VideoProcessorSetOutputColorSpace( [in] ID3D11VideoProcessor *processor, [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space ); void VideoProcessorSetOutputAlphaFillMode( [in] ID3D11VideoProcessor *processor, [in] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE alpha_fill_mode, [in] UINT stream_idx ); void VideoProcessorSetOutputConstriction( [in] ID3D11VideoProcessor *processor, [in] BOOL enable, [in] SIZE size ); void VideoProcessorSetOutputStereoMode( [in] ID3D11VideoProcessor *processor, [in] BOOL enable ); HRESULT VideoProcessorSetOutputExtension( [in] ID3D11VideoProcessor *processor, [in] const GUID *guid, [in] UINT data_size, [in] void *data ); void VideoProcessorGetOutputTargetRect( [in] ID3D11VideoProcessor *processor, [out] BOOL *enabled, [out] RECT *rect ); void VideoProcessorGetOutputBackgroundColor( [in] ID3D11VideoProcessor *processor, [out] BOOL *y_cb_cr, [out] D3D11_VIDEO_COLOR *color ); void VideoProcessorGetOutputColorSpace( [in] ID3D11VideoProcessor *processor, [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space ); void VideoProcessorGetOutputAlphaFillMode( [in] ID3D11VideoProcessor *processor, [out] D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE *alpha_fill_mode, [out] UINT *stream_idx ); void VideoProcessorGetOutputConstriction( [in] ID3D11VideoProcessor *processor, [out] BOOL *enabled, [out] SIZE *size ); void VideoProcessorGetOutputStereoMode( [in] ID3D11VideoProcessor *processor, [out] BOOL *enabled ); HRESULT VideoProcessorGetOutputExtension( [in] ID3D11VideoProcessor *processor, [in] const GUID *guid, [in] UINT data_size, [out] void *data ); void VideoProcessorSetStreamFrameFormat( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] D3D11_VIDEO_FRAME_FORMAT format ); void VideoProcessorSetStreamColorSpace( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] const D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space ); void VideoProcessorSetStreamOutputRate( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE rate, [in] BOOL repeat, [in] const DXGI_RATIONAL *custom_rate ); void VideoProcessorSetStreamSourceRect( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] const RECT *rect ); void VideoProcessorSetStreamDestRect( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] const RECT *rect ); void VideoProcessorSetStreamAlpha( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] float alpha ); void VideoProcessorSetStreamPalette( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] UINT entry_count, [in] const UINT *entries ); void VideoProcessorSetStreamPixelAspectRatio( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] const DXGI_RATIONAL *src_aspect_ratio, [in] const DXGI_RATIONAL *dst_aspect_ratio ); void VideoProcessorSetStreamLumaKey( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] float lower, [in] float upper ); void VideoProcessorSetStreamStereoFormat( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT format, [in] BOOL left_view_frame0, [in] BOOL base_view_frame0, [in] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE flip_mode, [in] int mono_offset ); void VideoProcessorSetStreamAutoProcessingMode( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable ); void VideoProcessorSetStreamFilter( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] D3D11_VIDEO_PROCESSOR_FILTER filter, [in] BOOL enable, [in] int level ); HRESULT VideoProcessorSetStreamExtension( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] const GUID *guid, [in] UINT data_size, [in] void *data ); void VideoProcessorGetStreamFrameFormat( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] D3D11_VIDEO_FRAME_FORMAT *format ); void VideoProcessorGetStreamColorSpace( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] D3D11_VIDEO_PROCESSOR_COLOR_SPACE *color_space ); void VideoProcessorGetStreamOutputRate( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] D3D11_VIDEO_PROCESSOR_OUTPUT_RATE *rate, [out] BOOL *repeat, [out] DXGI_RATIONAL *custom_rate ); void VideoProcessorGetStreamSourceRect( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] RECT *rect ); void VideoProcessorGetStreamDestRect( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] RECT *rect ); void VideoProcessorGetStreamAlpha( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] float *alpha ); void VideoProcessorGetStreamPalette( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] UINT entry_count, [out] UINT *entries ); void VideoProcessorGetStreamPixelAspectRatio( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] DXGI_RATIONAL *src_aspect_ratio, [out] DXGI_RATIONAL *dst_aspect_ratio ); void VideoProcessorGetStreamLumaKey( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] float *lower, [out] float *upper ); void VideoProcessorGetStreamStereoFormat( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled, [out] D3D11_VIDEO_PROCESSOR_STEREO_FORMAT *format, [out] BOOL *left_view_frame0, [out] BOOL *base_view_frame0, [out] D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE *flip_mode, [out] int *mono_offset ); void VideoProcessorGetStreamAutoProcessingMode( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enabled ); void VideoProcessorGetStreamFilter( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] D3D11_VIDEO_PROCESSOR_FILTER filter, [out] BOOL *enabled, [out] int *level ); HRESULT VideoProcessorGetStreamExtension( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] const GUID *guid, [in] UINT data_size, [out] void *data ); HRESULT VideoProcessorBlt( [in] ID3D11VideoProcessor *processor, [in] ID3D11VideoProcessorOutputView *view, [in] UINT frame_idx, [in] UINT stream_count, [in] const D3D11_VIDEO_PROCESSOR_STREAM *streams ); HRESULT NegotiateCryptoSessionKeyExchange( [in] ID3D11CryptoSession *session, [in] UINT data_size, [in, out] void *data ); void EncryptionBlt( [in] ID3D11CryptoSession *session, [in] ID3D11Texture2D *src_surface, [in] ID3D11Texture2D *dst_surface, [in] UINT iv_size, [in, out] void *iv ); void DecryptionBlt( [in] ID3D11CryptoSession *session, [in] ID3D11Texture2D *src_surface, [in] ID3D11Texture2D *dst_surface, [in] D3D11_ENCRYPTED_BLOCK_INFO *block_info, [in] UINT key_size, [in] const void *key, [in] UINT iv_size, [in, out] void *iv ); void StartSessionKeyRefresh( [in] ID3D11CryptoSession *session, [in] UINT random_number_size, [out] void *random_number ); void FinishSessionKeyRefresh( [in] ID3D11CryptoSession *session ); HRESULT GetEncryptionBltKey( [in] ID3D11CryptoSession *session, [in] UINT key_size, [out] void *key ); HRESULT NegotiateAuthenticatedChannelKeyExchange( [in] ID3D11AuthenticatedChannel *channel, [in] UINT data_size, [in, out] void *data ); HRESULT QueryAuthenticatedChannel( [in] ID3D11AuthenticatedChannel *channel, [in] UINT input_size, [in] const void *input, [in] UINT output_size, [out] void *output ); HRESULT ConfigureAuthenticatedChannel( [in] ID3D11AuthenticatedChannel *channel, [in] UINT input_size, [in] const void *input, [out] D3D11_AUTHENTICATED_CONFIGURE_OUTPUT *output ); void VideoProcessorSetStreamRotation( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [in] BOOL enable, [in] D3D11_VIDEO_PROCESSOR_ROTATION rotation ); void VideoProcessorGetStreamRotation( [in] ID3D11VideoProcessor *processor, [in] UINT stream_idx, [out] BOOL *enable, [out] D3D11_VIDEO_PROCESSOR_ROTATION *rotation ); } [ object, local, uuid(db6f6ddb-ac77-4e88-8253-819df9bbf140) ] interface ID3D11Device : IUnknown { HRESULT CreateBuffer( [in] const D3D11_BUFFER_DESC *pDesc, [in] const D3D11_SUBRESOURCE_DATA *pInitialData, [out] ID3D11Buffer **ppBuffer); HRESULT CreateTexture1D( [in] const D3D11_TEXTURE1D_DESC *pDesc, [in] const D3D11_SUBRESOURCE_DATA *pInitialData, [out] ID3D11Texture1D **ppTexture1D); HRESULT CreateTexture2D( [in] const D3D11_TEXTURE2D_DESC *pDesc, [in] const D3D11_SUBRESOURCE_DATA *pInitialData, [out] ID3D11Texture2D **ppTexture2D); HRESULT CreateTexture3D( [in] const D3D11_TEXTURE3D_DESC *pDesc, [in] const D3D11_SUBRESOURCE_DATA *pInitialData, [out] ID3D11Texture3D **ppTexture3D); HRESULT CreateShaderResourceView( [in] ID3D11Resource *pResource, [in] const D3D11_SHADER_RESOURCE_VIEW_DESC *pDesc, [out] ID3D11ShaderResourceView **ppSRView); HRESULT CreateUnorderedAccessView( [in] ID3D11Resource *pResource, [in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *pDesc, [out] ID3D11UnorderedAccessView **ppUAView); HRESULT CreateRenderTargetView( [in] ID3D11Resource *pResource, [in] const D3D11_RENDER_TARGET_VIEW_DESC *pDesc, [out] ID3D11RenderTargetView **ppRTView); HRESULT CreateDepthStencilView( [in] ID3D11Resource *pResource, [in] const D3D11_DEPTH_STENCIL_VIEW_DESC *pDesc, [out] ID3D11DepthStencilView **ppDepthStencilView); HRESULT CreateInputLayout( [in] const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs, [in] UINT NumElements, [in] const void *pShaderBytecodeWithInputSignature, [in] SIZE_T BytecodeLength, [out] ID3D11InputLayout **ppInputLayout); HRESULT CreateVertexShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11VertexShader **ppVertexShader); HRESULT CreateGeometryShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11GeometryShader **ppGeometryShader); HRESULT CreateGeometryShaderWithStreamOutput( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] const D3D11_SO_DECLARATION_ENTRY *pSODeclaration, [in] UINT NumEntries, [in] const UINT *pBufferStrides, [in] UINT NumStrides, [in] UINT RasterizedStream, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11GeometryShader **ppGeometryShader); HRESULT CreatePixelShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11PixelShader **ppPixelShader); HRESULT CreateHullShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11HullShader **ppHullShader); HRESULT CreateDomainShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11DomainShader **ppDomainShader); HRESULT CreateComputeShader( [in] const void *pShaderBytecode, [in] SIZE_T BytecodeLength, [in] ID3D11ClassLinkage *pClassLinkage, [out] ID3D11ComputeShader **ppComputeShader); HRESULT CreateClassLinkage( [out] ID3D11ClassLinkage **ppLinkage); HRESULT CreateBlendState( [in] const D3D11_BLEND_DESC *pBlendStateDesc, [out] ID3D11BlendState **ppBlendState); HRESULT CreateDepthStencilState( [in] const D3D11_DEPTH_STENCIL_DESC *pDepthStencilDesc, [out] ID3D11DepthStencilState **ppDepthStencilState); HRESULT CreateRasterizerState( [in] const D3D11_RASTERIZER_DESC *pRasterizerDesc, [out] ID3D11RasterizerState **ppRasterizerState); HRESULT CreateSamplerState( [in] const D3D11_SAMPLER_DESC *pSamplerDesc, [out] ID3D11SamplerState **ppSamplerState); HRESULT CreateQuery( [in] const D3D11_QUERY_DESC *pQueryDesc, [out] ID3D11Query **ppQuery); HRESULT CreatePredicate( [in] const D3D11_QUERY_DESC *pPredicateDesc, [out] ID3D11Predicate **ppPredicate); HRESULT CreateCounter( [in] const D3D11_COUNTER_DESC *pCounterDesc, [out] ID3D11Counter **ppCounter); HRESULT CreateDeferredContext( UINT ContextFlags, [out] ID3D11DeviceContext **ppDeferredContext); HRESULT OpenSharedResource( [in] HANDLE hResource, [in] REFIID ReturnedInterface, [out] void **ppResource); HRESULT CheckFormatSupport( [in] DXGI_FORMAT Format, [out] UINT *pFormatSupport); HRESULT CheckMultisampleQualityLevels( [in] DXGI_FORMAT Format, [in] UINT SampleCount, [out] UINT *pNumQualityLevels); void CheckCounterInfo( [out] D3D11_COUNTER_INFO *pCounterInfo); HRESULT CheckCounter( [in] const D3D11_COUNTER_DESC *pDesc, [out] D3D11_COUNTER_TYPE *pType, [out] UINT *pActiveCounters, [out] LPSTR szName, [in, out] UINT *pNameLength, [out] LPSTR szUnits, [in, out] UINT *pUnitsLength, [out] LPSTR szDescription, [in, out] UINT *pDescriptionLength); HRESULT CheckFeatureSupport( D3D11_FEATURE Feature, [out] void *pFeatureSupportData, UINT FeatureSupportDataSize); HRESULT GetPrivateData( [in] REFGUID guid, [in, out] UINT *pDataSize, [out] void *pData); HRESULT SetPrivateData( [in] REFGUID guid, [in] UINT DataSize, [in] const void *pData); HRESULT SetPrivateDataInterface( [in] REFGUID guid, [in] const IUnknown *pData); D3D_FEATURE_LEVEL GetFeatureLevel(); UINT GetCreationFlags(); HRESULT GetDeviceRemovedReason(); void GetImmediateContext( [out] ID3D11DeviceContext **ppImmediateContext); HRESULT SetExceptionMode(UINT RaiseFlags); UINT GetExceptionMode(); } typedef enum D3D11_CREATE_DEVICE_FLAG { D3D11_CREATE_DEVICE_SINGLETHREADED = 0x0001, D3D11_CREATE_DEVICE_DEBUG = 0x0002, D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x0004, D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x0008, D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x0020, D3D11_CREATE_DEVICE_DEBUGGABLE = 0x0040, D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x0080, D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x0100, D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800 } D3D11_CREATE_DEVICE_FLAG; typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT { D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x0001, D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x0002, } D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT; const UINT D3D11_SDK_VERSION = 7; cpp_quote("#include ") cpp_quote("#ifndef D3D11_IGNORE_SDK_LAYERS") cpp_quote("# include ") cpp_quote("#endif") cpp_quote("#include ") cpp_quote("#include ") cpp_quote("#include ") cpp_quote("#include ") const UINT _FACD3D11 = 0x87c; cpp_quote("#define MAKE_D3D11_HRESULT(code) MAKE_HRESULT(SEVERITY_ERROR, _FACD3D11, code)") cpp_quote("typedef HRESULT (WINAPI* PFN_D3D11_CREATE_DEVICE)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,") cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") cpp_quote("HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,const D3D_FEATURE_LEVEL*," ) cpp_quote(" UINT,UINT,ID3D11Device**,D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") cpp_quote("typedef HRESULT (WINAPI *PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(IDXGIAdapter*,D3D_DRIVER_TYPE,HMODULE,UINT,") cpp_quote(" const D3D_FEATURE_LEVEL*,UINT,UINT,const DXGI_SWAP_CHAIN_DESC*,IDXGISwapChain**,ID3D11Device**,") cpp_quote(" D3D_FEATURE_LEVEL*,ID3D11DeviceContext**);") [local] HRESULT __stdcall D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type, HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version, const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain, ID3D11Device **device, D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context);