Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  d3d11.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use ctypes::{c_float, c_int, c_long, c_void};
use shared::basetsd::{SIZE_T, UINT64, UINT8};
use shared::dxgi::{DXGI_SWAP_CHAIN_DESC, IDXGIAdapter, IDXGISwapChain};
use shared::dxgiformat::DXGI_FORMAT;
use shared::dxgitype::{DXGI_RATIONAL, DXGI_SAMPLE_DESC};
use shared::guiddef::{GUID, REFGUID, REFIID};
use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, HMODULE, INT, UINT, USHORT};
use shared::windef::{RECT, SIZE};
use um::d3dcommon::{
    D3D_DRIVER_TYPE, D3D_FEATURE_LEVEL, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_SRV_DIMENSION,
};
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::{HANDLE, HRESULT, LPCSTR, LPSTR, ULONGLONG};
pub const D3D11_16BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffff;
pub const D3D11_32BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffffffff;
pub const D3D11_8BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xff;
pub const D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: DWORD = 9;
pub const D3D11_CLIP_OR_CULL_DISTANCE_COUNT: DWORD = 8;
pub const D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: DWORD = 2;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: DWORD = 14;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: DWORD = 4;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: DWORD = 15;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: DWORD = 16;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 15;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: DWORD = 64;
pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 1;
pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: DWORD = 128;
pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: DWORD = 128;
pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT: DWORD = 16;
pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT: DWORD = 16;
pub const D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: DWORD = 32;
pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_COMMONSHADER_TEMP_REGISTER_COUNT: DWORD = 4096;
pub const D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: DWORD = 3;
pub const D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS: DWORD = 3;
pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: DWORD = 10;
pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: c_long = -10;
pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: c_long = -8;
pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: DWORD = 7;
pub const D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 256;
pub const D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: DWORD = 64;
pub const D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 240;
pub const D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: DWORD = 68;
pub const D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 224;
pub const D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: DWORD = 72;
pub const D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 208;
pub const D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: DWORD = 76;
pub const D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 192;
pub const D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: DWORD = 84;
pub const D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 176;
pub const D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: DWORD = 92;
pub const D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 160;
pub const D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: DWORD = 100;
pub const D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 144;
pub const D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: DWORD = 112;
pub const D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 128;
pub const D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: DWORD = 128;
pub const D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 112;
pub const D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: DWORD = 144;
pub const D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 96;
pub const D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: DWORD = 168;
pub const D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 80;
pub const D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: DWORD = 204;
pub const D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 64;
pub const D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: DWORD = 256;
pub const D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 48;
pub const D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: DWORD = 340;
pub const D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 32;
pub const D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: DWORD = 512;
pub const D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 16;
pub const D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: DWORD = 768;
pub const D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: DWORD = 1;
pub const D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: DWORD = 256;
pub const D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 768;
pub const D3D11_CS_4_X_THREAD_GROUP_MAX_X: DWORD = 768;
pub const D3D11_CS_4_X_THREAD_GROUP_MAX_Y: DWORD = 768;
pub const D3D11_CS_4_X_UAV_REGISTER_COUNT: DWORD = 1;
pub const D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: DWORD = 65535;
pub const D3D11_CS_TGSM_REGISTER_COUNT: DWORD = 8192;
pub const D3D11_CS_TGSM_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS: DWORD = 3;
pub const D3D11_CS_THREADGROUPID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: DWORD = 1;
pub const D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS: DWORD = 3;
pub const D3D11_CS_THREADIDINGROUP_REGISTER_COUNT: DWORD = 1;
pub const D3D11_CS_THREADID_REGISTER_COMPONENTS: DWORD = 3;
pub const D3D11_CS_THREADID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 1024;
pub const D3D11_CS_THREAD_GROUP_MAX_X: DWORD = 1024;
pub const D3D11_CS_THREAD_GROUP_MAX_Y: DWORD = 1024;
pub const D3D11_CS_THREAD_GROUP_MAX_Z: DWORD = 64;
pub const D3D11_CS_THREAD_GROUP_MIN_X: DWORD = 1;
pub const D3D11_CS_THREAD_GROUP_MIN_Y: DWORD = 1;
pub const D3D11_CS_THREAD_GROUP_MIN_Z: DWORD = 1;
pub const D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: DWORD = 16384;
pub const D3D11_DEFAULT_BLEND_FACTOR_ALPHA: FLOAT = 1.0;
pub const D3D11_DEFAULT_BLEND_FACTOR_BLUE: FLOAT = 1.0;
pub const D3D11_DEFAULT_BLEND_FACTOR_GREEN: FLOAT = 1.0;
pub const D3D11_DEFAULT_BLEND_FACTOR_RED: FLOAT = 1.0;
pub const D3D11_DEFAULT_BORDER_COLOR_COMPONENT: FLOAT = 0.0;
pub const D3D11_DEFAULT_DEPTH_BIAS: DWORD = 0;
pub const D3D11_DEFAULT_DEPTH_BIAS_CLAMP: FLOAT = 0.0;
pub const D3D11_DEFAULT_MAX_ANISOTROPY: DWORD = 16;
pub const D3D11_DEFAULT_MIP_LOD_BIAS: FLOAT = 0.0;
pub const D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX: DWORD = 0;
pub const D3D11_DEFAULT_SAMPLE_MASK: DWORD = 0xffffffff;
pub const D3D11_DEFAULT_SCISSOR_ENDX: DWORD = 0;
pub const D3D11_DEFAULT_SCISSOR_ENDY: DWORD = 0;
pub const D3D11_DEFAULT_SCISSOR_STARTX: DWORD = 0;
pub const D3D11_DEFAULT_SCISSOR_STARTY: DWORD = 0;
pub const D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: FLOAT = 0.0;
pub const D3D11_DEFAULT_STENCIL_READ_MASK: DWORD = 0xff;
pub const D3D11_DEFAULT_STENCIL_REFERENCE: DWORD = 0;
pub const D3D11_DEFAULT_STENCIL_WRITE_MASK: DWORD = 0xff;
pub const D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: DWORD = 0;
pub const D3D11_DEFAULT_VIEWPORT_HEIGHT: DWORD = 0;
pub const D3D11_DEFAULT_VIEWPORT_MAX_DEPTH: FLOAT = 0.0;
pub const D3D11_DEFAULT_VIEWPORT_MIN_DEPTH: FLOAT = 0.0;
pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTX: DWORD = 0;
pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTY: DWORD = 0;
pub const D3D11_DEFAULT_VIEWPORT_WIDTH: DWORD = 0;
pub const D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968;
pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: DWORD = 3;
pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: DWORD = 1;
pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_DS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_DS_OUTPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP: FLOAT = 0.6;
pub const D3D11_FLOAT32_MAX: FLOAT = 3.402823466E+38;
pub const D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: FLOAT = 0.6;
pub const D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: FLOAT = 2.4;
pub const D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: FLOAT = 1.0;
pub const D3D11_FLOAT_TO_SRGB_OFFSET: FLOAT = 0.055;
pub const D3D11_FLOAT_TO_SRGB_SCALE_1: FLOAT = 12.92;
pub const D3D11_FLOAT_TO_SRGB_SCALE_2: FLOAT = 1.055;
pub const D3D11_FLOAT_TO_SRGB_THRESHOLD: FLOAT = 0.0031308;
pub const D3D11_FTOI_INSTRUCTION_MAX_INPUT: FLOAT = 2147483647.999;
pub const D3D11_FTOI_INSTRUCTION_MIN_INPUT: FLOAT = -2147483648.999;
pub const D3D11_FTOU_INSTRUCTION_MAX_INPUT: FLOAT = 4294967295.999;
pub const D3D11_FTOU_INSTRUCTION_MIN_INPUT: FLOAT = 0.0;
pub const D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST: DWORD = 2;
pub const D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS: DWORD = 1;
pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT: DWORD = 1;
pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_GS_INPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_GS_INPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_GS_INPUT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_GS_INPUT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_GS_INPUT_REGISTER_VERTICES: DWORD = 32;
pub const D3D11_GS_MAX_INSTANCE_COUNT: DWORD = 32;
pub const D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: DWORD = 1024;
pub const D3D11_GS_OUTPUT_ELEMENTS: DWORD = 32;
pub const D3D11_GS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_GS_OUTPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff;
pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff;
pub const D3D11_HS_MAXTESSFACTOR_LOWER_BOUND: FLOAT = 1.0;
pub const D3D11_HS_MAXTESSFACTOR_UPPER_BOUND: FLOAT = 64.0;
pub const D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968;
pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: DWORD = 1;
pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: DWORD = 128;
pub const D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0;
pub const D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY: DWORD = 0;
pub const D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0;
pub const D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 1;
pub const D3D11_IA_INSTANCE_ID_BIT_COUNT: DWORD = 32;
pub const D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT: DWORD = 32;
pub const D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT: DWORD = 32;
pub const D3D11_IA_PRIMITIVE_ID_BIT_COUNT: DWORD = 32;
pub const D3D11_IA_VERTEX_ID_BIT_COUNT: DWORD = 32;
pub const D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 32;
pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: DWORD = 128;
pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: DWORD = 32;
pub const D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: DWORD = 0xffffffff;
pub const D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER: DWORD = 0xffffffff;
pub const D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: DWORD = 0xffffffff;
pub const D3D11_KEEP_UNORDERED_ACCESS_VIEWS: DWORD = 0xffffffff;
pub const D3D11_LINEAR_GAMMA: FLOAT = 1.0;
pub const D3D11_MAJOR_VERSION: DWORD = 11;
pub const D3D11_MAX_BORDER_COLOR_COMPONENT: FLOAT = 1.0;
pub const D3D11_MAX_DEPTH: FLOAT = 1.0;
pub const D3D11_MAX_MAXANISOTROPY: DWORD = 16;
pub const D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT: DWORD = 32;
pub const D3D11_MAX_POSITION_VALUE: FLOAT = 3.402823466E+34;
pub const D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP: DWORD = 17;
pub const D3D11_MINOR_VERSION: DWORD = 0;
pub const D3D11_MIN_BORDER_COLOR_COMPONENT: FLOAT = 0.0;
pub const D3D11_MIN_DEPTH: FLOAT = 0.0;
pub const D3D11_MIN_MAXANISOTROPY: DWORD = 0;
pub const D3D11_MIP_LOD_BIAS_MAX: FLOAT = 15.99;
pub const D3D11_MIP_LOD_BIAS_MIN: FLOAT = -16.0;
pub const D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT: DWORD = 8;
pub const D3D11_MIP_LOD_RANGE_BIT_COUNT: DWORD = 8;
pub const D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: FLOAT = 1.4;
pub const D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: DWORD = 0;
pub const D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 15;
pub const D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16;
pub const D3D11_PS_CS_UAV_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_PS_CS_UAV_REGISTER_COUNT: DWORD = 8;
pub const D3D11_PS_CS_UAV_REGISTER_READS_PER_INST: DWORD = 1;
pub const D3D11_PS_CS_UAV_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_PS_FRONTFACING_DEFAULT_VALUE: DWORD = 0xffffffff;
pub const D3D11_PS_FRONTFACING_FALSE_VALUE: DWORD = 0;
pub const D3D11_PS_FRONTFACING_TRUE_VALUE: DWORD = 0xffffffff;
pub const D3D11_PS_INPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_PS_INPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_PS_INPUT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_PS_INPUT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.0;
pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT: DWORD = 1;
pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS: DWORD = 1;
pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_PS_OUTPUT_MASK_REGISTER_COUNT: DWORD = 1;
pub const D3D11_PS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_PS_OUTPUT_REGISTER_COUNT: DWORD = 8;
pub const D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.5;
pub const D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT: DWORD = 16;
pub const D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: DWORD = 4096;
pub const D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: DWORD = 27;
pub const D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096;
pub const D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: DWORD = 4096;
pub const D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 32;
pub const D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 32;
pub const D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: DWORD = 16384;
pub const D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: DWORD = 1024;
pub const D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096;
pub const D3D11_REQ_MAXANISOTROPY: DWORD = 16;
pub const D3D11_REQ_MIP_LEVELS: DWORD = 15;
pub const D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: DWORD = 2048;
pub const D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096;
pub const D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: DWORD = 16384;
pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: DWORD = 128;
pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: FLOAT = 0.25;
pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: DWORD = 2048;
pub const D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: DWORD = 20;
pub const D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096;
pub const D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: DWORD = 2048;
pub const D3D11_REQ_TEXTURE1D_U_DIMENSION: DWORD = 16384;
pub const D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: DWORD = 2048;
pub const D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION: DWORD = 16384;
pub const D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: DWORD = 2048;
pub const D3D11_REQ_TEXTURECUBE_DIMENSION: DWORD = 16384;
pub const D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: DWORD = 0;
pub const D3D11_SHADER_MAJOR_VERSION: DWORD = 5;
pub const D3D11_SHADER_MAX_INSTANCES: DWORD = 65535;
pub const D3D11_SHADER_MAX_INTERFACES: DWORD = 253;
pub const D3D11_SHADER_MAX_INTERFACE_CALL_SITES: DWORD = 4096;
pub const D3D11_SHADER_MAX_TYPES: DWORD = 65535;
pub const D3D11_SHADER_MINOR_VERSION: DWORD = 0;
pub const D3D11_SHIFT_INSTRUCTION_PAD_VALUE: DWORD = 0;
pub const D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: DWORD = 5;
pub const D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT: DWORD = 8;
pub const D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES: DWORD = 2048;
pub const D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: DWORD = 512;
pub const D3D11_SO_BUFFER_SLOT_COUNT: DWORD = 4;
pub const D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP: DWORD = 0xffffffff;
pub const D3D11_SO_NO_RASTERIZED_STREAM: DWORD = 0xffffffff;
pub const D3D11_SO_OUTPUT_COMPONENT_COUNT: DWORD = 128;
pub const D3D11_SO_STREAM_COUNT: DWORD = 4;
pub const D3D11_SPEC_DATE_DAY: DWORD = 16;
pub const D3D11_SPEC_DATE_MONTH: DWORD = 0o5;
pub const D3D11_SPEC_DATE_YEAR: DWORD = 2011;
pub const D3D11_SPEC_VERSION: FLOAT = 1.07;
pub const D3D11_SRGB_GAMMA: FLOAT = 2.2;
pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_1: FLOAT = 12.92;
pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_2: FLOAT = 1.055;
pub const D3D11_SRGB_TO_FLOAT_EXPONENT: FLOAT = 2.4;
pub const D3D11_SRGB_TO_FLOAT_OFFSET: FLOAT = 0.055;
pub const D3D11_SRGB_TO_FLOAT_THRESHOLD: FLOAT = 0.04045;
pub const D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: FLOAT = 0.5;
pub const D3D11_STANDARD_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: DWORD = 64;
pub const D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: DWORD = 4;
pub const D3D11_STANDARD_PIXEL_COMPONENT_COUNT: DWORD = 128;
pub const D3D11_STANDARD_PIXEL_ELEMENT_COUNT: DWORD = 32;
pub const D3D11_STANDARD_VECTOR_SIZE: DWORD = 4;
pub const D3D11_STANDARD_VERTEX_ELEMENT_COUNT: DWORD = 32;
pub const D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: DWORD = 64;
pub const D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT: DWORD = 8;
pub const D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT: DWORD = 8;
pub const D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: DWORD = 64;
pub const D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 64;
pub const D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: DWORD = 63;
pub const D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR: DWORD = 64;
pub const D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: DWORD = 2;
pub const D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 1;
pub const D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: DWORD = 1;
pub const D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16;
pub const D3D11_UNBOUND_MEMORY_ACCESS_RESULT: DWORD = 0;
pub const D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: DWORD = 15;
pub const D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: DWORD = 16;
pub const D3D11_VIEWPORT_BOUNDS_MAX: DWORD = 32767;
pub const D3D11_VIEWPORT_BOUNDS_MIN: c_long = -32768;
pub const D3D11_VS_INPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_VS_INPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_VS_INPUT_REGISTER_READS_PER_INST: DWORD = 2;
pub const D3D11_VS_INPUT_REGISTER_READ_PORTS: DWORD = 1;
pub const D3D11_VS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4;
pub const D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32;
pub const D3D11_VS_OUTPUT_REGISTER_COUNT: DWORD = 32;
pub const D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: DWORD = 10;
pub const D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 25;
pub const D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 25;
pub const D3D11_1_UAV_SLOT_COUNT: DWORD = 64;
pub const D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES: DWORD = 65536;
ENUM!{enum D3D11_INPUT_CLASSIFICATION {
    D3D11_INPUT_PER_VERTEX_DATA = 0,
    D3D11_INPUT_PER_INSTANCE_DATA = 1,
}}
pub const D3D11_APPEND_ALIGNED_ELEMENT: DWORD = 0xffffffff;
STRUCT!{struct D3D11_INPUT_ELEMENT_DESC {
    SemanticName: LPCSTR,
    SemanticIndex: UINT,
    Format: DXGI_FORMAT,
    InputSlot: UINT,
    AlignedByteOffset: UINT,
    InputSlotClass: D3D11_INPUT_CLASSIFICATION,
    InstanceDataStepRate: UINT,
}}
ENUM!{enum D3D11_FILL_MODE {
    D3D11_FILL_WIREFRAME = 2,
    D3D11_FILL_SOLID = 3,
}}
pub type D3D11_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY;
pub type D3D11_PRIMITIVE = D3D_PRIMITIVE;
ENUM!{enum D3D11_CULL_MODE {
    D3D11_CULL_NONE = 1,
    D3D11_CULL_FRONT = 2,
    D3D11_CULL_BACK = 3,
}}
STRUCT!{struct D3D11_SO_DECLARATION_ENTRY {
    Stream: UINT,
    SemanticName: LPCSTR,
    SemanticIndex: UINT,
    StartComponent: BYTE,
    ComponentCount: BYTE,
    OutputSlot: BYTE,
}}
STRUCT!{struct D3D11_VIEWPORT {
    TopLeftX: FLOAT,
    TopLeftY: FLOAT,
    Width: FLOAT,
    Height: FLOAT,
    MinDepth: FLOAT,
    MaxDepth: FLOAT,
}}
STRUCT!{struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS {
    VertexCountPerInstance: UINT,
    InstanceCount: UINT,
    StartVertexLocation: UINT,
    StartInstanceLocation: UINT,
}}
STRUCT!{struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS {
    IndexCountPerInstance: UINT,
    InstanceCount: UINT,
    StartIndexLocation: UINT,
    BaseVertexLocation: INT,
    StartInstanceLocation: UINT,
}}
ENUM!{enum D3D11_RESOURCE_DIMENSION {
    D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
    D3D11_RESOURCE_DIMENSION_BUFFER = 1,
    D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
    D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
    D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4,
}}
pub type D3D11_SRV_DIMENSION = D3D_SRV_DIMENSION;
ENUM!{enum D3D11_DSV_DIMENSION {
    D3D11_DSV_DIMENSION_UNKNOWN = 0,
    D3D11_DSV_DIMENSION_TEXTURE1D = 1,
    D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
    D3D11_DSV_DIMENSION_TEXTURE2D = 3,
    D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
    D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
    D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6,
}}
ENUM!{enum D3D11_RTV_DIMENSION {
    D3D11_RTV_DIMENSION_UNKNOWN = 0,
    D3D11_RTV_DIMENSION_BUFFER = 1,
    D3D11_RTV_DIMENSION_TEXTURE1D = 2,
    D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
    D3D11_RTV_DIMENSION_TEXTURE2D = 4,
    D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
    D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
    D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
    D3D11_RTV_DIMENSION_TEXTURE3D = 8,
}}
ENUM!{enum D3D11_UAV_DIMENSION {
    D3D11_UAV_DIMENSION_UNKNOWN = 0,
    D3D11_UAV_DIMENSION_BUFFER = 1,
    D3D11_UAV_DIMENSION_TEXTURE1D = 2,
    D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
    D3D11_UAV_DIMENSION_TEXTURE2D = 4,
    D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
    D3D11_UAV_DIMENSION_TEXTURE3D = 8,
}}
ENUM!{enum D3D11_USAGE {
    D3D11_USAGE_DEFAULT = 0,
    D3D11_USAGE_IMMUTABLE = 1,
    D3D11_USAGE_DYNAMIC = 2,
    D3D11_USAGE_STAGING = 3,
}}
ENUM!{enum D3D11_BIND_FLAG {
    D3D11_BIND_VERTEX_BUFFER = 0x1,
    D3D11_BIND_INDEX_BUFFER = 0x2,
    D3D11_BIND_CONSTANT_BUFFER = 0x4,
    D3D11_BIND_SHADER_RESOURCE = 0x8,
    D3D11_BIND_STREAM_OUTPUT = 0x10,
    D3D11_BIND_RENDER_TARGET = 0x20,
    D3D11_BIND_DEPTH_STENCIL = 0x40,
    D3D11_BIND_UNORDERED_ACCESS = 0x80,
    D3D11_BIND_DECODER = 0x200,
    D3D11_BIND_VIDEO_ENCODER = 0x400,
}}
ENUM!{enum D3D11_CPU_ACCESS_FLAG {
    D3D11_CPU_ACCESS_WRITE = 0x10000,
    D3D11_CPU_ACCESS_READ = 0x20000,
}}
ENUM!{enum D3D11_RESOURCE_MISC_FLAG {
    D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1,
    D3D11_RESOURCE_MISC_SHARED = 0x2,
    D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4,
    D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10,
    D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20,
    D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40,
    D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80,
    D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100,
    D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200,
    D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800,
    D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000,
    D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000,
    D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000,
    D3D11_RESOURCE_MISC_GUARDED = 0x8000,
    D3D11_RESOURCE_MISC_TILE_POOL = 0x20000,
    D3D11_RESOURCE_MISC_TILED = 0x40000,
    D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000,
}}
ENUM!{enum D3D11_MAP {
    D3D11_MAP_READ = 1,
    D3D11_MAP_WRITE = 2,
    D3D11_MAP_READ_WRITE = 3,
    D3D11_MAP_WRITE_DISCARD = 4,
    D3D11_MAP_WRITE_NO_OVERWRITE = 5,
}}
ENUM!{enum D3D11_MAP_FLAG {
    D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000,
}}
ENUM!{enum D3D11_RAISE_FLAG {
    D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1,
}}
ENUM!{enum D3D11_CLEAR_FLAG {
    D3D11_CLEAR_DEPTH = 0x1,
    D3D11_CLEAR_STENCIL = 0x2,
}}
pub type D3D11_RECT = RECT;
STRUCT!{struct D3D11_BOX {
    left: UINT,
    top: UINT,
    front: UINT,
    right: UINT,
    bottom: UINT,
    back: UINT,
}}
RIDL!{#[uuid(0x1841e5c8, 0x16b0, 0x489b, 0xbc, 0xc8, 0x44, 0xcf, 0xb0, 0xd5, 0xde, 0xae)]
interface ID3D11DeviceChild(ID3D11DeviceChildVtbl): IUnknown(IUnknownVtbl) {
    fn GetDevice(
        ppDevice: *mut *mut ID3D11Device,
    ) -> (),
    fn GetPrivateData(
        guid: REFGUID,
        pDataSize: *mut UINT,
        pData: *mut c_void,
    ) -> HRESULT,
    fn SetPrivateData(
        guid: REFGUID,
        DataSize: UINT,
        pData: *const c_void,
    ) -> HRESULT,
    fn SetPrivateDataInterface(
        guid: REFGUID,
        pData: *const IUnknown,
    ) -> HRESULT,
}}
ENUM!{enum D3D11_COMPARISON_FUNC {
    D3D11_COMPARISON_NEVER = 1,
    D3D11_COMPARISON_LESS = 2,
    D3D11_COMPARISON_EQUAL = 3,
    D3D11_COMPARISON_LESS_EQUAL = 4,
    D3D11_COMPARISON_GREATER = 5,
    D3D11_COMPARISON_NOT_EQUAL = 6,
    D3D11_COMPARISON_GREATER_EQUAL = 7,
    D3D11_COMPARISON_ALWAYS = 8,
}}
ENUM!{enum D3D11_DEPTH_WRITE_MASK {
    D3D11_DEPTH_WRITE_MASK_ZERO = 0,
    D3D11_DEPTH_WRITE_MASK_ALL = 1,
}}
ENUM!{enum D3D11_STENCIL_OP {
    D3D11_STENCIL_OP_KEEP = 1,
    D3D11_STENCIL_OP_ZERO = 2,
    D3D11_STENCIL_OP_REPLACE = 3,
    D3D11_STENCIL_OP_INCR_SAT = 4,
    D3D11_STENCIL_OP_DECR_SAT = 5,
    D3D11_STENCIL_OP_INVERT = 6,
    D3D11_STENCIL_OP_INCR = 7,
    D3D11_STENCIL_OP_DECR = 8,
}}
STRUCT!{struct D3D11_DEPTH_STENCILOP_DESC {
    StencilFailOp: D3D11_STENCIL_OP,
    StencilDepthFailOp: D3D11_STENCIL_OP,
    StencilPassOp: D3D11_STENCIL_OP,
    StencilFunc: D3D11_COMPARISON_FUNC,
}}
STRUCT!{struct D3D11_DEPTH_STENCIL_DESC {
    DepthEnable: BOOL,
    DepthWriteMask: D3D11_DEPTH_WRITE_MASK,
    DepthFunc: D3D11_COMPARISON_FUNC,
    StencilEnable: BOOL,
    StencilReadMask: UINT8,
    StencilWriteMask: UINT8,
    FrontFace: D3D11_DEPTH_STENCILOP_DESC,
    BackFace: D3D11_DEPTH_STENCILOP_DESC,
}}
RIDL!{#[uuid(0x03823efb, 0x8d8f, 0x4e1c, 0x9a, 0xa2, 0xf6, 0x4b, 0xb2, 0xcb, 0xfd, 0xf1)]
interface ID3D11DepthStencilState(ID3D11DepthStencilStateVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_DEPTH_STENCIL_DESC,
    ) -> (),
}}
ENUM!{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,
}}
ENUM!{enum D3D11_BLEND_OP {
    D3D11_BLEND_OP_ADD = 1,
    D3D11_BLEND_OP_SUBTRACT = 2,
    D3D11_BLEND_OP_REV_SUBTRACT = 3,
    D3D11_BLEND_OP_MIN = 4,
    D3D11_BLEND_OP_MAX = 5,
}}
ENUM!{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,
}}
STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC {
    BlendEnable: BOOL,
    SrcBlend: D3D11_BLEND,
    DestBlend: D3D11_BLEND,
    BlendOp: D3D11_BLEND_OP,
    SrcBlendAlpha: D3D11_BLEND,
    DestBlendAlpha: D3D11_BLEND,
    BlendOpAlpha: D3D11_BLEND_OP,
    RenderTargetWriteMask: UINT8,
}}
STRUCT!{struct D3D11_BLEND_DESC {
    AlphaToCoverageEnable: BOOL,
    IndependentBlendEnable: BOOL,
    RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC; 8],
}}
RIDL!{#[uuid(0x75b68faa, 0x347d, 0x4159, 0x8f, 0x45, 0xa0, 0x64, 0x0f, 0x01, 0xcd, 0x9a)]
interface ID3D11BlendState(ID3D11BlendStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_BLEND_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_RASTERIZER_DESC {
    FillMode: D3D11_FILL_MODE,
    CullMode: D3D11_CULL_MODE,
    FrontCounterClockwise: BOOL,
    DepthBias: INT,
    DepthBiasClamp: FLOAT,
    SlopeScaledDepthBias: FLOAT,
    DepthClipEnable: BOOL,
    ScissorEnable: BOOL,
    MultisampleEnable: BOOL,
    AntialiasedLineEnable: BOOL,
}}
RIDL!{#[uuid(0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5, 0x06, 0xfc, 0x04, 0x20, 0x0b, 0x6e, 0xe7)]
interface ID3D11RasterizerState(ID3D11RasterizerStateVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_RASTERIZER_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_SUBRESOURCE_DATA {
    pSysMem: *const c_void,
    SysMemPitch: UINT,
    SysMemSlicePitch: UINT,
}}
STRUCT!{struct D3D11_MAPPED_SUBRESOURCE {
    pData: *mut c_void,
    RowPitch: UINT,
    DepthPitch: UINT,
}}
RIDL!{#[uuid(0xdc8e63f3, 0xd12b, 0x4952, 0xb4, 0x7b, 0x5e, 0x45, 0x02, 0x6a, 0x86, 0x2d)]
interface ID3D11Resource(ID3D11ResourceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetType(
        pResourceDimension: *mut D3D11_RESOURCE_DIMENSION,
    ) -> (),
    fn SetEvictionPriority(
        EvictionPriority: UINT,
    ) -> (),
    fn GetEvictionPriority() -> UINT,
}}
STRUCT!{struct D3D11_BUFFER_DESC {
    ByteWidth: UINT,
    Usage: D3D11_USAGE,
    BindFlags: UINT,
    CPUAccessFlags: UINT,
    MiscFlags: UINT,
    StructureByteStride: UINT,
}}
RIDL!{#[uuid(0x48570b85, 0xd1ee, 0x4fcd, 0xa2, 0x50, 0xeb, 0x35, 0x07, 0x22, 0xb0, 0x37)]
interface ID3D11Buffer(ID3D11BufferVtbl): ID3D11Resource(ID3D11ResourceVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_BUFFER_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_TEXTURE1D_DESC {
    Width: UINT,
    MipLevels: UINT,
    ArraySize: UINT,
    Format: DXGI_FORMAT,
    Usage: D3D11_USAGE,
    BindFlags: UINT,
    CPUAccessFlags: UINT,
    MiscFlags: UINT,
}}
RIDL!{#[uuid(0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4, 0xc8, 0x43, 0x9a, 0xf2, 0xef, 0x56, 0x4c)]
interface ID3D11Texture1D(ID3D11Texture1DVtbl): ID3D11Resource(ID3D11ResourceVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_TEXTURE1D_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_TEXTURE2D_DESC {
    Width: UINT,
    Height: UINT,
    MipLevels: UINT,
    ArraySize: UINT,
    Format: DXGI_FORMAT,
    SampleDesc: DXGI_SAMPLE_DESC,
    Usage: D3D11_USAGE,
    BindFlags: UINT,
    CPUAccessFlags: UINT,
    MiscFlags: UINT,
}}
RIDL!{#[uuid(0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c)]
interface ID3D11Texture2D(ID3D11Texture2DVtbl): ID3D11Resource(ID3D11ResourceVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_TEXTURE2D_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_TEXTURE3D_DESC {
    Width: UINT,
    Height: UINT,
    Depth: UINT,
    MipLevels: UINT,
    Format: DXGI_FORMAT,
    Usage: D3D11_USAGE,
    BindFlags: UINT,
    CPUAccessFlags: UINT,
    MiscFlags: UINT,
}}
RIDL!{#[uuid(0x037e866e, 0xf56d, 0x4357, 0xa8, 0xaf, 0x9d, 0xab, 0xbe, 0x6e, 0x25, 0x0e)]
interface ID3D11Texture3D(ID3D11Texture3DVtbl): ID3D11Resource(ID3D11ResourceVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_TEXTURE3D_DESC,
    ) -> (),
}}
ENUM!{enum D3D11_TEXTURECUBE_FACE {
    D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1,
    D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
    D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5,
}}
RIDL!{#[uuid(0x839d1216, 0xbb2e, 0x412b, 0xb7, 0xf4, 0xa9, 0xdb, 0xeb, 0xe0, 0x8e, 0xd1)]
interface ID3D11View(ID3D11ViewVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetResource(
        ppResource: *mut *mut ID3D11Resource,
    ) -> (),
}}
UNION!{union D3D11_BUFFER_SRV_u1 {
    [u32; 1],
    FirstElement FirstElement_mut: UINT,
    ElementOffset ElementOffset_mut: UINT,
}}
UNION!{union D3D11_BUFFER_SRV_u2 {
    [u32; 1],
    NumElements NumElements_mut: UINT,
    ElementWidth ElementWidth_mut: UINT,
}}
STRUCT!{struct D3D11_BUFFER_SRV {
    u1: D3D11_BUFFER_SRV_u1,
    u2: D3D11_BUFFER_SRV_u2,
}}
ENUM!{enum D3D11_BUFFEREX_SRV_FLAG {
    D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1,
}}
STRUCT!{struct D3D11_BUFFEREX_SRV {
    FirstElement: UINT,
    NumElements: UINT,
    Flags: UINT,
}}
STRUCT!{struct D3D11_TEX1D_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
}}
STRUCT!{struct D3D11_TEX1D_ARRAY_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2D_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
}}
STRUCT!{struct D3D11_TEX2D_ARRAY_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX3D_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
}}
STRUCT!{struct D3D11_TEXCUBE_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
}}
STRUCT!{struct D3D11_TEXCUBE_ARRAY_SRV {
    MostDetailedMip: UINT,
    MipLevels: UINT,
    First2DArrayFace: UINT,
    NumCubes: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_SRV {
    UnusedField_NothingToDefine: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_ARRAY_SRV {
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
UNION!{union D3D11_SHADER_RESOURCE_VIEW_DESC_u {
    [u32; 4],
    Buffer Buffer_mut: D3D11_BUFFER_SRV,
    Texture1D Texture1D_mut: D3D11_TEX1D_SRV,
    Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_SRV,
    Texture2D Texture2D_mut: D3D11_TEX2D_SRV,
    Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_SRV,
    Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_SRV,
    Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_SRV,
    Texture3D Texture3D_mut: D3D11_TEX3D_SRV,
    TextureCube TextureCube_mut: D3D11_TEXCUBE_SRV,
    TextureCubeArray TextureCubeArray_mut: D3D11_TEXCUBE_ARRAY_SRV,
    BufferEx BufferEx_mut: D3D11_BUFFEREX_SRV,
}}
STRUCT!{struct D3D11_SHADER_RESOURCE_VIEW_DESC {
    Format: DXGI_FORMAT,
    ViewDimension: D3D11_SRV_DIMENSION,
    u: D3D11_SHADER_RESOURCE_VIEW_DESC_u,
}}
RIDL!{#[uuid(0xb0e06fe0, 0x8192, 0x4e1a, 0xb1, 0xca, 0x36, 0xd7, 0x41, 0x47, 0x10, 0xb2)]
interface ID3D11ShaderResourceView(ID3D11ShaderResourceViewVtbl): ID3D11View(ID3D11ViewVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC,
    ) -> (),
}}
UNION!{union D3D11_BUFFER_RTV_u1 {
    [u32; 1],
    FirstElement FirstElement_mut: UINT,
    ElementOffset ElementOffset_mut: UINT,
}}
UNION!{union D3D11_BUFFER_RTV_u2 {
    [u32; 1],
    NumElements NumElements_mut: UINT,
    ElementWidth ElementWidth_mut: UINT,
}}
STRUCT!{struct D3D11_BUFFER_RTV {
    u1: D3D11_BUFFER_RTV_u1,
    u2: D3D11_BUFFER_RTV_u2,
}}
STRUCT!{struct D3D11_TEX1D_RTV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX1D_ARRAY_RTV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2D_RTV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_RTV {
    UnusedField_NothingToDefine: UINT,
}}
STRUCT!{struct D3D11_TEX2D_ARRAY_RTV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_ARRAY_RTV {
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX3D_RTV {
    MipSlice: UINT,
    FirstWSlice: UINT,
    WSize: UINT,
}}
UNION!{union D3D11_RENDER_TARGET_VIEW_DESC_u {
    [u32; 3],
    Buffer Buffer_mut: D3D11_BUFFER_RTV,
    Texture1D Texture1D_mut: D3D11_TEX1D_RTV,
    Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_RTV,
    Texture2D Texture2D_mut: D3D11_TEX2D_RTV,
    Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_RTV,
    Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_RTV,
    Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_RTV,
    Texture3D Texture3D_mut: D3D11_TEX3D_RTV,
}}
STRUCT!{struct D3D11_RENDER_TARGET_VIEW_DESC {
    Format: DXGI_FORMAT,
    ViewDimension: D3D11_RTV_DIMENSION,
    u: D3D11_RENDER_TARGET_VIEW_DESC_u,
}}
RIDL!{#[uuid(0xdfdba067, 0x0b8d, 0x4865, 0x87, 0x5b, 0xd7, 0xb4, 0x51, 0x6c, 0xc1, 0x64)]
interface ID3D11RenderTargetView(ID3D11RenderTargetViewVtbl): ID3D11View(ID3D11ViewVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_RENDER_TARGET_VIEW_DESC,
    ) -> (),
}}
STRUCT!{struct D3D11_TEX1D_DSV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX1D_ARRAY_DSV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2D_DSV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX2D_ARRAY_DSV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_DSV {
    UnusedField_NothingToDefine: UINT,
}}
STRUCT!{struct D3D11_TEX2DMS_ARRAY_DSV {
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
ENUM!{enum D3D11_DSV_FLAG {
    D3D11_DSV_READ_ONLY_DEPTH = 0x1,
    D3D11_DSV_READ_ONLY_STENCIL = 0x2,
}}
UNION!{union D3D11_DEPTH_STENCIL_VIEW_DESC_u {
    [u32; 3],
    Texture1D Texture1D_mut: D3D11_TEX1D_DSV,
    Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_DSV,
    Texture2D Texture2D_mut: D3D11_TEX2D_DSV,
    Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_DSV,
    Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_DSV,
    Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_DSV,
}}
STRUCT!{struct D3D11_DEPTH_STENCIL_VIEW_DESC {
    Format: DXGI_FORMAT,
    ViewDimension: D3D11_DSV_DIMENSION,
    Flags: UINT,
    u: D3D11_DEPTH_STENCIL_VIEW_DESC_u,
}}
RIDL!{#[uuid(0x9fdac92a, 0x1876, 0x48c3, 0xaf, 0xad, 0x25, 0xb9, 0x4f, 0x84, 0xa9, 0xb6)]
interface ID3D11DepthStencilView(ID3D11DepthStencilViewVtbl): ID3D11View(ID3D11ViewVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC,
    ) -> (),
}}
ENUM!{enum D3D11_BUFFER_UAV_FLAG {
    D3D11_BUFFER_UAV_FLAG_RAW = 0x1,
    D3D11_BUFFER_UAV_FLAG_APPEND = 0x2,
    D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4,
}}
STRUCT!{struct D3D11_BUFFER_UAV {
    FirstElement: UINT,
    NumElements: UINT,
    Flags: UINT,
}}
STRUCT!{struct D3D11_TEX1D_UAV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX1D_ARRAY_UAV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX2D_UAV {
    MipSlice: UINT,
}}
STRUCT!{struct D3D11_TEX2D_ARRAY_UAV {
    MipSlice: UINT,
    FirstArraySlice: UINT,
    ArraySize: UINT,
}}
STRUCT!{struct D3D11_TEX3D_UAV {
    MipSlice: UINT,
    FirstWSlice: UINT,
    WSize: UINT,
}}
UNION!{union D3D11_UNORDERED_ACCESS_VIEW_DESC_u {
    [u32; 3],
    Buffer Buffer_mut: D3D11_BUFFER_UAV,
    Texture1D Texture1D_mut: D3D11_TEX1D_UAV,
    Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_UAV,
    Texture2D Texture2D_mut: D3D11_TEX2D_UAV,
    Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_UAV,
    Texture3D Texture3D_mut: D3D11_TEX3D_UAV,
}}
STRUCT!{struct D3D11_UNORDERED_ACCESS_VIEW_DESC {
    Format: DXGI_FORMAT,
    ViewDimension: D3D11_UAV_DIMENSION,
    u: D3D11_UNORDERED_ACCESS_VIEW_DESC_u,
}}
RIDL!{#[uuid(0x28acf509, 0x7f5c, 0x48f6, 0x86, 0x11, 0xf3, 0x16, 0x01, 0x0a, 0x63, 0x80)]
interface ID3D11UnorderedAccessView(ID3D11UnorderedAccessViewVtbl): ID3D11View(ID3D11ViewVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC,
    ) -> (),
}}
RIDL!{#[uuid(0x3b301d64, 0xd678, 0x4289, 0x88, 0x97, 0x22, 0xf8, 0x92, 0x8b, 0x72, 0xf3)]
interface ID3D11VertexShader(ID3D11VertexShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0x8e5c6061, 0x628a, 0x4c8e, 0x82, 0x64, 0xbb, 0xe4, 0x5c, 0xb3, 0xd5, 0xdd)]
interface ID3D11HullShader(ID3D11HullShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0xf582c508, 0x0f36, 0x490c, 0x99, 0x77, 0x31, 0xee, 0xce, 0x26, 0x8c, 0xfa)]
interface ID3D11DomainShader(ID3D11DomainShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0x38325b96, 0xeffb, 0x4022, 0xba, 0x02, 0x2e, 0x79, 0x5b, 0x70, 0x27, 0x5c)]
interface ID3D11GeometryShader(ID3D11GeometryShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0xea82e40d, 0x51dc, 0x4f33, 0x93, 0xd4, 0xdb, 0x7c, 0x91, 0x25, 0xae, 0x8c)]
interface ID3D11PixelShader(ID3D11PixelShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0x4f5b196e, 0xc2bd, 0x495e, 0xbd, 0x01, 0x1f, 0xde, 0xd3, 0x8e, 0x49, 0x69)]
interface ID3D11ComputeShader(ID3D11ComputeShaderVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
RIDL!{#[uuid(0xe4819ddc, 0x4cf0, 0x4025, 0xbd, 0x26, 0x5d, 0xe8, 0x2a, 0x3e, 0x07, 0xb7)]
interface ID3D11InputLayout(ID3D11InputLayoutVtbl):
    ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}}
