Home | History | Annotate | Download | only in d3dapi
      1 /**************************************************************************
      2  *
      3  * Copyright 2010 Luca Barbieri
      4  *
      5  * Permission is hereby granted, free of charge, to any person obtaining
      6  * a copy of this software and associated documentation files (the
      7  * "Software"), to deal in the Software without restriction, including
      8  * without limitation the rights to use, copy, modify, merge, publish,
      9  * distribute, sublicense, and/or sell copies of the Software, and to
     10  * permit persons to whom the Software is furnished to do so, subject to
     11  * the following conditions:
     12  *
     13  * The above copyright notice and this permission notice (including the
     14  * next paragraph) shall be included in all copies or substantial
     15  * portions of the Software.
     16  *
     17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     18  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     20  * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
     21  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     22  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     23  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     24  *
     25  **************************************************************************/
     26 
     27 import "oaidl.idl";
     28 import "ocidl.idl";
     29 import "dxgi.idl";
     30 import "d3dcommon.idl";
     31 
     32 const unsigned int D3D11_SDK_VERSION = 7;
     33 
     34 cpp_quote("#ifndef _D3D11_CONSTANTS")
     35 cpp_quote("#define _D3D11_CONSTANTS")
     36 const unsigned int D3D11_16BIT_INDEX_STRIP_CUT_VALUE = 0xffff;
     37 const unsigned int D3D11_32BIT_INDEX_STRIP_CUT_VALUE = 0xffffffff;
     38 const unsigned int D3D11_8BIT_INDEX_STRIP_CUT_VALUE = 0xff;
     39 const unsigned int D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
     40 const unsigned int D3D11_CLIP_OR_CULL_DISTANCE_COUNT = 8;
     41 const unsigned int D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
     42 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
     43 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
     44 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
     45 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
     46 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
     47 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
     48 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
     49 const unsigned int D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
     50 const unsigned int D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
     51 const unsigned int D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
     52 const unsigned int D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
     53 const unsigned int D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
     54 const unsigned int D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
     55 const unsigned int D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
     56 const unsigned int D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
     57 const unsigned int D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
     58 const unsigned int D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
     59 const unsigned int D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
     60 const unsigned int D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
     61 const unsigned int D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
     62 const unsigned int D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
     63 const unsigned int D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
     64 const unsigned int D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
     65 const unsigned int D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
     66 const unsigned int D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
     67 const unsigned int D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
     68 const unsigned int D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
     69 const unsigned int D3D11_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
     70 const unsigned int D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
     71 const unsigned int D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
     72 const unsigned int D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
     73 const int D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
     74 const int D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
     75 const unsigned int D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
     76 const unsigned int D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256;
     77 const unsigned int D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64;
     78 const unsigned int D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240;
     79 const unsigned int D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68;
     80 const unsigned int D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224;
     81 const unsigned int D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72;
     82 const unsigned int D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208;
     83 const unsigned int D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76;
     84 const unsigned int D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192;
     85 const unsigned int D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84;
     86 const unsigned int D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176;
     87 const unsigned int D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92;
     88 const unsigned int D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160;
     89 const unsigned int D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100;
     90 const unsigned int D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144;
     91 const unsigned int D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112;
     92 const unsigned int D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128;
     93 const unsigned int D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128;
     94 const unsigned int D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112;
     95 const unsigned int D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144;
     96 const unsigned int D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96;
     97 const unsigned int D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168;
     98 const unsigned int D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80;
     99 const unsigned int D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204;
    100 const unsigned int D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64;
    101 const unsigned int D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256;
    102 const unsigned int D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48;
    103 const unsigned int D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340;
    104 const unsigned int D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32;
    105 const unsigned int D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512;
    106 const unsigned int D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16;
    107 const unsigned int D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768;
    108 const unsigned int D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1;
    109 const unsigned int D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256;
    110 const unsigned int D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768;
    111 const unsigned int D3D11_CS_4_X_THREAD_GROUP_MAX_X = 768;
    112 const unsigned int D3D11_CS_4_X_THREAD_GROUP_MAX_Y = 768;
    113 const unsigned int D3D11_CS_4_X_UAV_REGISTER_COUNT = 1;
    114 const unsigned int D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535;
    115 const unsigned int D3D11_CS_TGSM_REGISTER_COUNT = 8192;
    116 const unsigned int D3D11_CS_TGSM_REGISTER_READS_PER_INST = 1;
    117 const unsigned int D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1;
    118 const unsigned int D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1;
    119 const unsigned int D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024;
    120 const unsigned int D3D11_CS_THREAD_GROUP_MAX_X = 1024;
    121 const unsigned int D3D11_CS_THREAD_GROUP_MAX_Y = 1024;
    122 const unsigned int D3D11_CS_THREAD_GROUP_MAX_Z = 64;
    123 const unsigned int D3D11_CS_THREAD_GROUP_MIN_X = 1;
    124 const unsigned int D3D11_CS_THREAD_GROUP_MIN_Y = 1;
    125 const unsigned int D3D11_CS_THREAD_GROUP_MIN_Z = 1;
    126 const unsigned int D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384;
    127 const float D3D11_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
    128 const float D3D11_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
    129 const float D3D11_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
    130 const float D3D11_DEFAULT_BLEND_FACTOR_RED = 1.0;
    131 const float D3D11_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
    132 const unsigned int D3D11_DEFAULT_DEPTH_BIAS = 0;
    133 const float D3D11_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
    134 const unsigned int D3D11_DEFAULT_MAX_ANISOTROPY = 16;
    135 const float D3D11_DEFAULT_MIP_LOD_BIAS = 0.0;
    136 const unsigned int D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
    137 const unsigned int D3D11_DEFAULT_SAMPLE_MASK = 0xffffffff;
    138 const unsigned int D3D11_DEFAULT_SCISSOR_ENDX = 0;
    139 const unsigned int D3D11_DEFAULT_SCISSOR_ENDY = 0;
    140 const unsigned int D3D11_DEFAULT_SCISSOR_STARTX = 0;
    141 const unsigned int D3D11_DEFAULT_SCISSOR_STARTY = 0;
    142 const float D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
    143 const unsigned int D3D11_DEFAULT_STENCIL_READ_MASK = 0xff;
    144 const unsigned int D3D11_DEFAULT_STENCIL_REFERENCE = 0;
    145 const unsigned int D3D11_DEFAULT_STENCIL_WRITE_MASK = 0xff;
    146 const unsigned int D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
    147 const unsigned int D3D11_DEFAULT_VIEWPORT_HEIGHT = 0;
    148 const float D3D11_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
    149 const float D3D11_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
    150 const unsigned int D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0;
    151 const unsigned int D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0;
    152 const unsigned int D3D11_DEFAULT_VIEWPORT_WIDTH = 0;
    153 const unsigned int D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
    154 const unsigned int D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = 4;
    155 const unsigned int D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = 32;
    156 const unsigned int D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = 1;
    157 const unsigned int D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
    158 const unsigned int D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
    159 const unsigned int D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
    160 const unsigned int D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = 3;
    161 const unsigned int D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = 1;
    162 const unsigned int D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = 1;
    163 const unsigned int D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = 2;
    164 const unsigned int D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
    165 const unsigned int D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
    166 const unsigned int D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
    167 const unsigned int D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
    168 const unsigned int D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
    169 const unsigned int D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    170 const unsigned int D3D11_DS_OUTPUT_REGISTER_COMPONENTS = 4;
    171 const unsigned int D3D11_DS_OUTPUT_REGISTER_COUNT = 32;
    172 const unsigned int D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
    173 const float D3D11_FLOAT32_MAX = 3.402823466e+38;
    174 const float D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
    175 const float D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
    176 const float D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
    177 const float D3D11_FLOAT_TO_SRGB_OFFSET = 0.055;
    178 const float D3D11_FLOAT_TO_SRGB_SCALE_1 = 12.92;
    179 const float D3D11_FLOAT_TO_SRGB_SCALE_2 = 1.055;
    180 const float D3D11_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
    181 const float D3D11_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
    182 const float D3D11_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
    183 const float D3D11_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
    184 const float D3D11_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
    185 const unsigned int D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS = 1;
    186 const unsigned int D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST = 2;
    187 const unsigned int D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
    188 const unsigned int D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = 1;
    189 const unsigned int D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = 1;
    190 const unsigned int D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
    191 const unsigned int D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
    192 const unsigned int D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
    193 const unsigned int D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
    194 const unsigned int D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
    195 const unsigned int D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    196 const unsigned int D3D11_GS_INPUT_REGISTER_COMPONENTS = 4;
    197 const unsigned int D3D11_GS_INPUT_REGISTER_COUNT = 32;
    198 const unsigned int D3D11_GS_INPUT_REGISTER_READ_PORTS = 1;
    199 const unsigned int D3D11_GS_INPUT_REGISTER_READS_PER_INST = 2;
    200 const unsigned int D3D11_GS_INPUT_REGISTER_VERTICES = 32;
    201 const unsigned int D3D11_GS_MAX_INSTANCE_COUNT = 32;
    202 const unsigned int D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = 1024;
    203 const unsigned int D3D11_GS_OUTPUT_ELEMENTS = 32;
    204 const unsigned int D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    205 const unsigned int D3D11_GS_OUTPUT_REGISTER_COMPONENTS = 4;
    206 const unsigned int D3D11_GS_OUTPUT_REGISTER_COUNT = 32;
    207 const unsigned int D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = 32;
    208 const unsigned int D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = 32;
    209 const unsigned int D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
    210 const unsigned int D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS = 4;
    211 const unsigned int D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS = 1;
    212 const unsigned int D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
    213 const unsigned int D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xffffffff;
    214 const unsigned int D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
    215 const unsigned int D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = 1;
    216 const unsigned int D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = 1;
    217 const unsigned int D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = 1;
    218 const unsigned int D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
    219 const unsigned int D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
    220 const unsigned int D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = 1;
    221 const unsigned int D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = 1;
    222 const unsigned int D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = 1;
    223 const unsigned int D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
    224 const unsigned int D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
    225 const unsigned int D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1;
    226 const unsigned int D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1;
    227 const unsigned int D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1;
    228 const unsigned int D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2;
    229 const unsigned int D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = 0xffffffff;
    230 const float D3D11_HS_MAXTESSFACTOR_LOWER_BOUND = 1.0;
    231 const float D3D11_HS_MAXTESSFACTOR_UPPER_BOUND = 64.0;
    232 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
    233 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = 1;
    234 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = 1;
    235 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = 1;
    236 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = 2;
    237 const unsigned int D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
    238 const unsigned int D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
    239 const unsigned int D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
    240 const unsigned int D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
    241 const unsigned int D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
    242 const unsigned int D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
    243 const unsigned int D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
    244 const unsigned int D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
    245 const unsigned int D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
    246 const unsigned int D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
    247 const unsigned int D3D11_IA_INSTANCE_ID_BIT_COUNT = 32;
    248 const unsigned int D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
    249 const unsigned int D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT = 32;
    250 const unsigned int D3D11_IA_PRIMITIVE_ID_BIT_COUNT = 32;
    251 const unsigned int D3D11_IA_VERTEX_ID_BIT_COUNT = 32;
    252 const unsigned int D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
    253 const unsigned int D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32;
    254 const unsigned int D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128;
    255 const unsigned int D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = 0xffffffff;
    256 const unsigned int D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER = 0xffffffff;
    257 const unsigned int D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = 0xffffffff;
    258 const unsigned int D3D11_KEEP_UNORDERED_ACCESS_VIEWS = 0xffffffff;
    259 const float D3D11_LINEAR_GAMMA = 1.0;
    260 const unsigned int D3D11_MAJOR_VERSION = 11;
    261 const float D3D11_MAX_BORDER_COLOR_COMPONENT = 1.0;
    262 const float D3D11_MAX_DEPTH = 1.0;
    263 const unsigned int D3D11_MAX_MAXANISOTROPY = 16;
    264 const unsigned int D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
    265 const float D3D11_MAX_POSITION_VALUE = 3.402823466e+34;
    266 const unsigned int D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
    267 const float D3D11_MIN_BORDER_COLOR_COMPONENT = 0.0;
    268 const float D3D11_MIN_DEPTH = 0.0;
    269 const unsigned int D3D11_MIN_MAXANISOTROPY = 0;
    270 const unsigned int D3D11_MINOR_VERSION = 0;
    271 const float D3D11_MIP_LOD_BIAS_MAX = 15.99;
    272 const float D3D11_MIP_LOD_BIAS_MIN = -16.0;
    273 const unsigned int D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT = 8;
    274 const unsigned int D3D11_MIP_LOD_RANGE_BIT_COUNT = 8;
    275 const float D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
    276 const unsigned int D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
    277 const unsigned int D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
    278 const unsigned int D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 16;
    279 const unsigned int D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1;
    280 const unsigned int D3D11_PS_CS_UAV_REGISTER_COUNT = 8;
    281 const unsigned int D3D11_PS_CS_UAV_REGISTER_READ_PORTS = 1;
    282 const unsigned int D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
    283 const unsigned int D3D11_PS_FRONTFACING_DEFAULT_VALUE = 0xffffffff;
    284 const unsigned int D3D11_PS_FRONTFACING_FALSE_VALUE = 0;
    285 const unsigned int D3D11_PS_FRONTFACING_TRUE_VALUE = 0xffffffff;
    286 const unsigned int D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    287 const unsigned int D3D11_PS_INPUT_REGISTER_COMPONENTS = 4;
    288 const unsigned int D3D11_PS_INPUT_REGISTER_COUNT = 32;
    289 const unsigned int D3D11_PS_INPUT_REGISTER_READ_PORTS = 1;
    290 const unsigned int D3D11_PS_INPUT_REGISTER_READS_PER_INST = 2;
    291 const float D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
    292 const unsigned int D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
    293 const unsigned int D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
    294 const unsigned int D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
    295 const unsigned int D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32;
    296 const unsigned int D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1;
    297 const unsigned int D3D11_PS_OUTPUT_MASK_REGISTER_COUNT = 1;
    298 const unsigned int D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    299 const unsigned int D3D11_PS_OUTPUT_REGISTER_COMPONENTS = 4;
    300 const unsigned int D3D11_PS_OUTPUT_REGISTER_COUNT = 8;
    301 const float D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
    302 const unsigned int D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT = 16;
    303 const unsigned int D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096;
    304 const unsigned int D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
    305 const unsigned int D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
    306 const unsigned int D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096;
    307 const unsigned int D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
    308 const unsigned int D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
    309 const unsigned int D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384;
    310 const unsigned int D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
    311 const unsigned int D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
    312 const unsigned int D3D11_REQ_MAXANISOTROPY = 16;
    313 const unsigned int D3D11_REQ_MIP_LEVELS = 15;
    314 const unsigned int D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
    315 const unsigned int D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096;
    316 const unsigned int D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384;
    317 const unsigned int D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128;
    318 const float D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM = 0.25;
    319 const unsigned int D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20;
    320 const unsigned int D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096;
    321 const unsigned int D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048;
    322 const unsigned int D3D11_REQ_TEXTURE1D_U_DIMENSION = 16384;
    323 const unsigned int D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048;
    324 const unsigned int D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384;
    325 const unsigned int D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
    326 const unsigned int D3D11_REQ_TEXTURECUBE_DIMENSION = 16384;
    327 const unsigned int D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
    328 const unsigned int D3D11_SHADER_MAJOR_VERSION = 5;
    329 const unsigned int D3D11_SHADER_MAX_INSTANCES = 65535;
    330 const unsigned int D3D11_SHADER_MAX_INTERFACE_CALL_SITES = 4096;
    331 const unsigned int D3D11_SHADER_MAX_INTERFACES = 253;
    332 const unsigned int D3D11_SHADER_MAX_TYPES = 65535;
    333 const unsigned int D3D11_SHADER_MINOR_VERSION = 0;
    334 const unsigned int D3D11_SHIFT_INSTRUCTION_PAD_VALUE = 0;
    335 const unsigned int D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
    336 const unsigned int D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
    337 const unsigned int D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
    338 const unsigned int D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512;
    339 const unsigned int D3D11_SO_BUFFER_SLOT_COUNT = 4;
    340 const unsigned int D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP = 0xffffffff;
    341 const unsigned int D3D11_SO_NO_RASTERIZED_STREAM = 0xffffffff;
    342 const unsigned int D3D11_SO_OUTPUT_COMPONENT_COUNT = 128;
    343 const unsigned int D3D11_SO_STREAM_COUNT = 4;
    344 const unsigned int D3D11_SPEC_DATE_DAY = 04;
    345 const unsigned int D3D11_SPEC_DATE_MONTH = 06;
    346 const unsigned int D3D11_SPEC_DATE_YEAR = 2009;
    347 const unsigned int D3D11_SPEC_VERSION = 1.0;
    348 const float D3D11_SRGB_GAMMA = 2.2;
    349 const float D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
    350 const float D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
    351 const float D3D11_SRGB_TO_FLOAT_EXPONENT = 2.4;
    352 const float D3D11_SRGB_TO_FLOAT_OFFSET = 0.055;
    353 const float D3D11_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
    354 const float D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
    355 const unsigned int D3D11_STANDARD_COMPONENT_BIT_COUNT = 32;
    356 const unsigned int D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
    357 const unsigned int D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
    358 const unsigned int D3D11_STANDARD_PIXEL_COMPONENT_COUNT = 128;
    359 const unsigned int D3D11_STANDARD_PIXEL_ELEMENT_COUNT = 32;
    360 const unsigned int D3D11_STANDARD_VECTOR_SIZE = 4;
    361 const unsigned int D3D11_STANDARD_VERTEX_ELEMENT_COUNT = 32;
    362 const unsigned int D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
    363 const unsigned int D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
    364 const unsigned int D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT = 8;
    365 const unsigned int D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = 64;
    366 const unsigned int D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = 64;
    367 const unsigned int D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = 63;
    368 const unsigned int D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR = 64;
    369 const unsigned int D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = 2;
    370 const unsigned int D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = 1;
    371 const unsigned int D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = 1;
    372 const unsigned int D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT = 16;
    373 const unsigned int D3D11_UNBOUND_MEMORY_ACCESS_RESULT = 0;
    374 const unsigned int D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
    375 const unsigned int D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
    376 const unsigned int D3D11_VIEWPORT_BOUNDS_MAX = 32767;
    377 const int D3D11_VIEWPORT_BOUNDS_MIN = -32768;
    378 const unsigned int D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    379 const unsigned int D3D11_VS_INPUT_REGISTER_COMPONENTS = 4;
    380 const unsigned int D3D11_VS_INPUT_REGISTER_COUNT = 32;
    381 const unsigned int D3D11_VS_INPUT_REGISTER_READ_PORTS = 1;
    382 const unsigned int D3D11_VS_INPUT_REGISTER_READS_PER_INST = 2;
    383 const unsigned int D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
    384 const unsigned int D3D11_VS_OUTPUT_REGISTER_COMPONENTS = 4;
    385 const unsigned int D3D11_VS_OUTPUT_REGISTER_COUNT = 32;
    386 const unsigned int D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
    387 const unsigned int D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
    388 const unsigned int D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
    389 cpp_quote("#endif")
    390 
    391 const unsigned int _FACD3D11 = 0x87C;
    392 const unsigned int _FACD3D11DEBUG = _FACD3D11 + 1;
    393 
    394 cpp_quote("#define MAKE_D3D11_HRESULT(c) MAKE_HRESULT(1, _FACD3D11, (c))")
    395 cpp_quote("#define MAKE_D3D11_STATUS(c) MAKE_HRESULT(0, _FACD3D11, (c))")
    396 cpp_quote("#define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS MAKE_D3D11_HRESULT(1)")
    397 cpp_quote("#define D3D11_ERROR_FILE_NOT_FOUND MAKE_D3D11_HRESULT(2)")
    398 cpp_quote("#define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS MAKE_D3D11_HRESULT(3)")
    399 cpp_quote("#define D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD MAKE_D3D11_HRESULT(4)")
    400 
    401 typedef enum D3D11_INPUT_CLASSIFICATION
    402 {
    403 	D3D11_INPUT_PER_VERTEX_DATA,
    404 	D3D11_INPUT_PER_INSTANCE_DATA
    405 } D3D11_INPUT_CLASSIFICATION;
    406 
    407 const unsigned int D3D11_APPEND_ALIGNED_ELEMENT = 0xffffffff;
    408 
    409 typedef struct D3D11_INPUT_ELEMENT_DESC
    410 {
    411 	LPCSTR SemanticName;
    412 	UINT SemanticIndex;
    413 	DXGI_FORMAT Format;
    414 	UINT InputSlot;
    415 	UINT AlignedByteOffset;
    416 	D3D11_INPUT_CLASSIFICATION InputSlotClass;
    417 	UINT InstanceDataStepRate;
    418 } D3D11_INPUT_ELEMENT_DESC;
    419 
    420 typedef enum D3D11_FILL_MODE
    421 {
    422 	D3D11_FILL_WIREFRAME = 2,
    423 	D3D11_FILL_SOLID = 3
    424 } D3D11_FILL_MODE;
    425 
    426 typedef D3D_PRIMITIVE_TOPOLOGY D3D11_PRIMITIVE_TOPOLOGY;
    427 
    428 typedef D3D_PRIMITIVE D3D11_PRIMITIVE;
    429 
    430 typedef enum D3D11_CULL_MODE
    431 {
    432 	D3D11_CULL_NONE = 1,
    433 	D3D11_CULL_FRONT = 2,
    434 	D3D11_CULL_BACK = 3
    435 } D3D11_CULL_MODE;
    436 
    437 typedef struct D3D11_SO_DECLARATION_ENTRY
    438 {
    439 	UINT Stream;
    440 	LPCSTR SemanticName;
    441 	UINT SemanticIndex;
    442 	BYTE StartComponent;
    443 	BYTE ComponentCount;
    444 	BYTE OutputSlot;
    445 } D3D11_SO_DECLARATION_ENTRY;
    446 
    447 typedef struct D3D11_VIEWPORT
    448 {
    449 	FLOAT TopLeftX;
    450 	FLOAT TopLeftY;
    451 	FLOAT Width;
    452 	FLOAT Height;
    453 	FLOAT MinDepth;
    454 	FLOAT MaxDepth;
    455 } D3D11_VIEWPORT;
    456 
    457 typedef enum D3D11_RESOURCE_DIMENSION
    458 {
    459 	D3D11_RESOURCE_DIMENSION_UNKNOWN,
    460 	D3D11_RESOURCE_DIMENSION_BUFFER,
    461 	D3D11_RESOURCE_DIMENSION_TEXTURE1D,
    462 	D3D11_RESOURCE_DIMENSION_TEXTURE2D,
    463 	D3D11_RESOURCE_DIMENSION_TEXTURE3D,
    464 } D3D11_RESOURCE_DIMENSION;
    465 
    466 typedef D3D_SRV_DIMENSION D3D11_SRV_DIMENSION;
    467 
    468 typedef enum D3D11_DSV_DIMENSION
    469 {
    470 	D3D11_DSV_DIMENSION_UNKNOWN,
    471 	D3D11_DSV_DIMENSION_TEXTURE1D,
    472 	D3D11_DSV_DIMENSION_TEXTURE1DARRAY,
    473 	D3D11_DSV_DIMENSION_TEXTURE2D,
    474 	D3D11_DSV_DIMENSION_TEXTURE2DARRAY,
    475 	D3D11_DSV_DIMENSION_TEXTURE2DMS,
    476 	D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY,
    477 } D3D11_DSV_DIMENSION;
    478 
    479 
    480 typedef enum D3D11_RTV_DIMENSION
    481 {
    482 	D3D11_RTV_DIMENSION_UNKNOWN,
    483 	D3D11_RTV_DIMENSION_BUFFER,
    484 	D3D11_RTV_DIMENSION_TEXTURE1D,
    485 	D3D11_RTV_DIMENSION_TEXTURE1DARRAY,
    486 	D3D11_RTV_DIMENSION_TEXTURE2D,
    487 	D3D11_RTV_DIMENSION_TEXTURE2DARRAY,
    488 	D3D11_RTV_DIMENSION_TEXTURE2DMS,
    489 	D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY,
    490 	D3D11_RTV_DIMENSION_TEXTURE3D
    491 } D3D11_RTV_DIMENSION;
    492 
    493 typedef enum D3D11_UAV_DIMENSION
    494 {
    495 	D3D11_UAV_DIMENSION_UNKNOWN,
    496 	D3D11_UAV_DIMENSION_BUFFER,
    497 	D3D11_UAV_DIMENSION_TEXTURE1D,
    498 	D3D11_UAV_DIMENSION_TEXTURE1DARRAY,
    499 	D3D11_UAV_DIMENSION_TEXTURE2D,
    500 	D3D11_UAV_DIMENSION_TEXTURE2DARRAY,
    501 	D3D11_UAV_DIMENSION_TEXTURE3D = 8
    502 } D3D11_UAV_DIMENSION;
    503 
    504 typedef enum D3D11_USAGE
    505 {
    506 	D3D11_USAGE_DEFAULT,
    507 	D3D11_USAGE_IMMUTABLE,
    508 	D3D11_USAGE_DYNAMIC,
    509 	D3D11_USAGE_STAGING
    510 } D3D11_USAGE;
    511 
    512 typedef enum D3D11_BIND_FLAG
    513 {
    514 	D3D11_BIND_VERTEX_BUFFER = 1,
    515 	D3D11_BIND_INDEX_BUFFER = 2,
    516 	D3D11_BIND_CONSTANT_BUFFER = 4,
    517 	D3D11_BIND_SHADER_RESOURCE = 8,
    518 	D3D11_BIND_STREAM_OUTPUT = 0x10,
    519 	D3D11_BIND_RENDER_TARGET = 0x20,
    520 	D3D11_BIND_DEPTH_STENCIL = 0x40,
    521 	D3D11_BIND_UNORDERED_ACCESS = 0x80
    522 } D3D11_BIND_FLAG;
    523 
    524 typedef enum D3D11_CPU_ACCESS_FLAG
    525 {
    526 	D3D11_CPU_ACCESS_WRITE = 0x10000,
    527 	D3D11_CPU_ACCESS_READ = 0x20000
    528 } D3D11_CPU_ACCESS_FLAG;
    529 
    530 typedef enum D3D11_RESOURCE_MISC_FLAG
    531 {
    532 	D3D11_RESOURCE_MISC_GENERATE_MIPS = 1,
    533 	D3D11_RESOURCE_MISC_SHARED = 2,
    534 	D3D11_RESOURCE_MISC_TEXTURECUBE = 4,
    535 	D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10,
    536 	D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20,
    537 	D3D11_RESOURCE_MISC_BUFFER_STRUCTURED	= 0x40,
    538 	D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80,
    539 	D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100,
    540 	D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200
    541 } D3D11_RESOURCE_MISC_FLAG;
    542 
    543 typedef enum D3D11_MAP
    544 {
    545 	D3D11_MAP_READ = 1,
    546 	D3D11_MAP_WRITE,
    547 	D3D11_MAP_READ_WRITE,
    548 	D3D11_MAP_WRITE_DISCARD,
    549 	D3D11_MAP_WRITE_NO_OVERWRITE
    550 } D3D11_MAP;
    551 
    552 typedef enum D3D11_MAP_FLAG
    553 {
    554 	D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000
    555 } D3D11_MAP_FLAG;
    556 
    557 typedef enum D3D11_RAISE_FLAG
    558 {
    559 	D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 1
    560 } D3D11_RAISE_FLAG;
    561 
    562 typedef
    563 enum D3D11_CLEAR_FLAG
    564 {
    565 	D3D11_CLEAR_DEPTH = 1,
    566 	D3D11_CLEAR_STENCIL = 2
    567 } D3D11_CLEAR_FLAG;
    568 
    569 typedef RECT D3D11_RECT;
    570 
    571 typedef struct D3D11_BOX
    572 {
    573 	UINT left;
    574 	UINT top;
    575 	UINT front;
    576 	UINT right;
    577 	UINT bottom;
    578 	UINT back;
    579 } D3D11_BOX;
    580 
    581 typedef enum D3D11_COMPARISON_FUNC
    582 {
    583 	D3D11_COMPARISON_NEVER = 1,
    584 	D3D11_COMPARISON_LESS,
    585 	D3D11_COMPARISON_EQUAL,
    586 	D3D11_COMPARISON_LESS_EQUAL,
    587 	D3D11_COMPARISON_GREATER,
    588 	D3D11_COMPARISON_NOT_EQUAL,
    589 	D3D11_COMPARISON_GREATER_EQUAL,
    590 	D3D11_COMPARISON_ALWAYS
    591 } D3D11_COMPARISON_FUNC;
    592 
    593 typedef enum D3D11_DEPTH_WRITE_MASK
    594 {
    595 	D3D11_DEPTH_WRITE_MASK_ZERO,
    596 	D3D11_DEPTH_WRITE_MASK_ALL
    597 } D3D11_DEPTH_WRITE_MASK;
    598 
    599 typedef enum D3D11_STENCIL_OP
    600 {
    601 	D3D11_STENCIL_OP_KEEP = 1,
    602 	D3D11_STENCIL_OP_ZERO,
    603 	D3D11_STENCIL_OP_REPLACE,
    604 	D3D11_STENCIL_OP_INCR_SAT,
    605 	D3D11_STENCIL_OP_DECR_SAT,
    606 	D3D11_STENCIL_OP_INVERT,
    607 	D3D11_STENCIL_OP_INCR,
    608 	D3D11_STENCIL_OP_DECR
    609 } D3D11_STENCIL_OP;
    610 
    611 typedef struct D3D11_DEPTH_STENCILOP_DESC
    612 {
    613 	D3D11_STENCIL_OP StencilFailOp;
    614 	D3D11_STENCIL_OP StencilDepthFailOp;
    615 	D3D11_STENCIL_OP StencilPassOp;
    616 	D3D11_COMPARISON_FUNC StencilFunc;
    617 } D3D11_DEPTH_STENCILOP_DESC;
    618 
    619 typedef struct D3D11_DEPTH_STENCIL_DESC
    620 {
    621 	BOOL DepthEnable;
    622 	D3D11_DEPTH_WRITE_MASK DepthWriteMask;
    623 	D3D11_COMPARISON_FUNC DepthFunc;
    624 	BOOL StencilEnable;
    625 	UINT8 StencilReadMask;
    626 	UINT8 StencilWriteMask;
    627 	D3D11_DEPTH_STENCILOP_DESC FrontFace;
    628 	D3D11_DEPTH_STENCILOP_DESC BackFace;
    629 } D3D11_DEPTH_STENCIL_DESC;
    630 
    631 
    632 typedef enum D3D11_BLEND
    633 {
    634 	D3D11_BLEND_ZERO = 1,
    635 	D3D11_BLEND_ONE,
    636 	D3D11_BLEND_SRC_COLOR,
    637 	D3D11_BLEND_INV_SRC_COLOR,
    638 	D3D11_BLEND_SRC_ALPHA,
    639 	D3D11_BLEND_INV_SRC_ALPHA,
    640 	D3D11_BLEND_DEST_ALPHA,
    641 	D3D11_BLEND_INV_DEST_ALPHA,
    642 	D3D11_BLEND_DEST_COLOR,
    643 	D3D11_BLEND_INV_DEST_COLOR ,
    644 	D3D11_BLEND_SRC_ALPHA_SAT,
    645 
    646 	D3D11_BLEND_BLEND_FACTOR = 14,
    647 	D3D11_BLEND_INV_BLEND_FACTOR,
    648 	D3D11_BLEND_SRC1_COLOR,
    649 	D3D11_BLEND_INV_SRC1_COLOR ,
    650 	D3D11_BLEND_SRC1_ALPHA,
    651 	D3D11_BLEND_INV_SRC1_ALPHA
    652 } D3D11_BLEND;
    653 
    654 typedef enum D3D11_BLEND_OP
    655 {
    656 	D3D11_BLEND_OP_ADD = 1,
    657 	D3D11_BLEND_OP_SUBTRACT,
    658 	D3D11_BLEND_OP_REV_SUBTRACT,
    659 	D3D11_BLEND_OP_MIN,
    660 	D3D11_BLEND_OP_MAX
    661 } D3D11_BLEND_OP;
    662 
    663 typedef enum D3D11_COLOR_WRITE_ENABLE
    664 {
    665 	D3D11_COLOR_WRITE_ENABLE_RED = 1,
    666 	D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
    667 	D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
    668 	D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
    669 	D3D11_COLOR_WRITE_ENABLE_ALL = 0xf
    670 } D3D11_COLOR_WRITE_ENABLE;
    671 
    672 typedef struct D3D11_RENDER_TARGET_BLEND_DESC
    673 {
    674 	BOOL BlendEnable;
    675 	D3D11_BLEND SrcBlend;
    676 	D3D11_BLEND DestBlend;
    677 	D3D11_BLEND_OP BlendOp;
    678 	D3D11_BLEND SrcBlendAlpha;
    679 	D3D11_BLEND DestBlendAlpha;
    680 	D3D11_BLEND_OP BlendOpAlpha;
    681 	UINT8 RenderTargetWriteMask;
    682 } D3D11_RENDER_TARGET_BLEND_DESC;
    683 
    684 typedef struct D3D11_BLEND_DESC
    685 {
    686 	BOOL AlphaToCoverageEnable;
    687 	BOOL IndependentBlendEnable;
    688 	D3D11_RENDER_TARGET_BLEND_DESC RenderTarget[8];
    689 } D3D11_BLEND_DESC;
    690 
    691 typedef struct D3D11_RASTERIZER_DESC
    692 {
    693 	D3D11_FILL_MODE FillMode;
    694 	D3D11_CULL_MODE CullMode;
    695 	BOOL FrontCounterClockwise;
    696 	INT DepthBias;
    697 	FLOAT DepthBiasClamp;
    698 	FLOAT SlopeScaledDepthBias;
    699 	BOOL DepthClipEnable;
    700 	BOOL ScissorEnable;
    701 	BOOL MultisampleEnable;
    702 	BOOL AntialiasedLineEnable;
    703 } D3D11_RASTERIZER_DESC;
    704 
    705 typedef struct D3D11_SUBRESOURCE_DATA
    706 {
    707 	const void *pSysMem;
    708 	UINT SysMemPitch;
    709 	UINT SysMemSlicePitch;
    710 } D3D11_SUBRESOURCE_DATA;
    711 
    712 typedef struct D3D11_MAPPED_SUBRESOURCE
    713 {
    714 	void *pData;
    715 	UINT RowPitch;
    716 	UINT DepthPitch;
    717 } D3D11_MAPPED_SUBRESOURCE;
    718 
    719 typedef struct D3D11_BUFFER_DESC
    720 {
    721 	UINT ByteWidth;
    722 	D3D11_USAGE Usage;
    723 	UINT BindFlags;
    724 	UINT CPUAccessFlags;
    725 	UINT MiscFlags;
    726 	UINT StructureByteStride;
    727 } D3D11_BUFFER_DESC;
    728 
    729 typedef struct D3D11_TEXTURE1D_DESC
    730 {
    731 	UINT Width;
    732 	UINT MipLevels;
    733 	UINT ArraySize;
    734 	DXGI_FORMAT Format;
    735 	D3D11_USAGE Usage;
    736 	UINT BindFlags;
    737 	UINT CPUAccessFlags;
    738 	UINT MiscFlags;
    739 } D3D11_TEXTURE1D_DESC;
    740 
    741 typedef struct D3D11_TEXTURE2D_DESC
    742 {
    743 	UINT Width;
    744 	UINT Height;
    745 	UINT MipLevels;
    746 	UINT ArraySize;
    747 	DXGI_FORMAT Format;
    748 	DXGI_SAMPLE_DESC SampleDesc;
    749 	D3D11_USAGE Usage;
    750 	UINT BindFlags;
    751 	UINT CPUAccessFlags;
    752 	UINT MiscFlags;
    753 } D3D11_TEXTURE2D_DESC;
    754 
    755 typedef struct D3D11_TEXTURE3D_DESC
    756 {
    757 	UINT Width;
    758 	UINT Height;
    759 	UINT Depth;
    760 	UINT MipLevels;
    761 	DXGI_FORMAT Format;
    762 	D3D11_USAGE Usage;
    763 	UINT BindFlags;
    764 	UINT CPUAccessFlags;
    765 	UINT MiscFlags;
    766 } D3D11_TEXTURE3D_DESC;
    767 
    768 typedef enum D3D11_TEXTURECUBE_FACE
    769 {
    770 	D3D11_TEXTURECUBE_FACE_POSITIVE_X,
    771 	D3D11_TEXTURECUBE_FACE_NEGATIVE_X,
    772 	D3D11_TEXTURECUBE_FACE_POSITIVE_Y,
    773 	D3D11_TEXTURECUBE_FACE_NEGATIVE_Y,
    774 	D3D11_TEXTURECUBE_FACE_POSITIVE_Z,
    775 	D3D11_TEXTURECUBE_FACE_NEGATIVE_Z
    776 } D3D11_TEXTURECUBE_FACE;
    777 
    778 typedef struct D3D11_BUFFER_SRV
    779 {
    780 	union
    781 	{
    782 		UINT FirstElement;
    783 		UINT ElementOffset;
    784 	};
    785 	union
    786 	{
    787 		UINT NumElements;
    788 		UINT ElementWidth;
    789 	};
    790 } D3D11_BUFFER_SRV;
    791 
    792 typedef enum D3D11_BUFFEREX_SRV_FLAG
    793 {
    794 	D3D11_BUFFEREX_SRV_FLAG_RAW = 1
    795 } D3D11_BUFFEREX_SRV_FLAG;
    796 
    797 typedef struct D3D11_BUFFEREX_SRV
    798 {
    799 	UINT FirstElement;
    800 	UINT NumElements;
    801 	UINT Flags;
    802 } D3D11_BUFFEREX_SRV;
    803 
    804 typedef struct D3D11_TEX1D_SRV
    805 {
    806 	UINT MostDetailedMip;
    807 	UINT MipLevels;
    808 } D3D11_TEX1D_SRV;
    809 
    810 typedef struct D3D11_TEX1D_ARRAY_SRV
    811 {
    812 	UINT MostDetailedMip;
    813 	UINT MipLevels;
    814 	UINT FirstArraySlice;
    815 	UINT ArraySize;
    816 } D3D11_TEX1D_ARRAY_SRV;
    817 
    818 typedef struct D3D11_TEX2D_SRV
    819 {
    820 	UINT MostDetailedMip;
    821 	UINT MipLevels;
    822 } D3D11_TEX2D_SRV;
    823 
    824 typedef struct D3D11_TEX2D_ARRAY_SRV
    825 {
    826 	UINT MostDetailedMip;
    827 	UINT MipLevels;
    828 	UINT FirstArraySlice;
    829 	UINT ArraySize;
    830 } D3D11_TEX2D_ARRAY_SRV;
    831 
    832 typedef struct D3D11_TEX3D_SRV
    833 {
    834 	UINT MostDetailedMip;
    835 	UINT MipLevels;
    836 } D3D11_TEX3D_SRV;
    837 
    838 typedef struct D3D11_TEXCUBE_SRV
    839 {
    840 	UINT MostDetailedMip;
    841 	UINT MipLevels;
    842 } D3D11_TEXCUBE_SRV;
    843 
    844 typedef struct D3D11_TEXCUBE_ARRAY_SRV
    845 {
    846 	UINT MostDetailedMip;
    847 	UINT MipLevels;
    848 	UINT First2DArrayFace;
    849 	UINT NumCubes;
    850 } D3D11_TEXCUBE_ARRAY_SRV;
    851 
    852 typedef struct D3D11_TEX2DMS_SRV
    853 {
    854 	UINT UnusedField_NothingToDefine;
    855 } D3D11_TEX2DMS_SRV;
    856 
    857 typedef struct D3D11_TEX2DMS_ARRAY_SRV
    858 {
    859 	UINT FirstArraySlice;
    860 	UINT ArraySize;
    861 } D3D11_TEX2DMS_ARRAY_SRV;
    862 
    863 typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC
    864 {
    865 	DXGI_FORMAT Format;
    866 	D3D11_SRV_DIMENSION ViewDimension;
    867 	union
    868 	{
    869 		D3D11_BUFFER_SRV Buffer;
    870 		D3D11_TEX1D_SRV Texture1D;
    871 		D3D11_TEX1D_ARRAY_SRV Texture1DArray;
    872 		D3D11_TEX2D_SRV Texture2D;
    873 		D3D11_TEX2D_ARRAY_SRV Texture2DArray;
    874 		D3D11_TEX2DMS_SRV Texture2DMS;
    875 		D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
    876 		D3D11_TEX3D_SRV Texture3D;
    877 		D3D11_TEXCUBE_SRV TextureCube;
    878 		D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
    879 		D3D11_BUFFEREX_SRV BufferEx;
    880 	};
    881 } D3D11_SHADER_RESOURCE_VIEW_DESC;
    882 
    883 
    884 typedef struct D3D11_BUFFER_RTV
    885 {
    886 	union
    887 	{
    888 		UINT FirstElement;
    889 		UINT ElementOffset;
    890 	};
    891 	union
    892 	{
    893 		UINT NumElements;
    894 		UINT ElementWidth;
    895 	};
    896 } D3D11_BUFFER_RTV;
    897 
    898 typedef struct D3D11_TEX1D_RTV
    899 {
    900 	UINT MipSlice;
    901 } D3D11_TEX1D_RTV;
    902 
    903 typedef struct D3D11_TEX1D_ARRAY_RTV
    904 {
    905 	UINT MipSlice;
    906 	UINT FirstArraySlice;
    907 	UINT ArraySize;
    908 } D3D11_TEX1D_ARRAY_RTV;
    909 
    910 typedef struct D3D11_TEX2D_RTV
    911 {
    912 	UINT MipSlice;
    913 } D3D11_TEX2D_RTV;
    914 
    915 typedef struct D3D11_TEX2DMS_RTV
    916 {
    917 	UINT UnusedField_NothingToDefine;
    918 } D3D11_TEX2DMS_RTV;
    919 
    920 typedef struct D3D11_TEX2D_ARRAY_RTV
    921 {
    922 	UINT MipSlice;
    923 	UINT FirstArraySlice;
    924 	UINT ArraySize;
    925 } D3D11_TEX2D_ARRAY_RTV;
    926 
    927 typedef struct D3D11_TEX2DMS_ARRAY_RTV
    928 {
    929 	UINT FirstArraySlice;
    930 	UINT ArraySize;
    931 } D3D11_TEX2DMS_ARRAY_RTV;
    932 
    933 typedef struct D3D11_TEX3D_RTV
    934 {
    935 	UINT MipSlice;
    936 	UINT FirstWSlice;
    937 	UINT WSize;
    938 } D3D11_TEX3D_RTV;
    939 
    940 typedef struct D3D11_RENDER_TARGET_VIEW_DESC
    941 {
    942 	DXGI_FORMAT Format;
    943 	D3D11_RTV_DIMENSION ViewDimension;
    944 	union
    945 	{
    946 		D3D11_BUFFER_RTV Buffer;
    947 		D3D11_TEX1D_RTV Texture1D;
    948 		D3D11_TEX1D_ARRAY_RTV Texture1DArray;
    949 		D3D11_TEX2D_RTV Texture2D;
    950 		D3D11_TEX2D_ARRAY_RTV Texture2DArray;
    951 		D3D11_TEX2DMS_RTV Texture2DMS;
    952 		D3D11_TEX2DMS_ARRAY_RTV Texture2DMSArray;
    953 		D3D11_TEX3D_RTV Texture3D;
    954 	};
    955 } D3D11_RENDER_TARGET_VIEW_DESC;
    956 
    957 typedef struct D3D11_TEX1D_DSV
    958 {
    959 	UINT MipSlice;
    960 } D3D11_TEX1D_DSV;
    961 
    962 typedef struct D3D11_TEX1D_ARRAY_DSV
    963 {
    964 	UINT MipSlice;
    965 	UINT FirstArraySlice;
    966 	UINT ArraySize;
    967 } D3D11_TEX1D_ARRAY_DSV;
    968 
    969 typedef struct D3D11_TEX2D_DSV
    970 {
    971 	UINT MipSlice;
    972 } D3D11_TEX2D_DSV;
    973 
    974 typedef struct D3D11_TEX2D_ARRAY_DSV
    975 {
    976 	UINT MipSlice;
    977 	UINT FirstArraySlice;
    978 	UINT ArraySize;
    979 } D3D11_TEX2D_ARRAY_DSV;
    980 
    981 typedef struct D3D11_TEX2DMS_DSV
    982 {
    983 	UINT UnusedField_NothingToDefine;
    984 } D3D11_TEX2DMS_DSV;
    985 
    986 typedef struct D3D11_TEX2DMS_ARRAY_DSV
    987 {
    988 	UINT FirstArraySlice;
    989 	UINT ArraySize;
    990 } D3D11_TEX2DMS_ARRAY_DSV;
    991 
    992 typedef enum D3D11_DSV_FLAG
    993 {
    994 	D3D11_DSV_READ_ONLY_DEPTH = 1L,
    995 	D3D11_DSV_READ_ONLY_STENCIL = 2L
    996 } D3D11_DSV_FLAG;
    997 
    998 typedef struct D3D11_DEPTH_STENCIL_VIEW_DESC
    999 {
   1000 	DXGI_FORMAT Format;
   1001 	D3D11_DSV_DIMENSION ViewDimension;
   1002 	UINT Flags;
   1003 	union
   1004 	{
   1005 		D3D11_TEX1D_DSV Texture1D;
   1006 		D3D11_TEX1D_ARRAY_DSV Texture1DArray;
   1007 		D3D11_TEX2D_DSV Texture2D;
   1008 		D3D11_TEX2D_ARRAY_DSV Texture2DArray;
   1009 		D3D11_TEX2DMS_DSV Texture2DMS;
   1010 		D3D11_TEX2DMS_ARRAY_DSV Texture2DMSArray;
   1011 	};
   1012 } D3D11_DEPTH_STENCIL_VIEW_DESC;
   1013 
   1014 typedef enum D3D11_BUFFER_UAV_FLAG
   1015 {
   1016 	D3D11_BUFFER_UAV_FLAG_RAW = 1,
   1017 	D3D11_BUFFER_UAV_FLAG_APPEND = 2,
   1018 	D3D11_BUFFER_UAV_FLAG_COUNTER = 4
   1019 } D3D11_BUFFER_UAV_FLAG;
   1020 
   1021 typedef struct D3D11_BUFFER_UAV
   1022 {
   1023 	UINT FirstElement;
   1024 	UINT NumElements;
   1025 	UINT Flags;
   1026 } D3D11_BUFFER_UAV;
   1027 
   1028 typedef struct D3D11_TEX1D_UAV
   1029 {
   1030 	UINT MipSlice;
   1031 } D3D11_TEX1D_UAV;
   1032 
   1033 typedef struct D3D11_TEX1D_ARRAY_UAV
   1034 {
   1035 	UINT MipSlice;
   1036 	UINT FirstArraySlice;
   1037 	UINT ArraySize;
   1038 } D3D11_TEX1D_ARRAY_UAV;
   1039 
   1040 typedef struct D3D11_TEX2D_UAV
   1041 {
   1042 	UINT MipSlice;
   1043 } D3D11_TEX2D_UAV;
   1044 
   1045 typedef struct D3D11_TEX2D_ARRAY_UAV
   1046 {
   1047 	UINT MipSlice;
   1048 	UINT FirstArraySlice;
   1049 	UINT ArraySize;
   1050 } D3D11_TEX2D_ARRAY_UAV;
   1051 
   1052 typedef struct D3D11_TEX3D_UAV
   1053 {
   1054 	UINT MipSlice;
   1055 	UINT FirstWSlice;
   1056 	UINT WSize;
   1057 } D3D11_TEX3D_UAV;
   1058 
   1059 typedef struct D3D11_UNORDERED_ACCESS_VIEW_DESC
   1060 {
   1061 	DXGI_FORMAT Format;
   1062 	D3D11_UAV_DIMENSION ViewDimension;
   1063 	union
   1064 	{
   1065 		D3D11_BUFFER_UAV Buffer;
   1066 		D3D11_TEX1D_UAV Texture1D;
   1067 		D3D11_TEX1D_ARRAY_UAV Texture1DArray;
   1068 		D3D11_TEX2D_UAV Texture2D;
   1069 		D3D11_TEX2D_ARRAY_UAV Texture2DArray;
   1070 		D3D11_TEX3D_UAV Texture3D;
   1071 	};
   1072 } D3D11_UNORDERED_ACCESS_VIEW_DESC;
   1073 
   1074 typedef enum D3D11_FILTER
   1075 {
   1076 	D3D11_FILTER_MIN_MAG_MIP_POINT = 0,
   1077 	D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 1,
   1078 	D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 4,
   1079 	D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 5,
   1080 	D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
   1081 	D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
   1082 	D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
   1083 	D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
   1084 	D3D11_FILTER_ANISOTROPIC = 0x55,
   1085 	D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
   1086 	D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
   1087 	D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
   1088 	D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
   1089 	D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
   1090 	D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
   1091 	D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
   1092 	D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
   1093 	D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5
   1094 } D3D11_FILTER;
   1095 
   1096 typedef enum D3D11_FILTER_TYPE
   1097 {
   1098 	D3D11_FILTER_TYPE_POINT,
   1099 	D3D11_FILTER_TYPE_LINEAR
   1100 } D3D11_FILTER_TYPE;
   1101 
   1102 const unsigned int D3D11_FILTER_TYPE_MASK = 3;
   1103 const unsigned int D3D11_MIN_FILTER_SHIFT = 4;
   1104 const unsigned int D3D11_MAG_FILTER_SHIFT = 2;
   1105 const unsigned int D3D11_MIP_FILTER_SHIFT = 0;
   1106 const unsigned int D3D11_COMPARISON_FILTERING_BIT = 0x80;
   1107 const unsigned int D3D11_ANISOTROPIC_FILTERING_BIT = 0x40;
   1108 
   1109 cpp_quote("#define D3D11_ENCODE_BASIC_FILTER(min, mag, mip, comp) ((D3D11_FILTER) (((comp) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) | (((min) & D3D11_FILTER_TYPE_MASK ) << D3D11_MIN_FILTER_SHIFT ) | (((mag) & D3D11_FILTER_TYPE_MASK ) << D3D11_MAG_FILTER_SHIFT ) | (((mip) & D3D11_FILTER_TYPE_MASK) << D3D11_MIP_FILTER_SHIFT)))")
   1110 cpp_quote("#define D3D11_ENCODE_ANISOTROPIC_FILTER(comp) ((D3D11_FILTER)(D3D11_ANISOTROPIC_FILTERING_BIT | D3D11_ENCODE_BASIC_FILTER(D3D11_FILTER_TYPE_LINEAR, D3D11_FILTER_TYPE_LINEAR, D3D11_FILTER_TYPE_LINEAR, comp)))")
   1111 cpp_quote("#define D3D11_DECODE_MIN_FILTER(f) ((D3D11_FILTER_TYPE)(((f) >> D3D11_MIN_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
   1112 cpp_quote("#define D3D11_DECODE_MAG_FILTER(f) ((D3D11_FILTER_TYPE)(((f) >> D3D11_MAG_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
   1113 cpp_quote("#define D3D11_DECODE_MIP_FILTER(f) ((D3D11_FILTER_TYPE)(((f) >> D3D11_MIP_FILTER_SHIFT) & D3D11_FILTER_TYPE_MASK))")
   1114 cpp_quote("#define D3D11_DECODE_IS_COMPARISON_FILTER(f) ((f) & D3D11_COMPARISON_FILTERING_BIT)")
   1115 cpp_quote("#define D3D11_DECODE_IS_ANISOTROPIC_FILTER(f) (((f) & D3D11_ANISOTROPIC_FILTERING_BIT) && (D3D11_DECODE_MIN_FILTER(f) == D3D11_FILTER_TYPE_LINEAR) && (D3D11_DECODE_MAG_FILTER(f) == D3D11_FILTER_TYPE_LINEAR) && (D3D11_DECODE_MIP_FILTER( f ) == D3D11_FILTER_TYPE_LINEAR))")
   1116 
   1117 typedef enum D3D11_TEXTURE_ADDRESS_MODE
   1118 {
   1119 	D3D11_TEXTURE_ADDRESS_WRAP = 1,
   1120 	D3D11_TEXTURE_ADDRESS_MIRROR = 2,
   1121 	D3D11_TEXTURE_ADDRESS_CLAMP = 3,
   1122 	D3D11_TEXTURE_ADDRESS_BORDER = 4,
   1123 	D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
   1124 } D3D11_TEXTURE_ADDRESS_MODE;
   1125 
   1126 typedef struct D3D11_SAMPLER_DESC
   1127 {
   1128 	D3D11_FILTER Filter;
   1129 	D3D11_TEXTURE_ADDRESS_MODE AddressU;
   1130 	D3D11_TEXTURE_ADDRESS_MODE AddressV;
   1131 	D3D11_TEXTURE_ADDRESS_MODE AddressW;
   1132 	FLOAT MipLODBias;
   1133 	UINT MaxAnisotropy;
   1134 	D3D11_COMPARISON_FUNC ComparisonFunc;
   1135 	FLOAT BorderColor[ 4 ];
   1136 	FLOAT MinLOD;
   1137 	FLOAT MaxLOD;
   1138 } D3D11_SAMPLER_DESC;
   1139 
   1140 typedef enum D3D11_FORMAT_SUPPORT
   1141 {
   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;
   1170 
   1171 typedef enum D3D11_FORMAT_SUPPORT2
   1172 {
   1173 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 1,
   1174 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 2,
   1175 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 4,
   1176 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 8,
   1177 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10,
   1178 	D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20,
   1179 	D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40,
   1180 	D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80
   1181 } D3D11_FORMAT_SUPPORT2;
   1182 
   1183 typedef enum D3D11_ASYNC_GETDATA_FLAG
   1184 {
   1185 	D3D11_ASYNC_GETDATA_DONOTFLUSH = 1
   1186 } D3D11_ASYNC_GETDATA_FLAG;
   1187 
   1188 typedef enum D3D11_QUERY
   1189 {
   1190 	D3D11_QUERY_EVENT,
   1191 	D3D11_QUERY_OCCLUSION,
   1192 	D3D11_QUERY_TIMESTAMP,
   1193 	D3D11_QUERY_TIMESTAMP_DISJOINT,
   1194 	D3D11_QUERY_PIPELINE_STATISTICS,
   1195 	D3D11_QUERY_OCCLUSION_PREDICATE,
   1196 	D3D11_QUERY_SO_STATISTICS,
   1197 	D3D11_QUERY_SO_OVERFLOW_PREDICATE,
   1198 	D3D11_QUERY_SO_STATISTICS_STREAM0,
   1199 	D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
   1200 	D3D11_QUERY_SO_STATISTICS_STREAM1,
   1201 	D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
   1202 	D3D11_QUERY_SO_STATISTICS_STREAM2,
   1203 	D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
   1204 	D3D11_QUERY_SO_STATISTICS_STREAM3,
   1205 	D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3,
   1206 } D3D11_QUERY;
   1207 
   1208 typedef enum D3D11_QUERY_MISC_FLAG
   1209 {
   1210 	D3D11_QUERY_MISC_PREDICATEHINT = 1
   1211 } D3D11_QUERY_MISC_FLAG;
   1212 
   1213 typedef struct D3D11_QUERY_DESC
   1214 {
   1215 	D3D11_QUERY Query;
   1216 	UINT MiscFlags;
   1217 } D3D11_QUERY_DESC;
   1218 
   1219 typedef struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT
   1220 {
   1221 	UINT64 Frequency;
   1222 	BOOL Disjoint;
   1223 } D3D11_QUERY_DATA_TIMESTAMP_DISJOINT;
   1224 
   1225 typedef struct D3D11_QUERY_DATA_PIPELINE_STATISTICS
   1226 {
   1227 	UINT64 IAVertices;
   1228 	UINT64 IAPrimitives;
   1229 	UINT64 VSInvocations;
   1230 	UINT64 GSInvocations;
   1231 	UINT64 GSPrimitives;
   1232 	UINT64 CInvocations;
   1233 	UINT64 CPrimitives;
   1234 	UINT64 PSInvocations;
   1235 	UINT64 HSInvocations;
   1236 	UINT64 DSInvocations;
   1237 	UINT64 CSInvocations;
   1238 } D3D11_QUERY_DATA_PIPELINE_STATISTICS;
   1239 
   1240 typedef struct D3D11_QUERY_DATA_SO_STATISTICS
   1241 {
   1242 	UINT64 NumPrimitivesWritten;
   1243 	UINT64 PrimitivesStorageNeeded;
   1244 } D3D11_QUERY_DATA_SO_STATISTICS;
   1245 
   1246 typedef enum D3D11_COUNTER
   1247 {
   1248 	D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000
   1249 } D3D11_COUNTER;
   1250 
   1251 typedef enum D3D11_COUNTER_TYPE
   1252 {
   1253 	D3D11_COUNTER_TYPE_FLOAT32,
   1254 	D3D11_COUNTER_TYPE_UINT16,
   1255 	D3D11_COUNTER_TYPE_UINT32,
   1256 	D3D11_COUNTER_TYPE_UINT64,
   1257 } D3D11_COUNTER_TYPE;
   1258 
   1259 typedef struct D3D11_COUNTER_DESC
   1260 {
   1261 	D3D11_COUNTER Counter;
   1262 	UINT MiscFlags;
   1263 } D3D11_COUNTER_DESC;
   1264 
   1265 typedef struct D3D11_COUNTER_INFO
   1266 {
   1267 	D3D11_COUNTER LastDeviceDependentCounter;
   1268 	UINT NumSimultaneousCounters;
   1269 	UINT8 NumDetectableParallelUnits;
   1270 } D3D11_COUNTER_INFO;
   1271 
   1272 typedef enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS
   1273 {
   1274 	D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff,
   1275 	D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe
   1276 } D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS;
   1277 
   1278 typedef enum D3D11_DEVICE_CONTEXT_TYPE
   1279 {
   1280 	D3D11_DEVICE_CONTEXT_IMMEDIATE,
   1281 	D3D11_DEVICE_CONTEXT_DEFERRED,
   1282 } D3D11_DEVICE_CONTEXT_TYPE;
   1283 
   1284 typedef struct D3D11_CLASS_INSTANCE_DESC
   1285 {
   1286 	UINT InstanceId;
   1287 	UINT InstanceIndex;
   1288 	UINT TypeId;
   1289 	UINT ConstantBuffer;
   1290 	UINT BaseConstantBufferOffset;
   1291 	UINT BaseTexture;
   1292 	UINT BaseSampler;
   1293 	BOOL Created;
   1294 } D3D11_CLASS_INSTANCE_DESC;
   1295 
   1296 typedef enum D3D11_FEATURE
   1297 {
   1298 	D3D11_FEATURE_THREADING,
   1299 	D3D11_FEATURE_DOUBLES,
   1300 	D3D11_FEATURE_FORMAT_SUPPORT,
   1301 	D3D11_FEATURE_FORMAT_SUPPORT2,
   1302 	D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS,
   1303 } D3D11_FEATURE;
   1304 
   1305 typedef struct D3D11_FEATURE_DATA_THREADING
   1306 {
   1307 	BOOL DriverConcurrentCreates;
   1308 	BOOL DriverCommandLists;
   1309 } D3D11_FEATURE_DATA_THREADING;
   1310 
   1311 typedef struct D3D11_FEATURE_DATA_DOUBLES
   1312 {
   1313 	BOOL DoublePrecisionFloatShaderOps;
   1314 } D3D11_FEATURE_DATA_DOUBLES;
   1315 
   1316 typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT
   1317 {
   1318 	DXGI_FORMAT InFormat;
   1319 	UINT OutFormatSupport;
   1320 } D3D11_FEATURE_DATA_FORMAT_SUPPORT;
   1321 
   1322 typedef struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2
   1323 {
   1324 	DXGI_FORMAT InFormat;
   1325 	UINT OutFormatSupport2;
   1326 } D3D11_FEATURE_DATA_FORMAT_SUPPORT2;
   1327 
   1328 typedef struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS
   1329 {
   1330 	BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x;
   1331 } D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS;
   1332 
   1333 interface ID3D11Device;
   1334 
   1335 [object, local, uuid("1841e5c8-16b0-489b-bcc8-44cfb0d5deae")]
   1336 interface ID3D11DeviceChild : IUnknown {
   1337 	void GetDevice(
   1338 		[out] ID3D11Device **a
   1339 	);
   1340 
   1341 	HRESULT GetPrivateData(
   1342 		[in] REFGUID a,
   1343 		[in, out] UINT *b,
   1344 		[out] void *c
   1345 	);
   1346 
   1347 	HRESULT SetPrivateData(
   1348 		[in] REFGUID a,
   1349 		[in] UINT b,
   1350 		[in] const void *c
   1351 	);
   1352 
   1353 	HRESULT SetPrivateDataInterface(
   1354 		[in] REFGUID a,
   1355 		[in] const IUnknown *b
   1356 	);
   1357 };
   1358 
   1359 [object, local, uuid("e4819ddc-4cf0-4025-bd26-5de82a3e07b7")]
   1360 interface ID3D11InputLayout : ID3D11DeviceChild
   1361 {
   1362 };
   1363 
   1364 [object, local, uuid("03823efb-8d8f-4e1c-9aa2-f64bb2cbfdf1")]
   1365 interface ID3D11DepthStencilState : ID3D11DeviceChild {
   1366 	void GetDesc(
   1367 		[out] D3D11_DEPTH_STENCIL_DESC *a
   1368 	);
   1369 };
   1370 
   1371 [object, local, uuid("75b68faa-347d-4159-8f45-a0640f01cd9a")]
   1372 interface ID3D11BlendState : ID3D11DeviceChild {
   1373 	void GetDesc(
   1374 		[out] D3D11_BLEND_DESC *a
   1375 	);
   1376 };
   1377 
   1378 [object, local, uuid("9bb4ab81-ab1a-4d8f-b506-fc04200b6ee7")]
   1379 interface ID3D11RasterizerState : ID3D11DeviceChild {
   1380 	void GetDesc(
   1381 		[out] D3D11_RASTERIZER_DESC *a
   1382 	);
   1383 };
   1384 
   1385 [object, local, uuid("da6fea51-564c-4487-9810-f0d0f9b4e3a5")]
   1386 interface ID3D11SamplerState : ID3D11DeviceChild
   1387 {
   1388 	void GetDesc(
   1389 		[out] D3D11_SAMPLER_DESC *a
   1390 	);
   1391 
   1392 };
   1393 
   1394 [object, local, uuid("dc8e63f3-d12b-4952-b47b-5e45026a862d")]
   1395 interface ID3D11Resource : ID3D11DeviceChild {
   1396 	void GetType(
   1397 		[out] D3D11_RESOURCE_DIMENSION *a
   1398 	);
   1399 
   1400 	void SetEvictionPriority(
   1401 		[in] UINT a
   1402 	);
   1403 
   1404 	UINT GetEvictionPriority(
   1405 	);
   1406 };
   1407 
   1408 [object, local, uuid("48570b85-d1ee-4fcd-a250-eb350722b037")]
   1409 interface ID3D11Buffer : ID3D11Resource {
   1410 	void GetDesc(
   1411 		[out] D3D11_BUFFER_DESC *a
   1412 	);
   1413 
   1414 };
   1415 
   1416 [object, local, uuid("f8fb5c27-c6b3-4f75-a4c8-439af2ef564c")]
   1417 interface ID3D11Texture1D : ID3D11Resource {
   1418 	void GetDesc(
   1419 		[out] D3D11_TEXTURE1D_DESC *a
   1420 	);
   1421 };
   1422 
   1423 [object, local, uuid("6f15aaf2-d208-4e89-9ab4-489535d34f9c")]
   1424 interface ID3D11Texture2D : ID3D11Resource {
   1425 	void GetDesc(
   1426 		[out] D3D11_TEXTURE2D_DESC *a
   1427 	);
   1428 };
   1429 
   1430 [object, local, uuid("037e866e-f56d-4357-a8af-9dabbe6e250e")]
   1431 interface ID3D11Texture3D : ID3D11Resource {
   1432 	void GetDesc(
   1433 		[out] D3D11_TEXTURE3D_DESC *a
   1434 	);
   1435 };
   1436 
   1437 [object, local, uuid("839d1216-bb2e-412b-b7f4-a9dbebe08ed1")]
   1438 interface ID3D11View : ID3D11DeviceChild {
   1439 	void GetResource(
   1440 		[out] ID3D11Resource **a
   1441 	);
   1442 
   1443 };
   1444 
   1445 [object, local, uuid("b0e06fe0-8192-4e1a-b1ca-36d7414710b2")]
   1446 interface ID3D11ShaderResourceView : ID3D11View {
   1447 	void GetDesc(
   1448 		[out] D3D11_SHADER_RESOURCE_VIEW_DESC *a
   1449 	);
   1450 };
   1451 
   1452 [object, local, uuid("dfdba067-0b8d-4865-875b-d7b4516cc164")]
   1453 interface ID3D11RenderTargetView : ID3D11View
   1454 {
   1455 	void GetDesc(
   1456 		[out] D3D11_RENDER_TARGET_VIEW_DESC *a
   1457 	);
   1458 };
   1459 
   1460 [object, local, uuid("9fdac92a-1876-48c3-afad-25b94f84a9b6")]
   1461 interface ID3D11DepthStencilView : ID3D11View
   1462 {
   1463 	void GetDesc(
   1464 		[out] D3D11_DEPTH_STENCIL_VIEW_DESC *a
   1465 	);
   1466 };
   1467 
   1468 [object, local, uuid("28acf509-7f5c-48f6-8611-f316010a6380")]
   1469 interface ID3D11UnorderedAccessView : ID3D11View
   1470 {
   1471 	void GetDesc(
   1472 		[out] D3D11_UNORDERED_ACCESS_VIEW_DESC *a
   1473 	);
   1474 };
   1475 
   1476 [object, local, uuid("3b301d64-d678-4289-8897-22f8928b72f3")]
   1477 interface ID3D11VertexShader : ID3D11DeviceChild
   1478 {
   1479 };
   1480 
   1481 [object, local, uuid("8e5c6061-628a-4c8e-8264-bbe45cb3d5dd")]
   1482 interface ID3D11HullShader : ID3D11DeviceChild
   1483 {
   1484 };
   1485 
   1486 [object, local, uuid("f582c508-0f36-490c-9977-31eece268cfa")]
   1487 interface ID3D11DomainShader : ID3D11DeviceChild
   1488 {
   1489 };
   1490 
   1491 
   1492 [object, local, uuid("38325b96-effb-4022-ba02-2e795b70275c")]
   1493 interface ID3D11GeometryShader : ID3D11DeviceChild
   1494 {
   1495 };
   1496 
   1497 [object, local, uuid("ea82e40d-51dc-4f33-93d4-db7c9125ae8c")]
   1498 interface ID3D11PixelShader : ID3D11DeviceChild
   1499 {
   1500 };
   1501 
   1502 [object, local, uuid("4f5b196e-c2bd-495e-bd01-1fded38e4969")]
   1503 interface ID3D11ComputeShader : ID3D11DeviceChild
   1504 {
   1505 };
   1506 
   1507 [object, local, uuid("4b35d0cd-1e15-4258-9c98-1b1333f6dd3b")]
   1508 interface ID3D11Asynchronous : ID3D11DeviceChild
   1509 {
   1510 	UINT GetDataSize();
   1511 };
   1512 
   1513 [object, local, uuid("d6c00747-87b7-425e-b84d-44d108560afd")]
   1514 interface ID3D11Query : ID3D11Asynchronous
   1515 {
   1516 	void GetDesc(
   1517 		[out] D3D11_QUERY_DESC *a
   1518 	);
   1519 };
   1520 
   1521 [object, local, uuid("9eb576dd-9f77-4d86-81aa-8bab5fe490e2")]
   1522 interface ID3D11Predicate : ID3D11Query
   1523 {
   1524 };
   1525 
   1526 [object, local, uuid("6e8c49fb-a371-4770-b440-29086022b741")]
   1527 interface ID3D11Counter : ID3D11Asynchronous
   1528 {
   1529 	void GetDesc(
   1530 		[out] D3D11_COUNTER_DESC *a
   1531 	);
   1532 };
   1533 
   1534 interface ID3D11ClassLinkage;
   1535 
   1536 [object, local, uuid("a6cd7faa-b0b7-4a2f-9436-8662a65797cb")]
   1537 interface ID3D11ClassInstance : ID3D11DeviceChild
   1538 {
   1539 	void GetClassLinkage(
   1540 		[out] ID3D11ClassLinkage **a
   1541 	);
   1542 
   1543 	void GetDesc(
   1544 		[out] D3D11_CLASS_INSTANCE_DESC *a
   1545 	);
   1546 
   1547 	void GetInstanceName(
   1548 		[out] LPSTR a,
   1549 		[in, out] SIZE_T *b
   1550 	);
   1551 
   1552 	void GetTypeName(
   1553 		[out] LPSTR a,
   1554 		[in, out] SIZE_T *b
   1555 	);
   1556 };
   1557 
   1558 [object, local, uuid("ddf57cba-9543-46e4-a12b-f207a0fe7fed")]
   1559 interface ID3D11ClassLinkage : ID3D11DeviceChild
   1560 {
   1561 	HRESULT GetClassInstance(
   1562 		[in] LPCSTR a,
   1563 		[in] UINT b,
   1564 		[out] ID3D11ClassInstance **c
   1565 	);
   1566 
   1567 	HRESULT CreateClassInstance(
   1568 		[in] LPCSTR a,
   1569 		[in] UINT b,
   1570 		[in] UINT c,
   1571 		[in] UINT d,
   1572 		[in] UINT e,
   1573 		[out] ID3D11ClassInstance **f
   1574 	);
   1575 };
   1576 
   1577 [object, local, uuid("a24bc4d1-769e-43f7-8013-98ff566c18e2")]
   1578 interface ID3D11CommandList : ID3D11DeviceChild
   1579 {
   1580 	UINT GetContextFlags();
   1581 };
   1582 
   1583 interface ID3D11DeviceContext;
   1584 
   1585 [object, local, uuid("db6f6ddb-ac77-4e88-8253-819df9bbf140")]
   1586 interface ID3D11Device : IUnknown
   1587 {
   1588 	HRESULT CreateBuffer(
   1589 		[in] const D3D11_BUFFER_DESC *a,
   1590 		[in] const D3D11_SUBRESOURCE_DATA *b,
   1591 		[out] ID3D11Buffer **c
   1592 	);
   1593 
   1594 	HRESULT CreateTexture1D(
   1595 		[in] const D3D11_TEXTURE1D_DESC *a,
   1596 		[in] const D3D11_SUBRESOURCE_DATA *b,
   1597 		[out] ID3D11Texture1D **c
   1598 	);
   1599 
   1600 	HRESULT CreateTexture2D(
   1601 		[in] const D3D11_TEXTURE2D_DESC *a,
   1602 		[in] const D3D11_SUBRESOURCE_DATA *b,
   1603 		[out] ID3D11Texture2D **c
   1604 	);
   1605 
   1606 	HRESULT CreateTexture3D(
   1607 		[in] const D3D11_TEXTURE3D_DESC *a,
   1608 		[in] const D3D11_SUBRESOURCE_DATA *b,
   1609 		[out] ID3D11Texture3D **c
   1610 	);
   1611 
   1612 	HRESULT CreateShaderResourceView(
   1613 		[in] ID3D11Resource *a,
   1614 		[in] const D3D11_SHADER_RESOURCE_VIEW_DESC *b,
   1615 		[out] ID3D11ShaderResourceView **c
   1616 	);
   1617 
   1618 	HRESULT CreateUnorderedAccessView(
   1619 		[in] ID3D11Resource *a,
   1620 		[in] const D3D11_UNORDERED_ACCESS_VIEW_DESC *b,
   1621 		[out] ID3D11UnorderedAccessView **c
   1622 	);
   1623 
   1624 	HRESULT CreateRenderTargetView(
   1625 		[in] ID3D11Resource *a,
   1626 		[in] const D3D11_RENDER_TARGET_VIEW_DESC *b,
   1627 		[out] ID3D11RenderTargetView **c
   1628 	);
   1629 
   1630 	HRESULT CreateDepthStencilView(
   1631 		[in] ID3D11Resource *a,
   1632 		[in] const D3D11_DEPTH_STENCIL_VIEW_DESC *b,
   1633 		[out] ID3D11DepthStencilView **c
   1634 	);
   1635 
   1636 	HRESULT CreateInputLayout(
   1637 		[in] const D3D11_INPUT_ELEMENT_DESC *a,
   1638 		[in] UINT b,
   1639 		[in] const void *c,
   1640 		[in] SIZE_T d,
   1641 		[out] ID3D11InputLayout **e
   1642 	);
   1643 
   1644 	HRESULT CreateVertexShader(
   1645 		[in] const void *a,
   1646 		[in] SIZE_T b,
   1647 		[in] ID3D11ClassLinkage *c,
   1648 		[out] ID3D11VertexShader **d
   1649 	);
   1650 
   1651 	HRESULT CreateGeometryShader(
   1652 		[in] const void *a,
   1653 		[in] SIZE_T b,
   1654 		[in] ID3D11ClassLinkage *c,
   1655 		[out] ID3D11GeometryShader **d
   1656 	);
   1657 
   1658 	HRESULT CreateGeometryShaderWithStreamOutput(
   1659 		[in] const void *a,
   1660 		[in] SIZE_T b,
   1661 		[in] const D3D11_SO_DECLARATION_ENTRY *c,
   1662 		[in] UINT d,
   1663 		[in] const UINT *e,
   1664 		[in] UINT f,
   1665 		[in] UINT g,
   1666 		[in] ID3D11ClassLinkage *h,
   1667 		[out] ID3D11GeometryShader **i
   1668 	);
   1669 
   1670 	HRESULT CreatePixelShader(
   1671 		[in] const void *a,
   1672 		[in] SIZE_T b,
   1673 		[in] ID3D11ClassLinkage *c,
   1674 		[out] ID3D11PixelShader **d
   1675 	);
   1676 
   1677 	HRESULT CreateHullShader(
   1678 		[in] const void *a,
   1679 		[in] SIZE_T b,
   1680 		[in] ID3D11ClassLinkage *c,
   1681 		[out] ID3D11HullShader **d
   1682 	);
   1683 
   1684 	HRESULT CreateDomainShader(
   1685 		[in] const void *a,
   1686 		[in] SIZE_T b,
   1687 		[in] ID3D11ClassLinkage *c,
   1688 		[out] ID3D11DomainShader **d
   1689 	);
   1690 
   1691 	HRESULT CreateComputeShader(
   1692 		[in] const void *a,
   1693 		[in] SIZE_T b,
   1694 		[in] ID3D11ClassLinkage *c,
   1695 		[out] ID3D11ComputeShader **d
   1696 	);
   1697 
   1698 	HRESULT CreateClassLinkage(
   1699 		[out] ID3D11ClassLinkage **a
   1700 	);
   1701 
   1702 	HRESULT CreateBlendState(
   1703 		[in] const D3D11_BLEND_DESC *a,
   1704 		[out] ID3D11BlendState **b
   1705 	);
   1706 
   1707 	HRESULT CreateDepthStencilState(
   1708 		[in] const D3D11_DEPTH_STENCIL_DESC *a,
   1709 		[out] ID3D11DepthStencilState **b
   1710 	);
   1711 
   1712 	HRESULT CreateRasterizerState(
   1713 		[in] const D3D11_RASTERIZER_DESC *a,
   1714 		[out] ID3D11RasterizerState **b
   1715 	);
   1716 
   1717 	HRESULT CreateSamplerState(
   1718 		[in] const D3D11_SAMPLER_DESC *a,
   1719 		[out] ID3D11SamplerState **b
   1720 	);
   1721 
   1722 	HRESULT CreateQuery(
   1723 		[in] const D3D11_QUERY_DESC *a,
   1724 		[out] ID3D11Query **b
   1725 	);
   1726 
   1727 	HRESULT CreatePredicate(
   1728 		[in] const D3D11_QUERY_DESC *a,
   1729 		[out] ID3D11Predicate **b
   1730 	);
   1731 
   1732 	HRESULT CreateCounter(
   1733 		[in] const D3D11_COUNTER_DESC *a,
   1734 		[out] ID3D11Counter **b
   1735 	);
   1736 
   1737 	HRESULT CreateDeferredContext(
   1738 		[in] UINT a,
   1739 		[out] ID3D11DeviceContext **b
   1740 	);
   1741 
   1742 	HRESULT OpenSharedResource(
   1743 		[in] HANDLE a,
   1744 		[in] REFIID b,
   1745 		[out] void **c
   1746 	);
   1747 
   1748 	HRESULT CheckFormatSupport(
   1749 		[in] DXGI_FORMAT a,
   1750 		[out] UINT *b
   1751 	);
   1752 
   1753 	HRESULT CheckMultisampleQualityLevels(
   1754 		[in] DXGI_FORMAT a,
   1755 		[in] UINT b,
   1756 		[out] UINT *c
   1757 	);
   1758 
   1759 	void CheckCounterInfo(
   1760 		[out] D3D11_COUNTER_INFO *a
   1761 	);
   1762 
   1763 	HRESULT CheckCounter(
   1764 		[in] const D3D11_COUNTER_DESC *a,
   1765 		[out] D3D11_COUNTER_TYPE *b,
   1766 		[out] UINT *c,
   1767 		[out] LPSTR d,
   1768 		[in, out, optional] UINT *e,
   1769 		[out] LPSTR f,
   1770 		[in, out, optional] UINT *g,
   1771 		[out] LPSTR h,
   1772 		[in, out, optional] UINT *i
   1773 	);
   1774 
   1775 	HRESULT CheckFeatureSupport(
   1776 		[in] D3D11_FEATURE a,
   1777 		[out] void *b,
   1778 		[in] UINT c
   1779 	);
   1780 
   1781 	HRESULT GetPrivateData(
   1782 		[in] REFGUID a,
   1783 		[in, out] UINT *b,
   1784 		[out] void *c
   1785 	);
   1786 
   1787 	HRESULT SetPrivateData(
   1788 		[in] REFGUID a,
   1789 		[in] UINT b,
   1790 		[in] const void *c
   1791 	);
   1792 
   1793 	HRESULT SetPrivateDataInterface(
   1794 		[in] REFGUID a,
   1795 		[in] const IUnknown *b
   1796 	);
   1797 
   1798 	D3D_FEATURE_LEVEL GetFeatureLevel();
   1799 
   1800 	UINT GetCreationFlags();
   1801 
   1802 	HRESULT GetDeviceRemovedReason();
   1803 
   1804 	void GetImmediateContext(
   1805 		[out] ID3D11DeviceContext **a
   1806 	);
   1807 
   1808 	HRESULT SetExceptionMode(
   1809 		[in] UINT a
   1810 	);
   1811 
   1812 	UINT GetExceptionMode();
   1813 };
   1814 
   1815 [object, local, uuid("c0bfa96c-e089-44fb-8eaf-26f8796190da")]
   1816 interface ID3D11DeviceContext : ID3D11DeviceChild
   1817 {
   1818 	void VSSetConstantBuffers(
   1819 		[in] UINT a,
   1820 		[in] UINT b,
   1821 		[in] ID3D11Buffer *const *c
   1822 	);
   1823 
   1824 	void PSSetShaderResources(
   1825 		[in] UINT a,
   1826 		[in] UINT b,
   1827 		[in] ID3D11ShaderResourceView *const *c
   1828 	);
   1829 
   1830 	void PSSetShader(
   1831 		[in] ID3D11PixelShader *a,
   1832 		[in] ID3D11ClassInstance *const *b,
   1833 		[in] UINT c
   1834 	);
   1835 
   1836 	void PSSetSamplers(
   1837 		[in] UINT a,
   1838 		[in] UINT b,
   1839 		[in] ID3D11SamplerState *const *c
   1840 	);
   1841 
   1842 	void VSSetShader(
   1843 		[in] ID3D11VertexShader *a,
   1844 		[in] ID3D11ClassInstance *const *b,
   1845 		[in] UINT c
   1846 	);
   1847 
   1848 	void DrawIndexed(
   1849 		[in] UINT a,
   1850 		[in] UINT b,
   1851 		[in] INT c
   1852 	);
   1853 
   1854 	void Draw(
   1855 		[in] UINT a,
   1856 		[in] UINT b
   1857 	);
   1858 
   1859 	HRESULT Map(
   1860 		[in] ID3D11Resource *a,
   1861 		[in] UINT b,
   1862 		[in] D3D11_MAP c,
   1863 		[in] UINT d,
   1864 		[out] D3D11_MAPPED_SUBRESOURCE *e
   1865 	);
   1866 
   1867 	void Unmap(
   1868 		[in] ID3D11Resource *a,
   1869 		[in] UINT b
   1870 	);
   1871 
   1872 	void PSSetConstantBuffers(
   1873 		[in] UINT a,
   1874 		[in] UINT b,
   1875 		[in] ID3D11Buffer *const *c
   1876 	);
   1877 
   1878 	void IASetInputLayout(
   1879 		[in] ID3D11InputLayout *a
   1880 	);
   1881 
   1882 	void IASetVertexBuffers(
   1883 		[in] UINT a,
   1884 		[in] UINT b,
   1885 		[in] ID3D11Buffer *const *c,
   1886 		[in] const UINT *d,
   1887 		[in] const UINT *e
   1888 	);
   1889 
   1890 	void IASetIndexBuffer(
   1891 		[in] ID3D11Buffer *a,
   1892 		[in] DXGI_FORMAT b,
   1893 		[in] UINT c
   1894 	);
   1895 
   1896 	void DrawIndexedInstanced(
   1897 		[in] UINT a,
   1898 		[in] UINT b,
   1899 		[in] UINT c,
   1900 		[in] INT d,
   1901 		[in] UINT e
   1902 	);
   1903 
   1904 	void DrawInstanced(
   1905 		[in] UINT a,
   1906 		[in] UINT b,
   1907 		[in] UINT c,
   1908 		[in] UINT d
   1909 	);
   1910 
   1911 	void GSSetConstantBuffers(
   1912 		[in] UINT a,
   1913 		[in] UINT b,
   1914 		[in] ID3D11Buffer *const *c
   1915 	);
   1916 
   1917 	void GSSetShader(
   1918 		[in] ID3D11GeometryShader *a,
   1919 		[in] ID3D11ClassInstance *const *b,
   1920 		[in] UINT c
   1921 	);
   1922 
   1923 	void IASetPrimitiveTopology(
   1924 		[in] D3D11_PRIMITIVE_TOPOLOGY a
   1925 	);
   1926 
   1927 	void VSSetShaderResources(
   1928 		[in] UINT a,
   1929 		[in] UINT b,
   1930 		[in] ID3D11ShaderResourceView *const *c
   1931 	);
   1932 
   1933 	void VSSetSamplers(
   1934 		[in] UINT a,
   1935 		[in] UINT b,
   1936 		[in] ID3D11SamplerState *const *c
   1937 	);
   1938 
   1939 	void Begin(
   1940 		[in] ID3D11Asynchronous *a
   1941 	);
   1942 
   1943 	void End(
   1944 		[in] ID3D11Asynchronous *a
   1945 	);
   1946 
   1947 	HRESULT GetData(
   1948 		[in] ID3D11Asynchronous *a,
   1949 		[out] void *b,
   1950 		[in] UINT c,
   1951 		[in] UINT d
   1952 	);
   1953 
   1954 	void SetPredication(
   1955 		[in] ID3D11Predicate *a,
   1956 		[in] BOOL b
   1957 	);
   1958 
   1959 	void GSSetShaderResources(
   1960 		[in] UINT a,
   1961 		[in] UINT b,
   1962 		[in] ID3D11ShaderResourceView *const *c
   1963 	);
   1964 
   1965 	void GSSetSamplers(
   1966 		[in] UINT a,
   1967 		[in] UINT b,
   1968 		[in] ID3D11SamplerState *const *c
   1969 	);
   1970 
   1971 	void OMSetRenderTargets(
   1972 		[in] UINT a,
   1973 		[in] ID3D11RenderTargetView *const *b,
   1974 		[in] ID3D11DepthStencilView *c
   1975 	);
   1976 
   1977 	void OMSetRenderTargetsAndUnorderedAccessViews(
   1978 		[in] UINT a,
   1979 		[in] ID3D11RenderTargetView *const *b,
   1980 		[in] ID3D11DepthStencilView *c,
   1981 		[in] UINT d,
   1982 		[in] UINT e,
   1983 		[in] ID3D11UnorderedAccessView *const *f,
   1984 		[in] const UINT *g
   1985 	);
   1986 
   1987 	void OMSetBlendState(
   1988 		[in] ID3D11BlendState *a,
   1989 		[in] const FLOAT b[4],
   1990 		[in] UINT c
   1991 	);
   1992 
   1993 	void OMSetDepthStencilState(
   1994 		[in] ID3D11DepthStencilState *a,
   1995 		[in] UINT b
   1996 	);
   1997 
   1998 	void SOSetTargets(
   1999 		[in] UINT a,
   2000 		[in] ID3D11Buffer *const *b,
   2001 		[in] const UINT *c
   2002 	);
   2003 
   2004 	void DrawAuto(
   2005 	);
   2006 
   2007 	void DrawIndexedInstancedIndirect(
   2008 		[in] ID3D11Buffer *a,
   2009 		[in] UINT b
   2010 	);
   2011 
   2012 	void DrawInstancedIndirect(
   2013 		[in] ID3D11Buffer *a,
   2014 		[in] UINT b
   2015 	);
   2016 
   2017 	void Dispatch(
   2018 		[in] UINT a,
   2019 		[in] UINT b,
   2020 		[in] UINT c
   2021 	);
   2022 
   2023 	void DispatchIndirect(
   2024 		[in] ID3D11Buffer *a,
   2025 		[in] UINT b
   2026 	);
   2027 
   2028 	void RSSetState(
   2029 		[in] ID3D11RasterizerState *a
   2030 	);
   2031 
   2032 	void RSSetViewports(
   2033 		[in] UINT a,
   2034 		[in] const D3D11_VIEWPORT *b
   2035 	);
   2036 
   2037 	void RSSetScissorRects(
   2038 		[in] UINT a,
   2039 		[in] const D3D11_RECT *b
   2040 	);
   2041 
   2042 	void CopySubresourceRegion(
   2043 		[in] ID3D11Resource *a,
   2044 		[in] UINT b,
   2045 		[in] UINT c,
   2046 		[in] UINT d,
   2047 		[in] UINT e,
   2048 		[in] ID3D11Resource *f,
   2049 		[in] UINT g,
   2050 		[in] const D3D11_BOX *h
   2051 	);
   2052 
   2053 	void CopyResource(
   2054 		[in] ID3D11Resource *a,
   2055 		[in] ID3D11Resource *b
   2056 	);
   2057 
   2058 	void UpdateSubresource(
   2059 		[in] ID3D11Resource *a,
   2060 		[in] UINT b,
   2061 		[in] const D3D11_BOX *c,
   2062 		[in] const void *d,
   2063 		[in] UINT e,
   2064 		[in] UINT f
   2065 	);
   2066 
   2067 	void CopyStructureCount(
   2068 		[in] ID3D11Buffer *a,
   2069 		[in] UINT b,
   2070 		[in] ID3D11UnorderedAccessView *c
   2071 	);
   2072 
   2073 	void ClearRenderTargetView(
   2074 		[in] ID3D11RenderTargetView *a,
   2075 		[in] const FLOAT b[4]
   2076 	);
   2077 
   2078 	void ClearUnorderedAccessViewUint(
   2079 		[in] ID3D11UnorderedAccessView *a,
   2080 		[in] const UINT b[4]
   2081 	);
   2082 
   2083 	void ClearUnorderedAccessViewFloat(
   2084 		[in] ID3D11UnorderedAccessView *a,
   2085 		[in] const FLOAT b[4]
   2086 	);
   2087 
   2088 	void ClearDepthStencilView(
   2089 		[in] ID3D11DepthStencilView *a,
   2090 		[in] UINT b,
   2091 		[in] FLOAT c,
   2092 		[in] UINT8 d
   2093 	);
   2094 
   2095 	void GenerateMips(
   2096 		[in] ID3D11ShaderResourceView *a
   2097 	);
   2098 
   2099 	void SetResourceMinLOD(
   2100 		[in] ID3D11Resource *a,
   2101 		[in] FLOAT b
   2102 	);
   2103 
   2104 	FLOAT GetResourceMinLOD(
   2105 		[in] ID3D11Resource *a
   2106 	);
   2107 
   2108 	void ResolveSubresource(
   2109 		[in] ID3D11Resource *a,
   2110 		[in] UINT b,
   2111 		[in] ID3D11Resource *c,
   2112 		[in] UINT d,
   2113 		[in] DXGI_FORMAT e
   2114 	);
   2115 
   2116 	void ExecuteCommandList(
   2117 		[in] ID3D11CommandList *a,
   2118 		[in] BOOL b
   2119 	);
   2120 
   2121 	void HSSetShaderResources(
   2122 		[in] UINT a,
   2123 		[in] UINT b,
   2124 		[in] ID3D11ShaderResourceView *const *c
   2125 	);
   2126 
   2127 	void HSSetShader(
   2128 		[in] ID3D11HullShader *a,
   2129 		[in] ID3D11ClassInstance *const *b,
   2130 		[in] UINT c
   2131 	);
   2132 
   2133 	void HSSetSamplers(
   2134 		[in] UINT a,
   2135 		[in] UINT b,
   2136 		[in] ID3D11SamplerState *const *c
   2137 	);
   2138 
   2139 	void HSSetConstantBuffers(
   2140 		[in] UINT a,
   2141 		[in] UINT b,
   2142 		[in] ID3D11Buffer *const *c
   2143 	);
   2144 
   2145 	void DSSetShaderResources(
   2146 		[in] UINT a,
   2147 		[in] UINT b,
   2148 		[in] ID3D11ShaderResourceView *const *c
   2149 	);
   2150 
   2151 	void DSSetShader(
   2152 		[in] ID3D11DomainShader *a,
   2153 		[in] ID3D11ClassInstance *const *b,
   2154 		[in] UINT c
   2155 	);
   2156 
   2157 	void DSSetSamplers(
   2158 		[in] UINT a,
   2159 		[in] UINT b,
   2160 		[in] ID3D11SamplerState *const *c
   2161 	);
   2162 
   2163 	void DSSetConstantBuffers(
   2164 		[in] UINT a,
   2165 		[in] UINT b,
   2166 		[in] ID3D11Buffer *const *c
   2167 	);
   2168 
   2169 	void CSSetShaderResources(
   2170 		[in] UINT a,
   2171 		[in] UINT b,
   2172 		[in] ID3D11ShaderResourceView *const *c
   2173 	);
   2174 
   2175 	void CSSetUnorderedAccessViews(
   2176 		[in] UINT a,
   2177 		[in] UINT b,
   2178 		[in] ID3D11UnorderedAccessView *const *c,
   2179 		[in] const UINT *d
   2180 	);
   2181 
   2182 	void CSSetShader(
   2183 		[in] ID3D11ComputeShader *a,
   2184 		[in] ID3D11ClassInstance *const *b,
   2185 		[in] UINT c
   2186 	);
   2187 
   2188 	void CSSetSamplers(
   2189 		[in] UINT a,
   2190 		[in] UINT b,
   2191 		[in] ID3D11SamplerState *const *c
   2192 	);
   2193 
   2194 	void CSSetConstantBuffers(
   2195 		[in] UINT a,
   2196 		[in] UINT b,
   2197 		[in] ID3D11Buffer *const *c
   2198 	);
   2199 
   2200 	void VSGetConstantBuffers(
   2201 		[in] UINT a,
   2202 		[in] UINT b,
   2203 		[out] ID3D11Buffer **c
   2204 	);
   2205 
   2206 	void PSGetShaderResources(
   2207 		[in] UINT a,
   2208 		[in] UINT b,
   2209 		[out] ID3D11ShaderResourceView **c
   2210 	);
   2211 
   2212 	void PSGetShader(
   2213 		[out] ID3D11PixelShader **a,
   2214 		[out] ID3D11ClassInstance **b,
   2215 		[in, out, optional] UINT *c
   2216 	);
   2217 
   2218 	void PSGetSamplers(
   2219 		[in] UINT a,
   2220 		[in] UINT b,
   2221 		[out] ID3D11SamplerState **c
   2222 	);
   2223 
   2224 	void VSGetShader(
   2225 		[out] ID3D11VertexShader **a,
   2226 		[out] ID3D11ClassInstance **b,
   2227 		[in, out, optional] UINT *c
   2228 	);
   2229 
   2230 	void PSGetConstantBuffers(
   2231 		[in] UINT a,
   2232 		[in] UINT b,
   2233 		[out] ID3D11Buffer **c
   2234 	);
   2235 
   2236 	void IAGetInputLayout(
   2237 		[out] ID3D11InputLayout **a
   2238 	);
   2239 
   2240 	void IAGetVertexBuffers(
   2241 		[in] UINT a,
   2242 		[in] UINT b,
   2243 		[out] ID3D11Buffer **c,
   2244 		[out] UINT *d,
   2245 		[out] UINT *e
   2246 	);
   2247 
   2248 	void IAGetIndexBuffer(
   2249 		[out] ID3D11Buffer **a,
   2250 		[out] DXGI_FORMAT *b,
   2251 		[out] UINT *c
   2252 	);
   2253 
   2254 	void GSGetConstantBuffers(
   2255 		[in] UINT a,
   2256 		[in] UINT b,
   2257 		[out] ID3D11Buffer **c
   2258 	);
   2259 
   2260 	void GSGetShader(
   2261 		[out] ID3D11GeometryShader **a,
   2262 		[out] ID3D11ClassInstance **b,
   2263 		[in, out, optional] UINT *c
   2264 	);
   2265 
   2266 	void IAGetPrimitiveTopology(
   2267 		[out] D3D11_PRIMITIVE_TOPOLOGY *a
   2268 	);
   2269 
   2270 	void VSGetShaderResources(
   2271 		[in] UINT a,
   2272 		[in] UINT b,
   2273 		[out] ID3D11ShaderResourceView **c
   2274 	);
   2275 
   2276 	void VSGetSamplers(
   2277 		[in] UINT a,
   2278 		[in] UINT b,
   2279 		[out] ID3D11SamplerState **c
   2280 	);
   2281 
   2282 	void GetPredication(
   2283 		[out] ID3D11Predicate **a,
   2284 		[out] BOOL *b
   2285 	);
   2286 
   2287 	void GSGetShaderResources(
   2288 		[in] UINT a,
   2289 		[in] UINT b,
   2290 		[out] ID3D11ShaderResourceView **c
   2291 	);
   2292 
   2293 	void GSGetSamplers(
   2294 		[in] UINT a,
   2295 		[in] UINT b,
   2296 		[out] ID3D11SamplerState **c
   2297 	);
   2298 
   2299 	void OMGetRenderTargets(
   2300 		[in] UINT a,
   2301 		[out] ID3D11RenderTargetView **b,
   2302 		[out] ID3D11DepthStencilView **c
   2303 	);
   2304 
   2305 	void OMGetRenderTargetsAndUnorderedAccessViews(
   2306 		[in] UINT a,
   2307 		[out] ID3D11RenderTargetView **b,
   2308 		[out] ID3D11DepthStencilView **c,
   2309 		[in] UINT d,
   2310 		[in] UINT e,
   2311 		[out] ID3D11UnorderedAccessView **f
   2312 	);
   2313 
   2314 	void OMGetBlendState(
   2315 		[out] ID3D11BlendState **a,
   2316 		[out] FLOAT b[4],
   2317 		[out] UINT *c
   2318 	);
   2319 
   2320 	void OMGetDepthStencilState(
   2321 		[out] ID3D11DepthStencilState **a,
   2322 		[out] UINT *b
   2323 	);
   2324 
   2325 	void SOGetTargets(
   2326 		[in] UINT a,
   2327 		[out] ID3D11Buffer **b
   2328 	);
   2329 
   2330 	void RSGetState(
   2331 		[out] ID3D11RasterizerState **a
   2332 	);
   2333 
   2334 	void RSGetViewports(
   2335 		[in, out] UINT *a,
   2336 		[out] D3D11_VIEWPORT *b
   2337 	);
   2338 
   2339 	void RSGetScissorRects(
   2340 		[in, out] UINT *a,
   2341 		[out] D3D11_RECT *b
   2342 	);
   2343 
   2344 	void HSGetShaderResources(
   2345 		[in] UINT a,
   2346 		[in] UINT b,
   2347 		[out] ID3D11ShaderResourceView **c
   2348 	);
   2349 
   2350 	void HSGetShader(
   2351 		[out] ID3D11HullShader **a,
   2352 		[out] ID3D11ClassInstance **b,
   2353 		[in, out, optional] UINT *c
   2354 	);
   2355 
   2356 	void HSGetSamplers(
   2357 		[in] UINT a,
   2358 		[in] UINT b,
   2359 		[out] ID3D11SamplerState **c
   2360 	);
   2361 
   2362 	void HSGetConstantBuffers(
   2363 		[in] UINT a,
   2364 		[in] UINT b,
   2365 		[out] ID3D11Buffer **c
   2366 	);
   2367 
   2368 	void DSGetShaderResources(
   2369 		[in] UINT a,
   2370 		[in] UINT b,
   2371 		[out] ID3D11ShaderResourceView **c
   2372 	);
   2373 
   2374 	void DSGetShader(
   2375 		[out] ID3D11DomainShader **a,
   2376 		[out] ID3D11ClassInstance **b,
   2377 		[in, out, optional] UINT *c
   2378 	);
   2379 
   2380 	void DSGetSamplers(
   2381 		[in] UINT a,
   2382 		[in] UINT b,
   2383 		[out] ID3D11SamplerState **c
   2384 	);
   2385 
   2386 	void DSGetConstantBuffers(
   2387 		[in] UINT a,
   2388 		[in] UINT b,
   2389 		[out] ID3D11Buffer **c
   2390 	);
   2391 
   2392 	void CSGetShaderResources(
   2393 		[in] UINT a,
   2394 		[in] UINT b,
   2395 		[out] ID3D11ShaderResourceView **c
   2396 	);
   2397 
   2398 	void CSGetUnorderedAccessViews(
   2399 		[in] UINT a,
   2400 		[in] UINT b,
   2401 		[out] ID3D11UnorderedAccessView **c
   2402 	);
   2403 
   2404 	void CSGetShader(
   2405 		[out] ID3D11ComputeShader **a,
   2406 		[out] ID3D11ClassInstance **b,
   2407 		[in, out, optional] UINT *c
   2408 	);
   2409 
   2410 	void CSGetSamplers(
   2411 		[in] UINT a,
   2412 		[in] UINT b,
   2413 		[out] ID3D11SamplerState **c
   2414 	);
   2415 
   2416 	void CSGetConstantBuffers(
   2417 		[in] UINT a,
   2418 		[in] UINT b,
   2419 		[out] ID3D11Buffer **c
   2420 	);
   2421 
   2422 	void ClearState();
   2423 
   2424 	void Flush();
   2425 
   2426 	D3D11_DEVICE_CONTEXT_TYPE GetType();
   2427 
   2428 	UINT GetContextFlags();
   2429 
   2430 	HRESULT FinishCommandList(
   2431 		[in] BOOL a,
   2432 		[out] ID3D11CommandList **b
   2433 	);
   2434 };
   2435 
   2436 cpp_quote("#include \"d3d10_1.h\"")
   2437 cpp_quote("#include \"d3d10shader.h\"")
   2438 cpp_quote("#include \"d3d10effect.h\"")
   2439 /*cpp_quote("#include \"d3d10_1shader.h\"") */
   2440 
   2441 typedef enum D3D11_CREATE_DEVICE_FLAG
   2442 {
   2443 	D3D11_CREATE_DEVICE_SINGLETHREADED = 1,
   2444 	D3D11_CREATE_DEVICE_DEBUG = 2,
   2445 	D3D11_CREATE_DEVICE_SWITCH_TO_REF = 4,
   2446 	D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 8,
   2447 	D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20
   2448 } D3D11_CREATE_DEVICE_FLAG;
   2449 
   2450 
   2451 HRESULT D3D11CreateDevice(
   2452 	[in,optional] IDXGIAdapter* a,
   2453 	[in] D3D_DRIVER_TYPE b,
   2454 	[in] HMODULE c,
   2455 	[in] UINT d,
   2456 	[in,optional] const D3D_FEATURE_LEVEL* e,
   2457 	[in] UINT f,
   2458 	[in] UINT g,
   2459 	[out,optional] ID3D11Device** h,
   2460 	[out,optional] D3D_FEATURE_LEVEL* i,
   2461 	[out,optional] ID3D11DeviceContext** j
   2462 );
   2463 
   2464 typedef HRESULT (* PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN)(
   2465 	[in,optional] IDXGIAdapter*,
   2466 	D3D_DRIVER_TYPE,
   2467 	HMODULE,
   2468 	UINT,
   2469 	[in,optional] const D3D_FEATURE_LEVEL*,
   2470 	UINT,
   2471 	UINT,
   2472 	[in, optional] const DXGI_SWAP_CHAIN_DESC*,
   2473 	[out,optional] IDXGISwapChain**,
   2474 	[out,optional] ID3D11Device**,
   2475 	[out,optional] D3D_FEATURE_LEVEL*,
   2476 	[out,optional] ID3D11DeviceContext**
   2477 );
   2478 
   2479 HRESULT D3D11CreateDeviceAndSwapChain(
   2480 	[in,optional] IDXGIAdapter* a,
   2481 	[in] D3D_DRIVER_TYPE b,
   2482 	[in] HMODULE c,
   2483 	[in] UINT d,
   2484 	[in,optional] const D3D_FEATURE_LEVEL* e,
   2485 	[in] UINT f,
   2486 	[in] UINT g,
   2487 	[in,optional] const DXGI_SWAP_CHAIN_DESC* h,
   2488 	[out,optional] IDXGISwapChain** i,
   2489 	[out,optional] ID3D11Device** j,
   2490 	[out,optional] D3D_FEATURE_LEVEL* k,
   2491 	[out,optional] ID3D11DeviceContext** l
   2492 );
   2493