unit JSB.D3D11;
///////////////////////////////////////////////////////////////////////////////
// Title: Translation of DirectX C++ header files for use with Delphi 2009 and later
//
// File name: JSB.D3D11.pas
//
// Originator: J S Bladen, Sheffield, UK.
//
// Copyright: J S Bladen, Sheffield, UK.
//
// Translation date and time (UTC): 07/10/2010 15:22:49
//
// Email: DirectXForDelphi@jsbmedical.co.uk
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Original file(s):
//   D3D11.h
//   D3D11Shader.h
//   D3D11SDKLayers.h
//
// Copyright (C) Microsoft Corporation.
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Software licence:
//
// Use of this "software" is subject to the following software licence:
//
// ***** BEGIN LICENCE BLOCK *****
//
// 1) This software is distributed in the hope that it will be useful, but without warranty of any kind.
// 2) The copyright and/or originator notice(s) may not be altered or removed.
// 3) This software may be used for commercial or non-commercial use.
// 4) This software may be redistributed, provided no charge is made.
// 5) There is no obligation to make source code available to end users even if the software is modified.
// 6) Modified versions of this software will be subject to this software licence.
// 7) If the software is modified, the changes must be marked in the source code with the contributors ID (e.g. name)
//    before redistribution.
//
// ***** END LICENCE BLOCK *****
//
// In addition, users of this software are strongly encouraged to contact the originator with feedback, corrections and
// suggestions for improvement.
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Translation notes:
//
// 1) This software is preliminary. For the latest version please see "http://DirectXForDelphi.blogspot.com/".
//
// 2) The header filename suffix "_JSB" is to distinguish the files from the equivalent JEDI/Clootie files
//    and must be left in place". Interface units from different sources may not work correctly together.
//
// 3) By default, optional interface output method and function parameters are translated as "out InterfaceName:IInterfaceName",
//    not "pInterfaceName:PIInterfaceName". This is because with the pointer version, Delphi does not appear to call the
//    COM Release method on the supplied interface before assigning a new value. To pass a nil parameter, use
//    "IInterfaceName(nil^)".
//
//    PLEASE NOTE: This is different to the equivalent JEDI/Clootie files, though only minimal source code changes
//    should be required.
//
//    If you want to use pointers instead, define the conditional define "UsePointersForOptionalOutputInterfaces" but ensure
//    that the interface variable is set to nil before calling the method.
//
// 4) Please contact me if you are interested in versions for FPC or C++ etc.
//
// JSB
///////////////////////////////////////////////////////////////////////////////
{$IFDEF fpc}{$MODE delphi}{$ENDIF}
interface

{$Z4}
{$DEFINE UseRuntimeLinking}
{$DEFINE UNICODE}
uses
  Windows, SysUtils, JSB.DXTypes, JSB.DXGI, JSB.D3DCommon, JSB.D3D10;
const
  DLL_D3D11 = 'd3d11.dll';
  
///////////////////////////////////////////////////////////////////////////////
// Begin "D3D11.h"
///////////////////////////////////////////////////////////////////////////////
const
  D3D11_16BIT_INDEX_STRIP_CUT_VALUE = $FFFF;
  D3D11_32BIT_INDEX_STRIP_CUT_VALUE = $FFFFFFFF;
  D3D11_8BIT_INDEX_STRIP_CUT_VALUE = $FF;
  D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = 9;
  D3D11_CLIP_OR_CULL_DISTANCE_COUNT = 8;
  D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = 2;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = 14;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = 4;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = 32;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = 15;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = 15;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
  D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
  D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = 64;
  D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = 4;
  D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = 1;
  D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = 1;
  D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = 1;
  D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = 32;
  D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = 1;
  D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = 128;
  D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = 1;
  D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = 1;
  D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = 128;
  D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = 1;
  D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT = 16;
  D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = 1;
  D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = 1;
  D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT = 16;
  D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = 32;
  D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS = 4;
  D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_COMMONSHADER_TEMP_REGISTER_COUNT = 4096;
  D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = 3;
  D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS = 3;
  D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = 10;
  D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = -10;
  D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = -8;
  D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = 7;
  D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 256;
  D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = 64;
  D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 240;
  D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = 68;
  D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 224;
  D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = 72;
  D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 208;
  D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = 76;
  D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 192;
  D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = 84;
  D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 176;
  D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = 92;
  D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 160;
  D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = 100;
  D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 144;
  D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = 112;
  D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 128;
  D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = 128;
  D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 112;
  D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = 144;
  D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 96;
  D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = 168;
  D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 80;
  D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = 204;
  D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 64;
  D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = 256;
  D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 48;
  D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = 340;
  D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 32;
  D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = 512;
  D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = 16;
  D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = 768;
  D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = 1;
  D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = 256;
  D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = 768;
  D3D11_CS_4_X_THREAD_GROUP_MAX_X = 768;
  D3D11_CS_4_X_THREAD_GROUP_MAX_Y = 768;
  D3D11_CS_4_X_UAV_REGISTER_COUNT = 1;
  D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = 65535;
  D3D11_CS_TGSM_REGISTER_COUNT = 8192;
  D3D11_CS_TGSM_REGISTER_READS_PER_INST = 1;
  D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = 1;
  D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = 1;
  D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = 1024;
  D3D11_CS_THREAD_GROUP_MAX_X = 1024;
  D3D11_CS_THREAD_GROUP_MAX_Y = 1024;
  D3D11_CS_THREAD_GROUP_MAX_Z = 64;
  D3D11_CS_THREAD_GROUP_MIN_X = 1;
  D3D11_CS_THREAD_GROUP_MIN_Y = 1;
  D3D11_CS_THREAD_GROUP_MIN_Z = 1;
  D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = 16384;
  D3D11_DEFAULT_BLEND_FACTOR_ALPHA = 1.0;
  D3D11_DEFAULT_BLEND_FACTOR_BLUE = 1.0;
  D3D11_DEFAULT_BLEND_FACTOR_GREEN = 1.0;
  D3D11_DEFAULT_BLEND_FACTOR_RED = 1.0;
  D3D11_DEFAULT_BORDER_COLOR_COMPONENT = 0.0;
  D3D11_DEFAULT_DEPTH_BIAS = 0;
  D3D11_DEFAULT_DEPTH_BIAS_CLAMP = 0.0;
  D3D11_DEFAULT_MAX_ANISOTROPY = 16;
  D3D11_DEFAULT_MIP_LOD_BIAS = 0.0;
  D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX = 0;
  D3D11_DEFAULT_SAMPLE_MASK = $FFFFFFFF;
  D3D11_DEFAULT_SCISSOR_ENDX = 0;
  D3D11_DEFAULT_SCISSOR_ENDY = 0;
  D3D11_DEFAULT_SCISSOR_STARTX = 0;
  D3D11_DEFAULT_SCISSOR_STARTY = 0;
  D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = 0.0;
  D3D11_DEFAULT_STENCIL_READ_MASK = $FF;
  D3D11_DEFAULT_STENCIL_REFERENCE = 0;
  D3D11_DEFAULT_STENCIL_WRITE_MASK = $FF;
  D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = 0;
  D3D11_DEFAULT_VIEWPORT_HEIGHT = 0;
  D3D11_DEFAULT_VIEWPORT_MAX_DEPTH = 0.0;
  D3D11_DEFAULT_VIEWPORT_MIN_DEPTH = 0.0;
  D3D11_DEFAULT_VIEWPORT_TOPLEFTX = 0;
  D3D11_DEFAULT_VIEWPORT_TOPLEFTY = 0;
  D3D11_DEFAULT_VIEWPORT_WIDTH = 0;
  D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
  D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = 4;
  D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = 32;
  D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
  D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = 1;
  D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = 3;
  D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = 1;
  D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = 2;
  D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = 1;
  D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
  D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
  D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
  D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
  D3D11_DS_OUTPUT_REGISTER_COMPONENTS = 4;
  D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_DS_OUTPUT_REGISTER_COUNT = 32;
  D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP = 0.6;
  D3D11_FLOAT32_MAX = 3.402823466E+38;
  D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = 0.6;
  D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = 2.4;
  D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = 1.0;
  D3D11_FLOAT_TO_SRGB_OFFSET = 0.055;
  D3D11_FLOAT_TO_SRGB_SCALE_1 = 12.92;
  D3D11_FLOAT_TO_SRGB_SCALE_2 = 1.055;
  D3D11_FLOAT_TO_SRGB_THRESHOLD = 0.0031308;
  D3D11_FTOI_INSTRUCTION_MAX_INPUT = 2147483647.999;
  D3D11_FTOI_INSTRUCTION_MIN_INPUT = -2147483648.999;
  D3D11_FTOU_INSTRUCTION_MAX_INPUT = 4294967295.999;
  D3D11_FTOU_INSTRUCTION_MIN_INPUT = 0.0;
  D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST = 2;
  D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS = 1;
  D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = 1;
  D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = 1;
  D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = 1;
  D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT = 1;
  D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = 2;
  D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = 1;
  D3D11_GS_INPUT_REGISTER_COMPONENTS = 4;
  D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_GS_INPUT_REGISTER_COUNT = 32;
  D3D11_GS_INPUT_REGISTER_READS_PER_INST = 2;
  D3D11_GS_INPUT_REGISTER_READ_PORTS = 1;
  D3D11_GS_INPUT_REGISTER_VERTICES = 32;
  D3D11_GS_MAX_INSTANCE_COUNT = 32;
  D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = 1024;
  D3D11_GS_OUTPUT_ELEMENTS = 32;
  D3D11_GS_OUTPUT_REGISTER_COMPONENTS = 4;
  D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_GS_OUTPUT_REGISTER_COUNT = 32;
  D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = 32;
  D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = 32;
  D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS = 4;
  D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST = 2;
  D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS = 1;
  D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = $FFFFFFFF;
  D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = 1;
  D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = 1;
  D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
  D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = 1;
  D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = 1;
  D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = 1;
  D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = 2;
  D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = 1;
  D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = 1;
  D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = 1;
  D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = 2;
  D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = 1;
  D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = $FFFFFFFF;
  D3D11_HS_MAXTESSFACTOR_LOWER_BOUND = 1.0;
  D3D11_HS_MAXTESSFACTOR_UPPER_BOUND = 64.0;
  D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = 3968;
  D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = 1;
  D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = 1;
  D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = 2;
  D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = 1;
  D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = 4;
  D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = 32;
  D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = 2;
  D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = 1;
  D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = 0;
  D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY = 0;
  D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = 0;
  D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = 1;
  D3D11_IA_INSTANCE_ID_BIT_COUNT = 32;
  D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT = 32;
  D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT = 32;
  D3D11_IA_PRIMITIVE_ID_BIT_COUNT = 32;
  D3D11_IA_VERTEX_ID_BIT_COUNT = 32;
  D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = 32;
  D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = 128;
  D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = 32;
  D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = $FFFFFFFF;
  D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER = $FFFFFFFF;
  D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = $FFFFFFFF;
  D3D11_KEEP_UNORDERED_ACCESS_VIEWS = $FFFFFFFF;
  D3D11_LINEAR_GAMMA = 1.0;
  D3D11_MAJOR_VERSION = 11;
  D3D11_MAX_BORDER_COLOR_COMPONENT = 1.0;
  D3D11_MAX_DEPTH = 1.0;
  D3D11_MAX_MAXANISOTROPY = 16;
  D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT = 32;
  D3D11_MAX_POSITION_VALUE = 3.402823466E+34;
  D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP = 17;
  D3D11_MINOR_VERSION = 0;
  D3D11_MIN_BORDER_COLOR_COMPONENT = 0.0;
  D3D11_MIN_DEPTH = 0.0;
  D3D11_MIN_MAXANISOTROPY = 0;
  D3D11_MIP_LOD_BIAS_MAX = 15.99;
  D3D11_MIP_LOD_BIAS_MIN = -16.0;
  D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT = 8;
  D3D11_MIP_LOD_RANGE_BIT_COUNT = 8;
  D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = 1.4;
  D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = 0;
  D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT = 15;
  D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = 16;
  D3D11_PS_CS_UAV_REGISTER_COMPONENTS = 1;
  D3D11_PS_CS_UAV_REGISTER_COUNT = 8;
  D3D11_PS_CS_UAV_REGISTER_READS_PER_INST = 1;
  D3D11_PS_CS_UAV_REGISTER_READ_PORTS = 1;
  D3D11_PS_FRONTFACING_DEFAULT_VALUE = $FFFFFFFF;
  D3D11_PS_FRONTFACING_FALSE_VALUE = 0;
  D3D11_PS_FRONTFACING_TRUE_VALUE = $FFFFFFFF;
  D3D11_PS_INPUT_REGISTER_COMPONENTS = 4;
  D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_PS_INPUT_REGISTER_COUNT = 32;
  D3D11_PS_INPUT_REGISTER_READS_PER_INST = 2;
  D3D11_PS_INPUT_REGISTER_READ_PORTS = 1;
  D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.0;
  D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = 1;
  D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT = 1;
  D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS = 1;
  D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_PS_OUTPUT_MASK_REGISTER_COUNT = 1;
  D3D11_PS_OUTPUT_REGISTER_COMPONENTS = 4;
  D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_PS_OUTPUT_REGISTER_COUNT = 8;
  D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = 0.5;
  D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT = 16;
  D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = 4096;
  D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = 27;
  D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
  D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = 4096;
  D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 32;
  D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = 32;
  D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = 16384;
  D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = 1024;
  D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = 4096;
  D3D11_REQ_MAXANISOTROPY = 16;
  D3D11_REQ_MIP_LEVELS = 15;
  D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = 2048;
  D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = 4096;
  D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = 16384;
  D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = 128;
  D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM = 0.25;
  D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = 20;
  D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = 4096;
  D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = 2048;
  D3D11_REQ_TEXTURE1D_U_DIMENSION = 16384;
  D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = 2048;
  D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION = 16384;
  D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = 2048;
  D3D11_REQ_TEXTURECUBE_DIMENSION = 16384;
  D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = 0;
  D3D11_SHADER_MAJOR_VERSION = 5;
  D3D11_SHADER_MAX_INSTANCES = 65535;
  D3D11_SHADER_MAX_INTERFACES = 253;
  D3D11_SHADER_MAX_INTERFACE_CALL_SITES = 4096;
  D3D11_SHADER_MAX_TYPES = 65535;
  D3D11_SHADER_MINOR_VERSION = 0;
  D3D11_SHIFT_INSTRUCTION_PAD_VALUE = 0;
  D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = 5;
  D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT = 8;
  D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES = 2048;
  D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = 512;
  D3D11_SO_BUFFER_SLOT_COUNT = 4;
  D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP = $FFFFFFFF;
  D3D11_SO_NO_RASTERIZED_STREAM = $FFFFFFFF;
  D3D11_SO_OUTPUT_COMPONENT_COUNT = 128;
  D3D11_SO_STREAM_COUNT = 4;
  D3D11_SPEC_DATE_DAY = 04;
  D3D11_SPEC_DATE_MONTH = 06;
  D3D11_SPEC_DATE_YEAR = 2009;
  D3D11_SPEC_VERSION = 1.0;
  D3D11_SRGB_GAMMA = 2.2;
  D3D11_SRGB_TO_FLOAT_DENOMINATOR_1 = 12.92;
  D3D11_SRGB_TO_FLOAT_DENOMINATOR_2 = 1.055;
  D3D11_SRGB_TO_FLOAT_EXPONENT = 2.4;
  D3D11_SRGB_TO_FLOAT_OFFSET = 0.055;
  D3D11_SRGB_TO_FLOAT_THRESHOLD = 0.04045;
  D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = 0.5;
  D3D11_STANDARD_COMPONENT_BIT_COUNT = 32;
  D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = 64;
  D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = 4;
  D3D11_STANDARD_PIXEL_COMPONENT_COUNT = 128;
  D3D11_STANDARD_PIXEL_ELEMENT_COUNT = 32;
  D3D11_STANDARD_VECTOR_SIZE = 4;
  D3D11_STANDARD_VERTEX_ELEMENT_COUNT = 32;
  D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = 64;
  D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT = 8;
  D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT = 8;
  D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = 64;
  D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = 64;
  D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = 63;
  D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR = 64;
  D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = 2;
  D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = 1;
  D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = 1;
  D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT = 16;
  D3D11_UNBOUND_MEMORY_ACCESS_RESULT = 0;
  D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = 15;
  D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = 16;
  D3D11_VIEWPORT_BOUNDS_MAX = 32767;
  D3D11_VIEWPORT_BOUNDS_MIN = -32768;
  D3D11_VS_INPUT_REGISTER_COMPONENTS = 4;
  D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_VS_INPUT_REGISTER_COUNT = 32;
  D3D11_VS_INPUT_REGISTER_READS_PER_INST = 2;
  D3D11_VS_INPUT_REGISTER_READ_PORTS = 1;
  D3D11_VS_OUTPUT_REGISTER_COMPONENTS = 4;
  D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = 32;
  D3D11_VS_OUTPUT_REGISTER_COUNT = 32;
  D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = 10;
  D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = 25;
  D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = 25;
  //
  _FACD3D11 = $87C;
  _FACD3D11DEBUG = _FACD3D11 + 1;
  D3D11_STATUS_Base = LongWord(_FACD3D11 shl 16);
  D3D11_HRESULT_Base = D3D11_STATUS_Base or LongWord(1 shl 31);
  //
  D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS = HResult(D3D11_HRESULT_Base or 1);
  D3D11_ERROR_FILE_NOT_FOUND = HResult(D3D11_HRESULT_Base or 2);
  D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS = HResult(D3D11_HRESULT_Base or 3);
  D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD = HResult(D3D11_HRESULT_Base or 4);
  //
  D3D11_APPEND_ALIGNED_ELEMENT = $FFFFFFFF;
  D3D11_FILTER_TYPE_MASK = $3;
  D3D11_MIN_FILTER_SHIFT = 4;
  D3D11_MAG_FILTER_SHIFT = 2;
  D3D11_MIP_FILTER_SHIFT = 0;
  D3D11_COMPARISON_FILTERING_BIT = $80;
  D3D11_ANISOTROPIC_FILTERING_BIT = $40;
(*
  D3D11_ENCODE_BASIC_FILTER=min, mag, mip, bComparison )                  ( ( D3D11_FILTER ) (                                                                                      ( ( bComparison ) ? D3D11_COMPARISON_FILTERING_BIT : 0 ) or                                                ( ( ( min ) and D3D11_FILTER_TYPE_MASK ) << D3D11_MIN_FILTER_SHIFT ) or                                      ( ( ( mag ) and D3D11_FILTER_TYPE_MASK ) << D3D11_MAG_FILTER_SHIFT ) or                                      ( ( ( mip ) and D3D11_FILTER_TYPE_MASK ) << D3D11_MIP_FILTER_SHIFT ) );
  D3D11_ENCODE_ANISOTROPIC_FILTER=bComparison )                             ( ( D3D11_FILTER ) (                                                                                  D3D11_ANISOTROPIC_FILTERING_BIT or                                                                     D3D11_ENCODE_BASIC_FILTER( D3D11_FILTER_TYPE_LINEAR,                                                                             D3D11_FILTER_TYPE_LINEAR,                                                                             D3D11_FILTER_TYPE_LINEAR,                                                                             bComparison ) );
  D3D11_DECODE_MIN_FILTER=d3d11Filter )                                   ( ( D3D11_FILTER_TYPE )                                                                                     ( ( ( d3d11Filter ) >> D3D11_MIN_FILTER_SHIFT ) and D3D11_FILTER_TYPE_MASK );
  D3D11_DECODE_MAG_FILTER=d3d11Filter )                                   ( ( D3D11_FILTER_TYPE )                                                                                     ( ( ( d3d11Filter ) >> D3D11_MAG_FILTER_SHIFT ) and D3D11_FILTER_TYPE_MASK );
  D3D11_DECODE_MIP_FILTER=d3d11Filter )                                   ( ( D3D11_FILTER_TYPE )                                                                                     ( ( ( d3d11Filter ) >> D3D11_MIP_FILTER_SHIFT ) and D3D11_FILTER_TYPE_MASK );
  D3D11_DECODE_IS_COMPARISON_FILTER=d3d11Filter )                         ( ( d3d11Filter ) and D3D11_COMPARISON_FILTERING_BIT;
  D3D11_DECODE_IS_ANISOTROPIC_FILTER=d3d11Filter )               ( ( ( d3d11Filter ) and D3D11_ANISOTROPIC_FILTERING_BIT ) and                                              ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIN_FILTER( d3d11Filter ) ) and                               ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MAG_FILTER( d3d11Filter ) ) and                               ( D3D11_FILTER_TYPE_LINEAR == D3D11_DECODE_MIP_FILTER( d3d11Filter ) );
*)
  D3D11_SDK_VERSION = 7;
type
  ID3D11DeviceChild = interface;
  PID3D11DeviceChild = ^ID3D11DeviceChild;
  ID3D11DepthStencilState = interface;
  PID3D11DepthStencilState = ^ID3D11DepthStencilState;
  ID3D11BlendState = interface;
  PID3D11BlendState = ^ID3D11BlendState;
  ID3D11RasterizerState = interface;
  PID3D11RasterizerState = ^ID3D11RasterizerState;
  ID3D11Resource = interface;
  PID3D11Resource = ^ID3D11Resource;
  ID3D11Buffer = interface;
  PID3D11Buffer = ^ID3D11Buffer;
  ID3D11Texture1D = interface;
  PID3D11Texture1D = ^ID3D11Texture1D;
  ID3D11Texture2D = interface;
  PID3D11Texture2D = ^ID3D11Texture2D;
  ID3D11Texture3D = interface;
  PID3D11Texture3D = ^ID3D11Texture3D;
  ID3D11View = interface;
  PID3D11View = ^ID3D11View;
  ID3D11ShaderResourceView = interface;
  PID3D11ShaderResourceView = ^ID3D11ShaderResourceView;
  ID3D11RenderTargetView = interface;
  PID3D11RenderTargetView = ^ID3D11RenderTargetView;
  ID3D11DepthStencilView = interface;
  PID3D11DepthStencilView = ^ID3D11DepthStencilView;
  ID3D11UnorderedAccessView = interface;
  PID3D11UnorderedAccessView = ^ID3D11UnorderedAccessView;
  ID3D11VertexShader = interface;
  PID3D11VertexShader = ^ID3D11VertexShader;
  ID3D11HullShader = interface;
  PID3D11HullShader = ^ID3D11HullShader;
  ID3D11DomainShader = interface;
  PID3D11DomainShader = ^ID3D11DomainShader;
  ID3D11GeometryShader = interface;
  PID3D11GeometryShader = ^ID3D11GeometryShader;
  ID3D11PixelShader = interface;
  PID3D11PixelShader = ^ID3D11PixelShader;
  ID3D11ComputeShader = interface;
  PID3D11ComputeShader = ^ID3D11ComputeShader;
  ID3D11InputLayout = interface;
  PID3D11InputLayout = ^ID3D11InputLayout;
  ID3D11SamplerState = interface;
  PID3D11SamplerState = ^ID3D11SamplerState;
  ID3D11Asynchronous = interface;
  PID3D11Asynchronous = ^ID3D11Asynchronous;
  ID3D11Query = interface;
  PID3D11Query = ^ID3D11Query;
  ID3D11Predicate = interface;
  PID3D11Predicate = ^ID3D11Predicate;
  ID3D11Counter = interface;
  PID3D11Counter = ^ID3D11Counter;
  ID3D11ClassInstance = interface;
  PID3D11ClassInstance = ^ID3D11ClassInstance;
  ID3D11ClassLinkage = interface;
  PID3D11ClassLinkage = ^ID3D11ClassLinkage;
  ID3D11CommandList = interface;
  PID3D11CommandList = ^ID3D11CommandList;
  ID3D11DeviceContext = interface;
  PID3D11DeviceContext = ^ID3D11DeviceContext;
  ID3D11Device = interface;
  PID3D11Device = ^ID3D11Device;
  
  TD3D11_InputClassification = (
    D3D11_INPUT_PER_VERTEX_DATA = 0,
    D3D11_INPUT_PER_INSTANCE_DATA = 1
  );
  PTD3D11_InputClassification = ^TD3D11_InputClassification;
  D3D11_INPUT_CLASSIFICATION = TD3D11_InputClassification;
  PD3D11_INPUT_CLASSIFICATION = ^TD3D11_InputClassification;
  TD3D11_InputElementDesc = record
    SemanticName: PAnsiChar;
    SemanticIndex: LongWord;
    Format: TDXGI_Format;
    InputSlot: LongWord;
    AlignedByteOffset: LongWord;
    InputSlotClass: TD3D11_InputClassification;
    InstanceDataStepRate: LongWord;
  end;
  PTD3D11_InputElementDesc = ^TD3D11_InputElementDesc;
  D3D11_INPUT_ELEMENT_DESC = TD3D11_InputElementDesc;
  PD3D11_INPUT_ELEMENT_DESC = ^TD3D11_InputElementDesc;
  TD3D11_FillMode = (
    D3D11_FILL_WIREFRAME = 2,
    D3D11_FILL_SOLID = 3
  );
  PTD3D11_FillMode = ^TD3D11_FillMode;
  D3D11_FILL_MODE = TD3D11_FillMode;
  PD3D11_FILL_MODE = ^TD3D11_FillMode;
  TD3D11_PrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY;
  PTD3D11_PrimitiveTopology = ^TD3D11_PrimitiveTopology;
  D3D11_PRIMITIVE_TOPOLOGY = TD3D11_PrimitiveTopology;
  PD3D11_PRIMITIVE_TOPOLOGY = ^TD3D11_PrimitiveTopology;
  TD3D11_Primitive = D3D_PRIMITIVE;
  PTD3D11_Primitive = ^TD3D11_Primitive;
  D3D11_PRIMITIVE = TD3D11_Primitive;
  PD3D11_PRIMITIVE = ^TD3D11_Primitive;
  TD3D11_CullMode = (
    D3D11_CULL_NONE = 1,
    D3D11_CULL_FRONT = 2,
    D3D11_CULL_BACK = 3
  );
  PTD3D11_CullMode = ^TD3D11_CullMode;
  D3D11_CULL_MODE = TD3D11_CullMode;
  PD3D11_CULL_MODE = ^TD3D11_CullMode;
  TD3D11_SoDeclarationEntry = record
    Stream: LongWord;
    SemanticName: PAnsiChar;
    SemanticIndex: LongWord;
    StartComponent: Byte;
    ComponentCount: Byte;
    OutputSlot: Byte;
  end;
  PTD3D11_SoDeclarationEntry = ^TD3D11_SoDeclarationEntry;
  D3D11_SO_DECLARATION_ENTRY = TD3D11_SoDeclarationEntry;
  PD3D11_SO_DECLARATION_ENTRY = ^TD3D11_SoDeclarationEntry;
  TD3D11_Viewport = record
    TopLeftX: Single;
    TopLeftY: Single;
    Width: Single;
    Height: Single;
    MinDepth: Single;
    MaxDepth: Single;
  end;
  PTD3D11_Viewport = ^TD3D11_Viewport;
  D3D11_VIEWPORT = TD3D11_Viewport;
  PD3D11_VIEWPORT = ^TD3D11_Viewport;
  TD3D11_ResourceDimension = (
    D3D11_RESOURCE_DIMENSION_UNKNOWN = 0,
    D3D11_RESOURCE_DIMENSION_BUFFER = 1,
    D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2,
    D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3,
    D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4
  );
  PTD3D11_ResourceDimension = ^TD3D11_ResourceDimension;
  D3D11_RESOURCE_DIMENSION = TD3D11_ResourceDimension;
  PD3D11_RESOURCE_DIMENSION = ^TD3D11_ResourceDimension;
  TD3D11_SRVDimension = D3D_SRV_DIMENSION;
  PTD3D11_SRVDimension = ^TD3D11_SRVDimension;
  D3D11_SRV_DIMENSION = TD3D11_SRVDimension;
  PD3D11_SRV_DIMENSION = ^TD3D11_SRVDimension;
  TD3D11_DSVDimension = (
    D3D11_DSV_DIMENSION_UNKNOWN = 0,
    D3D11_DSV_DIMENSION_TEXTURE1D = 1,
    D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2,
    D3D11_DSV_DIMENSION_TEXTURE2D = 3,
    D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4,
    D3D11_DSV_DIMENSION_TEXTURE2DMS = 5,
    D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
  );
  PTD3D11_DSVDimension = ^TD3D11_DSVDimension;
  D3D11_DSV_DIMENSION = TD3D11_DSVDimension;
  PD3D11_DSV_DIMENSION = ^TD3D11_DSVDimension;
  TD3D11_RTVDimension = (
    D3D11_RTV_DIMENSION_UNKNOWN = 0,
    D3D11_RTV_DIMENSION_BUFFER = 1,
    D3D11_RTV_DIMENSION_TEXTURE1D = 2,
    D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3,
    D3D11_RTV_DIMENSION_TEXTURE2D = 4,
    D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5,
    D3D11_RTV_DIMENSION_TEXTURE2DMS = 6,
    D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
    D3D11_RTV_DIMENSION_TEXTURE3D = 8
  );
  PTD3D11_RTVDimension = ^TD3D11_RTVDimension;
  D3D11_RTV_DIMENSION = TD3D11_RTVDimension;
  PD3D11_RTV_DIMENSION = ^TD3D11_RTVDimension;
  TD3D11_UAVDimension = (
    D3D11_UAV_DIMENSION_UNKNOWN = 0,
    D3D11_UAV_DIMENSION_BUFFER = 1,
    D3D11_UAV_DIMENSION_TEXTURE1D = 2,
    D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3,
    D3D11_UAV_DIMENSION_TEXTURE2D = 4,
    D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5,
    D3D11_UAV_DIMENSION_TEXTURE3D = 8
  );
  PTD3D11_UAVDimension = ^TD3D11_UAVDimension;
  D3D11_UAV_DIMENSION = TD3D11_UAVDimension;
  PD3D11_UAV_DIMENSION = ^TD3D11_UAVDimension;
  TD3D11_Usage = (
    D3D11_USAGE_DEFAULT = 0,
    D3D11_USAGE_IMMUTABLE = 1,
    D3D11_USAGE_DYNAMIC = 2,
    D3D11_USAGE_STAGING = 3
  );
  PTD3D11_Usage = ^TD3D11_Usage;
  D3D11_USAGE = TD3D11_Usage;
  PD3D11_USAGE = ^TD3D11_Usage;
  TD3D11_BindFlag = (
    D3D11_BIND_VERTEX_BUFFER = $1,
    D3D11_BIND_INDEX_BUFFER = $2,
    D3D11_BIND_CONSTANT_BUFFER = $4,
    D3D11_BIND_SHADER_RESOURCE = $8,
    D3D11_BIND_STREAM_OUTPUT = $10,
    D3D11_BIND_RENDER_TARGET = $20,
    D3D11_BIND_DEPTH_STENCIL = $40,
    D3D11_BIND_UNORDERED_ACCESS = $80
  );
  PTD3D11_BindFlag = ^TD3D11_BindFlag;
  D3D11_BIND_FLAG = TD3D11_BindFlag;
  PD3D11_BIND_FLAG = ^TD3D11_BindFlag;
  TD3D11_CpuAccessFlag = (
    D3D11_CPU_ACCESS_WRITE = $10000,
    D3D11_CPU_ACCESS_READ = $20000
  );
  PTD3D11_CpuAccessFlag = ^TD3D11_CpuAccessFlag;
  D3D11_CPU_ACCESS_FLAG = TD3D11_CpuAccessFlag;
  PD3D11_CPU_ACCESS_FLAG = ^TD3D11_CpuAccessFlag;
  TD3D11_ResourceMiscFlag = (
    D3D11_RESOURCE_MISC_GENERATE_MIPS = $1,
    D3D11_RESOURCE_MISC_SHARED = $2,
    D3D11_RESOURCE_MISC_TEXTURECUBE = $4,
    D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = $10,
    D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = $20,
    D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = $40,
    D3D11_RESOURCE_MISC_RESOURCE_CLAMP = $80,
    D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = $100,
    D3D11_RESOURCE_MISC_GDI_COMPATIBLE = $200
  );
  PTD3D11_ResourceMiscFlag = ^TD3D11_ResourceMiscFlag;
  D3D11_RESOURCE_MISC_FLAG = TD3D11_ResourceMiscFlag;
  PD3D11_RESOURCE_MISC_FLAG = ^TD3D11_ResourceMiscFlag;
  TD3D11_Map = (
    D3D11_MAP_READ = 1,
    D3D11_MAP_WRITE = 2,
    D3D11_MAP_READ_WRITE = 3,
    D3D11_MAP_WRITE_DISCARD = 4,
    D3D11_MAP_WRITE_NO_OVERWRITE = 5
  );
  PTD3D11_Map = ^TD3D11_Map;
  D3D11_MAP = TD3D11_Map;
  PD3D11_MAP = ^TD3D11_Map;
  TD3D11_MapFlag = (
    D3D11_MAP_FLAG_DO_NOT_WAIT = $100000
  );
  PTD3D11_MapFlag = ^TD3D11_MapFlag;
  D3D11_MAP_FLAG = TD3D11_MapFlag;
  PD3D11_MAP_FLAG = ^TD3D11_MapFlag;
  TD3D11_RaiseFlag = (
    D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = $1
  );
  PTD3D11_RaiseFlag = ^TD3D11_RaiseFlag;
  D3D11_RAISE_FLAG = TD3D11_RaiseFlag;
  PD3D11_RAISE_FLAG = ^TD3D11_RaiseFlag;
  TD3D11_ClearFlag = (
    D3D11_CLEAR_DEPTH = $1,
    D3D11_CLEAR_STENCIL = $2
  );
  PTD3D11_ClearFlag = ^TD3D11_ClearFlag;
  D3D11_CLEAR_FLAG = TD3D11_ClearFlag;
  PD3D11_CLEAR_FLAG = ^TD3D11_ClearFlag;
  TD3D11_Rect = RECT;
  PTD3D11_Rect = ^TD3D11_Rect;
  D3D11_RECT = TD3D11_Rect;
  PD3D11_RECT = ^TD3D11_Rect;
  TD3D11_Box = record
    Left: LongWord;
    Top: LongWord;
    Front: LongWord;
    Right: LongWord;
    Bottom: LongWord;
    Back: LongWord;
  end;
  PTD3D11_Box = ^TD3D11_Box;
  D3D11_BOX = TD3D11_Box;
  PD3D11_BOX = ^TD3D11_Box;
  ID3D11DeviceChild = interface(IUnknown)
    ['{1841E5C8-16B0-489B-BCC8-44CFB0D5DEAE}']
    procedure GetDevice(out Device: ID3D11Device); stdcall;
    function GetPrivateData(const Guid: TGUID; var DataSize: LongWord; pData: Pointer): HResult; stdcall;
    function SetPrivateData(const Guid: TGUID; DataSize: LongWord; pData: Pointer): HResult; stdcall;
    function SetPrivateDataInterface(const Guid: TGUID; Data: IUnknown): HResult; stdcall;
  end;
  TD3D11_ComparisonFunc = (
    D3D11_COMPARISON_NEVER = 1,
    D3D11_COMPARISON_LESS = 2,
    D3D11_COMPARISON_EQUAL = 3,
    D3D11_COMPARISON_LESS_EQUAL = 4,
    D3D11_COMPARISON_GREATER = 5,
    D3D11_COMPARISON_NOT_EQUAL = 6,
    D3D11_COMPARISON_GREATER_EQUAL = 7,
    D3D11_COMPARISON_ALWAYS = 8
  );
  PTD3D11_ComparisonFunc = ^TD3D11_ComparisonFunc;
  D3D11_COMPARISON_FUNC = TD3D11_ComparisonFunc;
  PD3D11_COMPARISON_FUNC = ^TD3D11_ComparisonFunc;
  TD3D11_DepthWriteMask = (
    D3D11_DEPTH_WRITE_MASK_ZERO = 0,
    D3D11_DEPTH_WRITE_MASK_ALL = 1
  );
  PTD3D11_DepthWriteMask = ^TD3D11_DepthWriteMask;
  D3D11_DEPTH_WRITE_MASK = TD3D11_DepthWriteMask;
  PD3D11_DEPTH_WRITE_MASK = ^TD3D11_DepthWriteMask;
  TD3D11_StencilOp = (
    D3D11_STENCIL_OP_KEEP = 1,
    D3D11_STENCIL_OP_ZERO = 2,
    D3D11_STENCIL_OP_REPLACE = 3,
    D3D11_STENCIL_OP_INCR_SAT = 4,
    D3D11_STENCIL_OP_DECR_SAT = 5,
    D3D11_STENCIL_OP_INVERT = 6,
    D3D11_STENCIL_OP_INCR = 7,
    D3D11_STENCIL_OP_DECR = 8
  );
  PTD3D11_StencilOp = ^TD3D11_StencilOp;
  D3D11_STENCIL_OP = TD3D11_StencilOp;
  PD3D11_STENCIL_OP = ^TD3D11_StencilOp;
  TD3D11_DepthStencilopDesc = record
    StencilFailOp: TD3D11_StencilOp;
    StencilDepthFailOp: TD3D11_StencilOp;
    StencilPassOp: TD3D11_StencilOp;
    StencilFunc: TD3D11_ComparisonFunc;
  end;
  PTD3D11_DepthStencilopDesc = ^TD3D11_DepthStencilopDesc;
  D3D11_DEPTH_STENCILOP_DESC = TD3D11_DepthStencilopDesc;
  PD3D11_DEPTH_STENCILOP_DESC = ^TD3D11_DepthStencilopDesc;
  TD3D11_DepthStencilDesc = record
    DepthEnable: LongBool;
    DepthWriteMask: TD3D11_DepthWriteMask;
    DepthFunc: TD3D11_ComparisonFunc;
    StencilEnable: LongBool;
    StencilReadMask: Byte;
    StencilWriteMask: Byte;
    FrontFace: TD3D11_DepthStencilopDesc;
    BackFace: TD3D11_DepthStencilopDesc;
  end;
  PTD3D11_DepthStencilDesc = ^TD3D11_DepthStencilDesc;
  D3D11_DEPTH_STENCIL_DESC = TD3D11_DepthStencilDesc;
  PD3D11_DEPTH_STENCIL_DESC = ^TD3D11_DepthStencilDesc;
  ID3D11DepthStencilState = interface(ID3D11DeviceChild)
    ['{03823EFB-8D8F-4E1C-9AA2-F64BB2CBFDF1}']
    procedure GetDesc(out Desc: TD3D11_DepthStencilDesc); stdcall;
  end;
  TD3D11_Blend = (
    D3D11_BLEND_ZERO = 1,
    D3D11_BLEND_ONE = 2,
    D3D11_BLEND_SRC_COLOR = 3,
    D3D11_BLEND_INV_SRC_COLOR = 4,
    D3D11_BLEND_SRC_ALPHA = 5,
    D3D11_BLEND_INV_SRC_ALPHA = 6,
    D3D11_BLEND_DEST_ALPHA = 7,
    D3D11_BLEND_INV_DEST_ALPHA = 8,
    D3D11_BLEND_DEST_COLOR = 9,
    D3D11_BLEND_INV_DEST_COLOR = 10,
    D3D11_BLEND_SRC_ALPHA_SAT = 11,
    D3D11_BLEND_BLEND_FACTOR = 14,
    D3D11_BLEND_INV_BLEND_FACTOR = 15,
    D3D11_BLEND_SRC1_COLOR = 16,
    D3D11_BLEND_INV_SRC1_COLOR = 17,
    D3D11_BLEND_SRC1_ALPHA = 18,
    D3D11_BLEND_INV_SRC1_ALPHA = 19
  );
  PTD3D11_Blend = ^TD3D11_Blend;
  D3D11_BLEND = TD3D11_Blend;
  PD3D11_BLEND = ^TD3D11_Blend;
  TD3D11_BlendOp = (
    D3D11_BLEND_OP_ADD = 1,
    D3D11_BLEND_OP_SUBTRACT = 2,
    D3D11_BLEND_OP_REV_SUBTRACT = 3,
    D3D11_BLEND_OP_MIN = 4,
    D3D11_BLEND_OP_MAX = 5
  );
  PTD3D11_BlendOp = ^TD3D11_BlendOp;
  D3D11_BLEND_OP = TD3D11_BlendOp;
  PD3D11_BLEND_OP = ^TD3D11_BlendOp;
  TD3D11_ColorWriteEnable = (
    D3D11_COLOR_WRITE_ENABLE_RED = 1,
    D3D11_COLOR_WRITE_ENABLE_GREEN = 2,
    D3D11_COLOR_WRITE_ENABLE_BLUE = 4,
    D3D11_COLOR_WRITE_ENABLE_ALPHA = 8,
    D3D11_COLOR_WRITE_ENABLE_ALL = 15
  );
  PTD3D11_ColorWriteEnable = ^TD3D11_ColorWriteEnable;
  D3D11_COLOR_WRITE_ENABLE = TD3D11_ColorWriteEnable;
  PD3D11_COLOR_WRITE_ENABLE = ^TD3D11_ColorWriteEnable;
  TD3D11_RenderTargetBlendDesc = record
    BlendEnable: LongBool;
    SrcBlend: TD3D11_Blend;
    DestBlend: TD3D11_Blend;
    BlendOp: TD3D11_BlendOp;
    SrcBlendAlpha: TD3D11_Blend;
    DestBlendAlpha: TD3D11_Blend;
    BlendOpAlpha: TD3D11_BlendOp;
    RenderTargetWriteMask: Byte;
  end;
  PTD3D11_RenderTargetBlendDesc = ^TD3D11_RenderTargetBlendDesc;
  D3D11_RENDER_TARGET_BLEND_DESC = TD3D11_RenderTargetBlendDesc;
  PD3D11_RENDER_TARGET_BLEND_DESC = ^TD3D11_RenderTargetBlendDesc;
  TD3D11_BlendDesc = record
    AlphaToCoverageEnable: LongBool;
    IndependentBlendEnable: LongBool;
    RenderTarget: array[0..7] of TD3D11_RenderTargetBlendDesc;
  end;
  PTD3D11_BlendDesc = ^TD3D11_BlendDesc;
  D3D11_BLEND_DESC = TD3D11_BlendDesc;
  PD3D11_BLEND_DESC = ^TD3D11_BlendDesc;
  ID3D11BlendState = interface(ID3D11DeviceChild)
    ['{75B68FAA-347D-4159-8F45-A0640F01CD9A}']
    procedure GetDesc(out Desc: TD3D11_BlendDesc); stdcall;
  end;
  TD3D11_RasterizerDesc = record
    FillMode: TD3D11_FillMode;
    CullMode: TD3D11_CullMode;
    FrontCounterClockwise: LongBool;
    DepthBias: Integer;
    DepthBiasClamp: Single;
    SlopeScaledDepthBias: Single;
    DepthClipEnable: LongBool;
    ScissorEnable: LongBool;
    MultisampleEnable: LongBool;
    AntialiasedLineEnable: LongBool;
  end;
  PTD3D11_RasterizerDesc = ^TD3D11_RasterizerDesc;
  D3D11_RASTERIZER_DESC = TD3D11_RasterizerDesc;
  PD3D11_RASTERIZER_DESC = ^TD3D11_RasterizerDesc;
  ID3D11RasterizerState = interface(ID3D11DeviceChild)
    ['{9BB4AB81-AB1A-4D8F-B506-FC04200B6EE7}']
    procedure GetDesc(out Desc: TD3D11_RasterizerDesc); stdcall;
  end;
  TD3D11_SubresourceData = record
    pSysMem: Pointer;
    SysMemPitch: LongWord;
    SysMemSlicePitch: LongWord;
  end;
  PTD3D11_SubresourceData = ^TD3D11_SubresourceData;
  D3D11_SUBRESOURCE_DATA = TD3D11_SubresourceData;
  PD3D11_SUBRESOURCE_DATA = ^TD3D11_SubresourceData;
  TD3D11_MappedSubresource = record
    pData: Pointer;
    RowPitch: LongWord;
    DepthPitch: LongWord;
  end;
  PTD3D11_MappedSubresource = ^TD3D11_MappedSubresource;
  D3D11_MAPPED_SUBRESOURCE = TD3D11_MappedSubresource;
  PD3D11_MAPPED_SUBRESOURCE = ^TD3D11_MappedSubresource;
  ID3D11Resource = interface(ID3D11DeviceChild)
    ['{DC8E63F3-D12B-4952-B47B-5E45026A862D}']
    procedure GetType(out ResourceDimension: TD3D11_ResourceDimension); stdcall;
    procedure SetEvictionPriority(EvictionPriority: LongWord); stdcall;
    function GetEvictionPriority: LongWord; stdcall;
  end;
  TD3D11_BufferDesc = record
    ByteWidth: LongWord;
    Usage: TD3D11_Usage;
    BindFlags: TD3D11_BindFlag; //LongWord;
    CPUAccessFlags: LongWord;
    MiscFlags: LongWord;
    StructureByteStride: LongWord;
  end;
  PTD3D11_BufferDesc = ^TD3D11_BufferDesc;
  D3D11_BUFFER_DESC = TD3D11_BufferDesc;
  PD3D11_BUFFER_DESC = ^TD3D11_BufferDesc;
  ID3D11Buffer = interface(ID3D11Resource)
    ['{48570B85-D1EE-4FCD-A250-EB350722B037}']
    procedure GetDesc(out Desc: TD3D11_BufferDesc); stdcall;
  end;
  TD3D11_Texture1DDesc = record
    Width: LongWord;
    MipLevels: LongWord;
    ArraySize: LongWord;
    Format: TDXGI_Format;
    Usage: TD3D11_Usage;
    BindFlags: LongWord;
    CPUAccessFlags: LongWord;
    MiscFlags: LongWord;
  end;
  PTD3D11_Texture1DDesc = ^TD3D11_Texture1DDesc;
  D3D11_TEXTURE1D_DESC = TD3D11_Texture1DDesc;
  PD3D11_TEXTURE1D_DESC = ^TD3D11_Texture1DDesc;
  ID3D11Texture1D = interface(ID3D11Resource)
    ['{F8FB5C27-C6B3-4F75-A4C8-439AF2EF564C}']
    procedure GetDesc(out Desc: TD3D11_Texture1DDesc); stdcall;
  end;
  TD3D11_Texture2DDesc = record
    Width: LongWord;
    Height: LongWord;
    MipLevels: LongWord;
    ArraySize: LongWord;
    Format: TDXGI_Format;
    SampleDesc: TDXGI_SampleDesc;
    Usage: TD3D11_Usage;
    BindFlags: LongWord;
    CPUAccessFlags: LongWord;
    MiscFlags: LongWord;
  end;
  PTD3D11_Texture2DDesc = ^TD3D11_Texture2DDesc;
  D3D11_TEXTURE2D_DESC = TD3D11_Texture2DDesc;
  PD3D11_TEXTURE2D_DESC = ^TD3D11_Texture2DDesc;
  ID3D11Texture2D = interface(ID3D11Resource)
    ['{6F15AAF2-D208-4E89-9AB4-489535D34F9C}']
    procedure GetDesc(out Desc: TD3D11_Texture2DDesc); stdcall;
  end;
  TD3D11_Texture3DDesc = record
    Width: LongWord;
    Height: LongWord;
    Depth: LongWord;
    MipLevels: LongWord;
    Format: TDXGI_Format;
    Usage: TD3D11_Usage;
    BindFlags: LongWord;
    CPUAccessFlags: LongWord;
    MiscFlags: LongWord;
  end;
  PTD3D11_Texture3DDesc = ^TD3D11_Texture3DDesc;
  D3D11_TEXTURE3D_DESC = TD3D11_Texture3DDesc;
  PD3D11_TEXTURE3D_DESC = ^TD3D11_Texture3DDesc;
  ID3D11Texture3D = interface(ID3D11Resource)
    ['{037E866E-F56D-4357-A8AF-9DABBE6E250E}']
    procedure GetDesc(out Desc: TD3D11_Texture3DDesc); stdcall;
  end;
  TD3D11_TexturecubeFace = (
    D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1,
    D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3,
    D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4,
    D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5
  );
  PTD3D11_TexturecubeFace = ^TD3D11_TexturecubeFace;
  D3D11_TEXTURECUBE_FACE = TD3D11_TexturecubeFace;
  PD3D11_TEXTURECUBE_FACE = ^TD3D11_TexturecubeFace;
  ID3D11View = interface(ID3D11DeviceChild)
    ['{839D1216-BB2E-412B-B7F4-A9DBEBE08ED1}']
    procedure GetResource(out Resource: ID3D11Resource); stdcall;
  end;
  TD3D11_BufferSrv = record
    case Integer of
      0:(
        FirstElement: UINT;
        NumElements: UINT;
      );
      1: (
        ElementOffset: UINT;
        ElementWidth: UINT;
      );
  end;
  PTD3D11_BufferSrv = ^TD3D11_BufferSrv;
  D3D11_BUFFER_SRV = TD3D11_BufferSrv;
  PD3D11_BUFFER_SRV = ^TD3D11_BufferSrv;
  TD3D11_BufferexSrvFlag =
    (
    D3D11_BUFFEREX_SRV_FLAG_RAW = $1
    );
  PTD3D11_BufferexSrvFlag = ^TD3D11_BufferexSrvFlag;
  D3D11_BUFFEREX_SRV_FLAG = TD3D11_BufferexSrvFlag;
  PD3D11_BUFFEREX_SRV_FLAG = ^TD3D11_BufferexSrvFlag;
  TD3D11_BufferexSrv = record
    FirstElement: LongWord;
    NumElements: LongWord;
    Flags: LongWord;
  end;
  PTD3D11_BufferexSrv = ^TD3D11_BufferexSrv;
  D3D11_BUFFEREX_SRV = TD3D11_BufferexSrv;
  PD3D11_BUFFEREX_SRV = ^TD3D11_BufferexSrv;
  TD3D11_Tex1DSrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
  end;
  PTD3D11_Tex1DSrv = ^TD3D11_Tex1DSrv;
  D3D11_TEX1D_SRV = TD3D11_Tex1DSrv;
  PD3D11_TEX1D_SRV = ^TD3D11_Tex1DSrv;
  TD3D11_Tex1DArraySrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex1DArraySrv = ^TD3D11_Tex1DArraySrv;
  D3D11_TEX1D_ARRAY_SRV = TD3D11_Tex1DArraySrv;
  PD3D11_TEX1D_ARRAY_SRV = ^TD3D11_Tex1DArraySrv;
  TD3D11_Tex2DSrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
  end;
  PTD3D11_Tex2DSrv = ^TD3D11_Tex2DSrv;
  D3D11_TEX2D_SRV = TD3D11_Tex2DSrv;
  PD3D11_TEX2D_SRV = ^TD3D11_Tex2DSrv;
  TD3D11_Tex2DArraySrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DArraySrv = ^TD3D11_Tex2DArraySrv;
  D3D11_TEX2D_ARRAY_SRV = TD3D11_Tex2DArraySrv;
  PD3D11_TEX2D_ARRAY_SRV = ^TD3D11_Tex2DArraySrv;
  TD3D11_Tex3DSrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
  end;
  PTD3D11_Tex3DSrv = ^TD3D11_Tex3DSrv;
  D3D11_TEX3D_SRV = TD3D11_Tex3DSrv;
  PD3D11_TEX3D_SRV = ^TD3D11_Tex3DSrv;
  TD3D11_TexcubeSrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
  end;
  PTD3D11_TexcubeSrv = ^TD3D11_TexcubeSrv;
  D3D11_TEXCUBE_SRV = TD3D11_TexcubeSrv;
  PD3D11_TEXCUBE_SRV = ^TD3D11_TexcubeSrv;
  TD3D11_TexcubeArraySrv = record
    MostDetailedMip: LongWord;
    MipLevels: LongWord;
    First2DArrayFace: LongWord;
    NumCubes: LongWord;
  end;
  PTD3D11_TexcubeArraySrv = ^TD3D11_TexcubeArraySrv;
  D3D11_TEXCUBE_ARRAY_SRV = TD3D11_TexcubeArraySrv;
  PD3D11_TEXCUBE_ARRAY_SRV = ^TD3D11_TexcubeArraySrv;
  TD3D11_Tex2DmsSrv = record
    UnusedField_NothingToDefine: LongWord;
  end;
  PTD3D11_Tex2DmsSrv = ^TD3D11_Tex2DmsSrv;
  D3D11_TEX2DMS_SRV = TD3D11_Tex2DmsSrv;
  PD3D11_TEX2DMS_SRV = ^TD3D11_Tex2DmsSrv;
  TD3D11_Tex2DmsArraySrv = record
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DmsArraySrv = ^TD3D11_Tex2DmsArraySrv;
  D3D11_TEX2DMS_ARRAY_SRV = TD3D11_Tex2DmsArraySrv;
  PD3D11_TEX2DMS_ARRAY_SRV = ^TD3D11_Tex2DmsArraySrv;
  TD3D11_ShaderResourceViewDesc = record
    Format: TDXGI_Format;
    ViewDimension: TD3D11_SRVDimension;
    case Integer of
      0: (Buffer: D3D11_BUFFER_SRV);
      1: (Texture1D: D3D11_TEX1D_SRV);
      2: (Texture1DArray: D3D11_TEX1D_ARRAY_SRV);
      3: (Texture2D: D3D11_TEX2D_SRV);
      4: (Texture2DArray: D3D11_TEX2D_ARRAY_SRV);
      5: (Texture2DMS: D3D11_TEX2DMS_SRV);
      6: (Texture2DMSArray: D3D11_TEX2DMS_ARRAY_SRV);
      7: (Texture3D: D3D11_TEX3D_SRV);
      8: (TextureCube: D3D11_TEXCUBE_SRV);
      9: (TextureCubeArray: D3D11_TEXCUBE_ARRAY_SRV);
      10: (BufferEx: D3D11_BUFFEREX_SRV);
  end;
  PTD3D11_ShaderResourceViewDesc = ^TD3D11_ShaderResourceViewDesc;
  D3D11_SHADER_RESOURCE_VIEW_DESC = TD3D11_ShaderResourceViewDesc;
  PD3D11_SHADER_RESOURCE_VIEW_DESC = ^TD3D11_ShaderResourceViewDesc;
  ID3D11ShaderResourceView = interface(ID3D11View)
    ['{B0E06FE0-8192-4E1A-B1CA-36D7414710B2}']
    procedure GetDesc(out Desc: TD3D11_ShaderResourceViewDesc); stdcall;
  end;
  TD3D11_BufferRTV = record
    case Integer of
      0: (
        FirstElement: UINT;
        NumElements: UINT
      );
      1:(
        ElementOffset: UINT;
        ElementWidth: UINT
      );
  end;
  PTD3D11_BufferRTV = ^TD3D11_BufferRTV;
  D3D11_BUFFER_RTV = TD3D11_BufferRTV;
  PD3D11_BUFFER_RTV = ^TD3D11_BufferRTV;
  TD3D11_Tex1DRTV = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex1DRTV = ^TD3D11_Tex1DRTV;
  D3D11_TEX1D_RTV = TD3D11_Tex1DRTV;
  PD3D11_TEX1D_RTV = ^TD3D11_Tex1DRTV;
  TD3D11_Tex1DArrayRTV = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex1DArrayRTV = ^TD3D11_Tex1DArrayRTV;
  D3D11_TEX1D_ARRAY_RTV = TD3D11_Tex1DArrayRTV;
  PD3D11_TEX1D_ARRAY_RTV = ^TD3D11_Tex1DArrayRTV;
  TD3D11_Tex2DRTV = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex2DRTV = ^TD3D11_Tex2DRTV;
  D3D11_TEX2D_RTV = TD3D11_Tex2DRTV;
  PD3D11_TEX2D_RTV = ^TD3D11_Tex2DRTV;
  TD3D11_Tex2DMSRTV = record
    UnusedField_NothingToDefine: LongWord;
  end;
  PTD3D11_Tex2DMSRTV = ^TD3D11_Tex2DMSRTV;
  D3D11_TEX2DMS_RTV = TD3D11_Tex2DMSRTV;
  PD3D11_TEX2DMS_RTV = ^TD3D11_Tex2DMSRTV;
  TD3D11_Tex2DArrayRTV = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DArrayRTV = ^TD3D11_Tex2DArrayRTV;
  D3D11_TEX2D_ARRAY_RTV = TD3D11_Tex2DArrayRTV;
  PD3D11_TEX2D_ARRAY_RTV = ^TD3D11_Tex2DArrayRTV;
  TD3D11_Tex2DMSArrayRTV = record
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DMSArrayRTV = ^TD3D11_Tex2DMSArrayRTV;
  D3D11_TEX2DMS_ARRAY_RTV = TD3D11_Tex2DMSArrayRTV;
  PD3D11_TEX2DMS_ARRAY_RTV = ^TD3D11_Tex2DMSArrayRTV;
  TD3D11_Tex3DRTV = record
    MipSlice: LongWord;
    FirstWSlice: LongWord;
    WSize: LongWord;
  end;
  PTD3D11_Tex3DRTV = ^TD3D11_Tex3DRTV;
  D3D11_TEX3D_RTV = TD3D11_Tex3DRTV;
  PD3D11_TEX3D_RTV = ^TD3D11_Tex3DRTV;
  TD3D11_RenderTargetViewDesc = record
    Format: TDXGI_Format;
    ViewDimension: TD3D11_RTVDimension;
    case Integer of
      0: (Buffer: D3D11_BUFFER_RTV);
      1: (Texture1D: D3D11_TEX1D_RTV);
      2: (Texture1DArray: D3D11_TEX1D_ARRAY_RTV);
      3: (Texture2D: D3D11_TEX2D_RTV);
      4: (Texture2DArray: D3D11_TEX2D_ARRAY_RTV);
      5: (Texture2DMS: D3D11_TEX2DMS_RTV);
      6: (Texture2DMSArray: D3D11_TEX2DMS_ARRAY_RTV);
      7: (Texture3D: D3D11_TEX3D_RTV);
  end;
  PTD3D11_RenderTargetViewDesc = ^TD3D11_RenderTargetViewDesc;
  D3D11_RENDER_TARGET_VIEW_DESC = TD3D11_RenderTargetViewDesc;
  PD3D11_RENDER_TARGET_VIEW_DESC = ^TD3D11_RenderTargetViewDesc;
  ID3D11RenderTargetView = interface(ID3D11View)
    ['{DFDBA067-0B8D-4865-875B-D7B4516CC164}']
    procedure GetDesc(out Desc: TD3D11_RenderTargetViewDesc); stdcall;
  end;
  TD3D11_Tex1DDsv = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex1DDsv = ^TD3D11_Tex1DDsv;
  D3D11_TEX1D_DSV = TD3D11_Tex1DDsv;
  PD3D11_TEX1D_DSV = ^TD3D11_Tex1DDsv;
  TD3D11_Tex1DArrayDsv = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex1DArrayDsv = ^TD3D11_Tex1DArrayDsv;
  D3D11_TEX1D_ARRAY_DSV = TD3D11_Tex1DArrayDsv;
  PD3D11_TEX1D_ARRAY_DSV = ^TD3D11_Tex1DArrayDsv;
  TD3D11_Tex2DDsv = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex2DDsv = ^TD3D11_Tex2DDsv;
  D3D11_TEX2D_DSV = TD3D11_Tex2DDsv;
  PD3D11_TEX2D_DSV = ^TD3D11_Tex2DDsv;
  TD3D11_Tex2DArrayDsv = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DArrayDsv = ^TD3D11_Tex2DArrayDsv;
  D3D11_TEX2D_ARRAY_DSV = TD3D11_Tex2DArrayDsv;
  PD3D11_TEX2D_ARRAY_DSV = ^TD3D11_Tex2DArrayDsv;
  TD3D11_Tex2DmsDsv = record
    UnusedField_NothingToDefine: LongWord;
  end;
  PTD3D11_Tex2DmsDsv = ^TD3D11_Tex2DmsDsv;
  D3D11_TEX2DMS_DSV = TD3D11_Tex2DmsDsv;
  PD3D11_TEX2DMS_DSV = ^TD3D11_Tex2DmsDsv;
  TD3D11_Tex2DmsArrayDsv = record
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DmsArrayDsv = ^TD3D11_Tex2DmsArrayDsv;
  D3D11_TEX2DMS_ARRAY_DSV = TD3D11_Tex2DmsArrayDsv;
  PD3D11_TEX2DMS_ARRAY_DSV = ^TD3D11_Tex2DmsArrayDsv;
  TD3D11_DsvFlag = (
    D3D11_DSV_READ_ONLY_DEPTH = $1,
    D3D11_DSV_READ_ONLY_STENCIL = $2
  );
  PTD3D11_DsvFlag = ^TD3D11_DsvFlag;
  D3D11_DSV_FLAG = TD3D11_DsvFlag;
  PD3D11_DSV_FLAG = ^TD3D11_DsvFlag;
  TD3D11_DepthStencilViewDesc = record
    Format: TDXGI_Format;
    ViewDimension: TD3D11_DSVDimension;
    Flags: LongWord;
    case Integer of
      0: (Texture1D: D3D11_TEX1D_DSV);
      1: (Texture1DArray: D3D11_TEX1D_ARRAY_DSV);
      2: (Texture2D: D3D11_TEX2D_DSV);
      3: (Texture2DArray: D3D11_TEX2D_ARRAY_DSV);
      4: (Texture2DMS: D3D11_TEX2DMS_DSV);
      5: (Texture2DMSArray: D3D11_TEX2DMS_ARRAY_DSV);
  end;
  PTD3D11_DepthStencilViewDesc = ^TD3D11_DepthStencilViewDesc;
  D3D11_DEPTH_STENCIL_VIEW_DESC = TD3D11_DepthStencilViewDesc;
  PD3D11_DEPTH_STENCIL_VIEW_DESC = ^TD3D11_DepthStencilViewDesc;
  ID3D11DepthStencilView = interface(ID3D11View)
    ['{9FDAC92A-1876-48C3-AFAD-25B94F84A9B6}']
    procedure GetDesc(out Desc: TD3D11_DepthStencilViewDesc); stdcall;
  end;
  TD3D11_BufferUAVFlag = (
    D3D11_BUFFER_UAV_FLAG_RAW = $1,
    D3D11_BUFFER_UAV_FLAG_APPEND = $2,
    D3D11_BUFFER_UAV_FLAG_COUNTER = $4
  );
  PTD3D11_BufferUAVFlag = ^TD3D11_BufferUAVFlag;
  D3D11_BUFFER_UAV_FLAG = TD3D11_BufferUAVFlag;
  PD3D11_BUFFER_UAV_FLAG = ^TD3D11_BufferUAVFlag;
  TD3D11_BufferUAV = record
    FirstElement: LongWord;
    NumElements: LongWord;
    Flags: LongWord;
  end;
  PTD3D11_BufferUAV = ^TD3D11_BufferUAV;
  D3D11_BUFFER_UAV = TD3D11_BufferUAV;
  PD3D11_BUFFER_UAV = ^TD3D11_BufferUAV;
  TD3D11_Tex1DUAV = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex1DUAV = ^TD3D11_Tex1DUAV;
  D3D11_TEX1D_UAV = TD3D11_Tex1DUAV;
  PD3D11_TEX1D_UAV = ^TD3D11_Tex1DUAV;
  TD3D11_Tex1DArrayUAV = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex1DArrayUAV = ^TD3D11_Tex1DArrayUAV;
  D3D11_TEX1D_ARRAY_UAV = TD3D11_Tex1DArrayUAV;
  PD3D11_TEX1D_ARRAY_UAV = ^TD3D11_Tex1DArrayUAV;
  TD3D11_Tex2DUAV = record
    MipSlice: LongWord;
  end;
  PTD3D11_Tex2DUAV = ^TD3D11_Tex2DUAV;
  D3D11_TEX2D_UAV = TD3D11_Tex2DUAV;
  PD3D11_TEX2D_UAV = ^TD3D11_Tex2DUAV;
  TD3D11_Tex2DArrayUAV = record
    MipSlice: LongWord;
    FirstArraySlice: LongWord;
    ArraySize: LongWord;
  end;
  PTD3D11_Tex2DArrayUAV = ^TD3D11_Tex2DArrayUAV;
  D3D11_TEX2D_ARRAY_UAV = TD3D11_Tex2DArrayUAV;
  PD3D11_TEX2D_ARRAY_UAV = ^TD3D11_Tex2DArrayUAV;
  TD3D11_Tex3DUAV = record
    MipSlice: LongWord;
    FirstWSlice: LongWord;
    WSize: LongWord;
  end;
  PTD3D11_Tex3DUAV = ^TD3D11_Tex3DUAV;
  D3D11_TEX3D_UAV = TD3D11_Tex3DUAV;
  PD3D11_TEX3D_UAV = ^TD3D11_Tex3DUAV;
  TD3D11_UnorderedAccessViewDesc = record
    Format: TDXGI_Format;
    ViewDimension: TD3D11_UAVDimension;
    case Integer of
      0: (Buffer: D3D11_BUFFER_UAV);
      1: (Texture1D: D3D11_TEX1D_UAV);
      2: (Texture1DArray: D3D11_TEX1D_ARRAY_UAV);
      3: (Texture2D: D3D11_TEX2D_UAV);
      4: (Texture2DArray: D3D11_TEX2D_ARRAY_UAV);
      5: (Texture3D: D3D11_TEX3D_UAV);
  end;
  PTD3D11_UnorderedAccessViewDesc = ^TD3D11_UnorderedAccessViewDesc;
  D3D11_UNORDERED_ACCESS_VIEW_DESC = TD3D11_UnorderedAccessViewDesc;
  PD3D11_UNORDERED_ACCESS_VIEW_DESC = ^TD3D11_UnorderedAccessViewDesc;
  ID3D11UnorderedAccessView = interface(ID3D11View)
    ['{28ACF509-7F5C-48F6-8611-F316010A6380}']
    procedure GetDesc(out Desc: TD3D11_UnorderedAccessViewDesc); stdcall;
  end;
  ID3D11VertexShader = interface(ID3D11DeviceChild)
    ['{3B301D64-D678-4289-8897-22F8928B72F3}']
  end;
  ID3D11HullShader = interface(ID3D11DeviceChild)
    ['{8E5C6061-628A-4C8E-8264-BBE45CB3D5DD}']
  end;
  ID3D11DomainShader = interface(ID3D11DeviceChild)
    ['{F582C508-0F36-490C-9977-31EECE268CFA}']
  end;
  ID3D11GeometryShader = interface(ID3D11DeviceChild)
    ['{38325B96-EFFB-4022-BA02-2E795B70275C}']
  end;
  ID3D11PixelShader = interface(ID3D11DeviceChild)
    ['{EA82E40D-51DC-4F33-93D4-DB7C9125AE8C}']
  end;
  ID3D11ComputeShader = interface(ID3D11DeviceChild)
    ['{4F5B196E-C2BD-495E-BD01-1FDED38E4969}']
  end;
  ID3D11InputLayout = interface(ID3D11DeviceChild)
    ['{E4819DDC-4CF0-4025-BD26-5DE82A3E07B7}']
  end;
  TD3D11_Filter = (
    D3D11_FILTER_MIN_MAG_MIP_POINT = 0,
    D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = $1,
    D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = $4,
    D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = $5,
    D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = $10,
    D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = $11,
    D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = $14,
    D3D11_FILTER_MIN_MAG_MIP_LINEAR = $15,
    D3D11_FILTER_ANISOTROPIC = $55,
    D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = $80,
    D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = $81,
    D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = $84,
    D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = $85,
    D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = $90,
    D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = $91,
    D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = $94,
    D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = $95,
    D3D11_FILTER_COMPARISON_ANISOTROPIC = $D5
  );
  PTD3D11_Filter = ^TD3D11_Filter;
  D3D11_FILTER = TD3D11_Filter;
  PD3D11_FILTER = ^TD3D11_Filter;
  TD3D11_FilterType = (
    D3D11_FILTER_TYPE_POINT = 0,
    D3D11_FILTER_TYPE_LINEAR = 1
  );
  PTD3D11_FilterType = ^TD3D11_FilterType;
  D3D11_FILTER_TYPE = TD3D11_FilterType;
  PD3D11_FILTER_TYPE = ^TD3D11_FilterType;
  TD3D11_TextureAddressMode = (
    D3D11_TEXTURE_ADDRESS_WRAP = 1,
    D3D11_TEXTURE_ADDRESS_MIRROR = 2,
    D3D11_TEXTURE_ADDRESS_CLAMP = 3,
    D3D11_TEXTURE_ADDRESS_BORDER = 4,
    D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5
  );
  PTD3D11_TextureAddressMode = ^TD3D11_TextureAddressMode;
  D3D11_TEXTURE_ADDRESS_MODE = TD3D11_TextureAddressMode;
  PD3D11_TEXTURE_ADDRESS_MODE = ^TD3D11_TextureAddressMode;
  TD3D11_SamplerDesc = record
    Filter: TD3D11_Filter;
    AddressU: TD3D11_TextureAddressMode;
    AddressV: TD3D11_TextureAddressMode;
    AddressW: TD3D11_TextureAddressMode;
    MipLODBias: Single;
    MaxAnisotropy: LongWord;
    ComparisonFunc: TD3D11_ComparisonFunc;
    BorderColor: TColorArray;
    MinLOD: Single;
    MaxLOD: Single;
  end;
  PTD3D11_SamplerDesc = ^TD3D11_SamplerDesc;
  D3D11_SAMPLER_DESC = TD3D11_SamplerDesc;
  PD3D11_SAMPLER_DESC = ^TD3D11_SamplerDesc;
  ID3D11SamplerState = interface(ID3D11DeviceChild)
    ['{DA6FEA51-564C-4487-9810-F0D0F9B4E3A5}']
    procedure GetDesc(out Desc: TD3D11_SamplerDesc); stdcall;
  end;
  TD3D11_FormatSupport = (
    D3D11_FORMAT_SUPPORT_BUFFER = $1,
    D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = $2,
    D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = $4,
    D3D11_FORMAT_SUPPORT_SO_BUFFER = $8,
    D3D11_FORMAT_SUPPORT_TEXTURE1D = $10,
    D3D11_FORMAT_SUPPORT_TEXTURE2D = $20,
    D3D11_FORMAT_SUPPORT_TEXTURE3D = $40,
    D3D11_FORMAT_SUPPORT_TEXTURECUBE = $80,
    D3D11_FORMAT_SUPPORT_SHADER_LOAD = $100,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = $200,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = $400,
    D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = $800,
    D3D11_FORMAT_SUPPORT_MIP = $1000,
    D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = $2000,
    D3D11_FORMAT_SUPPORT_RENDER_TARGET = $4000,
    D3D11_FORMAT_SUPPORT_BLENDABLE = $8000,
    D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = $10000,
    D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = $20000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = $40000,
    D3D11_FORMAT_SUPPORT_DISPLAY = $80000,
    D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = $100000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = $200000,
    D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = $400000,
    D3D11_FORMAT_SUPPORT_SHADER_GATHER = $800000,
    D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = $1000000,
    D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = $2000000,
    D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = $4000000
  );
  PTD3D11_FormatSupport = ^TD3D11_FormatSupport;
  D3D11_FORMAT_SUPPORT = TD3D11_FormatSupport;
  PD3D11_FORMAT_SUPPORT = ^TD3D11_FormatSupport;
  TD3D11_FormatSupport2 = (
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = $1,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = $2,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = $4,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = $8,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = $10,
    D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = $20,
    D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = $40,
    D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = $80
  );
  PTD3D11_FormatSupport2 = ^TD3D11_FormatSupport2;
  D3D11_FORMAT_SUPPORT2 = TD3D11_FormatSupport2;
  PD3D11_FORMAT_SUPPORT2 = ^TD3D11_FormatSupport2;
  ID3D11Asynchronous = interface(ID3D11DeviceChild)
    ['{4B35D0CD-1E15-4258-9C98-1B1333F6DD3B}']
    function GetDataSize: LongWord; stdcall;
  end;
  TD3D11_AsyncGetdataFlag = (
    D3D11_ASYNC_GETDATA_DONOTFLUSH = $1
  );
  PTD3D11_AsyncGetdataFlag = ^TD3D11_AsyncGetdataFlag;
  D3D11_ASYNC_GETDATA_FLAG = TD3D11_AsyncGetdataFlag;
  PD3D11_ASYNC_GETDATA_FLAG = ^TD3D11_AsyncGetdataFlag;
  TD3D11_Query = (
    D3D11_QUERY_EVENT = 0,
    D3D11_QUERY_OCCLUSION = D3D11_QUERY_EVENT + 1,
    D3D11_QUERY_TIMESTAMP = D3D11_QUERY_OCCLUSION + 1,
    D3D11_QUERY_TIMESTAMP_DISJOINT = D3D11_QUERY_TIMESTAMP + 1,
    D3D11_QUERY_PIPELINE_STATISTICS = D3D11_QUERY_TIMESTAMP_DISJOINT + 1,
    D3D11_QUERY_OCCLUSION_PREDICATE = D3D11_QUERY_PIPELINE_STATISTICS + 1,
    D3D11_QUERY_SO_STATISTICS = D3D11_QUERY_OCCLUSION_PREDICATE + 1,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE = D3D11_QUERY_SO_STATISTICS + 1,
    D3D11_QUERY_SO_STATISTICS_STREAM0 = D3D11_QUERY_SO_OVERFLOW_PREDICATE + 1,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = D3D11_QUERY_SO_STATISTICS_STREAM0 + 1,
    D3D11_QUERY_SO_STATISTICS_STREAM1 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 + 1,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = D3D11_QUERY_SO_STATISTICS_STREAM1 + 1,
    D3D11_QUERY_SO_STATISTICS_STREAM2 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 + 1,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = D3D11_QUERY_SO_STATISTICS_STREAM2 + 1,
    D3D11_QUERY_SO_STATISTICS_STREAM3 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 + 1,
    D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = D3D11_QUERY_SO_STATISTICS_STREAM3 + 1
  );
  PTD3D11_Query = ^TD3D11_Query;
  D3D11_QUERY = TD3D11_Query;
  PD3D11_QUERY = ^TD3D11_Query;
  TD3D11_QueryMiscFlag = (
    D3D11_QUERY_MISC_PREDICATEHINT = $1
  );
  PTD3D11_QueryMiscFlag = ^TD3D11_QueryMiscFlag;
  D3D11_QUERY_MISC_FLAG = TD3D11_QueryMiscFlag;
  PD3D11_QUERY_MISC_FLAG = ^TD3D11_QueryMiscFlag;
  TD3D11_QueryDesc = record
    Query: TD3D11_Query;
    MiscFlags: LongWord;
  end;
  PTD3D11_QueryDesc = ^TD3D11_QueryDesc;
  D3D11_QUERY_DESC = TD3D11_QueryDesc;
  PD3D11_QUERY_DESC = ^TD3D11_QueryDesc;
  ID3D11Query = interface(ID3D11Asynchronous)
    ['{D6C00747-87B7-425E-B84D-44D108560AFD}']
    procedure GetDesc(out Desc: TD3D11_QueryDesc); stdcall;
  end;
  ID3D11Predicate = interface(ID3D11Query)
    ['{9EB576DD-9F77-4D86-81AA-8BAB5FE490E2}']
  end;
  TD3D11_QueryDataTimestampDisjoint = record
    Frequency: UInt64;
    Disjoint: LongBool;
  end;
  PTD3D11_QueryDataTimestampDisjoint = ^TD3D11_QueryDataTimestampDisjoint;
  D3D11_QUERY_DATA_TIMESTAMP_DISJOINT = TD3D11_QueryDataTimestampDisjoint;
  PD3D11_QUERY_DATA_TIMESTAMP_DISJOINT = ^TD3D11_QueryDataTimestampDisjoint;
  TD3D11_QueryDataPipelineStatistics = record
    IAVertices: UInt64;
    IAPrimitives: UInt64;
    VSInvocations: UInt64;
    GSInvocations: UInt64;
    GSPrimitives: UInt64;
    CInvocations: UInt64;
    CPrimitives: UInt64;
    PSInvocations: UInt64;
    HSInvocations: UInt64;
    DSInvocations: UInt64;
    CSInvocations: UInt64;
  end;
  PTD3D11_QueryDataPipelineStatistics = ^TD3D11_QueryDataPipelineStatistics;
  D3D11_QUERY_DATA_PIPELINE_STATISTICS = TD3D11_QueryDataPipelineStatistics;
  PD3D11_QUERY_DATA_PIPELINE_STATISTICS = ^TD3D11_QueryDataPipelineStatistics;
  TD3D11_QueryDataSoStatistics = record
    NumPrimitivesWritten: UInt64;
    PrimitivesStorageNeeded: UInt64;
  end;
  PTD3D11_QueryDataSoStatistics = ^TD3D11_QueryDataSoStatistics;
  D3D11_QUERY_DATA_SO_STATISTICS = TD3D11_QueryDataSoStatistics;
  PD3D11_QUERY_DATA_SO_STATISTICS = ^TD3D11_QueryDataSoStatistics;
  TD3D11_Counter = (
    D3D11_COUNTER_DEVICE_DEPENDENT_0 = $40000000
  );
  PTD3D11_Counter = ^TD3D11_Counter;
  D3D11_COUNTER = TD3D11_Counter;
  PD3D11_COUNTER = ^TD3D11_Counter;
  TD3D11_CounterType = (
    D3D11_COUNTER_TYPE_FLOAT32 = 0,
    D3D11_COUNTER_TYPE_UINT16 = D3D11_COUNTER_TYPE_FLOAT32 + 1,
    D3D11_COUNTER_TYPE_UINT32 = D3D11_COUNTER_TYPE_UINT16 + 1,
    D3D11_COUNTER_TYPE_UINT64 = D3D11_COUNTER_TYPE_UINT32 + 1
  );
  PTD3D11_CounterType = ^TD3D11_CounterType;
  D3D11_COUNTER_TYPE = TD3D11_CounterType;
  PD3D11_COUNTER_TYPE = ^TD3D11_CounterType;
  TD3D11_CounterDesc = record
    Counter: TD3D11_Counter;
    MiscFlags: LongWord;
  end;
  PTD3D11_CounterDesc = ^TD3D11_CounterDesc;
  D3D11_COUNTER_DESC = TD3D11_CounterDesc;
  PD3D11_COUNTER_DESC = ^TD3D11_CounterDesc;
  TD3D11_CounterInfo = record
    LastDeviceDependentCounter: TD3D11_Counter;
    NumSimultaneousCounters: LongWord;
    NumDetectableParallelUnits: Byte;
  end;
  PTD3D11_CounterInfo = ^TD3D11_CounterInfo;
  D3D11_COUNTER_INFO = TD3D11_CounterInfo;
  PD3D11_COUNTER_INFO = ^TD3D11_CounterInfo;
  ID3D11Counter = interface(ID3D11Asynchronous)
    ['{6E8C49FB-A371-4770-B440-29086022B741}']
    procedure GetDesc(out Desc: TD3D11_CounterDesc); stdcall;
  end;
  TD3D11_StandardMultisampleQualityLevels = (
    D3D11_STANDARD_MULTISAMPLE_PATTERN = Integer($FFFFFFFF),
    D3D11_CENTER_MULTISAMPLE_PATTERN = Integer($FFFFFFFE)
  );
  PTD3D11_StandardMultisampleQualityLevels = ^TD3D11_StandardMultisampleQualityLevels;
  D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = TD3D11_StandardMultisampleQualityLevels;
  PD3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS = ^TD3D11_StandardMultisampleQualityLevels;
  TD3D11_DeviceContextType = (
    D3D11_DEVICE_CONTEXT_IMMEDIATE = 0,
    D3D11_DEVICE_CONTEXT_DEFERRED = D3D11_DEVICE_CONTEXT_IMMEDIATE + 1
  );
  PTD3D11_DeviceContextType = ^TD3D11_DeviceContextType;
  D3D11_DEVICE_CONTEXT_TYPE = TD3D11_DeviceContextType;
  PD3D11_DEVICE_CONTEXT_TYPE = ^TD3D11_DeviceContextType;
  TD3D11_ClassInstanceDesc = record
    InstanceId: LongWord;
    InstanceIndex: LongWord;
    TypeId: LongWord;
    ConstantBuffer: LongWord;
    BaseConstantBufferOffset: LongWord;
    BaseTexture: LongWord;
    BaseSampler: LongWord;
    Created: LongBool;
  end;
  PTD3D11_ClassInstanceDesc = ^TD3D11_ClassInstanceDesc;
  D3D11_CLASS_INSTANCE_DESC = TD3D11_ClassInstanceDesc;
  PD3D11_CLASS_INSTANCE_DESC = ^TD3D11_ClassInstanceDesc;
  ID3D11ClassInstance = interface(ID3D11DeviceChild)
    ['{A6CD7FAA-B0B7-4A2F-9436-8662A65797CB}']
    procedure GetClassLinkage(out Linkage: ID3D11ClassLinkage); stdcall;
    procedure GetDesc(out Desc: TD3D11_ClassInstanceDesc); stdcall;
    procedure GetInstanceName(pInstanceName: PAnsiChar; var BufferLength: SIZE_T); stdcall;
    procedure GetTypeName(pTypeName: PAnsiChar; var BufferLength: SIZE_T); stdcall;
  end;
  ID3D11ClassLinkage = interface(ID3D11DeviceChild)
    ['{DDF57CBA-9543-46E4-A12B-F207A0FE7FED}']
    function GetClassInstance(pClassInstanceName: PAnsiChar; InstanceIndex: LongWord; 
      out Instance: ID3D11ClassInstance): HResult; stdcall;
    function CreateClassInstance(pClassTypeName: PAnsiChar;
      ConstantBufferOffset, ConstantVectorOffset, TextureOffset, SamplerOffset: LongWord;
      out Instance: ID3D11ClassInstance): HResult; stdcall;
  end;
  ID3D11CommandList = interface(ID3D11DeviceChild)
    ['{A24BC4D1-769E-43F7-8013-98FF566C18E2}']
    function GetContextFlags: LongWord; stdcall;
  end;
  TD3D11_Feature = (
    D3D11_FEATURE_THREADING = 0,
    D3D11_FEATURE_DOUBLES = D3D11_FEATURE_THREADING + 1,
    D3D11_FEATURE_FORMAT_SUPPORT = D3D11_FEATURE_DOUBLES + 1,
    D3D11_FEATURE_FORMAT_SUPPORT2 = D3D11_FEATURE_FORMAT_SUPPORT + 1,
    D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = D3D11_FEATURE_FORMAT_SUPPORT2 + 1
  );
  PTD3D11_Feature = ^TD3D11_Feature;
  D3D11_FEATURE = TD3D11_Feature;
  PD3D11_FEATURE = ^TD3D11_Feature;
  TD3D11_FeatureDataThreading = record
    DriverConcurrentCreates: LongBool;
    DriverCommandLists: LongBool;
  end;
  PTD3D11_FeatureDataThreading = ^TD3D11_FeatureDataThreading;
  D3D11_FEATURE_DATA_THREADING = TD3D11_FeatureDataThreading;
  PD3D11_FEATURE_DATA_THREADING = ^TD3D11_FeatureDataThreading;
  TD3D11_FeatureDataDoubles = record
    DoublePrecisionFloatShaderOps: LongBool;
  end;
  PTD3D11_FeatureDataDoubles = ^TD3D11_FeatureDataDoubles;
  D3D11_FEATURE_DATA_DOUBLES = TD3D11_FeatureDataDoubles;
  PD3D11_FEATURE_DATA_DOUBLES = ^TD3D11_FeatureDataDoubles;
  TD3D11_FeatureDataFormatSupport = record
    InFormat: TDXGI_Format;
    OutFormatSupport: LongWord;
  end;
  PTD3D11_FeatureDataFormatSupport = ^TD3D11_FeatureDataFormatSupport;
  D3D11_FEATURE_DATA_FORMAT_SUPPORT = TD3D11_FeatureDataFormatSupport;
  PD3D11_FEATURE_DATA_FORMAT_SUPPORT = ^TD3D11_FeatureDataFormatSupport;
  TD3D11_FeatureDataFormatSupport2 = record
    InFormat: TDXGI_Format;
    OutFormatSupport2: LongWord;
  end;
  PTD3D11_FeatureDataFormatSupport2 = ^TD3D11_FeatureDataFormatSupport2;
  D3D11_FEATURE_DATA_FORMAT_SUPPORT2 = TD3D11_FeatureDataFormatSupport2;
  PD3D11_FEATURE_DATA_FORMAT_SUPPORT2 = ^TD3D11_FeatureDataFormatSupport2;
  TD3D11_FeatureDataD3D10XHardwareOptions = record
    ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: LongBool;
  end;
  PTD3D11_FeatureDataD3D10XHardwareOptions = ^TD3D11_FeatureDataD3D10XHardwareOptions;
  D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = TD3D11_FeatureDataD3D10XHardwareOptions;
  PD3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS = ^TD3D11_FeatureDataD3D10XHardwareOptions;
  ID3D11DeviceContext = interface(ID3D11DeviceChild)
    ['{C0BFA96C-E089-44FB-8EAF-26F8796190DA}']
    procedure VSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure PSSetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure PSSetShader(PixelShader: ID3D11PixelShader; pClassInstances: PID3D11ClassInstance;
      NumClassInstances: LongWord); stdcall;
    procedure PSSetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure VSSetShader(VertexShader: ID3D11VertexShader; pClassInstances: PID3D11ClassInstance; NumClassInstances: LongWord); stdcall;
    procedure DrawIndexed(IndexCount, StartIndexLocation: LongWord; BaseVertexLocation: Integer); stdcall;
    procedure Draw(VertexCount, StartVertexLocation: LongWord); stdcall;
    function Map(Resource: ID3D11Resource; Subresource: LongWord; MapType: TD3D11_Map;
      MapFlags: LongWord; out MappedResource: TD3D11_MappedSubresource): HResult; stdcall;
    procedure Unmap(Resource: ID3D11Resource; Subresource: LongWord); stdcall;
    procedure PSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure IASetInputLayout(InputLayout: ID3D11InputLayout); stdcall;
    procedure IASetVertexBuffers(StartSlot, NumBuffers: LongWord; pVertexBuffers: PID3D11Buffer; 
      pStrides, pOffsets: PLongWord); stdcall;
    procedure IASetIndexBuffer(IndexBuffer: ID3D11Buffer; Format: TDXGI_Format; Offset: LongWord); stdcall;
    procedure DrawIndexedInstanced(IndexCountPerInstance, InstanceCount, StartIndexLocation: LongWord;
      BaseVertexLocation: Integer; StartInstanceLocation: LongWord); stdcall;
    procedure DrawInstanced(VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation: LongWord); stdcall;
    procedure GSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure GSSetShader(Shader: ID3D11GeometryShader; pClassInstances: PID3D11ClassInstance; 
      NumClassInstances: LongWord); stdcall;
    procedure IASetPrimitiveTopology(Topology: TD3D11_PrimitiveTopology); stdcall;
    procedure VSSetShaderResources(StartSlot, NumViews: LongWord;  pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure VSSetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure Begin_(Async: ID3D11Asynchronous); stdcall;
    procedure End_(Async: ID3D11Asynchronous); stdcall;
    function GetData(Async: ID3D11Asynchronous; pData: Pointer; DataSize, GetDataFlags: LongWord): HResult; stdcall;
    procedure SetPredication(Predicate: ID3D11Predicate;  PredicateValue: LongBool); stdcall;
    procedure GSSetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure GSSetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure OMSetRenderTargets(NumViews: LongWord; pRenderTargetViews: PID3D11RenderTargetView; 
      DepthStencilView: ID3D11DepthStencilView); stdcall;
    procedure OMSetRenderTargetsAndUnorderedAccessViews(
      NumRTVs: LongWord; pRenderTargetViews: PID3D11RenderTargetView; DepthStencilView: ID3D11DepthStencilView;
      UAVStartSlot, NumUAVs: LongWord;  pUnorderedAccessViews: PID3D11UnorderedAccessView;
      pUAVInitialCounts: PLongWord); stdcall;
    procedure OMSetBlendState(BlendState: ID3D11BlendState; const BlendFactor: TColorArray; SampleMask: LongWord); stdcall;
    procedure OMSetDepthStencilState(DepthStencilState: ID3D11DepthStencilState;  StencilRef: LongWord); stdcall;
    procedure SOSetTargets(NumBuffers: LongWord; pSOTargets: PID3D11Buffer; pOffsets: PLongWord); stdcall;
    procedure DrawAuto; stdcall;
    procedure DrawIndexedInstancedIndirect(BufferForArgs: ID3D11Buffer;  AlignedByteOffsetForArgs: LongWord); stdcall;
    procedure DrawInstancedIndirect(BufferForArgs: ID3D11Buffer; AlignedByteOffsetForArgs: LongWord); stdcall;
    procedure Dispatch(ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ: LongWord); stdcall;
    procedure DispatchIndirect(BufferForArgs: ID3D11Buffer; AlignedByteOffsetForArgs: LongWord); stdcall;
    procedure RSSetState(RasterizerState: ID3D11RasterizerState); stdcall;
    procedure RSSetViewports(NumViewports: LongWord; pViewports: PTD3D11_Viewport); stdcall;
    procedure RSSetScissorRects(NumRects: LongWord; pRects: PTD3D11_Rect); stdcall;
    procedure CopySubresourceRegion(DstResource: ID3D11Resource; DstSubresource, DstX, DstY, DstZ: LongWord;
      SrcResource: ID3D11Resource;  SrcSubresource: LongWord;  pSrcBox: PTD3D11_Box); stdcall;
    procedure CopyResource(DstResource, SrcResource: ID3D11Resource); stdcall;
    procedure UpdateSubresource(DstResource: ID3D11Resource; DstSubresource: LongWord;
      pDstBox: PTD3D11_Box;  pSrcData: Pointer; SrcRowPitch, SrcDepthPitch: LongWord); stdcall;
    procedure CopyStructureCount(DstBuffer: ID3D11Buffer; DstAlignedByteOffset: LongWord;
      SrcView: ID3D11UnorderedAccessView); stdcall;
    procedure ClearRenderTargetView(RenderTargetView: ID3D11RenderTargetView; const ColorRGBA: TColorArray); stdcall;
    procedure ClearUnorderedAccessViewUint(UnorderedAccessView: ID3D11UnorderedAccessView; const Values: TQuadArray_UInt); stdcall;
    procedure ClearUnorderedAccessViewFloat(UnorderedAccessView: ID3D11UnorderedAccessView; const Values: TQuadArray_Float); stdcall;
    procedure ClearDepthStencilView(DepthStencilView: ID3D11DepthStencilView; ClearFlags: TD3D11_ClearFlag; Depth: Single; Stencil: Byte); stdcall;
    procedure GenerateMips(ShaderResourceView: ID3D11ShaderResourceView); stdcall;
    procedure SetResourceMinLOD(Resource: ID3D11Resource;  MinLOD: Single); stdcall;
    function GetResourceMinLOD(Resource: ID3D11Resource): Single; stdcall;
    procedure ResolveSubresource(DstResource: ID3D11Resource; DstSubresource: LongWord; 
      SrcResource: ID3D11Resource; SrcSubresource: LongWord;  Format: TDXGI_Format); stdcall;
    procedure ExecuteCommandList(CommandList: ID3D11CommandList; RestoreContextState: LongBool); stdcall;
    procedure HSSetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure HSSetShader(HullShader: ID3D11HullShader; pClassInstances: PID3D11ClassInstance; 
      NumClassInstances: LongWord); stdcall;
    procedure HSSetSamplers(StartSlot,NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure HSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure DSSetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure DSSetShader(DomainShader: ID3D11DomainShader; pClassInstances: PID3D11ClassInstance; 
      NumClassInstances: LongWord); stdcall;
    procedure DSSetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure DSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure CSSetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure CSSetUnorderedAccessViews(StartSlot, NumUAVs: LongWord; pUnorderedAccessViews: PID3D11UnorderedAccessView; 
      pUAVInitialCounts: PLongWord); stdcall;
    procedure CSSetShader(ComputeShader: ID3D11ComputeShader;  pClassInstances: PID3D11ClassInstance;  NumClassInstances: LongWord); stdcall;
    procedure CSSetSamplers(StartSlot, NumSamplers: LongWord;  pSamplers: PID3D11SamplerState); stdcall;
    procedure CSSetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure VSGetConstantBuffers(StartSlot, NumBuffers: LongWord;  pConstantBuffers: PID3D11Buffer); stdcall;
    procedure PSGetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure PSGetShader(out PixelShader: ID3D11PixelShader; pClassInstances: PID3D11ClassInstance; pNumClassInstances: PLongWord); stdcall;
    procedure PSGetSamplers(StartSlot, NumSamplers: LongWord;  pSamplers: PID3D11SamplerState); stdcall;
    procedure VSGetShader(out VertexShader: ID3D11VertexShader;  pClassInstances: PID3D11ClassInstance;
      pNumClassInstances: PLongWord); stdcall;
    procedure PSGetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure IAGetInputLayout(out InputLayout: ID3D11InputLayout); stdcall;
    procedure IAGetVertexBuffers(StartSlot, NumBuffers: LongWord; pVertexBuffers: PID3D11Buffer; pStrides, pOffsets: PLongWord); stdcall;
    procedure IAGetIndexBuffer({$IFDEF UsePointersForOptionalOutputInterfaces}pIndexBuffer: PID3D11Buffer{$ELSE}out pIndexBuffer: ID3D11Buffer{$ENDIF};
      Format: PTDXGI_Format; Offset: PLongWord); stdcall;
    procedure GSGetConstantBuffers(StartSlot, NumBuffers: LongWord;  pConstantBuffers: PID3D11Buffer); stdcall;
    procedure GSGetShader(out GeometryShader: ID3D11GeometryShader; pClassInstances: PID3D11ClassInstance;
      pNumClassInstances: PLongWord); stdcall;
    procedure IAGetPrimitiveTopology(out Topology: TD3D11_PrimitiveTopology); stdcall;
    procedure VSGetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure VSGetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure GetPredication({$IFDEF UsePointersForOptionalOutputInterfaces}pPredicate: PID3D11Predicate{$ELSE}out Predicate: ID3D11Predicate{$ENDIF}; 
      pPredicateValue: PLongBool); stdcall;
    procedure GSGetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure GSGetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure OMGetRenderTargets(NumViews: LongWord; pRenderTargetViews: PID3D11RenderTargetView; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDepthStencilView: PID3D11DepthStencilView{$ELSE}out DepthStencilView: ID3D11DepthStencilView{$ENDIF}); stdcall;
    procedure OMGetRenderTargetsAndUnorderedAccessViews(NumRTVs: LongWord; pRenderTargetViews: PID3D11RenderTargetView; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDepthStencilView: PID3D11DepthStencilView{$ELSE}out DepthStencilView: ID3D11DepthStencilView{$ENDIF};
      UAVStartSlot, NumUAVs: LongWord; pUnorderedAccessViews: PID3D11UnorderedAccessView); stdcall;
    procedure OMGetBlendState({$IFDEF UsePointersForOptionalOutputInterfaces}pBlendState: PID3D11BlendState{$ELSE}out BlendState: ID3D11BlendState{$ENDIF}; 
      const BlendFactor: TColorArray;  pSampleMask: PLongWord); stdcall;
    procedure OMGetDepthStencilState({$IFDEF UsePointersForOptionalOutputInterfaces}pDepthStencilState: PID3D11DepthStencilState{$ELSE}out DepthStencilState: ID3D11DepthStencilState{$ENDIF};
      pStencilRef: PLongWord); stdcall;
    procedure SOGetTargets(NumBuffers: LongWord; pSOTargets: PID3D11Buffer); stdcall;
    procedure RSGetState(out RasterizerState: ID3D11RasterizerState); stdcall;
    procedure RSGetViewports(var NumViewports: LongWord; pViewports: PTD3D11_Viewport); stdcall;
    procedure RSGetScissorRects(var NumRects: LongWord; pRects: PTD3D11_Rect); stdcall;
    procedure HSGetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure HSGetShader(out HullShader: ID3D11HullShader; pClassInstances: PID3D11ClassInstance; pNumClassInstances: PLongWord); stdcall;
    procedure HSGetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure HSGetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure DSGetShaderResources(StartSlot, NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure DSGetShader(out DomainShader: ID3D11DomainShader; pClassInstances: PID3D11ClassInstance;
      pNumClassInstances: PLongWord); stdcall;
    procedure DSGetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure DSGetConstantBuffers(StartSlot: LongWord; NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure CSGetShaderResources(StartSlot: LongWord; NumViews: LongWord; pShaderResourceViews: PID3D11ShaderResourceView); stdcall;
    procedure CSGetUnorderedAccessViews(StartSlot, NumUAVs: LongWord;
      pUnorderedAccessViews: PID3D11UnorderedAccessView ); stdcall;
    procedure CSGetShader(out ComputeShader: ID3D11ComputeShader; pClassInstances: PID3D11ClassInstance;
      pNumClassInstances: PLongWord); stdcall;
    procedure CSGetSamplers(StartSlot, NumSamplers: LongWord; pSamplers: PID3D11SamplerState); stdcall;
    procedure CSGetConstantBuffers(StartSlot, NumBuffers: LongWord; pConstantBuffers: PID3D11Buffer); stdcall;
    procedure ClearState; stdcall;
    procedure Flush; stdcall;
    function GetType: TD3D11_DeviceContextType; stdcall;
    function GetContextFlags: LongWord; stdcall;
    function FinishCommandList(RestoreDeferredContextState: LongBool;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pCommandList: PID3D11CommandList{$ELSE}out CommandList: ID3D11CommandList{$ENDIF}): HResult; stdcall;
  end;
  ID3D11Device = interface(IUnknown)
    ['{DB6F6DDB-AC77-4E88-8253-819DF9BBF140}']
    function CreateBuffer(const Desc: TD3D11_BufferDesc; pInitialData: PTD3D11_SubresourceData;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pBuffer: PID3D11Buffer{$ELSE}out Buffer: ID3D11Buffer{$ENDIF}): HResult; stdcall;
    function CreateTexture1D(const Desc: TD3D11_Texture1DDesc; pInitialData: PTD3D11_SubresourceData; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pTexture1D: PID3D11Texture1D{$ELSE}out Texture1D: ID3D11Texture1D{$ENDIF}): HResult; stdcall;
    function CreateTexture2D(const Desc: TD3D11_Texture2DDesc; pInitialData: PTD3D11_SubresourceData; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pTexture2D: PID3D11Texture2D{$ELSE}out Texture2D: ID3D11Texture2D{$ENDIF}): HResult; stdcall;
    function CreateTexture3D(const Desc: TD3D11_Texture3DDesc;pInitialData: PTD3D11_SubresourceData; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pTexture3D: PID3D11Texture3D{$ELSE}out Texture3D: ID3D11Texture3D{$ENDIF}): HResult; stdcall;
    function CreateShaderResourceView(Resource: ID3D11Resource; pDesc: PTD3D11_ShaderResourceViewDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pSRView: PID3D11ShaderResourceView{$ELSE}out SRView: ID3D11ShaderResourceView{$ENDIF}): HResult; stdcall;
    function CreateUnorderedAccessView(Resource: ID3D11Resource; pDesc: PTD3D11_UnorderedAccessViewDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pUAView: PID3D11UnorderedAccessView{$ELSE}out UAView: ID3D11UnorderedAccessView{$ENDIF}): HResult; stdcall;
    function CreateRenderTargetView(Resource: ID3D11Resource; pDesc: PTD3D11_RenderTargetViewDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pRTView: PID3D11RenderTargetView{$ELSE}out RTView: ID3D11RenderTargetView{$ENDIF}): HResult; stdcall;
    function CreateDepthStencilView(Resource: ID3D11Resource; pDesc: PTD3D11_DepthStencilViewDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDepthStencilView: PID3D11DepthStencilView{$ELSE}out DepthStencilView: ID3D11DepthStencilView{$ENDIF}): HResult; stdcall;
    function CreateInputLayout(pInputElementDescs: PTD3D11_InputElementDesc; NumElements: LongWord; 
      pShaderBytecodeWithInputSignature: Pointer; BytecodeLength: SIZE_T; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pInputLayout: PID3D11InputLayout{$ELSE}out InputLayout: ID3D11InputLayout{$ENDIF}): HResult; stdcall;
    function CreateVertexShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pVertexShader: PID3D11VertexShader{$ELSE}out VertexShader: ID3D11VertexShader{$ENDIF}): HResult; stdcall;
    function CreateGeometryShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pGeometryShader: PID3D11GeometryShader{$ELSE}out GeometryShader: ID3D11GeometryShader{$ENDIF}): HResult; stdcall;
    function CreateGeometryShaderWithStreamOutput(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; 
      pSODeclaration: PTD3D11_SoDeclarationEntry; NumEntries: LongWord; pBufferStrides: PLongWord; 
      NumStrides: LongWord; RasterizedStream: LongWord; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pGeometryShader: PID3D11GeometryShader{$ELSE}out GeometryShader: ID3D11GeometryShader{$ENDIF}): HResult; stdcall;
    function CreatePixelShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pPixelShader: PID3D11PixelShader{$ELSE}out PixelShader: ID3D11PixelShader{$ENDIF}): HResult; stdcall;
    function CreateHullShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pHullShader: PID3D11HullShader{$ELSE}out HullShader: ID3D11HullShader{$ENDIF}): HResult; stdcall;
    function CreateDomainShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDomainShader: PID3D11DomainShader{$ELSE}out DomainShader: ID3D11DomainShader{$ENDIF}): HResult; stdcall;
    function CreateComputeShader(pShaderBytecode: Pointer; BytecodeLength: SIZE_T; ClassLinkage: ID3D11ClassLinkage; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pComputeShader: PID3D11ComputeShader{$ELSE}out ComputeShader: ID3D11ComputeShader{$ENDIF}): HResult; stdcall;
    function CreateClassLinkage(out Linkage: ID3D11ClassLinkage): HResult; stdcall;
    function CreateBlendState(const BlendStateDesc: TD3D11_BlendDesc;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pBlendState: PID3D11BlendState{$ELSE}out BlendState: ID3D11BlendState{$ENDIF}): HResult; stdcall;
    function CreateDepthStencilState(const DepthStencilDesc: TD3D11_DepthStencilDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDepthStencilState: PID3D11DepthStencilState{$ELSE}out DepthStencilState: ID3D11DepthStencilState{$ENDIF}): HResult; stdcall;
    function CreateRasterizerState(const RasterizerDesc: TD3D11_RasterizerDesc;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pRasterizerState: PID3D11RasterizerState{$ELSE}out RasterizerState: ID3D11RasterizerState{$ENDIF}): HResult; stdcall;
    function CreateSamplerState(const SamplerDesc: TD3D11_SamplerDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pSamplerState: PID3D11SamplerState{$ELSE}out SamplerState: ID3D11SamplerState{$ENDIF}): HResult; stdcall;
    function CreateQuery(const QueryDesc: TD3D11_QueryDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pQuery: PID3D11Query{$ELSE}out Query: ID3D11Query{$ENDIF}): HResult; stdcall;
    function CreatePredicate(const PredicateDesc: TD3D11_QueryDesc; 
      {$IFDEF UsePointersForOptionalOutputInterfaces}pPredicate: PID3D11Predicate{$ELSE}out Predicate: ID3D11Predicate{$ENDIF}): HResult; stdcall;
    function CreateCounter(const CounterDesc: TD3D11_CounterDesc;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pCounter: PID3D11Counter{$ELSE}out Counter: ID3D11Counter{$ENDIF}): HResult; stdcall;
    function CreateDeferredContext(ContextFlags: LongWord;
      {$IFDEF UsePointersForOptionalOutputInterfaces}pDeferredContext: PID3D11DeviceContext{$ELSE}out DeferredContext: ID3D11DeviceContext{$ENDIF}): HResult; stdcall;
    function OpenSharedResource(hResource: THANDLE; const ReturnedInterface: TGUID;
      out pResource: Pointer): HResult; stdcall;
    function CheckFormatSupport(Format: TDXGI_Format; out FormatSupport: LongWord): HResult; stdcall;
    function CheckMultisampleQualityLevels(Format: TDXGI_Format; SampleCount: LongWord;
      out NumQualityLevels: LongWord): HResult; stdcall;
    procedure CheckCounterInfo(out CounterInfo: TD3D11_CounterInfo); stdcall;
    function CheckCounter(const Desc: TD3D11_CounterDesc;out _Type: TD3D11_CounterType; 
      out ActiveCounters: LongWord; Name: PAnsiChar; pNameLength: PLongWord;
      Units: PAnsiChar; pUnitsLength: PLongWord; Description: PAnsiChar; 
      pDescriptionLength: PLongWord): HResult; stdcall;
    function CheckFeatureSupport(Feature: TD3D11_Feature; pFeatureSupportData: Pointer; 
      FeatureSupportDataSize: LongWord): HResult; stdcall;
    function GetPrivateData(const Guid: TGUID; var DataSize: LongWord; pData: Pointer): HResult; stdcall;
    function SetPrivateData(const Guid: TGUID; DataSize: LongWord; pData: Pointer): HResult; stdcall;
    function SetPrivateDataInterface(const Guid: TGUID; Data: IUnknown): HResult; stdcall;
    function GetFeatureLevel: TD3D_FeatureLevel; stdcall;
    function GetCreationFlags: LongWord; stdcall;
    function GetDeviceRemovedReason: HResult; stdcall;
    procedure GetImmediateContext(out ImmediateContext: ID3D11DeviceContext); stdcall;
    function SetExceptionMode(RaiseFlags: LongWord): HResult; stdcall;
    function GetExceptionMode: LongWord; stdcall;
  end;
  TD3D11_CreateDeviceFlag = (
    D3D11_CREATE_DEVICE_SINGLETHREADED = $1,
    D3D11_CREATE_DEVICE_DEBUG = $2,
    D3D11_CREATE_DEVICE_SWITCH_TO_REF = $4,
    D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = $8,
    D3D11_CREATE_DEVICE_BGRA_SUPPORT = $20
  );
  PTD3D11_CreateDeviceFlag = ^TD3D11_CreateDeviceFlag;
  D3D11_CREATE_DEVICE_FLAG = TD3D11_CreateDeviceFlag;
  PD3D11_CREATE_DEVICE_FLAG = ^TD3D11_CreateDeviceFlag;
  
{$IFDEF UseRuntimeLinking}var D3D11CreateDevice: {$ENDIF}function{$IFNDEF UseRuntimeLinking}D3D11CreateDevice{$ENDIF}(
  Adapter: IDXGIAdapter;  DriverType: TD3D_DriverType; Software: HMODULE; Flags: LongWord;
  pFeatureLevels: PTD3D_FeatureLevel;  FeatureLevels: LongWord; SDKVersion: LongWord;
  {$IFDEF UsePointersForOptionalOutputInterfaces}pDevice: PID3D11Device{$ELSE}out Device: ID3D11Device{$ENDIF};
  pFeatureLevel: PTD3D_FeatureLevel; 
  {$IFDEF UsePointersForOptionalOutputInterfaces}pImmediateContext: PID3D11DeviceContext{$ELSE}out ImmediateContext: ID3D11DeviceContext{$ENDIF}): HResult; stdcall; {$IFNDEF UseRuntimeLinking}external DLL_D3D11;{$ENDIF}

{$IFDEF UseRuntimeLinking}var D3D11CreateDeviceAndSwapChain: {$ENDIF}function{$IFNDEF UseRuntimeLinking}D3D11CreateDeviceAndSwapChain{$ENDIF} (
  Adapter: IDXGIAdapter; DriverType: TD3D_DriverType; Software: HMODULE; Flags: LongWord;
  pFeatureLevels: PTD3D_FeatureLevel; NumFeatureLevels, SDKVersion: LongWord; pSwapChainDesc: PTDXGI_SwapChainDesc;
  {$IFDEF UsePointersForOptionalOutputInterfaces}pSwapChain: PIDXGISwapChain{$ELSE}out SwapChain: IDXGISwapChain{$ENDIF}; 
  {$IFDEF UsePointersForOptionalOutputInterfaces}pDevice: PID3D11Device{$ELSE}out Device: ID3D11Device{$ENDIF};
  pFeatureLevel: PTD3D_FeatureLevel; 
  {$IFDEF UsePointersForOptionalOutputInterfaces}pImmediateContext: PID3D11DeviceContext{$ELSE}out ImmediateContext: ID3D11DeviceContext{$ENDIF}): HResult; stdcall; {$IFNDEF UseRuntimeLinking}external DLL_D3D11;{$ENDIF}