ENUM!{enum D3D11_FILTER {
    D3D11_FILTER_MIN_MAG_MIP_POINT = 0,
    D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
    D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
    D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
    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,
}}
ENUM!{enum D3D11_FILTER_TYPE {
    D3D11_FILTER_TYPE_POINT = 0,
    D3D11_FILTER_TYPE_LINEAR = 1,
}}
ENUM!{enum D3D11_FILTER_REDUCTION_TYPE {
    D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0,
    D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 1,
    D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 2,
    D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 3,
}}
pub const D3D11_FILTER_REDUCTION_TYPE_MASK: DWORD = 0x3;
pub const D3D11_FILTER_REDUCTION_TYPE_SHIFT: DWORD = 7;
pub const D3D11_FILTER_TYPE_MASK: DWORD = 0x3;
pub const D3D11_MIN_FILTER_SHIFT: DWORD = 4;
pub const D3D11_MAG_FILTER_SHIFT: DWORD = 2;
pub const D3D11_MIP_FILTER_SHIFT: DWORD = 0;
pub const D3D11_COMPARISON_FILTERING_BIT: DWORD = 0x80;
pub const D3D11_ANISOTROPIC_FILTERING_BIT: DWORD = 0x40;
ENUM!{enum D3D11_TEXTURE_ADDRESS_MODE {
    D3D11_TEXTURE_ADDRESS_WRAP = 1,
    D3D11_TEXTURE_ADDRESS_MIRROR = 2,
    D3D11_TEXTURE_ADDRESS_CLAMP = 3,
    D3D11_TEXTURE_ADDRESS_BORDER = 4,
    D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5,
}}
STRUCT!{struct D3D11_SAMPLER_DESC {
    Filter: D3D11_FILTER,
    AddressU: D3D11_TEXTURE_ADDRESS_MODE,
    AddressV: D3D11_TEXTURE_ADDRESS_MODE,
    AddressW: D3D11_TEXTURE_ADDRESS_MODE,
    MipLODBias: FLOAT,
    MaxAnisotropy: UINT,
    ComparisonFunc: D3D11_COMPARISON_FUNC,
    BorderColor: [FLOAT; 4],
    MinLOD: FLOAT,
    MaxLOD: FLOAT,
}}
RIDL!{#[uuid(0xda6fea51, 0x564c, 0x4487, 0x98, 0x10, 0xf0, 0xd0, 0xf9, 0xb4, 0xe3, 0xa5)]
interface ID3D11SamplerState(ID3D11SamplerStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_SAMPLER_DESC,
    ) -> (),
}}
ENUM!{enum D3D11_FORMAT_SUPPORT {
    D3D11_FORMAT_SUPPORT_BUFFER = 0x1,
    D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2,
    D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4,
    D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8,
    D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10,
    D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20,
    D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40,
    D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80,
    D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800,
    D3D11_FORMAT_SUPPORT_MIP = 0x1000,
    D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000,
    D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000,
    D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000,
    D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000,
    D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000,
    D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000,
    D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000,
    D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000,
    D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000,
    D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000,
    D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000,
    D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000,
    D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000,
    D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000,
    D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000,
}}
ENUM!{enum D3D11_FORMAT_SUPPORT2 {
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
    D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
    D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80,
    D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100,
    D3D11_FORMAT_SUPPORT2_TILED = 0x200,
    D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400,
    D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000,
}}
RIDL!{#[uuid(0x4b35d0cd, 0x1e15, 0x4258, 0x9c, 0x98, 0x1b, 0x13, 0x33, 0xf6, 0xdd, 0x3b)]
interface ID3D11Asynchronous(ID3D11AsynchronousVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetDataSize() -> UINT,
}}
ENUM!{enum D3D11_ASYNC_GETDATA_FLAG {
    D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1,
}}
ENUM!{enum D3D11_QUERY {
    D3D11_QUERY_EVENT = 0,
    D3D11_QUERY_OCCLUSION = D3D11_QUERY_EVENT + 1u32,
    D3D11_QUERY_TIMESTAMP = D3D11_QUERY_OCCLUSION + 1u32,
    D3D11_QUERY_TIMESTAMP_DISJOINT = D3D11_QUERY_TIMESTAMP + 1u32,
    D3D11_QUERY_PIPELINE_STATISTICS = D3D11_QUERY_TIMESTAMP_DISJOINT + 1u32,
    D3D11_QUERY_OCCLUSION_PREDICATE = D3D11_QUERY_PIPELINE_STATISTICS + 1u32,
    D3D11_QUERY_SO_STATISTICS = D3D11_QUERY_OCCLUSION_PREDICATE + 1u32,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE = D3D11_QUERY_SO_STATISTICS + 1u32,
    D3D11_QUERY_SO_STATISTICS_STREAM0 = D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1u32,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = D3D11_QUERY_SO_STATISTICS_STREAM0 + 1u32,
    D3D11_QUERY_SO_STATISTICS_STREAM1 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1u32,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = D3D11_QUERY_SO_STATISTICS_STREAM1 + 1u32,
    D3D11_QUERY_SO_STATISTICS_STREAM2 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1u32,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = D3D11_QUERY_SO_STATISTICS_STREAM2 + 1u32,
    D3D11_QUERY_SO_STATISTICS_STREAM3 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1u32,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = D3D11_QUERY_SO_STATISTICS_STREAM3 + 1u32,
}}
ENUM!{enum D3D11_QUERY_MISC_FLAG {
    D3D11_QUERY_MISC_PREDICATEHINT = 0x1,
}}
STRUCT!{struct D3D11_QUERY_DESC {
    Query: D3D11_QUERY,
    MiscFlags: UINT,
}}
RIDL!{#[uuid(0xd6c00747, 0x87b7, 0x425e, 0xb8, 0x4d, 0x44, 0xd1, 0x08, 0x56, 0x0a, 0xfd)]
interface ID3D11Query(ID3D11QueryVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_QUERY_DESC,
    ) -> (),
}}
RIDL!{#[uuid(0x9eb576dd, 0x9f77, 0x4d86, 0x81, 0xaa, 0x8b, 0xab, 0x5f, 0xe4, 0x90, 0xe2)]
interface ID3D11Predicate(ID3D11PredicateVtbl): ID3D11Query(ID3D11QueryVtbl) {}}
STRUCT!{struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT {
    Frequency: UINT64,
    Disjoint: BOOL,
}}
STRUCT!{struct D3D11_QUERY_DATA_PIPELINE_STATISTICS {
    IAVertices: UINT64,
    IAPrimitives: UINT64,
    VSInvocations: UINT64,
    GSInvocations: UINT64,
    GSPrimitives: UINT64,
    CInvocations: UINT64,
    CPrimitives: UINT64,
    PSInvocations: UINT64,
    HSInvocations: UINT64,
    DSInvocations: UINT64,
    CSInvocations: UINT64,
}}
STRUCT!{struct D3D11_QUERY_DATA_SO_STATISTICS {
    NumPrimitivesWritten: UINT64,
    PrimitivesStorageNeeded: UINT64,
}}
ENUM!{enum D3D11_COUNTER {
    D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000,
}}
ENUM!{enum D3D11_COUNTER_TYPE {
    D3D11_COUNTER_TYPE_FLOAT32 = 0,
    D3D11_COUNTER_TYPE_UINT16 = D3D11_COUNTER_TYPE_FLOAT32 + 1u32,
    D3D11_COUNTER_TYPE_UINT32 = D3D11_COUNTER_TYPE_UINT16 + 1u32,
    D3D11_COUNTER_TYPE_UINT64 = D3D11_COUNTER_TYPE_UINT32 + 1u32,
}}
STRUCT!{struct D3D11_COUNTER_DESC {
    Counter: D3D11_COUNTER,
    MiscFlags: UINT,
}}
STRUCT!{struct D3D11_COUNTER_INFO {
    LastDeviceDependentCounter: D3D11_COUNTER,
    NumSimultaneousCounters: UINT,
    NumDetectableParallelUnits: UINT8,
}}
RIDL!{#[uuid(0x6e8c49fb, 0xa371, 0x4770, 0xb4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xb7, 0x41)]
interface ID3D11Counter(ID3D11CounterVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) {
    fn GetDesc(
        pDesc: *mut D3D11_COUNTER_DESC,
    ) -> (),
}}
ENUM!{enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS {
    D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
    D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe,
}}
ENUM!{enum D3D11_DEVICE_CONTEXT_TYPE {
    D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
    D3D11_DEVICE_CONTEXT_DEFERRED = D3D11_DEVICE_CONTEXT_IMMEDIATE + 1u32,
}}
STRUCT!{struct D3D11_CLASS_INSTANCE_DESC {
    InstanceId: UINT,
    InstanceIndex: UINT,
    TypeId: UINT,
    ConstantBuffer: UINT,
    BaseConstantBufferOffset: UINT,
    BaseTexture: UINT,
    BaseSampler: UINT,
    Created: BOOL,
}}
RIDL!{#[uuid(0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94, 0x36, 0x86, 0x62, 0xa6, 0x57, 0x97, 0xcb)]
interface ID3D11ClassInstance(ID3D11ClassInstanceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetClassLinkage(
        ppLinkage: *mut *mut ID3D11ClassLinkage,
    ) -> (),
    fn GetDesc(
        pDesc: *mut D3D11_CLASS_INSTANCE_DESC,
    ) -> (),
    fn GetInstanceName(
        pInstanceName: LPSTR,
        pBufferLength: *mut SIZE_T,
    ) -> (),
    fn GetTypeName(
        pTypeName: LPSTR,
        pBufferLength: *mut SIZE_T,
    ) -> (),
}}
RIDL!{#[uuid(0xddf57cba, 0x9543, 0x46e4, 0xa1, 0x2b, 0xf2, 0x07, 0xa0, 0xfe, 0x7f, 0xed)]
interface ID3D11ClassLinkage(ID3D11ClassLinkageVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetClassInstance(
        GetClassInstance: LPCSTR,
        InstanceIndex: UINT,
        ppInstance: *mut *mut ID3D11ClassInstance,
    ) -> HRESULT,
    fn CreateClassInstance(
        pClassTypeName: LPCSTR,
        ConstantBufferOffset: UINT,
        ConstantVectorOffset: UINT,
        TextureOffset: UINT,
        SamplerOffset: UINT,
        ppInstance: *mut *mut ID3D11ClassInstance,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xa24bc4d1, 0x769e, 0x43f7, 0x80, 0x13, 0x98, 0xff, 0x56, 0x6c, 0x18, 0xe2)]
interface ID3D11CommandList(ID3D11CommandListVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn GetContextFlags() -> UINT,
}}
ENUM!{enum D3D11_FEATURE {
    D3D11_FEATURE_THREADING = 0,
    D3D11_FEATURE_DOUBLES = D3D11_FEATURE_THREADING + 1u32,
    D3D11_FEATURE_FORMAT_SUPPORT = D3D11_FEATURE_DOUBLES + 1u32,
    D3D11_FEATURE_FORMAT_SUPPORT2 = D3D11_FEATURE_FORMAT_SUPPORT + 1u32,
    D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = D3D11_FEATURE_FORMAT_SUPPORT2 + 1u32,
    D3D11_FEATURE_D3D11_OPTIONS = D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS + 1u32,
    D3D11_FEATURE_ARCHITECTURE_INFO = D3D11_FEATURE_D3D11_OPTIONS + 1u32,
    D3D11_FEATURE_D3D9_OPTIONS = D3D11_FEATURE_ARCHITECTURE_INFO + 1u32,
    D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = D3D11_FEATURE_D3D9_OPTIONS + 1u32,
    D3D11_FEATURE_D3D9_SHADOW_SUPPORT = D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT + 1u32,
    D3D11_FEATURE_D3D11_OPTIONS1 = D3D11_FEATURE_D3D9_SHADOW_SUPPORT + 1u32,
    D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS1 + 1u32,
    D3D11_FEATURE_MARKER_SUPPORT = D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT + 1u32,
    D3D11_FEATURE_D3D9_OPTIONS1 = D3D11_FEATURE_MARKER_SUPPORT + 1u32,
    D3D11_FEATURE_D3D11_OPTIONS2 = D3D11_FEATURE_D3D9_OPTIONS1 + 1u32,
    D3D11_FEATURE_D3D11_OPTIONS3 = D3D11_FEATURE_D3D11_OPTIONS2 + 1u32,
    D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS3 + 1u32,
}}
STRUCT!{struct D3D11_FEATURE_DATA_THREADING {
    DriverConcurrentCreates: BOOL,
    DriverCommandLists: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_DOUBLES {
    DoublePrecisionFloatShaderOps: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT {
    InFormat: DXGI_FORMAT,
    OutFormatSupport: UINT,
}}
STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 {
    InFormat: DXGI_FORMAT,
    OutFormatSupport2: UINT,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS {
    ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
    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: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO {
    TileBasedDeferredRenderer: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS {
    FullNonPow2TextureSupport: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT {
    SupportsDepthAsTextureWithLessEqualComparisonFilter: BOOL,
}}
ENUM!{enum D3D11_SHADER_MIN_PRECISION_SUPPORT {
    D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1,
    D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2,
}}
STRUCT!{struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT {
    PixelShaderMinPrecision: UINT,
    AllOtherShaderStagesMinPrecision: UINT,
}}
ENUM!{enum D3D11_TILED_RESOURCES_TIER {
    D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0,
    D3D11_TILED_RESOURCES_TIER_1 = 1,
    D3D11_TILED_RESOURCES_TIER_2 = 2,
    D3D11_TILED_RESOURCES_TIER_3 = 3,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 {
    TiledResourcesTier: D3D11_TILED_RESOURCES_TIER,
    MinMaxFiltering: BOOL,
    ClearViewAlsoSupportsDepthOnlyFormats: BOOL,
    MapOnDefaultBuffers: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT {
    SimpleInstancingSupported: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_MARKER_SUPPORT {
    Profile: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 {
    FullNonPow2TextureSupported: BOOL,
    DepthAsTextureWithLessEqualComparisonFilterSupported: BOOL,
    SimpleInstancingSupported: BOOL,
    TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported: BOOL,
}}
ENUM!{enum D3D11_CONSERVATIVE_RASTERIZATION_TIER {
    D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0,
    D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 1,
    D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 2,
    D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 3,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 {
    PSSpecifiedStencilRefSupported: BOOL,
    TypedUAVLoadAdditionalFormats: BOOL,
    ROVsSupported: BOOL,
    ConservativeRasterizationTier: D3D11_CONSERVATIVE_RASTERIZATION_TIER,
    TiledResourcesTier: D3D11_TILED_RESOURCES_TIER,
    MapOnDefaultTextures: BOOL,
    StandardSwizzle: BOOL,
    UnifiedMemoryArchitecture: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 {
    VPAndRTArrayIndexFromAnyShaderFeedingRasterizer: BOOL,
}}
STRUCT!{struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
    MaxGPUVirtualAddressBitsPerResource: UINT,
    MaxGPUVirtualAddressBitsPerProcess: UINT,
}}
RIDL!{#[uuid(0xc0bfa96c, 0xe089, 0x44fb, 0x8e, 0xaf, 0x26, 0xf8, 0x79, 0x61, 0x90, 0xda)]
interface ID3D11DeviceContext(ID3D11DeviceContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) {
    fn VSSetConstantBuffers(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
    ) -> (),
    fn PSSetShaderResources(
        StartSlot: UINT,
        NumViews: UINT,
        ppShaderResourceViews: *const *mut ID3D11ShaderResourceView,
    ) -> (),
    fn PSSetShader(
        pPixelShader: *mut ID3D11PixelShader,
        ppClassInstances: *const *mut ID3D11ClassInstance,
        NumClassInstances: UINT,
    ) -> (),
    fn PSSetSamplers(
        StartSlot: UINT,
        NumSamplers: UINT,
        ppSamplers: *const *mut ID3D11SamplerState,
    ) -> (),
    fn VSSetShader(
        pVertexShader: *mut ID3D11VertexShader,
        ppClassInstances: *const *mut ID3D11ClassInstance,
        NumClassInstances: UINT,
    ) -> (),
    fn DrawIndexed(
        IndexCount: UINT,
        StartIndexLocation: UINT,
        BaseVertexLocation: INT,
    ) -> (),
    fn Draw(
        VertexCount: UINT,
        StartVertexLocation: UINT,
    ) -> (),
    fn Map(
        pResource: *mut ID3D11Resource,
        Subresource: UINT,
        MapType: D3D11_MAP,
        MapFlags: UINT,
        pMappedResource: *mut D3D11_MAPPED_SUBRESOURCE,
    ) -> HRESULT,
    fn Unmap(
        pResource: *mut ID3D11Resource,
        Subresource: UINT,
    ) -> (),
    fn PSSetConstantBuffers(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
    ) -> (),
    fn IASetInputLayout(
        pInputLayout: *mut ID3D11InputLayout,
    ) -> (),
    fn IASetVertexBuffers(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppVertexBuffers: *const *mut ID3D11Buffer,
        pStrides: *const UINT,
        pOffsets: *const UINT,
    ) -> (),
    fn IASetIndexBuffer(
        pIndexBuffer: *mut ID3D11Buffer,
        Format: DXGI_FORMAT,
        Offset: UINT,
    ) -> (),
    fn DrawIndexedInstanced(
        IndexCountPerInstance: UINT,
        InstanceCount: UINT,
        StartIndexLocation: UINT,
        BaseVertexLocation: INT,
        StartInstanceLocation: UINT,
    ) -> (),
    fn DrawInstanced(
        VertexCountPerInstance: UINT,
        InstanceCount: UINT,
        StartVertexLocation: UINT,
        StartInstanceLocation: UINT,
    ) -> (),
    fn GSSetConstantBuffers(
        StartSlot: UINT,
        NumBuffers: UINT,
        ppConstantBuffers: *const *mut ID3D11Buffer,
    ) -> (),
    fn GSSetShader(
        pShader: *mut ID3D11GeometryShader,
        ppClassInstances: *const *mut ID3D11ClassInstance,
        NumClassInstances: UINT,
    ) -> (),
    fn IASetPrimitiveTopology(
        Topology: D3D11_PRIMITIVE_TOPOLOGY,
    ) -> (),
    fn VSSetShaderResources(
        StartSlot: UINT,
        NumViews: UINT,
--> --------------------

--> maximum size reached

--> --------------------

[ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge