1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use ctypes::{c_float, c_int, c_long, c_void}; 7 use shared::basetsd::{SIZE_T, UINT64, UINT8}; 8 use shared::dxgi::{DXGI_SWAP_CHAIN_DESC, IDXGIAdapter, IDXGISwapChain}; 9 use shared::dxgiformat::DXGI_FORMAT; 10 use shared::dxgitype::{DXGI_RATIONAL, DXGI_SAMPLE_DESC}; 11 use shared::guiddef::{GUID, REFGUID, REFIID}; 12 use shared::minwindef::{BOOL, BYTE, DWORD, FLOAT, HMODULE, INT, UINT, USHORT}; 13 use shared::windef::{RECT, SIZE}; 14 use um::d3dcommon::{ 15 D3D_DRIVER_TYPE, D3D_FEATURE_LEVEL, D3D_PRIMITIVE, D3D_PRIMITIVE_TOPOLOGY, D3D_SRV_DIMENSION, 16 }; 17 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 18 use um::winnt::{HANDLE, HRESULT, LPCSTR, LPSTR, ULONGLONG}; 19 pub const D3D11_16BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffff; 20 pub const D3D11_32BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffffffff; 21 pub const D3D11_8BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xff; 22 pub const D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: DWORD = 9; 23 pub const D3D11_CLIP_OR_CULL_DISTANCE_COUNT: DWORD = 8; 24 pub const D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: DWORD = 2; 25 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: DWORD = 14; 26 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: DWORD = 4; 27 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: DWORD = 32; 28 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: DWORD = 15; 29 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: DWORD = 16; 30 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; 31 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 15; 32 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; 33 pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; 34 pub const D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: DWORD = 64; 35 pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; 36 pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 1; 37 pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; 38 pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; 39 pub const D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: DWORD = 32; 40 pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; 41 pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: DWORD = 128; 42 pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: DWORD = 1; 43 pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; 44 pub const D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: DWORD = 128; 45 pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: DWORD = 1; 46 pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT: DWORD = 16; 47 pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: DWORD = 1; 48 pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: DWORD = 1; 49 pub const D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT: DWORD = 16; 50 pub const D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: DWORD = 32; 51 pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS: DWORD = 4; 52 pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 53 pub const D3D11_COMMONSHADER_TEMP_REGISTER_COUNT: DWORD = 4096; 54 pub const D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: DWORD = 3; 55 pub const D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS: DWORD = 3; 56 pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: DWORD = 10; 57 pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: c_long = -10; 58 pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: c_long = -8; 59 pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: DWORD = 7; 60 pub const D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 256; 61 pub const D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: DWORD = 64; 62 pub const D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 240; 63 pub const D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: DWORD = 68; 64 pub const D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 224; 65 pub const D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: DWORD = 72; 66 pub const D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 208; 67 pub const D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: DWORD = 76; 68 pub const D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 192; 69 pub const D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: DWORD = 84; 70 pub const D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 176; 71 pub const D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: DWORD = 92; 72 pub const D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 160; 73 pub const D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: DWORD = 100; 74 pub const D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 144; 75 pub const D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: DWORD = 112; 76 pub const D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 128; 77 pub const D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: DWORD = 128; 78 pub const D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 112; 79 pub const D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: DWORD = 144; 80 pub const D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 96; 81 pub const D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: DWORD = 168; 82 pub const D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 80; 83 pub const D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: DWORD = 204; 84 pub const D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 64; 85 pub const D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: DWORD = 256; 86 pub const D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 48; 87 pub const D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: DWORD = 340; 88 pub const D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 32; 89 pub const D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: DWORD = 512; 90 pub const D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 16; 91 pub const D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: DWORD = 768; 92 pub const D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: DWORD = 1; 93 pub const D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: DWORD = 256; 94 pub const D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 768; 95 pub const D3D11_CS_4_X_THREAD_GROUP_MAX_X: DWORD = 768; 96 pub const D3D11_CS_4_X_THREAD_GROUP_MAX_Y: DWORD = 768; 97 pub const D3D11_CS_4_X_UAV_REGISTER_COUNT: DWORD = 1; 98 pub const D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: DWORD = 65535; 99 pub const D3D11_CS_TGSM_REGISTER_COUNT: DWORD = 8192; 100 pub const D3D11_CS_TGSM_REGISTER_READS_PER_INST: DWORD = 1; 101 pub const D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; 102 pub const D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; 103 pub const D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS: DWORD = 3; 104 pub const D3D11_CS_THREADGROUPID_REGISTER_COUNT: DWORD = 1; 105 pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: DWORD = 1; 106 pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: DWORD = 1; 107 pub const D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS: DWORD = 3; 108 pub const D3D11_CS_THREADIDINGROUP_REGISTER_COUNT: DWORD = 1; 109 pub const D3D11_CS_THREADID_REGISTER_COMPONENTS: DWORD = 3; 110 pub const D3D11_CS_THREADID_REGISTER_COUNT: DWORD = 1; 111 pub const D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 1024; 112 pub const D3D11_CS_THREAD_GROUP_MAX_X: DWORD = 1024; 113 pub const D3D11_CS_THREAD_GROUP_MAX_Y: DWORD = 1024; 114 pub const D3D11_CS_THREAD_GROUP_MAX_Z: DWORD = 64; 115 pub const D3D11_CS_THREAD_GROUP_MIN_X: DWORD = 1; 116 pub const D3D11_CS_THREAD_GROUP_MIN_Y: DWORD = 1; 117 pub const D3D11_CS_THREAD_GROUP_MIN_Z: DWORD = 1; 118 pub const D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: DWORD = 16384; 119 pub const D3D11_DEFAULT_BLEND_FACTOR_ALPHA: FLOAT = 1.0; 120 pub const D3D11_DEFAULT_BLEND_FACTOR_BLUE: FLOAT = 1.0; 121 pub const D3D11_DEFAULT_BLEND_FACTOR_GREEN: FLOAT = 1.0; 122 pub const D3D11_DEFAULT_BLEND_FACTOR_RED: FLOAT = 1.0; 123 pub const D3D11_DEFAULT_BORDER_COLOR_COMPONENT: FLOAT = 0.0; 124 pub const D3D11_DEFAULT_DEPTH_BIAS: DWORD = 0; 125 pub const D3D11_DEFAULT_DEPTH_BIAS_CLAMP: FLOAT = 0.0; 126 pub const D3D11_DEFAULT_MAX_ANISOTROPY: DWORD = 16; 127 pub const D3D11_DEFAULT_MIP_LOD_BIAS: FLOAT = 0.0; 128 pub const D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX: DWORD = 0; 129 pub const D3D11_DEFAULT_SAMPLE_MASK: DWORD = 0xffffffff; 130 pub const D3D11_DEFAULT_SCISSOR_ENDX: DWORD = 0; 131 pub const D3D11_DEFAULT_SCISSOR_ENDY: DWORD = 0; 132 pub const D3D11_DEFAULT_SCISSOR_STARTX: DWORD = 0; 133 pub const D3D11_DEFAULT_SCISSOR_STARTY: DWORD = 0; 134 pub const D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: FLOAT = 0.0; 135 pub const D3D11_DEFAULT_STENCIL_READ_MASK: DWORD = 0xff; 136 pub const D3D11_DEFAULT_STENCIL_REFERENCE: DWORD = 0; 137 pub const D3D11_DEFAULT_STENCIL_WRITE_MASK: DWORD = 0xff; 138 pub const D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: DWORD = 0; 139 pub const D3D11_DEFAULT_VIEWPORT_HEIGHT: DWORD = 0; 140 pub const D3D11_DEFAULT_VIEWPORT_MAX_DEPTH: FLOAT = 0.0; 141 pub const D3D11_DEFAULT_VIEWPORT_MIN_DEPTH: FLOAT = 0.0; 142 pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTX: DWORD = 0; 143 pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTY: DWORD = 0; 144 pub const D3D11_DEFAULT_VIEWPORT_WIDTH: DWORD = 0; 145 pub const D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; 146 pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; 147 pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 148 pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: DWORD = 32; 149 pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; 150 pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; 151 pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: DWORD = 3; 152 pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 153 pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: DWORD = 1; 154 pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: DWORD = 2; 155 pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: DWORD = 1; 156 pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; 157 pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 158 pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; 159 pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; 160 pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; 161 pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; 162 pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 163 pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; 164 pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; 165 pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; 166 pub const D3D11_DS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; 167 pub const D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 168 pub const D3D11_DS_OUTPUT_REGISTER_COUNT: DWORD = 32; 169 pub const D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP: FLOAT = 0.6; 170 pub const D3D11_FLOAT32_MAX: FLOAT = 3.402823466E+38; 171 pub const D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: FLOAT = 0.6; 172 pub const D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: FLOAT = 2.4; 173 pub const D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: FLOAT = 1.0; 174 pub const D3D11_FLOAT_TO_SRGB_OFFSET: FLOAT = 0.055; 175 pub const D3D11_FLOAT_TO_SRGB_SCALE_1: FLOAT = 12.92; 176 pub const D3D11_FLOAT_TO_SRGB_SCALE_2: FLOAT = 1.055; 177 pub const D3D11_FLOAT_TO_SRGB_THRESHOLD: FLOAT = 0.0031308; 178 pub const D3D11_FTOI_INSTRUCTION_MAX_INPUT: FLOAT = 2147483647.999; 179 pub const D3D11_FTOI_INSTRUCTION_MIN_INPUT: FLOAT = -2147483648.999; 180 pub const D3D11_FTOU_INSTRUCTION_MAX_INPUT: FLOAT = 4294967295.999; 181 pub const D3D11_FTOU_INSTRUCTION_MIN_INPUT: FLOAT = 0.0; 182 pub const D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST: DWORD = 2; 183 pub const D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS: DWORD = 1; 184 pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; 185 pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 186 pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; 187 pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: DWORD = 1; 188 pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 189 pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT: DWORD = 1; 190 pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: DWORD = 2; 191 pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: DWORD = 1; 192 pub const D3D11_GS_INPUT_REGISTER_COMPONENTS: DWORD = 4; 193 pub const D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 194 pub const D3D11_GS_INPUT_REGISTER_COUNT: DWORD = 32; 195 pub const D3D11_GS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; 196 pub const D3D11_GS_INPUT_REGISTER_READ_PORTS: DWORD = 1; 197 pub const D3D11_GS_INPUT_REGISTER_VERTICES: DWORD = 32; 198 pub const D3D11_GS_MAX_INSTANCE_COUNT: DWORD = 32; 199 pub const D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: DWORD = 1024; 200 pub const D3D11_GS_OUTPUT_ELEMENTS: DWORD = 32; 201 pub const D3D11_GS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; 202 pub const D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 203 pub const D3D11_GS_OUTPUT_REGISTER_COUNT: DWORD = 32; 204 pub const D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: DWORD = 32; 205 pub const D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: DWORD = 32; 206 pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; 207 pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 208 pub const D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; 209 pub const D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; 210 pub const D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; 211 pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; 212 pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 213 pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; 214 pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; 215 pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; 216 pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; 217 pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 218 pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; 219 pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; 220 pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; 221 pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; 222 pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 223 pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; 224 pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; 225 pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; 226 pub const D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; 227 pub const D3D11_HS_MAXTESSFACTOR_LOWER_BOUND: FLOAT = 1.0; 228 pub const D3D11_HS_MAXTESSFACTOR_UPPER_BOUND: FLOAT = 64.0; 229 pub const D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; 230 pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: DWORD = 1; 231 pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 232 pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: DWORD = 1; 233 pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: DWORD = 2; 234 pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: DWORD = 1; 235 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; 236 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 237 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; 238 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; 239 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; 240 pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: DWORD = 128; 241 pub const D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; 242 pub const D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY: DWORD = 0; 243 pub const D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; 244 pub const D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 1; 245 pub const D3D11_IA_INSTANCE_ID_BIT_COUNT: DWORD = 32; 246 pub const D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT: DWORD = 32; 247 pub const D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT: DWORD = 32; 248 pub const D3D11_IA_PRIMITIVE_ID_BIT_COUNT: DWORD = 32; 249 pub const D3D11_IA_VERTEX_ID_BIT_COUNT: DWORD = 32; 250 pub const D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 32; 251 pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: DWORD = 128; 252 pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: DWORD = 32; 253 pub const D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: DWORD = 0xffffffff; 254 pub const D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER: DWORD = 0xffffffff; 255 pub const D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: DWORD = 0xffffffff; 256 pub const D3D11_KEEP_UNORDERED_ACCESS_VIEWS: DWORD = 0xffffffff; 257 pub const D3D11_LINEAR_GAMMA: FLOAT = 1.0; 258 pub const D3D11_MAJOR_VERSION: DWORD = 11; 259 pub const D3D11_MAX_BORDER_COLOR_COMPONENT: FLOAT = 1.0; 260 pub const D3D11_MAX_DEPTH: FLOAT = 1.0; 261 pub const D3D11_MAX_MAXANISOTROPY: DWORD = 16; 262 pub const D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT: DWORD = 32; 263 pub const D3D11_MAX_POSITION_VALUE: FLOAT = 3.402823466E+34; 264 pub const D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP: DWORD = 17; 265 pub const D3D11_MINOR_VERSION: DWORD = 0; 266 pub const D3D11_MIN_BORDER_COLOR_COMPONENT: FLOAT = 0.0; 267 pub const D3D11_MIN_DEPTH: FLOAT = 0.0; 268 pub const D3D11_MIN_MAXANISOTROPY: DWORD = 0; 269 pub const D3D11_MIP_LOD_BIAS_MAX: FLOAT = 15.99; 270 pub const D3D11_MIP_LOD_BIAS_MIN: FLOAT = -16.0; 271 pub const D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT: DWORD = 8; 272 pub const D3D11_MIP_LOD_RANGE_BIT_COUNT: DWORD = 8; 273 pub const D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: FLOAT = 1.4; 274 pub const D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: DWORD = 0; 275 pub const D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 15; 276 pub const D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; 277 pub const D3D11_PS_CS_UAV_REGISTER_COMPONENTS: DWORD = 1; 278 pub const D3D11_PS_CS_UAV_REGISTER_COUNT: DWORD = 8; 279 pub const D3D11_PS_CS_UAV_REGISTER_READS_PER_INST: DWORD = 1; 280 pub const D3D11_PS_CS_UAV_REGISTER_READ_PORTS: DWORD = 1; 281 pub const D3D11_PS_FRONTFACING_DEFAULT_VALUE: DWORD = 0xffffffff; 282 pub const D3D11_PS_FRONTFACING_FALSE_VALUE: DWORD = 0; 283 pub const D3D11_PS_FRONTFACING_TRUE_VALUE: DWORD = 0xffffffff; 284 pub const D3D11_PS_INPUT_REGISTER_COMPONENTS: DWORD = 4; 285 pub const D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 286 pub const D3D11_PS_INPUT_REGISTER_COUNT: DWORD = 32; 287 pub const D3D11_PS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; 288 pub const D3D11_PS_INPUT_REGISTER_READ_PORTS: DWORD = 1; 289 pub const D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.0; 290 pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: DWORD = 1; 291 pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 292 pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT: DWORD = 1; 293 pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS: DWORD = 1; 294 pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 295 pub const D3D11_PS_OUTPUT_MASK_REGISTER_COUNT: DWORD = 1; 296 pub const D3D11_PS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; 297 pub const D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 298 pub const D3D11_PS_OUTPUT_REGISTER_COUNT: DWORD = 8; 299 pub const D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.5; 300 pub const D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT: DWORD = 16; 301 pub const D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; 302 pub const D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: DWORD = 27; 303 pub const D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; 304 pub const D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; 305 pub const D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 32; 306 pub const D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 32; 307 pub const D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: DWORD = 16384; 308 pub const D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: DWORD = 1024; 309 pub const D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; 310 pub const D3D11_REQ_MAXANISOTROPY: DWORD = 16; 311 pub const D3D11_REQ_MIP_LEVELS: DWORD = 15; 312 pub const D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: DWORD = 2048; 313 pub const D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; 314 pub const D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: DWORD = 16384; 315 pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: DWORD = 128; 316 pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: FLOAT = 0.25; 317 pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: DWORD = 2048; 318 pub const D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: DWORD = 20; 319 pub const D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; 320 pub const D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: DWORD = 2048; 321 pub const D3D11_REQ_TEXTURE1D_U_DIMENSION: DWORD = 16384; 322 pub const D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: DWORD = 2048; 323 pub const D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION: DWORD = 16384; 324 pub const D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: DWORD = 2048; 325 pub const D3D11_REQ_TEXTURECUBE_DIMENSION: DWORD = 16384; 326 pub const D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: DWORD = 0; 327 pub const D3D11_SHADER_MAJOR_VERSION: DWORD = 5; 328 pub const D3D11_SHADER_MAX_INSTANCES: DWORD = 65535; 329 pub const D3D11_SHADER_MAX_INTERFACES: DWORD = 253; 330 pub const D3D11_SHADER_MAX_INTERFACE_CALL_SITES: DWORD = 4096; 331 pub const D3D11_SHADER_MAX_TYPES: DWORD = 65535; 332 pub const D3D11_SHADER_MINOR_VERSION: DWORD = 0; 333 pub const D3D11_SHIFT_INSTRUCTION_PAD_VALUE: DWORD = 0; 334 pub const D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: DWORD = 5; 335 pub const D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT: DWORD = 8; 336 pub const D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES: DWORD = 2048; 337 pub const D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: DWORD = 512; 338 pub const D3D11_SO_BUFFER_SLOT_COUNT: DWORD = 4; 339 pub const D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP: DWORD = 0xffffffff; 340 pub const D3D11_SO_NO_RASTERIZED_STREAM: DWORD = 0xffffffff; 341 pub const D3D11_SO_OUTPUT_COMPONENT_COUNT: DWORD = 128; 342 pub const D3D11_SO_STREAM_COUNT: DWORD = 4; 343 pub const D3D11_SPEC_DATE_DAY: DWORD = 16; 344 pub const D3D11_SPEC_DATE_MONTH: DWORD = 0o5; 345 pub const D3D11_SPEC_DATE_YEAR: DWORD = 2011; 346 pub const D3D11_SPEC_VERSION: FLOAT = 1.07; 347 pub const D3D11_SRGB_GAMMA: FLOAT = 2.2; 348 pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_1: FLOAT = 12.92; 349 pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_2: FLOAT = 1.055; 350 pub const D3D11_SRGB_TO_FLOAT_EXPONENT: FLOAT = 2.4; 351 pub const D3D11_SRGB_TO_FLOAT_OFFSET: FLOAT = 0.055; 352 pub const D3D11_SRGB_TO_FLOAT_THRESHOLD: FLOAT = 0.04045; 353 pub const D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: FLOAT = 0.5; 354 pub const D3D11_STANDARD_COMPONENT_BIT_COUNT: DWORD = 32; 355 pub const D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: DWORD = 64; 356 pub const D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: DWORD = 4; 357 pub const D3D11_STANDARD_PIXEL_COMPONENT_COUNT: DWORD = 128; 358 pub const D3D11_STANDARD_PIXEL_ELEMENT_COUNT: DWORD = 32; 359 pub const D3D11_STANDARD_VECTOR_SIZE: DWORD = 4; 360 pub const D3D11_STANDARD_VERTEX_ELEMENT_COUNT: DWORD = 32; 361 pub const D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: DWORD = 64; 362 pub const D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; 363 pub const D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; 364 pub const D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: DWORD = 64; 365 pub const D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 64; 366 pub const D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: DWORD = 63; 367 pub const D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR: DWORD = 64; 368 pub const D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: DWORD = 2; 369 pub const D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 1; 370 pub const D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: DWORD = 1; 371 pub const D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; 372 pub const D3D11_UNBOUND_MEMORY_ACCESS_RESULT: DWORD = 0; 373 pub const D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: DWORD = 15; 374 pub const D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: DWORD = 16; 375 pub const D3D11_VIEWPORT_BOUNDS_MAX: DWORD = 32767; 376 pub const D3D11_VIEWPORT_BOUNDS_MIN: c_long = -32768; 377 pub const D3D11_VS_INPUT_REGISTER_COMPONENTS: DWORD = 4; 378 pub const D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 379 pub const D3D11_VS_INPUT_REGISTER_COUNT: DWORD = 32; 380 pub const D3D11_VS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; 381 pub const D3D11_VS_INPUT_REGISTER_READ_PORTS: DWORD = 1; 382 pub const D3D11_VS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; 383 pub const D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; 384 pub const D3D11_VS_OUTPUT_REGISTER_COUNT: DWORD = 32; 385 pub const D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: DWORD = 10; 386 pub const D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 25; 387 pub const D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 25; 388 pub const D3D11_1_UAV_SLOT_COUNT: DWORD = 64; 389 pub const D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES: DWORD = 65536; 390 ENUM!{enum D3D11_INPUT_CLASSIFICATION { 391 D3D11_INPUT_PER_VERTEX_DATA = 0, 392 D3D11_INPUT_PER_INSTANCE_DATA = 1, 393 }} 394 pub const D3D11_APPEND_ALIGNED_ELEMENT: DWORD = 0xffffffff; 395 STRUCT!{struct D3D11_INPUT_ELEMENT_DESC { 396 SemanticName: LPCSTR, 397 SemanticIndex: UINT, 398 Format: DXGI_FORMAT, 399 InputSlot: UINT, 400 AlignedByteOffset: UINT, 401 InputSlotClass: D3D11_INPUT_CLASSIFICATION, 402 InstanceDataStepRate: UINT, 403 }} 404 ENUM!{enum D3D11_FILL_MODE { 405 D3D11_FILL_WIREFRAME = 2, 406 D3D11_FILL_SOLID = 3, 407 }} 408 pub type D3D11_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY; 409 pub type D3D11_PRIMITIVE = D3D_PRIMITIVE; 410 ENUM!{enum D3D11_CULL_MODE { 411 D3D11_CULL_NONE = 1, 412 D3D11_CULL_FRONT = 2, 413 D3D11_CULL_BACK = 3, 414 }} 415 STRUCT!{struct D3D11_SO_DECLARATION_ENTRY { 416 Stream: UINT, 417 SemanticName: LPCSTR, 418 SemanticIndex: UINT, 419 StartComponent: BYTE, 420 ComponentCount: BYTE, 421 OutputSlot: BYTE, 422 }} 423 STRUCT!{struct D3D11_VIEWPORT { 424 TopLeftX: FLOAT, 425 TopLeftY: FLOAT, 426 Width: FLOAT, 427 Height: FLOAT, 428 MinDepth: FLOAT, 429 MaxDepth: FLOAT, 430 }} 431 STRUCT!{struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS { 432 VertexCountPerInstance: UINT, 433 InstanceCount: UINT, 434 StartVertexLocation: UINT, 435 StartInstanceLocation: UINT, 436 }} 437 STRUCT!{struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS { 438 IndexCountPerInstance: UINT, 439 InstanceCount: UINT, 440 StartIndexLocation: UINT, 441 BaseVertexLocation: INT, 442 StartInstanceLocation: UINT, 443 }} 444 ENUM!{enum D3D11_RESOURCE_DIMENSION { 445 D3D11_RESOURCE_DIMENSION_UNKNOWN = 0, 446 D3D11_RESOURCE_DIMENSION_BUFFER = 1, 447 D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2, 448 D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3, 449 D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4, 450 }} 451 pub type D3D11_SRV_DIMENSION = D3D_SRV_DIMENSION; 452 ENUM!{enum D3D11_DSV_DIMENSION { 453 D3D11_DSV_DIMENSION_UNKNOWN = 0, 454 D3D11_DSV_DIMENSION_TEXTURE1D = 1, 455 D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2, 456 D3D11_DSV_DIMENSION_TEXTURE2D = 3, 457 D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4, 458 D3D11_DSV_DIMENSION_TEXTURE2DMS = 5, 459 D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, 460 }} 461 ENUM!{enum D3D11_RTV_DIMENSION { 462 D3D11_RTV_DIMENSION_UNKNOWN = 0, 463 D3D11_RTV_DIMENSION_BUFFER = 1, 464 D3D11_RTV_DIMENSION_TEXTURE1D = 2, 465 D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3, 466 D3D11_RTV_DIMENSION_TEXTURE2D = 4, 467 D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5, 468 D3D11_RTV_DIMENSION_TEXTURE2DMS = 6, 469 D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, 470 D3D11_RTV_DIMENSION_TEXTURE3D = 8, 471 }} 472 ENUM!{enum D3D11_UAV_DIMENSION { 473 D3D11_UAV_DIMENSION_UNKNOWN = 0, 474 D3D11_UAV_DIMENSION_BUFFER = 1, 475 D3D11_UAV_DIMENSION_TEXTURE1D = 2, 476 D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3, 477 D3D11_UAV_DIMENSION_TEXTURE2D = 4, 478 D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5, 479 D3D11_UAV_DIMENSION_TEXTURE3D = 8, 480 }} 481 ENUM!{enum D3D11_USAGE { 482 D3D11_USAGE_DEFAULT = 0, 483 D3D11_USAGE_IMMUTABLE = 1, 484 D3D11_USAGE_DYNAMIC = 2, 485 D3D11_USAGE_STAGING = 3, 486 }} 487 ENUM!{enum D3D11_BIND_FLAG { 488 D3D11_BIND_VERTEX_BUFFER = 0x1, 489 D3D11_BIND_INDEX_BUFFER = 0x2, 490 D3D11_BIND_CONSTANT_BUFFER = 0x4, 491 D3D11_BIND_SHADER_RESOURCE = 0x8, 492 D3D11_BIND_STREAM_OUTPUT = 0x10, 493 D3D11_BIND_RENDER_TARGET = 0x20, 494 D3D11_BIND_DEPTH_STENCIL = 0x40, 495 D3D11_BIND_UNORDERED_ACCESS = 0x80, 496 D3D11_BIND_DECODER = 0x200, 497 D3D11_BIND_VIDEO_ENCODER = 0x400, 498 }} 499 ENUM!{enum D3D11_CPU_ACCESS_FLAG { 500 D3D11_CPU_ACCESS_WRITE = 0x10000, 501 D3D11_CPU_ACCESS_READ = 0x20000, 502 }} 503 ENUM!{enum D3D11_RESOURCE_MISC_FLAG { 504 D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1, 505 D3D11_RESOURCE_MISC_SHARED = 0x2, 506 D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4, 507 D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10, 508 D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20, 509 D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40, 510 D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80, 511 D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100, 512 D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200, 513 D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800, 514 D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000, 515 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000, 516 D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000, 517 D3D11_RESOURCE_MISC_GUARDED = 0x8000, 518 D3D11_RESOURCE_MISC_TILE_POOL = 0x20000, 519 D3D11_RESOURCE_MISC_TILED = 0x40000, 520 D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000, 521 }} 522 ENUM!{enum D3D11_MAP { 523 D3D11_MAP_READ = 1, 524 D3D11_MAP_WRITE = 2, 525 D3D11_MAP_READ_WRITE = 3, 526 D3D11_MAP_WRITE_DISCARD = 4, 527 D3D11_MAP_WRITE_NO_OVERWRITE = 5, 528 }} 529 ENUM!{enum D3D11_MAP_FLAG { 530 D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000, 531 }} 532 ENUM!{enum D3D11_RAISE_FLAG { 533 D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1, 534 }} 535 ENUM!{enum D3D11_CLEAR_FLAG { 536 D3D11_CLEAR_DEPTH = 0x1, 537 D3D11_CLEAR_STENCIL = 0x2, 538 }} 539 pub type D3D11_RECT = RECT; 540 STRUCT!{struct D3D11_BOX { 541 left: UINT, 542 top: UINT, 543 front: UINT, 544 right: UINT, 545 bottom: UINT, 546 back: UINT, 547 }} 548 RIDL!{#[uuid(0x1841e5c8, 0x16b0, 0x489b, 0xbc, 0xc8, 0x44, 0xcf, 0xb0, 0xd5, 0xde, 0xae)] 549 interface ID3D11DeviceChild(ID3D11DeviceChildVtbl): IUnknown(IUnknownVtbl) { 550 fn GetDevice( 551 ppDevice: *mut *mut ID3D11Device, 552 ) -> (), 553 fn GetPrivateData( 554 guid: REFGUID, 555 pDataSize: *mut UINT, 556 pData: *mut c_void, 557 ) -> HRESULT, 558 fn SetPrivateData( 559 guid: REFGUID, 560 DataSize: UINT, 561 pData: *const c_void, 562 ) -> HRESULT, 563 fn SetPrivateDataInterface( 564 guid: REFGUID, 565 pData: *const IUnknown, 566 ) -> HRESULT, 567 }} 568 ENUM!{enum D3D11_COMPARISON_FUNC { 569 D3D11_COMPARISON_NEVER = 1, 570 D3D11_COMPARISON_LESS = 2, 571 D3D11_COMPARISON_EQUAL = 3, 572 D3D11_COMPARISON_LESS_EQUAL = 4, 573 D3D11_COMPARISON_GREATER = 5, 574 D3D11_COMPARISON_NOT_EQUAL = 6, 575 D3D11_COMPARISON_GREATER_EQUAL = 7, 576 D3D11_COMPARISON_ALWAYS = 8, 577 }} 578 ENUM!{enum D3D11_DEPTH_WRITE_MASK { 579 D3D11_DEPTH_WRITE_MASK_ZERO = 0, 580 D3D11_DEPTH_WRITE_MASK_ALL = 1, 581 }} 582 ENUM!{enum D3D11_STENCIL_OP { 583 D3D11_STENCIL_OP_KEEP = 1, 584 D3D11_STENCIL_OP_ZERO = 2, 585 D3D11_STENCIL_OP_REPLACE = 3, 586 D3D11_STENCIL_OP_INCR_SAT = 4, 587 D3D11_STENCIL_OP_DECR_SAT = 5, 588 D3D11_STENCIL_OP_INVERT = 6, 589 D3D11_STENCIL_OP_INCR = 7, 590 D3D11_STENCIL_OP_DECR = 8, 591 }} 592 STRUCT!{struct D3D11_DEPTH_STENCILOP_DESC { 593 StencilFailOp: D3D11_STENCIL_OP, 594 StencilDepthFailOp: D3D11_STENCIL_OP, 595 StencilPassOp: D3D11_STENCIL_OP, 596 StencilFunc: D3D11_COMPARISON_FUNC, 597 }} 598 STRUCT!{struct D3D11_DEPTH_STENCIL_DESC { 599 DepthEnable: BOOL, 600 DepthWriteMask: D3D11_DEPTH_WRITE_MASK, 601 DepthFunc: D3D11_COMPARISON_FUNC, 602 StencilEnable: BOOL, 603 StencilReadMask: UINT8, 604 StencilWriteMask: UINT8, 605 FrontFace: D3D11_DEPTH_STENCILOP_DESC, 606 BackFace: D3D11_DEPTH_STENCILOP_DESC, 607 }} 608 RIDL!{#[uuid(0x03823efb, 0x8d8f, 0x4e1c, 0x9a, 0xa2, 0xf6, 0x4b, 0xb2, 0xcb, 0xfd, 0xf1)] 609 interface ID3D11DepthStencilState(ID3D11DepthStencilStateVtbl): 610 ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 611 fn GetDesc( 612 pDesc: *mut D3D11_DEPTH_STENCIL_DESC, 613 ) -> (), 614 }} 615 ENUM!{enum D3D11_BLEND { 616 D3D11_BLEND_ZERO = 1, 617 D3D11_BLEND_ONE = 2, 618 D3D11_BLEND_SRC_COLOR = 3, 619 D3D11_BLEND_INV_SRC_COLOR = 4, 620 D3D11_BLEND_SRC_ALPHA = 5, 621 D3D11_BLEND_INV_SRC_ALPHA = 6, 622 D3D11_BLEND_DEST_ALPHA = 7, 623 D3D11_BLEND_INV_DEST_ALPHA = 8, 624 D3D11_BLEND_DEST_COLOR = 9, 625 D3D11_BLEND_INV_DEST_COLOR = 10, 626 D3D11_BLEND_SRC_ALPHA_SAT = 11, 627 D3D11_BLEND_BLEND_FACTOR = 14, 628 D3D11_BLEND_INV_BLEND_FACTOR = 15, 629 D3D11_BLEND_SRC1_COLOR = 16, 630 D3D11_BLEND_INV_SRC1_COLOR = 17, 631 D3D11_BLEND_SRC1_ALPHA = 18, 632 D3D11_BLEND_INV_SRC1_ALPHA = 19, 633 }} 634 ENUM!{enum D3D11_BLEND_OP { 635 D3D11_BLEND_OP_ADD = 1, 636 D3D11_BLEND_OP_SUBTRACT = 2, 637 D3D11_BLEND_OP_REV_SUBTRACT = 3, 638 D3D11_BLEND_OP_MIN = 4, 639 D3D11_BLEND_OP_MAX = 5, 640 }} 641 ENUM!{enum D3D11_COLOR_WRITE_ENABLE { 642 D3D11_COLOR_WRITE_ENABLE_RED = 1, 643 D3D11_COLOR_WRITE_ENABLE_GREEN = 2, 644 D3D11_COLOR_WRITE_ENABLE_BLUE = 4, 645 D3D11_COLOR_WRITE_ENABLE_ALPHA = 8, 646 D3D11_COLOR_WRITE_ENABLE_ALL = D3D11_COLOR_WRITE_ENABLE_RED | D3D11_COLOR_WRITE_ENABLE_GREEN 647 | D3D11_COLOR_WRITE_ENABLE_BLUE | D3D11_COLOR_WRITE_ENABLE_ALPHA, 648 }} 649 STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC { 650 BlendEnable: BOOL, 651 SrcBlend: D3D11_BLEND, 652 DestBlend: D3D11_BLEND, 653 BlendOp: D3D11_BLEND_OP, 654 SrcBlendAlpha: D3D11_BLEND, 655 DestBlendAlpha: D3D11_BLEND, 656 BlendOpAlpha: D3D11_BLEND_OP, 657 RenderTargetWriteMask: UINT8, 658 }} 659 STRUCT!{struct D3D11_BLEND_DESC { 660 AlphaToCoverageEnable: BOOL, 661 IndependentBlendEnable: BOOL, 662 RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC; 8], 663 }} 664 RIDL!{#[uuid(0x75b68faa, 0x347d, 0x4159, 0x8f, 0x45, 0xa0, 0x64, 0x0f, 0x01, 0xcd, 0x9a)] 665 interface ID3D11BlendState(ID3D11BlendStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 666 fn GetDesc( 667 pDesc: *mut D3D11_BLEND_DESC, 668 ) -> (), 669 }} 670 STRUCT!{struct D3D11_RASTERIZER_DESC { 671 FillMode: D3D11_FILL_MODE, 672 CullMode: D3D11_CULL_MODE, 673 FrontCounterClockwise: BOOL, 674 DepthBias: INT, 675 DepthBiasClamp: FLOAT, 676 SlopeScaledDepthBias: FLOAT, 677 DepthClipEnable: BOOL, 678 ScissorEnable: BOOL, 679 MultisampleEnable: BOOL, 680 AntialiasedLineEnable: BOOL, 681 }} 682 RIDL!{#[uuid(0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5, 0x06, 0xfc, 0x04, 0x20, 0x0b, 0x6e, 0xe7)] 683 interface ID3D11RasterizerState(ID3D11RasterizerStateVtbl): 684 ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 685 fn GetDesc( 686 pDesc: *mut D3D11_RASTERIZER_DESC, 687 ) -> (), 688 }} 689 STRUCT!{struct D3D11_SUBRESOURCE_DATA { 690 pSysMem: *const c_void, 691 SysMemPitch: UINT, 692 SysMemSlicePitch: UINT, 693 }} 694 STRUCT!{struct D3D11_MAPPED_SUBRESOURCE { 695 pData: *mut c_void, 696 RowPitch: UINT, 697 DepthPitch: UINT, 698 }} 699 RIDL!{#[uuid(0xdc8e63f3, 0xd12b, 0x4952, 0xb4, 0x7b, 0x5e, 0x45, 0x02, 0x6a, 0x86, 0x2d)] 700 interface ID3D11Resource(ID3D11ResourceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 701 fn GetType( 702 pResourceDimension: *mut D3D11_RESOURCE_DIMENSION, 703 ) -> (), 704 fn SetEvictionPriority( 705 EvictionPriority: UINT, 706 ) -> (), 707 fn GetEvictionPriority() -> UINT, 708 }} 709 STRUCT!{struct D3D11_BUFFER_DESC { 710 ByteWidth: UINT, 711 Usage: D3D11_USAGE, 712 BindFlags: UINT, 713 CPUAccessFlags: UINT, 714 MiscFlags: UINT, 715 StructureByteStride: UINT, 716 }} 717 RIDL!{#[uuid(0x48570b85, 0xd1ee, 0x4fcd, 0xa2, 0x50, 0xeb, 0x35, 0x07, 0x22, 0xb0, 0x37)] 718 interface ID3D11Buffer(ID3D11BufferVtbl): ID3D11Resource(ID3D11ResourceVtbl) { 719 fn GetDesc( 720 pDesc: *mut D3D11_BUFFER_DESC, 721 ) -> (), 722 }} 723 STRUCT!{struct D3D11_TEXTURE1D_DESC { 724 Width: UINT, 725 MipLevels: UINT, 726 ArraySize: UINT, 727 Format: DXGI_FORMAT, 728 Usage: D3D11_USAGE, 729 BindFlags: UINT, 730 CPUAccessFlags: UINT, 731 MiscFlags: UINT, 732 }} 733 RIDL!{#[uuid(0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4, 0xc8, 0x43, 0x9a, 0xf2, 0xef, 0x56, 0x4c)] 734 interface ID3D11Texture1D(ID3D11Texture1DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { 735 fn GetDesc( 736 pDesc: *mut D3D11_TEXTURE1D_DESC, 737 ) -> (), 738 }} 739 STRUCT!{struct D3D11_TEXTURE2D_DESC { 740 Width: UINT, 741 Height: UINT, 742 MipLevels: UINT, 743 ArraySize: UINT, 744 Format: DXGI_FORMAT, 745 SampleDesc: DXGI_SAMPLE_DESC, 746 Usage: D3D11_USAGE, 747 BindFlags: UINT, 748 CPUAccessFlags: UINT, 749 MiscFlags: UINT, 750 }} 751 RIDL!{#[uuid(0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c)] 752 interface ID3D11Texture2D(ID3D11Texture2DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { 753 fn GetDesc( 754 pDesc: *mut D3D11_TEXTURE2D_DESC, 755 ) -> (), 756 }} 757 STRUCT!{struct D3D11_TEXTURE3D_DESC { 758 Width: UINT, 759 Height: UINT, 760 Depth: UINT, 761 MipLevels: UINT, 762 Format: DXGI_FORMAT, 763 Usage: D3D11_USAGE, 764 BindFlags: UINT, 765 CPUAccessFlags: UINT, 766 MiscFlags: UINT, 767 }} 768 RIDL!{#[uuid(0x037e866e, 0xf56d, 0x4357, 0xa8, 0xaf, 0x9d, 0xab, 0xbe, 0x6e, 0x25, 0x0e)] 769 interface ID3D11Texture3D(ID3D11Texture3DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { 770 fn GetDesc( 771 pDesc: *mut D3D11_TEXTURE3D_DESC, 772 ) -> (), 773 }} 774 ENUM!{enum D3D11_TEXTURECUBE_FACE { 775 D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0, 776 D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1, 777 D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2, 778 D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3, 779 D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4, 780 D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5, 781 }} 782 RIDL!{#[uuid(0x839d1216, 0xbb2e, 0x412b, 0xb7, 0xf4, 0xa9, 0xdb, 0xeb, 0xe0, 0x8e, 0xd1)] 783 interface ID3D11View(ID3D11ViewVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 784 fn GetResource( 785 ppResource: *mut *mut ID3D11Resource, 786 ) -> (), 787 }} 788 UNION!{union D3D11_BUFFER_SRV_u1 { 789 [u32; 1], 790 FirstElement FirstElement_mut: UINT, 791 ElementOffset ElementOffset_mut: UINT, 792 }} 793 UNION!{union D3D11_BUFFER_SRV_u2 { 794 [u32; 1], 795 NumElements NumElements_mut: UINT, 796 ElementWidth ElementWidth_mut: UINT, 797 }} 798 STRUCT!{struct D3D11_BUFFER_SRV { 799 u1: D3D11_BUFFER_SRV_u1, 800 u2: D3D11_BUFFER_SRV_u2, 801 }} 802 ENUM!{enum D3D11_BUFFEREX_SRV_FLAG { 803 D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1, 804 }} 805 STRUCT!{struct D3D11_BUFFEREX_SRV { 806 FirstElement: UINT, 807 NumElements: UINT, 808 Flags: UINT, 809 }} 810 STRUCT!{struct D3D11_TEX1D_SRV { 811 MostDetailedMip: UINT, 812 MipLevels: UINT, 813 }} 814 STRUCT!{struct D3D11_TEX1D_ARRAY_SRV { 815 MostDetailedMip: UINT, 816 MipLevels: UINT, 817 FirstArraySlice: UINT, 818 ArraySize: UINT, 819 }} 820 STRUCT!{struct D3D11_TEX2D_SRV { 821 MostDetailedMip: UINT, 822 MipLevels: UINT, 823 }} 824 STRUCT!{struct D3D11_TEX2D_ARRAY_SRV { 825 MostDetailedMip: UINT, 826 MipLevels: UINT, 827 FirstArraySlice: UINT, 828 ArraySize: UINT, 829 }} 830 STRUCT!{struct D3D11_TEX3D_SRV { 831 MostDetailedMip: UINT, 832 MipLevels: UINT, 833 }} 834 STRUCT!{struct D3D11_TEXCUBE_SRV { 835 MostDetailedMip: UINT, 836 MipLevels: UINT, 837 }} 838 STRUCT!{struct D3D11_TEXCUBE_ARRAY_SRV { 839 MostDetailedMip: UINT, 840 MipLevels: UINT, 841 First2DArrayFace: UINT, 842 NumCubes: UINT, 843 }} 844 STRUCT!{struct D3D11_TEX2DMS_SRV { 845 UnusedField_NothingToDefine: UINT, 846 }} 847 STRUCT!{struct D3D11_TEX2DMS_ARRAY_SRV { 848 FirstArraySlice: UINT, 849 ArraySize: UINT, 850 }} 851 UNION!{union D3D11_SHADER_RESOURCE_VIEW_DESC_u { 852 [u32; 4], 853 Buffer Buffer_mut: D3D11_BUFFER_SRV, 854 Texture1D Texture1D_mut: D3D11_TEX1D_SRV, 855 Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_SRV, 856 Texture2D Texture2D_mut: D3D11_TEX2D_SRV, 857 Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_SRV, 858 Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_SRV, 859 Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_SRV, 860 Texture3D Texture3D_mut: D3D11_TEX3D_SRV, 861 TextureCube TextureCube_mut: D3D11_TEXCUBE_SRV, 862 TextureCubeArray TextureCubeArray_mut: D3D11_TEXCUBE_ARRAY_SRV, 863 BufferEx BufferEx_mut: D3D11_BUFFEREX_SRV, 864 }} 865 STRUCT!{struct D3D11_SHADER_RESOURCE_VIEW_DESC { 866 Format: DXGI_FORMAT, 867 ViewDimension: D3D11_SRV_DIMENSION, 868 u: D3D11_SHADER_RESOURCE_VIEW_DESC_u, 869 }} 870 RIDL!{#[uuid(0xb0e06fe0, 0x8192, 0x4e1a, 0xb1, 0xca, 0x36, 0xd7, 0x41, 0x47, 0x10, 0xb2)] 871 interface ID3D11ShaderResourceView(ID3D11ShaderResourceViewVtbl): ID3D11View(ID3D11ViewVtbl) { 872 fn GetDesc( 873 pDesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC, 874 ) -> (), 875 }} 876 UNION!{union D3D11_BUFFER_RTV_u1 { 877 [u32; 1], 878 FirstElement FirstElement_mut: UINT, 879 ElementOffset ElementOffset_mut: UINT, 880 }} 881 UNION!{union D3D11_BUFFER_RTV_u2 { 882 [u32; 1], 883 NumElements NumElements_mut: UINT, 884 ElementWidth ElementWidth_mut: UINT, 885 }} 886 STRUCT!{struct D3D11_BUFFER_RTV { 887 u1: D3D11_BUFFER_RTV_u1, 888 u2: D3D11_BUFFER_RTV_u2, 889 }} 890 STRUCT!{struct D3D11_TEX1D_RTV { 891 MipSlice: UINT, 892 }} 893 STRUCT!{struct D3D11_TEX1D_ARRAY_RTV { 894 MipSlice: UINT, 895 FirstArraySlice: UINT, 896 ArraySize: UINT, 897 }} 898 STRUCT!{struct D3D11_TEX2D_RTV { 899 MipSlice: UINT, 900 }} 901 STRUCT!{struct D3D11_TEX2DMS_RTV { 902 UnusedField_NothingToDefine: UINT, 903 }} 904 STRUCT!{struct D3D11_TEX2D_ARRAY_RTV { 905 MipSlice: UINT, 906 FirstArraySlice: UINT, 907 ArraySize: UINT, 908 }} 909 STRUCT!{struct D3D11_TEX2DMS_ARRAY_RTV { 910 FirstArraySlice: UINT, 911 ArraySize: UINT, 912 }} 913 STRUCT!{struct D3D11_TEX3D_RTV { 914 MipSlice: UINT, 915 FirstWSlice: UINT, 916 WSize: UINT, 917 }} 918 UNION!{union D3D11_RENDER_TARGET_VIEW_DESC_u { 919 [u32; 3], 920 Buffer Buffer_mut: D3D11_BUFFER_RTV, 921 Texture1D Texture1D_mut: D3D11_TEX1D_RTV, 922 Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_RTV, 923 Texture2D Texture2D_mut: D3D11_TEX2D_RTV, 924 Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_RTV, 925 Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_RTV, 926 Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_RTV, 927 Texture3D Texture3D_mut: D3D11_TEX3D_RTV, 928 }} 929 STRUCT!{struct D3D11_RENDER_TARGET_VIEW_DESC { 930 Format: DXGI_FORMAT, 931 ViewDimension: D3D11_RTV_DIMENSION, 932 u: D3D11_RENDER_TARGET_VIEW_DESC_u, 933 }} 934 RIDL!{#[uuid(0xdfdba067, 0x0b8d, 0x4865, 0x87, 0x5b, 0xd7, 0xb4, 0x51, 0x6c, 0xc1, 0x64)] 935 interface ID3D11RenderTargetView(ID3D11RenderTargetViewVtbl): ID3D11View(ID3D11ViewVtbl) { 936 fn GetDesc( 937 pDesc: *mut D3D11_RENDER_TARGET_VIEW_DESC, 938 ) -> (), 939 }} 940 STRUCT!{struct D3D11_TEX1D_DSV { 941 MipSlice: UINT, 942 }} 943 STRUCT!{struct D3D11_TEX1D_ARRAY_DSV { 944 MipSlice: UINT, 945 FirstArraySlice: UINT, 946 ArraySize: UINT, 947 }} 948 STRUCT!{struct D3D11_TEX2D_DSV { 949 MipSlice: UINT, 950 }} 951 STRUCT!{struct D3D11_TEX2D_ARRAY_DSV { 952 MipSlice: UINT, 953 FirstArraySlice: UINT, 954 ArraySize: UINT, 955 }} 956 STRUCT!{struct D3D11_TEX2DMS_DSV { 957 UnusedField_NothingToDefine: UINT, 958 }} 959 STRUCT!{struct D3D11_TEX2DMS_ARRAY_DSV { 960 FirstArraySlice: UINT, 961 ArraySize: UINT, 962 }} 963 ENUM!{enum D3D11_DSV_FLAG { 964 D3D11_DSV_READ_ONLY_DEPTH = 0x1, 965 D3D11_DSV_READ_ONLY_STENCIL = 0x2, 966 }} 967 UNION!{union D3D11_DEPTH_STENCIL_VIEW_DESC_u { 968 [u32; 3], 969 Texture1D Texture1D_mut: D3D11_TEX1D_DSV, 970 Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_DSV, 971 Texture2D Texture2D_mut: D3D11_TEX2D_DSV, 972 Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_DSV, 973 Texture2DMS Texture2DMS_mut: D3D11_TEX2DMS_DSV, 974 Texture2DMSArray Texture2DMSArray_mut: D3D11_TEX2DMS_ARRAY_DSV, 975 }} 976 STRUCT!{struct D3D11_DEPTH_STENCIL_VIEW_DESC { 977 Format: DXGI_FORMAT, 978 ViewDimension: D3D11_DSV_DIMENSION, 979 Flags: UINT, 980 u: D3D11_DEPTH_STENCIL_VIEW_DESC_u, 981 }} 982 RIDL!{#[uuid(0x9fdac92a, 0x1876, 0x48c3, 0xaf, 0xad, 0x25, 0xb9, 0x4f, 0x84, 0xa9, 0xb6)] 983 interface ID3D11DepthStencilView(ID3D11DepthStencilViewVtbl): ID3D11View(ID3D11ViewVtbl) { 984 fn GetDesc( 985 pDesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC, 986 ) -> (), 987 }} 988 ENUM!{enum D3D11_BUFFER_UAV_FLAG { 989 D3D11_BUFFER_UAV_FLAG_RAW = 0x1, 990 D3D11_BUFFER_UAV_FLAG_APPEND = 0x2, 991 D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4, 992 }} 993 STRUCT!{struct D3D11_BUFFER_UAV { 994 FirstElement: UINT, 995 NumElements: UINT, 996 Flags: UINT, 997 }} 998 STRUCT!{struct D3D11_TEX1D_UAV { 999 MipSlice: UINT, 1000 }} 1001 STRUCT!{struct D3D11_TEX1D_ARRAY_UAV { 1002 MipSlice: UINT, 1003 FirstArraySlice: UINT, 1004 ArraySize: UINT, 1005 }} 1006 STRUCT!{struct D3D11_TEX2D_UAV { 1007 MipSlice: UINT, 1008 }} 1009 STRUCT!{struct D3D11_TEX2D_ARRAY_UAV { 1010 MipSlice: UINT, 1011 FirstArraySlice: UINT, 1012 ArraySize: UINT, 1013 }} 1014 STRUCT!{struct D3D11_TEX3D_UAV { 1015 MipSlice: UINT, 1016 FirstWSlice: UINT, 1017 WSize: UINT, 1018 }} 1019 UNION!{union D3D11_UNORDERED_ACCESS_VIEW_DESC_u { 1020 [u32; 3], 1021 Buffer Buffer_mut: D3D11_BUFFER_UAV, 1022 Texture1D Texture1D_mut: D3D11_TEX1D_UAV, 1023 Texture1DArray Texture1DArray_mut: D3D11_TEX1D_ARRAY_UAV, 1024 Texture2D Texture2D_mut: D3D11_TEX2D_UAV, 1025 Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_UAV, 1026 Texture3D Texture3D_mut: D3D11_TEX3D_UAV, 1027 }} 1028 STRUCT!{struct D3D11_UNORDERED_ACCESS_VIEW_DESC { 1029 Format: DXGI_FORMAT, 1030 ViewDimension: D3D11_UAV_DIMENSION, 1031 u: D3D11_UNORDERED_ACCESS_VIEW_DESC_u, 1032 }} 1033 RIDL!{#[uuid(0x28acf509, 0x7f5c, 0x48f6, 0x86, 0x11, 0xf3, 0x16, 0x01, 0x0a, 0x63, 0x80)] 1034 interface ID3D11UnorderedAccessView(ID3D11UnorderedAccessViewVtbl): ID3D11View(ID3D11ViewVtbl) { 1035 fn GetDesc( 1036 pDesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC, 1037 ) -> (), 1038 }} 1039 RIDL!{#[uuid(0x3b301d64, 0xd678, 0x4289, 0x88, 0x97, 0x22, 0xf8, 0x92, 0x8b, 0x72, 0xf3)] 1040 interface ID3D11VertexShader(ID3D11VertexShaderVtbl): 1041 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1042 RIDL!{#[uuid(0x8e5c6061, 0x628a, 0x4c8e, 0x82, 0x64, 0xbb, 0xe4, 0x5c, 0xb3, 0xd5, 0xdd)] 1043 interface ID3D11HullShader(ID3D11HullShaderVtbl): 1044 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1045 RIDL!{#[uuid(0xf582c508, 0x0f36, 0x490c, 0x99, 0x77, 0x31, 0xee, 0xce, 0x26, 0x8c, 0xfa)] 1046 interface ID3D11DomainShader(ID3D11DomainShaderVtbl): 1047 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1048 RIDL!{#[uuid(0x38325b96, 0xeffb, 0x4022, 0xba, 0x02, 0x2e, 0x79, 0x5b, 0x70, 0x27, 0x5c)] 1049 interface ID3D11GeometryShader(ID3D11GeometryShaderVtbl): 1050 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1051 RIDL!{#[uuid(0xea82e40d, 0x51dc, 0x4f33, 0x93, 0xd4, 0xdb, 0x7c, 0x91, 0x25, 0xae, 0x8c)] 1052 interface ID3D11PixelShader(ID3D11PixelShaderVtbl): 1053 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1054 RIDL!{#[uuid(0x4f5b196e, 0xc2bd, 0x495e, 0xbd, 0x01, 0x1f, 0xde, 0xd3, 0x8e, 0x49, 0x69)] 1055 interface ID3D11ComputeShader(ID3D11ComputeShaderVtbl): 1056 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1057 RIDL!{#[uuid(0xe4819ddc, 0x4cf0, 0x4025, 0xbd, 0x26, 0x5d, 0xe8, 0x2a, 0x3e, 0x07, 0xb7)] 1058 interface ID3D11InputLayout(ID3D11InputLayoutVtbl): 1059 ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} 1060 ENUM!{enum D3D11_FILTER { 1061 D3D11_FILTER_MIN_MAG_MIP_POINT = 0, 1062 D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, 1063 D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, 1064 D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, 1065 D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, 1066 D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, 1067 D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, 1068 D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15, 1069 D3D11_FILTER_ANISOTROPIC = 0x55, 1070 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, 1071 D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, 1072 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, 1073 D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, 1074 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, 1075 D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, 1076 D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, 1077 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, 1078 D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5, 1079 D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, 1080 D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, 1081 D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, 1082 D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, 1083 D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, 1084 D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, 1085 D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, 1086 D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, 1087 D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155, 1088 D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, 1089 D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, 1090 D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, 1091 D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, 1092 D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, 1093 D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, 1094 D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, 1095 D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, 1096 D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, 1097 }} 1098 ENUM!{enum D3D11_FILTER_TYPE { 1099 D3D11_FILTER_TYPE_POINT = 0, 1100 D3D11_FILTER_TYPE_LINEAR = 1, 1101 }} 1102 ENUM!{enum D3D11_FILTER_REDUCTION_TYPE { 1103 D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0, 1104 D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 1, 1105 D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 2, 1106 D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 3, 1107 }} 1108 pub const D3D11_FILTER_REDUCTION_TYPE_MASK: DWORD = 0x3; 1109 pub const D3D11_FILTER_REDUCTION_TYPE_SHIFT: DWORD = 7; 1110 pub const D3D11_FILTER_TYPE_MASK: DWORD = 0x3; 1111 pub const D3D11_MIN_FILTER_SHIFT: DWORD = 4; 1112 pub const D3D11_MAG_FILTER_SHIFT: DWORD = 2; 1113 pub const D3D11_MIP_FILTER_SHIFT: DWORD = 0; 1114 pub const D3D11_COMPARISON_FILTERING_BIT: DWORD = 0x80; 1115 pub const D3D11_ANISOTROPIC_FILTERING_BIT: DWORD = 0x40; 1116 ENUM!{enum D3D11_TEXTURE_ADDRESS_MODE { 1117 D3D11_TEXTURE_ADDRESS_WRAP = 1, 1118 D3D11_TEXTURE_ADDRESS_MIRROR = 2, 1119 D3D11_TEXTURE_ADDRESS_CLAMP = 3, 1120 D3D11_TEXTURE_ADDRESS_BORDER = 4, 1121 D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5, 1122 }} 1123 STRUCT!{struct D3D11_SAMPLER_DESC { 1124 Filter: D3D11_FILTER, 1125 AddressU: D3D11_TEXTURE_ADDRESS_MODE, 1126 AddressV: D3D11_TEXTURE_ADDRESS_MODE, 1127 AddressW: D3D11_TEXTURE_ADDRESS_MODE, 1128 MipLODBias: FLOAT, 1129 MaxAnisotropy: UINT, 1130 ComparisonFunc: D3D11_COMPARISON_FUNC, 1131 BorderColor: [FLOAT; 4], 1132 MinLOD: FLOAT, 1133 MaxLOD: FLOAT, 1134 }} 1135 RIDL!{#[uuid(0xda6fea51, 0x564c, 0x4487, 0x98, 0x10, 0xf0, 0xd0, 0xf9, 0xb4, 0xe3, 0xa5)] 1136 interface ID3D11SamplerState(ID3D11SamplerStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1137 fn GetDesc( 1138 pDesc: *mut D3D11_SAMPLER_DESC, 1139 ) -> (), 1140 }} 1141 ENUM!{enum D3D11_FORMAT_SUPPORT { 1142 D3D11_FORMAT_SUPPORT_BUFFER = 0x1, 1143 D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2, 1144 D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4, 1145 D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8, 1146 D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10, 1147 D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20, 1148 D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40, 1149 D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80, 1150 D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100, 1151 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200, 1152 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400, 1153 D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800, 1154 D3D11_FORMAT_SUPPORT_MIP = 0x1000, 1155 D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000, 1156 D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000, 1157 D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000, 1158 D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000, 1159 D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000, 1160 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000, 1161 D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000, 1162 D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, 1163 D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, 1164 D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, 1165 D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000, 1166 D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000, 1167 D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, 1168 D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000, 1169 D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000, 1170 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000, 1171 D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000, 1172 D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000, 1173 }} 1174 ENUM!{enum D3D11_FORMAT_SUPPORT2 { 1175 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, 1176 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, 1177 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, 1178 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, 1179 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, 1180 D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, 1181 D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, 1182 D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, 1183 D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, 1184 D3D11_FORMAT_SUPPORT2_TILED = 0x200, 1185 D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400, 1186 D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, 1187 }} 1188 RIDL!{#[uuid(0x4b35d0cd, 0x1e15, 0x4258, 0x9c, 0x98, 0x1b, 0x13, 0x33, 0xf6, 0xdd, 0x3b)] 1189 interface ID3D11Asynchronous(ID3D11AsynchronousVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1190 fn GetDataSize() -> UINT, 1191 }} 1192 ENUM!{enum D3D11_ASYNC_GETDATA_FLAG { 1193 D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1, 1194 }} 1195 ENUM!{enum D3D11_QUERY { 1196 D3D11_QUERY_EVENT = 0, 1197 D3D11_QUERY_OCCLUSION = D3D11_QUERY_EVENT + 1u32, 1198 D3D11_QUERY_TIMESTAMP = D3D11_QUERY_OCCLUSION + 1u32, 1199 D3D11_QUERY_TIMESTAMP_DISJOINT = D3D11_QUERY_TIMESTAMP + 1u32, 1200 D3D11_QUERY_PIPELINE_STATISTICS = D3D11_QUERY_TIMESTAMP_DISJOINT + 1u32, 1201 D3D11_QUERY_OCCLUSION_PREDICATE = D3D11_QUERY_PIPELINE_STATISTICS + 1u32, 1202 D3D11_QUERY_SO_STATISTICS = D3D11_QUERY_OCCLUSION_PREDICATE + 1u32, 1203 D3D11_QUERY_SO_OVERFLOW_PREDICATE = D3D11_QUERY_SO_STATISTICS + 1u32, 1204 D3D11_QUERY_SO_STATISTICS_STREAM0 = D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1u32, 1205 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = D3D11_QUERY_SO_STATISTICS_STREAM0 + 1u32, 1206 D3D11_QUERY_SO_STATISTICS_STREAM1 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1u32, 1207 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = D3D11_QUERY_SO_STATISTICS_STREAM1 + 1u32, 1208 D3D11_QUERY_SO_STATISTICS_STREAM2 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1u32, 1209 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = D3D11_QUERY_SO_STATISTICS_STREAM2 + 1u32, 1210 D3D11_QUERY_SO_STATISTICS_STREAM3 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1u32, 1211 D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = D3D11_QUERY_SO_STATISTICS_STREAM3 + 1u32, 1212 }} 1213 ENUM!{enum D3D11_QUERY_MISC_FLAG { 1214 D3D11_QUERY_MISC_PREDICATEHINT = 0x1, 1215 }} 1216 STRUCT!{struct D3D11_QUERY_DESC { 1217 Query: D3D11_QUERY, 1218 MiscFlags: UINT, 1219 }} 1220 RIDL!{#[uuid(0xd6c00747, 0x87b7, 0x425e, 0xb8, 0x4d, 0x44, 0xd1, 0x08, 0x56, 0x0a, 0xfd)] 1221 interface ID3D11Query(ID3D11QueryVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { 1222 fn GetDesc( 1223 pDesc: *mut D3D11_QUERY_DESC, 1224 ) -> (), 1225 }} 1226 RIDL!{#[uuid(0x9eb576dd, 0x9f77, 0x4d86, 0x81, 0xaa, 0x8b, 0xab, 0x5f, 0xe4, 0x90, 0xe2)] 1227 interface ID3D11Predicate(ID3D11PredicateVtbl): ID3D11Query(ID3D11QueryVtbl) {}} 1228 STRUCT!{struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT { 1229 Frequency: UINT64, 1230 Disjoint: BOOL, 1231 }} 1232 STRUCT!{struct D3D11_QUERY_DATA_PIPELINE_STATISTICS { 1233 IAVertices: UINT64, 1234 IAPrimitives: UINT64, 1235 VSInvocations: UINT64, 1236 GSInvocations: UINT64, 1237 GSPrimitives: UINT64, 1238 CInvocations: UINT64, 1239 CPrimitives: UINT64, 1240 PSInvocations: UINT64, 1241 HSInvocations: UINT64, 1242 DSInvocations: UINT64, 1243 CSInvocations: UINT64, 1244 }} 1245 STRUCT!{struct D3D11_QUERY_DATA_SO_STATISTICS { 1246 NumPrimitivesWritten: UINT64, 1247 PrimitivesStorageNeeded: UINT64, 1248 }} 1249 ENUM!{enum D3D11_COUNTER { 1250 D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000, 1251 }} 1252 ENUM!{enum D3D11_COUNTER_TYPE { 1253 D3D11_COUNTER_TYPE_FLOAT32 = 0, 1254 D3D11_COUNTER_TYPE_UINT16 = D3D11_COUNTER_TYPE_FLOAT32 + 1u32, 1255 D3D11_COUNTER_TYPE_UINT32 = D3D11_COUNTER_TYPE_UINT16 + 1u32, 1256 D3D11_COUNTER_TYPE_UINT64 = D3D11_COUNTER_TYPE_UINT32 + 1u32, 1257 }} 1258 STRUCT!{struct D3D11_COUNTER_DESC { 1259 Counter: D3D11_COUNTER, 1260 MiscFlags: UINT, 1261 }} 1262 STRUCT!{struct D3D11_COUNTER_INFO { 1263 LastDeviceDependentCounter: D3D11_COUNTER, 1264 NumSimultaneousCounters: UINT, 1265 NumDetectableParallelUnits: UINT8, 1266 }} 1267 RIDL!{#[uuid(0x6e8c49fb, 0xa371, 0x4770, 0xb4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xb7, 0x41)] 1268 interface ID3D11Counter(ID3D11CounterVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { 1269 fn GetDesc( 1270 pDesc: *mut D3D11_COUNTER_DESC, 1271 ) -> (), 1272 }} 1273 ENUM!{enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS { 1274 D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, 1275 D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe, 1276 }} 1277 ENUM!{enum D3D11_DEVICE_CONTEXT_TYPE { 1278 D3D11_DEVICE_CONTEXT_IMMEDIATE = 0, 1279 D3D11_DEVICE_CONTEXT_DEFERRED = D3D11_DEVICE_CONTEXT_IMMEDIATE + 1u32, 1280 }} 1281 STRUCT!{struct D3D11_CLASS_INSTANCE_DESC { 1282 InstanceId: UINT, 1283 InstanceIndex: UINT, 1284 TypeId: UINT, 1285 ConstantBuffer: UINT, 1286 BaseConstantBufferOffset: UINT, 1287 BaseTexture: UINT, 1288 BaseSampler: UINT, 1289 Created: BOOL, 1290 }} 1291 RIDL!{#[uuid(0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94, 0x36, 0x86, 0x62, 0xa6, 0x57, 0x97, 0xcb)] 1292 interface ID3D11ClassInstance(ID3D11ClassInstanceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1293 fn GetClassLinkage( 1294 ppLinkage: *mut *mut ID3D11ClassLinkage, 1295 ) -> (), 1296 fn GetDesc( 1297 pDesc: *mut D3D11_CLASS_INSTANCE_DESC, 1298 ) -> (), 1299 fn GetInstanceName( 1300 pInstanceName: LPSTR, 1301 pBufferLength: *mut SIZE_T, 1302 ) -> (), 1303 fn GetTypeName( 1304 pTypeName: LPSTR, 1305 pBufferLength: *mut SIZE_T, 1306 ) -> (), 1307 }} 1308 RIDL!{#[uuid(0xddf57cba, 0x9543, 0x46e4, 0xa1, 0x2b, 0xf2, 0x07, 0xa0, 0xfe, 0x7f, 0xed)] 1309 interface ID3D11ClassLinkage(ID3D11ClassLinkageVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1310 fn GetClassInstance( 1311 GetClassInstance: LPCSTR, 1312 InstanceIndex: UINT, 1313 ppInstance: *mut *mut ID3D11ClassInstance, 1314 ) -> HRESULT, 1315 fn CreateClassInstance( 1316 pClassTypeName: LPCSTR, 1317 ConstantBufferOffset: UINT, 1318 ConstantVectorOffset: UINT, 1319 TextureOffset: UINT, 1320 SamplerOffset: UINT, 1321 ppInstance: *mut *mut ID3D11ClassInstance, 1322 ) -> HRESULT, 1323 }} 1324 RIDL!{#[uuid(0xa24bc4d1, 0x769e, 0x43f7, 0x80, 0x13, 0x98, 0xff, 0x56, 0x6c, 0x18, 0xe2)] 1325 interface ID3D11CommandList(ID3D11CommandListVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1326 fn GetContextFlags() -> UINT, 1327 }} 1328 ENUM!{enum D3D11_FEATURE { 1329 D3D11_FEATURE_THREADING = 0, 1330 D3D11_FEATURE_DOUBLES = D3D11_FEATURE_THREADING + 1u32, 1331 D3D11_FEATURE_FORMAT_SUPPORT = D3D11_FEATURE_DOUBLES + 1u32, 1332 D3D11_FEATURE_FORMAT_SUPPORT2 = D3D11_FEATURE_FORMAT_SUPPORT + 1u32, 1333 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = D3D11_FEATURE_FORMAT_SUPPORT2 + 1u32, 1334 D3D11_FEATURE_D3D11_OPTIONS = D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS + 1u32, 1335 D3D11_FEATURE_ARCHITECTURE_INFO = D3D11_FEATURE_D3D11_OPTIONS + 1u32, 1336 D3D11_FEATURE_D3D9_OPTIONS = D3D11_FEATURE_ARCHITECTURE_INFO + 1u32, 1337 D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = D3D11_FEATURE_D3D9_OPTIONS + 1u32, 1338 D3D11_FEATURE_D3D9_SHADOW_SUPPORT = D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT + 1u32, 1339 D3D11_FEATURE_D3D11_OPTIONS1 = D3D11_FEATURE_D3D9_SHADOW_SUPPORT + 1u32, 1340 D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS1 + 1u32, 1341 D3D11_FEATURE_MARKER_SUPPORT = D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT + 1u32, 1342 D3D11_FEATURE_D3D9_OPTIONS1 = D3D11_FEATURE_MARKER_SUPPORT + 1u32, 1343 D3D11_FEATURE_D3D11_OPTIONS2 = D3D11_FEATURE_D3D9_OPTIONS1 + 1u32, 1344 D3D11_FEATURE_D3D11_OPTIONS3 = D3D11_FEATURE_D3D11_OPTIONS2 + 1u32, 1345 D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS3 + 1u32, 1346 }} 1347 STRUCT!{struct D3D11_FEATURE_DATA_THREADING { 1348 DriverConcurrentCreates: BOOL, 1349 DriverCommandLists: BOOL, 1350 }} 1351 STRUCT!{struct D3D11_FEATURE_DATA_DOUBLES { 1352 DoublePrecisionFloatShaderOps: BOOL, 1353 }} 1354 STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT { 1355 InFormat: DXGI_FORMAT, 1356 OutFormatSupport: UINT, 1357 }} 1358 STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 { 1359 InFormat: DXGI_FORMAT, 1360 OutFormatSupport2: UINT, 1361 }} 1362 STRUCT!{struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { 1363 ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: BOOL, 1364 }} 1365 STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS { 1366 OutputMergerLogicOp: BOOL, 1367 UAVOnlyRenderingForcedSampleCount: BOOL, 1368 DiscardAPIsSeenByDriver: BOOL, 1369 FlagsForUpdateAndCopySeenByDriver: BOOL, 1370 ClearView: BOOL, 1371 CopyWithOverlap: BOOL, 1372 ConstantBufferPartialUpdate: BOOL, 1373 ConstantBufferOffsetting: BOOL, 1374 MapNoOverwriteOnDynamicConstantBuffer: BOOL, 1375 MapNoOverwriteOnDynamicBufferSRV: BOOL, 1376 MultisampleRTVWithForcedSampleCountOne: BOOL, 1377 SAD4ShaderInstructions: BOOL, 1378 ExtendedDoublesShaderInstructions: BOOL, 1379 ExtendedResourceSharing: BOOL, 1380 }} 1381 STRUCT!{struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO { 1382 TileBasedDeferredRenderer: BOOL, 1383 }} 1384 STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS { 1385 FullNonPow2TextureSupport: BOOL, 1386 }} 1387 STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT { 1388 SupportsDepthAsTextureWithLessEqualComparisonFilter: BOOL, 1389 }} 1390 ENUM!{enum D3D11_SHADER_MIN_PRECISION_SUPPORT { 1391 D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1, 1392 D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2, 1393 }} 1394 STRUCT!{struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT { 1395 PixelShaderMinPrecision: UINT, 1396 AllOtherShaderStagesMinPrecision: UINT, 1397 }} 1398 ENUM!{enum D3D11_TILED_RESOURCES_TIER { 1399 D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0, 1400 D3D11_TILED_RESOURCES_TIER_1 = 1, 1401 D3D11_TILED_RESOURCES_TIER_2 = 2, 1402 D3D11_TILED_RESOURCES_TIER_3 = 3, 1403 }} 1404 STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 { 1405 TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, 1406 MinMaxFiltering: BOOL, 1407 ClearViewAlsoSupportsDepthOnlyFormats: BOOL, 1408 MapOnDefaultBuffers: BOOL, 1409 }} 1410 STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT { 1411 SimpleInstancingSupported: BOOL, 1412 }} 1413 STRUCT!{struct D3D11_FEATURE_DATA_MARKER_SUPPORT { 1414 Profile: BOOL, 1415 }} 1416 STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 { 1417 FullNonPow2TextureSupported: BOOL, 1418 DepthAsTextureWithLessEqualComparisonFilterSupported: BOOL, 1419 SimpleInstancingSupported: BOOL, 1420 TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported: BOOL, 1421 }} 1422 ENUM!{enum D3D11_CONSERVATIVE_RASTERIZATION_TIER { 1423 D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0, 1424 D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, 1425 D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, 1426 D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, 1427 }} 1428 STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 { 1429 PSSpecifiedStencilRefSupported: BOOL, 1430 TypedUAVLoadAdditionalFormats: BOOL, 1431 ROVsSupported: BOOL, 1432 ConservativeRasterizationTier: D3D11_CONSERVATIVE_RASTERIZATION_TIER, 1433 TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, 1434 MapOnDefaultTextures: BOOL, 1435 StandardSwizzle: BOOL, 1436 UnifiedMemoryArchitecture: BOOL, 1437 }} 1438 STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 { 1439 VPAndRTArrayIndexFromAnyShaderFeedingRasterizer: BOOL, 1440 }} 1441 STRUCT!{struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { 1442 MaxGPUVirtualAddressBitsPerResource: UINT, 1443 MaxGPUVirtualAddressBitsPerProcess: UINT, 1444 }} 1445 RIDL!{#[uuid(0xc0bfa96c, 0xe089, 0x44fb, 0x8e, 0xaf, 0x26, 0xf8, 0x79, 0x61, 0x90, 0xda)] 1446 interface ID3D11DeviceContext(ID3D11DeviceContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 1447 fn VSSetConstantBuffers( 1448 StartSlot: UINT, 1449 NumBuffers: UINT, 1450 ppConstantBuffers: *const *mut ID3D11Buffer, 1451 ) -> (), 1452 fn PSSetShaderResources( 1453 StartSlot: UINT, 1454 NumViews: UINT, 1455 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1456 ) -> (), 1457 fn PSSetShader( 1458 pPixelShader: *mut ID3D11PixelShader, 1459 ppClassInstances: *const *mut ID3D11ClassInstance, 1460 NumClassInstances: UINT, 1461 ) -> (), 1462 fn PSSetSamplers( 1463 StartSlot: UINT, 1464 NumSamplers: UINT, 1465 ppSamplers: *const *mut ID3D11SamplerState, 1466 ) -> (), 1467 fn VSSetShader( 1468 pVertexShader: *mut ID3D11VertexShader, 1469 ppClassInstances: *const *mut ID3D11ClassInstance, 1470 NumClassInstances: UINT, 1471 ) -> (), 1472 fn DrawIndexed( 1473 IndexCount: UINT, 1474 StartIndexLocation: UINT, 1475 BaseVertexLocation: INT, 1476 ) -> (), 1477 fn Draw( 1478 VertexCount: UINT, 1479 StartVertexLocation: UINT, 1480 ) -> (), 1481 fn Map( 1482 pResource: *mut ID3D11Resource, 1483 Subresource: UINT, 1484 MapType: D3D11_MAP, 1485 MapFlags: UINT, 1486 pMappedResource: *mut D3D11_MAPPED_SUBRESOURCE, 1487 ) -> HRESULT, 1488 fn Unmap( 1489 pResource: *mut ID3D11Resource, 1490 Subresource: UINT, 1491 ) -> (), 1492 fn PSSetConstantBuffers( 1493 StartSlot: UINT, 1494 NumBuffers: UINT, 1495 ppConstantBuffers: *const *mut ID3D11Buffer, 1496 ) -> (), 1497 fn IASetInputLayout( 1498 pInputLayout: *mut ID3D11InputLayout, 1499 ) -> (), 1500 fn IASetVertexBuffers( 1501 StartSlot: UINT, 1502 NumBuffers: UINT, 1503 ppVertexBuffers: *const *mut ID3D11Buffer, 1504 pStrides: *const UINT, 1505 pOffsets: *const UINT, 1506 ) -> (), 1507 fn IASetIndexBuffer( 1508 pIndexBuffer: *mut ID3D11Buffer, 1509 Format: DXGI_FORMAT, 1510 Offset: UINT, 1511 ) -> (), 1512 fn DrawIndexedInstanced( 1513 IndexCountPerInstance: UINT, 1514 InstanceCount: UINT, 1515 StartIndexLocation: UINT, 1516 BaseVertexLocation: INT, 1517 StartInstanceLocation: UINT, 1518 ) -> (), 1519 fn DrawInstanced( 1520 VertexCountPerInstance: UINT, 1521 InstanceCount: UINT, 1522 StartVertexLocation: UINT, 1523 StartInstanceLocation: UINT, 1524 ) -> (), 1525 fn GSSetConstantBuffers( 1526 StartSlot: UINT, 1527 NumBuffers: UINT, 1528 ppConstantBuffers: *const *mut ID3D11Buffer, 1529 ) -> (), 1530 fn GSSetShader( 1531 pShader: *mut ID3D11GeometryShader, 1532 ppClassInstances: *const *mut ID3D11ClassInstance, 1533 NumClassInstances: UINT, 1534 ) -> (), 1535 fn IASetPrimitiveTopology( 1536 Topology: D3D11_PRIMITIVE_TOPOLOGY, 1537 ) -> (), 1538 fn VSSetShaderResources( 1539 StartSlot: UINT, 1540 NumViews: UINT, 1541 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1542 ) -> (), 1543 fn VSSetSamplers( 1544 StartSlot: UINT, 1545 NumSamplers: UINT, 1546 ppSamplers: *const *mut ID3D11SamplerState, 1547 ) -> (), 1548 fn Begin( 1549 pAsync: *mut ID3D11Asynchronous, 1550 ) -> (), 1551 fn End( 1552 pAsync: *mut ID3D11Asynchronous, 1553 ) -> (), 1554 fn GetData( 1555 pAsync: *mut ID3D11Asynchronous, 1556 pData: *mut c_void, 1557 DataSize: UINT, 1558 GetDataFlags: UINT, 1559 ) -> HRESULT, 1560 fn SetPredication( 1561 pPredicate: *mut ID3D11Predicate, 1562 PredicateValue: BOOL, 1563 ) -> (), 1564 fn GSSetShaderResources( 1565 StartSlot: UINT, 1566 NumViews: UINT, 1567 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1568 ) -> (), 1569 fn GSSetSamplers( 1570 StartSlot: UINT, 1571 NumSamplers: UINT, 1572 ppSamplers: *const *mut ID3D11SamplerState, 1573 ) -> (), 1574 fn OMSetRenderTargets( 1575 NumViews: UINT, 1576 ppRenderTargetViews: *const *mut ID3D11RenderTargetView, 1577 pDepthStencilView: *mut ID3D11DepthStencilView, 1578 ) -> (), 1579 fn OMSetRenderTargetsAndUnorderedAccessViews( 1580 NumRTVs: UINT, 1581 ppRenderTargetViews: *const *mut ID3D11RenderTargetView, 1582 pDepthStencilView: *mut ID3D11DepthStencilView, 1583 UAVStartSlot: UINT, 1584 NumUAVs: UINT, 1585 ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView, 1586 pUAVInitialCounts: *const UINT, 1587 ) -> (), 1588 fn OMSetBlendState( 1589 pBlendState: *mut ID3D11BlendState, 1590 BlendFactor: &[FLOAT; 4], 1591 SampleMask: UINT, 1592 ) -> (), 1593 fn OMSetDepthStencilState( 1594 pDepthStencilState: *mut ID3D11DepthStencilState, 1595 StencilRef: UINT, 1596 ) -> (), 1597 fn SOSetTargets( 1598 NumBuffers: UINT, 1599 ppSOTargets: *const *mut ID3D11Buffer, 1600 pOffsets: *const UINT, 1601 ) -> (), 1602 fn DrawAuto() -> (), 1603 fn DrawIndexedInstancedIndirect( 1604 pBufferForArgs: *mut ID3D11Buffer, 1605 AlignedByteOffsetForArgs: UINT, 1606 ) -> (), 1607 fn DrawInstancedIndirect( 1608 pBufferForArgs: *mut ID3D11Buffer, 1609 AlignedByteOffsetForArgs: UINT, 1610 ) -> (), 1611 fn Dispatch( 1612 ThreadGroupCountX: UINT, 1613 ThreadGroupCountY: UINT, 1614 ThreadGroupCountZ: UINT, 1615 ) -> (), 1616 fn DispatchIndirect( 1617 pBufferForArgs: *mut ID3D11Buffer, 1618 AlignedByteOffsetForArgs: UINT, 1619 ) -> (), 1620 fn RSSetState( 1621 pRasterizerState: *mut ID3D11RasterizerState, 1622 ) -> (), 1623 fn RSSetViewports( 1624 NumViewports: UINT, 1625 pViewports: *const D3D11_VIEWPORT, 1626 ) -> (), 1627 fn RSSetScissorRects( 1628 NumRects: UINT, 1629 pRects: *const D3D11_RECT, 1630 ) -> (), 1631 fn CopySubresourceRegion( 1632 pDstResource: *mut ID3D11Resource, 1633 DstSubresource: UINT, 1634 DstX: UINT, 1635 DstY: UINT, 1636 DstZ: UINT, 1637 pSrcResource: *mut ID3D11Resource, 1638 SrcSubresource: UINT, 1639 pSrcBox: *const D3D11_BOX, 1640 ) -> (), 1641 fn CopyResource( 1642 pDstResource: *mut ID3D11Resource, 1643 pSrcResource: *mut ID3D11Resource, 1644 ) -> (), 1645 fn UpdateSubresource( 1646 pDstResource: *mut ID3D11Resource, 1647 DstSubresource: UINT, 1648 pDstBox: *const D3D11_BOX, 1649 pSrcData: *const c_void, 1650 SrcRowPitch: UINT, 1651 SrcDepthPitch: UINT, 1652 ) -> (), 1653 fn CopyStructureCount( 1654 pDstBuffer: *mut ID3D11Buffer, 1655 DstAlignedByteOffset: UINT, 1656 pSrcView: *mut ID3D11UnorderedAccessView, 1657 ) -> (), 1658 fn ClearRenderTargetView( 1659 pRenderTargetView: *mut ID3D11RenderTargetView, 1660 ColorRGBA: &[FLOAT; 4], 1661 ) -> (), 1662 fn ClearUnorderedAccessViewUint( 1663 pUnorderedAccessView: *mut ID3D11UnorderedAccessView, 1664 Values: &[UINT; 4], 1665 ) -> (), 1666 fn ClearUnorderedAccessViewFloat( 1667 pUnorderedAccessView: *mut ID3D11UnorderedAccessView, 1668 Values: &[FLOAT; 4], 1669 ) -> (), 1670 fn ClearDepthStencilView( 1671 pDepthStencilView: *mut ID3D11DepthStencilView, 1672 ClearFlags: UINT, 1673 Depth: FLOAT, 1674 Stencil: UINT8, 1675 ) -> (), 1676 fn GenerateMips( 1677 pShaderResourceView: *mut ID3D11ShaderResourceView, 1678 ) -> (), 1679 fn SetResourceMinLOD( 1680 pResource: *mut ID3D11Resource, 1681 MinLOD: FLOAT, 1682 ) -> (), 1683 fn GetResourceMinLOD( 1684 pResource: *mut ID3D11Resource, 1685 ) -> FLOAT, 1686 fn ResolveSubresource( 1687 pDstResource: *mut ID3D11Resource, 1688 DstSubresource: UINT, 1689 pSrcResource: *mut ID3D11Resource, 1690 SrcSubresource: UINT, 1691 Format: DXGI_FORMAT, 1692 ) -> (), 1693 fn ExecuteCommandList( 1694 pCommandList: *mut ID3D11CommandList, 1695 RestoreContextState: BOOL, 1696 ) -> (), 1697 fn HSSetShaderResources( 1698 StartSlot: UINT, 1699 NumViews: UINT, 1700 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1701 ) -> (), 1702 fn HSSetShader( 1703 pHullShader: *mut ID3D11HullShader, 1704 ppClassInstances: *const *mut ID3D11ClassInstance, 1705 NumClassInstances: UINT, 1706 ) -> (), 1707 fn HSSetSamplers( 1708 StartSlot: UINT, 1709 NumSamplers: UINT, 1710 ppSamplers: *const *mut ID3D11SamplerState, 1711 ) -> (), 1712 fn HSSetConstantBuffers( 1713 StartSlot: UINT, 1714 NumBuffers: UINT, 1715 ppConstantBuffers: *const *mut ID3D11Buffer, 1716 ) -> (), 1717 fn DSSetShaderResources( 1718 StartSlot: UINT, 1719 NumViews: UINT, 1720 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1721 ) -> (), 1722 fn DSSetShader( 1723 pDomainShader: *mut ID3D11DomainShader, 1724 ppClassInstances: *const *mut ID3D11ClassInstance, 1725 NumClassInstances: UINT, 1726 ) -> (), 1727 fn DSSetSamplers( 1728 StartSlot: UINT, 1729 NumSamplers: UINT, 1730 ppSamplers: *const *mut ID3D11SamplerState, 1731 ) -> (), 1732 fn DSSetConstantBuffers( 1733 StartSlot: UINT, 1734 NumBuffers: UINT, 1735 ppConstantBuffers: *const *mut ID3D11Buffer, 1736 ) -> (), 1737 fn CSSetShaderResources( 1738 StartSlot: UINT, 1739 NumViews: UINT, 1740 ppShaderResourceViews: *const *mut ID3D11ShaderResourceView, 1741 ) -> (), 1742 fn CSSetUnorderedAccessViews( 1743 StartSlot: UINT, 1744 NumUAVs: UINT, 1745 ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView, 1746 pUAVInitialCounts: *const UINT, 1747 ) -> (), 1748 fn CSSetShader( 1749 pComputeShader: *mut ID3D11ComputeShader, 1750 ppClassInstances: *const *mut ID3D11ClassInstance, 1751 NumClassInstances: UINT, 1752 ) -> (), 1753 fn CSSetSamplers( 1754 StartSlot: UINT, 1755 NumSamplers: UINT, 1756 ppSamplers: *const *mut ID3D11SamplerState, 1757 ) -> (), 1758 fn CSSetConstantBuffers( 1759 StartSlot: UINT, 1760 NumBuffers: UINT, 1761 ppConstantBuffers: *const *mut ID3D11Buffer, 1762 ) -> (), 1763 fn VSGetConstantBuffers( 1764 StartSlot: UINT, 1765 NumBuffers: UINT, 1766 ppConstantBuffers: *mut *mut ID3D11Buffer, 1767 ) -> (), 1768 fn PSGetShaderResources( 1769 StartSlot: UINT, 1770 NumViews: UINT, 1771 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1772 ) -> (), 1773 fn PSGetShader( 1774 ppPixelShader: *mut *mut ID3D11PixelShader, 1775 ppClassInstances: *mut *mut ID3D11ClassInstance, 1776 pNumClassInstances: *mut UINT, 1777 ) -> (), 1778 fn PSGetSamplers( 1779 StartSlot: UINT, 1780 NumSamplers: UINT, 1781 ppSamplers: *mut *mut ID3D11SamplerState, 1782 ) -> (), 1783 fn VSGetShader( 1784 ppVertexShader: *mut *mut ID3D11VertexShader, 1785 ppClassInstances: *mut *mut ID3D11ClassInstance, 1786 pNumClassInstances: *mut UINT, 1787 ) -> (), 1788 fn PSGetConstantBuffers( 1789 StartSlot: UINT, 1790 NumBuffers: UINT, 1791 ppConstantBuffers: *mut *mut ID3D11Buffer, 1792 ) -> (), 1793 fn IAGetInputLayout( 1794 ppInputLayout: *mut *mut ID3D11InputLayout, 1795 ) -> (), 1796 fn IAGetVertexBuffers( 1797 StartSlot: UINT, 1798 NumBuffers: UINT, 1799 ppVertexBuffers: *mut *mut ID3D11Buffer, 1800 pStrides: *mut UINT, 1801 pOffsets: *mut UINT, 1802 ) -> (), 1803 fn IAGetIndexBuffer( 1804 pIndexBuffer: *mut *mut ID3D11Buffer, 1805 Format: *mut DXGI_FORMAT, 1806 Offset: *mut UINT, 1807 ) -> (), 1808 fn GSGetConstantBuffers( 1809 StartSlot: UINT, 1810 NumBuffers: UINT, 1811 ppConstantBuffers: *mut *mut ID3D11Buffer, 1812 ) -> (), 1813 fn GSGetShader( 1814 ppGeometryShader: *mut *mut ID3D11GeometryShader, 1815 ppClassInstances: *mut *mut ID3D11ClassInstance, 1816 pNumClassInstances: *mut UINT, 1817 ) -> (), 1818 fn IAGetPrimitiveTopology( 1819 pTopology: *mut D3D11_PRIMITIVE_TOPOLOGY, 1820 ) -> (), 1821 fn VSGetShaderResources( 1822 StartSlot: UINT, 1823 NumViews: UINT, 1824 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1825 ) -> (), 1826 fn VSGetSamplers( 1827 StartSlot: UINT, 1828 NumSamplers: UINT, 1829 ppSamplers: *mut *mut ID3D11SamplerState, 1830 ) -> (), 1831 fn GetPredication( 1832 ppPredicate: *mut *mut ID3D11Predicate, 1833 pPredicateValue: *mut BOOL, 1834 ) -> (), 1835 fn GSGetShaderResources( 1836 StartSlot: UINT, 1837 NumViews: UINT, 1838 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1839 ) -> (), 1840 fn GSGetSamplers( 1841 StartSlot: UINT, 1842 NumSamplers: UINT, 1843 ppSamplers: *mut *mut ID3D11SamplerState, 1844 ) -> (), 1845 fn OMGetRenderTargets( 1846 NumViews: UINT, 1847 ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, 1848 ppDepthStencilView: *mut *mut ID3D11DepthStencilView, 1849 ) -> (), 1850 fn OMGetRenderTargetsAndUnorderedAccessViews( 1851 NumRTVs: UINT, 1852 ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, 1853 ppDepthStencilView: *mut *mut ID3D11DepthStencilView, 1854 UAVStartSlot: UINT, 1855 NumUAVs: UINT, 1856 ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView, 1857 ) -> (), 1858 fn OMGetBlendState( 1859 ppBlendState: *mut *mut ID3D11BlendState, 1860 BlendFactor: &mut [FLOAT; 4], 1861 pSampleMask: *mut UINT, 1862 ) -> (), 1863 fn OMGetDepthStencilState( 1864 ppDepthStencilState: *mut *mut ID3D11DepthStencilState, 1865 pStencilRef: *mut UINT, 1866 ) -> (), 1867 fn SOGetTargets( 1868 NumBuffers: UINT, 1869 ppSOTargets: *mut *mut ID3D11Buffer, 1870 ) -> (), 1871 fn RSGetState( 1872 ppRasterizerState: *mut *mut ID3D11RasterizerState, 1873 ) -> (), 1874 fn RSGetViewports( 1875 pNumViewports: *mut UINT, 1876 pViewports: *mut D3D11_VIEWPORT, 1877 ) -> (), 1878 fn RSGetScissorRects( 1879 pNumRects: *mut UINT, 1880 pRects: *mut D3D11_RECT, 1881 ) -> (), 1882 fn HSGetShaderResources( 1883 StartSlot: UINT, 1884 NumViews: UINT, 1885 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1886 ) -> (), 1887 fn HSGetShader( 1888 ppHullShader: *mut *mut ID3D11HullShader, 1889 ppClassInstances: *mut *mut ID3D11ClassInstance, 1890 pNumClassInstances: *mut UINT, 1891 ) -> (), 1892 fn HSGetSamplers( 1893 StartSlot: UINT, 1894 NumSamplers: UINT, 1895 ppSamplers: *mut *mut ID3D11SamplerState, 1896 ) -> (), 1897 fn HSGetConstantBuffers( 1898 StartSlot: UINT, 1899 NumBuffers: UINT, 1900 ppConstantBuffers: *mut *mut ID3D11Buffer, 1901 ) -> (), 1902 fn DSGetShaderResources( 1903 StartSlot: UINT, 1904 NumViews: UINT, 1905 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1906 ) -> (), 1907 fn DSGetShader( 1908 ppDomainShader: *mut *mut ID3D11DomainShader, 1909 ppClassInstances: *mut *mut ID3D11ClassInstance, 1910 pNumClassInstances: *mut UINT, 1911 ) -> (), 1912 fn DSGetSamplers( 1913 StartSlot: UINT, 1914 NumSamplers: UINT, 1915 ppSamplers: *mut *mut ID3D11SamplerState, 1916 ) -> (), 1917 fn DSGetConstantBuffers( 1918 StartSlot: UINT, 1919 NumBuffers: UINT, 1920 ppConstantBuffers: *mut *mut ID3D11Buffer, 1921 ) -> (), 1922 fn CSGetShaderResources( 1923 StartSlot: UINT, 1924 NumViews: UINT, 1925 ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView, 1926 ) -> (), 1927 fn CSGetUnorderedAccessViews( 1928 StartSlot: UINT, 1929 NumUAVs: UINT, 1930 ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView, 1931 ) -> (), 1932 fn CSGetShader( 1933 ppComputeShader: *mut *mut ID3D11ComputeShader, 1934 ppClassInstances: *mut *mut ID3D11ClassInstance, 1935 pNumClassInstances: *mut UINT, 1936 ) -> (), 1937 fn CSGetSamplers( 1938 StartSlot: UINT, 1939 NumSamplers: UINT, 1940 ppSamplers: *mut *mut ID3D11SamplerState, 1941 ) -> (), 1942 fn CSGetConstantBuffers( 1943 StartSlot: UINT, 1944 NumBuffers: UINT, 1945 ppConstantBuffers: *mut *mut ID3D11Buffer, 1946 ) -> (), 1947 fn ClearState() -> (), 1948 fn Flush() -> (), 1949 fn GetType() -> D3D11_DEVICE_CONTEXT_TYPE, 1950 fn GetContextFlags() -> UINT, 1951 fn FinishCommandList( 1952 RestoreDeferredContextState: BOOL, 1953 ppCommandList: *mut *mut ID3D11CommandList, 1954 ) -> HRESULT, 1955 }} 1956 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_MOCOMP, 1957 0xe6a9f44b, 0x61b0, 0x4563, 0x9e, 0xa4, 0x63, 0xd2, 0xa3, 0xc6, 0xfe, 0x66} 1958 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_IDCT, 1959 0xbf22ad00, 0x03ea, 0x4690, 0x80, 0x77, 0x47, 0x33, 0x46, 0x20, 0x9b, 0x7e} 1960 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2_VLD, 1961 0xee27417f, 0x5e28, 0x4e65, 0xbe, 0xea, 0x1d, 0x26, 0xb5, 0x08, 0xad, 0xc9} 1962 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG1_VLD, 1963 0x6f3ec719, 0x3735, 0x42cc, 0x80, 0x63, 0x65, 0xcc, 0x3c, 0xb3, 0x66, 0x16} 1964 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG2and1_VLD, 1965 0x86695f12, 0x340e, 0x4f04, 0x9f, 0xd3, 0x92, 0x53, 0xdd, 0x32, 0x74, 0x60} 1966 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT, 1967 0x1b81be64, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1968 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_MOCOMP_FGT, 1969 0x1b81be65, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1970 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_IDCT_NOFGT, 1971 0x1b81be66, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1972 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_IDCT_FGT, 1973 0x1b81be67, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1974 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_NOFGT, 1975 0x1b81be68, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1976 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_FGT, 1977 0x1b81be69, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1978 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, 1979 0xd5f04ff9, 0x3418, 0x45d8, 0x95, 0x61, 0x32, 0xa7, 0x6a, 0xae, 0x2d, 0xdd} 1980 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 1981 0xd79be8da, 0x0cf1, 0x4c81, 0xb8, 0x2a, 0x69, 0xa4, 0xe2, 0x36, 0xf4, 0x3d} 1982 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 1983 0xf9aaccbb, 0xc2b6, 0x4cfc, 0x87, 0x79, 0x57, 0x07, 0xb1, 0x76, 0x05, 0x52} 1984 DEFINE_GUID!{D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT, 1985 0x705b9d82, 0x76cf, 0x49d6, 0xb7, 0xe6, 0xac, 0x88, 0x72, 0xdb, 0x01, 0x3c} 1986 DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV8_POSTPROC, 1987 0x1b81be80, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1988 DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV8_MOCOMP, 1989 0x1b81be81, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1990 DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_POSTPROC, 1991 0x1b81be90, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1992 DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_MOCOMP, 1993 0x1b81be91, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1994 DEFINE_GUID!{D3D11_DECODER_PROFILE_WMV9_IDCT, 1995 0x1b81be94, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1996 DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_POSTPROC, 1997 0x1b81bea0, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 1998 DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_MOCOMP, 1999 0x1b81bea1, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 2000 DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_IDCT, 2001 0x1b81bea2, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 2002 DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_VLD, 2003 0x1b81bea3, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 2004 DEFINE_GUID!{D3D11_DECODER_PROFILE_VC1_D2010, 2005 0x1b81bea4, 0xa0c7, 0x11d3, 0xb9, 0x84, 0x00, 0xc0, 0x4f, 0x2e, 0x73, 0xc5} 2006 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE, 2007 0xefd64d74, 0xc9e8, 0x41d7, 0xa5, 0xe9, 0xe9, 0xb0, 0xe3, 0x9f, 0xa3, 0x19} 2008 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC, 2009 0xed418a9f, 0x010d, 0x4eda, 0x9a, 0xe3, 0x9a, 0x65, 0x35, 0x8d, 0x8d, 0x2e} 2010 DEFINE_GUID!{D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC, 2011 0xab998b5b, 0x4258, 0x44a9, 0x9f, 0xeb, 0x94, 0xe5, 0x97, 0xa6, 0xba, 0xae} 2012 DEFINE_GUID!{D3D11_DECODER_PROFILE_HEVC_VLD_MAIN, 2013 0x5b11d51b, 0x2f4c, 0x4452, 0xbc, 0xc3, 0x09, 0xf2, 0xa1, 0x16, 0x0c, 0xc0} 2014 DEFINE_GUID!{D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10, 2015 0x107af0e0, 0xef1a, 0x4d19, 0xab, 0xa8, 0x67, 0xa1, 0x63, 0x07, 0x3d, 0x13} 2016 DEFINE_GUID!{D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0, 2017 0x463707f8, 0xa1d0, 0x4585, 0x87, 0x6d, 0x83, 0xaa, 0x6d, 0x60, 0xb8, 0x9e} 2018 DEFINE_GUID!{D3D11_DECODER_PROFILE_VP8_VLD, 2019 0x90b899ea, 0x3a62, 0x4705, 0x88, 0xb3, 0x8d, 0xf0, 0x4b, 0x27, 0x44, 0xe7} 2020 STRUCT!{struct D3D11_VIDEO_DECODER_DESC { 2021 Guid: GUID, 2022 SampleWidth: UINT, 2023 SampleHeight: UINT, 2024 OutputFormat: DXGI_FORMAT, 2025 }} 2026 STRUCT!{struct D3D11_VIDEO_DECODER_CONFIG { 2027 guidConfigBitstreamEncryption: GUID, 2028 guidConfigMBcontrolEncryption: GUID, 2029 guidConfigResidDiffEncryption: GUID, 2030 ConfigBitstreamRaw: UINT, 2031 ConfigMBcontrolRasterOrder: UINT, 2032 ConfigResidDiffHost: UINT, 2033 ConfigSpatialResid8: UINT, 2034 ConfigResid8Subtraction: UINT, 2035 ConfigSpatialHost8or9Clipping: UINT, 2036 ConfigSpatialResidInterleaved: UINT, 2037 ConfigIntraResidUnsigned: UINT, 2038 ConfigResidDiffAccelerator: UINT, 2039 ConfigHostInverseScan: UINT, 2040 ConfigSpecificIDCT: UINT, 2041 Config4GroupedCoefs: UINT, 2042 ConfigMinRenderTargetBuffCount: USHORT, 2043 ConfigDecoderSpecific: USHORT, 2044 }} 2045 ENUM!{enum D3D11_VIDEO_DECODER_BUFFER_TYPE { 2046 D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0, 2047 D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1, 2048 D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2, 2049 D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3, 2050 D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4, 2051 D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5, 2052 D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6, 2053 D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7, 2054 D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8, 2055 }} 2056 STRUCT!{struct D3D11_AES_CTR_IV { 2057 IV: UINT64, 2058 Count: UINT64, 2059 }} 2060 STRUCT!{struct D3D11_ENCRYPTED_BLOCK_INFO { 2061 NumEncryptedBytesAtBeginning: UINT, 2062 NumBytesInSkipPattern: UINT, 2063 NumBytesInEncryptPattern: UINT, 2064 }} 2065 STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC { 2066 BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE, 2067 BufferIndex: UINT, 2068 DataOffset: UINT, 2069 DataSize: UINT, 2070 FirstMBaddress: UINT, 2071 NumMBsInBuffer: UINT, 2072 Width: UINT, 2073 Height: UINT, 2074 Stride: UINT, 2075 ReservedBits: UINT, 2076 pIV: *mut c_void, 2077 IVSize: UINT, 2078 PartialEncryption: BOOL, 2079 EncryptedBlockInfo: D3D11_ENCRYPTED_BLOCK_INFO, 2080 }} 2081 STRUCT!{struct D3D11_VIDEO_DECODER_EXTENSION { 2082 Function: UINT, 2083 pPrivateInputData: *mut c_void, 2084 PrivateInputDataSize: UINT, 2085 pPrivateOutputData: *mut c_void, 2086 PrivateOutputDataSize: UINT, 2087 ResourceCount: UINT, 2088 ppResourceList: *mut *mut ID3D11Resource, 2089 }} 2090 RIDL!{#[uuid(0x3c9c5b51, 0x995d, 0x48d1, 0x9b, 0x8d, 0xfa, 0x5c, 0xae, 0xde, 0xd6, 0x5c)] 2091 interface ID3D11VideoDecoder(ID3D11VideoDecoderVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2092 fn GetCreationParameters( 2093 pVideoDesc: *mut D3D11_VIDEO_DECODER_DESC, 2094 pConfig: *mut D3D11_VIDEO_DECODER_CONFIG, 2095 ) -> HRESULT, 2096 fn GetDriverHandle( 2097 pDriverHandle: *mut HANDLE, 2098 ) -> HRESULT, 2099 }} 2100 ENUM!{enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT { 2101 D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x1, 2102 D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2, 2103 }} 2104 ENUM!{enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS { 2105 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1, 2106 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2, 2107 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4, 2108 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8, 2109 D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10, 2110 }} 2111 ENUM!{enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS { 2112 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1, 2113 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2, 2114 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4, 2115 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8, 2116 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10, 2117 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20, 2118 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40, 2119 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80, 2120 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100, 2121 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200, 2122 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400, 2123 }} 2124 ENUM!{enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS { 2125 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1, 2126 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2, 2127 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4, 2128 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8, 2129 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10, 2130 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20, 2131 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40, 2132 D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80, 2133 }} 2134 ENUM!{enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS { 2135 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1, 2136 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2, 2137 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4, 2138 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8, 2139 }} 2140 ENUM!{enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS { 2141 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1, 2142 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2, 2143 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4, 2144 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8, 2145 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10, 2146 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20, 2147 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40, 2148 D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80, 2149 }} 2150 ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS { 2151 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1, 2152 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2, 2153 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4, 2154 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8, 2155 D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10, 2156 }} 2157 STRUCT!{struct D3D11_VIDEO_PROCESSOR_CAPS { 2158 DeviceCaps: UINT, 2159 FeatureCaps: UINT, 2160 FilterCaps: UINT, 2161 InputFormatCaps: UINT, 2162 AutoStreamCaps: UINT, 2163 StereoCaps: UINT, 2164 RateConversionCapsCount: UINT, 2165 MaxInputStreams: UINT, 2166 MaxStreamStates: UINT, 2167 }} 2168 ENUM!{enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS { 2169 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1, 2170 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2, 2171 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4, 2172 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8, 2173 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, 2174 D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, 2175 }} 2176 ENUM!{enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS { 2177 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x1, 2178 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x2, 2179 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x4, 2180 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x8, 2181 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x10, 2182 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x20, 2183 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x40, 2184 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x80, 2185 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x100, 2186 D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000, 2187 }} 2188 STRUCT!{struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS { 2189 PastFrames: UINT, 2190 FutureFrames: UINT, 2191 ProcessorCaps: UINT, 2192 ITelecineCaps: UINT, 2193 CustomRateCount: UINT, 2194 }} 2195 ENUM!{enum D3D11_CONTENT_PROTECTION_CAPS { 2196 D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1, 2197 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2, 2198 D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4, 2199 D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8, 2200 D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10, 2201 D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20, 2202 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40, 2203 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80, 2204 D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100, 2205 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200, 2206 D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400, 2207 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800, 2208 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000, 2209 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000, 2210 D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000, 2211 }} 2212 DEFINE_GUID!{D3D11_CRYPTO_TYPE_AES128_CTR, 2213 0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0x0b, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f} 2214 DEFINE_GUID!{D3D11_DECODER_ENCRYPTION_HW_CENC, 2215 0x89d6ac4f, 0x09f2, 0x4229, 0xb2, 0xcd, 0x37, 0x74, 0x0a, 0x6d, 0xfd, 0x81} 2216 DEFINE_GUID!{D3D11_KEY_EXCHANGE_HW_PROTECTION, 2217 0xb1170d8a, 0x628d, 0x4da3, 0xad, 0x3b, 0x82, 0xdd, 0xb0, 0x8b, 0x49, 0x70} 2218 STRUCT!{struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS { 2219 Caps: UINT, 2220 KeyExchangeTypeCount: UINT, 2221 BlockAlignmentSize: UINT, 2222 ProtectedMemorySize: ULONGLONG, 2223 }} 2224 STRUCT!{struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE { 2225 CustomRate: DXGI_RATIONAL, 2226 OutputFrames: UINT, 2227 InputInterlaced: BOOL, 2228 InputFramesOrFields: UINT, 2229 }} 2230 ENUM!{enum D3D11_VIDEO_PROCESSOR_FILTER { 2231 D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0, 2232 D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1, 2233 D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2, 2234 D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3, 2235 D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4, 2236 D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5, 2237 D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6, 2238 D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7, 2239 }} 2240 STRUCT!{struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE { 2241 Minimum: c_int, 2242 Maximum: c_int, 2243 Default: c_int, 2244 Multiplier: c_float, 2245 }} 2246 ENUM!{enum D3D11_VIDEO_FRAME_FORMAT { 2247 D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0, 2248 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, 2249 D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2, 2250 }} 2251 ENUM!{enum D3D11_VIDEO_USAGE { 2252 D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0, 2253 D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1, 2254 D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2, 2255 }} 2256 STRUCT!{struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC { 2257 InputFrameFormat: D3D11_VIDEO_FRAME_FORMAT, 2258 InputFrameRate: DXGI_RATIONAL, 2259 InputWidth: UINT, 2260 InputHeight: UINT, 2261 OutputFrameRate: DXGI_RATIONAL, 2262 OutputWidth: UINT, 2263 OutputHeight: UINT, 2264 Usage: D3D11_VIDEO_USAGE, 2265 }} 2266 RIDL!{#[uuid(0x31627037, 0x53ab, 0x4200, 0x90, 0x61, 0x05, 0xfa, 0xa9, 0xab, 0x45, 0xf9)] 2267 interface ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl): 2268 ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2269 fn GetVideoProcessorContentDesc( 2270 pContentDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC, 2271 ) -> HRESULT, 2272 fn CheckVideoProcessorFormat( 2273 Format: DXGI_FORMAT, 2274 pFlags: *mut UINT, 2275 ) -> HRESULT, 2276 fn GetVideoProcessorCaps( 2277 pCaps: *mut D3D11_VIDEO_PROCESSOR_CAPS, 2278 ) -> HRESULT, 2279 fn GetVideoProcessorRateConversionCaps( 2280 TypeIndex: UINT, 2281 pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS, 2282 ) -> HRESULT, 2283 fn GetVideoProcessorCustomRate( 2284 TypeIndex: UINT, 2285 CustomRateIndex: UINT, 2286 pRate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE, 2287 ) -> HRESULT, 2288 fn GetVideoProcessorFilterRange( 2289 Filter: D3D11_VIDEO_PROCESSOR_FILTER, 2290 Range: *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE, 2291 ) -> HRESULT, 2292 }} 2293 STRUCT!{struct D3D11_VIDEO_COLOR_RGBA { 2294 R: c_float, 2295 G: c_float, 2296 B: c_float, 2297 A: c_float, 2298 }} 2299 STRUCT!{struct D3D11_VIDEO_COLOR_YCbCrA { 2300 Y: c_float, 2301 Cb: c_float, 2302 Cr: c_float, 2303 A: c_float, 2304 }} 2305 UNION!{union D3D11_VIDEO_COLOR { 2306 [f32; 4], 2307 YCbCr YCbCr_mut: D3D11_VIDEO_COLOR_YCbCrA, 2308 RGBA RGBA_mut: D3D11_VIDEO_COLOR_RGBA, 2309 }} 2310 ENUM!{enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE { 2311 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0, 2312 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 1, 2313 D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 2, 2314 }} 2315 STRUCT!{struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE { 2316 bitfield: UINT, 2317 }} 2318 BITFIELD!{D3D11_VIDEO_PROCESSOR_COLOR_SPACE bitfield: UINT [ 2319 Usage set_Usage[0..1], 2320 RGB_Range set_RGB_Range[1..2], 2321 YCbCr_Matrix set_YCbCr_Matrix[2..3], 2322 YCbCr_xvYCC set_YCbCr_xvYCC[3..4], 2323 Nominal_Range set_Nominal_Range[4..6], 2324 ]} 2325 ENUM!{enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE { 2326 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0, 2327 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1, 2328 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2, 2329 D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3, 2330 }} 2331 ENUM!{enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE { 2332 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0, 2333 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1, 2334 D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2, 2335 }} 2336 ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT { 2337 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0, 2338 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1, 2339 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2, 2340 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3, 2341 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4, 2342 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5, 2343 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6, 2344 D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7, 2345 }} 2346 ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE { 2347 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0, 2348 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1, 2349 D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2, 2350 }} 2351 ENUM!{enum D3D11_VIDEO_PROCESSOR_ROTATION { 2352 D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0, 2353 D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1, 2354 D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2, 2355 D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3, 2356 }} 2357 STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM { 2358 Enable: BOOL, 2359 OutputIndex: UINT, 2360 InputFrameOrField: UINT, 2361 PastFrames: UINT, 2362 FutureFrames: UINT, 2363 ppPastSurfaces: *mut *mut ID3D11VideoProcessorInputView, 2364 pInputSurface: *mut ID3D11VideoProcessorInputView, 2365 ppFutureSurfaces: *mut *mut ID3D11VideoProcessorInputView, 2366 ppPastSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, 2367 pInputSurfaceRight: *mut ID3D11VideoProcessorInputView, 2368 ppFutureSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, 2369 }} 2370 RIDL!{#[uuid(0x1d7b0652, 0x185f, 0x41c6, 0x85, 0xce, 0x0c, 0x5b, 0xe3, 0xd4, 0xae, 0x6c)] 2371 interface ID3D11VideoProcessor(ID3D11VideoProcessorVtbl): 2372 ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2373 fn GetContentDesc( 2374 pDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC, 2375 ) -> (), 2376 fn GetRateConversionCaps( 2377 pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS, 2378 ) -> (), 2379 }} 2380 STRUCT!{struct D3D11_OMAC { 2381 Omac: [BYTE; 16], 2382 }} 2383 ENUM!{enum D3D11_AUTHENTICATED_CHANNEL_TYPE { 2384 D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1, 2385 D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2, 2386 D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3, 2387 }} 2388 RIDL!{#[uuid(0x3015a308, 0xdcbd, 0x47aa, 0xa7, 0x47, 0x19, 0x24, 0x86, 0xd1, 0x4d, 0x4a)] 2389 interface ID3D11AuthenticatedChannel(ID3D11AuthenticatedChannelVtbl): 2390 ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2391 fn GetCertificateSize( 2392 pCertificateSize: *mut UINT, 2393 ) -> HRESULT, 2394 fn GetCertificate( 2395 CertificateSize: UINT, 2396 pCertificate: *mut BYTE, 2397 ) -> HRESULT, 2398 fn GetChannelHandle( 2399 pChannelHandle: *mut HANDLE, 2400 ) -> (), 2401 }} 2402 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_PROTECTION, 2403 0xa84eb584, 0xc495, 0x48aa, 0xb9, 0x4d, 0x8b, 0xd2, 0xd6, 0xfb, 0xce, 0x05} 2404 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE, 2405 0xbc1b18a5, 0xb1fb, 0x42ab, 0xbd, 0x94, 0xb5, 0x82, 0x8b, 0x4b, 0xf7, 0xbe} 2406 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE, 2407 0xec1c539d, 0x8cff, 0x4e2a, 0xbc, 0xc4, 0xf5, 0x69, 0x2f, 0x99, 0xf4, 0x80} 2408 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION, 2409 0x2634499e, 0xd018, 0x4d74, 0xac, 0x17, 0x7f, 0x72, 0x40, 0x59, 0x52, 0x8d} 2410 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT, 2411 0x0db207b3, 0x9450, 0x46a6, 0x82, 0xde, 0x1b, 0x96, 0xd4, 0x4f, 0x9c, 0xf2} 2412 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS, 2413 0x649bbadb, 0xf0f4, 0x4639, 0xa1, 0x5b, 0x24, 0x39, 0x3f, 0xc3, 0xab, 0xac} 2414 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT, 2415 0x012f0bd6, 0xe662, 0x4474, 0xbe, 0xfd, 0xaa, 0x53, 0xe5, 0x14, 0x3c, 0x6d} 2416 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT, 2417 0x2c042b5e, 0x8c07, 0x46d5, 0xaa, 0xbe, 0x8f, 0x75, 0xcb, 0xad, 0x4c, 0x31} 2418 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_OUTPUT_ID, 2419 0x839ddca3, 0x9b4e, 0x41e4, 0xb0, 0x53, 0x89, 0x2b, 0xd2, 0xa1, 0x1e, 0xe7} 2420 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ATTRIBUTES, 2421 0x6214d9d2, 0x432c, 0x4abb, 0x9f, 0xce, 0x21, 0x6e, 0xea, 0x26, 0x9e, 0x3b} 2422 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID_COUNT, 2423 0xb30f7066, 0x203c, 0x4b07, 0x93, 0xfc, 0xce, 0xaa, 0xfd, 0x61, 0x24, 0x1e} 2424 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_ENCRYPTION_WHEN_ACCESSIBLE_GUID, 2425 0xf83a5958, 0xe986, 0x4bda, 0xbe, 0xb0, 0x41, 0x1f, 0x6a, 0x7a, 0x01, 0xb7} 2426 DEFINE_GUID!{D3D11_AUTHENTICATED_QUERY_CURRENT_ENCRYPTION_WHEN_ACCESSIBLE, 2427 0xec1791c7, 0xdad3, 0x4f15, 0x9e, 0xc3, 0xfa, 0xa9, 0x3d, 0x60, 0xd4, 0xf0} 2428 DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE, 2429 0x06114bdb, 0x3523, 0x470a, 0x8d, 0xca, 0xfb, 0xc2, 0x84, 0x51, 0x54, 0xf0} 2430 DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_PROTECTION, 2431 0x50455658, 0x3f47, 0x4362, 0xbf, 0x99, 0xbf, 0xdf, 0xcd, 0xe9, 0xed, 0x29} 2432 DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION, 2433 0x6346cc54, 0x2cfc, 0x4ad4, 0x82, 0x24, 0xd1, 0x58, 0x37, 0xde, 0x77, 0x00} 2434 DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE, 2435 0x0772d047, 0x1b40, 0x48e8, 0x9c, 0xa6, 0xb5, 0xf5, 0x10, 0xde, 0x9f, 0x01} 2436 DEFINE_GUID!{D3D11_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE, 2437 0x41fff286, 0x6ae0, 0x4d43, 0x9d, 0x55, 0xa4, 0x6e, 0x9e, 0xfd, 0x15, 0x8a} 2438 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_INPUT { 2439 QueryType: GUID, 2440 hChannel: HANDLE, 2441 SequenceNumber: UINT, 2442 }} 2443 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT { 2444 omac: D3D11_OMAC, 2445 QueryType: GUID, 2446 hChannel: HANDLE, 2447 SequenceNumber: UINT, 2448 ReturnCode: HRESULT, 2449 }} 2450 //FIXME bitfield 2451 STRUCT!{struct D3D11_AUTHENTICATED_PROTECTION_FLAGS { 2452 u: UINT, 2453 }} 2454 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT { 2455 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2456 ProtectionFlags: D3D11_AUTHENTICATED_PROTECTION_FLAGS, 2457 }} 2458 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT { 2459 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2460 ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, 2461 }} 2462 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT { 2463 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2464 DeviceHandle: HANDLE, 2465 }} 2466 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT { 2467 Input: D3D11_AUTHENTICATED_QUERY_INPUT, 2468 DecoderHandle: HANDLE, 2469 }} 2470 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT { 2471 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2472 DecoderHandle: HANDLE, 2473 CryptoSessionHandle: HANDLE, 2474 DeviceHandle: HANDLE, 2475 }} 2476 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT { 2477 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2478 RestrictedSharedResourceProcessCount: UINT, 2479 }} 2480 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT { 2481 Input: D3D11_AUTHENTICATED_QUERY_INPUT, 2482 ProcessIndex: UINT, 2483 }} 2484 ENUM!{enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE { 2485 D3D11_PROCESSIDTYPE_UNKNOWN = 0, 2486 D3D11_PROCESSIDTYPE_DWM = 1, 2487 D3D11_PROCESSIDTYPE_HANDLE = 2, 2488 }} 2489 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT { 2490 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2491 ProcessIndex: UINT, 2492 ProcessIdentifier: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, 2493 ProcessHandle: HANDLE, 2494 }} 2495 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT { 2496 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2497 UnrestrictedProtectedSharedResourceCount: UINT, 2498 }} 2499 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT { 2500 Input: D3D11_AUTHENTICATED_QUERY_INPUT, 2501 DeviceHandle: HANDLE, 2502 CryptoSessionHandle: HANDLE, 2503 }} 2504 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT { 2505 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2506 DeviceHandle: HANDLE, 2507 CryptoSessionHandle: HANDLE, 2508 OutputIDCount: UINT, 2509 }} 2510 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT { 2511 Input: D3D11_AUTHENTICATED_QUERY_INPUT, 2512 DeviceHandle: HANDLE, 2513 CryptoSessionHandle: HANDLE, 2514 OutputIDIndex: UINT, 2515 }} 2516 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT { 2517 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2518 DeviceHandle: HANDLE, 2519 CryptoSessionHandle: HANDLE, 2520 OutputIDIndex: UINT, 2521 OutputID: UINT64, 2522 }} 2523 ENUM!{enum D3D11_BUS_TYPE { 2524 D3D11_BUS_TYPE_OTHER = 0, 2525 D3D11_BUS_TYPE_PCI = 0x1, 2526 D3D11_BUS_TYPE_PCIX = 0x2, 2527 D3D11_BUS_TYPE_PCIEXPRESS = 0x3, 2528 D3D11_BUS_TYPE_AGP = 0x4, 2529 D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x10000, 2530 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000, 2531 D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000, 2532 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000, 2533 D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000, 2534 D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000, 2535 }} 2536 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT { 2537 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2538 BusType: D3D11_BUS_TYPE, 2539 AccessibleInContiguousBlocks: BOOL, 2540 AccessibleInNonContiguousBlocks: BOOL, 2541 }} 2542 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT { 2543 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2544 EncryptionGuidCount: UINT, 2545 }} 2546 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT { 2547 Input: D3D11_AUTHENTICATED_QUERY_INPUT, 2548 EncryptionGuidIndex: UINT, 2549 }} 2550 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT { 2551 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2552 EncryptionGuidIndex: UINT, 2553 EncryptionGuid: GUID, 2554 }} 2555 STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT { 2556 Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, 2557 EncryptionGuid: GUID, 2558 }} 2559 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INPUT { 2560 omac: D3D11_OMAC, 2561 ConfigureType: GUID, 2562 hChannel: HANDLE, 2563 SequenceNumber: UINT, 2564 }} 2565 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT { 2566 omac: D3D11_OMAC, 2567 ConfigureType: GUID, 2568 hChannel: HANDLE, 2569 SequenceNumber: UINT, 2570 ReturnCode: HRESULT, 2571 }} 2572 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT { 2573 Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, 2574 StartSequenceQuery: UINT, 2575 StartSequenceConfigure: UINT, 2576 }} 2577 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT { 2578 Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, 2579 Protections: D3D11_AUTHENTICATED_PROTECTION_FLAGS, 2580 }} 2581 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT { 2582 Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, 2583 DecoderHandle: HANDLE, 2584 CryptoSessionHandle: HANDLE, 2585 DeviceHandle: HANDLE, 2586 }} 2587 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT { 2588 Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, 2589 ProcessType: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, 2590 ProcessHandle: HANDLE, 2591 AllowAccess: BOOL, 2592 }} 2593 STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT { 2594 Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, 2595 EncryptionGuid: GUID, 2596 }} 2597 DEFINE_GUID!{D3D11_KEY_EXCHANGE_RSAES_OAEP, 2598 0xc1949895, 0xd72a, 0x4a1d, 0x8e, 0x5d, 0xed, 0x85, 0x7d, 0x17, 0x15, 0x20} 2599 RIDL!{#[uuid(0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3, 0x9d, 0xd5, 0xc8, 0x65, 0x84, 0x57, 0x20)] 2600 interface ID3D11CryptoSession(ID3D11CryptoSessionVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2601 fn GetCryptoType( 2602 pCryptoType: *mut GUID, 2603 ) -> (), 2604 fn GetDecoderProfile( 2605 pDecoderProfile: *mut GUID, 2606 ) -> (), 2607 fn GetCertificateSize( 2608 pCertificateSize: *mut UINT, 2609 ) -> HRESULT, 2610 fn GetCertificate( 2611 CertificateSize: UINT, 2612 pCertificate: *mut BYTE, 2613 ) -> HRESULT, 2614 fn GetCryptoSessionHandle( 2615 pCertificate: *mut HANDLE, 2616 ) -> (), 2617 }} 2618 ENUM!{enum D3D11_VDOV_DIMENSION { 2619 D3D11_VDOV_DIMENSION_UNKNOWN = 0, 2620 D3D11_VDOV_DIMENSION_TEXTURE2D = 1, 2621 }} 2622 STRUCT!{struct D3D11_TEX2D_VDOV { 2623 ArraySlice: UINT, 2624 }} 2625 STRUCT!{struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC { 2626 DecodeProfile: GUID, 2627 ViewDimension: D3D11_VDOV_DIMENSION, 2628 Texture2D: D3D11_TEX2D_VDOV, 2629 }} 2630 RIDL!{#[uuid(0xc2931aea, 0x2a85, 0x4f20, 0x86, 0x0f, 0xfb, 0xa1, 0xfd, 0x25, 0x6e, 0x18)] 2631 interface ID3D11VideoDecoderOutputView(ID3D11VideoDecoderOutputViewVtbl): 2632 ID3D11View(ID3D11ViewVtbl) { 2633 fn GetDesc( 2634 pDesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, 2635 ) -> (), 2636 }} 2637 ENUM!{enum D3D11_VPIV_DIMENSION { 2638 D3D11_VPIV_DIMENSION_UNKNOWN = 0, 2639 D3D11_VPIV_DIMENSION_TEXTURE2D = 1, 2640 }} 2641 STRUCT!{struct D3D11_TEX2D_VPIV { 2642 MipSlice: UINT, 2643 ArraySlice: UINT, 2644 }} 2645 STRUCT!{struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC { 2646 FourCC: UINT, 2647 ViewDimension: D3D11_VPIV_DIMENSION, 2648 Texture2D: D3D11_TEX2D_VPIV, 2649 }} 2650 RIDL!{#[uuid(0x11ec5a5f, 0x51dc, 0x4945, 0xab, 0x34, 0x6e, 0x8c, 0x21, 0x30, 0x0e, 0xa5)] 2651 interface ID3D11VideoProcessorInputView(ID3D11VideoProcessorInputViewVtbl): 2652 ID3D11View(ID3D11ViewVtbl) { 2653 fn GetDesc( 2654 pDesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, 2655 ) -> (), 2656 }} 2657 ENUM!{enum D3D11_VPOV_DIMENSION { 2658 D3D11_VPOV_DIMENSION_UNKNOWN = 0, 2659 D3D11_VPOV_DIMENSION_TEXTURE2D = 1, 2660 D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2, 2661 }} 2662 STRUCT!{struct D3D11_TEX2D_VPOV { 2663 MipSlice: UINT, 2664 }} 2665 STRUCT!{struct D3D11_TEX2D_ARRAY_VPOV { 2666 MipSlice: UINT, 2667 FirstArraySlice: UINT, 2668 ArraySize: UINT, 2669 }} 2670 UNION!{union D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_u { 2671 [u32; 3], 2672 Texture2D Texture2D_mut: D3D11_TEX2D_VPOV, 2673 Texture2DArray Texture2DArray_mut: D3D11_TEX2D_ARRAY_VPOV, 2674 }} 2675 STRUCT!{struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC { 2676 ViewDimension: D3D11_VPOV_DIMENSION, 2677 u: D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC_u, 2678 }} 2679 RIDL!{#[uuid(0xa048285e, 0x25a9, 0x4527, 0xbd, 0x93, 0xd6, 0x8b, 0x68, 0xc4, 0x42, 0x54)] 2680 interface ID3D11VideoProcessorOutputView(ID3D11VideoProcessorOutputViewVtbl): 2681 ID3D11View(ID3D11ViewVtbl) { 2682 fn GetDesc( 2683 pDesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, 2684 ) -> (), 2685 }} 2686 RIDL!{#[uuid(0x61f21c45, 0x3c0e, 0x4a74, 0x9c, 0xea, 0x67, 0x10, 0x0d, 0x9a, 0xd5, 0xe4)] 2687 interface ID3D11VideoContext(ID3D11VideoContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { 2688 fn GetDecoderBuffer( 2689 pDecoder: *mut ID3D11VideoDecoder, 2690 Type: D3D11_VIDEO_DECODER_BUFFER_TYPE, 2691 pBufferSize: *mut UINT, 2692 ppBuffer: *mut *mut c_void, 2693 ) -> HRESULT, 2694 fn ReleaseDecoderBuffer( 2695 pDecoder: *mut ID3D11VideoDecoder, 2696 Type: D3D11_VIDEO_DECODER_BUFFER_TYPE, 2697 ) -> HRESULT, 2698 fn DecoderBeginFrame( 2699 pDecoder: *mut ID3D11VideoDecoder, 2700 pView: *mut ID3D11VideoDecoderOutputView, 2701 ContentKeySize: UINT, 2702 pContentKey: *const c_void, 2703 ) -> HRESULT, 2704 fn DecoderEndFrame( 2705 pDecoder: *mut ID3D11VideoDecoder, 2706 ) -> HRESULT, 2707 fn SubmitDecoderBuffers( 2708 pDecoder: *mut ID3D11VideoDecoder, 2709 NumBuffers: UINT, 2710 pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC, 2711 ) -> HRESULT, 2712 fn DecoderExtension( 2713 pDecoder: *mut ID3D11VideoDecoder, 2714 pExtensionData: *const D3D11_VIDEO_DECODER_EXTENSION, 2715 ) -> HRESULT, 2716 fn VideoProcessorSetOutputTargetRect( 2717 pVideoProcessor: *mut ID3D11VideoProcessor, 2718 Enable: BOOL, 2719 pRect: *const RECT, 2720 ) -> (), 2721 fn VideoProcessorSetOutputBackgroundColor( 2722 pVideoProcessor: *mut ID3D11VideoProcessor, 2723 YCbCr: BOOL, 2724 pRect: *const RECT, 2725 ) -> (), 2726 fn VideoProcessorSetOutputColorSpace( 2727 pVideoProcessor: *mut ID3D11VideoProcessor, 2728 pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE, 2729 ) -> HRESULT, 2730 fn VideoProcessorSetOutputAlphaFillMode( 2731 pVideoProcessor: *mut ID3D11VideoProcessor, 2732 AlphaFillMode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, 2733 StreamIndex: UINT, 2734 ) -> (), 2735 fn VideoProcessorSetOutputConstriction( 2736 pVideoProcessor: *mut ID3D11VideoProcessor, 2737 Enable: BOOL, 2738 Size: SIZE, 2739 ) -> (), 2740 fn VideoProcessorSetOutputStereoMode( 2741 pVideoProcessor: *mut ID3D11VideoProcessor, 2742 Enable: BOOL, 2743 ) -> (), 2744 fn VideoProcessorSetOutputExtension( 2745 pVideoProcessor: *mut ID3D11VideoProcessor, 2746 pExtensionGuid: *const GUID, 2747 DataSize: UINT, 2748 pData: *mut c_void, 2749 ) -> HRESULT, 2750 fn VideoProcessorGetOutputTargetRect( 2751 pVideoProcessor: *mut ID3D11VideoProcessor, 2752 Enabled: *mut BOOL, 2753 pRect: *mut RECT, 2754 ) -> (), 2755 fn VideoProcessorGetOutputBackgroundColor( 2756 pVideoProcessor: *mut ID3D11VideoProcessor, 2757 pYCbCr: *mut BOOL, 2758 pColor: *mut D3D11_VIDEO_COLOR, 2759 ) -> (), 2760 fn VideoProcessorGetOutputColorSpace( 2761 pVideoProcessor: *mut ID3D11VideoProcessor, 2762 pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE, 2763 ) -> (), 2764 fn VideoProcessorGetOutputAlphaFillMode( 2765 pVideoProcessor: *mut ID3D11VideoProcessor, 2766 pAlphaFillMode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, 2767 pStreamIndex: *mut UINT, 2768 ) -> (), 2769 fn VideoProcessorGetOutputConstriction( 2770 pVideoProcessor: *mut ID3D11VideoProcessor, 2771 pEnabled: *mut BOOL, 2772 pSize: *mut SIZE, 2773 ) -> (), 2774 fn VideoProcessorGetOutputStereoMode( 2775 pVideoProcessor: *mut ID3D11VideoProcessor, 2776 pEnabled: *mut BOOL, 2777 ) -> (), 2778 fn VideoProcessorGetOutputExtension( 2779 pVideoProcessor: *mut ID3D11VideoProcessor, 2780 pExtensionGuid: *const GUID, 2781 DataSize: UINT, 2782 pData: *mut c_void, 2783 ) -> HRESULT, 2784 fn VideoProcessorSetStreamFrameFormat( 2785 pVideoProcessor: *mut ID3D11VideoProcessor, 2786 StreamIndex: UINT, 2787 FrameFormat: D3D11_VIDEO_FRAME_FORMAT, 2788 ) -> (), 2789 fn VideoProcessorSetStreamColorSpace( 2790 pVideoProcessor: *mut ID3D11VideoProcessor, 2791 StreamIndex: UINT, 2792 pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE, 2793 ) -> (), 2794 fn VideoProcessorSetStreamOutputRate( 2795 pVideoProcessor: *mut ID3D11VideoProcessor, 2796 StreamIndex: UINT, 2797 OutputRate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, 2798 RepeatFrame: BOOL, 2799 pCustomRate: *const DXGI_RATIONAL, 2800 ) -> (), 2801 fn VideoProcessorSetStreamSourceRect( 2802 pVideoProcessor: *mut ID3D11VideoProcessor, 2803 StreamIndex: UINT, 2804 Enable: BOOL, 2805 pRect: *const RECT, 2806 ) -> (), 2807 fn VideoProcessorSetStreamDestRect( 2808 pVideoProcessor: *mut ID3D11VideoProcessor, 2809 StreamIndex: UINT, 2810 Enable: BOOL, 2811 pRect: *const RECT, 2812 ) -> (), 2813 fn VideoProcessorSetStreamAlpha( 2814 pVideoProcessor: *mut ID3D11VideoProcessor, 2815 StreamIndex: UINT, 2816 Enable: BOOL, 2817 Alpha: FLOAT, 2818 ) -> (), 2819 fn VideoProcessorSetStreamPalette( 2820 pVideoProcessor: *mut ID3D11VideoProcessor, 2821 StreamIndex: UINT, 2822 Count: UINT, 2823 pEntries: *const UINT, 2824 ) -> (), 2825 fn VideoProcessorSetStreamPixelAspectRatio( 2826 pVideoProcessor: *mut ID3D11VideoProcessor, 2827 StreamIndex: UINT, 2828 Enable: BOOL, 2829 pSourceAspectRatio: *const DXGI_RATIONAL, 2830 pDestinationAspectRatio: *const DXGI_RATIONAL, 2831 ) -> (), 2832 fn VideoProcessorSetStreamLumaKey( 2833 pVideoProcessor: *mut ID3D11VideoProcessor, 2834 StreamIndex: UINT, 2835 Enable: BOOL, 2836 Lower: FLOAT, 2837 Upper: FLOAT, 2838 ) -> (), 2839 fn VideoProcessorSetStreamStereoFormat( 2840 pVideoProcessor: *mut ID3D11VideoProcessor, 2841 StreamIndex: UINT, 2842 Enable: BOOL, 2843 Format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, 2844 LeftViewFrame0: BOOL, 2845 BaseViewFrame0: BOOL, 2846 FlipMode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, 2847 ) -> (), 2848 fn VideoProcessorSetStreamAutoProcessingMode( 2849 pVideoProcessor: *mut ID3D11VideoProcessor, 2850 StreamIndex: UINT, 2851 Enable: BOOL, 2852 ) -> (), 2853 fn VideoProcessorSetStreamFilter( 2854 pVideoProcessor: *mut ID3D11VideoProcessor, 2855 StreamIndex: UINT, 2856 Filter: D3D11_VIDEO_PROCESSOR_FILTER, 2857 Enable: BOOL, 2858 Level: c_int, 2859 ) -> (), 2860 fn VideoProcessorSetStreamExtension( 2861 pVideoProcessor: *mut ID3D11VideoProcessor, 2862 StreamIndex: UINT, 2863 pExtensionGuid: *const GUID, 2864 DataSize: UINT, 2865 pData: *mut c_void, 2866 ) -> HRESULT, 2867 fn VideoProcessorGetStreamFrameFormat( 2868 pVideoProcessor: *mut ID3D11VideoProcessor, 2869 StreamIndex: UINT, 2870 pFrameFormat: *mut D3D11_VIDEO_FRAME_FORMAT, 2871 ) -> (), 2872 fn VideoProcessorGetStreamColorSpace( 2873 pVideoProcessor: *mut ID3D11VideoProcessor, 2874 StreamIndex: UINT, 2875 pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE, 2876 ) -> (), 2877 fn VideoProcessorGetStreamOutputRate( 2878 pVideoProcessor: *mut ID3D11VideoProcessor, 2879 StreamIndex: UINT, 2880 pOutputRate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, 2881 pRepeatFrame: *mut BOOL, 2882 pCustomRate: *mut DXGI_RATIONAL, 2883 ) -> (), 2884 fn VideoProcessorGetStreamSourceRect( 2885 pVideoProcessor: *mut ID3D11VideoProcessor, 2886 StreamIndex: UINT, 2887 pEnabled: *mut BOOL, 2888 pRect: *mut RECT, 2889 ) -> (), 2890 fn VideoProcessorGetStreamDestRect( 2891 pVideoProcessor: *mut ID3D11VideoProcessor, 2892 StreamIndex: UINT, 2893 pEnabled: *mut BOOL, 2894 pRect: *mut RECT, 2895 ) -> (), 2896 fn VideoProcessorGetStreamAlpha( 2897 pVideoProcessor: *mut ID3D11VideoProcessor, 2898 StreamIndex: UINT, 2899 pEnabled: *mut BOOL, 2900 pAlpha: *mut FLOAT, 2901 ) -> (), 2902 fn VideoProcessorGetStreamPalette( 2903 pVideoProcessor: *mut ID3D11VideoProcessor, 2904 StreamIndex: UINT, 2905 Count: UINT, 2906 pEntries: *mut UINT, 2907 ) -> (), 2908 fn VideoProcessorGetStreamPixelAspectRatio( 2909 pVideoProcessor: *mut ID3D11VideoProcessor, 2910 StreamIndex: UINT, 2911 pEnabled: *mut BOOL, 2912 pSourceAspectRatio: *mut DXGI_RATIONAL, 2913 pDestinationAspectRatio: *mut DXGI_RATIONAL, 2914 ) -> (), 2915 fn VideoProcessorGetStreamLumaKey( 2916 pVideoProcessor: *mut ID3D11VideoProcessor, 2917 StreamIndex: UINT, 2918 pEnabled: *mut BOOL, 2919 pLower: *mut FLOAT, 2920 pUpper: *mut FLOAT, 2921 ) -> (), 2922 fn VideoProcessorGetStreamStereoFormat( 2923 pVideoProcessor: *mut ID3D11VideoProcessor, 2924 StreamIndex: UINT, 2925 pEnabled: *mut BOOL, 2926 pFormat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, 2927 pLeftViewFrame0: *mut BOOL, 2928 pBaseViewFrame0: *mut BOOL, 2929 pFlipMode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, 2930 MonoOffset: *mut c_int, 2931 ) -> (), 2932 fn VideoProcessorGetStreamAutoProcessingMode( 2933 pVideoProcessor: *mut ID3D11VideoProcessor, 2934 StreamIndex: UINT, 2935 pEnabled: *mut BOOL, 2936 ) -> (), 2937 fn VideoProcessorGetStreamFilter( 2938 pVideoProcessor: *mut ID3D11VideoProcessor, 2939 StreamIndex: UINT, 2940 Filter: D3D11_VIDEO_PROCESSOR_FILTER, 2941 pEnabled: *mut BOOL, 2942 pLevel: *mut c_int, 2943 ) -> (), 2944 fn VideoProcessorGetStreamExtension( 2945 pVideoProcessor: *mut ID3D11VideoProcessor, 2946 StreamIndex: UINT, 2947 pExtensionGuid: *const GUID, 2948 DataSize: UINT, 2949 pData: *mut c_void, 2950 ) -> HRESULT, 2951 fn VideoProcessorBlt( 2952 pVideoProcessor: *mut ID3D11VideoProcessor, 2953 pView: *mut ID3D11VideoProcessorOutputView, 2954 OutputFrame: UINT, 2955 StreamCount: UINT, 2956 pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM, 2957 ) -> HRESULT, 2958 fn NegotiateCryptoSessionKeyExchange( 2959 pCryptoSession: *mut ID3D11CryptoSession, 2960 DataSize: UINT, 2961 pData: *mut c_void, 2962 ) -> HRESULT, 2963 fn EncryptionBlt( 2964 pCryptoSession: *mut ID3D11CryptoSession, 2965 pSrcSurface: *mut ID3D11Texture2D, 2966 pDstSurface: *mut ID3D11Texture2D, 2967 IVSize: UINT, 2968 pIV: *mut c_void, 2969 ) -> HRESULT, 2970 fn DecryptionBlt( 2971 pCryptoSession: *mut ID3D11CryptoSession, 2972 pSrcSurface: *mut ID3D11Texture2D, 2973 pDstSurface: *mut ID3D11Texture2D, 2974 pEncryptedBlockInfo: *mut D3D11_ENCRYPTED_BLOCK_INFO, 2975 ContentKeySize: UINT, 2976 pContentKey: *const c_void, 2977 IVSize: UINT, 2978 pIV: *mut c_void, 2979 ) -> HRESULT, 2980 fn StartSessionKeyRefresh( 2981 pCryptoSession: *mut ID3D11CryptoSession, 2982 RandomNumberSize: UINT, 2983 pRandomNumber: *mut c_void, 2984 ) -> HRESULT, 2985 fn FinishSessionKeyRefresh( 2986 pCryptoSession: *mut ID3D11CryptoSession, 2987 ) -> HRESULT, 2988 fn GetEncryptionBltKey( 2989 pCryptoSession: *mut ID3D11CryptoSession, 2990 KeySize: UINT, 2991 pReadbackKey: *mut c_void, 2992 ) -> HRESULT, 2993 fn NegotiateAuthenticatedChannelKeyExchange( 2994 pChannel: *mut ID3D11AuthenticatedChannel, 2995 DataSize: UINT, 2996 pData: *mut c_void, 2997 ) -> HRESULT, 2998 fn QueryAuthenticatedChannel( 2999 pChannel: *mut ID3D11AuthenticatedChannel, 3000 InputSize: UINT, 3001 pInput: *const c_void, 3002 OutputSize: UINT, 3003 pOutput: *mut c_void, 3004 ) -> HRESULT, 3005 fn ConfigureAuthenticatedChannel( 3006 pChannel: *mut ID3D11AuthenticatedChannel, 3007 InputSize: UINT, 3008 pInput: *const c_void, 3009 pOutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT, 3010 ) -> HRESULT, 3011 fn VideoProcessorSetStreamRotation( 3012 pVideoProcessor: *mut ID3D11VideoProcessor, 3013 StreamIndex: UINT, 3014 Enable: BOOL, 3015 Rotation: D3D11_VIDEO_PROCESSOR_ROTATION, 3016 ) -> HRESULT, 3017 fn VideoProcessorGetStreamRotation( 3018 pVideoProcessor: *mut ID3D11VideoProcessor, 3019 StreamIndex: UINT, 3020 pEnable: *mut BOOL, 3021 pRotation: *mut D3D11_VIDEO_PROCESSOR_ROTATION, 3022 ) -> HRESULT, 3023 }} 3024 RIDL!{#[uuid(0x10ec4d5b, 0x975a, 0x4689, 0xb9, 0xe4, 0xd0, 0xaa, 0xc3, 0x0f, 0xe3, 0x33)] 3025 interface ID3D11VideoDevice(ID3D11VideoDeviceVtbl): IUnknown(IUnknownVtbl) { 3026 fn CreateVideoDecoder( 3027 pVideoDesc: *const D3D11_VIDEO_DECODER_DESC, 3028 pConfig: *const D3D11_VIDEO_DECODER_CONFIG, 3029 ppDecoder: *mut *mut ID3D11VideoDecoder, 3030 ) -> HRESULT, 3031 fn CreateVideoProcessor( 3032 pEnum: *mut ID3D11VideoProcessorEnumerator, 3033 RateConversionIndex: UINT, 3034 ppVideoProcessor: *mut *mut ID3D11VideoProcessor, 3035 ) -> HRESULT, 3036 fn CreateAuthenticatedChannel( 3037 ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, 3038 ppAuthenticatedChannel: *mut *mut ID3D11AuthenticatedChannel, 3039 ) -> HRESULT, 3040 fn CreateCryptoSession( 3041 pCryptoType: *const GUID, 3042 pDecoderProfile: *const GUID, 3043 pKeyExchangeType: *const GUID, 3044 ppCryptoSession: *mut *mut ID3D11CryptoSession, 3045 ) -> HRESULT, 3046 fn CreateVideoDecoderOutputView( 3047 pResource: *mut ID3D11Resource, 3048 pDesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, 3049 ppVDOVView: *mut *mut ID3D11VideoDecoderOutputView, 3050 ) -> HRESULT, 3051 fn CreateVideoProcessorInputView( 3052 pResource: *mut ID3D11Resource, 3053 pEnum: *mut ID3D11VideoProcessorEnumerator, 3054 pDesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, 3055 ppVPIView: *mut *mut ID3D11VideoProcessorInputView, 3056 ) -> HRESULT, 3057 fn CreateVideoProcessorOutputView( 3058 pResource: *mut ID3D11Resource, 3059 pEnum: *mut ID3D11VideoProcessorEnumerator, 3060 pDesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, 3061 ppVPOView: *mut *mut ID3D11VideoProcessorOutputView, 3062 ) -> HRESULT, 3063 fn CreateVideoProcessorEnumerator( 3064 pDesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC, 3065 ppEnum: *mut *mut ID3D11VideoProcessorEnumerator, 3066 ) -> HRESULT, 3067 fn GetVideoDecoderProfileCount() -> UINT, 3068 fn GetVideoDecoderProfile( 3069 Index: UINT, 3070 pDecoderProfile: *mut GUID, 3071 ) -> HRESULT, 3072 fn CheckVideoDecoderFormat( 3073 pDecoderProfile: *const GUID, 3074 Format: DXGI_FORMAT, 3075 pSupported: *mut BOOL, 3076 ) -> HRESULT, 3077 fn GetVideoDecoderConfigCount( 3078 pDesc: *const D3D11_VIDEO_DECODER_DESC, 3079 pCount: *mut UINT, 3080 ) -> HRESULT, 3081 fn GetVideoDecoderConfig( 3082 pDesc: *const D3D11_VIDEO_DECODER_DESC, 3083 Index: UINT, 3084 pConfig: *mut D3D11_VIDEO_DECODER_CONFIG, 3085 ) -> HRESULT, 3086 fn GetContentProtectionCaps( 3087 pCryptoType: *const GUID, 3088 pDecoderProfile: *const GUID, 3089 pCaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS, 3090 ) -> HRESULT, 3091 fn CheckCryptoKeyExchange( 3092 pCryptoType: *const GUID, 3093 pDecoderProfile: *const GUID, 3094 Index: UINT, 3095 pKeyExchangeType: *mut GUID, 3096 ) -> HRESULT, 3097 fn SetPrivateData( 3098 guid: REFGUID, 3099 DataSize: UINT, 3100 pData: *const c_void, 3101 ) -> HRESULT, 3102 fn SetPrivateDataInterface( 3103 guid: REFGUID, 3104 pData: *const IUnknown, 3105 ) -> HRESULT, 3106 }} 3107 RIDL!{#[uuid(0xdb6f6ddb, 0xac77, 0x4e88, 0x82, 0x53, 0x81, 0x9d, 0xf9, 0xbb, 0xf1, 0x40)] 3108 interface ID3D11Device(ID3D11DeviceVtbl): IUnknown(IUnknownVtbl) { 3109 fn CreateBuffer( 3110 pDesc: *const D3D11_BUFFER_DESC, 3111 pInitialData: *const D3D11_SUBRESOURCE_DATA, 3112 ppBuffer: *mut *mut ID3D11Buffer, 3113 ) -> HRESULT, 3114 fn CreateTexture1D( 3115 pDesc: *const D3D11_TEXTURE1D_DESC, 3116 pInitialData: *const D3D11_SUBRESOURCE_DATA, 3117 ppTexture1D: *mut *mut ID3D11Texture1D, 3118 ) -> HRESULT, 3119 fn CreateTexture2D( 3120 pDesc: *const D3D11_TEXTURE2D_DESC, 3121 pInitialData: *const D3D11_SUBRESOURCE_DATA, 3122 ppTexture2D: *mut *mut ID3D11Texture2D, 3123 ) -> HRESULT, 3124 fn CreateTexture3D( 3125 pDesc: *const D3D11_TEXTURE3D_DESC, 3126 pInitialData: *const D3D11_SUBRESOURCE_DATA, 3127 ppTexture3D: *mut *mut ID3D11Texture3D, 3128 ) -> HRESULT, 3129 fn CreateShaderResourceView( 3130 pResource: *mut ID3D11Resource, 3131 pDesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, 3132 ppSRView: *mut *mut ID3D11ShaderResourceView, 3133 ) -> HRESULT, 3134 fn CreateUnorderedAccessView( 3135 pResource: *mut ID3D11Resource, 3136 pDesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, 3137 ppUAView: *mut *mut ID3D11UnorderedAccessView, 3138 ) -> HRESULT, 3139 fn CreateRenderTargetView( 3140 pResource: *mut ID3D11Resource, 3141 pDesc: *const D3D11_RENDER_TARGET_VIEW_DESC, 3142 ppRTView: *mut *mut ID3D11RenderTargetView, 3143 ) -> HRESULT, 3144 fn CreateDepthStencilView( 3145 pResource: *mut ID3D11Resource, 3146 pDesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, 3147 ppDepthStencilView: *mut *mut ID3D11DepthStencilView, 3148 ) -> HRESULT, 3149 fn CreateInputLayout( 3150 pInputElementDescs: *const D3D11_INPUT_ELEMENT_DESC, 3151 NumElements: UINT, 3152 pShaderBytecodeWithInputSignature: *const c_void, 3153 BytecodeLength: SIZE_T, 3154 ppInputLayout: *mut *mut ID3D11InputLayout, 3155 ) -> HRESULT, 3156 fn CreateVertexShader( 3157 pShaderBytecode: *const c_void, 3158 BytecodeLength: SIZE_T, 3159 pClassLinkage: *mut ID3D11ClassLinkage, 3160 ppVertexShader: *mut *mut ID3D11VertexShader, 3161 ) -> HRESULT, 3162 fn CreateGeometryShader( 3163 pShaderBytecode: *const c_void, 3164 BytecodeLength: SIZE_T, 3165 pClassLinkage: *mut ID3D11ClassLinkage, 3166 ppGeometryShader: *mut *mut ID3D11GeometryShader, 3167 ) -> HRESULT, 3168 fn CreateGeometryShaderWithStreamOutput( 3169 pShaderBytecode: *const c_void, 3170 BytecodeLength: SIZE_T, 3171 pSODeclaration: *const D3D11_SO_DECLARATION_ENTRY, 3172 NumEntries: UINT, 3173 pBufferStrides: *const UINT, 3174 NumStrides: UINT, 3175 RasterizedStream: UINT, 3176 pClassLinkage: *mut ID3D11ClassLinkage, 3177 ppGeometryShader: *mut *mut ID3D11GeometryShader, 3178 ) -> HRESULT, 3179 fn CreatePixelShader( 3180 pShaderBytecode: *const c_void, 3181 BytecodeLength: SIZE_T, 3182 pClassLinkage: *mut ID3D11ClassLinkage, 3183 ppPixelShader: *mut *mut ID3D11PixelShader, 3184 ) -> HRESULT, 3185 fn CreateHullShader( 3186 pShaderBytecode: *const c_void, 3187 BytecodeLength: SIZE_T, 3188 pClassLinkage: *mut ID3D11ClassLinkage, 3189 ppHullShader: *mut *mut ID3D11HullShader, 3190 ) -> HRESULT, 3191 fn CreateDomainShader( 3192 pShaderBytecode: *const c_void, 3193 BytecodeLength: SIZE_T, 3194 pClassLinkage: *mut ID3D11ClassLinkage, 3195 ppDomainShader: *mut *mut ID3D11DomainShader, 3196 ) -> HRESULT, 3197 fn CreateComputeShader( 3198 pShaderBytecode: *const c_void, 3199 BytecodeLength: SIZE_T, 3200 pClassLinkage: *mut ID3D11ClassLinkage, 3201 ppComputeShader: *mut *mut ID3D11ComputeShader, 3202 ) -> HRESULT, 3203 fn CreateClassLinkage( 3204 ppLinkage: *mut *mut ID3D11ClassLinkage, 3205 ) -> HRESULT, 3206 fn CreateBlendState( 3207 pBlendStateDesc: *const D3D11_BLEND_DESC, 3208 ppBlendState: *mut *mut ID3D11BlendState, 3209 ) -> HRESULT, 3210 fn CreateDepthStencilState( 3211 pDepthStencilDesc: *const D3D11_DEPTH_STENCIL_DESC, 3212 ppDepthStencilState: *mut *mut ID3D11DepthStencilState, 3213 ) -> HRESULT, 3214 fn CreateRasterizerState( 3215 pRasterizerDesc: *const D3D11_RASTERIZER_DESC, 3216 ppRasterizerState: *mut *mut ID3D11RasterizerState, 3217 ) -> HRESULT, 3218 fn CreateSamplerState( 3219 pSamplerDesc: *const D3D11_SAMPLER_DESC, 3220 ppSamplerState: *mut *mut ID3D11SamplerState, 3221 ) -> HRESULT, 3222 fn CreateQuery( 3223 pQueryDesc: *const D3D11_QUERY_DESC, 3224 ppQuery: *mut *mut ID3D11Query, 3225 ) -> HRESULT, 3226 fn CreatePredicate( 3227 pPredicateDesc: *const D3D11_QUERY_DESC, 3228 ppPredicate: *mut *mut ID3D11Predicate, 3229 ) -> HRESULT, 3230 fn CreateCounter( 3231 pCounterDesc: *const D3D11_COUNTER_DESC, 3232 ppCounter: *mut *mut ID3D11Counter, 3233 ) -> HRESULT, 3234 fn CreateDeferredContext( 3235 ContextFlags: UINT, 3236 ppDeferredContext: *mut *mut ID3D11DeviceContext, 3237 ) -> HRESULT, 3238 fn OpenSharedResource( 3239 hResource: HANDLE, 3240 ReturnedInterface: REFIID, 3241 ppResource: *mut *mut c_void, 3242 ) -> HRESULT, 3243 fn CheckFormatSupport( 3244 Format: DXGI_FORMAT, 3245 pFormatSupport: *mut UINT, 3246 ) -> HRESULT, 3247 fn CheckMultisampleQualityLevels( 3248 Format: DXGI_FORMAT, 3249 SampleCount: UINT, 3250 pNumQualityLevels: *mut UINT, 3251 ) -> HRESULT, 3252 fn CheckCounterInfo( 3253 pCounterInfo: *mut D3D11_COUNTER_INFO, 3254 ) -> (), 3255 fn CheckCounter( 3256 pDesc: *const D3D11_COUNTER_DESC, 3257 pType: *mut D3D11_COUNTER_TYPE, 3258 pActiveCounters: *mut UINT, 3259 szName: LPSTR, 3260 pNameLength: *mut UINT, 3261 szUnits: LPSTR, 3262 pUnitsLength: *mut UINT, 3263 szDescription: LPSTR, 3264 pDescriptionLength: *mut UINT, 3265 ) -> HRESULT, 3266 fn CheckFeatureSupport( 3267 Feature: D3D11_FEATURE, 3268 pFeatureSupportData: *mut c_void, 3269 FeatureSupportDataSize: UINT, 3270 ) -> HRESULT, 3271 fn GetPrivateData( 3272 guid: REFGUID, 3273 pDataSize: *mut UINT, 3274 pData: *mut c_void, 3275 ) -> HRESULT, 3276 fn SetPrivateData( 3277 guid: REFGUID, 3278 DataSize: UINT, 3279 pData: *const c_void, 3280 ) -> HRESULT, 3281 fn SetPrivateDataInterface( 3282 guid: REFGUID, 3283 pData: *const IUnknown, 3284 ) -> HRESULT, 3285 fn GetFeatureLevel() -> D3D_FEATURE_LEVEL, 3286 fn GetCreationFlags() -> UINT, 3287 fn GetDeviceRemovedReason() -> HRESULT, 3288 fn GetImmediateContext( 3289 ppImmediateContext: *mut *mut ID3D11DeviceContext, 3290 ) -> (), 3291 fn SetExceptionMode( 3292 RaiseFlags: UINT, 3293 ) -> HRESULT, 3294 fn GetExceptionMode() -> UINT, 3295 }} 3296 ENUM!{enum D3D11_CREATE_DEVICE_FLAG { 3297 D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1, 3298 D3D11_CREATE_DEVICE_DEBUG = 0x2, 3299 D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4, 3300 D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, 3301 D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20, 3302 D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40, 3303 D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80, 3304 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100, 3305 D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800, 3306 }} 3307 pub const D3D11_SDK_VERSION: DWORD = 7; 3308 #[inline] 3309 pub fn D3D11CalcSubresource(MipSlice: UINT, ArraySlice: UINT, MipLevels: UINT) -> UINT { 3310 MipSlice + ArraySlice * MipLevels 3311 } 3312 extern "system" { 3313 pub fn D3D11CreateDevice( 3314 pAdapter: *mut IDXGIAdapter, 3315 DriverType: D3D_DRIVER_TYPE, 3316 Software: HMODULE, 3317 Flags: UINT, 3318 pFeatureLevels: *const D3D_FEATURE_LEVEL, 3319 FeatureLevels: UINT, 3320 SDKVersion: UINT, 3321 ppDevice: *mut *mut ID3D11Device, 3322 pFeatureLevel: *mut D3D_FEATURE_LEVEL, 3323 ppImmediateContext: *mut *mut ID3D11DeviceContext, 3324 ) -> HRESULT; 3325 pub fn D3D11CreateDeviceAndSwapChain( 3326 pAdapter: *mut IDXGIAdapter, 3327 DriverType: D3D_DRIVER_TYPE, 3328 Software: HMODULE, 3329 Flags: UINT, 3330 pFeatureLevels: *const D3D_FEATURE_LEVEL, 3331 FeatureLevels: UINT, 3332 SDKVersion: UINT, 3333 pSwapChainDesc: *const DXGI_SWAP_CHAIN_DESC, 3334 ppSwapChain: *mut *mut IDXGISwapChain, 3335 ppDevice: *mut *mut ID3D11Device, 3336 pFeatureLevel: *mut D3D_FEATURE_LEVEL, 3337 ppImmediateContext: *mut *mut ID3D11DeviceContext, 3338 ) -> HRESULT; 3339 } 3340 DEFINE_GUID!{IID_ID3D11DeviceChild, 3341 0x1841e5c8, 0x16b0, 0x489b, 0xbc, 0xc8, 0x44, 0xcf, 0xb0, 0xd5, 0xde, 0xae} 3342 DEFINE_GUID!{IID_ID3D11DepthStencilState, 3343 0x03823efb, 0x8d8f, 0x4e1c, 0x9a, 0xa2, 0xf6, 0x4b, 0xb2, 0xcb, 0xfd, 0xf1} 3344 DEFINE_GUID!{IID_ID3D11BlendState, 3345 0x75b68faa, 0x347d, 0x4159, 0x8f, 0x45, 0xa0, 0x64, 0x0f, 0x01, 0xcd, 0x9a} 3346 DEFINE_GUID!{IID_ID3D11RasterizerState, 3347 0x9bb4ab81, 0xab1a, 0x4d8f, 0xb5, 0x06, 0xfc, 0x04, 0x20, 0x0b, 0x6e, 0xe7} 3348 DEFINE_GUID!{IID_ID3D11Resource, 3349 0xdc8e63f3, 0xd12b, 0x4952, 0xb4, 0x7b, 0x5e, 0x45, 0x02, 0x6a, 0x86, 0x2d} 3350 DEFINE_GUID!{IID_ID3D11Buffer, 3351 0x48570b85, 0xd1ee, 0x4fcd, 0xa2, 0x50, 0xeb, 0x35, 0x07, 0x22, 0xb0, 0x37} 3352 DEFINE_GUID!{IID_ID3D11Texture1D, 3353 0xf8fb5c27, 0xc6b3, 0x4f75, 0xa4, 0xc8, 0x43, 0x9a, 0xf2, 0xef, 0x56, 0x4c} 3354 DEFINE_GUID!{IID_ID3D11Texture2D, 3355 0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c} 3356 DEFINE_GUID!{IID_ID3D11Texture3D, 3357 0x037e866e, 0xf56d, 0x4357, 0xa8, 0xaf, 0x9d, 0xab, 0xbe, 0x6e, 0x25, 0x0e} 3358 DEFINE_GUID!{IID_ID3D11View, 3359 0x839d1216, 0xbb2e, 0x412b, 0xb7, 0xf4, 0xa9, 0xdb, 0xeb, 0xe0, 0x8e, 0xd1} 3360 DEFINE_GUID!{IID_ID3D11ShaderResourceView, 3361 0xb0e06fe0, 0x8192, 0x4e1a, 0xb1, 0xca, 0x36, 0xd7, 0x41, 0x47, 0x10, 0xb2} 3362 DEFINE_GUID!{IID_ID3D11RenderTargetView, 3363 0xdfdba067, 0x0b8d, 0x4865, 0x87, 0x5b, 0xd7, 0xb4, 0x51, 0x6c, 0xc1, 0x64} 3364 DEFINE_GUID!{IID_ID3D11DepthStencilView, 3365 0x9fdac92a, 0x1876, 0x48c3, 0xaf, 0xad, 0x25, 0xb9, 0x4f, 0x84, 0xa9, 0xb6} 3366 DEFINE_GUID!{IID_ID3D11UnorderedAccessView, 3367 0x28acf509, 0x7f5c, 0x48f6, 0x86, 0x11, 0xf3, 0x16, 0x01, 0x0a, 0x63, 0x80} 3368 DEFINE_GUID!{IID_ID3D11VertexShader, 3369 0x3b301d64, 0xd678, 0x4289, 0x88, 0x97, 0x22, 0xf8, 0x92, 0x8b, 0x72, 0xf3} 3370 DEFINE_GUID!{IID_ID3D11HullShader, 3371 0x8e5c6061, 0x628a, 0x4c8e, 0x82, 0x64, 0xbb, 0xe4, 0x5c, 0xb3, 0xd5, 0xdd} 3372 DEFINE_GUID!{IID_ID3D11DomainShader, 3373 0xf582c508, 0x0f36, 0x490c, 0x99, 0x77, 0x31, 0xee, 0xce, 0x26, 0x8c, 0xfa} 3374 DEFINE_GUID!{IID_ID3D11GeometryShader, 3375 0x38325b96, 0xeffb, 0x4022, 0xba, 0x02, 0x2e, 0x79, 0x5b, 0x70, 0x27, 0x5c} 3376 DEFINE_GUID!{IID_ID3D11PixelShader, 3377 0xea82e40d, 0x51dc, 0x4f33, 0x93, 0xd4, 0xdb, 0x7c, 0x91, 0x25, 0xae, 0x8c} 3378 DEFINE_GUID!{IID_ID3D11ComputeShader, 3379 0x4f5b196e, 0xc2bd, 0x495e, 0xbd, 0x01, 0x1f, 0xde, 0xd3, 0x8e, 0x49, 0x69} 3380 DEFINE_GUID!{IID_ID3D11InputLayout, 3381 0xe4819ddc, 0x4cf0, 0x4025, 0xbd, 0x26, 0x5d, 0xe8, 0x2a, 0x3e, 0x07, 0xb7} 3382 DEFINE_GUID!{IID_ID3D11SamplerState, 3383 0xda6fea51, 0x564c, 0x4487, 0x98, 0x10, 0xf0, 0xd0, 0xf9, 0xb4, 0xe3, 0xa5} 3384 DEFINE_GUID!{IID_ID3D11Asynchronous, 3385 0x4b35d0cd, 0x1e15, 0x4258, 0x9c, 0x98, 0x1b, 0x13, 0x33, 0xf6, 0xdd, 0x3b} 3386 DEFINE_GUID!{IID_ID3D11Query, 3387 0xd6c00747, 0x87b7, 0x425e, 0xb8, 0x4d, 0x44, 0xd1, 0x08, 0x56, 0x0a, 0xfd} 3388 DEFINE_GUID!{IID_ID3D11Predicate, 3389 0x9eb576dd, 0x9f77, 0x4d86, 0x81, 0xaa, 0x8b, 0xab, 0x5f, 0xe4, 0x90, 0xe2} 3390 DEFINE_GUID!{IID_ID3D11Counter, 3391 0x6e8c49fb, 0xa371, 0x4770, 0xb4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xb7, 0x41} 3392 DEFINE_GUID!{IID_ID3D11ClassInstance, 3393 0xa6cd7faa, 0xb0b7, 0x4a2f, 0x94, 0x36, 0x86, 0x62, 0xa6, 0x57, 0x97, 0xcb} 3394 DEFINE_GUID!{IID_ID3D11ClassLinkage, 3395 0xddf57cba, 0x9543, 0x46e4, 0xa1, 0x2b, 0xf2, 0x07, 0xa0, 0xfe, 0x7f, 0xed} 3396 DEFINE_GUID!{IID_ID3D11CommandList, 3397 0xa24bc4d1, 0x769e, 0x43f7, 0x80, 0x13, 0x98, 0xff, 0x56, 0x6c, 0x18, 0xe2} 3398 DEFINE_GUID!{IID_ID3D11DeviceContext, 3399 0xc0bfa96c, 0xe089, 0x44fb, 0x8e, 0xaf, 0x26, 0xf8, 0x79, 0x61, 0x90, 0xda} 3400 DEFINE_GUID!{IID_ID3D11VideoDecoder, 3401 0x3c9c5b51, 0x995d, 0x48d1, 0x9b, 0x8d, 0xfa, 0x5c, 0xae, 0xde, 0xd6, 0x5c} 3402 DEFINE_GUID!{IID_ID3D11VideoProcessorEnumerator, 3403 0x31627037, 0x53ab, 0x4200, 0x90, 0x61, 0x05, 0xfa, 0xa9, 0xab, 0x45, 0xf9} 3404 DEFINE_GUID!{IID_ID3D11VideoProcessor, 3405 0x1d7b0652, 0x185f, 0x41c6, 0x85, 0xce, 0x0c, 0x5b, 0xe3, 0xd4, 0xae, 0x6c} 3406 DEFINE_GUID!{IID_ID3D11AuthenticatedChannel, 3407 0x3015a308, 0xdcbd, 0x47aa, 0xa7, 0x47, 0x19, 0x24, 0x86, 0xd1, 0x4d, 0x4a} 3408 DEFINE_GUID!{IID_ID3D11CryptoSession, 3409 0x9b32f9ad, 0xbdcc, 0x40a6, 0xa3, 0x9d, 0xd5, 0xc8, 0x65, 0x84, 0x57, 0x20} 3410 DEFINE_GUID!{IID_ID3D11VideoDecoderOutputView, 3411 0xc2931aea, 0x2a85, 0x4f20, 0x86, 0x0f, 0xfb, 0xa1, 0xfd, 0x25, 0x6e, 0x18} 3412 DEFINE_GUID!{IID_ID3D11VideoProcessorInputView, 3413 0x11ec5a5f, 0x51dc, 0x4945, 0xab, 0x34, 0x6e, 0x8c, 0x21, 0x30, 0x0e, 0xa5} 3414 DEFINE_GUID!{IID_ID3D11VideoProcessorOutputView, 3415 0xa048285e, 0x25a9, 0x4527, 0xbd, 0x93, 0xd6, 0x8b, 0x68, 0xc4, 0x42, 0x54} 3416 DEFINE_GUID!{IID_ID3D11VideoContext, 3417 0x61f21c45, 0x3c0e, 0x4a74, 0x9c, 0xea, 0x67, 0x10, 0x0d, 0x9a, 0xd5, 0xe4} 3418 DEFINE_GUID!{IID_ID3D11VideoDevice, 3419 0x10ec4d5b, 0x975a, 0x4689, 0xb9, 0xe4, 0xd0, 0xaa, 0xc3, 0x0f, 0xe3, 0x33} 3420 DEFINE_GUID!{IID_ID3D11Device, 3421 0xdb6f6ddb, 0xac77, 0x4e88, 0x82, 0x53, 0x81, 0x9d, 0xf9, 0xbb, 0xf1, 0x40} 3422