///////////////////////////////////////////////////////////////////////////////
// End "D3D11.h"
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Begin "D3D11Shader.h"
///////////////////////////////////////////////////////////////////////////////
function D3D11_SHVER_GET_TYPE(Version: LongWord): LongWord;
function D3D11_SHVER_GET_MAJOR(Version: LongWord): LongWord;
function D3D11_SHVER_GET_MINOR(Version: LongWord): LongWord;

type
  TD3D11_ShaderVersionType = (
    D3D11_SHVER_PIXEL_SHADER = 0,
    D3D11_SHVER_VERTEX_SHADER = 1,
    D3D11_SHVER_GEOMETRY_SHADER = 2,
    D3D11_SHVER_HULL_SHADER = 3,
    D3D11_SHVER_DOMAIN_SHADER = 4,
    D3D11_SHVER_COMPUTE_SHADER = 5
  );
  PTD3D11_ShaderVersionType = ^TD3D11_ShaderVersionType;
  D3D11_SHADER_VERSION_TYPE = TD3D11_ShaderVersionType;
  PD3D11_SHADER_VERSION_TYPE = ^TD3D11_ShaderVersionType;
  TD3D11_ResourceReturnType = D3D_RESOURCE_RETURN_TYPE;
  PTD3D11_ResourceReturnType = ^TD3D11_ResourceReturnType;
  D3D11_RESOURCE_RETURN_TYPE = TD3D11_ResourceReturnType;
  PD3D11_RESOURCE_RETURN_TYPE = ^TD3D11_ResourceReturnType;
  TD3D11_CBufferType = D3D_CBUFFER_TYPE;
  PTD3D11_CBufferType = ^TD3D11_CBufferType;
  D3D11_CBUFFER_TYPE = TD3D11_CBufferType;
  PD3D11_CBUFFER_TYPE = ^TD3D11_CBufferType;
  TD3D11_SignatureParameterDesc = record
    SemanticName: PAnsiChar;
    SemanticIndex: LongWord;
    _Register: LongWord;
    SystemValueType: TD3D_Name;
    ComponentType: TD3D_RegisterComponentType;
    Mask: Byte;
    ReadWriteMask: Byte;
    Stream: LongWord;
  end;
  PTD3D11_SignatureParameterDesc = ^TD3D11_SignatureParameterDesc;
  D3D11_SIGNATURE_PARAMETER_DESC = TD3D11_SignatureParameterDesc;
  PD3D11_SIGNATURE_PARAMETER_DESC = ^TD3D11_SignatureParameterDesc;
  TD3D11_ShaderBufferDesc = record
    Name: PAnsiChar;
    _Type: TD3D_CBufferType;
    Variables: LongWord;
    Size: LongWord;
    Flags: LongWord;
  end;
  PTD3D11_ShaderBufferDesc = ^TD3D11_ShaderBufferDesc;
  D3D11_SHADER_BUFFER_DESC = TD3D11_ShaderBufferDesc;
  PD3D11_SHADER_BUFFER_DESC = ^TD3D11_ShaderBufferDesc;
  TD3D11_ShaderVariableDesc = record
    Name: PAnsiChar;
    StartOffset: LongWord;
    Size: LongWord;
    Flags: LongWord;
    DefaultValue: Pointer;
    StartTexture: LongWord;
    TextureSize: LongWord;
    StartSampler: LongWord;
    SamplerSize: LongWord;
  end;
  PTD3D11_ShaderVariableDesc = ^TD3D11_ShaderVariableDesc;
  D3D11_SHADER_VARIABLE_DESC = TD3D11_ShaderVariableDesc;
  PD3D11_SHADER_VARIABLE_DESC = ^TD3D11_ShaderVariableDesc;
  TD3D11_ShaderTypeDesc = record
    _Class: TD3D_ShaderVariableClass;
    _Type: TD3D_ShaderVariableType;
    Rows: LongWord;
    Columns: LongWord;
    Elements: LongWord;
    Members: LongWord;
    Offset: LongWord;
    Name: PAnsiChar;
  end;
  PTD3D11_ShaderTypeDesc = ^TD3D11_ShaderTypeDesc;
  D3D11_SHADER_TYPE_DESC = TD3D11_ShaderTypeDesc;
  PD3D11_SHADER_TYPE_DESC = ^TD3D11_ShaderTypeDesc;
  TD3D11_TessellatorDomain = D3D_TESSELLATOR_DOMAIN;
  PTD3D11_TessellatorDomain = ^TD3D11_TessellatorDomain;
  D3D11_TESSELLATOR_DOMAIN = TD3D11_TessellatorDomain;
  PD3D11_TESSELLATOR_DOMAIN = ^TD3D11_TessellatorDomain;
  TD3D11_TessellatorPartitioning = D3D_TESSELLATOR_PARTITIONING;
  PTD3D11_TessellatorPartitioning = ^TD3D11_TessellatorPartitioning;
  D3D11_TESSELLATOR_PARTITIONING = TD3D11_TessellatorPartitioning;
  PD3D11_TESSELLATOR_PARTITIONING = ^TD3D11_TessellatorPartitioning;
  TD3D11_TessellatorOutputPrimitive = D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
  PTD3D11_TessellatorOutputPrimitive = ^TD3D11_TessellatorOutputPrimitive;
  D3D11_TESSELLATOR_OUTPUT_PRIMITIVE = TD3D11_TessellatorOutputPrimitive;
  PD3D11_TESSELLATOR_OUTPUT_PRIMITIVE = ^TD3D11_TessellatorOutputPrimitive;
  
  TD3D11_ShaderDesc = record
    Version: LongWord;
    Creator: PAnsiChar;
    Flags: LongWord;
    ConstantBuffers: LongWord;
    BoundResources: LongWord;
    InputParameters: LongWord;
    OutputParameters: LongWord;
    InstructionCount: LongWord;
    TempRegisterCount: LongWord;
    TempArrayCount: LongWord;
    DefCount: LongWord;
    DclCount: LongWord;
    TextureNormalInstructions: LongWord;
    TextureLoadInstructions: LongWord;
    TextureCompInstructions: LongWord;
    TextureBiasInstructions: LongWord;
    TextureGradientInstructions: LongWord;
    FloatInstructionCount: LongWord;
    IntInstructionCount: LongWord;
    UintInstructionCount: LongWord;
    StaticFlowControlCount: LongWord;
    DynamicFlowControlCount: LongWord;
    MacroInstructionCount: LongWord;
    ArrayInstructionCount: LongWord;
    CutInstructionCount: LongWord;
    EmitInstructionCount: LongWord;
    GSOutputTopology: TD3D_PrimitiveTopology;
    GSMaxOutputVertexCount: LongWord;
    InputPrimitive: TD3D_Primitive;
    PatchConstantParameters: LongWord;
    GSInstanceCount: LongWord;
    NumControlPoints: LongWord;
    HSOutputPrimitive: TD3D_TessellatorOutputPrimitive;
    HSPartitioning: TD3D_TessellatorPartitioning;
    TessellatorDomain: TD3D_TessellatorDomain;
    NumBarrierInstructions: LongWord;
    NumInterlockedInstructions: LongWord;
    NumTextureStoreInstructions: LongWord;
  end;
  PTD3D11_ShaderDesc = ^TD3D11_ShaderDesc;
  D3D11_SHADER_DESC = TD3D11_ShaderDesc;
  PD3D11_SHADER_DESC = ^TD3D11_ShaderDesc;
  TD3D11_ShaderInputBindDesc = record
    Name: PAnsiChar;
    _Type: TD3D_ShaderInputType;
    BindPoint: LongWord;
    BindCount: LongWord;
    Flags: LongWord;
    ReturnType: TD3D_ResourceReturnType;
    Dimension: TD3D_SRVDimension;
    NumSamples: LongWord;
  end;
  PTD3D11_ShaderInputBindDesc = ^TD3D11_ShaderInputBindDesc;
  D3D11_SHADER_INPUT_BIND_DESC = TD3D11_ShaderInputBindDesc;
  PD3D11_SHADER_INPUT_BIND_DESC = ^TD3D11_ShaderInputBindDesc;
  ID3D11ShaderReflectionType = class;
  PID3D11ShaderReflectionType = ^ID3D11ShaderReflectionType;
  ID3D11ShaderReflectionVariable = class;
  PID3D11ShaderReflectionVariable = ^ID3D11ShaderReflectionVariable;
  ID3D11ShaderReflectionConstantBuffer = class;
  PID3D11ShaderReflectionConstantBuffer = ^ID3D11ShaderReflectionConstantBuffer;
  ID3D11ShaderReflection = interface;
  PID3D11ShaderReflection = ^ID3D11ShaderReflection;
  
  ID3D11ShaderReflectionType = class // Cannot use 'interface' as the QueryInterface, AddRef and Release methods are missing.
    function GetDesc(out Desc: TD3D11_ShaderTypeDesc): HResult; virtual; stdcall; abstract;
    function GetMemberTypeByIndex(Index: LongWord): ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function GetMemberTypeByName(Name: PAnsiChar): ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function GetMemberTypeName(Index: LongWord): PAnsiChar; virtual; stdcall; abstract;
    function IsEqual(_Type: ID3D11ShaderReflectionType): HResult; virtual; stdcall; abstract;
    function GetSubType: ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function GetBaseClass: ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function GetNumInterfaces: LongWord; virtual; stdcall; abstract;
    function GetInterfaceByIndex(Index: LongWord): ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function IsOfType(_Type: ID3D11ShaderReflectionType): HResult; virtual; stdcall; abstract;
    function ImplementsInterface(Base: ID3D11ShaderReflectionType): HResult; virtual; stdcall; abstract;
  end;
  ID3D11ShaderReflectionVariable = class // Cannot use 'interface' as the QueryInterface, AddRef and Release methods are missing.
    function GetDesc(out Desc: TD3D11_ShaderVariableDesc): HResult; virtual; stdcall; abstract;
    function GetType: ID3D11ShaderReflectionType; virtual; stdcall; abstract;
    function GetBuffer: ID3D11ShaderReflectionConstantBuffer; virtual; stdcall; abstract;
    function GetInterfaceSlot(ArrayIndex: LongWord): LongWord; virtual; stdcall; abstract;
  end;
  ID3D11ShaderReflectionConstantBuffer = class // Cannot use 'interface' as the QueryInterface, AddRef and Release methods are missing.
    function GetDesc(pDesc: PTD3D11_ShaderBufferDesc): HResult; virtual; stdcall; abstract;
    function GetVariableByIndex(Index: LongWord): ID3D11ShaderReflectionVariable; virtual; stdcall; abstract;
    function GetVariableByName(Name: PAnsiChar): ID3D11ShaderReflectionVariable; virtual; stdcall; abstract;
  end;
  ID3D11ShaderReflection = interface(IUnknown)
    ['{0A233719-3960-4578-9D7C-203B8B1D9CC1}']
    function GetDesc(out Desc: TD3D11_ShaderDesc): HResult; stdcall;
    function GetConstantBufferByIndex(Index: LongWord): ID3D11ShaderReflectionConstantBuffer; stdcall;
    function GetConstantBufferByName(Name: PAnsiChar): ID3D11ShaderReflectionConstantBuffer; stdcall;
    function GetResourceBindingDesc(ResourceIndex: LongWord; out Desc: TD3D11_ShaderInputBindDesc): HResult; stdcall;
    function GetInputParameterDesc(ParameterIndex: LongWord; out Desc: TD3D11_SignatureParameterDesc): HResult; stdcall;
    function GetOutputParameterDesc(ParameterIndex: LongWord; out Desc: TD3D11_SignatureParameterDesc): HResult; stdcall;
    function GetPatchConstantParameterDesc(ParameterIndex: LongWord; out Desc: TD3D11_SignatureParameterDesc): HResult; stdcall;
    function GetVariableByName(Name: PAnsiChar): ID3D11ShaderReflectionVariable; stdcall;
    function GetResourceBindingDescByName(Name: PAnsiChar; out Desc: TD3D11_ShaderInputBindDesc): HResult; stdcall;
    function GetMovInstructionCount: LongWord; stdcall;
    function GetMovcInstructionCount: LongWord; stdcall;
    function GetConversionInstructionCount: LongWord; stdcall;
    function GetBitwiseInstructionCount: LongWord; stdcall;
    function GetGSInputPrimitive: TD3D_Primitive; stdcall;
    function IsSampleFrequencyShader: LongBool; stdcall;
    function GetNumInterfaceSlots: LongWord; stdcall;
    function GetMinFeatureLevel(out Level: TD3D_FeatureLevel): HResult; stdcall;
    function GetThreadGroupSize(pSizeX: PLongWord; pSizeY: PLongWord; pSizeZ: PLongWord): LongWord; stdcall;
  end;
///////////////////////////////////////////////////////////////////////////////
// End "D3D11Shader.h"
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Begin "D3D11SDKLayers.h"
///////////////////////////////////////////////////////////////////////////////
const
  D3D11_SDK_LAYERS_VERSION = 1;
  D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP = $1;
  D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP = $2;
  D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP = $4;
  D3D11_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT = 1024;
  D3D11_REGKEY_PATH = 'Software\Microsoft\Direct3D';
  D3D11_MUTE_DEBUG_OUTPUT = 'MuteDebugOutput';
  D3D11_ENABLE_BREAK_ON_MESSAGE = 'EnableBreakOnMessage';
  D3D11_INFOQUEUE_STORAGE_FILTER_OVERRIDE = 'InfoQueueStorageFilterOverride';
  D3D11_MUTE_CATEGORY = 'Mute_CATEGORY_%s';
  D3D11_MUTE_SEVERITY = 'Mute_SEVERITY_%s';
  D3D11_MUTE_ID_STRING = 'Mute_ID_%s';
  D3D11_MUTE_ID_DECIMAL = 'Mute_ID_%d';
  D3D11_UNMUTE_SEVERITY_INFO = 'Unmute_SEVERITY_INFO';
  D3D11_BREAKON_CATEGORY = 'BreakOn_CATEGORY_%s';
  D3D11_BREAKON_SEVERITY = 'BreakOn_SEVERITY_%s';
  D3D11_BREAKON_ID_STRING = 'BreakOn_ID_%s';
  D3D11_BREAKON_ID_DECIMAL = 'BreakOn_ID_%d';
  D3D11_APPSIZE_STRING = 'Size';
  D3D11_APPNAME_STRING = 'Name';
  
type
  ID3D11Debug = interface;
  PID3D11Debug = ^ID3D11Debug;
  ID3D11SwitchToRef = interface;
  PID3D11SwitchToRef = ^ID3D11SwitchToRef;
  ID3D11InfoQueue = interface;
  PID3D11InfoQueue = ^ID3D11InfoQueue;
  
  TD3D11_RldoFlags = (
    D3D11_RLDO_SUMMARY = $1,
    D3D11_RLDO_DETAIL = $2
  );
  PTD3D11_RldoFlags = ^TD3D11_RldoFlags;
  D3D11_RLDO_FLAGS = TD3D11_RldoFlags;
  PD3D11_RLDO_FLAGS = ^TD3D11_RldoFlags;

  ID3D11Debug = interface(IUnknown)
    ['{79CF2233-7536-4948-9D36-1E4692DC5760}']
    function SetFeatureMask(Mask: LongWord): HResult; stdcall;
    function GetFeatureMask: LongWord; stdcall;
    function SetPresentPerRenderOpDelay(Milliseconds: LongWord): HResult; stdcall;
    function GetPresentPerRenderOpDelay: LongWord; stdcall;
    function SetSwapChain(SwapChain: IDXGISwapChain): HResult; stdcall;
    function GetSwapChain(out SwapChain: IDXGISwapChain): HResult; stdcall;
    function ValidateContext(Context: ID3D11DeviceContext): HResult; stdcall;
    function ReportLiveDeviceObjects(Flags: TD3D11_RldoFlags): HResult; stdcall;
    function ValidateContextForDispatch(Context: ID3D11DeviceContext): HResult; stdcall;
  end;
  ID3D11SwitchToRef = interface(IUnknown)
    ['{1EF337E3-58E7-4F83-A692-DB221F5ED47E}']
    function SetUseRef(UseRef: LongBool): LongBool; stdcall;
    function GetUseRef: LongBool; stdcall;
  end;
  
  TD3D11_MessageCategory = (
    D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0,
    D3D11_MESSAGE_CATEGORY_MISCELLANEOUS = D3D11_MESSAGE_CATEGORY_APPLICATION_DEFINED + 1,
    D3D11_MESSAGE_CATEGORY_INITIALIZATION = D3D11_MESSAGE_CATEGORY_MISCELLANEOUS + 1,
    D3D11_MESSAGE_CATEGORY_CLEANUP = D3D11_MESSAGE_CATEGORY_INITIALIZATION + 1,
    D3D11_MESSAGE_CATEGORY_COMPILATION = D3D11_MESSAGE_CATEGORY_CLEANUP + 1,
    D3D11_MESSAGE_CATEGORY_STATE_CREATION = D3D11_MESSAGE_CATEGORY_COMPILATION + 1,
    D3D11_MESSAGE_CATEGORY_STATE_SETTING = D3D11_MESSAGE_CATEGORY_STATE_CREATION + 1,
    D3D11_MESSAGE_CATEGORY_STATE_GETTING = D3D11_MESSAGE_CATEGORY_STATE_SETTING + 1,
    D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = D3D11_MESSAGE_CATEGORY_STATE_GETTING + 1,
    D3D11_MESSAGE_CATEGORY_EXECUTION = D3D11_MESSAGE_CATEGORY_RESOURCE_MANIPULATION + 1
  );
  PTD3D11_MessageCategory = ^TD3D11_MessageCategory;
  D3D11_MESSAGE_CATEGORY = TD3D11_MessageCategory;
  PD3D11_MESSAGE_CATEGORY = ^TD3D11_MessageCategory;
  TD3D11_MessageSeverity = (
    D3D11_MESSAGE_SEVERITY_CORRUPTION = 0,
    D3D11_MESSAGE_SEVERITY_ERROR = D3D11_MESSAGE_SEVERITY_CORRUPTION + 1,
    D3D11_MESSAGE_SEVERITY_WARNING = D3D11_MESSAGE_SEVERITY_ERROR + 1,
    D3D11_MESSAGE_SEVERITY_INFO = D3D11_MESSAGE_SEVERITY_WARNING + 1
  );
  PTD3D11_MessageSeverity = ^TD3D11_MessageSeverity;
  D3D11_MESSAGE_SEVERITY = TD3D11_MessageSeverity;
  PD3D11_MESSAGE_SEVERITY = ^TD3D11_MessageSeverity;
  TD3D11_MessageID = (
    D3D11_MESSAGE_ID_UNKNOWN = 0,
    D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD = D3D11_MESSAGE_ID_UNKNOWN + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD = D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETS_HAZARD + 1,
    D3D11_MESSAGE_ID_STRING_FROM_APPLICATION = D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_HAZARD + 1,
    D3D11_MESSAGE_ID_CORRUPTED_THIS = D3D11_MESSAGE_ID_STRING_FROM_APPLICATION + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 = D3D11_MESSAGE_ID_CORRUPTED_THIS + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER1 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER2 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER3 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER4 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER5 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER6 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER7 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER8 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER9 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER10 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER11 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER12 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER13 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER14 + 1,
    D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING = D3D11_MESSAGE_ID_CORRUPTED_PARAMETER15 + 1,
    D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = D3D11_MESSAGE_ID_CORRUPTED_MULTITHREADING + 1,
    D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_IASETINPUTLAYOUT_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_IASETINDEXBUFFER_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_VSSETSHADER_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_VSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_VSSETSAMPLERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_GSSETSHADER_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_GSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_GSSETSAMPLERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_SOSETTARGETS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_PSSETSHADER_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_PSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_PSSETSAMPLERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_RSSETSTATE_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_OMSETBLENDSTATE_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_OMSETDEPTHSTENCILSTATE_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = D3D11_MESSAGE_ID_SETPREDICATION_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = D3D11_MESSAGE_ID_GETPRIVATEDATA_MOREDATA + 1,
    D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA + 1,
    D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN + 1,
    D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = D3D11_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSAMPLES + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDUSAGE + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_UNRECOGNIZEDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDINITIALDATA + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMIPLEVELS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC = D3D11_MESSAGE_ID_CREATEBUFFER_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS = D3D11_MESSAGE_ID_CREATEBUFFER_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDCONSTANTBUFFERBINDINGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATEBUFFER_LARGEALLOCATION + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNSUPPORTEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDSAMPLES + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDUSAGE + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_UNRECOGNIZEDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDINITIALDATA + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMIPLEVELS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE1D_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC = D3D11_MESSAGE_ID_CREATETEXTURE1D_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION = D3D11_MESSAGE_ID_CREATETEXTURE1D_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE1D_LARGEALLOCATION + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNSUPPORTEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDSAMPLES + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDUSAGE + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_UNRECOGNIZEDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDINITIALDATA + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMIPLEVELS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE2D_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC = D3D11_MESSAGE_ID_CREATETEXTURE2D_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION = D3D11_MESSAGE_ID_CREATETEXTURE2D_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE2D_LARGEALLOCATION + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNSUPPORTEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDSAMPLES + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDUSAGE + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_UNRECOGNIZEDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDCPUACCESSFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDBINDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDINITIALDATA + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMIPLEVELS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATETEXTURE3D_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC = D3D11_MESSAGE_ID_CREATETEXTURE3D_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION = D3D11_MESSAGE_ID_CREATETEXTURE3D_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATETEXTURE3D_LARGEALLOCATION + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT + 1,
    D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX + 1,
    D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE + 1,
    D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC + 1,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC = D3D11_MESSAGE_ID_CREATEBLENDSTATE_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC + 1,
    D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDQUERY + 1,
    D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDMISCFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_UNEXPECTEDMISCFLAG + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED = D3D11_MESSAGE_ID_CREATEQUERYORPREDICATE_NULLDESC + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED + 1,
    D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_OFFSET_TOO_LARGE + 1,
    D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID = D3D11_MESSAGE_ID_IASETINDEXBUFFER_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_FORMAT_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_TOO_LARGE + 1,
    D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_IASETINDEXBUFFER_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_VSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_VSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_VSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_VSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_GSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_GSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_GSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_GSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_SOSETTARGETS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_SOSETTARGETS_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_PSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_PSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_PSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT = D3D11_MESSAGE_ID_DEVICE_PSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT + 1,
    D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR + 1,
    D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH = D3D11_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH + 1,
    D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH + 1,
    D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_IAGETVERTEXBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_VSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_VSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_VSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_GSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_GSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_GSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_SOGETTARGETS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_PSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_PSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY = D3D11_MESSAGE_ID_DEVICE_PSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY = D3D11_MESSAGE_ID_DEVICE_RSGETVIEWPORTS_VIEWPORTS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID = D3D11_MESSAGE_ID_DEVICE_RSGETSCISSORRECTS_RECTS_EMPTY + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE = D3D11_MESSAGE_ID_DEVICE_GENERATEMIPS_RESOURCE_INVALID + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESUBRESOURCE + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCEBOX + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCE + 1,
    D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDDESTINATIONSTATE + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE = D3D11_MESSAGE_ID_COPYSUBRESOURCEREGION_INVALIDSOURCESTATE + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE + 1,
    D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE = D3D11_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE + 1,
    D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX + 1,
    D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID = D3D11_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE + 1,
    D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID + 1,
    D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID + 1,
    D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE + 1,
    D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED + 1,
    D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED = D3D11_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED + 1,
    D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED = D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED + 1,
    D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS = D3D11_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED + 1,
    D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS + 1,
    D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE = D3D11_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_REF_THREADING_MODE = D3D11_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE + 1,
    D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION = D3D11_MESSAGE_ID_REF_THREADING_MODE + 1,
    D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION = D3D11_MESSAGE_ID_REF_UMDRIVER_EXCEPTION + 1,
    D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION = D3D11_MESSAGE_ID_REF_KMDRIVER_EXCEPTION + 1,
    D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE = D3D11_MESSAGE_ID_REF_HARDWARE_EXCEPTION + 1,
    D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER = D3D11_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE + 1,
    D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY = D3D11_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER + 1,
    D3D11_MESSAGE_ID_REF_INFO = D3D11_MESSAGE_ID_REF_OUT_OF_MEMORY + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW = D3D11_MESSAGE_ID_REF_INFO + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET = D3D11_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_INPUTLAYOUT_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL = D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_CONSTANT_BUFFER_TOO_SMALL + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_SHADERRESOURCEVIEW_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = D3D11_MESSAGE_ID_DEVICE_DRAW_VIEW_DIMENSION_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_BUFFER_TOO_SMALL + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_FORMAT_INVALID + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_GS_INPUT_PRIMITIVE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_RETURN_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET = D3D11_MESSAGE_ID_DEVICE_DRAW_POSITION_NOT_PRESENT + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED = D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY = D3D11_MESSAGE_ID_DEVICE_DRAW_BOUND_RESOURCE_MAPPED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_PRIMITIVETOPOLOGY + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DRAW_VERTEX_STRIDE_UNALIGNED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DRAW_INDEX_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER = D3D11_MESSAGE_ID_DEVICE_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = D3D11_MESSAGE_ID_DEVICE_DRAW_SO_STRIDE_LARGER_THAN_BUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = D3D11_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING + 1,
    D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = D3D11_MESSAGE_ID_DEVICE_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 + 1,
    D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT + 1,
    D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT + 1,
    D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN = D3D11_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT + 1,
    D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET = D3D11_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = D3D11_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC + 1,
    D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH + 1,
    D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH = D3D11_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH + 1,
    D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY = D3D11_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY + 1,
    D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY + 1,
    D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATEQUERY_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER = D3D11_MESSAGE_ID_CREATEPREDICATE_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED = D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFRANGE_COUNTER + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER = D3D11_MESSAGE_ID_CREATECOUNTER_SIMULTANEOUS_ACTIVE_COUNTERS_EXHAUSTED + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATECOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN = D3D11_MESSAGE_ID_CREATECOUNTER_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC = D3D11_MESSAGE_ID_CREATECOUNTER_NONEXCLUSIVE_RETURN + 1,
    D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER = D3D11_MESSAGE_ID_CREATECOUNTER_NULLDESC + 1,
    D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER = D3D11_MESSAGE_ID_CHECKCOUNTER_OUTOFRANGE_COUNTER + 1,
    D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE = D3D11_MESSAGE_ID_CHECKCOUNTER_UNSUPPORTED_WELLKNOWN_COUNTER + 1,
    D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED = D3D11_MESSAGE_ID_SETPREDICATION_INVALID_PREDICATE_STATE + 1,
    D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION = D3D11_MESSAGE_ID_QUERY_BEGIN_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE = D3D11_MESSAGE_ID_PREDICATE_BEGIN_DURING_PREDICATION + 1,
    D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS = D3D11_MESSAGE_ID_QUERY_BEGIN_DUPLICATE + 1,
    D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION = D3D11_MESSAGE_ID_QUERY_BEGIN_ABANDONING_PREVIOUS_RESULTS + 1,
    D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS = D3D11_MESSAGE_ID_PREDICATE_END_DURING_PREDICATION + 1,
    D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN = D3D11_MESSAGE_ID_QUERY_END_ABANDONING_PREVIOUS_RESULTS + 1,
    D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE = D3D11_MESSAGE_ID_QUERY_END_WITHOUT_BEGIN + 1,
    D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_DATASIZE + 1,
    D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_FLAGS + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH = D3D11_MESSAGE_ID_QUERY_GETDATA_INVALID_CALL + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE = D3D11_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = D3D11_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT + 1,
    D3D11_MESSAGE_ID_D3D10_MESSAGES_END = D3D11_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH + 1,
    D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START = $100000,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED = D3D11_MESSAGE_ID_D3D10L9_MESSAGES_START + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_STENCIL_NO_TWO_SIDED + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthBiasClamp_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_COMPARISON_SUPPORT + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_EXCESSIVE_ANISOTROPY + 1,
    D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_OUT_OF_RANGE + 1,
    D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS = D3D11_MESSAGE_ID_VSSETSAMPLERS_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS = D3D11_MESSAGE_ID_VSSETSAMPLERS_TOO_MANY_SAMPLERS + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS = D3D11_MESSAGE_ID_PSSETSAMPLERS_TOO_MANY_SAMPLERS + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND = D3D11_MESSAGE_ID_CREATERESOURCE_NO_ARRAYS + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D = D3D11_MESSAGE_ID_CREATERESOURCE_NO_VB_AND_IB_BIND + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE = D3D11_MESSAGE_ID_CREATERESOURCE_NO_TEXTURE_1D + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE = D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_OUT_OF_RANGE + 1,
    D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS = D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_SHADER_RESOURCE + 1,
    D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_TOO_MANY_RENDER_TARGETS + 1,
    D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_DIFFERING_BIT_DEPTHS + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS = D3D11_MESSAGE_ID_IASETVERTEXBUFFERS_BAD_BUFFER_INDEX + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_TOO_MANY_VIEWPORTS + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_ADJACENCY_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_TOO_MANY_SCISSORS + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK = D3D11_MESSAGE_ID_COPYRESOURCE_ONLY_TEXTURE_2D_WITHIN_GPU_MEMORY + 1,
    D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK = D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_3D_READBACK + 1,
    D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT = D3D11_MESSAGE_ID_COPYRESOURCE_NO_TEXTURE_ONLY_READBACK + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE = D3D11_MESSAGE_ID_CREATEINPUTLAYOUT_UNSUPPORTED_FORMAT + 1,
    D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_ALPHA_TO_COVERAGE + 1,
    D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE = D3D11_MESSAGE_ID_CREATERASTERIZERSTATE_DepthClipEnable_MUST_BE_TRUE + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD = D3D11_MESSAGE_ID_DRAWINDEXED_STARTINDEXLOCATION_MUST_BE_POSITIVE + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_MUST_USE_LOWEST_LOD + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MINLOD_MUST_NOT_BE_FRACTIONAL + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_MAXLOD_MUST_BE_FLT_MAX + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_FIRSTARRAYSLICE_MUST_BE_ZERO + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_CUBES_MUST_HAVE_6_SIDES + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER = D3D11_MESSAGE_ID_CREATERESOURCE_NOT_BINDABLE_AS_RENDER_TARGET + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE = D3D11_MESSAGE_ID_CREATERESOURCE_NO_DWORD_INDEX_BUFFER + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE = D3D11_MESSAGE_ID_CREATERESOURCE_MSAA_PRECLUDES_SHADER_RESOURCE + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE = D3D11_MESSAGE_ID_CREATERESOURCE_PRESENTATION_PRECLUDES_SHADER_RESOURCE + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_BLEND_ENABLE + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_INDEPENDENT_WRITE_MASKS + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS = D3D11_MESSAGE_ID_CREATERESOURCE_NO_STREAM_OUT + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES = D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_VB_IB_FOR_BUFFERS + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED = D3D11_MESSAGE_ID_CREATERESOURCE_NO_AUTOGEN_FOR_VOLUMES + 1,
    D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATERESOURCE_DXGI_FORMAT_R8G8B8A8_CANNOT_BE_SHARED + 1,
    D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED = D3D11_MESSAGE_ID_VSSHADERRESOURCES_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED = D3D11_MESSAGE_ID_GEOMETRY_SHADER_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED = D3D11_MESSAGE_ID_STREAM_OUT_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND = D3D11_MESSAGE_ID_TEXT_FILTER_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_SEPARATE_ALPHA_BLEND + 1,
    D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATEBLENDSTATE_NO_MRT_BLEND + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE = D3D11_MESSAGE_ID_CREATEBLENDSTATE_OPERATION_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_NO_MIRRORONCE + 1,
    D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 = D3D11_MESSAGE_ID_DRAWINSTANCED_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED = D3D11_MESSAGE_ID_DRAWINDEXEDINSTANCED_NOT_SUPPORTED_BELOW_9_3 + 1,
    D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO = D3D11_MESSAGE_ID_DRAWINDEXED_POINTLIST_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION = D3D11_MESSAGE_ID_SETBLENDSTATE_SAMPLE_MASK_CANNOT_BE_ZERO + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED = D3D11_MESSAGE_ID_CREATERESOURCE_DIMENSION_EXCEEDS_FEATURE_LEVEL_DEFINITION + 1,
    D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR = D3D11_MESSAGE_ID_CREATERESOURCE_ONLY_SINGLE_MIP_LEVEL_DEPTH_STENCIL_SUPPORTED + 1,
    D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA = D3D11_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_NEGATIVESCISSOR + 1,
    D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP = D3D11_MESSAGE_ID_SLOT_ZERO_MUST_BE_D3D10_INPUT_PER_VERTEX_DATA + 1,
    D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED = D3D11_MESSAGE_ID_CREATERESOURCE_NON_POW_2_MIPMAP + 1,
    D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT = D3D11_MESSAGE_ID_CREATESAMPLERSTATE_BORDER_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_D3D10L9_MESSAGES_END = D3D11_MESSAGE_ID_OMSETRENDERTARGETS_NO_SRGB_MRT + 1,
    D3D11_MESSAGE_ID_D3D11_MESSAGES_START = $200000,
    D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = D3D11_MESSAGE_ID_D3D11_MESSAGES_START + 1,
    D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS + 1,
    D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS = D3D11_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_COMMANDLISTFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_SINGLETHREADED + 1,
    D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_INVALID_CALL_RETURN + 1,
    D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT = D3D11_MESSAGE_ID_CREATEDEFERREDCONTEXT_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_ONIMMEDIATECONTEXT + 1,
    D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = D3D11_MESSAGE_ID_FINISHDISPLAYLIST_INVALID_CALL_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES + 1,
    D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES + 1,
    D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES + 1,
    D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_HSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL = D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL + 1,
    D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_HSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_HSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_HSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_HSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_HSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_HSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_DEVICE_HSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL = D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL + 1,
    D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_DSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_DSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_DSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_DSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_DSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER = D3D11_MESSAGE_ID_DEFERRED_CONTEXT_REMOVAL_PROCESS_AT_FAULT + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE = D3D11_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED = D3D11_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN = D3D11_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN + 1,
    D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD = D3D11_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE = D3D11_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD + 1,
    D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = D3D11_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS = D3D11_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED + 1,
    D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH + 1,
    D3D11_MESSAGE_ID_CREATE_CONTEXT = D3D11_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH + 1,
    D3D11_MESSAGE_ID_LIVE_CONTEXT = D3D11_MESSAGE_ID_CREATE_CONTEXT + 1,
    D3D11_MESSAGE_ID_DESTROY_CONTEXT = D3D11_MESSAGE_ID_LIVE_CONTEXT + 1,
    D3D11_MESSAGE_ID_CREATE_BUFFER = D3D11_MESSAGE_ID_DESTROY_CONTEXT + 1,
    D3D11_MESSAGE_ID_LIVE_BUFFER = D3D11_MESSAGE_ID_CREATE_BUFFER + 1,
    D3D11_MESSAGE_ID_DESTROY_BUFFER = D3D11_MESSAGE_ID_LIVE_BUFFER + 1,
    D3D11_MESSAGE_ID_CREATE_TEXTURE1D = D3D11_MESSAGE_ID_DESTROY_BUFFER + 1,
    D3D11_MESSAGE_ID_LIVE_TEXTURE1D = D3D11_MESSAGE_ID_CREATE_TEXTURE1D + 1,
    D3D11_MESSAGE_ID_DESTROY_TEXTURE1D = D3D11_MESSAGE_ID_LIVE_TEXTURE1D + 1,
    D3D11_MESSAGE_ID_CREATE_TEXTURE2D = D3D11_MESSAGE_ID_DESTROY_TEXTURE1D + 1,
    D3D11_MESSAGE_ID_LIVE_TEXTURE2D = D3D11_MESSAGE_ID_CREATE_TEXTURE2D + 1,
    D3D11_MESSAGE_ID_DESTROY_TEXTURE2D = D3D11_MESSAGE_ID_LIVE_TEXTURE2D + 1,
    D3D11_MESSAGE_ID_CREATE_TEXTURE3D = D3D11_MESSAGE_ID_DESTROY_TEXTURE2D + 1,
    D3D11_MESSAGE_ID_LIVE_TEXTURE3D = D3D11_MESSAGE_ID_CREATE_TEXTURE3D + 1,
    D3D11_MESSAGE_ID_DESTROY_TEXTURE3D = D3D11_MESSAGE_ID_LIVE_TEXTURE3D + 1,
    D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW = D3D11_MESSAGE_ID_DESTROY_TEXTURE3D + 1,
    D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW = D3D11_MESSAGE_ID_CREATE_SHADERRESOURCEVIEW + 1,
    D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW = D3D11_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW + 1,
    D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW = D3D11_MESSAGE_ID_DESTROY_SHADERRESOURCEVIEW + 1,
    D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW = D3D11_MESSAGE_ID_CREATE_RENDERTARGETVIEW + 1,
    D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW = D3D11_MESSAGE_ID_LIVE_RENDERTARGETVIEW + 1,
    D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_DESTROY_RENDERTARGETVIEW + 1,
    D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILVIEW + 1,
    D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW + 1,
    D3D11_MESSAGE_ID_CREATE_VERTEXSHADER = D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILVIEW + 1,
    D3D11_MESSAGE_ID_LIVE_VERTEXSHADER = D3D11_MESSAGE_ID_CREATE_VERTEXSHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER = D3D11_MESSAGE_ID_LIVE_VERTEXSHADER + 1,
    D3D11_MESSAGE_ID_CREATE_HULLSHADER = D3D11_MESSAGE_ID_DESTROY_VERTEXSHADER + 1,
    D3D11_MESSAGE_ID_LIVE_HULLSHADER = D3D11_MESSAGE_ID_CREATE_HULLSHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_HULLSHADER = D3D11_MESSAGE_ID_LIVE_HULLSHADER + 1,
    D3D11_MESSAGE_ID_CREATE_DOMAINSHADER = D3D11_MESSAGE_ID_DESTROY_HULLSHADER + 1,
    D3D11_MESSAGE_ID_LIVE_DOMAINSHADER = D3D11_MESSAGE_ID_CREATE_DOMAINSHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER = D3D11_MESSAGE_ID_LIVE_DOMAINSHADER + 1,
    D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER = D3D11_MESSAGE_ID_DESTROY_DOMAINSHADER + 1,
    D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER = D3D11_MESSAGE_ID_CREATE_GEOMETRYSHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER = D3D11_MESSAGE_ID_LIVE_GEOMETRYSHADER + 1,
    D3D11_MESSAGE_ID_CREATE_PIXELSHADER = D3D11_MESSAGE_ID_DESTROY_GEOMETRYSHADER + 1,
    D3D11_MESSAGE_ID_LIVE_PIXELSHADER = D3D11_MESSAGE_ID_CREATE_PIXELSHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_PIXELSHADER = D3D11_MESSAGE_ID_LIVE_PIXELSHADER + 1,
    D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT = D3D11_MESSAGE_ID_DESTROY_PIXELSHADER + 1,
    D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT = D3D11_MESSAGE_ID_CREATE_INPUTLAYOUT + 1,
    D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT = D3D11_MESSAGE_ID_LIVE_INPUTLAYOUT + 1,
    D3D11_MESSAGE_ID_CREATE_SAMPLER = D3D11_MESSAGE_ID_DESTROY_INPUTLAYOUT + 1,
    D3D11_MESSAGE_ID_LIVE_SAMPLER = D3D11_MESSAGE_ID_CREATE_SAMPLER + 1,
    D3D11_MESSAGE_ID_DESTROY_SAMPLER = D3D11_MESSAGE_ID_LIVE_SAMPLER + 1,
    D3D11_MESSAGE_ID_CREATE_BLENDSTATE = D3D11_MESSAGE_ID_DESTROY_SAMPLER + 1,
    D3D11_MESSAGE_ID_LIVE_BLENDSTATE = D3D11_MESSAGE_ID_CREATE_BLENDSTATE + 1,
    D3D11_MESSAGE_ID_DESTROY_BLENDSTATE = D3D11_MESSAGE_ID_LIVE_BLENDSTATE + 1,
    D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_DESTROY_BLENDSTATE + 1,
    D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_CREATE_DEPTHSTENCILSTATE + 1,
    D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE = D3D11_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE + 1,
    D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE = D3D11_MESSAGE_ID_DESTROY_DEPTHSTENCILSTATE + 1,
    D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE = D3D11_MESSAGE_ID_CREATE_RASTERIZERSTATE + 1,
    D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE = D3D11_MESSAGE_ID_LIVE_RASTERIZERSTATE + 1,
    D3D11_MESSAGE_ID_CREATE_QUERY = D3D11_MESSAGE_ID_DESTROY_RASTERIZERSTATE + 1,
    D3D11_MESSAGE_ID_LIVE_QUERY = D3D11_MESSAGE_ID_CREATE_QUERY + 1,
    D3D11_MESSAGE_ID_DESTROY_QUERY = D3D11_MESSAGE_ID_LIVE_QUERY + 1,
    D3D11_MESSAGE_ID_CREATE_PREDICATE = D3D11_MESSAGE_ID_DESTROY_QUERY + 1,
    D3D11_MESSAGE_ID_LIVE_PREDICATE = D3D11_MESSAGE_ID_CREATE_PREDICATE + 1,
    D3D11_MESSAGE_ID_DESTROY_PREDICATE = D3D11_MESSAGE_ID_LIVE_PREDICATE + 1,
    D3D11_MESSAGE_ID_CREATE_COUNTER = D3D11_MESSAGE_ID_DESTROY_PREDICATE + 1,
    D3D11_MESSAGE_ID_LIVE_COUNTER = D3D11_MESSAGE_ID_CREATE_COUNTER + 1,
    D3D11_MESSAGE_ID_DESTROY_COUNTER = D3D11_MESSAGE_ID_LIVE_COUNTER + 1,
    D3D11_MESSAGE_ID_CREATE_COMMANDLIST = D3D11_MESSAGE_ID_DESTROY_COUNTER + 1,
    D3D11_MESSAGE_ID_LIVE_COMMANDLIST = D3D11_MESSAGE_ID_CREATE_COMMANDLIST + 1,
    D3D11_MESSAGE_ID_DESTROY_COMMANDLIST = D3D11_MESSAGE_ID_LIVE_COMMANDLIST + 1,
    D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE = D3D11_MESSAGE_ID_DESTROY_COMMANDLIST + 1,
    D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE = D3D11_MESSAGE_ID_CREATE_CLASSINSTANCE + 1,
    D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE = D3D11_MESSAGE_ID_LIVE_CLASSINSTANCE + 1,
    D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE = D3D11_MESSAGE_ID_DESTROY_CLASSINSTANCE + 1,
    D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE = D3D11_MESSAGE_ID_CREATE_CLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE = D3D11_MESSAGE_ID_LIVE_CLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_LIVE_DEVICE = D3D11_MESSAGE_ID_DESTROY_CLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY = D3D11_MESSAGE_ID_LIVE_DEVICE + 1,
    D3D11_MESSAGE_ID_CREATE_COMPUTESHADER = D3D11_MESSAGE_ID_LIVE_OBJECT_SUMMARY + 1,
    D3D11_MESSAGE_ID_LIVE_COMPUTESHADER = D3D11_MESSAGE_ID_CREATE_COMPUTESHADER + 1,
    D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER = D3D11_MESSAGE_ID_LIVE_COMPUTESHADER + 1,
    D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_DESTROY_COMPUTESHADER + 1,
    D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_CREATE_UNORDEREDACCESSVIEW + 1,
    D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW = D3D11_MESSAGE_ID_LIVE_UNORDEREDACCESSVIEW + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL = D3D11_MESSAGE_ID_DESTROY_UNORDEREDACCESSVIEW + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACES_FEATURELEVEL + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INTERFACE_COUNT_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_INDEX + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_TYPE + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INVALID_INSTANCE_DATA + 1,
    D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS = D3D11_MESSAGE_ID_DEVICE_SETSHADER_UNBOUND_INSTANCE_DATA + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL = D3D11_MESSAGE_ID_DEVICE_SETSHADER_INSTANCE_DATA_BINDINGS + 1,
    D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE = D3D11_MESSAGE_ID_DEVICE_CREATESHADER_CLASSLINKAGE_FULL + 1,
    D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE + 1,
    D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD = D3D11_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD = D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_HAZARD + 1,
    D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_HAZARD + 1,
    D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_CSSETSHADERRESOURCES_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL = D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL + 1,
    D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY + 1,
    D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE + 1,
    D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERTYPE + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE + 1,
    D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER = D3D11_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY = D3D11_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D11_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE = D3D11_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS = D3D11_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = D3D11_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS + 1,
    D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT + 1,
    D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS + 1,
    D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP + 1,
    D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_CSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN = D3D11_MESSAGE_ID_PSSETUNORDEREDACCESSVIEWS_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_HAZARD + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH + 1,
    D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = D3D11_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY + 1,
    D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS = D3D11_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER = D3D11_MESSAGE_ID_CREATESHADERRESESOURCEVIEW_TOOMANYOBJECTS + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED + 1,
    D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDCONTEXT + 1,
    D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT = D3D11_MESSAGE_ID_DEVICE_SETRESOURCEMINLOD_INVALIDMINLOD + 1,
    D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE = D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDCONTEXT + 1,
    D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT = D3D11_MESSAGE_ID_DEVICE_GETRESOURCEMINLOD_INVALIDRESOURCE + 1,
    D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY = D3D11_MESSAGE_ID_OMSETDEPTHSTENCIL_UNBINDDELETINGOBJECT + 1,
    D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY + 1,
    D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED = D3D11_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH = D3D11_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW = D3D11_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO = D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED = D3D11_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET = D3D11_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET + 1,
    D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET + 1,
    D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE + 1,
    D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED = D3D11_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW = D3D11_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDVIEW + 1,
    D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_INVALIDOFFSET + 1,
    D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT = D3D11_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSVIEWS_TOOMANYVIEWS + 1,
    D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED = D3D11_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT + 1,
    D3D11_MESSAGE_ID_REF_WARNING = D3D11_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED + 1,
    D3D11_MESSAGE_ID_D3D11_MESSAGES_END = D3D11_MESSAGE_ID_REF_WARNING + 1
    );
  PTD3D11_MessageID = ^TD3D11_MessageID;
  D3D11_MESSAGE_ID = TD3D11_MessageID;
  PD3D11_MESSAGE_ID = ^TD3D11_MessageID;
  TD3D11_Message = record
    Category: TD3D11_MessageCategory;
    Severity: TD3D11_MessageSeverity;
    ID: TD3D11_MessageID;
    pDescription: PAnsiChar;
    DescriptionByteLength: SIZE_T;
  end;
  PTD3D11_Message = ^TD3D11_Message;
  D3D11_MESSAGE = TD3D11_Message;
  PD3D11_MESSAGE = ^TD3D11_Message;
  TD3D11_InfoQueueFilterDesc = record
    NumCategories: LongWord;
    pCategoryList: PTD3D11_MessageCategory;
    NumSeverities: LongWord;
    pSeverityList: PTD3D11_MessageSeverity;
    NumIDs: LongWord;
    pIDList: PTD3D11_MessageID;
  end;
  PTD3D11_InfoQueueFilterDesc = ^TD3D11_InfoQueueFilterDesc;
  D3D11_INFO_QUEUE_FILTER_DESC = TD3D11_InfoQueueFilterDesc;
  PD3D11_INFO_QUEUE_FILTER_DESC = ^TD3D11_InfoQueueFilterDesc;
  TD3D11_InfoQueueFilter = record
    AllowList: TD3D11_InfoQueueFilterDesc;
    DenyList: TD3D11_InfoQueueFilterDesc;
  end;
  PTD3D11_InfoQueueFilter = ^TD3D11_InfoQueueFilter;
  D3D11_INFO_QUEUE_FILTER = TD3D11_InfoQueueFilter;
  PD3D11_INFO_QUEUE_FILTER = ^TD3D11_InfoQueueFilter;
  ID3D11InfoQueue = interface(IUnknown)
    ['{6543DBB6-1B48-42F5-AB82-E97EC74326F6}']
    function SetMessageCountLimit(MessageCountLimit: UInt64): HResult; stdcall;
    procedure ClearStoredMessages; stdcall;
    function GetMessage(MessageIndex: UInt64; pMessage: PTD3D11_Message; var MessageByteLength: SIZE_T): HResult; stdcall;
    function GetNumMessagesAllowedByStorageFilter: UInt64; stdcall;
    function GetNumMessagesDeniedByStorageFilter: UInt64; stdcall;
    function GetNumStoredMessages: UInt64; stdcall;
    function GetNumStoredMessagesAllowedByRetrievalFilter: UInt64; stdcall;
    function GetNumMessagesDiscardedByMessageCountLimit: UInt64; stdcall;
    function GetMessageCountLimit: UInt64; stdcall;
    function AddStorageFilterEntries(const Filter: TD3D11_InfoQueueFilter): HResult; stdcall;
    function GetStorageFilter(pFilter: PTD3D11_InfoQueueFilter; var FilterByteLength: SIZE_T): HResult; stdcall;
    procedure ClearStorageFilter; stdcall;
    function PushEmptyStorageFilter: HResult; stdcall;
    function PushCopyOfStorageFilter: HResult; stdcall;
    function PushStorageFilter(const Filter: TD3D11_InfoQueueFilter): HResult; stdcall;
    procedure PopStorageFilter; stdcall;
    function GetStorageFilterStackSize: LongWord; stdcall;
    function AddRetrievalFilterEntries(const Filter: TD3D11_InfoQueueFilter): HResult; stdcall;
    function GetRetrievalFilter(pFilter: PTD3D11_InfoQueueFilter; var FilterByteLength: SIZE_T): HResult; stdcall;
    procedure ClearRetrievalFilter; stdcall;
    function PushEmptyRetrievalFilter: HResult; stdcall;
    function PushCopyOfRetrievalFilter: HResult; stdcall;
    function PushRetrievalFilter(const Filter: TD3D11_InfoQueueFilter): HResult; stdcall;
    procedure PopRetrievalFilter; stdcall;
    function GetRetrievalFilterStackSize: LongWord; stdcall;
    function AddMessage(Category: TD3D11_MessageCategory; Severity: TD3D11_MessageSeverity; 
      ID: TD3D11_MessageID; pDescription: PAnsiChar): HResult; stdcall;
    function AddApplicationMessage(Severity: TD3D11_MessageSeverity; pDescription: PAnsiChar): HResult; stdcall;
    function SetBreakOnCategory(Category: TD3D11_MessageCategory; Enable: LongBool): HResult; stdcall;
    function SetBreakOnSeverity(Severity: TD3D11_MessageSeverity; Enable: LongBool): HResult; stdcall;
    function SetBreakOnID(ID: TD3D11_MessageID; Enable: LongBool): HResult; stdcall;
    function GetBreakOnCategory(Category: TD3D11_MessageCategory): LongBool; stdcall;
    function GetBreakOnSeverity(Severity: TD3D11_MessageSeverity): LongBool; stdcall;
    function GetBreakOnID(ID: TD3D11_MessageID): LongBool; stdcall;
    procedure SetMuteDebugOutput(Mute: LongBool); stdcall;
    function GetMuteDebugOutput: LongBool; stdcall;
  end;
///////////////////////////////////////////////////////////////////////////////
// End "D3D11SDKLayers.h"
///////////////////////////////////////////////////////////////////////////////
{$IFDEF UseRuntimeLinking}
procedure Link;
{$ENDIF}

implementation

function D3D11_SHVER_GET_TYPE(Version: LongWord): LongWord;
begin
  Result := (((Version) shr 16) and $FFFF);
end;

function D3D11_SHVER_GET_MAJOR(Version: LongWord): LongWord;
begin
  Result := (((Version) shr 4) and $F);
end;

function D3D11_SHVER_GET_MINOR(Version: LongWord): LongWord;
begin
  Result := (((Version) shr 0) and $F);
end;
{$IFDEF UseJSBErrors}

function HResultToString(Value: HRESULT): string;
begin
  Result := '';
  if SUCCEEDED(Value) then
    Exit;
  case Value of
    D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS: Result := 'Direct3D11: Too many unique state objects';
    D3D11_ERROR_FILE_NOT_FOUND: Result := 'Direct3D11: File not found.';
    D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS: Result := 'Direct3D11: Too many unique view objects.';
    D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD: Result := 'Direct3D11: Deferred context map without initial discard.';
  end;
end;
{$ENDIF}
{$IFDEF UseRuntimeLinking}

function LoadDLL(DLLName: string): HModule;
begin
  Result := LoadLibrary(PChar(DLLName));
  if Result = 0 then
    raise Exception.Create('Dynamic link library (DLL) ''' + DLLName + ''' is not available.');
end;

function LinkMethod(hDLL: HModule; MethodName, DLLName: string): Pointer;
begin
  Result := GetProcAddress(hDLL, PChar(MethodName));
  if Result = nil then
    raise Exception.Create('Failed to link to method ''' + MethodName + ''' in dynamic link library (DLL) ''' + DLLName + '''.');
end;

procedure Link;
var
  hDLL_D3D11: HModule;
begin
  hDLL_D3D11 := LoadDLL(DLL_D3D11);
  D3D11CreateDevice := LinkMethod(hDLL_D3D11, 'D3D11CreateDevice', DLL_D3D11);
  D3D11CreateDeviceAndSwapChain := LinkMethod(hDLL_D3D11, 'D3D11CreateDeviceAndSwapChain', DLL_D3D11);
end;
{$ENDIF}
initialization
{$IFDEF UseRuntimeLinking}
  //Link;
{$ENDIF}
end.
