# -*- coding: mbcs -*-

from ctypes import *
from . import OLE
from comtypes import COMMETHOD, GUID, IUnknown
from ctypes import HRESULT
from comtypes.typeinfo import ULONG_PTR
from ctypes.wintypes import tagRECT
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from comtypes import hints


_lcid = 0  # change this if required
typelib_path = None
WSTRING = c_wchar_p
STRING = c_char_p

# values for enumeration 'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE'
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 1
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 2
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 3
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 4
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = c_int  # enum

# values for enumeration 'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE'
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 1
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 2
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 3
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = c_int  # enum

# values for enumeration 'D3D12_DESCRIPTOR_HEAP_FLAGS'
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 1
D3D12_DESCRIPTOR_HEAP_FLAGS = c_int  # enum

# values for enumeration 'D3D12_DESCRIPTOR_HEAP_TYPE'
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0
D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = 1
D3D12_DESCRIPTOR_HEAP_TYPE_RTV = 2
D3D12_DESCRIPTOR_HEAP_TYPE_DSV = 3
D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = 4
D3D12_DESCRIPTOR_HEAP_TYPE = c_int  # enum

# values for enumeration 'D3D12_BLEND_OP'
D3D12_BLEND_OP_ADD = 1
D3D12_BLEND_OP_SUBTRACT = 2
D3D12_BLEND_OP_REV_SUBTRACT = 3
D3D12_BLEND_OP_MIN = 4
D3D12_BLEND_OP_MAX = 5
D3D12_BLEND_OP = c_int  # enum

# values for enumeration 'D3D12_HEAP_FLAGS'
D3D12_HEAP_FLAG_NONE = 0
D3D12_HEAP_FLAG_SHARED = 1
D3D12_HEAP_FLAG_DENY_BUFFERS = 4
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 8
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 32
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 64
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 128
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 256
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 512
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 1024
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 2048
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 4096
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 192
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 68
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 132
D3D12_HEAP_FLAGS = c_int  # enum

# values for enumeration 'D3D12_PROTECTED_SESSION_STATUS'
D3D12_PROTECTED_SESSION_STATUS_OK = 0
D3D12_PROTECTED_SESSION_STATUS_INVALID = 1
D3D12_PROTECTED_SESSION_STATUS = c_int  # enum

# values for enumeration 'D3D12_PROTECTED_RESOURCE_SESSION_FLAGS'
D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0
D3D12_PROTECTED_RESOURCE_SESSION_FLAGS = c_int  # enum

# values for enumeration 'D3D12_LOGIC_OP'
D3D12_LOGIC_OP_CLEAR = 0
D3D12_LOGIC_OP_SET = 1
D3D12_LOGIC_OP_COPY = 2
D3D12_LOGIC_OP_COPY_INVERTED = 3
D3D12_LOGIC_OP_NOOP = 4
D3D12_LOGIC_OP_INVERT = 5
D3D12_LOGIC_OP_AND = 6
D3D12_LOGIC_OP_NAND = 7
D3D12_LOGIC_OP_OR = 8
D3D12_LOGIC_OP_NOR = 9
D3D12_LOGIC_OP_XOR = 10
D3D12_LOGIC_OP_EQUIV = 11
D3D12_LOGIC_OP_AND_REVERSE = 12
D3D12_LOGIC_OP_AND_INVERTED = 13
D3D12_LOGIC_OP_OR_REVERSE = 14
D3D12_LOGIC_OP_OR_INVERTED = 15
D3D12_LOGIC_OP = c_int  # enum

# values for enumeration 'D3D12_SHADING_RATE'
D3D12_SHADING_RATE_1X1 = 0
D3D12_SHADING_RATE_1X2 = 1
D3D12_SHADING_RATE_2X1 = 4
D3D12_SHADING_RATE_2X2 = 5
D3D12_SHADING_RATE_2X4 = 6
D3D12_SHADING_RATE_4X2 = 9
D3D12_SHADING_RATE_4X4 = 10
D3D12_SHADING_RATE = c_int  # enum

# values for enumeration 'D3D12_SHADING_RATE_COMBINER'
D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0
D3D12_SHADING_RATE_COMBINER_OVERRIDE = 1
D3D12_SHADING_RATE_COMBINER_MIN = 2
D3D12_SHADING_RATE_COMBINER_MAX = 3
D3D12_SHADING_RATE_COMBINER_SUM = 4
D3D12_SHADING_RATE_COMBINER = c_int  # enum

# values for enumeration 'D3D12_TILE_RANGE_FLAGS'
D3D12_TILE_RANGE_FLAG_NONE = 0
D3D12_TILE_RANGE_FLAG_NULL = 1
D3D12_TILE_RANGE_FLAG_SKIP = 2
D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
D3D12_TILE_RANGE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_COMMAND_LIST_TYPE'
D3D12_COMMAND_LIST_TYPE_DIRECT = 0
D3D12_COMMAND_LIST_TYPE_BUNDLE = 1
D3D12_COMMAND_LIST_TYPE_COMPUTE = 2
D3D12_COMMAND_LIST_TYPE_COPY = 3
D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4
D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5
D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6
D3D12_COMMAND_LIST_TYPE = c_int  # enum

# values for enumeration 'D3D12_FEATURE'
D3D12_FEATURE_D3D12_OPTIONS = 0
D3D12_FEATURE_ARCHITECTURE = 1
D3D12_FEATURE_FEATURE_LEVELS = 2
D3D12_FEATURE_FORMAT_SUPPORT = 3
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4
D3D12_FEATURE_FORMAT_INFO = 5
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6
D3D12_FEATURE_SHADER_MODEL = 7
D3D12_FEATURE_D3D12_OPTIONS1 = 8
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10
D3D12_FEATURE_ROOT_SIGNATURE = 12
D3D12_FEATURE_ARCHITECTURE1 = 16
D3D12_FEATURE_D3D12_OPTIONS2 = 18
D3D12_FEATURE_SHADER_CACHE = 19
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20
D3D12_FEATURE_D3D12_OPTIONS3 = 21
D3D12_FEATURE_EXISTING_HEAPS = 22
D3D12_FEATURE_D3D12_OPTIONS4 = 23
D3D12_FEATURE_SERIALIZATION = 24
D3D12_FEATURE_CROSS_NODE = 25
D3D12_FEATURE_D3D12_OPTIONS5 = 27
D3D12_FEATURE_DISPLAYABLE = 28
D3D12_FEATURE_D3D12_OPTIONS6 = 30
D3D12_FEATURE_QUERY_META_COMMAND = 31
D3D12_FEATURE_D3D12_OPTIONS7 = 32
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34
D3D12_FEATURE_D3D12_OPTIONS8 = 36
D3D12_FEATURE_D3D12_OPTIONS9 = 37
D3D12_FEATURE_D3D12_OPTIONS10 = 39
D3D12_FEATURE_D3D12_OPTIONS11 = 40
D3D12_FEATURE_D3D12_OPTIONS12 = 41
D3D12_FEATURE_D3D12_OPTIONS13 = 42
D3D12_FEATURE_D3D12_OPTIONS19 = 48
D3D12_FEATURE_D3D12_OPTIONS20 = 49
D3D12_FEATURE = c_int  # enum

# values for enumeration 'D3D12_HEAP_TYPE'
D3D12_HEAP_TYPE_DEFAULT = 1
D3D12_HEAP_TYPE_UPLOAD = 2
D3D12_HEAP_TYPE_READBACK = 3
D3D12_HEAP_TYPE_CUSTOM = 4
D3D12_HEAP_TYPE = c_int  # enum

# values for enumeration 'D3D12_CPU_PAGE_PROPERTY'
D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0
D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1
D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2
D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
D3D12_CPU_PAGE_PROPERTY = c_int  # enum

# values for enumeration 'D3D12_MEMORY_POOL'
D3D12_MEMORY_POOL_UNKNOWN = 0
D3D12_MEMORY_POOL_L0 = 1
D3D12_MEMORY_POOL_L1 = 2
D3D12_MEMORY_POOL = c_int  # enum

# values for enumeration 'D3D12_RESOURCE_STATES'
D3D12_RESOURCE_STATE_COMMON = 0
D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 1
D3D12_RESOURCE_STATE_INDEX_BUFFER = 2
D3D12_RESOURCE_STATE_RENDER_TARGET = 4
D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 8
D3D12_RESOURCE_STATE_DEPTH_WRITE = 16
D3D12_RESOURCE_STATE_DEPTH_READ = 32
D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 64
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 128
D3D12_RESOURCE_STATE_STREAM_OUT = 256
D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 512
D3D12_RESOURCE_STATE_COPY_DEST = 1024
D3D12_RESOURCE_STATE_COPY_SOURCE = 2048
D3D12_RESOURCE_STATE_RESOLVE_DEST = 4096
D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 8192
D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 4194304
D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 16777216
D3D12_RESOURCE_STATE_GENERIC_READ = 2755
D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 192
D3D12_RESOURCE_STATE_PRESENT = 0
D3D12_RESOURCE_STATE_PREDICATION = 512
D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 65536
D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 131072
D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 262144
D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 524288
D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 2097152
D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 8388608
D3D12_RESOURCE_STATES = c_int  # enum

# values for enumeration 'D3D12_FENCE_FLAGS'
D3D12_FENCE_FLAG_NONE = 0
D3D12_FENCE_FLAG_SHARED = 1
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 2
D3D12_FENCE_FLAG_NON_MONITORED = 4
D3D12_FENCE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_MULTIPLE_FENCE_WAIT_FLAGS'
D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 1
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0
D3D12_MULTIPLE_FENCE_WAIT_FLAGS = c_int  # enum

# values for enumeration 'D3D12_RESIDENCY_PRIORITY'
D3D12_RESIDENCY_PRIORITY_MINIMUM = 671088640
D3D12_RESIDENCY_PRIORITY_LOW = 1342177280
D3D12_RESIDENCY_PRIORITY_NORMAL = 2013265920
D3D12_RESIDENCY_PRIORITY_HIGH = -1610547200
D3D12_RESIDENCY_PRIORITY_MAXIMUM = -939524096
D3D12_RESIDENCY_PRIORITY = c_int  # enum

# values for enumeration 'D3D12_ROOT_DESCRIPTOR_FLAGS'
D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 2
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 4
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 8
D3D12_ROOT_DESCRIPTOR_FLAGS = c_int  # enum

# values for enumeration 'D3D12_BLEND'
D3D12_BLEND_ZERO = 1
D3D12_BLEND_ONE = 2
D3D12_BLEND_SRC_COLOR = 3
D3D12_BLEND_INV_SRC_COLOR = 4
D3D12_BLEND_SRC_ALPHA = 5
D3D12_BLEND_INV_SRC_ALPHA = 6
D3D12_BLEND_DEST_ALPHA = 7
D3D12_BLEND_INV_DEST_ALPHA = 8
D3D12_BLEND_DEST_COLOR = 9
D3D12_BLEND_INV_DEST_COLOR = 10
D3D12_BLEND_SRC_ALPHA_SAT = 11
D3D12_BLEND_BLEND_FACTOR = 14
D3D12_BLEND_INV_BLEND_FACTOR = 15
D3D12_BLEND_SRC1_COLOR = 16
D3D12_BLEND_INV_SRC1_COLOR = 17
D3D12_BLEND_SRC1_ALPHA = 18
D3D12_BLEND_INV_SRC1_ALPHA = 19
D3D12_BLEND_ALPHA_FACTOR = 20
D3D12_BLEND_INV_ALPHA_FACTOR = 21
D3D12_BLEND = c_int  # enum

# values for enumeration 'D3D12_FILL_MODE'
D3D12_FILL_MODE_WIREFRAME = 2
D3D12_FILL_MODE_SOLID = 3
D3D12_FILL_MODE = c_int  # enum

# values for enumeration 'D3D12_CULL_MODE'
D3D12_CULL_MODE_NONE = 1
D3D12_CULL_MODE_FRONT = 2
D3D12_CULL_MODE_BACK = 3
D3D12_CULL_MODE = c_int  # enum

# values for enumeration 'D3D12_CONSERVATIVE_RASTERIZATION_MODE'
D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0
D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
D3D12_CONSERVATIVE_RASTERIZATION_MODE = c_int  # enum

# values for enumeration 'D3D12_DEPTH_WRITE_MASK'
D3D12_DEPTH_WRITE_MASK_ZERO = 0
D3D12_DEPTH_WRITE_MASK_ALL = 1
D3D12_DEPTH_WRITE_MASK = c_int  # enum

# values for enumeration 'D3D12_COMPARISON_FUNC'
D3D12_COMPARISON_FUNC_NEVER = 1
D3D12_COMPARISON_FUNC_LESS = 2
D3D12_COMPARISON_FUNC_EQUAL = 3
D3D12_COMPARISON_FUNC_LESS_EQUAL = 4
D3D12_COMPARISON_FUNC_GREATER = 5
D3D12_COMPARISON_FUNC_NOT_EQUAL = 6
D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7
D3D12_COMPARISON_FUNC_ALWAYS = 8
D3D12_COMPARISON_FUNC = c_int  # enum

# values for enumeration 'D3D12_STENCIL_OP'
D3D12_STENCIL_OP_KEEP = 1
D3D12_STENCIL_OP_ZERO = 2
D3D12_STENCIL_OP_REPLACE = 3
D3D12_STENCIL_OP_INCR_SAT = 4
D3D12_STENCIL_OP_DECR_SAT = 5
D3D12_STENCIL_OP_INVERT = 6
D3D12_STENCIL_OP_INCR = 7
D3D12_STENCIL_OP_DECR = 8
D3D12_STENCIL_OP = c_int  # enum

# values for enumeration 'D3D12_INDEX_BUFFER_STRIP_CUT_VALUE'
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = c_int  # enum

# values for enumeration 'D3D12_PRIMITIVE_TOPOLOGY_TYPE'
D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0
D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1
D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2
D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3
D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
D3D12_PRIMITIVE_TOPOLOGY_TYPE = c_int  # enum

# values for enumeration 'DXGI_FORMAT'
DXGI_FORMAT_UNKNOWN = 0
DXGI_FORMAT_R32G32B32A32_TYPELESS = 1
DXGI_FORMAT_R32G32B32A32_FLOAT = 2
DXGI_FORMAT_R32G32B32A32_UINT = 3
DXGI_FORMAT_R32G32B32A32_SINT = 4
DXGI_FORMAT_R32G32B32_TYPELESS = 5
DXGI_FORMAT_R32G32B32_FLOAT = 6
DXGI_FORMAT_R32G32B32_UINT = 7
DXGI_FORMAT_R32G32B32_SINT = 8
DXGI_FORMAT_R16G16B16A16_TYPELESS = 9
DXGI_FORMAT_R16G16B16A16_FLOAT = 10
DXGI_FORMAT_R16G16B16A16_UNORM = 11
DXGI_FORMAT_R16G16B16A16_UINT = 12
DXGI_FORMAT_R16G16B16A16_SNORM = 13
DXGI_FORMAT_R16G16B16A16_SINT = 14
DXGI_FORMAT_R32G32_TYPELESS = 15
DXGI_FORMAT_R32G32_FLOAT = 16
DXGI_FORMAT_R32G32_UINT = 17
DXGI_FORMAT_R32G32_SINT = 18
DXGI_FORMAT_R32G8X24_TYPELESS = 19
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22
DXGI_FORMAT_R10G10B10A2_TYPELESS = 23
DXGI_FORMAT_R10G10B10A2_UNORM = 24
DXGI_FORMAT_R10G10B10A2_UINT = 25
DXGI_FORMAT_R11G11B10_FLOAT = 26
DXGI_FORMAT_R8G8B8A8_TYPELESS = 27
DXGI_FORMAT_R8G8B8A8_UNORM = 28
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29
DXGI_FORMAT_R8G8B8A8_UINT = 30
DXGI_FORMAT_R8G8B8A8_SNORM = 31
DXGI_FORMAT_R8G8B8A8_SINT = 32
DXGI_FORMAT_R16G16_TYPELESS = 33
DXGI_FORMAT_R16G16_FLOAT = 34
DXGI_FORMAT_R16G16_UNORM = 35
DXGI_FORMAT_R16G16_UINT = 36
DXGI_FORMAT_R16G16_SNORM = 37
DXGI_FORMAT_R16G16_SINT = 38
DXGI_FORMAT_R32_TYPELESS = 39
DXGI_FORMAT_D32_FLOAT = 40
DXGI_FORMAT_R32_FLOAT = 41
DXGI_FORMAT_R32_UINT = 42
DXGI_FORMAT_R32_SINT = 43
DXGI_FORMAT_R24G8_TYPELESS = 44
DXGI_FORMAT_D24_UNORM_S8_UINT = 45
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47
DXGI_FORMAT_R8G8_TYPELESS = 48
DXGI_FORMAT_R8G8_UNORM = 49
DXGI_FORMAT_R8G8_UINT = 50
DXGI_FORMAT_R8G8_SNORM = 51
DXGI_FORMAT_R8G8_SINT = 52
DXGI_FORMAT_R16_TYPELESS = 53
DXGI_FORMAT_R16_FLOAT = 54
DXGI_FORMAT_D16_UNORM = 55
DXGI_FORMAT_R16_UNORM = 56
DXGI_FORMAT_R16_UINT = 57
DXGI_FORMAT_R16_SNORM = 58
DXGI_FORMAT_R16_SINT = 59
DXGI_FORMAT_R8_TYPELESS = 60
DXGI_FORMAT_R8_UNORM = 61
DXGI_FORMAT_R8_UINT = 62
DXGI_FORMAT_R8_SNORM = 63
DXGI_FORMAT_R8_SINT = 64
DXGI_FORMAT_A8_UNORM = 65
DXGI_FORMAT_R1_UNORM = 66
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67
DXGI_FORMAT_R8G8_B8G8_UNORM = 68
DXGI_FORMAT_G8R8_G8B8_UNORM = 69
DXGI_FORMAT_BC1_TYPELESS = 70
DXGI_FORMAT_BC1_UNORM = 71
DXGI_FORMAT_BC1_UNORM_SRGB = 72
DXGI_FORMAT_BC2_TYPELESS = 73
DXGI_FORMAT_BC2_UNORM = 74
DXGI_FORMAT_BC2_UNORM_SRGB = 75
DXGI_FORMAT_BC3_TYPELESS = 76
DXGI_FORMAT_BC3_UNORM = 77
DXGI_FORMAT_BC3_UNORM_SRGB = 78
DXGI_FORMAT_BC4_TYPELESS = 79
DXGI_FORMAT_BC4_UNORM = 80
DXGI_FORMAT_BC4_SNORM = 81
DXGI_FORMAT_BC5_TYPELESS = 82
DXGI_FORMAT_BC5_UNORM = 83
DXGI_FORMAT_BC5_SNORM = 84
DXGI_FORMAT_B5G6R5_UNORM = 85
DXGI_FORMAT_B5G5R5A1_UNORM = 86
DXGI_FORMAT_B8G8R8A8_UNORM = 87
DXGI_FORMAT_B8G8R8X8_UNORM = 88
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89
DXGI_FORMAT_B8G8R8A8_TYPELESS = 90
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91
DXGI_FORMAT_B8G8R8X8_TYPELESS = 92
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93
DXGI_FORMAT_BC6H_TYPELESS = 94
DXGI_FORMAT_BC6H_UF16 = 95
DXGI_FORMAT_BC6H_SF16 = 96
DXGI_FORMAT_BC7_TYPELESS = 97
DXGI_FORMAT_BC7_UNORM = 98
DXGI_FORMAT_BC7_UNORM_SRGB = 99
DXGI_FORMAT_AYUV = 100
DXGI_FORMAT_Y410 = 101
DXGI_FORMAT_Y416 = 102
DXGI_FORMAT_NV12 = 103
DXGI_FORMAT_P010 = 104
DXGI_FORMAT_P016 = 105
DXGI_FORMAT_420_OPAQUE = 106
DXGI_FORMAT_YUY2 = 107
DXGI_FORMAT_Y210 = 108
DXGI_FORMAT_Y216 = 109
DXGI_FORMAT_NV11 = 110
DXGI_FORMAT_AI44 = 111
DXGI_FORMAT_IA44 = 112
DXGI_FORMAT_P8 = 113
DXGI_FORMAT_A8P8 = 114
DXGI_FORMAT_B4G4R4A4_UNORM = 115
DXGI_FORMAT_P208 = 130
DXGI_FORMAT_V208 = 131
DXGI_FORMAT_V408 = 132
DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189
DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190
DXGI_FORMAT_FORCE_UINT = -1
DXGI_FORMAT = c_int  # enum

# values for enumeration 'D3D12_PIPELINE_STATE_FLAGS'
D3D12_PIPELINE_STATE_FLAG_NONE = 0
D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 1
D3D12_PIPELINE_STATE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_ROOT_PARAMETER_TYPE'
D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0
D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1
D3D12_ROOT_PARAMETER_TYPE_CBV = 2
D3D12_ROOT_PARAMETER_TYPE_SRV = 3
D3D12_ROOT_PARAMETER_TYPE_UAV = 4
D3D12_ROOT_PARAMETER_TYPE = c_int  # enum

# values for enumeration 'D3D12_DESCRIPTOR_RANGE_TYPE'
D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0
D3D12_DESCRIPTOR_RANGE_TYPE_UAV = 1
D3D12_DESCRIPTOR_RANGE_TYPE_CBV = 2
D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = 3
D3D12_DESCRIPTOR_RANGE_TYPE = c_int  # enum

# values for enumeration 'D3D12_ROOT_SIGNATURE_FLAGS'
D3D12_ROOT_SIGNATURE_FLAG_NONE = 0
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 1
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 2
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 4
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 8
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 16
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 32
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 64
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 128
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 256
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 512
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 1024
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 2048
D3D12_ROOT_SIGNATURE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_UAV_DIMENSION'
D3D12_UAV_DIMENSION_UNKNOWN = 0
D3D12_UAV_DIMENSION_BUFFER = 1
D3D12_UAV_DIMENSION_TEXTURE1D = 2
D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3
D3D12_UAV_DIMENSION_TEXTURE2D = 4
D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5
D3D12_UAV_DIMENSION_TEXTURE3D = 8
D3D12_UAV_DIMENSION = c_int  # enum

# values for enumeration 'D3D12_BUFFER_UAV_FLAGS'
D3D12_BUFFER_UAV_FLAG_NONE = 0
D3D12_BUFFER_UAV_FLAG_RAW = 1
D3D12_BUFFER_UAV_FLAGS = c_int  # enum

# values for enumeration 'D3D12_SHADER_VISIBILITY'
D3D12_SHADER_VISIBILITY_ALL = 0
D3D12_SHADER_VISIBILITY_VERTEX = 1
D3D12_SHADER_VISIBILITY_HULL = 2
D3D12_SHADER_VISIBILITY_DOMAIN = 3
D3D12_SHADER_VISIBILITY_GEOMETRY = 4
D3D12_SHADER_VISIBILITY_PIXEL = 5
D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6
D3D12_SHADER_VISIBILITY_MESH = 7
D3D12_SHADER_VISIBILITY = c_int  # enum

# values for enumeration 'D3D12_STATIC_BORDER_COLOR'
D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = 1
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = 2
D3D12_STATIC_BORDER_COLOR = c_int  # enum

# values for enumeration 'D3D12_BUFFER_SRV_FLAGS'
D3D12_BUFFER_SRV_FLAG_NONE = 0
D3D12_BUFFER_SRV_FLAG_RAW = 1
D3D12_BUFFER_SRV_FLAGS = c_int  # enum

# values for enumeration 'D3D12_RTV_DIMENSION'
D3D12_RTV_DIMENSION_UNKNOWN = 0
D3D12_RTV_DIMENSION_BUFFER = 1
D3D12_RTV_DIMENSION_TEXTURE1D = 2
D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3
D3D12_RTV_DIMENSION_TEXTURE2D = 4
D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5
D3D12_RTV_DIMENSION_TEXTURE2DMS = 6
D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7
D3D12_RTV_DIMENSION_TEXTURE3D = 8
D3D12_RTV_DIMENSION = c_int  # enum

# values for enumeration 'D3D_ROOT_SIGNATURE_VERSION'
D3D_ROOT_SIGNATURE_VERSION_1 = 1
D3D_ROOT_SIGNATURE_VERSION_1_0 = 1
D3D_ROOT_SIGNATURE_VERSION_1_1 = 2
D3D_ROOT_SIGNATURE_VERSION = c_int  # enum

# values for enumeration 'D3D12_DESCRIPTOR_RANGE_FLAGS'
D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 1
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 2
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 4
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 8
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 65536
D3D12_DESCRIPTOR_RANGE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_DSV_DIMENSION'
D3D12_DSV_DIMENSION_UNKNOWN = 0
D3D12_DSV_DIMENSION_TEXTURE1D = 1
D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2
D3D12_DSV_DIMENSION_TEXTURE2D = 3
D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4
D3D12_DSV_DIMENSION_TEXTURE2DMS = 5
D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
D3D12_DSV_DIMENSION = c_int  # enum

# values for enumeration 'D3D12_DSV_FLAGS'
D3D12_DSV_FLAG_NONE = 0
D3D12_DSV_FLAG_READ_ONLY_DEPTH = 1
D3D12_DSV_FLAG_READ_ONLY_STENCIL = 2
D3D12_DSV_FLAGS = c_int  # enum

# values for enumeration 'D3D12_TILE_MAPPING_FLAGS'
D3D12_TILE_MAPPING_FLAG_NONE = 0
D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 1
D3D12_TILE_MAPPING_FLAGS = c_int  # enum

# values for enumeration 'D3D12_COMMAND_QUEUE_FLAGS'
D3D12_COMMAND_QUEUE_FLAG_NONE = 0
D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 1
D3D12_COMMAND_QUEUE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_DRED_ENABLEMENT'
D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0
D3D12_DRED_ENABLEMENT_FORCED_OFF = 1
D3D12_DRED_ENABLEMENT_FORCED_ON = 2
D3D12_DRED_ENABLEMENT = c_int  # enum

# values for enumeration 'D3D12_INPUT_CLASSIFICATION'
D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0
D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
D3D12_INPUT_CLASSIFICATION = c_int  # enum

# values for enumeration 'D3D12_RESOURCE_DIMENSION'
D3D12_RESOURCE_DIMENSION_UNKNOWN = 0
D3D12_RESOURCE_DIMENSION_BUFFER = 1
D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2
D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3
D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
D3D12_RESOURCE_DIMENSION = c_int  # enum

# values for enumeration 'D3D12_AUTO_BREADCRUMB_OP'
D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0
D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 1
D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 2
D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 3
D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 4
D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 5
D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 6
D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 7
D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 8
D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 9
D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 10
D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 11
D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 12
D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 13
D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 14
D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 15
D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 16
D3D12_AUTO_BREADCRUMB_OP_PRESENT = 17
D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 18
D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 19
D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 20
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 21
D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 22
D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 23
D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 24
D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 25
D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 26
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 27
D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 28
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 29
D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 30
D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31
D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32
D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 33
D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 34
D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 35
D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 36
D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 37
D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 38
D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 39
D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 40
D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 41
D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 42
D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 43
D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 44
D3D12_AUTO_BREADCRUMB_OP = c_int  # enum

# values for enumeration 'D3D12_FILTER'
D3D12_FILTER_MIN_MAG_MIP_POINT = 0
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 1
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 4
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 5
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 16
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 17
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 20
D3D12_FILTER_MIN_MAG_MIP_LINEAR = 21
D3D12_FILTER_ANISOTROPIC = 85
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 128
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 129
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 132
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 133
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 144
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 145
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 148
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 149
D3D12_FILTER_COMPARISON_ANISOTROPIC = 213
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 256
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 257
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 260
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 261
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 272
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 273
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 276
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 277
D3D12_FILTER_MINIMUM_ANISOTROPIC = 341
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 384
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 385
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 388
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 389
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 400
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 401
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 404
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 405
D3D12_FILTER_MAXIMUM_ANISOTROPIC = 469
D3D12_FILTER = c_int  # enum

# values for enumeration 'D3D12_TEXTURE_ADDRESS_MODE'
D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1
D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2
D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3
D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4
D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
D3D12_TEXTURE_ADDRESS_MODE = c_int  # enum

# values for enumeration 'D3D12_SRV_DIMENSION'
D3D12_SRV_DIMENSION_UNKNOWN = 0
D3D12_SRV_DIMENSION_BUFFER = 1
D3D12_SRV_DIMENSION_TEXTURE1D = 2
D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3
D3D12_SRV_DIMENSION_TEXTURE2D = 4
D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5
D3D12_SRV_DIMENSION_TEXTURE2DMS = 6
D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7
D3D12_SRV_DIMENSION_TEXTURE3D = 8
D3D12_SRV_DIMENSION_TEXTURECUBE = 9
D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10
D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = 11
D3D12_SRV_DIMENSION = c_int  # enum

# values for enumeration 'D3D12_DRED_ALLOCATION_TYPE'
D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 19
D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 20
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 21
D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 22
D3D12_DRED_ALLOCATION_TYPE_FENCE = 23
D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 24
D3D12_DRED_ALLOCATION_TYPE_HEAP = 25
D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 27
D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 28
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 29
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 30
D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 32
D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 34
D3D12_DRED_ALLOCATION_TYPE_PASS = 35
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 36
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 37
D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 38
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 39
D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 40
D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 41
D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 42
D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 43
D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 44
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 45
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 46
D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 47
D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 48
D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 49
D3D12_DRED_ALLOCATION_TYPE_INVALID = -1
D3D12_DRED_ALLOCATION_TYPE = c_int  # enum

# values for enumeration 'D3D12_RESOLVE_MODE'
D3D12_RESOLVE_MODE_DECOMPRESS = 0
D3D12_RESOLVE_MODE_MIN = 1
D3D12_RESOLVE_MODE_MAX = 2
D3D12_RESOLVE_MODE_AVERAGE = 3
D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4
D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
D3D12_RESOLVE_MODE = c_int  # enum

# values for enumeration 'D3D12_MEASUREMENTS_ACTION'
D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0
D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = 1
D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = 2
D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = 3
D3D12_MEASUREMENTS_ACTION = c_int  # enum

# values for enumeration 'D3D12_QUERY_HEAP_TYPE'
D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0
D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2
D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3
D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = 4
D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7
D3D12_QUERY_HEAP_TYPE = c_int  # enum

# values for enumeration 'D3D12_TILE_COPY_FLAGS'
D3D12_TILE_COPY_FLAG_NONE = 0
D3D12_TILE_COPY_FLAG_NO_HAZARD = 1
D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 2
D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 4
D3D12_TILE_COPY_FLAGS = c_int  # enum

# values for enumeration 'D3D_PRIMITIVE_TOPOLOGY'
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0
D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1
D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = 0
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = 1
D3D10_PRIMITIVE_TOPOLOGY_LINELIST = 2
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = 3
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = 0
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = 1
D3D11_PRIMITIVE_TOPOLOGY_LINELIST = 2
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = 3
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64
D3D_PRIMITIVE_TOPOLOGY = c_int  # enum

# values for enumeration 'D3D12_CLEAR_FLAGS'
D3D12_CLEAR_FLAG_DEPTH = 1
D3D12_CLEAR_FLAG_STENCIL = 2
D3D12_CLEAR_FLAGS = c_int  # enum

# values for enumeration 'D3D12_QUERY_TYPE'
D3D12_QUERY_TYPE_OCCLUSION = 0
D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1
D3D12_QUERY_TYPE_TIMESTAMP = 2
D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7
D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = 8
D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10
D3D12_QUERY_TYPE = c_int  # enum

# values for enumeration 'D3D12_PREDICATION_OP'
D3D12_PREDICATION_OP_EQUAL_ZERO = 0
D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
D3D12_PREDICATION_OP = c_int  # enum

# values for enumeration 'D3D12_INDIRECT_ARGUMENT_TYPE'
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = 1
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = 2
D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = 3
D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = 4
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = 6
D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = 7
D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = 9
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = 10
D3D12_INDIRECT_ARGUMENT_TYPE = c_int  # enum

# values for enumeration 'D3D12_WRITEBUFFERIMMEDIATE_MODE'
D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 1
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 2
D3D12_WRITEBUFFERIMMEDIATE_MODE = c_int  # enum

# values for enumeration 'D3D12_RENDER_PASS_FLAGS'
D3D12_RENDER_PASS_FLAG_NONE = 0
D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 1
D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 2
D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 4
D3D12_RENDER_PASS_FLAGS = c_int  # enum

# values for enumeration 'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE'
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = 1
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = 2
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = 3
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = c_int  # enum

# values for enumeration 'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE'
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = 1
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = 2
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = 3
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = c_int  # enum

# values for enumeration 'D3D12_SHADER_CACHE_MODE'
D3D12_SHADER_CACHE_MODE_MEMORY = 0
D3D12_SHADER_CACHE_MODE_DISK = 1
D3D12_SHADER_CACHE_MODE = c_int  # enum

# values for enumeration 'D3D12_META_COMMAND_PARAMETER_STAGE'
D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0
D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 1
D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 2
D3D12_META_COMMAND_PARAMETER_STAGE = c_int  # enum

# values for enumeration 'D3D12_TEXTURE_LAYOUT'
D3D12_TEXTURE_LAYOUT_UNKNOWN = 0
D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1
D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2
D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
D3D12_TEXTURE_LAYOUT = c_int  # enum

# values for enumeration 'D3D12_RESOURCE_FLAGS'
D3D12_RESOURCE_FLAG_NONE = 0
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 1
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 2
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 4
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 8
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 16
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 32
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 64
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 128
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 256
D3D12_RESOURCE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_SHADER_CACHE_FLAGS'
D3D12_SHADER_CACHE_FLAG_NONE = 0
D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 1
D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 2
D3D12_SHADER_CACHE_FLAGS = c_int  # enum

# values for enumeration 'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE'
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 1
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = c_int  # enum

# values for enumeration 'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS'
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 1
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 2
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 4
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 8
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 16
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 32
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = c_int  # enum

# values for enumeration 'D3D12_ELEMENTS_LAYOUT'
D3D12_ELEMENTS_LAYOUT_ARRAY = 0
D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 1
D3D12_ELEMENTS_LAYOUT = c_int  # enum

# values for enumeration 'D3D12_SHADER_CACHE_KIND_FLAGS'
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 1
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 2
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 4
D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 8
D3D12_SHADER_CACHE_KIND_FLAGS = c_int  # enum

# values for enumeration 'D3D12_SHADER_CACHE_CONTROL_FLAGS'
D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 1
D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 2
D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 4
D3D12_SHADER_CACHE_CONTROL_FLAGS = c_int  # enum

# values for enumeration 'D3D12_BARRIER_LAYOUT'
D3D12_BARRIER_LAYOUT_UNDEFINED = -1
D3D12_BARRIER_LAYOUT_COMMON = 0
D3D12_BARRIER_LAYOUT_PRESENT = 0
D3D12_BARRIER_LAYOUT_GENERIC_READ = 1
D3D12_BARRIER_LAYOUT_RENDER_TARGET = 2
D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 3
D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 4
D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 5
D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 6
D3D12_BARRIER_LAYOUT_COPY_SOURCE = 7
D3D12_BARRIER_LAYOUT_COPY_DEST = 8
D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 9
D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 10
D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 11
D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 12
D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 13
D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 14
D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 15
D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 16
D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 17
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 18
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 19
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 20
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 21
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 22
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 23
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 24
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 25
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 26
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 27
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 28
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 29
D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = 30
D3D12_BARRIER_LAYOUT = c_int  # enum

# values for enumeration 'D3D12_TEXTURE_COPY_TYPE'
D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0
D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
D3D12_TEXTURE_COPY_TYPE = c_int  # enum

# values for enumeration 'D3D12_RESIDENCY_FLAGS'
D3D12_RESIDENCY_FLAG_NONE = 0
D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 1
D3D12_RESIDENCY_FLAGS = c_int  # enum

# values for enumeration 'D3D12_COMMAND_LIST_FLAGS'
D3D12_COMMAND_LIST_FLAG_NONE = 0
D3D12_COMMAND_LIST_FLAGS = c_int  # enum

# values for enumeration 'D3D12_LIFETIME_STATE'
D3D12_LIFETIME_STATE_IN_USE = 0
D3D12_LIFETIME_STATE_NOT_IN_USE = 1
D3D12_LIFETIME_STATE = c_int  # enum

# values for enumeration 'D3D12_RESOURCE_BARRIER_TYPE'
D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0
D3D12_RESOURCE_BARRIER_TYPE_ALIASING = 1
D3D12_RESOURCE_BARRIER_TYPE_UAV = 2
D3D12_RESOURCE_BARRIER_TYPE = c_int  # enum

# values for enumeration 'D3D12_RESOURCE_BARRIER_FLAGS'
D3D12_RESOURCE_BARRIER_FLAG_NONE = 0
D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 1
D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 2
D3D12_RESOURCE_BARRIER_FLAGS = c_int  # enum

# values for enumeration 'D3D12_GRAPHICS_STATES'
D3D12_GRAPHICS_STATE_NONE = 0
D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = 1
D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = 2
D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = 4
D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = 8
D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = 16
D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = 32
D3D12_GRAPHICS_STATE_RS_VIEWPORTS = 64
D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = 128
D3D12_GRAPHICS_STATE_PREDICATION = 256
D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = 512
D3D12_GRAPHICS_STATE_OM_STENCIL_REF = 1024
D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = 2048
D3D12_GRAPHICS_STATE_PIPELINE_STATE = 4096
D3D12_GRAPHICS_STATE_SO_TARGETS = 8192
D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = 16384
D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = 32768
D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = 65536
D3D12_GRAPHICS_STATES = c_int  # enum

# values for enumeration 'D3D12_META_COMMAND_PARAMETER_TYPE'
D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0
D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 1
D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 2
D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3
D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4
D3D12_META_COMMAND_PARAMETER_TYPE = c_int  # enum

# values for enumeration 'D3D12_META_COMMAND_PARAMETER_FLAGS'
D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 1
D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 2
D3D12_META_COMMAND_PARAMETER_FLAGS = c_int  # enum

# values for enumeration 'D3D12_STATE_OBJECT_TYPE'
D3D12_STATE_OBJECT_TYPE_COLLECTION = 0
D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 3
D3D12_STATE_OBJECT_TYPE = c_int  # enum

# values for enumeration 'D3D12_STATE_SUBOBJECT_TYPE'
D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0
D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 1
D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 2
D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 3
D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 5
D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 6
D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7
D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 9
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 10
D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 11
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 12
D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = 13
D3D12_STATE_SUBOBJECT_TYPE = c_int  # enum

# values for enumeration 'D3D12_SERIALIZED_DATA_TYPE'
D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0
D3D12_SERIALIZED_DATA_TYPE = c_int  # enum

# values for enumeration 'D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS'
D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0
D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 1
D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 2
D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 3
D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 4
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = c_int  # enum

# values for enumeration 'D3D12_RAYTRACING_GEOMETRY_TYPE'
D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0
D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = 1
D3D12_RAYTRACING_GEOMETRY_TYPE = c_int  # enum

# values for enumeration 'D3D12_RAYTRACING_GEOMETRY_FLAGS'
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 1
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 2
D3D12_RAYTRACING_GEOMETRY_FLAGS = c_int  # enum

# values for enumeration 'D3D12_BACKGROUND_PROCESSING_MODE'
D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0
D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = 1
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = 2
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = 3
D3D12_BACKGROUND_PROCESSING_MODE = c_int  # enum



class ID3D12Object(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{C4FEC28F-7966-4E95-9F94-F431CB56C3B8}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetPrivateData(self, guid: hints.Incomplete, pDataSize: hints.Incomplete, pData: hints.Incomplete) -> hints.Hresult: ...
        def SetPrivateData(self, guid: hints.Incomplete, DataSize: hints.Incomplete, pData: hints.Incomplete) -> hints.Hresult: ...
        def SetPrivateDataInterface(self, guid: hints.Incomplete, pData: hints.Incomplete) -> hints.Hresult: ...
        def SetName(self, Name: hints.Incomplete) -> hints.Hresult: ...


class ID3D12DeviceChild(ID3D12Object):
    _case_insensitive_ = True
    _iid_ = GUID('{905DB94B-A00C-4140-9DF5-2B64CA9EA357}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetDevice(self, riid: hints.Incomplete) -> hints.Incomplete: ...


class ID3D12Pageable(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{63EE58FB-1268-4835-86DA-F008CE62F0D6}')
    _idlflags_ = []


class ID3D12CommandSignature(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{C36A797C-EC80-4F0A-8985-A7B2475082D1}')
    _idlflags_ = []


ID3D12Object._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetPrivateData',
        (
            [],
            POINTER(OLE.GUID),
            'guid',
        ),
        ([], POINTER(c_uint), 'pDataSize'),
        ([], c_void_p, 'pData')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetPrivateData',
        (
            [],
            POINTER(OLE.GUID),
            'guid',
        ),
        ([], c_uint, 'DataSize'),
        ([], c_void_p, 'pData')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetPrivateDataInterface',
        (
            [],
            POINTER(OLE.GUID),
            'guid',
        ),
        ([], POINTER(IUnknown), 'pData')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetName',
        ([], WSTRING, 'Name')
    ),
]

################################################################
# code template for ID3D12Object implementation
# class ID3D12Object_Impl(object):
#     def GetPrivateData(self, guid, pDataSize, pData):
#         '-no docstring-'
#         #return 
#
#     def SetPrivateData(self, guid, DataSize, pData):
#         '-no docstring-'
#         #return 
#
#     def SetPrivateDataInterface(self, guid, pData):
#         '-no docstring-'
#         #return 
#
#     def SetName(self, Name):
#         '-no docstring-'
#         #return 
#

ID3D12DeviceChild._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetDevice',
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvDevice')
    ),
]

################################################################
# code template for ID3D12DeviceChild implementation
# class ID3D12DeviceChild_Impl(object):
#     def GetDevice(self, riid):
#         '-no docstring-'
#         #return ppvDevice
#

ID3D12Pageable._methods_ = [
]

################################################################
# code template for ID3D12Pageable implementation
# class ID3D12Pageable_Impl(object):

ID3D12CommandSignature._methods_ = [
]

################################################################
# code template for ID3D12CommandSignature implementation
# class ID3D12CommandSignature_Impl(object):


class D3D12_TILE_REGION_SIZE(Structure):
    pass


D3D12_TILE_REGION_SIZE._fields_ = [
    ('NumTiles', c_uint),
    ('UseBox', c_int),
    ('Width', c_uint),
    ('Height', c_ushort),
    ('Depth', c_ushort),
]

assert sizeof(D3D12_TILE_REGION_SIZE) == 16, sizeof(D3D12_TILE_REGION_SIZE)
assert alignment(D3D12_TILE_REGION_SIZE) == 4, alignment(D3D12_TILE_REGION_SIZE)


class D3D12_CPU_DESCRIPTOR_HANDLE(Structure):
    pass


D3D12_CPU_DESCRIPTOR_HANDLE._fields_ = [
    ('ptr', ULONG_PTR),
]

assert sizeof(D3D12_CPU_DESCRIPTOR_HANDLE) == 8, sizeof(D3D12_CPU_DESCRIPTOR_HANDLE)
assert alignment(D3D12_CPU_DESCRIPTOR_HANDLE) == 8, alignment(D3D12_CPU_DESCRIPTOR_HANDLE)


class D3D12_SHADER_BYTECODE(Structure):
    pass


D3D12_SHADER_BYTECODE._fields_ = [
    ('pShaderBytecode', c_void_p),
    ('BytecodeLength', ULONG_PTR),
]

assert sizeof(D3D12_SHADER_BYTECODE) == 16, sizeof(D3D12_SHADER_BYTECODE)
assert alignment(D3D12_SHADER_BYTECODE) == 8, alignment(D3D12_SHADER_BYTECODE)


class D3D12_STREAM_OUTPUT_DESC(Structure):
    pass


class D3D12_SO_DECLARATION_ENTRY(Structure):
    pass


D3D12_STREAM_OUTPUT_DESC._fields_ = [
    ('pSODeclaration', POINTER(D3D12_SO_DECLARATION_ENTRY)),
    ('NumEntries', c_uint),
    ('pBufferStrides', POINTER(c_uint)),
    ('NumStrides', c_uint),
    ('RasterizedStream', c_uint),
]

assert sizeof(D3D12_STREAM_OUTPUT_DESC) == 32, sizeof(D3D12_STREAM_OUTPUT_DESC)
assert alignment(D3D12_STREAM_OUTPUT_DESC) == 8, alignment(D3D12_STREAM_OUTPUT_DESC)


class D3D12_GPU_DESCRIPTOR_HANDLE(Structure):
    pass


D3D12_GPU_DESCRIPTOR_HANDLE._fields_ = [
    ('ptr', c_ulonglong),
]

assert sizeof(D3D12_GPU_DESCRIPTOR_HANDLE) == 8, sizeof(D3D12_GPU_DESCRIPTOR_HANDLE)
assert alignment(D3D12_GPU_DESCRIPTOR_HANDLE) == 8, alignment(D3D12_GPU_DESCRIPTOR_HANDLE)


class ID3D12ProtectedSession(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{A1533D18-0AC1-4084-85B9-89A96116806B}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetStatusFence(self, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetSessionStatus(self) -> hints.Hresult: ...


class ID3D12ProtectedResourceSession(ID3D12ProtectedSession):
    _case_insensitive_ = True
    _iid_ = GUID('{6CD696F4-F289-40CC-8091-5A6C0A099C3D}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetDesc(self) -> hints.Hresult: ...


ID3D12ProtectedSession._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetStatusFence',
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppFence')
    ),
    COMMETHOD([], D3D12_PROTECTED_SESSION_STATUS, 'GetSessionStatus'),
]

################################################################
# code template for ID3D12ProtectedSession implementation
# class ID3D12ProtectedSession_Impl(object):
#     def GetStatusFence(self, riid):
#         '-no docstring-'
#         #return ppFence
#
#     def GetSessionStatus(self):
#         '-no docstring-'
#         #return 
#


class D3D12_PROTECTED_RESOURCE_SESSION_DESC(Structure):
    pass


D3D12_PROTECTED_RESOURCE_SESSION_DESC._fields_ = [
    ('NodeMask', c_uint),
    ('Flags', D3D12_PROTECTED_RESOURCE_SESSION_FLAGS),
]

assert sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC) == 8, sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC)
assert alignment(D3D12_PROTECTED_RESOURCE_SESSION_DESC) == 4, alignment(D3D12_PROTECTED_RESOURCE_SESSION_DESC)

ID3D12ProtectedResourceSession._methods_ = [
    COMMETHOD([], D3D12_PROTECTED_RESOURCE_SESSION_DESC, 'GetDesc'),
]

################################################################
# code template for ID3D12ProtectedResourceSession implementation
# class ID3D12ProtectedResourceSession_Impl(object):
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#


class ID3D12RootSignature(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{C54A6B66-72DF-4EE8-8BE5-A946A1429214}')
    _idlflags_ = []


ID3D12RootSignature._methods_ = [
]

################################################################
# code template for ID3D12RootSignature implementation
# class ID3D12RootSignature_Impl(object):


class ID3D12PipelineState(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{765A30F3-F624-4C6F-A828-ACE948622445}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetCachedBlob(self, ppBlob: hints.Incomplete) -> hints.Hresult: ...


class ID3D10Blob(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{8BA5FB08-5195-40E2-AC58-0D989C3A0102}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetBufferPointer(self) -> hints.Hresult: ...
        def GetBufferSize(self) -> hints.Hresult: ...


ID3D12PipelineState._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetCachedBlob',
        ([], POINTER(POINTER(ID3D10Blob)), 'ppBlob')
    ),
]

################################################################
# code template for ID3D12PipelineState implementation
# class ID3D12PipelineState_Impl(object):
#     def GetCachedBlob(self, ppBlob):
#         '-no docstring-'
#         #return 
#


class ID3D12Device(ID3D12Object):
    _case_insensitive_ = True
    _iid_ = GUID('{189819F1-1DB6-4B57-BE54-1821339B85F7}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetNodeCount(self) -> hints.Hresult: ...
        def CreateCommandQueue(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateCommandAllocator(self, Type: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateGraphicsPipelineState(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateComputePipelineState(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateCommandList(self, NodeMask: hints.Incomplete, Type: hints.Incomplete, pCommandAllocator: hints.Incomplete, pInitialState: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CheckFeatureSupport(self, Feature: hints.Incomplete, pFeatureSupportData: hints.Incomplete, FeatureSupportDataSize: hints.Incomplete) -> hints.Hresult: ...
        def CreateDescriptorHeap(self, pDescriptorHeapDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetDescriptorHandleIncrementSize(self, DescriptorHeapType: hints.Incomplete) -> hints.Hresult: ...
        def CreateRootSignature(self, NodeMask: hints.Incomplete, pBlobWithRootSignature: hints.Incomplete, blobLengthInBytes: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateConstantBufferView(self, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CreateShaderResourceView(self, pResource: hints.Incomplete, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CreateUnorderedAccessView(self, pResource: hints.Incomplete, pCounterResource: hints.Incomplete, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CreateRenderTargetView(self, pResource: hints.Incomplete, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CreateDepthStencilView(self, pResource: hints.Incomplete, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CreateSampler(self, pDesc: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def CopyDescriptors(self, NumDestDescriptorRanges: hints.Incomplete, pDestDescriptorRangeStarts: hints.Incomplete, pDestDescriptorRangeSizes: hints.Incomplete, NumSrcDescriptorRanges: hints.Incomplete, pSrcDescriptorRangeStarts: hints.Incomplete, pSrcDescriptorRangeSizes: hints.Incomplete, DescriptorHeapsType: hints.Incomplete) -> hints.Hresult: ...
        def CopyDescriptorsSimple(self, NumDescriptors: hints.Incomplete, DestDescriptorRangeStart: hints.Incomplete, SrcDescriptorRangeStart: hints.Incomplete, DescriptorHeapsType: hints.Incomplete) -> hints.Hresult: ...
        def GetResourceAllocationInfo(self, visibleMask: hints.Incomplete, numResourceDescs: hints.Incomplete, pResourceDescs: hints.Incomplete) -> hints.Hresult: ...
        def GetCustomHeapProperties(self, NodeMask: hints.Incomplete, heapType: hints.Incomplete) -> hints.Hresult: ...
        def CreateCommittedResource(self, pHeapProperties: hints.Incomplete, HeapFlags: hints.Incomplete, pDesc: hints.Incomplete, InitialResourceState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, riidResource: hints.Incomplete) -> hints.Incomplete: ...
        def CreateHeap(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreatePlacedResource(self, pHeap: hints.Incomplete, HeapOffset: hints.Incomplete, pDesc: hints.Incomplete, InitialState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateReservedResource(self, pDesc: hints.Incomplete, InitialState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateSharedHandle(self, pObject: hints.Incomplete, pAttributes: hints.Incomplete, Access: hints.Incomplete, Name: hints.Incomplete, pHandle: hints.Incomplete) -> hints.Hresult: ...
        def OpenSharedHandle(self, NTHandle: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def OpenSharedHandleByName(self, Name: hints.Incomplete, Access: hints.Incomplete) -> hints.Incomplete: ...
        def MakeResident(self, NumObjects: hints.Incomplete, ppObjects: hints.Incomplete) -> hints.Hresult: ...
        def Evict(self, NumObjects: hints.Incomplete, ppObjects: hints.Incomplete) -> hints.Hresult: ...
        def CreateFence(self, InitialValue: hints.Incomplete, Flags: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetDeviceRemovedReason(self) -> hints.Hresult: ...
        def GetCopyableFootprints(self, pResourceDesc: hints.Incomplete, FirstSubresource: hints.Incomplete, NumSubresources: hints.Incomplete, BaseOffset: hints.Incomplete, pLayouts: hints.Incomplete, pNumRows: hints.Incomplete, pRowSizeInBytes: hints.Incomplete, pTotalBytes: hints.Incomplete) -> hints.Hresult: ...
        def CreateQueryHeap(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def SetStablePowerState(self, Enable: hints.Incomplete) -> hints.Hresult: ...
        def CreateCommandSignature(self, pDesc: hints.Incomplete, pRootSignature: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetResourceTiling(self, pTiledResource: hints.Incomplete, pNumTilesForEntireResource: hints.Incomplete, pPackedMipDesc: hints.Incomplete, pStandardTileShapeForNonPackedMips: hints.Incomplete, pNumSubresourceTilings: hints.Incomplete, FirstSubresourceTilingToGet: hints.Incomplete, pSubresourceTilingsForNonPackedMips: hints.Incomplete) -> hints.Hresult: ...
        def GetAdapterLuid(self) -> hints.Hresult: ...


class ID3D12Device1(ID3D12Device):
    _case_insensitive_ = True
    _iid_ = GUID('{77ACCE80-638E-4E65-8895-C1F23386863E}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreatePipelineLibrary(self, pLibraryBlob: hints.Incomplete, BlobLength: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def SetEventOnMultipleFenceCompletion(self, ppFences: hints.Incomplete, pFenceValues: hints.Incomplete, NumFences: hints.Incomplete, Flags: hints.Incomplete, hEvent: hints.Incomplete) -> hints.Hresult: ...
        def SetResidencyPriority(self, NumObjects: hints.Incomplete, ppObjects: hints.Incomplete, pPriorities: hints.Incomplete) -> hints.Hresult: ...


class D3D12_COMMAND_QUEUE_DESC(Structure):
    pass


class D3D12_GRAPHICS_PIPELINE_STATE_DESC(Structure):
    pass


class D3D12_COMPUTE_PIPELINE_STATE_DESC(Structure):
    pass


class ID3D12CommandAllocator(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{6102DEE4-AF59-4B09-B999-B44D73F09B24}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def Reset(self) -> hints.Hresult: ...


class D3D12_DESCRIPTOR_HEAP_DESC(Structure):
    pass


class D3D12_CONSTANT_BUFFER_VIEW_DESC(Structure):
    pass


class ID3D12Resource(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{696442BE-A72E-4059-BC79-5B5C98040FAD}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def Map(self, Subresource: hints.Incomplete, pReadRange: hints.Incomplete, ppData: hints.Incomplete) -> hints.Hresult: ...
        def Unmap(self, Subresource: hints.Incomplete, pWrittenRange: hints.Incomplete) -> hints.Hresult: ...
        def GetDesc(self) -> hints.Hresult: ...
        def GetGPUVirtualAddress(self) -> hints.Hresult: ...
        def WriteToSubresource(self, DstSubresource: hints.Incomplete, pDstBox: hints.Incomplete, pSrcData: hints.Incomplete, SrcRowPitch: hints.Incomplete, SrcDepthPitch: hints.Incomplete) -> hints.Hresult: ...
        def ReadFromSubresource(self, pDstData: hints.Incomplete, DstRowPitch: hints.Incomplete, DstDepthPitch: hints.Incomplete, SrcSubresource: hints.Incomplete, pSrcBox: hints.Incomplete) -> hints.Hresult: ...
        def GetHeapProperties(self, pHeapProperties: hints.Incomplete, pHeapFlags: hints.Incomplete) -> hints.Hresult: ...


class D3D12_SHADER_RESOURCE_VIEW_DESC(Structure):
    pass


class D3D12_UNORDERED_ACCESS_VIEW_DESC(Structure):
    pass


class D3D12_RENDER_TARGET_VIEW_DESC(Structure):
    pass


class D3D12_DEPTH_STENCIL_VIEW_DESC(Structure):
    pass


class D3D12_SAMPLER_DESC(Structure):
    pass


class D3D12_RESOURCE_DESC(Structure):
    pass


class D3D12_RESOURCE_ALLOCATION_INFO(Structure):
    pass


D3D12_RESOURCE_ALLOCATION_INFO._fields_ = [
    ('SizeInBytes', c_ulonglong),
    ('Alignment', c_ulonglong),
]

assert sizeof(D3D12_RESOURCE_ALLOCATION_INFO) == 16, sizeof(D3D12_RESOURCE_ALLOCATION_INFO)
assert alignment(D3D12_RESOURCE_ALLOCATION_INFO) == 8, alignment(D3D12_RESOURCE_ALLOCATION_INFO)


class D3D12_HEAP_PROPERTIES(Structure):
    pass


D3D12_HEAP_PROPERTIES._fields_ = [
    ('Type', D3D12_HEAP_TYPE),
    ('CPUPageProperty', D3D12_CPU_PAGE_PROPERTY),
    ('MemoryPoolPreference', D3D12_MEMORY_POOL),
    ('CreationNodeMask', c_uint),
    ('VisibleNodeMask', c_uint),
]

assert sizeof(D3D12_HEAP_PROPERTIES) == 20, sizeof(D3D12_HEAP_PROPERTIES)
assert alignment(D3D12_HEAP_PROPERTIES) == 4, alignment(D3D12_HEAP_PROPERTIES)


class D3D12_CLEAR_VALUE(Structure):
    pass


class D3D12_HEAP_DESC(Structure):
    pass


class ID3D12Heap(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{6B3B2502-6E51-45B3-90EE-9884265E8DF3}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetDesc(self) -> hints.Hresult: ...


class _SECURITY_ATTRIBUTES(Structure):
    pass


class D3D12_PLACED_SUBRESOURCE_FOOTPRINT(Structure):
    pass


class D3D12_QUERY_HEAP_DESC(Structure):
    pass


class D3D12_COMMAND_SIGNATURE_DESC(Structure):
    pass


class D3D12_PACKED_MIP_INFO(Structure):
    pass


class D3D12_TILE_SHAPE(Structure):
    pass


class D3D12_SUBRESOURCE_TILING(Structure):
    pass


class __LUID(Structure):
    pass


__LUID._fields_ = [
    ('LowPart', c_ulong),
    ('HighPart', c_int),
]

assert sizeof(__LUID) == 8, sizeof(__LUID)
assert alignment(__LUID) == 4, alignment(__LUID)

ID3D12Device._methods_ = [
    COMMETHOD([], c_uint, 'GetNodeCount'),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandQueue',
        ([], POINTER(D3D12_COMMAND_QUEUE_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppCommandQueue')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandAllocator',
        ([], D3D12_COMMAND_LIST_TYPE, 'Type'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppCommandAllocator')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateGraphicsPipelineState',
        ([], POINTER(D3D12_GRAPHICS_PIPELINE_STATE_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateComputePipelineState',
        ([], POINTER(D3D12_COMPUTE_PIPELINE_STATE_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandList',
        ([], c_uint, 'NodeMask'),
        ([], D3D12_COMMAND_LIST_TYPE, 'Type'),
        ([], POINTER(ID3D12CommandAllocator), 'pCommandAllocator'),
        ([], POINTER(ID3D12PipelineState), 'pInitialState'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppCommandList')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CheckFeatureSupport',
        ([], D3D12_FEATURE, 'Feature'),
        ([], c_void_p, 'pFeatureSupportData'),
        ([], c_uint, 'FeatureSupportDataSize')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateDescriptorHeap',
        ([], POINTER(D3D12_DESCRIPTOR_HEAP_DESC), 'pDescriptorHeapDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        c_uint,
        'GetDescriptorHandleIncrementSize',
        ([], D3D12_DESCRIPTOR_HEAP_TYPE, 'DescriptorHeapType')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateRootSignature',
        ([], c_uint, 'NodeMask'),
        ([], c_void_p, 'pBlobWithRootSignature'),
        ([], ULONG_PTR, 'blobLengthInBytes'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvRootSignature')
    ),
    COMMETHOD(
        [],
        None,
        'CreateConstantBufferView',
        ([], POINTER(D3D12_CONSTANT_BUFFER_VIEW_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CreateShaderResourceView',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], POINTER(D3D12_SHADER_RESOURCE_VIEW_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CreateUnorderedAccessView',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], POINTER(ID3D12Resource), 'pCounterResource'),
        ([], POINTER(D3D12_UNORDERED_ACCESS_VIEW_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CreateRenderTargetView',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], POINTER(D3D12_RENDER_TARGET_VIEW_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CreateDepthStencilView',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], POINTER(D3D12_DEPTH_STENCIL_VIEW_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CreateSampler',
        ([], POINTER(D3D12_SAMPLER_DESC), 'pDesc'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'CopyDescriptors',
        ([], c_uint, 'NumDestDescriptorRanges'),
        ([], POINTER(D3D12_CPU_DESCRIPTOR_HANDLE), 'pDestDescriptorRangeStarts'),
        ([], POINTER(c_uint), 'pDestDescriptorRangeSizes'),
        ([], c_uint, 'NumSrcDescriptorRanges'),
        ([], POINTER(D3D12_CPU_DESCRIPTOR_HANDLE), 'pSrcDescriptorRangeStarts'),
        ([], POINTER(c_uint), 'pSrcDescriptorRangeSizes'),
        ([], D3D12_DESCRIPTOR_HEAP_TYPE, 'DescriptorHeapsType')
    ),
    COMMETHOD(
        [],
        None,
        'CopyDescriptorsSimple',
        ([], c_uint, 'NumDescriptors'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptorRangeStart'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'SrcDescriptorRangeStart'),
        ([], D3D12_DESCRIPTOR_HEAP_TYPE, 'DescriptorHeapsType')
    ),
    COMMETHOD(
        [],
        D3D12_RESOURCE_ALLOCATION_INFO,
        'GetResourceAllocationInfo',
        ([], c_uint, 'visibleMask'),
        ([], c_uint, 'numResourceDescs'),
        ([], POINTER(D3D12_RESOURCE_DESC), 'pResourceDescs')
    ),
    COMMETHOD(
        [],
        D3D12_HEAP_PROPERTIES,
        'GetCustomHeapProperties',
        ([], c_uint, 'NodeMask'),
        ([], D3D12_HEAP_TYPE, 'heapType')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommittedResource',
        ([], POINTER(D3D12_HEAP_PROPERTIES), 'pHeapProperties'),
        ([], D3D12_HEAP_FLAGS, 'HeapFlags'),
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialResourceState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riidResource',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateHeap',
        ([], POINTER(D3D12_HEAP_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreatePlacedResource',
        ([], POINTER(ID3D12Heap), 'pHeap'),
        ([], c_ulonglong, 'HeapOffset'),
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateReservedResource',
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateSharedHandle',
        ([], POINTER(ID3D12DeviceChild), 'pObject'),
        ([], POINTER(_SECURITY_ATTRIBUTES), 'pAttributes'),
        ([], c_ulong, 'Access'),
        ([], WSTRING, 'Name'),
        ([], POINTER(c_void_p), 'pHandle')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'OpenSharedHandle',
        ([], c_void_p, 'NTHandle'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvObj')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'OpenSharedHandleByName',
        ([], WSTRING, 'Name'),
        ([], c_ulong, 'Access'),
        (['out'], POINTER(c_void_p), 'pNTHandle')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'MakeResident',
        ([], c_uint, 'NumObjects'),
        ([], POINTER(POINTER(ID3D12Pageable)), 'ppObjects')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'Evict',
        ([], c_uint, 'NumObjects'),
        ([], POINTER(POINTER(ID3D12Pageable)), 'ppObjects')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateFence',
        ([], c_ulonglong, 'InitialValue'),
        ([], D3D12_FENCE_FLAGS, 'Flags'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppFence')
    ),
    COMMETHOD([], HRESULT, 'GetDeviceRemovedReason'),
    COMMETHOD(
        [],
        None,
        'GetCopyableFootprints',
        ([], POINTER(D3D12_RESOURCE_DESC), 'pResourceDesc'),
        ([], c_uint, 'FirstSubresource'),
        ([], c_uint, 'NumSubresources'),
        ([], c_ulonglong, 'BaseOffset'),
        ([], POINTER(D3D12_PLACED_SUBRESOURCE_FOOTPRINT), 'pLayouts'),
        ([], POINTER(c_uint), 'pNumRows'),
        ([], POINTER(c_ulonglong), 'pRowSizeInBytes'),
        ([], POINTER(c_ulonglong), 'pTotalBytes')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateQueryHeap',
        ([], POINTER(D3D12_QUERY_HEAP_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetStablePowerState',
        ([], c_int, 'Enable')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandSignature',
        ([], POINTER(D3D12_COMMAND_SIGNATURE_DESC), 'pDesc'),
        ([], POINTER(ID3D12RootSignature), 'pRootSignature'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvCommandSignature')
    ),
    COMMETHOD(
        [],
        None,
        'GetResourceTiling',
        ([], POINTER(ID3D12Resource), 'pTiledResource'),
        ([], POINTER(c_uint), 'pNumTilesForEntireResource'),
        ([], POINTER(D3D12_PACKED_MIP_INFO), 'pPackedMipDesc'),
        ([], POINTER(D3D12_TILE_SHAPE), 'pStandardTileShapeForNonPackedMips'),
        ([], POINTER(c_uint), 'pNumSubresourceTilings'),
        ([], c_uint, 'FirstSubresourceTilingToGet'),
        (
            [],
            POINTER(D3D12_SUBRESOURCE_TILING),
            'pSubresourceTilingsForNonPackedMips',
        )
    ),
    COMMETHOD([], __LUID, 'GetAdapterLuid'),
]

################################################################
# code template for ID3D12Device implementation
# class ID3D12Device_Impl(object):
#     def GetNodeCount(self):
#         '-no docstring-'
#         #return 
#
#     def CreateCommandQueue(self, pDesc, riid):
#         '-no docstring-'
#         #return ppCommandQueue
#
#     def CreateCommandAllocator(self, Type, riid):
#         '-no docstring-'
#         #return ppCommandAllocator
#
#     def CreateGraphicsPipelineState(self, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#
#     def CreateComputePipelineState(self, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#
#     def CreateCommandList(self, NodeMask, Type, pCommandAllocator, pInitialState, riid):
#         '-no docstring-'
#         #return ppCommandList
#
#     def CheckFeatureSupport(self, Feature, pFeatureSupportData, FeatureSupportDataSize):
#         '-no docstring-'
#         #return 
#
#     def CreateDescriptorHeap(self, pDescriptorHeapDesc, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def GetDescriptorHandleIncrementSize(self, DescriptorHeapType):
#         '-no docstring-'
#         #return 
#
#     def CreateRootSignature(self, NodeMask, pBlobWithRootSignature, blobLengthInBytes, riid):
#         '-no docstring-'
#         #return ppvRootSignature
#
#     def CreateConstantBufferView(self, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CreateShaderResourceView(self, pResource, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CreateUnorderedAccessView(self, pResource, pCounterResource, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CreateRenderTargetView(self, pResource, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CreateDepthStencilView(self, pResource, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CreateSampler(self, pDesc, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def CopyDescriptors(self, NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType):
#         '-no docstring-'
#         #return 
#
#     def CopyDescriptorsSimple(self, NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType):
#         '-no docstring-'
#         #return 
#
#     def GetResourceAllocationInfo(self, visibleMask, numResourceDescs, pResourceDescs):
#         '-no docstring-'
#         #return 
#
#     def GetCustomHeapProperties(self, NodeMask, heapType):
#         '-no docstring-'
#         #return 
#
#     def CreateCommittedResource(self, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateHeap(self, pDesc, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def CreatePlacedResource(self, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateReservedResource(self, pDesc, InitialState, pOptimizedClearValue, riid):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateSharedHandle(self, pObject, pAttributes, Access, Name, pHandle):
#         '-no docstring-'
#         #return 
#
#     def OpenSharedHandle(self, NTHandle, riid):
#         '-no docstring-'
#         #return ppvObj
#
#     def OpenSharedHandleByName(self, Name, Access):
#         '-no docstring-'
#         #return pNTHandle
#
#     def MakeResident(self, NumObjects, ppObjects):
#         '-no docstring-'
#         #return 
#
#     def Evict(self, NumObjects, ppObjects):
#         '-no docstring-'
#         #return 
#
#     def CreateFence(self, InitialValue, Flags, riid):
#         '-no docstring-'
#         #return ppFence
#
#     def GetDeviceRemovedReason(self):
#         '-no docstring-'
#         #return 
#
#     def GetCopyableFootprints(self, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes):
#         '-no docstring-'
#         #return 
#
#     def CreateQueryHeap(self, pDesc, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def SetStablePowerState(self, Enable):
#         '-no docstring-'
#         #return 
#
#     def CreateCommandSignature(self, pDesc, pRootSignature, riid):
#         '-no docstring-'
#         #return ppvCommandSignature
#
#     def GetResourceTiling(self, pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips):
#         '-no docstring-'
#         #return 
#
#     def GetAdapterLuid(self):
#         '-no docstring-'
#         #return 
#


class ID3D12Fence(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{0A753DCF-C4D8-4B91-ADF6-BE5A60D95A76}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetCompletedValue(self) -> hints.Hresult: ...
        def SetEventOnCompletion(self, Value: hints.Incomplete, hEvent: hints.Incomplete) -> hints.Hresult: ...
        def Signal(self, Value: hints.Incomplete) -> hints.Hresult: ...


ID3D12Device1._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreatePipelineLibrary',
        ([], c_void_p, 'pLibraryBlob'),
        ([], ULONG_PTR, 'BlobLength'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineLibrary')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetEventOnMultipleFenceCompletion',
        ([], POINTER(POINTER(ID3D12Fence)), 'ppFences'),
        ([], POINTER(c_ulonglong), 'pFenceValues'),
        ([], c_uint, 'NumFences'),
        ([], D3D12_MULTIPLE_FENCE_WAIT_FLAGS, 'Flags'),
        ([], c_void_p, 'hEvent')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'SetResidencyPriority',
        ([], c_uint, 'NumObjects'),
        ([], POINTER(POINTER(ID3D12Pageable)), 'ppObjects'),
        ([], POINTER(D3D12_RESIDENCY_PRIORITY), 'pPriorities')
    ),
]

################################################################
# code template for ID3D12Device1 implementation
# class ID3D12Device1_Impl(object):
#     def CreatePipelineLibrary(self, pLibraryBlob, BlobLength, riid):
#         '-no docstring-'
#         #return ppPipelineLibrary
#
#     def SetEventOnMultipleFenceCompletion(self, ppFences, pFenceValues, NumFences, Flags, hEvent):
#         '-no docstring-'
#         #return 
#
#     def SetResidencyPriority(self, NumObjects, ppObjects, pPriorities):
#         '-no docstring-'
#         #return 
#

D3D12_HEAP_DESC._fields_ = [
    ('SizeInBytes', c_ulonglong),
    ('Properties', D3D12_HEAP_PROPERTIES),
    ('Alignment', c_ulonglong),
    ('Flags', D3D12_HEAP_FLAGS),
]

assert sizeof(D3D12_HEAP_DESC) == 48, sizeof(D3D12_HEAP_DESC)
assert alignment(D3D12_HEAP_DESC) == 8, alignment(D3D12_HEAP_DESC)


class __MIDL___MIDL_itf_d3d12_0000_0001_0009(Union):
    pass


class D3D12_ROOT_DESCRIPTOR_TABLE1(Structure):
    pass


class D3D12_DESCRIPTOR_RANGE1(Structure):
    pass


D3D12_ROOT_DESCRIPTOR_TABLE1._fields_ = [
    ('NumDescriptorRanges', c_uint),
    ('pDescriptorRanges', POINTER(D3D12_DESCRIPTOR_RANGE1)),
]

assert sizeof(D3D12_ROOT_DESCRIPTOR_TABLE1) == 16, sizeof(D3D12_ROOT_DESCRIPTOR_TABLE1)
assert alignment(D3D12_ROOT_DESCRIPTOR_TABLE1) == 8, alignment(D3D12_ROOT_DESCRIPTOR_TABLE1)


class D3D12_ROOT_CONSTANTS(Structure):
    pass


D3D12_ROOT_CONSTANTS._fields_ = [
    ('ShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
    ('Num32BitValues', c_uint),
]

assert sizeof(D3D12_ROOT_CONSTANTS) == 12, sizeof(D3D12_ROOT_CONSTANTS)
assert alignment(D3D12_ROOT_CONSTANTS) == 4, alignment(D3D12_ROOT_CONSTANTS)


class D3D12_ROOT_DESCRIPTOR1(Structure):
    pass


D3D12_ROOT_DESCRIPTOR1._fields_ = [
    ('ShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
    ('Flags', D3D12_ROOT_DESCRIPTOR_FLAGS),
]

assert sizeof(D3D12_ROOT_DESCRIPTOR1) == 12, sizeof(D3D12_ROOT_DESCRIPTOR1)
assert alignment(D3D12_ROOT_DESCRIPTOR1) == 4, alignment(D3D12_ROOT_DESCRIPTOR1)

__MIDL___MIDL_itf_d3d12_0000_0001_0009._fields_ = [
    ('DescriptorTable', D3D12_ROOT_DESCRIPTOR_TABLE1),
    ('Constants', D3D12_ROOT_CONSTANTS),
    ('Descriptor', D3D12_ROOT_DESCRIPTOR1),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0009) == 16, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0009)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0009) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0009)


class Library(object):
    name = 'D3D12Lib'
    _reg_typelib_ = ('{2FABA4AB-52B9-4A5B-9B5F-88F2FA355E5E}', 1, 0)


class D3D12_BOX(Structure):
    pass


D3D12_BOX._fields_ = [
    ('left', c_uint),
    ('top', c_uint),
    ('front', c_uint),
    ('right', c_uint),
    ('bottom', c_uint),
    ('back', c_uint),
]

assert sizeof(D3D12_BOX) == 24, sizeof(D3D12_BOX)
assert alignment(D3D12_BOX) == 4, alignment(D3D12_BOX)


class D3D12_BLEND_DESC(Structure):
    pass


class D3D12_RENDER_TARGET_BLEND_DESC(Structure):
    pass


D3D12_RENDER_TARGET_BLEND_DESC._fields_ = [
    ('BlendEnable', c_int),
    ('LogicOpEnable', c_int),
    ('SrcBlend', D3D12_BLEND),
    ('DestBlend', D3D12_BLEND),
    ('BlendOp', D3D12_BLEND_OP),
    ('SrcBlendAlpha', D3D12_BLEND),
    ('DestBlendAlpha', D3D12_BLEND),
    ('BlendOpAlpha', D3D12_BLEND_OP),
    ('LogicOp', D3D12_LOGIC_OP),
    ('RenderTargetWriteMask', c_ubyte),
]

assert sizeof(D3D12_RENDER_TARGET_BLEND_DESC) == 40, sizeof(D3D12_RENDER_TARGET_BLEND_DESC)
assert alignment(D3D12_RENDER_TARGET_BLEND_DESC) == 4, alignment(D3D12_RENDER_TARGET_BLEND_DESC)

D3D12_BLEND_DESC._fields_ = [
    ('AlphaToCoverageEnable', c_int),
    ('IndependentBlendEnable', c_int),
    ('RenderTarget', D3D12_RENDER_TARGET_BLEND_DESC * 8),
]

assert sizeof(D3D12_BLEND_DESC) == 328, sizeof(D3D12_BLEND_DESC)
assert alignment(D3D12_BLEND_DESC) == 4, alignment(D3D12_BLEND_DESC)


class D3D12_RASTERIZER_DESC(Structure):
    pass


D3D12_RASTERIZER_DESC._fields_ = [
    ('FillMode', D3D12_FILL_MODE),
    ('CullMode', D3D12_CULL_MODE),
    ('FrontCounterClockwise', c_int),
    ('DepthBias', c_int),
    ('DepthBiasClamp', c_float),
    ('SlopeScaledDepthBias', c_float),
    ('DepthClipEnable', c_int),
    ('MultisampleEnable', c_int),
    ('AntialiasedLineEnable', c_int),
    ('ForcedSampleCount', c_uint),
    ('ConservativeRaster', D3D12_CONSERVATIVE_RASTERIZATION_MODE),
]

assert sizeof(D3D12_RASTERIZER_DESC) == 44, sizeof(D3D12_RASTERIZER_DESC)
assert alignment(D3D12_RASTERIZER_DESC) == 4, alignment(D3D12_RASTERIZER_DESC)


class D3D12_DEPTH_STENCIL_DESC(Structure):
    pass


class D3D12_DEPTH_STENCILOP_DESC(Structure):
    pass


D3D12_DEPTH_STENCILOP_DESC._fields_ = [
    ('StencilFailOp', D3D12_STENCIL_OP),
    ('StencilDepthFailOp', D3D12_STENCIL_OP),
    ('StencilPassOp', D3D12_STENCIL_OP),
    ('StencilFunc', D3D12_COMPARISON_FUNC),
]

assert sizeof(D3D12_DEPTH_STENCILOP_DESC) == 16, sizeof(D3D12_DEPTH_STENCILOP_DESC)
assert alignment(D3D12_DEPTH_STENCILOP_DESC) == 4, alignment(D3D12_DEPTH_STENCILOP_DESC)

D3D12_DEPTH_STENCIL_DESC._fields_ = [
    ('DepthEnable', c_int),
    ('DepthWriteMask', D3D12_DEPTH_WRITE_MASK),
    ('DepthFunc', D3D12_COMPARISON_FUNC),
    ('StencilEnable', c_int),
    ('StencilReadMask', c_ubyte),
    ('StencilWriteMask', c_ubyte),
    ('FrontFace', D3D12_DEPTH_STENCILOP_DESC),
    ('BackFace', D3D12_DEPTH_STENCILOP_DESC),
]

assert sizeof(D3D12_DEPTH_STENCIL_DESC) == 52, sizeof(D3D12_DEPTH_STENCIL_DESC)
assert alignment(D3D12_DEPTH_STENCIL_DESC) == 4, alignment(D3D12_DEPTH_STENCIL_DESC)


class D3D12_INPUT_LAYOUT_DESC(Structure):
    pass


class D3D12_INPUT_ELEMENT_DESC(Structure):
    pass


D3D12_INPUT_LAYOUT_DESC._fields_ = [
    ('pInputElementDescs', POINTER(D3D12_INPUT_ELEMENT_DESC)),
    ('NumElements', c_uint),
]

assert sizeof(D3D12_INPUT_LAYOUT_DESC) == 16, sizeof(D3D12_INPUT_LAYOUT_DESC)
assert alignment(D3D12_INPUT_LAYOUT_DESC) == 8, alignment(D3D12_INPUT_LAYOUT_DESC)


class DXGI_SAMPLE_DESC(Structure):
    pass


DXGI_SAMPLE_DESC._fields_ = [
    ('Count', c_uint),
    ('Quality', c_uint),
]

assert sizeof(DXGI_SAMPLE_DESC) == 8, sizeof(DXGI_SAMPLE_DESC)
assert alignment(DXGI_SAMPLE_DESC) == 4, alignment(DXGI_SAMPLE_DESC)


class D3D12_CACHED_PIPELINE_STATE(Structure):
    pass


D3D12_CACHED_PIPELINE_STATE._fields_ = [
    ('pCachedBlob', c_void_p),
    ('CachedBlobSizeInBytes', ULONG_PTR),
]

assert sizeof(D3D12_CACHED_PIPELINE_STATE) == 16, sizeof(D3D12_CACHED_PIPELINE_STATE)
assert alignment(D3D12_CACHED_PIPELINE_STATE) == 8, alignment(D3D12_CACHED_PIPELINE_STATE)

D3D12_GRAPHICS_PIPELINE_STATE_DESC._fields_ = [
    ('pRootSignature', POINTER(ID3D12RootSignature)),
    ('VS', D3D12_SHADER_BYTECODE),
    ('PS', D3D12_SHADER_BYTECODE),
    ('DS', D3D12_SHADER_BYTECODE),
    ('HS', D3D12_SHADER_BYTECODE),
    ('GS', D3D12_SHADER_BYTECODE),
    ('StreamOutput', D3D12_STREAM_OUTPUT_DESC),
    ('BlendState', D3D12_BLEND_DESC),
    ('SampleMask', c_uint),
    ('RasterizerState', D3D12_RASTERIZER_DESC),
    ('DepthStencilState', D3D12_DEPTH_STENCIL_DESC),
    ('InputLayout', D3D12_INPUT_LAYOUT_DESC),
    ('IBStripCutValue', D3D12_INDEX_BUFFER_STRIP_CUT_VALUE),
    ('PrimitiveTopologyType', D3D12_PRIMITIVE_TOPOLOGY_TYPE),
    ('NumRenderTargets', c_uint),
    ('RTVFormats', DXGI_FORMAT * 8),
    ('DSVFormat', DXGI_FORMAT),
    ('SampleDesc', DXGI_SAMPLE_DESC),
    ('NodeMask', c_uint),
    ('CachedPSO', D3D12_CACHED_PIPELINE_STATE),
    ('Flags', D3D12_PIPELINE_STATE_FLAGS),
]

assert sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC) == 656, sizeof(D3D12_GRAPHICS_PIPELINE_STATE_DESC)
assert alignment(D3D12_GRAPHICS_PIPELINE_STATE_DESC) == 8, alignment(D3D12_GRAPHICS_PIPELINE_STATE_DESC)


class ID3D12Device2(ID3D12Device1):
    _case_insensitive_ = True
    _iid_ = GUID('{30BAA41E-B15B-475C-A0BB-1AF5C5B64328}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreatePipelineState(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...


class D3D12_PIPELINE_STATE_STREAM_DESC(Structure):
    pass


ID3D12Device2._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreatePipelineState',
        (['in'], POINTER(D3D12_PIPELINE_STATE_STREAM_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
]

################################################################
# code template for ID3D12Device2 implementation
# class ID3D12Device2_Impl(object):
#     def CreatePipelineState(self, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#

ID3D12Fence._methods_ = [
    COMMETHOD([], c_ulonglong, 'GetCompletedValue'),
    COMMETHOD(
        [],
        HRESULT,
        'SetEventOnCompletion',
        ([], c_ulonglong, 'Value'),
        ([], c_void_p, 'hEvent')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'Signal',
        ([], c_ulonglong, 'Value')
    ),
]

################################################################
# code template for ID3D12Fence implementation
# class ID3D12Fence_Impl(object):
#     def GetCompletedValue(self):
#         '-no docstring-'
#         #return 
#
#     def SetEventOnCompletion(self, Value, hEvent):
#         '-no docstring-'
#         #return 
#
#     def Signal(self, Value):
#         '-no docstring-'
#         #return 
#

ID3D10Blob._methods_ = [
    COMMETHOD([], c_void_p, 'GetBufferPointer'),
    COMMETHOD([], ULONG_PTR, 'GetBufferSize'),
]

################################################################
# code template for ID3D10Blob implementation
# class ID3D10Blob_Impl(object):
#     def GetBufferPointer(self):
#         '-no docstring-'
#         #return 
#
#     def GetBufferSize(self):
#         '-no docstring-'
#         #return 
#


class __MIDL___MIDL_itf_d3d12_0000_0001_0008(Union):
    pass


class D3D12_ROOT_DESCRIPTOR_TABLE(Structure):
    pass


class D3D12_DESCRIPTOR_RANGE(Structure):
    pass


D3D12_ROOT_DESCRIPTOR_TABLE._fields_ = [
    ('NumDescriptorRanges', c_uint),
    ('pDescriptorRanges', POINTER(D3D12_DESCRIPTOR_RANGE)),
]

assert sizeof(D3D12_ROOT_DESCRIPTOR_TABLE) == 16, sizeof(D3D12_ROOT_DESCRIPTOR_TABLE)
assert alignment(D3D12_ROOT_DESCRIPTOR_TABLE) == 8, alignment(D3D12_ROOT_DESCRIPTOR_TABLE)


class D3D12_ROOT_DESCRIPTOR(Structure):
    pass


D3D12_ROOT_DESCRIPTOR._fields_ = [
    ('ShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
]

assert sizeof(D3D12_ROOT_DESCRIPTOR) == 8, sizeof(D3D12_ROOT_DESCRIPTOR)
assert alignment(D3D12_ROOT_DESCRIPTOR) == 4, alignment(D3D12_ROOT_DESCRIPTOR)

__MIDL___MIDL_itf_d3d12_0000_0001_0008._fields_ = [
    ('DescriptorTable', D3D12_ROOT_DESCRIPTOR_TABLE),
    ('Constants', D3D12_ROOT_CONSTANTS),
    ('Descriptor', D3D12_ROOT_DESCRIPTOR),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0008) == 16, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0008)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0008) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0008)


class __MIDL___MIDL_itf_d3d12_0000_0001_0010(Union):
    pass


class D3D12_ROOT_SIGNATURE_DESC(Structure):
    pass


class D3D12_ROOT_PARAMETER(Structure):
    pass


class D3D12_STATIC_SAMPLER_DESC(Structure):
    pass


D3D12_ROOT_SIGNATURE_DESC._fields_ = [
    ('NumParameters', c_uint),
    ('pParameters', POINTER(D3D12_ROOT_PARAMETER)),
    ('NumStaticSamplers', c_uint),
    ('pStaticSamplers', POINTER(D3D12_STATIC_SAMPLER_DESC)),
    ('Flags', D3D12_ROOT_SIGNATURE_FLAGS),
]

assert sizeof(D3D12_ROOT_SIGNATURE_DESC) == 40, sizeof(D3D12_ROOT_SIGNATURE_DESC)
assert alignment(D3D12_ROOT_SIGNATURE_DESC) == 8, alignment(D3D12_ROOT_SIGNATURE_DESC)


class D3D12_ROOT_SIGNATURE_DESC1(Structure):
    pass


class D3D12_ROOT_PARAMETER1(Structure):
    pass


D3D12_ROOT_SIGNATURE_DESC1._fields_ = [
    ('NumParameters', c_uint),
    ('pParameters', POINTER(D3D12_ROOT_PARAMETER1)),
    ('NumStaticSamplers', c_uint),
    ('pStaticSamplers', POINTER(D3D12_STATIC_SAMPLER_DESC)),
    ('Flags', D3D12_ROOT_SIGNATURE_FLAGS),
]

assert sizeof(D3D12_ROOT_SIGNATURE_DESC1) == 40, sizeof(D3D12_ROOT_SIGNATURE_DESC1)
assert alignment(D3D12_ROOT_SIGNATURE_DESC1) == 8, alignment(D3D12_ROOT_SIGNATURE_DESC1)

__MIDL___MIDL_itf_d3d12_0000_0001_0010._fields_ = [
    ('Desc_1_0', D3D12_ROOT_SIGNATURE_DESC),
    ('Desc_1_1', D3D12_ROOT_SIGNATURE_DESC1),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0010) == 40, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0010)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0010) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0010)


class __MIDL___MIDL_itf_d3d12_0000_0001_0003(Union):
    pass


class D3D12_SUBRESOURCE_FOOTPRINT(Structure):
    pass


D3D12_SUBRESOURCE_FOOTPRINT._fields_ = [
    ('Format', DXGI_FORMAT),
    ('Width', c_uint),
    ('Height', c_uint),
    ('Depth', c_uint),
    ('RowPitch', c_uint),
]

assert sizeof(D3D12_SUBRESOURCE_FOOTPRINT) == 20, sizeof(D3D12_SUBRESOURCE_FOOTPRINT)
assert alignment(D3D12_SUBRESOURCE_FOOTPRINT) == 4, alignment(D3D12_SUBRESOURCE_FOOTPRINT)

D3D12_PLACED_SUBRESOURCE_FOOTPRINT._fields_ = [
    ('Offset', c_ulonglong),
    ('Footprint', D3D12_SUBRESOURCE_FOOTPRINT),
]

assert sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) == 32, sizeof(D3D12_PLACED_SUBRESOURCE_FOOTPRINT)
assert alignment(D3D12_PLACED_SUBRESOURCE_FOOTPRINT) == 8, alignment(D3D12_PLACED_SUBRESOURCE_FOOTPRINT)

__MIDL___MIDL_itf_d3d12_0000_0001_0003._fields_ = [
    ('PlacedFootprint', D3D12_PLACED_SUBRESOURCE_FOOTPRINT),
    ('SubresourceIndex', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0003) == 32, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0003)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0003) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0003)


class __MIDL___MIDL_itf_d3d12_0000_0001_0002(Union):
    pass


class D3D12_RESOURCE_TRANSITION_BARRIER(Structure):
    pass


D3D12_RESOURCE_TRANSITION_BARRIER._fields_ = [
    ('pResource', POINTER(ID3D12Resource)),
    ('Subresource', c_uint),
    ('StateBefore', D3D12_RESOURCE_STATES),
    ('StateAfter', D3D12_RESOURCE_STATES),
]

assert sizeof(D3D12_RESOURCE_TRANSITION_BARRIER) == 24, sizeof(D3D12_RESOURCE_TRANSITION_BARRIER)
assert alignment(D3D12_RESOURCE_TRANSITION_BARRIER) == 8, alignment(D3D12_RESOURCE_TRANSITION_BARRIER)


class D3D12_RESOURCE_ALIASING_BARRIER(Structure):
    pass


D3D12_RESOURCE_ALIASING_BARRIER._fields_ = [
    ('pResourceBefore', POINTER(ID3D12Resource)),
    ('pResourceAfter', POINTER(ID3D12Resource)),
]

assert sizeof(D3D12_RESOURCE_ALIASING_BARRIER) == 16, sizeof(D3D12_RESOURCE_ALIASING_BARRIER)
assert alignment(D3D12_RESOURCE_ALIASING_BARRIER) == 8, alignment(D3D12_RESOURCE_ALIASING_BARRIER)


class D3D12_RESOURCE_UAV_BARRIER(Structure):
    pass


D3D12_RESOURCE_UAV_BARRIER._fields_ = [
    ('pResource', POINTER(ID3D12Resource)),
]

assert sizeof(D3D12_RESOURCE_UAV_BARRIER) == 8, sizeof(D3D12_RESOURCE_UAV_BARRIER)
assert alignment(D3D12_RESOURCE_UAV_BARRIER) == 8, alignment(D3D12_RESOURCE_UAV_BARRIER)

__MIDL___MIDL_itf_d3d12_0000_0001_0002._fields_ = [
    ('Transition', D3D12_RESOURCE_TRANSITION_BARRIER),
    ('Aliasing', D3D12_RESOURCE_ALIASING_BARRIER),
    ('UAV', D3D12_RESOURCE_UAV_BARRIER),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0002) == 24, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0002)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0002) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0002)


class __MIDL___MIDL_itf_d3d12_0000_0001_0004(Union):
    pass


class D3D12_BUFFER_SRV(Structure):
    pass


D3D12_BUFFER_SRV._fields_ = [
    ('FirstElement', c_ulonglong),
    ('NumElements', c_uint),
    ('StructureByteStride', c_uint),
    ('Flags', D3D12_BUFFER_SRV_FLAGS),
]

assert sizeof(D3D12_BUFFER_SRV) == 24, sizeof(D3D12_BUFFER_SRV)
assert alignment(D3D12_BUFFER_SRV) == 8, alignment(D3D12_BUFFER_SRV)


class D3D12_TEX1D_SRV(Structure):
    pass


D3D12_TEX1D_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEX1D_SRV) == 12, sizeof(D3D12_TEX1D_SRV)
assert alignment(D3D12_TEX1D_SRV) == 4, alignment(D3D12_TEX1D_SRV)


class D3D12_TEX1D_ARRAY_SRV(Structure):
    pass


D3D12_TEX1D_ARRAY_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEX1D_ARRAY_SRV) == 20, sizeof(D3D12_TEX1D_ARRAY_SRV)
assert alignment(D3D12_TEX1D_ARRAY_SRV) == 4, alignment(D3D12_TEX1D_ARRAY_SRV)


class D3D12_TEX2D_SRV(Structure):
    pass


D3D12_TEX2D_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('PlaneSlice', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEX2D_SRV) == 16, sizeof(D3D12_TEX2D_SRV)
assert alignment(D3D12_TEX2D_SRV) == 4, alignment(D3D12_TEX2D_SRV)


class D3D12_TEX2D_ARRAY_SRV(Structure):
    pass


D3D12_TEX2D_ARRAY_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
    ('PlaneSlice', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEX2D_ARRAY_SRV) == 24, sizeof(D3D12_TEX2D_ARRAY_SRV)
assert alignment(D3D12_TEX2D_ARRAY_SRV) == 4, alignment(D3D12_TEX2D_ARRAY_SRV)


class D3D12_TEX2DMS_SRV(Structure):
    pass


D3D12_TEX2DMS_SRV._fields_ = [
    ('UnusedField_NothingToDefine', c_uint),
]

assert sizeof(D3D12_TEX2DMS_SRV) == 4, sizeof(D3D12_TEX2DMS_SRV)
assert alignment(D3D12_TEX2DMS_SRV) == 4, alignment(D3D12_TEX2DMS_SRV)


class D3D12_TEX2DMS_ARRAY_SRV(Structure):
    pass


D3D12_TEX2DMS_ARRAY_SRV._fields_ = [
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX2DMS_ARRAY_SRV) == 8, sizeof(D3D12_TEX2DMS_ARRAY_SRV)
assert alignment(D3D12_TEX2DMS_ARRAY_SRV) == 4, alignment(D3D12_TEX2DMS_ARRAY_SRV)


class D3D12_TEX3D_SRV(Structure):
    pass


D3D12_TEX3D_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEX3D_SRV) == 12, sizeof(D3D12_TEX3D_SRV)
assert alignment(D3D12_TEX3D_SRV) == 4, alignment(D3D12_TEX3D_SRV)


class D3D12_TEXCUBE_SRV(Structure):
    pass


D3D12_TEXCUBE_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEXCUBE_SRV) == 12, sizeof(D3D12_TEXCUBE_SRV)
assert alignment(D3D12_TEXCUBE_SRV) == 4, alignment(D3D12_TEXCUBE_SRV)


class D3D12_TEXCUBE_ARRAY_SRV(Structure):
    pass


D3D12_TEXCUBE_ARRAY_SRV._fields_ = [
    ('MostDetailedMip', c_uint),
    ('MipLevels', c_uint),
    ('First2DArrayFace', c_uint),
    ('NumCubes', c_uint),
    ('ResourceMinLODClamp', c_float),
]

assert sizeof(D3D12_TEXCUBE_ARRAY_SRV) == 20, sizeof(D3D12_TEXCUBE_ARRAY_SRV)
assert alignment(D3D12_TEXCUBE_ARRAY_SRV) == 4, alignment(D3D12_TEXCUBE_ARRAY_SRV)


class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV(Structure):
    pass


D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV._fields_ = [
    ('Location', c_ulonglong),
]

assert sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV) == 8, sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV)
assert alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV) == 8, alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV)

__MIDL___MIDL_itf_d3d12_0000_0001_0004._fields_ = [
    ('Buffer', D3D12_BUFFER_SRV),
    ('Texture1D', D3D12_TEX1D_SRV),
    ('Texture1DArray', D3D12_TEX1D_ARRAY_SRV),
    ('Texture2D', D3D12_TEX2D_SRV),
    ('Texture2DArray', D3D12_TEX2D_ARRAY_SRV),
    ('Texture2DMS', D3D12_TEX2DMS_SRV),
    ('Texture2DMSArray', D3D12_TEX2DMS_ARRAY_SRV),
    ('Texture3D', D3D12_TEX3D_SRV),
    ('TextureCube', D3D12_TEXCUBE_SRV),
    ('TextureCubeArray', D3D12_TEXCUBE_ARRAY_SRV),
    ('RaytracingAccelerationStructure', D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0004) == 24, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0004)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0004) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0004)


class __MIDL___MIDL_itf_d3d12_0000_0003_0001(Union):
    pass


class __MIDL___MIDL_itf_d3d12_0000_0003_0002(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0003_0002._fields_ = [
    ('Slot', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0002) == 4, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0002)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0002) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0002)


class __MIDL___MIDL_itf_d3d12_0000_0003_0003(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0003_0003._fields_ = [
    ('RootParameterIndex', c_uint),
    ('DestOffsetIn32BitValues', c_uint),
    ('Num32BitValuesToSet', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0003) == 12, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0003)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0003) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0003)


class __MIDL___MIDL_itf_d3d12_0000_0003_0004(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0003_0004._fields_ = [
    ('RootParameterIndex', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0004) == 4, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0004)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0004) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0004)


class __MIDL___MIDL_itf_d3d12_0000_0003_0005(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0003_0005._fields_ = [
    ('RootParameterIndex', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0005) == 4, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0005)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0005) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0005)


class __MIDL___MIDL_itf_d3d12_0000_0003_0006(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0003_0006._fields_ = [
    ('RootParameterIndex', c_uint),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0006) == 4, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0006)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0006) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0006)

__MIDL___MIDL_itf_d3d12_0000_0003_0001._fields_ = [
    ('VertexBuffer', __MIDL___MIDL_itf_d3d12_0000_0003_0002),
    ('Constant', __MIDL___MIDL_itf_d3d12_0000_0003_0003),
    ('ConstantBufferView', __MIDL___MIDL_itf_d3d12_0000_0003_0004),
    ('ShaderResourceView', __MIDL___MIDL_itf_d3d12_0000_0003_0005),
    ('UnorderedAccessView', __MIDL___MIDL_itf_d3d12_0000_0003_0006),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0001) == 12, sizeof(__MIDL___MIDL_itf_d3d12_0000_0003_0001)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0001) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0003_0001)


class D3D12_RANGE(Structure):
    pass


D3D12_RANGE._fields_ = [
    ('Begin', ULONG_PTR),
    ('End', ULONG_PTR),
]

assert sizeof(D3D12_RANGE) == 16, sizeof(D3D12_RANGE)
assert alignment(D3D12_RANGE) == 8, alignment(D3D12_RANGE)

D3D12_COMMAND_QUEUE_DESC._fields_ = [
    ('Type', D3D12_COMMAND_LIST_TYPE),
    ('Priority', c_int),
    ('Flags', D3D12_COMMAND_QUEUE_FLAGS),
    ('NodeMask', c_uint),
]

assert sizeof(D3D12_COMMAND_QUEUE_DESC) == 16, sizeof(D3D12_COMMAND_QUEUE_DESC)
assert alignment(D3D12_COMMAND_QUEUE_DESC) == 4, alignment(D3D12_COMMAND_QUEUE_DESC)

D3D12_INPUT_ELEMENT_DESC._fields_ = [
    ('SemanticName', STRING),
    ('SemanticIndex', c_uint),
    ('Format', DXGI_FORMAT),
    ('InputSlot', c_uint),
    ('AlignedByteOffset', c_uint),
    ('InputSlotClass', D3D12_INPUT_CLASSIFICATION),
    ('InstanceDataStepRate', c_uint),
]

assert sizeof(D3D12_INPUT_ELEMENT_DESC) == 32, sizeof(D3D12_INPUT_ELEMENT_DESC)
assert alignment(D3D12_INPUT_ELEMENT_DESC) == 8, alignment(D3D12_INPUT_ELEMENT_DESC)


class ID3D12DescriptorHeap(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{8EFB471D-616C-4F49-90F7-127BB763FA51}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetDesc(self) -> hints.Hresult: ...
        def GetCPUDescriptorHandleForHeapStart(self) -> hints.Hresult: ...
        def GetGPUDescriptorHandleForHeapStart(self) -> hints.Hresult: ...


D3D12_DESCRIPTOR_HEAP_DESC._fields_ = [
    ('Type', D3D12_DESCRIPTOR_HEAP_TYPE),
    ('NumDescriptors', c_uint),
    ('Flags', D3D12_DESCRIPTOR_HEAP_FLAGS),
    ('NodeMask', c_uint),
]

assert sizeof(D3D12_DESCRIPTOR_HEAP_DESC) == 16, sizeof(D3D12_DESCRIPTOR_HEAP_DESC)
assert alignment(D3D12_DESCRIPTOR_HEAP_DESC) == 4, alignment(D3D12_DESCRIPTOR_HEAP_DESC)

ID3D12DescriptorHeap._methods_ = [
    COMMETHOD([], D3D12_DESCRIPTOR_HEAP_DESC, 'GetDesc'),
    COMMETHOD(
        [],
        D3D12_CPU_DESCRIPTOR_HANDLE,
        'GetCPUDescriptorHandleForHeapStart',
    ),
    COMMETHOD(
        [],
        D3D12_GPU_DESCRIPTOR_HANDLE,
        'GetGPUDescriptorHandleForHeapStart',
    ),
]

################################################################
# code template for ID3D12DescriptorHeap implementation
# class ID3D12DescriptorHeap_Impl(object):
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#
#     def GetCPUDescriptorHandleForHeapStart(self):
#         '-no docstring-'
#         #return 
#
#     def GetGPUDescriptorHandleForHeapStart(self):
#         '-no docstring-'
#         #return 
#

D3D12_COMPUTE_PIPELINE_STATE_DESC._fields_ = [
    ('pRootSignature', POINTER(ID3D12RootSignature)),
    ('CS', D3D12_SHADER_BYTECODE),
    ('NodeMask', c_uint),
    ('CachedPSO', D3D12_CACHED_PIPELINE_STATE),
    ('Flags', D3D12_PIPELINE_STATE_FLAGS),
]

assert sizeof(D3D12_COMPUTE_PIPELINE_STATE_DESC) == 56, sizeof(D3D12_COMPUTE_PIPELINE_STATE_DESC)
assert alignment(D3D12_COMPUTE_PIPELINE_STATE_DESC) == 8, alignment(D3D12_COMPUTE_PIPELINE_STATE_DESC)

D3D12_CONSTANT_BUFFER_VIEW_DESC._fields_ = [
    ('BufferLocation', c_ulonglong),
    ('SizeInBytes', c_uint),
]

assert sizeof(D3D12_CONSTANT_BUFFER_VIEW_DESC) == 16, sizeof(D3D12_CONSTANT_BUFFER_VIEW_DESC)
assert alignment(D3D12_CONSTANT_BUFFER_VIEW_DESC) == 8, alignment(D3D12_CONSTANT_BUFFER_VIEW_DESC)

D3D12_SHADER_RESOURCE_VIEW_DESC._fields_ = [
    ('Format', DXGI_FORMAT),
    ('ViewDimension', D3D12_SRV_DIMENSION),
    ('Shader4ComponentMapping', c_uint),
    ('__MIDL____MIDL_itf_d3d12_0000_00010003', __MIDL___MIDL_itf_d3d12_0000_0001_0004),
]

assert sizeof(D3D12_SHADER_RESOURCE_VIEW_DESC) == 40, sizeof(D3D12_SHADER_RESOURCE_VIEW_DESC)
assert alignment(D3D12_SHADER_RESOURCE_VIEW_DESC) == 8, alignment(D3D12_SHADER_RESOURCE_VIEW_DESC)


class __MIDL___MIDL_itf_d3d12_0000_0001_0005(Union):
    pass


class D3D12_BUFFER_UAV(Structure):
    pass


D3D12_BUFFER_UAV._fields_ = [
    ('FirstElement', c_ulonglong),
    ('NumElements', c_uint),
    ('StructureByteStride', c_uint),
    ('CounterOffsetInBytes', c_ulonglong),
    ('Flags', D3D12_BUFFER_UAV_FLAGS),
]

assert sizeof(D3D12_BUFFER_UAV) == 32, sizeof(D3D12_BUFFER_UAV)
assert alignment(D3D12_BUFFER_UAV) == 8, alignment(D3D12_BUFFER_UAV)


class D3D12_TEX1D_UAV(Structure):
    pass


D3D12_TEX1D_UAV._fields_ = [
    ('MipSlice', c_uint),
]

assert sizeof(D3D12_TEX1D_UAV) == 4, sizeof(D3D12_TEX1D_UAV)
assert alignment(D3D12_TEX1D_UAV) == 4, alignment(D3D12_TEX1D_UAV)


class D3D12_TEX1D_ARRAY_UAV(Structure):
    pass


D3D12_TEX1D_ARRAY_UAV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX1D_ARRAY_UAV) == 12, sizeof(D3D12_TEX1D_ARRAY_UAV)
assert alignment(D3D12_TEX1D_ARRAY_UAV) == 4, alignment(D3D12_TEX1D_ARRAY_UAV)


class D3D12_TEX2D_UAV(Structure):
    pass


D3D12_TEX2D_UAV._fields_ = [
    ('MipSlice', c_uint),
    ('PlaneSlice', c_uint),
]

assert sizeof(D3D12_TEX2D_UAV) == 8, sizeof(D3D12_TEX2D_UAV)
assert alignment(D3D12_TEX2D_UAV) == 4, alignment(D3D12_TEX2D_UAV)


class D3D12_TEX2D_ARRAY_UAV(Structure):
    pass


D3D12_TEX2D_ARRAY_UAV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
    ('PlaneSlice', c_uint),
]

assert sizeof(D3D12_TEX2D_ARRAY_UAV) == 16, sizeof(D3D12_TEX2D_ARRAY_UAV)
assert alignment(D3D12_TEX2D_ARRAY_UAV) == 4, alignment(D3D12_TEX2D_ARRAY_UAV)


class D3D12_TEX3D_UAV(Structure):
    pass


D3D12_TEX3D_UAV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstWSlice', c_uint),
    ('WSize', c_uint),
]

assert sizeof(D3D12_TEX3D_UAV) == 12, sizeof(D3D12_TEX3D_UAV)
assert alignment(D3D12_TEX3D_UAV) == 4, alignment(D3D12_TEX3D_UAV)

__MIDL___MIDL_itf_d3d12_0000_0001_0005._fields_ = [
    ('Buffer', D3D12_BUFFER_UAV),
    ('Texture1D', D3D12_TEX1D_UAV),
    ('Texture1DArray', D3D12_TEX1D_ARRAY_UAV),
    ('Texture2D', D3D12_TEX2D_UAV),
    ('Texture2DArray', D3D12_TEX2D_ARRAY_UAV),
    ('Texture3D', D3D12_TEX3D_UAV),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0005) == 32, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0005)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0005) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0005)


class __MIDL___MIDL_itf_d3d12_0000_0001_0006(Union):
    pass


class D3D12_BUFFER_RTV(Structure):
    pass


D3D12_BUFFER_RTV._fields_ = [
    ('FirstElement', c_ulonglong),
    ('NumElements', c_uint),
]

assert sizeof(D3D12_BUFFER_RTV) == 16, sizeof(D3D12_BUFFER_RTV)
assert alignment(D3D12_BUFFER_RTV) == 8, alignment(D3D12_BUFFER_RTV)


class D3D12_TEX1D_RTV(Structure):
    pass


D3D12_TEX1D_RTV._fields_ = [
    ('MipSlice', c_uint),
]

assert sizeof(D3D12_TEX1D_RTV) == 4, sizeof(D3D12_TEX1D_RTV)
assert alignment(D3D12_TEX1D_RTV) == 4, alignment(D3D12_TEX1D_RTV)


class D3D12_TEX1D_ARRAY_RTV(Structure):
    pass


D3D12_TEX1D_ARRAY_RTV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX1D_ARRAY_RTV) == 12, sizeof(D3D12_TEX1D_ARRAY_RTV)
assert alignment(D3D12_TEX1D_ARRAY_RTV) == 4, alignment(D3D12_TEX1D_ARRAY_RTV)


class D3D12_TEX2D_RTV(Structure):
    pass


D3D12_TEX2D_RTV._fields_ = [
    ('MipSlice', c_uint),
    ('PlaneSlice', c_uint),
]

assert sizeof(D3D12_TEX2D_RTV) == 8, sizeof(D3D12_TEX2D_RTV)
assert alignment(D3D12_TEX2D_RTV) == 4, alignment(D3D12_TEX2D_RTV)


class D3D12_TEX2D_ARRAY_RTV(Structure):
    pass


D3D12_TEX2D_ARRAY_RTV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
    ('PlaneSlice', c_uint),
]

assert sizeof(D3D12_TEX2D_ARRAY_RTV) == 16, sizeof(D3D12_TEX2D_ARRAY_RTV)
assert alignment(D3D12_TEX2D_ARRAY_RTV) == 4, alignment(D3D12_TEX2D_ARRAY_RTV)


class D3D12_TEX2DMS_RTV(Structure):
    pass


D3D12_TEX2DMS_RTV._fields_ = [
    ('UnusedField_NothingToDefine', c_uint),
]

assert sizeof(D3D12_TEX2DMS_RTV) == 4, sizeof(D3D12_TEX2DMS_RTV)
assert alignment(D3D12_TEX2DMS_RTV) == 4, alignment(D3D12_TEX2DMS_RTV)


class D3D12_TEX2DMS_ARRAY_RTV(Structure):
    pass


D3D12_TEX2DMS_ARRAY_RTV._fields_ = [
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX2DMS_ARRAY_RTV) == 8, sizeof(D3D12_TEX2DMS_ARRAY_RTV)
assert alignment(D3D12_TEX2DMS_ARRAY_RTV) == 4, alignment(D3D12_TEX2DMS_ARRAY_RTV)


class D3D12_TEX3D_RTV(Structure):
    pass


D3D12_TEX3D_RTV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstWSlice', c_uint),
    ('WSize', c_uint),
]

assert sizeof(D3D12_TEX3D_RTV) == 12, sizeof(D3D12_TEX3D_RTV)
assert alignment(D3D12_TEX3D_RTV) == 4, alignment(D3D12_TEX3D_RTV)

__MIDL___MIDL_itf_d3d12_0000_0001_0006._fields_ = [
    ('Buffer', D3D12_BUFFER_RTV),
    ('Texture1D', D3D12_TEX1D_RTV),
    ('Texture1DArray', D3D12_TEX1D_ARRAY_RTV),
    ('Texture2D', D3D12_TEX2D_RTV),
    ('Texture2DArray', D3D12_TEX2D_ARRAY_RTV),
    ('Texture2DMS', D3D12_TEX2DMS_RTV),
    ('Texture2DMSArray', D3D12_TEX2DMS_ARRAY_RTV),
    ('Texture3D', D3D12_TEX3D_RTV),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0006) == 16, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0006)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0006) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0006)


class __MIDL___MIDL_itf_d3d12_0000_0048_0001(Union):
    pass


class D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS(Structure):
    pass


class __MIDL___MIDL_itf_d3d12_0000_0001_0001(Union):
    pass


class D3D12_DEPTH_STENCIL_VALUE(Structure):
    pass


D3D12_DEPTH_STENCIL_VALUE._fields_ = [
    ('Depth', c_float),
    ('Stencil', c_ubyte),
]

assert sizeof(D3D12_DEPTH_STENCIL_VALUE) == 8, sizeof(D3D12_DEPTH_STENCIL_VALUE)
assert alignment(D3D12_DEPTH_STENCIL_VALUE) == 4, alignment(D3D12_DEPTH_STENCIL_VALUE)

__MIDL___MIDL_itf_d3d12_0000_0001_0001._fields_ = [
    ('Color', c_float * 4),
    ('DepthStencil', D3D12_DEPTH_STENCIL_VALUE),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0001) == 16, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0001)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0001) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0001)

D3D12_CLEAR_VALUE._fields_ = [
    ('Format', DXGI_FORMAT),
    ('__MIDL____MIDL_itf_d3d12_0000_00010000', __MIDL___MIDL_itf_d3d12_0000_0001_0001),
]

assert sizeof(D3D12_CLEAR_VALUE) == 20, sizeof(D3D12_CLEAR_VALUE)
assert alignment(D3D12_CLEAR_VALUE) == 4, alignment(D3D12_CLEAR_VALUE)

D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS._fields_ = [
    ('ClearValue', D3D12_CLEAR_VALUE),
]

assert sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS) == 20, sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS)
assert alignment(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS) == 4, alignment(D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS)

__MIDL___MIDL_itf_d3d12_0000_0048_0001._fields_ = [
    ('Clear', D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0048_0001) == 20, sizeof(__MIDL___MIDL_itf_d3d12_0000_0048_0001)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0048_0001) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0048_0001)


class __MIDL___MIDL_itf_d3d12_0000_0048_0002(Union):
    pass


class D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS(Structure):
    pass


class D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS(Structure):
    pass


D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS._fields_ = [
    ('pSrcResource', POINTER(ID3D12Resource)),
    ('pDstResource', POINTER(ID3D12Resource)),
    ('SubresourceCount', c_uint),
    ('pSubresourceParameters', POINTER(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS)),
    ('Format', DXGI_FORMAT),
    ('ResolveMode', D3D12_RESOLVE_MODE),
    ('PreserveResolveSource', c_int),
]

assert sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS) == 48, sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS)
assert alignment(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS) == 8, alignment(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS)

__MIDL___MIDL_itf_d3d12_0000_0048_0002._fields_ = [
    ('Resolve', D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0048_0002) == 48, sizeof(__MIDL___MIDL_itf_d3d12_0000_0048_0002)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0048_0002) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0048_0002)


class D3D12_INDEX_BUFFER_VIEW(Structure):
    pass


D3D12_INDEX_BUFFER_VIEW._fields_ = [
    ('BufferLocation', c_ulonglong),
    ('SizeInBytes', c_uint),
    ('Format', DXGI_FORMAT),
]

assert sizeof(D3D12_INDEX_BUFFER_VIEW) == 16, sizeof(D3D12_INDEX_BUFFER_VIEW)
assert alignment(D3D12_INDEX_BUFFER_VIEW) == 8, alignment(D3D12_INDEX_BUFFER_VIEW)


class D3D12_VERTEX_BUFFER_VIEW(Structure):
    pass


D3D12_VERTEX_BUFFER_VIEW._fields_ = [
    ('BufferLocation', c_ulonglong),
    ('SizeInBytes', c_uint),
    ('StrideInBytes', c_uint),
]

assert sizeof(D3D12_VERTEX_BUFFER_VIEW) == 16, sizeof(D3D12_VERTEX_BUFFER_VIEW)
assert alignment(D3D12_VERTEX_BUFFER_VIEW) == 8, alignment(D3D12_VERTEX_BUFFER_VIEW)

D3D12_UNORDERED_ACCESS_VIEW_DESC._fields_ = [
    ('Format', DXGI_FORMAT),
    ('ViewDimension', D3D12_UAV_DIMENSION),
    ('__MIDL____MIDL_itf_d3d12_0000_00010004', __MIDL___MIDL_itf_d3d12_0000_0001_0005),
]

assert sizeof(D3D12_UNORDERED_ACCESS_VIEW_DESC) == 40, sizeof(D3D12_UNORDERED_ACCESS_VIEW_DESC)
assert alignment(D3D12_UNORDERED_ACCESS_VIEW_DESC) == 8, alignment(D3D12_UNORDERED_ACCESS_VIEW_DESC)


class D3D12_STREAM_OUTPUT_BUFFER_VIEW(Structure):
    pass


D3D12_STREAM_OUTPUT_BUFFER_VIEW._fields_ = [
    ('BufferLocation', c_ulonglong),
    ('SizeInBytes', c_ulonglong),
    ('BufferFilledSizeLocation', c_ulonglong),
]

assert sizeof(D3D12_STREAM_OUTPUT_BUFFER_VIEW) == 24, sizeof(D3D12_STREAM_OUTPUT_BUFFER_VIEW)
assert alignment(D3D12_STREAM_OUTPUT_BUFFER_VIEW) == 8, alignment(D3D12_STREAM_OUTPUT_BUFFER_VIEW)


class D3D12_DISCARD_REGION(Structure):
    pass


D3D12_DISCARD_REGION._fields_ = [
    ('NumRects', c_uint),
    ('pRects', POINTER(tagRECT)),
    ('FirstSubresource', c_uint),
    ('NumSubresources', c_uint),
]

assert sizeof(D3D12_DISCARD_REGION) == 24, sizeof(D3D12_DISCARD_REGION)
assert alignment(D3D12_DISCARD_REGION) == 8, alignment(D3D12_DISCARD_REGION)


class ID3D12QueryHeap(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{0D9658AE-ED45-469E-A61D-970EC583CAB4}')
    _idlflags_ = []


ID3D12QueryHeap._methods_ = [
]

################################################################
# code template for ID3D12QueryHeap implementation
# class ID3D12QueryHeap_Impl(object):

ID3D12CommandAllocator._methods_ = [
    COMMETHOD([], HRESULT, 'Reset'),
]

################################################################
# code template for ID3D12CommandAllocator implementation
# class ID3D12CommandAllocator_Impl(object):
#     def Reset(self):
#         '-no docstring-'
#         #return 
#


class ID3D12CommandList(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{7116D91C-E7E4-47CE-B8C6-EC8168F437E5}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetType(self) -> hints.Hresult: ...


class ID3D12GraphicsCommandList(ID3D12CommandList):
    _case_insensitive_ = True
    _iid_ = GUID('{5B160D0F-AC1B-4185-8BA8-B3AE42A5A455}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def Close(self) -> hints.Hresult: ...
        def Reset(self, pAllocator: hints.Incomplete, pInitialState: hints.Incomplete) -> hints.Hresult: ...
        def ClearState(self, pPipelineState: hints.Incomplete) -> hints.Hresult: ...
        def DrawInstanced(self, VertexCountPerInstance: hints.Incomplete, InstanceCount: hints.Incomplete, StartVertexLocation: hints.Incomplete, StartInstanceLocation: hints.Incomplete) -> hints.Hresult: ...
        def DrawIndexedInstanced(self, IndexCountPerInstance: hints.Incomplete, InstanceCount: hints.Incomplete, StartIndexLocation: hints.Incomplete, BaseVertexLocation: hints.Incomplete, StartInstanceLocation: hints.Incomplete) -> hints.Hresult: ...
        def Dispatch(self, ThreadGroupCountX: hints.Incomplete, ThreadGroupCountY: hints.Incomplete, ThreadGroupCountZ: hints.Incomplete) -> hints.Hresult: ...
        def CopyBufferRegion(self, pDstBuffer: hints.Incomplete, DstOffset: hints.Incomplete, pSrcBuffer: hints.Incomplete, SrcOffset: hints.Incomplete, NumBytes: hints.Incomplete) -> hints.Hresult: ...
        def CopyTextureRegion(self, pDst: hints.Incomplete, DstX: hints.Incomplete, DstY: hints.Incomplete, DstZ: hints.Incomplete, pSrc: hints.Incomplete, pSrcBox: hints.Incomplete) -> hints.Hresult: ...
        def CopyResource(self, pDstResource: hints.Incomplete, pSrcResource: hints.Incomplete) -> hints.Hresult: ...
        def CopyTiles(self, pTiledResource: hints.Incomplete, pTileRegionStartCoordinate: hints.Incomplete, pTileRegionSize: hints.Incomplete, pBuffer: hints.Incomplete, BufferStartOffsetInBytes: hints.Incomplete, Flags: hints.Incomplete) -> hints.Hresult: ...
        def ResolveSubresource(self, pDstResource: hints.Incomplete, DstSubresource: hints.Incomplete, pSrcResource: hints.Incomplete, SrcSubresource: hints.Incomplete, Format: hints.Incomplete) -> hints.Hresult: ...
        def IASetPrimitiveTopology(self, PrimitiveTopology: hints.Incomplete) -> hints.Hresult: ...
        def RSSetViewports(self, NumViewports: hints.Incomplete, pViewports: hints.Incomplete) -> hints.Hresult: ...
        def RSSetScissorRects(self, NumRects: hints.Incomplete, pRects: hints.Incomplete) -> hints.Hresult: ...
        def OMSetBlendFactor(self, BlendFactor: hints.Incomplete) -> hints.Hresult: ...
        def OMSetStencilRef(self, StencilRef: hints.Incomplete) -> hints.Hresult: ...
        def SetPipelineState(self, pPipelineState: hints.Incomplete) -> hints.Hresult: ...
        def ResourceBarrier(self, NumBarriers: hints.Incomplete, pBarriers: hints.Incomplete) -> hints.Hresult: ...
        def ExecuteBundle(self, pCommandList: hints.Incomplete) -> hints.Hresult: ...
        def SetDescriptorHeaps(self, NumDescriptorHeaps: hints.Incomplete, ppDescriptorHeaps: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRootSignature(self, pRootSignature: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRootSignature(self, pRootSignature: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRootDescriptorTable(self, RootParameterIndex: hints.Incomplete, BaseDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRootDescriptorTable(self, RootParameterIndex: hints.Incomplete, BaseDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRoot32BitConstant(self, RootParameterIndex: hints.Incomplete, SrcData: hints.Incomplete, DestOffsetIn32BitValues: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRoot32BitConstant(self, RootParameterIndex: hints.Incomplete, SrcData: hints.Incomplete, DestOffsetIn32BitValues: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRoot32BitConstants(self, RootParameterIndex: hints.Incomplete, Num32BitValuesToSet: hints.Incomplete, pSrcData: hints.Incomplete, DestOffsetIn32BitValues: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRoot32BitConstants(self, RootParameterIndex: hints.Incomplete, Num32BitValuesToSet: hints.Incomplete, pSrcData: hints.Incomplete, DestOffsetIn32BitValues: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRootConstantBufferView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRootConstantBufferView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRootShaderResourceView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRootShaderResourceView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def SetComputeRootUnorderedAccessView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def SetGraphicsRootUnorderedAccessView(self, RootParameterIndex: hints.Incomplete, BufferLocation: hints.Incomplete) -> hints.Hresult: ...
        def IASetIndexBuffer(self, pView: hints.Incomplete) -> hints.Hresult: ...
        def IASetVertexBuffers(self, StartSlot: hints.Incomplete, NumViews: hints.Incomplete, pViews: hints.Incomplete) -> hints.Hresult: ...
        def SOSetTargets(self, StartSlot: hints.Incomplete, NumViews: hints.Incomplete, pViews: hints.Incomplete) -> hints.Hresult: ...
        def OMSetRenderTargets(self, NumRenderTargetDescriptors: hints.Incomplete, pRenderTargetDescriptors: hints.Incomplete, RTsSingleHandleToDescriptorRange: hints.Incomplete, pDepthStencilDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def ClearDepthStencilView(self, DepthStencilView: hints.Incomplete, ClearFlags: hints.Incomplete, Depth: hints.Incomplete, Stencil: hints.Incomplete, NumRects: hints.Incomplete, pRects: hints.Incomplete) -> hints.Hresult: ...
        def ClearRenderTargetView(self, RenderTargetView: hints.Incomplete, ColorRGBA: hints.Incomplete, NumRects: hints.Incomplete, pRects: hints.Incomplete) -> hints.Hresult: ...
        def ClearUnorderedAccessViewUint(self, ViewGPUHandleInCurrentHeap: hints.Incomplete, ViewCPUHandle: hints.Incomplete, pResource: hints.Incomplete, Values: hints.Incomplete, NumRects: hints.Incomplete, pRects: hints.Incomplete) -> hints.Hresult: ...
        def ClearUnorderedAccessViewFloat(self, ViewGPUHandleInCurrentHeap: hints.Incomplete, ViewCPUHandle: hints.Incomplete, pResource: hints.Incomplete, Values: hints.Incomplete, NumRects: hints.Incomplete, pRects: hints.Incomplete) -> hints.Hresult: ...
        def DiscardResource(self, pResource: hints.Incomplete, pRegion: hints.Incomplete) -> hints.Hresult: ...
        def BeginQuery(self, pQueryHeap: hints.Incomplete, Type: hints.Incomplete, Index: hints.Incomplete) -> hints.Hresult: ...
        def EndQuery(self, pQueryHeap: hints.Incomplete, Type: hints.Incomplete, Index: hints.Incomplete) -> hints.Hresult: ...
        def ResolveQueryData(self, pQueryHeap: hints.Incomplete, Type: hints.Incomplete, StartIndex: hints.Incomplete, NumQueries: hints.Incomplete, pDestinationBuffer: hints.Incomplete, AlignedDestinationBufferOffset: hints.Incomplete) -> hints.Hresult: ...
        def SetPredication(self, pBuffer: hints.Incomplete, AlignedBufferOffset: hints.Incomplete, Operation: hints.Incomplete) -> hints.Hresult: ...
        def SetMarker(self, Metadata: hints.Incomplete, pData: hints.Incomplete, Size: hints.Incomplete) -> hints.Hresult: ...
        def BeginEvent(self, Metadata: hints.Incomplete, pData: hints.Incomplete, Size: hints.Incomplete) -> hints.Hresult: ...
        def EndEvent(self) -> hints.Hresult: ...
        def ExecuteIndirect(self, pCommandSignature: hints.Incomplete, MaxCommandCount: hints.Incomplete, pArgumentBuffer: hints.Incomplete, ArgumentBufferOffset: hints.Incomplete, pCountBuffer: hints.Incomplete, CountBufferOffset: hints.Incomplete) -> hints.Hresult: ...


class ID3D12GraphicsCommandList1(ID3D12GraphicsCommandList):
    _case_insensitive_ = True
    _iid_ = GUID('{553103FB-1FE7-4557-BB38-946D7D0E7CA7}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def AtomicCopyBufferUINT(self, pDstBuffer: hints.Incomplete, DstOffset: hints.Incomplete, pSrcBuffer: hints.Incomplete, SrcOffset: hints.Incomplete, Dependencies: hints.Incomplete, ppDependentResources: hints.Incomplete, pDependentSubresourceRanges: hints.Incomplete) -> hints.Hresult: ...
        def AtomicCopyBufferUINT64(self, pDstBuffer: hints.Incomplete, DstOffset: hints.Incomplete, pSrcBuffer: hints.Incomplete, SrcOffset: hints.Incomplete, Dependencies: hints.Incomplete, ppDependentResources: hints.Incomplete, pDependentSubresourceRanges: hints.Incomplete) -> hints.Hresult: ...
        def OMSetDepthBounds(self, Min: hints.Incomplete, Max: hints.Incomplete) -> hints.Hresult: ...
        def SetSamplePositions(self, NumSamplesPerPixel: hints.Incomplete, NumPixels: hints.Incomplete, pSamplePositions: hints.Incomplete) -> hints.Hresult: ...
        def ResolveSubresourceRegion(self, pDstResource: hints.Incomplete, DstSubresource: hints.Incomplete, DstX: hints.Incomplete, DstY: hints.Incomplete, pSrcResource: hints.Incomplete, SrcSubresource: hints.Incomplete, pSrcRect: hints.Incomplete, Format: hints.Incomplete, ResolveMode: hints.Incomplete) -> hints.Hresult: ...
        def SetViewInstanceMask(self, Mask: hints.Incomplete) -> hints.Hresult: ...


ID3D12CommandList._methods_ = [
    COMMETHOD([], D3D12_COMMAND_LIST_TYPE, 'GetType'),
]

################################################################
# code template for ID3D12CommandList implementation
# class ID3D12CommandList_Impl(object):
#     def GetType(self):
#         '-no docstring-'
#         #return 
#


class D3D12_TEXTURE_COPY_LOCATION(Structure):
    pass


class D3D12_TILED_RESOURCE_COORDINATE(Structure):
    pass


class D3D12_VIEWPORT(Structure):
    pass


class D3D12_RESOURCE_BARRIER(Structure):
    pass


ID3D12GraphicsCommandList._methods_ = [
    COMMETHOD([], HRESULT, 'Close'),
    COMMETHOD(
        [],
        HRESULT,
        'Reset',
        ([], POINTER(ID3D12CommandAllocator), 'pAllocator'),
        ([], POINTER(ID3D12PipelineState), 'pInitialState')
    ),
    COMMETHOD(
        [],
        None,
        'ClearState',
        ([], POINTER(ID3D12PipelineState), 'pPipelineState')
    ),
    COMMETHOD(
        [],
        None,
        'DrawInstanced',
        ([], c_uint, 'VertexCountPerInstance'),
        ([], c_uint, 'InstanceCount'),
        ([], c_uint, 'StartVertexLocation'),
        ([], c_uint, 'StartInstanceLocation')
    ),
    COMMETHOD(
        [],
        None,
        'DrawIndexedInstanced',
        ([], c_uint, 'IndexCountPerInstance'),
        ([], c_uint, 'InstanceCount'),
        ([], c_uint, 'StartIndexLocation'),
        ([], c_int, 'BaseVertexLocation'),
        ([], c_uint, 'StartInstanceLocation')
    ),
    COMMETHOD(
        [],
        None,
        'Dispatch',
        ([], c_uint, 'ThreadGroupCountX'),
        ([], c_uint, 'ThreadGroupCountY'),
        ([], c_uint, 'ThreadGroupCountZ')
    ),
    COMMETHOD(
        [],
        None,
        'CopyBufferRegion',
        ([], POINTER(ID3D12Resource), 'pDstBuffer'),
        ([], c_ulonglong, 'DstOffset'),
        ([], POINTER(ID3D12Resource), 'pSrcBuffer'),
        ([], c_ulonglong, 'SrcOffset'),
        ([], c_ulonglong, 'NumBytes')
    ),
    COMMETHOD(
        [],
        None,
        'CopyTextureRegion',
        ([], POINTER(D3D12_TEXTURE_COPY_LOCATION), 'pDst'),
        ([], c_uint, 'DstX'),
        ([], c_uint, 'DstY'),
        ([], c_uint, 'DstZ'),
        ([], POINTER(D3D12_TEXTURE_COPY_LOCATION), 'pSrc'),
        ([], POINTER(D3D12_BOX), 'pSrcBox')
    ),
    COMMETHOD(
        [],
        None,
        'CopyResource',
        ([], POINTER(ID3D12Resource), 'pDstResource'),
        ([], POINTER(ID3D12Resource), 'pSrcResource')
    ),
    COMMETHOD(
        [],
        None,
        'CopyTiles',
        ([], POINTER(ID3D12Resource), 'pTiledResource'),
        (
            [],
            POINTER(D3D12_TILED_RESOURCE_COORDINATE),
            'pTileRegionStartCoordinate',
        ),
        ([], POINTER(D3D12_TILE_REGION_SIZE), 'pTileRegionSize'),
        ([], POINTER(ID3D12Resource), 'pBuffer'),
        ([], c_ulonglong, 'BufferStartOffsetInBytes'),
        ([], D3D12_TILE_COPY_FLAGS, 'Flags')
    ),
    COMMETHOD(
        [],
        None,
        'ResolveSubresource',
        ([], POINTER(ID3D12Resource), 'pDstResource'),
        ([], c_uint, 'DstSubresource'),
        ([], POINTER(ID3D12Resource), 'pSrcResource'),
        ([], c_uint, 'SrcSubresource'),
        ([], DXGI_FORMAT, 'Format')
    ),
    COMMETHOD(
        [],
        None,
        'IASetPrimitiveTopology',
        ([], D3D_PRIMITIVE_TOPOLOGY, 'PrimitiveTopology')
    ),
    COMMETHOD(
        [],
        None,
        'RSSetViewports',
        ([], c_uint, 'NumViewports'),
        ([], POINTER(D3D12_VIEWPORT), 'pViewports')
    ),
    COMMETHOD(
        [],
        None,
        'RSSetScissorRects',
        ([], c_uint, 'NumRects'),
        ([], POINTER(tagRECT), 'pRects')
    ),
    COMMETHOD(
        [],
        None,
        'OMSetBlendFactor',
        ([], c_float * 4, 'BlendFactor')
    ),
    COMMETHOD(
        [],
        None,
        'OMSetStencilRef',
        ([], c_uint, 'StencilRef')
    ),
    COMMETHOD(
        [],
        None,
        'SetPipelineState',
        ([], POINTER(ID3D12PipelineState), 'pPipelineState')
    ),
    COMMETHOD(
        [],
        None,
        'ResourceBarrier',
        ([], c_uint, 'NumBarriers'),
        ([], POINTER(D3D12_RESOURCE_BARRIER), 'pBarriers')
    ),
    COMMETHOD(
        [],
        None,
        'ExecuteBundle',
        ([], POINTER(ID3D12GraphicsCommandList), 'pCommandList')
    ),
    COMMETHOD(
        [],
        None,
        'SetDescriptorHeaps',
        ([], c_uint, 'NumDescriptorHeaps'),
        ([], POINTER(POINTER(ID3D12DescriptorHeap)), 'ppDescriptorHeaps')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRootSignature',
        ([], POINTER(ID3D12RootSignature), 'pRootSignature')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRootSignature',
        ([], POINTER(ID3D12RootSignature), 'pRootSignature')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRootDescriptorTable',
        ([], c_uint, 'RootParameterIndex'),
        ([], D3D12_GPU_DESCRIPTOR_HANDLE, 'BaseDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRootDescriptorTable',
        ([], c_uint, 'RootParameterIndex'),
        ([], D3D12_GPU_DESCRIPTOR_HANDLE, 'BaseDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRoot32BitConstant',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_uint, 'SrcData'),
        ([], c_uint, 'DestOffsetIn32BitValues')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRoot32BitConstant',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_uint, 'SrcData'),
        ([], c_uint, 'DestOffsetIn32BitValues')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRoot32BitConstants',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_uint, 'Num32BitValuesToSet'),
        ([], c_void_p, 'pSrcData'),
        ([], c_uint, 'DestOffsetIn32BitValues')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRoot32BitConstants',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_uint, 'Num32BitValuesToSet'),
        ([], c_void_p, 'pSrcData'),
        ([], c_uint, 'DestOffsetIn32BitValues')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRootConstantBufferView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRootConstantBufferView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRootShaderResourceView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRootShaderResourceView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'SetComputeRootUnorderedAccessView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'SetGraphicsRootUnorderedAccessView',
        ([], c_uint, 'RootParameterIndex'),
        ([], c_ulonglong, 'BufferLocation')
    ),
    COMMETHOD(
        [],
        None,
        'IASetIndexBuffer',
        ([], POINTER(D3D12_INDEX_BUFFER_VIEW), 'pView')
    ),
    COMMETHOD(
        [],
        None,
        'IASetVertexBuffers',
        ([], c_uint, 'StartSlot'),
        ([], c_uint, 'NumViews'),
        ([], POINTER(D3D12_VERTEX_BUFFER_VIEW), 'pViews')
    ),
    COMMETHOD(
        [],
        None,
        'SOSetTargets',
        ([], c_uint, 'StartSlot'),
        ([], c_uint, 'NumViews'),
        ([], POINTER(D3D12_STREAM_OUTPUT_BUFFER_VIEW), 'pViews')
    ),
    COMMETHOD(
        [],
        None,
        'OMSetRenderTargets',
        ([], c_uint, 'NumRenderTargetDescriptors'),
        ([], POINTER(D3D12_CPU_DESCRIPTOR_HANDLE), 'pRenderTargetDescriptors'),
        ([], c_int, 'RTsSingleHandleToDescriptorRange'),
        ([], POINTER(D3D12_CPU_DESCRIPTOR_HANDLE), 'pDepthStencilDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'ClearDepthStencilView',
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DepthStencilView'),
        ([], D3D12_CLEAR_FLAGS, 'ClearFlags'),
        ([], c_float, 'Depth'),
        ([], c_ubyte, 'Stencil'),
        ([], c_uint, 'NumRects'),
        ([], POINTER(tagRECT), 'pRects')
    ),
    COMMETHOD(
        [],
        None,
        'ClearRenderTargetView',
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'RenderTargetView'),
        ([], c_float * 4, 'ColorRGBA'),
        ([], c_uint, 'NumRects'),
        ([], POINTER(tagRECT), 'pRects')
    ),
    COMMETHOD(
        [],
        None,
        'ClearUnorderedAccessViewUint',
        ([], D3D12_GPU_DESCRIPTOR_HANDLE, 'ViewGPUHandleInCurrentHeap'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'ViewCPUHandle'),
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], c_uint * 4, 'Values'),
        ([], c_uint, 'NumRects'),
        ([], POINTER(tagRECT), 'pRects')
    ),
    COMMETHOD(
        [],
        None,
        'ClearUnorderedAccessViewFloat',
        ([], D3D12_GPU_DESCRIPTOR_HANDLE, 'ViewGPUHandleInCurrentHeap'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'ViewCPUHandle'),
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], c_float * 4, 'Values'),
        ([], c_uint, 'NumRects'),
        ([], POINTER(tagRECT), 'pRects')
    ),
    COMMETHOD(
        [],
        None,
        'DiscardResource',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], POINTER(D3D12_DISCARD_REGION), 'pRegion')
    ),
    COMMETHOD(
        [],
        None,
        'BeginQuery',
        ([], POINTER(ID3D12QueryHeap), 'pQueryHeap'),
        ([], D3D12_QUERY_TYPE, 'Type'),
        ([], c_uint, 'Index')
    ),
    COMMETHOD(
        [],
        None,
        'EndQuery',
        ([], POINTER(ID3D12QueryHeap), 'pQueryHeap'),
        ([], D3D12_QUERY_TYPE, 'Type'),
        ([], c_uint, 'Index')
    ),
    COMMETHOD(
        [],
        None,
        'ResolveQueryData',
        ([], POINTER(ID3D12QueryHeap), 'pQueryHeap'),
        ([], D3D12_QUERY_TYPE, 'Type'),
        ([], c_uint, 'StartIndex'),
        ([], c_uint, 'NumQueries'),
        ([], POINTER(ID3D12Resource), 'pDestinationBuffer'),
        ([], c_ulonglong, 'AlignedDestinationBufferOffset')
    ),
    COMMETHOD(
        [],
        None,
        'SetPredication',
        ([], POINTER(ID3D12Resource), 'pBuffer'),
        ([], c_ulonglong, 'AlignedBufferOffset'),
        ([], D3D12_PREDICATION_OP, 'Operation')
    ),
    COMMETHOD(
        [],
        None,
        'SetMarker',
        ([], c_uint, 'Metadata'),
        ([], c_void_p, 'pData'),
        ([], c_uint, 'Size')
    ),
    COMMETHOD(
        [],
        None,
        'BeginEvent',
        ([], c_uint, 'Metadata'),
        ([], c_void_p, 'pData'),
        ([], c_uint, 'Size')
    ),
    COMMETHOD([], None, 'EndEvent'),
    COMMETHOD(
        [],
        None,
        'ExecuteIndirect',
        ([], POINTER(ID3D12CommandSignature), 'pCommandSignature'),
        ([], c_uint, 'MaxCommandCount'),
        ([], POINTER(ID3D12Resource), 'pArgumentBuffer'),
        ([], c_ulonglong, 'ArgumentBufferOffset'),
        ([], POINTER(ID3D12Resource), 'pCountBuffer'),
        ([], c_ulonglong, 'CountBufferOffset')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList implementation
# class ID3D12GraphicsCommandList_Impl(object):
#     def Close(self):
#         '-no docstring-'
#         #return 
#
#     def Reset(self, pAllocator, pInitialState):
#         '-no docstring-'
#         #return 
#
#     def ClearState(self, pPipelineState):
#         '-no docstring-'
#         #return 
#
#     def DrawInstanced(self, VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation):
#         '-no docstring-'
#         #return 
#
#     def DrawIndexedInstanced(self, IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation):
#         '-no docstring-'
#         #return 
#
#     def Dispatch(self, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ):
#         '-no docstring-'
#         #return 
#
#     def CopyBufferRegion(self, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes):
#         '-no docstring-'
#         #return 
#
#     def CopyTextureRegion(self, pDst, DstX, DstY, DstZ, pSrc, pSrcBox):
#         '-no docstring-'
#         #return 
#
#     def CopyResource(self, pDstResource, pSrcResource):
#         '-no docstring-'
#         #return 
#
#     def CopyTiles(self, pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags):
#         '-no docstring-'
#         #return 
#
#     def ResolveSubresource(self, pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format):
#         '-no docstring-'
#         #return 
#
#     def IASetPrimitiveTopology(self, PrimitiveTopology):
#         '-no docstring-'
#         #return 
#
#     def RSSetViewports(self, NumViewports, pViewports):
#         '-no docstring-'
#         #return 
#
#     def RSSetScissorRects(self, NumRects, pRects):
#         '-no docstring-'
#         #return 
#
#     def OMSetBlendFactor(self, BlendFactor):
#         '-no docstring-'
#         #return 
#
#     def OMSetStencilRef(self, StencilRef):
#         '-no docstring-'
#         #return 
#
#     def SetPipelineState(self, pPipelineState):
#         '-no docstring-'
#         #return 
#
#     def ResourceBarrier(self, NumBarriers, pBarriers):
#         '-no docstring-'
#         #return 
#
#     def ExecuteBundle(self, pCommandList):
#         '-no docstring-'
#         #return 
#
#     def SetDescriptorHeaps(self, NumDescriptorHeaps, ppDescriptorHeaps):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRootSignature(self, pRootSignature):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRootSignature(self, pRootSignature):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRootDescriptorTable(self, RootParameterIndex, BaseDescriptor):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRootDescriptorTable(self, RootParameterIndex, BaseDescriptor):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRoot32BitConstant(self, RootParameterIndex, SrcData, DestOffsetIn32BitValues):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRoot32BitConstant(self, RootParameterIndex, SrcData, DestOffsetIn32BitValues):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRoot32BitConstants(self, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRoot32BitConstants(self, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRootConstantBufferView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRootConstantBufferView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRootShaderResourceView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRootShaderResourceView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def SetComputeRootUnorderedAccessView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def SetGraphicsRootUnorderedAccessView(self, RootParameterIndex, BufferLocation):
#         '-no docstring-'
#         #return 
#
#     def IASetIndexBuffer(self, pView):
#         '-no docstring-'
#         #return 
#
#     def IASetVertexBuffers(self, StartSlot, NumViews, pViews):
#         '-no docstring-'
#         #return 
#
#     def SOSetTargets(self, StartSlot, NumViews, pViews):
#         '-no docstring-'
#         #return 
#
#     def OMSetRenderTargets(self, NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor):
#         '-no docstring-'
#         #return 
#
#     def ClearDepthStencilView(self, DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects):
#         '-no docstring-'
#         #return 
#
#     def ClearRenderTargetView(self, RenderTargetView, ColorRGBA, NumRects, pRects):
#         '-no docstring-'
#         #return 
#
#     def ClearUnorderedAccessViewUint(self, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects):
#         '-no docstring-'
#         #return 
#
#     def ClearUnorderedAccessViewFloat(self, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects):
#         '-no docstring-'
#         #return 
#
#     def DiscardResource(self, pResource, pRegion):
#         '-no docstring-'
#         #return 
#
#     def BeginQuery(self, pQueryHeap, Type, Index):
#         '-no docstring-'
#         #return 
#
#     def EndQuery(self, pQueryHeap, Type, Index):
#         '-no docstring-'
#         #return 
#
#     def ResolveQueryData(self, pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset):
#         '-no docstring-'
#         #return 
#
#     def SetPredication(self, pBuffer, AlignedBufferOffset, Operation):
#         '-no docstring-'
#         #return 
#
#     def SetMarker(self, Metadata, pData, Size):
#         '-no docstring-'
#         #return 
#
#     def BeginEvent(self, Metadata, pData, Size):
#         '-no docstring-'
#         #return 
#
#     def EndEvent(self):
#         '-no docstring-'
#         #return 
#
#     def ExecuteIndirect(self, pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset):
#         '-no docstring-'
#         #return 
#


class D3D12_SUBRESOURCE_RANGE_UINT64(Structure):
    pass


class D3D12_SAMPLE_POSITION(Structure):
    pass


ID3D12GraphicsCommandList1._methods_ = [
    COMMETHOD(
        [],
        None,
        'AtomicCopyBufferUINT',
        ([], POINTER(ID3D12Resource), 'pDstBuffer'),
        ([], c_ulonglong, 'DstOffset'),
        ([], POINTER(ID3D12Resource), 'pSrcBuffer'),
        ([], c_ulonglong, 'SrcOffset'),
        ([], c_uint, 'Dependencies'),
        ([], POINTER(POINTER(ID3D12Resource)), 'ppDependentResources'),
        (
            [],
            POINTER(D3D12_SUBRESOURCE_RANGE_UINT64),
            'pDependentSubresourceRanges',
        )
    ),
    COMMETHOD(
        [],
        None,
        'AtomicCopyBufferUINT64',
        ([], POINTER(ID3D12Resource), 'pDstBuffer'),
        ([], c_ulonglong, 'DstOffset'),
        ([], POINTER(ID3D12Resource), 'pSrcBuffer'),
        ([], c_ulonglong, 'SrcOffset'),
        ([], c_uint, 'Dependencies'),
        ([], POINTER(POINTER(ID3D12Resource)), 'ppDependentResources'),
        (
            [],
            POINTER(D3D12_SUBRESOURCE_RANGE_UINT64),
            'pDependentSubresourceRanges',
        )
    ),
    COMMETHOD(
        [],
        None,
        'OMSetDepthBounds',
        ([], c_float, 'Min'),
        ([], c_float, 'Max')
    ),
    COMMETHOD(
        [],
        None,
        'SetSamplePositions',
        ([], c_uint, 'NumSamplesPerPixel'),
        ([], c_uint, 'NumPixels'),
        ([], POINTER(D3D12_SAMPLE_POSITION), 'pSamplePositions')
    ),
    COMMETHOD(
        [],
        None,
        'ResolveSubresourceRegion',
        ([], POINTER(ID3D12Resource), 'pDstResource'),
        ([], c_uint, 'DstSubresource'),
        ([], c_uint, 'DstX'),
        ([], c_uint, 'DstY'),
        ([], POINTER(ID3D12Resource), 'pSrcResource'),
        ([], c_uint, 'SrcSubresource'),
        ([], POINTER(tagRECT), 'pSrcRect'),
        ([], DXGI_FORMAT, 'Format'),
        ([], D3D12_RESOLVE_MODE, 'ResolveMode')
    ),
    COMMETHOD(
        [],
        None,
        'SetViewInstanceMask',
        ([], c_uint, 'Mask')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList1 implementation
# class ID3D12GraphicsCommandList1_Impl(object):
#     def AtomicCopyBufferUINT(self, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, Dependencies, ppDependentResources, pDependentSubresourceRanges):
#         '-no docstring-'
#         #return 
#
#     def AtomicCopyBufferUINT64(self, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, Dependencies, ppDependentResources, pDependentSubresourceRanges):
#         '-no docstring-'
#         #return 
#
#     def OMSetDepthBounds(self, Min, Max):
#         '-no docstring-'
#         #return 
#
#     def SetSamplePositions(self, NumSamplesPerPixel, NumPixels, pSamplePositions):
#         '-no docstring-'
#         #return 
#
#     def ResolveSubresourceRegion(self, pDstResource, DstSubresource, DstX, DstY, pSrcResource, SrcSubresource, pSrcRect, Format, ResolveMode):
#         '-no docstring-'
#         #return 
#
#     def SetViewInstanceMask(self, Mask):
#         '-no docstring-'
#         #return 
#


class D3D12_RANGE_UINT64(Structure):
    pass


D3D12_RANGE_UINT64._fields_ = [
    ('Begin', c_ulonglong),
    ('End', c_ulonglong),
]

assert sizeof(D3D12_RANGE_UINT64) == 16, sizeof(D3D12_RANGE_UINT64)
assert alignment(D3D12_RANGE_UINT64) == 8, alignment(D3D12_RANGE_UINT64)

D3D12_SUBRESOURCE_RANGE_UINT64._fields_ = [
    ('Subresource', c_uint),
    ('Range', D3D12_RANGE_UINT64),
]

assert sizeof(D3D12_SUBRESOURCE_RANGE_UINT64) == 24, sizeof(D3D12_SUBRESOURCE_RANGE_UINT64)
assert alignment(D3D12_SUBRESOURCE_RANGE_UINT64) == 8, alignment(D3D12_SUBRESOURCE_RANGE_UINT64)

D3D12_SAMPLE_POSITION._fields_ = [
    ('X', c_char),
    ('Y', c_char),
]

assert sizeof(D3D12_SAMPLE_POSITION) == 2, sizeof(D3D12_SAMPLE_POSITION)
assert alignment(D3D12_SAMPLE_POSITION) == 1, alignment(D3D12_SAMPLE_POSITION)


class ID3D12GraphicsCommandList2(ID3D12GraphicsCommandList1):
    _case_insensitive_ = True
    _iid_ = GUID('{38C3E585-FF17-412C-9150-4FC6F9D72A28}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def WriteBufferImmediate(self, Count: hints.Incomplete, pParams: hints.Incomplete, pModes: hints.Incomplete) -> hints.Hresult: ...


class D3D12_WRITEBUFFERIMMEDIATE_PARAMETER(Structure):
    pass


ID3D12GraphicsCommandList2._methods_ = [
    COMMETHOD(
        [],
        None,
        'WriteBufferImmediate',
        ([], c_uint, 'Count'),
        ([], POINTER(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER), 'pParams'),
        ([], POINTER(D3D12_WRITEBUFFERIMMEDIATE_MODE), 'pModes')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList2 implementation
# class ID3D12GraphicsCommandList2_Impl(object):
#     def WriteBufferImmediate(self, Count, pParams, pModes):
#         '-no docstring-'
#         #return 
#

D3D12_RENDER_TARGET_VIEW_DESC._fields_ = [
    ('Format', DXGI_FORMAT),
    ('ViewDimension', D3D12_RTV_DIMENSION),
    ('__MIDL____MIDL_itf_d3d12_0000_00010005', __MIDL___MIDL_itf_d3d12_0000_0001_0006),
]

assert sizeof(D3D12_RENDER_TARGET_VIEW_DESC) == 24, sizeof(D3D12_RENDER_TARGET_VIEW_DESC)
assert alignment(D3D12_RENDER_TARGET_VIEW_DESC) == 8, alignment(D3D12_RENDER_TARGET_VIEW_DESC)

D3D12_WRITEBUFFERIMMEDIATE_PARAMETER._fields_ = [
    ('Dest', c_ulonglong),
    ('Value', c_uint),
]

assert sizeof(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER) == 16, sizeof(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER)
assert alignment(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER) == 8, alignment(D3D12_WRITEBUFFERIMMEDIATE_PARAMETER)


class ID3D12GraphicsCommandList3(ID3D12GraphicsCommandList2):
    _case_insensitive_ = True
    _iid_ = GUID('{6FDA83A7-B84C-4E38-9AC8-C7BD22016B3D}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def SetProtectedResourceSession(self, pProtectedResourceSession: hints.Incomplete) -> hints.Hresult: ...


ID3D12GraphicsCommandList3._methods_ = [
    COMMETHOD(
        [],
        None,
        'SetProtectedResourceSession',
        (
            [],
            POINTER(ID3D12ProtectedResourceSession),
            'pProtectedResourceSession',
        )
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList3 implementation
# class ID3D12GraphicsCommandList3_Impl(object):
#     def SetProtectedResourceSession(self, pProtectedResourceSession):
#         '-no docstring-'
#         #return 
#


class ID3D12GraphicsCommandList4(ID3D12GraphicsCommandList3):
    _case_insensitive_ = True
    _iid_ = GUID('{8754318E-D3A9-4541-98CF-645B50DC4874}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def BeginRenderPass(self, NumRenderTargets: hints.Incomplete, pRenderTargets: hints.Incomplete, pDepthStencil: hints.Incomplete, Flags: hints.Incomplete) -> hints.Hresult: ...
        def EndRenderPass(self) -> hints.Hresult: ...
        def InitializeMetaCommand(self, pMetaCommand: hints.Incomplete, pInitializationParametersData: hints.Incomplete, InitializationParametersDataSizeInBytes: hints.Incomplete) -> hints.Hresult: ...
        def ExecuteMetaCommand(self, pMetaCommand: hints.Incomplete, pExecutionParametersData: hints.Incomplete, ExecutionParametersDataSizeInBytes: hints.Incomplete) -> hints.Hresult: ...
        def BuildRaytracingAccelerationStructure(self, pDesc: hints.Incomplete, NumPostbuildInfoDescs: hints.Incomplete, pPostbuildInfoDescs: hints.Incomplete) -> hints.Hresult: ...
        def EmitRaytracingAccelerationStructurePostbuildInfo(self, pDesc: hints.Incomplete, NumSourceAccelerationStructures: hints.Incomplete, pSourceAccelerationStructureData: hints.Incomplete) -> hints.Hresult: ...
        def CopyRaytracingAccelerationStructure(self, DestAccelerationStructureData: hints.Incomplete, SourceAccelerationStructureData: hints.Incomplete, Mode: hints.Incomplete) -> hints.Hresult: ...
        def SetPipelineState1(self, pStateObject: hints.Incomplete) -> hints.Hresult: ...
        def DispatchRays(self, pDesc: hints.Incomplete) -> hints.Hresult: ...


class D3D12_RENDER_PASS_RENDER_TARGET_DESC(Structure):
    pass


class D3D12_RENDER_PASS_DEPTH_STENCIL_DESC(Structure):
    pass


class ID3D12MetaCommand(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{DBB84C27-36CE-4FC9-B801-F048C46AC570}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetRequiredParameterResourceSize(self, Stage: hints.Incomplete, ParameterIndex: hints.Incomplete) -> hints.Hresult: ...


class D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC(Structure):
    pass


class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC(Structure):
    pass


class ID3D12StateObject(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{47016943-FCA8-4594-93EA-AF258B55346D}')
    _idlflags_ = []


class D3D12_DISPATCH_RAYS_DESC(Structure):
    pass


ID3D12GraphicsCommandList4._methods_ = [
    COMMETHOD(
        [],
        None,
        'BeginRenderPass',
        ([], c_uint, 'NumRenderTargets'),
        ([], POINTER(D3D12_RENDER_PASS_RENDER_TARGET_DESC), 'pRenderTargets'),
        ([], POINTER(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC), 'pDepthStencil'),
        ([], D3D12_RENDER_PASS_FLAGS, 'Flags')
    ),
    COMMETHOD([], None, 'EndRenderPass'),
    COMMETHOD(
        [],
        None,
        'InitializeMetaCommand',
        ([], POINTER(ID3D12MetaCommand), 'pMetaCommand'),
        ([], c_void_p, 'pInitializationParametersData'),
        ([], ULONG_PTR, 'InitializationParametersDataSizeInBytes')
    ),
    COMMETHOD(
        [],
        None,
        'ExecuteMetaCommand',
        ([], POINTER(ID3D12MetaCommand), 'pMetaCommand'),
        ([], c_void_p, 'pExecutionParametersData'),
        ([], ULONG_PTR, 'ExecutionParametersDataSizeInBytes')
    ),
    COMMETHOD(
        [],
        None,
        'BuildRaytracingAccelerationStructure',
        (
            [],
            POINTER(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC),
            'pDesc',
        ),
        ([], c_uint, 'NumPostbuildInfoDescs'),
        (
            [],
            POINTER(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
            'pPostbuildInfoDescs',
        )
    ),
    COMMETHOD(
        [],
        None,
        'EmitRaytracingAccelerationStructurePostbuildInfo',
        (
            [],
            POINTER(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC),
            'pDesc',
        ),
        ([], c_uint, 'NumSourceAccelerationStructures'),
        ([], POINTER(c_ulonglong), 'pSourceAccelerationStructureData')
    ),
    COMMETHOD(
        [],
        None,
        'CopyRaytracingAccelerationStructure',
        ([], c_ulonglong, 'DestAccelerationStructureData'),
        ([], c_ulonglong, 'SourceAccelerationStructureData'),
        ([], D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE, 'Mode')
    ),
    COMMETHOD(
        [],
        None,
        'SetPipelineState1',
        ([], POINTER(ID3D12StateObject), 'pStateObject')
    ),
    COMMETHOD(
        [],
        None,
        'DispatchRays',
        ([], POINTER(D3D12_DISPATCH_RAYS_DESC), 'pDesc')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList4 implementation
# class ID3D12GraphicsCommandList4_Impl(object):
#     def BeginRenderPass(self, NumRenderTargets, pRenderTargets, pDepthStencil, Flags):
#         '-no docstring-'
#         #return 
#
#     def EndRenderPass(self):
#         '-no docstring-'
#         #return 
#
#     def InitializeMetaCommand(self, pMetaCommand, pInitializationParametersData, InitializationParametersDataSizeInBytes):
#         '-no docstring-'
#         #return 
#
#     def ExecuteMetaCommand(self, pMetaCommand, pExecutionParametersData, ExecutionParametersDataSizeInBytes):
#         '-no docstring-'
#         #return 
#
#     def BuildRaytracingAccelerationStructure(self, pDesc, NumPostbuildInfoDescs, pPostbuildInfoDescs):
#         '-no docstring-'
#         #return 
#
#     def EmitRaytracingAccelerationStructurePostbuildInfo(self, pDesc, NumSourceAccelerationStructures, pSourceAccelerationStructureData):
#         '-no docstring-'
#         #return 
#
#     def CopyRaytracingAccelerationStructure(self, DestAccelerationStructureData, SourceAccelerationStructureData, Mode):
#         '-no docstring-'
#         #return 
#
#     def SetPipelineState1(self, pStateObject):
#         '-no docstring-'
#         #return 
#
#     def DispatchRays(self, pDesc):
#         '-no docstring-'
#         #return 
#


class D3D12_RENDER_PASS_BEGINNING_ACCESS(Structure):
    pass


D3D12_RENDER_PASS_BEGINNING_ACCESS._fields_ = [
    ('Type', D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00480000', __MIDL___MIDL_itf_d3d12_0000_0048_0001),
]

assert sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS) == 24, sizeof(D3D12_RENDER_PASS_BEGINNING_ACCESS)
assert alignment(D3D12_RENDER_PASS_BEGINNING_ACCESS) == 4, alignment(D3D12_RENDER_PASS_BEGINNING_ACCESS)


class D3D12_RENDER_PASS_ENDING_ACCESS(Structure):
    pass


D3D12_RENDER_PASS_ENDING_ACCESS._fields_ = [
    ('Type', D3D12_RENDER_PASS_ENDING_ACCESS_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00480001', __MIDL___MIDL_itf_d3d12_0000_0048_0002),
]

assert sizeof(D3D12_RENDER_PASS_ENDING_ACCESS) == 56, sizeof(D3D12_RENDER_PASS_ENDING_ACCESS)
assert alignment(D3D12_RENDER_PASS_ENDING_ACCESS) == 8, alignment(D3D12_RENDER_PASS_ENDING_ACCESS)

D3D12_RENDER_PASS_RENDER_TARGET_DESC._fields_ = [
    ('cpuDescriptor', D3D12_CPU_DESCRIPTOR_HANDLE),
    ('BeginningAccess', D3D12_RENDER_PASS_BEGINNING_ACCESS),
    ('EndingAccess', D3D12_RENDER_PASS_ENDING_ACCESS),
]

assert sizeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC) == 88, sizeof(D3D12_RENDER_PASS_RENDER_TARGET_DESC)
assert alignment(D3D12_RENDER_PASS_RENDER_TARGET_DESC) == 8, alignment(D3D12_RENDER_PASS_RENDER_TARGET_DESC)

D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS._fields_ = [
    ('SrcSubresource', c_uint),
    ('DstSubresource', c_uint),
    ('DstX', c_uint),
    ('DstY', c_uint),
    ('SrcRect', tagRECT),
]

assert sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS) == 32, sizeof(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS)
assert alignment(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS) == 4, alignment(D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS)

D3D12_RENDER_PASS_DEPTH_STENCIL_DESC._fields_ = [
    ('cpuDescriptor', D3D12_CPU_DESCRIPTOR_HANDLE),
    ('DepthBeginningAccess', D3D12_RENDER_PASS_BEGINNING_ACCESS),
    ('StencilBeginningAccess', D3D12_RENDER_PASS_BEGINNING_ACCESS),
    ('DepthEndingAccess', D3D12_RENDER_PASS_ENDING_ACCESS),
    ('StencilEndingAccess', D3D12_RENDER_PASS_ENDING_ACCESS),
]

assert sizeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC) == 168, sizeof(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC)
assert alignment(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC) == 8, alignment(D3D12_RENDER_PASS_DEPTH_STENCIL_DESC)

ID3D12MetaCommand._methods_ = [
    COMMETHOD(
        [],
        c_ulonglong,
        'GetRequiredParameterResourceSize',
        ([], D3D12_META_COMMAND_PARAMETER_STAGE, 'Stage'),
        ([], c_uint, 'ParameterIndex')
    ),
]

################################################################
# code template for ID3D12MetaCommand implementation
# class ID3D12MetaCommand_Impl(object):
#     def GetRequiredParameterResourceSize(self, Stage, ParameterIndex):
#         '-no docstring-'
#         #return 
#

D3D12_RESOURCE_DESC._fields_ = [
    ('Dimension', D3D12_RESOURCE_DIMENSION),
    ('Alignment', c_ulonglong),
    ('Width', c_ulonglong),
    ('Height', c_uint),
    ('DepthOrArraySize', c_ushort),
    ('MipLevels', c_ushort),
    ('Format', DXGI_FORMAT),
    ('SampleDesc', DXGI_SAMPLE_DESC),
    ('Layout', D3D12_TEXTURE_LAYOUT),
    ('Flags', D3D12_RESOURCE_FLAGS),
]

assert sizeof(D3D12_RESOURCE_DESC) == 56, sizeof(D3D12_RESOURCE_DESC)
assert alignment(D3D12_RESOURCE_DESC) == 8, alignment(D3D12_RESOURCE_DESC)


class D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS(Structure):
    pass


class __MIDL___MIDL_itf_d3d12_0000_0034_0002(Union):
    pass


class D3D12_RAYTRACING_GEOMETRY_DESC(Structure):
    pass


__MIDL___MIDL_itf_d3d12_0000_0034_0002._fields_ = [
    ('InstanceDescs', c_ulonglong),
    ('pGeometryDescs', POINTER(D3D12_RAYTRACING_GEOMETRY_DESC)),
    ('ppGeometryDescs', POINTER(POINTER(D3D12_RAYTRACING_GEOMETRY_DESC))),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0034_0002) == 8, sizeof(__MIDL___MIDL_itf_d3d12_0000_0034_0002)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0034_0002) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0034_0002)

D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS._fields_ = [
    ('Type', D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE),
    ('Flags', D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS),
    ('NumDescs', c_uint),
    ('DescsLayout', D3D12_ELEMENTS_LAYOUT),
    ('__MIDL____MIDL_itf_d3d12_0000_00340001', __MIDL___MIDL_itf_d3d12_0000_0034_0002),
]

assert sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS) == 24, sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS)
assert alignment(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS) == 8, alignment(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS)

D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC._fields_ = [
    ('DestAccelerationStructureData', c_ulonglong),
    ('Inputs', D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS),
    ('SourceAccelerationStructureData', c_ulonglong),
    ('ScratchAccelerationStructureData', c_ulonglong),
]

assert sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC) == 48, sizeof(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC)
assert alignment(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC) == 8, alignment(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC)

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC._fields_ = [
    ('DestBuffer', c_ulonglong),
    ('InfoType', D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE),
]

assert sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) == 16, sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)
assert alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) == 8, alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC)


class __MIDL___MIDL_itf_d3d12_0000_0001_0007(Union):
    pass


class D3D12_TEX1D_DSV(Structure):
    pass


D3D12_TEX1D_DSV._fields_ = [
    ('MipSlice', c_uint),
]

assert sizeof(D3D12_TEX1D_DSV) == 4, sizeof(D3D12_TEX1D_DSV)
assert alignment(D3D12_TEX1D_DSV) == 4, alignment(D3D12_TEX1D_DSV)


class D3D12_TEX1D_ARRAY_DSV(Structure):
    pass


D3D12_TEX1D_ARRAY_DSV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX1D_ARRAY_DSV) == 12, sizeof(D3D12_TEX1D_ARRAY_DSV)
assert alignment(D3D12_TEX1D_ARRAY_DSV) == 4, alignment(D3D12_TEX1D_ARRAY_DSV)


class D3D12_TEX2D_DSV(Structure):
    pass


D3D12_TEX2D_DSV._fields_ = [
    ('MipSlice', c_uint),
]

assert sizeof(D3D12_TEX2D_DSV) == 4, sizeof(D3D12_TEX2D_DSV)
assert alignment(D3D12_TEX2D_DSV) == 4, alignment(D3D12_TEX2D_DSV)


class D3D12_TEX2D_ARRAY_DSV(Structure):
    pass


D3D12_TEX2D_ARRAY_DSV._fields_ = [
    ('MipSlice', c_uint),
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX2D_ARRAY_DSV) == 12, sizeof(D3D12_TEX2D_ARRAY_DSV)
assert alignment(D3D12_TEX2D_ARRAY_DSV) == 4, alignment(D3D12_TEX2D_ARRAY_DSV)


class D3D12_TEX2DMS_DSV(Structure):
    pass


D3D12_TEX2DMS_DSV._fields_ = [
    ('UnusedField_NothingToDefine', c_uint),
]

assert sizeof(D3D12_TEX2DMS_DSV) == 4, sizeof(D3D12_TEX2DMS_DSV)
assert alignment(D3D12_TEX2DMS_DSV) == 4, alignment(D3D12_TEX2DMS_DSV)


class D3D12_TEX2DMS_ARRAY_DSV(Structure):
    pass


D3D12_TEX2DMS_ARRAY_DSV._fields_ = [
    ('FirstArraySlice', c_uint),
    ('ArraySize', c_uint),
]

assert sizeof(D3D12_TEX2DMS_ARRAY_DSV) == 8, sizeof(D3D12_TEX2DMS_ARRAY_DSV)
assert alignment(D3D12_TEX2DMS_ARRAY_DSV) == 4, alignment(D3D12_TEX2DMS_ARRAY_DSV)

__MIDL___MIDL_itf_d3d12_0000_0001_0007._fields_ = [
    ('Texture1D', D3D12_TEX1D_DSV),
    ('Texture1DArray', D3D12_TEX1D_ARRAY_DSV),
    ('Texture2D', D3D12_TEX2D_DSV),
    ('Texture2DArray', D3D12_TEX2D_ARRAY_DSV),
    ('Texture2DMS', D3D12_TEX2DMS_DSV),
    ('Texture2DMSArray', D3D12_TEX2DMS_ARRAY_DSV),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0007) == 12, sizeof(__MIDL___MIDL_itf_d3d12_0000_0001_0007)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0007) == 4, alignment(__MIDL___MIDL_itf_d3d12_0000_0001_0007)

D3D12_DEPTH_STENCIL_VIEW_DESC._fields_ = [
    ('Format', DXGI_FORMAT),
    ('ViewDimension', D3D12_DSV_DIMENSION),
    ('Flags', D3D12_DSV_FLAGS),
    ('__MIDL____MIDL_itf_d3d12_0000_00010006', __MIDL___MIDL_itf_d3d12_0000_0001_0007),
]

assert sizeof(D3D12_DEPTH_STENCIL_VIEW_DESC) == 24, sizeof(D3D12_DEPTH_STENCIL_VIEW_DESC)
assert alignment(D3D12_DEPTH_STENCIL_VIEW_DESC) == 4, alignment(D3D12_DEPTH_STENCIL_VIEW_DESC)


class D3D12_GPU_VIRTUAL_ADDRESS_RANGE(Structure):
    pass


D3D12_GPU_VIRTUAL_ADDRESS_RANGE._fields_ = [
    ('StartAddress', c_ulonglong),
    ('SizeInBytes', c_ulonglong),
]

assert sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE) == 16, sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE)
assert alignment(D3D12_GPU_VIRTUAL_ADDRESS_RANGE) == 8, alignment(D3D12_GPU_VIRTUAL_ADDRESS_RANGE)


class D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE(Structure):
    pass


D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE._fields_ = [
    ('StartAddress', c_ulonglong),
    ('SizeInBytes', c_ulonglong),
    ('StrideInBytes', c_ulonglong),
]

assert sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE) == 24, sizeof(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE)
assert alignment(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE) == 8, alignment(D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE)

D3D12_DISPATCH_RAYS_DESC._fields_ = [
    ('RayGenerationShaderRecord', D3D12_GPU_VIRTUAL_ADDRESS_RANGE),
    ('MissShaderTable', D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE),
    ('HitGroupTable', D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE),
    ('CallableShaderTable', D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE),
    ('Width', c_uint),
    ('Height', c_uint),
    ('Depth', c_uint),
]

assert sizeof(D3D12_DISPATCH_RAYS_DESC) == 104, sizeof(D3D12_DISPATCH_RAYS_DESC)
assert alignment(D3D12_DISPATCH_RAYS_DESC) == 8, alignment(D3D12_DISPATCH_RAYS_DESC)


class ID3D12GraphicsCommandList5(ID3D12GraphicsCommandList4):
    _case_insensitive_ = True
    _iid_ = GUID('{55050859-4024-474C-87F5-6472EAEE44EA}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def RSSetShadingRate(self, baseShadingRate: hints.Incomplete, combiners: hints.Incomplete) -> hints.Hresult: ...
        def RSSetShadingRateImage(self, shadingRateImage: hints.Incomplete) -> hints.Hresult: ...


ID3D12GraphicsCommandList5._methods_ = [
    COMMETHOD(
        [],
        None,
        'RSSetShadingRate',
        ([], D3D12_SHADING_RATE, 'baseShadingRate'),
        ([], POINTER(D3D12_SHADING_RATE_COMBINER), 'combiners')
    ),
    COMMETHOD(
        [],
        None,
        'RSSetShadingRateImage',
        ([], POINTER(ID3D12Resource), 'shadingRateImage')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList5 implementation
# class ID3D12GraphicsCommandList5_Impl(object):
#     def RSSetShadingRate(self, baseShadingRate, combiners):
#         '-no docstring-'
#         #return 
#
#     def RSSetShadingRateImage(self, shadingRateImage):
#         '-no docstring-'
#         #return 
#


class ID3D12GraphicsCommandList6(ID3D12GraphicsCommandList5):
    _case_insensitive_ = True
    _iid_ = GUID('{C3827890-E548-4CFA-96CF-5689A9370F80}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def DispatchMesh(self, ThreadGroupCountX: hints.Incomplete, ThreadGroupCountY: hints.Incomplete, ThreadGroupCountZ: hints.Incomplete) -> hints.Hresult: ...


ID3D12GraphicsCommandList6._methods_ = [
    COMMETHOD(
        [],
        None,
        'DispatchMesh',
        ([], c_uint, 'ThreadGroupCountX'),
        ([], c_uint, 'ThreadGroupCountY'),
        ([], c_uint, 'ThreadGroupCountZ')
    ),
]

################################################################
# code template for ID3D12GraphicsCommandList6 implementation
# class ID3D12GraphicsCommandList6_Impl(object):
#     def DispatchMesh(self, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ):
#         '-no docstring-'
#         #return 
#


class ID3D12PipelineLibrary(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{C64226A8-9201-46AF-B4CC-53FB9FF7414F}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def StorePipeline(self, pName: hints.Incomplete, pPipeline: hints.Incomplete) -> hints.Hresult: ...
        def LoadGraphicsPipeline(self, pName: hints.Incomplete, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def LoadComputePipeline(self, pName: hints.Incomplete, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetSerializedSize(self) -> hints.Hresult: ...
        def Serialize(self, pData: hints.Incomplete, DataSizeInBytes: hints.Incomplete) -> hints.Hresult: ...


ID3D12PipelineLibrary._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'StorePipeline',
        ([], WSTRING, 'pName'),
        ([], POINTER(ID3D12PipelineState), 'pPipeline')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'LoadGraphicsPipeline',
        ([], WSTRING, 'pName'),
        ([], POINTER(D3D12_GRAPHICS_PIPELINE_STATE_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'LoadComputePipeline',
        ([], WSTRING, 'pName'),
        ([], POINTER(D3D12_COMPUTE_PIPELINE_STATE_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
    COMMETHOD([], ULONG_PTR, 'GetSerializedSize'),
    COMMETHOD(
        [],
        HRESULT,
        'Serialize',
        ([], c_void_p, 'pData'),
        ([], ULONG_PTR, 'DataSizeInBytes')
    ),
]

################################################################
# code template for ID3D12PipelineLibrary implementation
# class ID3D12PipelineLibrary_Impl(object):
#     def StorePipeline(self, pName, pPipeline):
#         '-no docstring-'
#         #return 
#
#     def LoadGraphicsPipeline(self, pName, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#
#     def LoadComputePipeline(self, pName, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#
#     def GetSerializedSize(self):
#         '-no docstring-'
#         #return 
#
#     def Serialize(self, pData, DataSizeInBytes):
#         '-no docstring-'
#         #return 
#


class ID3D12PipelineLibrary1(ID3D12PipelineLibrary):
    _case_insensitive_ = True
    _iid_ = GUID('{80EABF42-2568-4E5E-BD82-C37F86961DC3}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def LoadPipeline(self, pName: hints.Incomplete, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...


ID3D12PipelineLibrary1._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'LoadPipeline',
        ([], WSTRING, 'pName'),
        ([], POINTER(D3D12_PIPELINE_STATE_STREAM_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppPipelineState')
    ),
]

################################################################
# code template for ID3D12PipelineLibrary1 implementation
# class ID3D12PipelineLibrary1_Impl(object):
#     def LoadPipeline(self, pName, pDesc, riid):
#         '-no docstring-'
#         #return ppPipelineState
#


class ID3D12RootSignatureDeserializer(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{34AB647B-3CC8-46AC-841B-C0965645C046}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetRootSignatureDesc(self) -> hints.Hresult: ...


ID3D12RootSignatureDeserializer._methods_ = [
    COMMETHOD([], POINTER(D3D12_ROOT_SIGNATURE_DESC), 'GetRootSignatureDesc'),
]

################################################################
# code template for ID3D12RootSignatureDeserializer implementation
# class ID3D12RootSignatureDeserializer_Impl(object):
#     def GetRootSignatureDesc(self):
#         '-no docstring-'
#         #return 
#

D3D12_ROOT_PARAMETER._fields_ = [
    ('ParameterType', D3D12_ROOT_PARAMETER_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00010007', __MIDL___MIDL_itf_d3d12_0000_0001_0008),
    ('ShaderVisibility', D3D12_SHADER_VISIBILITY),
]

assert sizeof(D3D12_ROOT_PARAMETER) == 32, sizeof(D3D12_ROOT_PARAMETER)
assert alignment(D3D12_ROOT_PARAMETER) == 8, alignment(D3D12_ROOT_PARAMETER)

ID3D12Resource._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'Map',
        ([], c_uint, 'Subresource'),
        ([], POINTER(D3D12_RANGE), 'pReadRange'),
        ([], POINTER(c_void_p), 'ppData')
    ),
    COMMETHOD(
        [],
        None,
        'Unmap',
        ([], c_uint, 'Subresource'),
        ([], POINTER(D3D12_RANGE), 'pWrittenRange')
    ),
    COMMETHOD([], D3D12_RESOURCE_DESC, 'GetDesc'),
    COMMETHOD([], c_ulonglong, 'GetGPUVirtualAddress'),
    COMMETHOD(
        [],
        HRESULT,
        'WriteToSubresource',
        ([], c_uint, 'DstSubresource'),
        ([], POINTER(D3D12_BOX), 'pDstBox'),
        ([], c_void_p, 'pSrcData'),
        ([], c_uint, 'SrcRowPitch'),
        ([], c_uint, 'SrcDepthPitch')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'ReadFromSubresource',
        ([], c_void_p, 'pDstData'),
        ([], c_uint, 'DstRowPitch'),
        ([], c_uint, 'DstDepthPitch'),
        ([], c_uint, 'SrcSubresource'),
        ([], POINTER(D3D12_BOX), 'pSrcBox')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'GetHeapProperties',
        ([], POINTER(D3D12_HEAP_PROPERTIES), 'pHeapProperties'),
        ([], POINTER(D3D12_HEAP_FLAGS), 'pHeapFlags')
    ),
]

################################################################
# code template for ID3D12Resource implementation
# class ID3D12Resource_Impl(object):
#     def Map(self, Subresource, pReadRange, ppData):
#         '-no docstring-'
#         #return 
#
#     def Unmap(self, Subresource, pWrittenRange):
#         '-no docstring-'
#         #return 
#
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#
#     def GetGPUVirtualAddress(self):
#         '-no docstring-'
#         #return 
#
#     def WriteToSubresource(self, DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch):
#         '-no docstring-'
#         #return 
#
#     def ReadFromSubresource(self, pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox):
#         '-no docstring-'
#         #return 
#
#     def GetHeapProperties(self, pHeapProperties, pHeapFlags):
#         '-no docstring-'
#         #return 
#

D3D12_SAMPLER_DESC._fields_ = [
    ('Filter', D3D12_FILTER),
    ('AddressU', D3D12_TEXTURE_ADDRESS_MODE),
    ('AddressV', D3D12_TEXTURE_ADDRESS_MODE),
    ('AddressW', D3D12_TEXTURE_ADDRESS_MODE),
    ('MipLODBias', c_float),
    ('MaxAnisotropy', c_uint),
    ('ComparisonFunc', D3D12_COMPARISON_FUNC),
    ('BorderColor', c_float * 4),
    ('MinLOD', c_float),
    ('MaxLOD', c_float),
]

assert sizeof(D3D12_SAMPLER_DESC) == 52, sizeof(D3D12_SAMPLER_DESC)
assert alignment(D3D12_SAMPLER_DESC) == 4, alignment(D3D12_SAMPLER_DESC)

D3D12_DESCRIPTOR_RANGE._fields_ = [
    ('RangeType', D3D12_DESCRIPTOR_RANGE_TYPE),
    ('NumDescriptors', c_uint),
    ('BaseShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
    ('OffsetInDescriptorsFromTableStart', c_uint),
]

assert sizeof(D3D12_DESCRIPTOR_RANGE) == 20, sizeof(D3D12_DESCRIPTOR_RANGE)
assert alignment(D3D12_DESCRIPTOR_RANGE) == 4, alignment(D3D12_DESCRIPTOR_RANGE)

D3D12_STATIC_SAMPLER_DESC._fields_ = [
    ('Filter', D3D12_FILTER),
    ('AddressU', D3D12_TEXTURE_ADDRESS_MODE),
    ('AddressV', D3D12_TEXTURE_ADDRESS_MODE),
    ('AddressW', D3D12_TEXTURE_ADDRESS_MODE),
    ('MipLODBias', c_float),
    ('MaxAnisotropy', c_uint),
    ('ComparisonFunc', D3D12_COMPARISON_FUNC),
    ('BorderColor', D3D12_STATIC_BORDER_COLOR),
    ('MinLOD', c_float),
    ('MaxLOD', c_float),
    ('ShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
    ('ShaderVisibility', D3D12_SHADER_VISIBILITY),
]

assert sizeof(D3D12_STATIC_SAMPLER_DESC) == 52, sizeof(D3D12_STATIC_SAMPLER_DESC)
assert alignment(D3D12_STATIC_SAMPLER_DESC) == 4, alignment(D3D12_STATIC_SAMPLER_DESC)


class ID3D12StateObjectProperties(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{DE5FA827-9BF9-4F26-89FF-D7F56FDE3860}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetShaderIdentifier(self, pExportName: hints.Incomplete) -> hints.Hresult: ...
        def GetShaderStackSize(self, pExportName: hints.Incomplete) -> hints.Hresult: ...
        def GetPipelineStackSize(self) -> hints.Hresult: ...
        def SetPipelineStackSize(self, PipelineStackSizeInBytes: hints.Incomplete) -> hints.Hresult: ...


ID3D12StateObjectProperties._methods_ = [
    COMMETHOD(
        [],
        c_void_p,
        'GetShaderIdentifier',
        ([], WSTRING, 'pExportName')
    ),
    COMMETHOD(
        [],
        c_ulonglong,
        'GetShaderStackSize',
        ([], WSTRING, 'pExportName')
    ),
    COMMETHOD([], c_ulonglong, 'GetPipelineStackSize'),
    COMMETHOD(
        [],
        None,
        'SetPipelineStackSize',
        ([], c_ulonglong, 'PipelineStackSizeInBytes')
    ),
]

################################################################
# code template for ID3D12StateObjectProperties implementation
# class ID3D12StateObjectProperties_Impl(object):
#     def GetShaderIdentifier(self, pExportName):
#         '-no docstring-'
#         #return 
#
#     def GetShaderStackSize(self, pExportName):
#         '-no docstring-'
#         #return 
#
#     def GetPipelineStackSize(self):
#         '-no docstring-'
#         #return 
#
#     def SetPipelineStackSize(self, PipelineStackSizeInBytes):
#         '-no docstring-'
#         #return 
#


class ID3D12Tools(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{7071E1F0-E84B-4B33-974F-12FA49DE65C5}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def EnableShaderInstrumentation(self, bEnable: hints.Incomplete) -> hints.Hresult: ...
        def ShaderInstrumentationEnabled(self) -> hints.Hresult: ...


ID3D12Tools._methods_ = [
    COMMETHOD(
        [],
        None,
        'EnableShaderInstrumentation',
        ([], c_int, 'bEnable')
    ),
    COMMETHOD([], c_int, 'ShaderInstrumentationEnabled'),
]

################################################################
# code template for ID3D12Tools implementation
# class ID3D12Tools_Impl(object):
#     def EnableShaderInstrumentation(self, bEnable):
#         '-no docstring-'
#         #return 
#
#     def ShaderInstrumentationEnabled(self):
#         '-no docstring-'
#         #return 
#

_SECURITY_ATTRIBUTES._fields_ = [
    ('nLength', c_ulong),
    ('lpSecurityDescriptor', c_void_p),
    ('bInheritHandle', c_int),
]

assert sizeof(_SECURITY_ATTRIBUTES) == 24, sizeof(_SECURITY_ATTRIBUTES)
assert alignment(_SECURITY_ATTRIBUTES) == 8, alignment(_SECURITY_ATTRIBUTES)


class ID3D12VersionedRootSignatureDeserializer(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{7F91CE67-090C-4BB7-B78E-ED8FF2E31DA0}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetRootSignatureDescAtVersion(self, convertToVersion: hints.Incomplete, ppDesc: hints.Incomplete) -> hints.Hresult: ...
        def GetUnconvertedRootSignatureDesc(self) -> hints.Hresult: ...


class D3D12_VERSIONED_ROOT_SIGNATURE_DESC(Structure):
    pass


ID3D12VersionedRootSignatureDeserializer._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetRootSignatureDescAtVersion',
        ([], D3D_ROOT_SIGNATURE_VERSION, 'convertToVersion'),
        ([], POINTER(POINTER(D3D12_VERSIONED_ROOT_SIGNATURE_DESC)), 'ppDesc')
    ),
    COMMETHOD(
        [],
        POINTER(D3D12_VERSIONED_ROOT_SIGNATURE_DESC),
        'GetUnconvertedRootSignatureDesc',
    ),
]

################################################################
# code template for ID3D12VersionedRootSignatureDeserializer implementation
# class ID3D12VersionedRootSignatureDeserializer_Impl(object):
#     def GetRootSignatureDescAtVersion(self, convertToVersion, ppDesc):
#         '-no docstring-'
#         #return 
#
#     def GetUnconvertedRootSignatureDesc(self):
#         '-no docstring-'
#         #return 
#

D3D12_VERSIONED_ROOT_SIGNATURE_DESC._fields_ = [
    ('Version', D3D_ROOT_SIGNATURE_VERSION),
    ('__MIDL____MIDL_itf_d3d12_0000_00010009', __MIDL___MIDL_itf_d3d12_0000_0001_0010),
]

assert sizeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC) == 48, sizeof(D3D12_VERSIONED_ROOT_SIGNATURE_DESC)
assert alignment(D3D12_VERSIONED_ROOT_SIGNATURE_DESC) == 8, alignment(D3D12_VERSIONED_ROOT_SIGNATURE_DESC)

D3D12_QUERY_HEAP_DESC._fields_ = [
    ('Type', D3D12_QUERY_HEAP_TYPE),
    ('Count', c_uint),
    ('NodeMask', c_uint),
]

assert sizeof(D3D12_QUERY_HEAP_DESC) == 12, sizeof(D3D12_QUERY_HEAP_DESC)
assert alignment(D3D12_QUERY_HEAP_DESC) == 4, alignment(D3D12_QUERY_HEAP_DESC)

D3D12_ROOT_PARAMETER1._fields_ = [
    ('ParameterType', D3D12_ROOT_PARAMETER_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00010008', __MIDL___MIDL_itf_d3d12_0000_0001_0009),
    ('ShaderVisibility', D3D12_SHADER_VISIBILITY),
]

assert sizeof(D3D12_ROOT_PARAMETER1) == 32, sizeof(D3D12_ROOT_PARAMETER1)
assert alignment(D3D12_ROOT_PARAMETER1) == 8, alignment(D3D12_ROOT_PARAMETER1)


class D3D12_INDIRECT_ARGUMENT_DESC(Structure):
    pass


D3D12_COMMAND_SIGNATURE_DESC._fields_ = [
    ('ByteStride', c_uint),
    ('NumArgumentDescs', c_uint),
    ('pArgumentDescs', POINTER(D3D12_INDIRECT_ARGUMENT_DESC)),
    ('NodeMask', c_uint),
]

assert sizeof(D3D12_COMMAND_SIGNATURE_DESC) == 24, sizeof(D3D12_COMMAND_SIGNATURE_DESC)
assert alignment(D3D12_COMMAND_SIGNATURE_DESC) == 8, alignment(D3D12_COMMAND_SIGNATURE_DESC)

D3D12_INDIRECT_ARGUMENT_DESC._fields_ = [
    ('Type', D3D12_INDIRECT_ARGUMENT_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00030000', __MIDL___MIDL_itf_d3d12_0000_0003_0001),
]

assert sizeof(D3D12_INDIRECT_ARGUMENT_DESC) == 16, sizeof(D3D12_INDIRECT_ARGUMENT_DESC)
assert alignment(D3D12_INDIRECT_ARGUMENT_DESC) == 4, alignment(D3D12_INDIRECT_ARGUMENT_DESC)

D3D12_DESCRIPTOR_RANGE1._fields_ = [
    ('RangeType', D3D12_DESCRIPTOR_RANGE_TYPE),
    ('NumDescriptors', c_uint),
    ('BaseShaderRegister', c_uint),
    ('RegisterSpace', c_uint),
    ('Flags', D3D12_DESCRIPTOR_RANGE_FLAGS),
    ('OffsetInDescriptorsFromTableStart', c_uint),
]

assert sizeof(D3D12_DESCRIPTOR_RANGE1) == 24, sizeof(D3D12_DESCRIPTOR_RANGE1)
assert alignment(D3D12_DESCRIPTOR_RANGE1) == 4, alignment(D3D12_DESCRIPTOR_RANGE1)


class ID3D12VirtualizationGuestDevice(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{BC66D368-7373-4943-8757-FC87DC79E476}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def ShareWithHost(self, pObject: hints.Incomplete, pHandle: hints.Incomplete) -> hints.Hresult: ...
        def CreateFenceFd(self, pFence: hints.Incomplete, FenceValue: hints.Incomplete, pFenceFd: hints.Incomplete) -> hints.Hresult: ...


ID3D12VirtualizationGuestDevice._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'ShareWithHost',
        ([], POINTER(ID3D12DeviceChild), 'pObject'),
        ([], POINTER(c_void_p), 'pHandle')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateFenceFd',
        ([], POINTER(ID3D12Fence), 'pFence'),
        ([], c_ulonglong, 'FenceValue'),
        ([], POINTER(c_int), 'pFenceFd')
    ),
]

################################################################
# code template for ID3D12VirtualizationGuestDevice implementation
# class ID3D12VirtualizationGuestDevice_Impl(object):
#     def ShareWithHost(self, pObject, pHandle):
#         '-no docstring-'
#         #return 
#
#     def CreateFenceFd(self, pFence, FenceValue, pFenceFd):
#         '-no docstring-'
#         #return 
#


class ID3D12ShaderCacheSession(ID3D12DeviceChild):
    _case_insensitive_ = True
    _iid_ = GUID('{28E2495D-0F64-4AE4-A6EC-129255DC49A8}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def FindValue(self, pKey: hints.Incomplete, KeySize: hints.Incomplete, pValueSize: hints.Incomplete) -> hints.Incomplete: ...
        def StoreValue(self, pKey: hints.Incomplete, KeySize: hints.Incomplete, pValue: hints.Incomplete, ValueSize: hints.Incomplete) -> hints.Hresult: ...
        def SetDeleteOnDestroy(self) -> hints.Hresult: ...
        def GetDesc(self) -> hints.Hresult: ...


class D3D12_SHADER_CACHE_SESSION_DESC(Structure):
    pass


D3D12_SHADER_CACHE_SESSION_DESC._fields_ = [
    ('Identifier', OLE.GUID),
    ('Mode', D3D12_SHADER_CACHE_MODE),
    ('Flags', D3D12_SHADER_CACHE_FLAGS),
    ('MaximumInMemoryCacheSizeBytes', c_uint),
    ('MaximumInMemoryCacheEntries', c_uint),
    ('MaximumValueFileSizeBytes', c_uint),
    ('Version', c_ulonglong),
]

assert sizeof(D3D12_SHADER_CACHE_SESSION_DESC) == 48, sizeof(D3D12_SHADER_CACHE_SESSION_DESC)
assert alignment(D3D12_SHADER_CACHE_SESSION_DESC) == 8, alignment(D3D12_SHADER_CACHE_SESSION_DESC)

ID3D12ShaderCacheSession._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'FindValue',
        (['in'], c_void_p, 'pKey'),
        ([], c_uint, 'KeySize'),
        (['out'], c_void_p, 'pValue'),
        ([], POINTER(c_uint), 'pValueSize')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'StoreValue',
        (['in'], c_void_p, 'pKey'),
        ([], c_uint, 'KeySize'),
        (['in'], c_void_p, 'pValue'),
        ([], c_uint, 'ValueSize')
    ),
    COMMETHOD([], None, 'SetDeleteOnDestroy'),
    COMMETHOD([], D3D12_SHADER_CACHE_SESSION_DESC, 'GetDesc'),
]

################################################################
# code template for ID3D12ShaderCacheSession implementation
# class ID3D12ShaderCacheSession_Impl(object):
#     def FindValue(self, pKey, KeySize, pValueSize):
#         '-no docstring-'
#         #return pValue
#
#     def StoreValue(self, pKey, KeySize, pValue, ValueSize):
#         '-no docstring-'
#         #return 
#
#     def SetDeleteOnDestroy(self):
#         '-no docstring-'
#         #return 
#
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#


class ID3D12DeviceRemovedExtendedDataSettings(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{82BC481C-6B9B-4030-AEDB-7EE3D1DF1E63}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def SetAutoBreadcrumbsEnablement(self, Enablement: hints.Incomplete) -> hints.Hresult: ...
        def SetPageFaultEnablement(self, Enablement: hints.Incomplete) -> hints.Hresult: ...
        def SetWatsonDumpEnablement(self, Enablement: hints.Incomplete) -> hints.Hresult: ...


ID3D12DeviceRemovedExtendedDataSettings._methods_ = [
    COMMETHOD(
        [],
        None,
        'SetAutoBreadcrumbsEnablement',
        ([], D3D12_DRED_ENABLEMENT, 'Enablement')
    ),
    COMMETHOD(
        [],
        None,
        'SetPageFaultEnablement',
        ([], D3D12_DRED_ENABLEMENT, 'Enablement')
    ),
    COMMETHOD(
        [],
        None,
        'SetWatsonDumpEnablement',
        ([], D3D12_DRED_ENABLEMENT, 'Enablement')
    ),
]

################################################################
# code template for ID3D12DeviceRemovedExtendedDataSettings implementation
# class ID3D12DeviceRemovedExtendedDataSettings_Impl(object):
#     def SetAutoBreadcrumbsEnablement(self, Enablement):
#         '-no docstring-'
#         #return 
#
#     def SetPageFaultEnablement(self, Enablement):
#         '-no docstring-'
#         #return 
#
#     def SetWatsonDumpEnablement(self, Enablement):
#         '-no docstring-'
#         #return 
#


class ID3D12DeviceRemovedExtendedData(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{98931D33-5AE8-4791-AA3C-1A73A2934E71}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetAutoBreadcrumbsOutput(self, pOutput: hints.Incomplete) -> hints.Hresult: ...
        def GetPageFaultAllocationOutput(self, pOutput: hints.Incomplete) -> hints.Hresult: ...


class D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT(Structure):
    pass


class D3D12_DRED_PAGE_FAULT_OUTPUT(Structure):
    pass


ID3D12DeviceRemovedExtendedData._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetAutoBreadcrumbsOutput',
        ([], POINTER(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT), 'pOutput')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'GetPageFaultAllocationOutput',
        ([], POINTER(D3D12_DRED_PAGE_FAULT_OUTPUT), 'pOutput')
    ),
]

################################################################
# code template for ID3D12DeviceRemovedExtendedData implementation
# class ID3D12DeviceRemovedExtendedData_Impl(object):
#     def GetAutoBreadcrumbsOutput(self, pOutput):
#         '-no docstring-'
#         #return 
#
#     def GetPageFaultAllocationOutput(self, pOutput):
#         '-no docstring-'
#         #return 
#

D3D12_PACKED_MIP_INFO._fields_ = [
    ('NumStandardMips', c_ubyte),
    ('NumPackedMips', c_ubyte),
    ('NumTilesForPackedMips', c_uint),
    ('StartTileIndexInOverallResource', c_uint),
]

assert sizeof(D3D12_PACKED_MIP_INFO) == 12, sizeof(D3D12_PACKED_MIP_INFO)
assert alignment(D3D12_PACKED_MIP_INFO) == 4, alignment(D3D12_PACKED_MIP_INFO)


class D3D12_AUTO_BREADCRUMB_NODE(Structure):
    pass


D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT._fields_ = [
    ('pHeadAutoBreadcrumbNode', POINTER(D3D12_AUTO_BREADCRUMB_NODE)),
]

assert sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) == 8, sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT)
assert alignment(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) == 8, alignment(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT)

D3D12_TILE_SHAPE._fields_ = [
    ('WidthInTexels', c_uint),
    ('HeightInTexels', c_uint),
    ('DepthInTexels', c_uint),
]

assert sizeof(D3D12_TILE_SHAPE) == 12, sizeof(D3D12_TILE_SHAPE)
assert alignment(D3D12_TILE_SHAPE) == 4, alignment(D3D12_TILE_SHAPE)


class ID3D12CommandQueue(ID3D12Pageable):
    _case_insensitive_ = True
    _iid_ = GUID('{0EC870A6-5D7E-4C22-8CFC-5BAAE07616ED}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def UpdateTileMappings(self, pResource: hints.Incomplete, NumResourceRegions: hints.Incomplete, pResourceRegionStartCoordinates: hints.Incomplete, pResourceRegionSizes: hints.Incomplete, pHeap: hints.Incomplete, NumRanges: hints.Incomplete, pRangeFlags: hints.Incomplete, pHeapRangeStartOffsets: hints.Incomplete, pRangeTileCounts: hints.Incomplete, Flags: hints.Incomplete) -> hints.Hresult: ...
        def CopyTileMappings(self, pDstResource: hints.Incomplete, pDstRegionStartCoordinate: hints.Incomplete, pSrcResource: hints.Incomplete, pSrcRegionStartCoordinate: hints.Incomplete, pRegionSize: hints.Incomplete, Flags: hints.Incomplete) -> hints.Hresult: ...
        def ExecuteCommandLists(self, NumCommandLists: hints.Incomplete, ppCommandLists: hints.Incomplete) -> hints.Hresult: ...
        def SetMarker(self, Metadata: hints.Incomplete, pData: hints.Incomplete, Size: hints.Incomplete) -> hints.Hresult: ...
        def BeginEvent(self, Metadata: hints.Incomplete, pData: hints.Incomplete, Size: hints.Incomplete) -> hints.Hresult: ...
        def EndEvent(self) -> hints.Hresult: ...
        def Signal(self, pFence: hints.Incomplete, Value: hints.Incomplete) -> hints.Hresult: ...
        def Wait(self, pFence: hints.Incomplete, Value: hints.Incomplete) -> hints.Hresult: ...
        def GetTimestampFrequency(self, pFrequency: hints.Incomplete) -> hints.Hresult: ...
        def GetClockCalibration(self, pGpuTimestamp: hints.Incomplete, pCpuTimestamp: hints.Incomplete) -> hints.Hresult: ...
        def GetDesc(self) -> hints.Hresult: ...


D3D12_AUTO_BREADCRUMB_NODE._fields_ = [
    ('pCommandListDebugNameA', STRING),
    ('pCommandListDebugNameW', POINTER(c_ushort)),
    ('pCommandQueueDebugNameA', STRING),
    ('pCommandQueueDebugNameW', POINTER(c_ushort)),
    ('pCommandList', POINTER(ID3D12GraphicsCommandList)),
    ('pCommandQueue', POINTER(ID3D12CommandQueue)),
    ('BreadcrumbCount', c_uint),
    ('pLastBreadcrumbValue', POINTER(c_uint)),
    ('pCommandHistory', POINTER(D3D12_AUTO_BREADCRUMB_OP)),
    ('pNext', POINTER(D3D12_AUTO_BREADCRUMB_NODE)),
]

assert sizeof(D3D12_AUTO_BREADCRUMB_NODE) == 80, sizeof(D3D12_AUTO_BREADCRUMB_NODE)
assert alignment(D3D12_AUTO_BREADCRUMB_NODE) == 8, alignment(D3D12_AUTO_BREADCRUMB_NODE)


class D3D12_DRED_ALLOCATION_NODE(Structure):
    pass


D3D12_DRED_PAGE_FAULT_OUTPUT._fields_ = [
    ('PageFaultVA', c_ulonglong),
    ('pHeadExistingAllocationNode', POINTER(D3D12_DRED_ALLOCATION_NODE)),
    ('pHeadRecentFreedAllocationNode', POINTER(D3D12_DRED_ALLOCATION_NODE)),
]

assert sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT) == 24, sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT)
assert alignment(D3D12_DRED_PAGE_FAULT_OUTPUT) == 8, alignment(D3D12_DRED_PAGE_FAULT_OUTPUT)

D3D12_SUBRESOURCE_TILING._fields_ = [
    ('WidthInTiles', c_uint),
    ('HeightInTiles', c_ushort),
    ('DepthInTiles', c_ushort),
    ('StartTileIndexInOverallResource', c_uint),
]

assert sizeof(D3D12_SUBRESOURCE_TILING) == 12, sizeof(D3D12_SUBRESOURCE_TILING)
assert alignment(D3D12_SUBRESOURCE_TILING) == 4, alignment(D3D12_SUBRESOURCE_TILING)

D3D12_DRED_ALLOCATION_NODE._fields_ = [
    ('ObjectNameA', STRING),
    ('ObjectNameW', POINTER(c_ushort)),
    ('AllocationType', D3D12_DRED_ALLOCATION_TYPE),
    ('pNext', POINTER(D3D12_DRED_ALLOCATION_NODE)),
]

assert sizeof(D3D12_DRED_ALLOCATION_NODE) == 32, sizeof(D3D12_DRED_ALLOCATION_NODE)
assert alignment(D3D12_DRED_ALLOCATION_NODE) == 8, alignment(D3D12_DRED_ALLOCATION_NODE)


class ID3D12DeviceRemovedExtendedData1(ID3D12DeviceRemovedExtendedData):
    _case_insensitive_ = True
    _iid_ = GUID('{9727A022-CF1D-4DDA-9EBA-EFFA653FC506}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetAutoBreadcrumbsOutput1(self, pOutput: hints.Incomplete) -> hints.Hresult: ...
        def GetPageFaultAllocationOutput1(self, pOutput: hints.Incomplete) -> hints.Hresult: ...


class D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1(Structure):
    pass


class D3D12_DRED_PAGE_FAULT_OUTPUT1(Structure):
    pass


ID3D12DeviceRemovedExtendedData1._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'GetAutoBreadcrumbsOutput1',
        ([], POINTER(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1), 'pOutput')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'GetPageFaultAllocationOutput1',
        ([], POINTER(D3D12_DRED_PAGE_FAULT_OUTPUT1), 'pOutput')
    ),
]

################################################################
# code template for ID3D12DeviceRemovedExtendedData1 implementation
# class ID3D12DeviceRemovedExtendedData1_Impl(object):
#     def GetAutoBreadcrumbsOutput1(self, pOutput):
#         '-no docstring-'
#         #return 
#
#     def GetPageFaultAllocationOutput1(self, pOutput):
#         '-no docstring-'
#         #return 
#

D3D12_TILED_RESOURCE_COORDINATE._fields_ = [
    ('X', c_uint),
    ('Y', c_uint),
    ('Z', c_uint),
    ('Subresource', c_uint),
]

assert sizeof(D3D12_TILED_RESOURCE_COORDINATE) == 16, sizeof(D3D12_TILED_RESOURCE_COORDINATE)
assert alignment(D3D12_TILED_RESOURCE_COORDINATE) == 4, alignment(D3D12_TILED_RESOURCE_COORDINATE)


class D3D12_AUTO_BREADCRUMB_NODE1(Structure):
    pass


D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1._fields_ = [
    ('pHeadAutoBreadcrumbNode', POINTER(D3D12_AUTO_BREADCRUMB_NODE1)),
]

assert sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) == 8, sizeof(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1)
assert alignment(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) == 8, alignment(D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1)


class D3D12_DRED_BREADCRUMB_CONTEXT(Structure):
    pass


D3D12_AUTO_BREADCRUMB_NODE1._fields_ = [
    ('pCommandListDebugNameA', STRING),
    ('pCommandListDebugNameW', POINTER(c_ushort)),
    ('pCommandQueueDebugNameA', STRING),
    ('pCommandQueueDebugNameW', POINTER(c_ushort)),
    ('pCommandList', POINTER(ID3D12GraphicsCommandList)),
    ('pCommandQueue', POINTER(ID3D12CommandQueue)),
    ('BreadcrumbCount', c_uint),
    ('pLastBreadcrumbValue', POINTER(c_uint)),
    ('pCommandHistory', POINTER(D3D12_AUTO_BREADCRUMB_OP)),
    ('pNext', POINTER(D3D12_AUTO_BREADCRUMB_NODE1)),
    ('BreadcrumbContextsCount', c_uint),
    ('pBreadcrumbContexts', POINTER(D3D12_DRED_BREADCRUMB_CONTEXT)),
]

assert sizeof(D3D12_AUTO_BREADCRUMB_NODE1) == 96, sizeof(D3D12_AUTO_BREADCRUMB_NODE1)
assert alignment(D3D12_AUTO_BREADCRUMB_NODE1) == 8, alignment(D3D12_AUTO_BREADCRUMB_NODE1)

D3D12_SO_DECLARATION_ENTRY._fields_ = [
    ('Stream', c_uint),
    ('SemanticName', STRING),
    ('SemanticIndex', c_uint),
    ('StartComponent', c_ubyte),
    ('ComponentCount', c_ubyte),
    ('OutputSlot', c_ubyte),
]

assert sizeof(D3D12_SO_DECLARATION_ENTRY) == 24, sizeof(D3D12_SO_DECLARATION_ENTRY)
assert alignment(D3D12_SO_DECLARATION_ENTRY) == 8, alignment(D3D12_SO_DECLARATION_ENTRY)

D3D12_DRED_BREADCRUMB_CONTEXT._fields_ = [
    ('BreadcrumbIndex', c_uint),
    ('pContextString', POINTER(c_ushort)),
]

assert sizeof(D3D12_DRED_BREADCRUMB_CONTEXT) == 16, sizeof(D3D12_DRED_BREADCRUMB_CONTEXT)
assert alignment(D3D12_DRED_BREADCRUMB_CONTEXT) == 8, alignment(D3D12_DRED_BREADCRUMB_CONTEXT)


class D3D12_DRED_ALLOCATION_NODE1(Structure):
    pass


D3D12_DRED_PAGE_FAULT_OUTPUT1._fields_ = [
    ('PageFaultVA', c_ulonglong),
    ('pHeadExistingAllocationNode', POINTER(D3D12_DRED_ALLOCATION_NODE1)),
    ('pHeadRecentFreedAllocationNode', POINTER(D3D12_DRED_ALLOCATION_NODE1)),
]

assert sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT1) == 24, sizeof(D3D12_DRED_PAGE_FAULT_OUTPUT1)
assert alignment(D3D12_DRED_PAGE_FAULT_OUTPUT1) == 8, alignment(D3D12_DRED_PAGE_FAULT_OUTPUT1)

D3D12_PIPELINE_STATE_STREAM_DESC._fields_ = [
    ('SizeInBytes', ULONG_PTR),
    ('pPipelineStateSubobjectStream', c_void_p),
]

assert sizeof(D3D12_PIPELINE_STATE_STREAM_DESC) == 16, sizeof(D3D12_PIPELINE_STATE_STREAM_DESC)
assert alignment(D3D12_PIPELINE_STATE_STREAM_DESC) == 8, alignment(D3D12_PIPELINE_STATE_STREAM_DESC)

D3D12_DRED_ALLOCATION_NODE1._fields_ = [
    ('ObjectNameA', STRING),
    ('ObjectNameW', POINTER(c_ushort)),
    ('AllocationType', D3D12_DRED_ALLOCATION_TYPE),
    ('pNext', POINTER(D3D12_DRED_ALLOCATION_NODE1)),
    ('pObject', POINTER(IUnknown)),
]

assert sizeof(D3D12_DRED_ALLOCATION_NODE1) == 40, sizeof(D3D12_DRED_ALLOCATION_NODE1)
assert alignment(D3D12_DRED_ALLOCATION_NODE1) == 8, alignment(D3D12_DRED_ALLOCATION_NODE1)

ID3D12Heap._methods_ = [
    COMMETHOD([], D3D12_HEAP_DESC, 'GetDesc'),
]

################################################################
# code template for ID3D12Heap implementation
# class ID3D12Heap_Impl(object):
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#


class D3D12_RESOURCE_ALLOCATION_INFO1(Structure):
    pass


D3D12_RESOURCE_ALLOCATION_INFO1._fields_ = [
    ('Offset', c_ulonglong),
    ('Alignment', c_ulonglong),
    ('SizeInBytes', c_ulonglong),
]

assert sizeof(D3D12_RESOURCE_ALLOCATION_INFO1) == 24, sizeof(D3D12_RESOURCE_ALLOCATION_INFO1)
assert alignment(D3D12_RESOURCE_ALLOCATION_INFO1) == 8, alignment(D3D12_RESOURCE_ALLOCATION_INFO1)


class ID3D12Device3(ID3D12Device2):
    _case_insensitive_ = True
    _iid_ = GUID('{81DADC15-2BAD-4392-93C5-101345C4AA98}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def OpenExistingHeapFromAddress(self, pAddress: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def OpenExistingHeapFromFileMapping(self, hFileMapping: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def EnqueueMakeResident(self, Flags: hints.Incomplete, NumObjects: hints.Incomplete, ppObjects: hints.Incomplete, pFenceToSignal: hints.Incomplete, FenceValueToSignal: hints.Incomplete) -> hints.Hresult: ...


class ID3D12Device4(ID3D12Device3):
    _case_insensitive_ = True
    _iid_ = GUID('{E865DF17-A9EE-46F9-A463-3098315AA2E5}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreateCommandList1(self, NodeMask: hints.Incomplete, Type: hints.Incomplete, Flags: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateProtectedResourceSession(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateCommittedResource1(self, pHeapProperties: hints.Incomplete, HeapFlags: hints.Incomplete, pDesc: hints.Incomplete, InitialResourceState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, pProtectedSession: hints.Incomplete, riidResource: hints.Incomplete) -> hints.Incomplete: ...
        def CreateHeap1(self, pDesc: hints.Incomplete, pProtectedSession: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateReservedResource1(self, pDesc: hints.Incomplete, InitialState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, pProtectedSession: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetResourceAllocationInfo1(self, visibleMask: hints.Incomplete, numResourceDescs: hints.Incomplete, pResourceDescs: hints.Incomplete, pResourceAllocationInfo1: hints.Incomplete) -> hints.Hresult: ...


class ID3D12Device5(ID3D12Device4):
    _case_insensitive_ = True
    _iid_ = GUID('{8B4F173B-2FEA-4B80-8F58-4307191AB95D}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreateLifetimeTracker(self, pOwner: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def RemoveDevice(self) -> hints.Hresult: ...
        def EnumerateMetaCommands(self, pNumMetaCommands: hints.Incomplete, pDescs: hints.Incomplete) -> hints.Hresult: ...
        def EnumerateMetaCommandParameters(self, CommandId: hints.Incomplete, Stage: hints.Incomplete, pTotalStructureSizeInBytes: hints.Incomplete, pParameterCount: hints.Incomplete, pParameterDescs: hints.Incomplete) -> hints.Hresult: ...
        def CreateMetaCommand(self, CommandId: hints.Incomplete, NodeMask: hints.Incomplete, pCreationParametersData: hints.Incomplete, CreationParametersDataSizeInBytes: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateStateObject(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def GetRaytracingAccelerationStructurePrebuildInfo(self, pDesc: hints.Incomplete, pInfo: hints.Incomplete) -> hints.Hresult: ...
        def CheckDriverMatchingIdentifier(self, SerializedDataType: hints.Incomplete, pIdentifierToCheck: hints.Incomplete) -> hints.Hresult: ...


ID3D12Device3._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'OpenExistingHeapFromAddress',
        ([], c_void_p, 'pAddress'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'OpenExistingHeapFromFileMapping',
        ([], c_void_p, 'hFileMapping'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'EnqueueMakeResident',
        ([], D3D12_RESIDENCY_FLAGS, 'Flags'),
        ([], c_uint, 'NumObjects'),
        ([], POINTER(POINTER(ID3D12Pageable)), 'ppObjects'),
        ([], POINTER(ID3D12Fence), 'pFenceToSignal'),
        ([], c_ulonglong, 'FenceValueToSignal')
    ),
]

################################################################
# code template for ID3D12Device3 implementation
# class ID3D12Device3_Impl(object):
#     def OpenExistingHeapFromAddress(self, pAddress, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def OpenExistingHeapFromFileMapping(self, hFileMapping, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def EnqueueMakeResident(self, Flags, NumObjects, ppObjects, pFenceToSignal, FenceValueToSignal):
#         '-no docstring-'
#         #return 
#

ID3D12Device4._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandList1',
        ([], c_uint, 'NodeMask'),
        ([], D3D12_COMMAND_LIST_TYPE, 'Type'),
        ([], D3D12_COMMAND_LIST_FLAGS, 'Flags'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppCommandList')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateProtectedResourceSession',
        ([], POINTER(D3D12_PROTECTED_RESOURCE_SESSION_DESC), 'pDesc'),
        (
            [],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppSession')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommittedResource1',
        ([], POINTER(D3D12_HEAP_PROPERTIES), 'pHeapProperties'),
        ([], D3D12_HEAP_FLAGS, 'HeapFlags'),
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialResourceState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riidResource',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateHeap1',
        ([], POINTER(D3D12_HEAP_DESC), 'pDesc'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvHeap')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateReservedResource1',
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        D3D12_RESOURCE_ALLOCATION_INFO,
        'GetResourceAllocationInfo1',
        ([], c_uint, 'visibleMask'),
        ([], c_uint, 'numResourceDescs'),
        ([], POINTER(D3D12_RESOURCE_DESC), 'pResourceDescs'),
        (
            [],
            POINTER(D3D12_RESOURCE_ALLOCATION_INFO1),
            'pResourceAllocationInfo1',
        )
    ),
]

################################################################
# code template for ID3D12Device4 implementation
# class ID3D12Device4_Impl(object):
#     def CreateCommandList1(self, NodeMask, Type, Flags, riid):
#         '-no docstring-'
#         #return ppCommandList
#
#     def CreateProtectedResourceSession(self, pDesc, riid):
#         '-no docstring-'
#         #return ppSession
#
#     def CreateCommittedResource1(self, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, riidResource):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateHeap1(self, pDesc, pProtectedSession, riid):
#         '-no docstring-'
#         #return ppvHeap
#
#     def CreateReservedResource1(self, pDesc, InitialState, pOptimizedClearValue, pProtectedSession, riid):
#         '-no docstring-'
#         #return ppvResource
#
#     def GetResourceAllocationInfo1(self, visibleMask, numResourceDescs, pResourceDescs, pResourceAllocationInfo1):
#         '-no docstring-'
#         #return 
#


class ID3D12LifetimeOwner(OLE.IUnknown):
    _case_insensitive_ = True
    _iid_ = GUID('{E667AF9F-CD56-4F46-83CE-032E595D70A8}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def LifetimeStateUpdated(self, NewState: hints.Incomplete) -> hints.Hresult: ...


class D3D12_META_COMMAND_DESC(Structure):
    pass


class D3D12_META_COMMAND_PARAMETER_DESC(Structure):
    pass


class D3D12_STATE_OBJECT_DESC(Structure):
    pass


class D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO(Structure):
    pass


class D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER(Structure):
    pass


ID3D12Device5._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreateLifetimeTracker',
        ([], POINTER(ID3D12LifetimeOwner), 'pOwner'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvTracker')
    ),
    COMMETHOD([], None, 'RemoveDevice'),
    COMMETHOD(
        [],
        HRESULT,
        'EnumerateMetaCommands',
        ([], POINTER(c_uint), 'pNumMetaCommands'),
        ([], POINTER(D3D12_META_COMMAND_DESC), 'pDescs')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'EnumerateMetaCommandParameters',
        (
            [],
            POINTER(OLE.GUID),
            'CommandId',
        ),
        ([], D3D12_META_COMMAND_PARAMETER_STAGE, 'Stage'),
        ([], POINTER(c_uint), 'pTotalStructureSizeInBytes'),
        ([], POINTER(c_uint), 'pParameterCount'),
        ([], POINTER(D3D12_META_COMMAND_PARAMETER_DESC), 'pParameterDescs')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateMetaCommand',
        (
            [],
            POINTER(OLE.GUID),
            'CommandId',
        ),
        ([], c_uint, 'NodeMask'),
        ([], c_void_p, 'pCreationParametersData'),
        ([], ULONG_PTR, 'CreationParametersDataSizeInBytes'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppMetaCommand')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateStateObject',
        (['in'], POINTER(D3D12_STATE_OBJECT_DESC), 'pDesc'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppStateObject')
    ),
    COMMETHOD(
        [],
        None,
        'GetRaytracingAccelerationStructurePrebuildInfo',
        (
            [],
            POINTER(D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS),
            'pDesc',
        ),
        (
            [],
            POINTER(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO),
            'pInfo',
        )
    ),
    COMMETHOD(
        [],
        D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
        'CheckDriverMatchingIdentifier',
        ([], D3D12_SERIALIZED_DATA_TYPE, 'SerializedDataType'),
        (
            [],
            POINTER(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER),
            'pIdentifierToCheck',
        )
    ),
]

################################################################
# code template for ID3D12Device5 implementation
# class ID3D12Device5_Impl(object):
#     def CreateLifetimeTracker(self, pOwner, riid):
#         '-no docstring-'
#         #return ppvTracker
#
#     def RemoveDevice(self):
#         '-no docstring-'
#         #return 
#
#     def EnumerateMetaCommands(self, pNumMetaCommands, pDescs):
#         '-no docstring-'
#         #return 
#
#     def EnumerateMetaCommandParameters(self, CommandId, Stage, pTotalStructureSizeInBytes, pParameterCount, pParameterDescs):
#         '-no docstring-'
#         #return 
#
#     def CreateMetaCommand(self, CommandId, NodeMask, pCreationParametersData, CreationParametersDataSizeInBytes, riid):
#         '-no docstring-'
#         #return ppMetaCommand
#
#     def CreateStateObject(self, pDesc, riid):
#         '-no docstring-'
#         #return ppStateObject
#
#     def GetRaytracingAccelerationStructurePrebuildInfo(self, pDesc, pInfo):
#         '-no docstring-'
#         #return 
#
#     def CheckDriverMatchingIdentifier(self, SerializedDataType, pIdentifierToCheck):
#         '-no docstring-'
#         #return 
#

ID3D12CommandQueue._methods_ = [
    COMMETHOD(
        [],
        None,
        'UpdateTileMappings',
        ([], POINTER(ID3D12Resource), 'pResource'),
        ([], c_uint, 'NumResourceRegions'),
        (
            [],
            POINTER(D3D12_TILED_RESOURCE_COORDINATE),
            'pResourceRegionStartCoordinates',
        ),
        ([], POINTER(D3D12_TILE_REGION_SIZE), 'pResourceRegionSizes'),
        ([], POINTER(ID3D12Heap), 'pHeap'),
        ([], c_uint, 'NumRanges'),
        ([], POINTER(D3D12_TILE_RANGE_FLAGS), 'pRangeFlags'),
        ([], POINTER(c_uint), 'pHeapRangeStartOffsets'),
        ([], POINTER(c_uint), 'pRangeTileCounts'),
        ([], D3D12_TILE_MAPPING_FLAGS, 'Flags')
    ),
    COMMETHOD(
        [],
        None,
        'CopyTileMappings',
        ([], POINTER(ID3D12Resource), 'pDstResource'),
        (
            [],
            POINTER(D3D12_TILED_RESOURCE_COORDINATE),
            'pDstRegionStartCoordinate',
        ),
        ([], POINTER(ID3D12Resource), 'pSrcResource'),
        (
            [],
            POINTER(D3D12_TILED_RESOURCE_COORDINATE),
            'pSrcRegionStartCoordinate',
        ),
        ([], POINTER(D3D12_TILE_REGION_SIZE), 'pRegionSize'),
        ([], D3D12_TILE_MAPPING_FLAGS, 'Flags')
    ),
    COMMETHOD(
        [],
        None,
        'ExecuteCommandLists',
        ([], c_uint, 'NumCommandLists'),
        ([], POINTER(POINTER(ID3D12CommandList)), 'ppCommandLists')
    ),
    COMMETHOD(
        [],
        None,
        'SetMarker',
        ([], c_uint, 'Metadata'),
        ([], c_void_p, 'pData'),
        ([], c_uint, 'Size')
    ),
    COMMETHOD(
        [],
        None,
        'BeginEvent',
        ([], c_uint, 'Metadata'),
        ([], c_void_p, 'pData'),
        ([], c_uint, 'Size')
    ),
    COMMETHOD([], None, 'EndEvent'),
    COMMETHOD(
        [],
        HRESULT,
        'Signal',
        ([], POINTER(ID3D12Fence), 'pFence'),
        ([], c_ulonglong, 'Value')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'Wait',
        ([], POINTER(ID3D12Fence), 'pFence'),
        ([], c_ulonglong, 'Value')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'GetTimestampFrequency',
        ([], POINTER(c_ulonglong), 'pFrequency')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'GetClockCalibration',
        ([], POINTER(c_ulonglong), 'pGpuTimestamp'),
        ([], POINTER(c_ulonglong), 'pCpuTimestamp')
    ),
    COMMETHOD([], D3D12_COMMAND_QUEUE_DESC, 'GetDesc'),
]

################################################################
# code template for ID3D12CommandQueue implementation
# class ID3D12CommandQueue_Impl(object):
#     def UpdateTileMappings(self, pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags):
#         '-no docstring-'
#         #return 
#
#     def CopyTileMappings(self, pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags):
#         '-no docstring-'
#         #return 
#
#     def ExecuteCommandLists(self, NumCommandLists, ppCommandLists):
#         '-no docstring-'
#         #return 
#
#     def SetMarker(self, Metadata, pData, Size):
#         '-no docstring-'
#         #return 
#
#     def BeginEvent(self, Metadata, pData, Size):
#         '-no docstring-'
#         #return 
#
#     def EndEvent(self):
#         '-no docstring-'
#         #return 
#
#     def Signal(self, pFence, Value):
#         '-no docstring-'
#         #return 
#
#     def Wait(self, pFence, Value):
#         '-no docstring-'
#         #return 
#
#     def GetTimestampFrequency(self, pFrequency):
#         '-no docstring-'
#         #return 
#
#     def GetClockCalibration(self, pGpuTimestamp, pCpuTimestamp):
#         '-no docstring-'
#         #return 
#
#     def GetDesc(self):
#         '-no docstring-'
#         #return 
#

ID3D12LifetimeOwner._methods_ = [
    COMMETHOD(
        [],
        None,
        'LifetimeStateUpdated',
        ([], D3D12_LIFETIME_STATE, 'NewState')
    ),
]

################################################################
# code template for ID3D12LifetimeOwner implementation
# class ID3D12LifetimeOwner_Impl(object):
#     def LifetimeStateUpdated(self, NewState):
#         '-no docstring-'
#         #return 
#

D3D12_META_COMMAND_DESC._fields_ = [
    ('Id', OLE.GUID),
    ('Name', WSTRING),
    ('InitializationDirtyState', D3D12_GRAPHICS_STATES),
    ('ExecutionDirtyState', D3D12_GRAPHICS_STATES),
]

assert sizeof(D3D12_META_COMMAND_DESC) == 32, sizeof(D3D12_META_COMMAND_DESC)
assert alignment(D3D12_META_COMMAND_DESC) == 8, alignment(D3D12_META_COMMAND_DESC)

D3D12_META_COMMAND_PARAMETER_DESC._fields_ = [
    ('Name', WSTRING),
    ('Type', D3D12_META_COMMAND_PARAMETER_TYPE),
    ('Flags', D3D12_META_COMMAND_PARAMETER_FLAGS),
    ('RequiredResourceState', D3D12_RESOURCE_STATES),
    ('StructureOffset', c_uint),
]

assert sizeof(D3D12_META_COMMAND_PARAMETER_DESC) == 24, sizeof(D3D12_META_COMMAND_PARAMETER_DESC)
assert alignment(D3D12_META_COMMAND_PARAMETER_DESC) == 8, alignment(D3D12_META_COMMAND_PARAMETER_DESC)


class D3D12_STATE_SUBOBJECT(Structure):
    pass


D3D12_STATE_OBJECT_DESC._fields_ = [
    ('Type', D3D12_STATE_OBJECT_TYPE),
    ('NumSubobjects', c_uint),
    ('pSubobjects', POINTER(D3D12_STATE_SUBOBJECT)),
]

assert sizeof(D3D12_STATE_OBJECT_DESC) == 16, sizeof(D3D12_STATE_OBJECT_DESC)
assert alignment(D3D12_STATE_OBJECT_DESC) == 8, alignment(D3D12_STATE_OBJECT_DESC)


class __MIDL___MIDL_itf_d3d12_0000_0034_0001(Union):
    pass


class D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC(Structure):
    pass


class D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE(Structure):
    pass


D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE._fields_ = [
    ('StartAddress', c_ulonglong),
    ('StrideInBytes', c_ulonglong),
]

assert sizeof(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE) == 16, sizeof(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE)
assert alignment(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE) == 8, alignment(D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE)

D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC._fields_ = [
    ('Transform3x4', c_ulonglong),
    ('IndexFormat', DXGI_FORMAT),
    ('VertexFormat', DXGI_FORMAT),
    ('IndexCount', c_uint),
    ('VertexCount', c_uint),
    ('IndexBuffer', c_ulonglong),
    ('VertexBuffer', D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE),
]

assert sizeof(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC) == 48, sizeof(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC)
assert alignment(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC) == 8, alignment(D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC)


class D3D12_RAYTRACING_GEOMETRY_AABBS_DESC(Structure):
    pass


D3D12_RAYTRACING_GEOMETRY_AABBS_DESC._fields_ = [
    ('AABBCount', c_ulonglong),
    ('AABBs', D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE),
]

assert sizeof(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC) == 24, sizeof(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC)
assert alignment(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC) == 8, alignment(D3D12_RAYTRACING_GEOMETRY_AABBS_DESC)

__MIDL___MIDL_itf_d3d12_0000_0034_0001._fields_ = [
    ('Triangles', D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC),
    ('AABBs', D3D12_RAYTRACING_GEOMETRY_AABBS_DESC),
]

assert sizeof(__MIDL___MIDL_itf_d3d12_0000_0034_0001) == 48, sizeof(__MIDL___MIDL_itf_d3d12_0000_0034_0001)
assert alignment(__MIDL___MIDL_itf_d3d12_0000_0034_0001) == 8, alignment(__MIDL___MIDL_itf_d3d12_0000_0034_0001)

D3D12_STATE_SUBOBJECT._fields_ = [
    ('Type', D3D12_STATE_SUBOBJECT_TYPE),
    ('pDesc', c_void_p),
]

assert sizeof(D3D12_STATE_SUBOBJECT) == 16, sizeof(D3D12_STATE_SUBOBJECT)
assert alignment(D3D12_STATE_SUBOBJECT) == 8, alignment(D3D12_STATE_SUBOBJECT)

D3D12_RAYTRACING_GEOMETRY_DESC._fields_ = [
    ('Type', D3D12_RAYTRACING_GEOMETRY_TYPE),
    ('Flags', D3D12_RAYTRACING_GEOMETRY_FLAGS),
    ('__MIDL____MIDL_itf_d3d12_0000_00340000', __MIDL___MIDL_itf_d3d12_0000_0034_0001),
]

assert sizeof(D3D12_RAYTRACING_GEOMETRY_DESC) == 56, sizeof(D3D12_RAYTRACING_GEOMETRY_DESC)
assert alignment(D3D12_RAYTRACING_GEOMETRY_DESC) == 8, alignment(D3D12_RAYTRACING_GEOMETRY_DESC)

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO._fields_ = [
    ('ResultDataMaxSizeInBytes', c_ulonglong),
    ('ScratchDataSizeInBytes', c_ulonglong),
    ('UpdateScratchDataSizeInBytes', c_ulonglong),
]

assert sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) == 24, sizeof(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)
assert alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) == 8, alignment(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO)

D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER._fields_ = [
    ('DriverOpaqueGUID', OLE.GUID),
    ('DriverOpaqueVersioningData', c_ubyte * 16),
]

assert sizeof(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) == 32, sizeof(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER)
assert alignment(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) == 4, alignment(D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER)


class ID3D12Device6(ID3D12Device5):
    _case_insensitive_ = True
    _iid_ = GUID('{C70B221B-40E4-4A17-89AF-025A0727A6DC}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def SetBackgroundProcessingMode(self, Mode: hints.Incomplete, MeasurementsAction: hints.Incomplete, hEventToSignalUponCompletion: hints.Incomplete, pbFurtherMeasurementsDesired: hints.Incomplete) -> hints.Hresult: ...


ID3D12Device6._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'SetBackgroundProcessingMode',
        ([], D3D12_BACKGROUND_PROCESSING_MODE, 'Mode'),
        ([], D3D12_MEASUREMENTS_ACTION, 'MeasurementsAction'),
        ([], c_void_p, 'hEventToSignalUponCompletion'),
        ([], POINTER(c_int), 'pbFurtherMeasurementsDesired')
    ),
]

################################################################
# code template for ID3D12Device6 implementation
# class ID3D12Device6_Impl(object):
#     def SetBackgroundProcessingMode(self, Mode, MeasurementsAction, hEventToSignalUponCompletion, pbFurtherMeasurementsDesired):
#         '-no docstring-'
#         #return 
#


class ID3D12Device7(ID3D12Device6):
    _case_insensitive_ = True
    _iid_ = GUID('{5C014B53-68A1-4B9B-8BD1-DD6046B9358B}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def AddToStateObject(self, pAddition: hints.Incomplete, pStateObjectToGrowFrom: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateProtectedResourceSession1(self, pDesc: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...


class D3D12_PROTECTED_RESOURCE_SESSION_DESC1(Structure):
    pass


ID3D12Device7._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'AddToStateObject',
        (['in'], POINTER(D3D12_STATE_OBJECT_DESC), 'pAddition'),
        (['in'], POINTER(ID3D12StateObject), 'pStateObjectToGrowFrom'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppNewStateObject')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateProtectedResourceSession1',
        ([], POINTER(D3D12_PROTECTED_RESOURCE_SESSION_DESC1), 'pDesc'),
        (
            [],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppSession')
    ),
]

################################################################
# code template for ID3D12Device7 implementation
# class ID3D12Device7_Impl(object):
#     def AddToStateObject(self, pAddition, pStateObjectToGrowFrom, riid):
#         '-no docstring-'
#         #return ppNewStateObject
#
#     def CreateProtectedResourceSession1(self, pDesc, riid):
#         '-no docstring-'
#         #return ppSession
#

ID3D12StateObject._methods_ = [
]

################################################################
# code template for ID3D12StateObject implementation
# class ID3D12StateObject_Impl(object):

D3D12_PROTECTED_RESOURCE_SESSION_DESC1._fields_ = [
    ('NodeMask', c_uint),
    ('Flags', D3D12_PROTECTED_RESOURCE_SESSION_FLAGS),
    ('ProtectionType', OLE.GUID),
]

assert sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC1) == 24, sizeof(D3D12_PROTECTED_RESOURCE_SESSION_DESC1)
assert alignment(D3D12_PROTECTED_RESOURCE_SESSION_DESC1) == 4, alignment(D3D12_PROTECTED_RESOURCE_SESSION_DESC1)


class ID3D12Device8(ID3D12Device7):
    _case_insensitive_ = True
    _iid_ = GUID('{9218E6BB-F944-4F7E-A75C-B1B2C7B701F3}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def GetResourceAllocationInfo2(self, visibleMask: hints.Incomplete, numResourceDescs: hints.Incomplete, pResourceDescs: hints.Incomplete, pResourceAllocationInfo1: hints.Incomplete) -> hints.Hresult: ...
        def CreateCommittedResource2(self, pHeapProperties: hints.Incomplete, HeapFlags: hints.Incomplete, pDesc: hints.Incomplete, InitialResourceState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, pProtectedSession: hints.Incomplete, riidResource: hints.Incomplete) -> hints.Incomplete: ...
        def CreatePlacedResource1(self, pHeap: hints.Incomplete, HeapOffset: hints.Incomplete, pDesc: hints.Incomplete, InitialState: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateSamplerFeedbackUnorderedAccessView(self, pTargetedResource: hints.Incomplete, pFeedbackResource: hints.Incomplete, DestDescriptor: hints.Incomplete) -> hints.Hresult: ...
        def GetCopyableFootprints1(self, pResourceDesc: hints.Incomplete, FirstSubresource: hints.Incomplete, NumSubresources: hints.Incomplete, BaseOffset: hints.Incomplete, pLayouts: hints.Incomplete, pNumRows: hints.Incomplete, pRowSizeInBytes: hints.Incomplete, pTotalBytes: hints.Incomplete) -> hints.Hresult: ...


class D3D12_RESOURCE_DESC1(Structure):
    pass


ID3D12Device8._methods_ = [
    COMMETHOD(
        [],
        D3D12_RESOURCE_ALLOCATION_INFO,
        'GetResourceAllocationInfo2',
        ([], c_uint, 'visibleMask'),
        ([], c_uint, 'numResourceDescs'),
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pResourceDescs'),
        (
            [],
            POINTER(D3D12_RESOURCE_ALLOCATION_INFO1),
            'pResourceAllocationInfo1',
        )
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommittedResource2',
        ([], POINTER(D3D12_HEAP_PROPERTIES), 'pHeapProperties'),
        ([], D3D12_HEAP_FLAGS, 'HeapFlags'),
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialResourceState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riidResource',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreatePlacedResource1',
        ([], POINTER(ID3D12Heap), 'pHeap'),
        ([], c_ulonglong, 'HeapOffset'),
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pDesc'),
        ([], D3D12_RESOURCE_STATES, 'InitialState'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        None,
        'CreateSamplerFeedbackUnorderedAccessView',
        ([], POINTER(ID3D12Resource), 'pTargetedResource'),
        ([], POINTER(ID3D12Resource), 'pFeedbackResource'),
        ([], D3D12_CPU_DESCRIPTOR_HANDLE, 'DestDescriptor')
    ),
    COMMETHOD(
        [],
        None,
        'GetCopyableFootprints1',
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pResourceDesc'),
        ([], c_uint, 'FirstSubresource'),
        ([], c_uint, 'NumSubresources'),
        ([], c_ulonglong, 'BaseOffset'),
        ([], POINTER(D3D12_PLACED_SUBRESOURCE_FOOTPRINT), 'pLayouts'),
        ([], POINTER(c_uint), 'pNumRows'),
        ([], POINTER(c_ulonglong), 'pRowSizeInBytes'),
        ([], POINTER(c_ulonglong), 'pTotalBytes')
    ),
]

################################################################
# code template for ID3D12Device8 implementation
# class ID3D12Device8_Impl(object):
#     def GetResourceAllocationInfo2(self, visibleMask, numResourceDescs, pResourceDescs, pResourceAllocationInfo1):
#         '-no docstring-'
#         #return 
#
#     def CreateCommittedResource2(self, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, riidResource):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreatePlacedResource1(self, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateSamplerFeedbackUnorderedAccessView(self, pTargetedResource, pFeedbackResource, DestDescriptor):
#         '-no docstring-'
#         #return 
#
#     def GetCopyableFootprints1(self, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes):
#         '-no docstring-'
#         #return 
#


class D3D12_MIP_REGION(Structure):
    pass


D3D12_MIP_REGION._fields_ = [
    ('Width', c_uint),
    ('Height', c_uint),
    ('Depth', c_uint),
]

assert sizeof(D3D12_MIP_REGION) == 12, sizeof(D3D12_MIP_REGION)
assert alignment(D3D12_MIP_REGION) == 4, alignment(D3D12_MIP_REGION)

D3D12_RESOURCE_DESC1._fields_ = [
    ('Dimension', D3D12_RESOURCE_DIMENSION),
    ('Alignment', c_ulonglong),
    ('Width', c_ulonglong),
    ('Height', c_uint),
    ('DepthOrArraySize', c_ushort),
    ('MipLevels', c_ushort),
    ('Format', DXGI_FORMAT),
    ('SampleDesc', DXGI_SAMPLE_DESC),
    ('Layout', D3D12_TEXTURE_LAYOUT),
    ('Flags', D3D12_RESOURCE_FLAGS),
    ('SamplerFeedbackMipRegion', D3D12_MIP_REGION),
]

assert sizeof(D3D12_RESOURCE_DESC1) == 64, sizeof(D3D12_RESOURCE_DESC1)
assert alignment(D3D12_RESOURCE_DESC1) == 8, alignment(D3D12_RESOURCE_DESC1)


class ID3D12Device9(ID3D12Device8):
    _case_insensitive_ = True
    _iid_ = GUID('{4C80E962-F032-4F60-BC9E-EBC2CFA1D83C}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreateShaderCacheSession(self, pDesc: hints.Incomplete, riid: hints.Incomplete, ppvSession: hints.Incomplete) -> hints.Hresult: ...
        def ShaderCacheControl(self, Kinds: hints.Incomplete, Control: hints.Incomplete) -> hints.Hresult: ...
        def CreateCommandQueue1(self, pDesc: hints.Incomplete, CreatorID: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...


ID3D12Device9._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreateShaderCacheSession',
        ([], POINTER(D3D12_SHADER_CACHE_SESSION_DESC), 'pDesc'),
        (
            [],
            POINTER(OLE.GUID),
            'riid',
        ),
        ([], POINTER(c_void_p), 'ppvSession')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'ShaderCacheControl',
        ([], D3D12_SHADER_CACHE_KIND_FLAGS, 'Kinds'),
        ([], D3D12_SHADER_CACHE_CONTROL_FLAGS, 'Control')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommandQueue1',
        ([], POINTER(D3D12_COMMAND_QUEUE_DESC), 'pDesc'),
        (
            [],
            POINTER(OLE.GUID),
            'CreatorID',
        ),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppCommandQueue')
    ),
]

################################################################
# code template for ID3D12Device9 implementation
# class ID3D12Device9_Impl(object):
#     def CreateShaderCacheSession(self, pDesc, riid, ppvSession):
#         '-no docstring-'
#         #return 
#
#     def ShaderCacheControl(self, Kinds, Control):
#         '-no docstring-'
#         #return 
#
#     def CreateCommandQueue1(self, pDesc, CreatorID, riid):
#         '-no docstring-'
#         #return ppCommandQueue
#


class ID3D12Device10(ID3D12Device9):
    _case_insensitive_ = True
    _iid_ = GUID('{517F8718-AA66-49F9-B02B-A7AB89C06031}')
    _idlflags_ = []

    if TYPE_CHECKING:  # commembers
        def CreateCommittedResource3(self, pHeapProperties: hints.Incomplete, HeapFlags: hints.Incomplete, pDesc: hints.Incomplete, InitialLayout: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, pProtectedSession: hints.Incomplete, NumCastableFormats: hints.Incomplete, pCastableFormats: hints.Incomplete, riidResource: hints.Incomplete) -> hints.Incomplete: ...
        def CreatePlacedResource2(self, pHeap: hints.Incomplete, HeapOffset: hints.Incomplete, pDesc: hints.Incomplete, InitialLayout: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, NumCastableFormats: hints.Incomplete, pCastableFormats: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...
        def CreateReservedResource2(self, pDesc: hints.Incomplete, InitialLayout: hints.Incomplete, pOptimizedClearValue: hints.Incomplete, pProtectedSession: hints.Incomplete, NumCastableFormats: hints.Incomplete, pCastableFormats: hints.Incomplete, riid: hints.Incomplete) -> hints.Incomplete: ...


ID3D12Device10._methods_ = [
    COMMETHOD(
        [],
        HRESULT,
        'CreateCommittedResource3',
        ([], POINTER(D3D12_HEAP_PROPERTIES), 'pHeapProperties'),
        ([], D3D12_HEAP_FLAGS, 'HeapFlags'),
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pDesc'),
        ([], D3D12_BARRIER_LAYOUT, 'InitialLayout'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        ([], c_uint, 'NumCastableFormats'),
        ([], POINTER(DXGI_FORMAT), 'pCastableFormats'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riidResource',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreatePlacedResource2',
        ([], POINTER(ID3D12Heap), 'pHeap'),
        ([], c_ulonglong, 'HeapOffset'),
        ([], POINTER(D3D12_RESOURCE_DESC1), 'pDesc'),
        ([], D3D12_BARRIER_LAYOUT, 'InitialLayout'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], c_uint, 'NumCastableFormats'),
        ([], POINTER(DXGI_FORMAT), 'pCastableFormats'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
    COMMETHOD(
        [],
        HRESULT,
        'CreateReservedResource2',
        ([], POINTER(D3D12_RESOURCE_DESC), 'pDesc'),
        ([], D3D12_BARRIER_LAYOUT, 'InitialLayout'),
        ([], POINTER(D3D12_CLEAR_VALUE), 'pOptimizedClearValue'),
        ([], POINTER(ID3D12ProtectedResourceSession), 'pProtectedSession'),
        ([], c_uint, 'NumCastableFormats'),
        ([], POINTER(DXGI_FORMAT), 'pCastableFormats'),
        (
            ['in'],
            POINTER(OLE.GUID),
            'riid',
        ),
        (['out'], POINTER(c_void_p), 'ppvResource')
    ),
]

################################################################
# code template for ID3D12Device10 implementation
# class ID3D12Device10_Impl(object):
#     def CreateCommittedResource3(self, pHeapProperties, HeapFlags, pDesc, InitialLayout, pOptimizedClearValue, pProtectedSession, NumCastableFormats, pCastableFormats, riidResource):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreatePlacedResource2(self, pHeap, HeapOffset, pDesc, InitialLayout, pOptimizedClearValue, NumCastableFormats, pCastableFormats, riid):
#         '-no docstring-'
#         #return ppvResource
#
#     def CreateReservedResource2(self, pDesc, InitialLayout, pOptimizedClearValue, pProtectedSession, NumCastableFormats, pCastableFormats, riid):
#         '-no docstring-'
#         #return ppvResource
#

D3D12_TEXTURE_COPY_LOCATION._fields_ = [
    ('pResource', POINTER(ID3D12Resource)),
    ('Type', D3D12_TEXTURE_COPY_TYPE),
    ('__MIDL____MIDL_itf_d3d12_0000_00010002', __MIDL___MIDL_itf_d3d12_0000_0001_0003),
]

assert sizeof(D3D12_TEXTURE_COPY_LOCATION) == 48, sizeof(D3D12_TEXTURE_COPY_LOCATION)
assert alignment(D3D12_TEXTURE_COPY_LOCATION) == 8, alignment(D3D12_TEXTURE_COPY_LOCATION)

D3D12_VIEWPORT._fields_ = [
    ('TopLeftX', c_float),
    ('TopLeftY', c_float),
    ('Width', c_float),
    ('Height', c_float),
    ('MinDepth', c_float),
    ('MaxDepth', c_float),
]

assert sizeof(D3D12_VIEWPORT) == 24, sizeof(D3D12_VIEWPORT)
assert alignment(D3D12_VIEWPORT) == 4, alignment(D3D12_VIEWPORT)

D3D12_RESOURCE_BARRIER._fields_ = [
    ('Type', D3D12_RESOURCE_BARRIER_TYPE),
    ('Flags', D3D12_RESOURCE_BARRIER_FLAGS),
    ('__MIDL____MIDL_itf_d3d12_0000_00010001', __MIDL___MIDL_itf_d3d12_0000_0001_0002),
]

assert sizeof(D3D12_RESOURCE_BARRIER) == 32, sizeof(D3D12_RESOURCE_BARRIER)
assert alignment(D3D12_RESOURCE_BARRIER) == 8, alignment(D3D12_RESOURCE_BARRIER)

__all__ = [
    'D3D12_SHADING_RATE_2X2', 'D3D12_DESCRIPTOR_HEAP_DESC',
    'D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR',
    'D3D12_CLEAR_FLAG_STENCIL',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ',
    'D3D12_BUFFER_SRV_FLAGS', 'D3D12_FILTER_MIN_MAG_MIP_LINEAR',
    'D3D12_RANGE', 'D3D12_BARRIER_LAYOUT_COMMON',
    'D3D12_PREDICATION_OP_EQUAL_ZERO',
    'D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST',
    'D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND',
    'D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION',
    'D3D12_FILTER_MAXIMUM_ANISOTROPIC',
    'D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST',
    'D3D12_FEATURE_QUERY_META_COMMAND', 'D3D12_TEX2DMS_ARRAY_RTV',
    'D3D12_QUERY_TYPE_PIPELINE_STATISTICS1',
    'DXGI_FORMAT_R16G16_TYPELESS', 'D3D12_BARRIER_LAYOUT_PRESENT',
    'D3D12_FEATURE_ROOT_SIGNATURE',
    'D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY',
    'D3D12_AUTO_BREADCRUMB_OP', 'D3D12_PRIMITIVE_TOPOLOGY_TYPE',
    'D3D12_SHADING_RATE',
    'D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT',
    'D3D12_ROOT_DESCRIPTOR1', 'D3D12_COMMAND_SIGNATURE_DESC',
    'D3D12_BUFFER_UAV_FLAGS',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0001', 'ID3D12Device3',
    'D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST',
    'D3D12_SHADING_RATE_1X1', 'DXGI_FORMAT_R8G8B8A8_UINT',
    'D3D12_RAYTRACING_GEOMETRY_AABBS_DESC',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0005',
    'D3D12_QUERY_HEAP_TYPE_SO_STATISTICS', 'D3D12_PACKED_MIP_INFO',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS',
    'D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST',
    'D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS',
    'D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE',
    'D3D12_VIEWPORT', 'DXGI_FORMAT_R16_FLOAT',
    'D3D10_PRIMITIVE_TOPOLOGY_POINTLIST',
    'D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW',
    'D3D12_PIPELINE_STATE_FLAGS', 'DXGI_FORMAT_R32G8X24_TYPELESS',
    'D3D12_FILTER_MIN_MAG_MIP_POINT', 'DXGI_FORMAT_R8G8B8A8_TYPELESS',
    'D3D10_PRIMITIVE_TOPOLOGY_LINELIST', 'D3D12_HEAP_DESC',
    'D3D12_META_COMMAND_PARAMETER_TYPE',
    'D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED',
    'D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT',
    'ID3D12CommandList', 'D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION',
    'D3D12_RESOLVE_MODE_MAX', 'D3D12_HEAP_PROPERTIES',
    'DXGI_SAMPLE_DESC', 'D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER',
    'D3D12_RESOURCE_DESC1', 'D3D12_RTV_DIMENSION_BUFFER',
    'D3D12_BLEND_INV_DEST_COLOR',
    'D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES',
    'D3D12_PROTECTED_SESSION_STATUS_INVALID',
    'D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES',
    'DXGI_FORMAT_R16G16B16A16_SNORM', 'D3D12_RESOURCE_DIMENSION',
    'D3D12_DESCRIPTOR_HEAP_TYPE_RTV',
    'D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE',
    'D3D12_RENDER_PASS_DEPTH_STENCIL_DESC',
    'D3D12_DSV_DIMENSION_TEXTURE2DARRAY',
    'D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE',
    'D3D12_HEAP_TYPE_READBACK',
    'D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST',
    'D3D12_PROTECTED_SESSION_STATUS',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS',
    'D3D12_FEATURE_ARCHITECTURE1',
    'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
    'D3D12_BLEND_SRC1_ALPHA', 'D3D12_STATE_OBJECT_TYPE',
    'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD',
    'D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND',
    'D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT', 'D3D12_ROOT_CONSTANTS',
    'D3D12_COMPARISON_FUNC_ALWAYS',
    'D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE',
    'D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE',
    'ID3D12GraphicsCommandList',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST',
    'D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP',
    'D3D12_RESIDENCY_FLAG_NONE', 'D3D12_TEX2D_RTV',
    'D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64',
    'D3D12_ROOT_PARAMETER',
    'D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED',
    'D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT',
    'ID3D12ProtectedResourceSession', 'D3D12_INDEX_BUFFER_VIEW',
    'D3D12_GRAPHICS_STATES', 'D3D12_GRAPHICS_STATE_NONE',
    'D3D12_LOGIC_OP_SET', 'D3D12_COMPARISON_FUNC_NOT_EQUAL',
    'DXGI_FORMAT_R8G8_SINT',
    'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE',
    'D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES',
    'D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS',
    'DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE',
    'D3D12_CPU_PAGE_PROPERTY',
    'D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE',
    'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP', 'D3D12_TEXTURE_COPY_TYPE',
    'D3D12_QUERY_HEAP_TYPE',
    'D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE',
    'D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS',
    'D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE',
    'D3D12_RAYTRACING_GEOMETRY_FLAGS', 'D3D12_BLEND_BLEND_FACTOR',
    'D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK',
    'D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS',
    'D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS',
    'D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE',
    'D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION',
    'D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK',
    'D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST',
    'D3D12_TEXTURE_LAYOUT', 'D3D12_SHADER_VISIBILITY_PIXEL',
    'D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST',
    'D3D12_SHADING_RATE_COMBINER_MAX',
    'D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE',
    'DXGI_FORMAT_B8G8R8X8_UNORM',
    'D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST',
    'D3D12_RESOURCE_UAV_BARRIER',
    'D3D12_PROTECTED_RESOURCE_SESSION_FLAGS',
    'D3D12_FEATURE_D3D12_OPTIONS8', 'D3D12_DEPTH_STENCIL_DESC',
    'D3D12_INDIRECT_ARGUMENT_TYPE_DRAW', 'DXGI_FORMAT_R8G8B8A8_SNORM',
    'D3D12_RTV_DIMENSION_UNKNOWN', 'D3D12_SRV_DIMENSION_UNKNOWN',
    'D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV',
    'DXGI_FORMAT_R8G8_B8G8_UNORM', 'D3D12_RESOURCE_DESC',
    'D3D12_RESOURCE_DIMENSION_TEXTURE1D',
    'D3D12_FEATURE_D3D12_OPTIONS9', 'DXGI_FORMAT_R8_SINT',
    'ID3D12ShaderCacheSession', 'D3D12_TILE_MAPPING_FLAG_NONE',
    'D3D12_RENDER_PASS_FLAG_RESUMING_PASS',
    'D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT',
    'D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST',
    'D3D12_HEAP_TYPE_CUSTOM', 'D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS',
    'D3D12_RESOURCE_ALLOCATION_INFO',
    'ID3D12DeviceRemovedExtendedData1',
    'D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS',
    'DXGI_FORMAT_A8P8', 'ID3D12GraphicsCommandList5',
    'D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT',
    'D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST',
    'D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV', 'D3D12_CULL_MODE_FRONT',
    'D3D12_TILE_MAPPING_FLAG_NO_HAZARD',
    'D3D12_ROOT_PARAMETER_TYPE_SRV',
    'D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT',
    'D3D12_TEXTURE_ADDRESS_MODE',
    'D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER', 'DXGI_FORMAT_V208',
    'D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY', 'D3D12_BLEND_ALPHA_FACTOR',
    'D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS',
    'DXGI_FORMAT_P8', 'D3D12_DSV_FLAG_READ_ONLY_STENCIL',
    'D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR',
    'D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST',
    'ID3D12GraphicsCommandList1',
    'D3D12_RESOURCE_BARRIER_TYPE_ALIASING',
    'D3D12_STATIC_SAMPLER_DESC',
    'D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX',
    'D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT',
    'DXGI_FORMAT_R9G9B9E5_SHAREDEXP',
    'D3D12_TEXTURE_ADDRESS_MODE_MIRROR',
    'D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH',
    'D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE',
    'D3D12_TEX3D_RTV', 'DXGI_FORMAT_BC1_UNORM',
    'D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET',
    'D3D12_RENDER_TARGET_BLEND_DESC', 'DXGI_FORMAT_R32_TYPELESS',
    'DXGI_FORMAT_BC4_UNORM', 'DXGI_FORMAT_R32_UINT',
    'D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1',
    'D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
    'D3D12_DRED_ALLOCATION_NODE1', 'DXGI_FORMAT_R1_UNORM',
    'D3D12_TEX1D_RTV', 'D3D12_STENCIL_OP_DECR_SAT',
    'D3D12_COMPARISON_FUNC', 'D3D12_BLEND_INV_SRC_ALPHA',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR',
    'D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST',
    'D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS',
    'D3D12_SHADER_CACHE_MODE',
    'D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR',
    'D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE',
    'D3D12_RENDER_PASS_ENDING_ACCESS',
    'D3D12_RESOURCE_TRANSITION_BARRIER',
    'D3D12_DESCRIPTOR_RANGE_FLAGS',
    'D3D12_RESOURCE_STATE_DEPTH_WRITE', 'D3D12_TEX2DMS_ARRAY_DSV',
    'D3D12_BLEND', 'D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON',
    'D3D12_RESOURCE_STATE_PREDICATION',
    'D3D12_UAV_DIMENSION_TEXTURE1DARRAY',
    'D3D_ROOT_SIGNATURE_VERSION_1',
    'D3D12_AUTO_BREADCRUMB_OP_DISPATCH',
    'D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE',
    'DXGI_FORMAT_BC5_SNORM',
    'D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER',
    'D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW',
    'D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP',
    'D3D12_COMPARISON_FUNC_GREATER_EQUAL',
    'D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR',
    'D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST',
    'D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT',
    'D3D12_LOGIC_OP_AND_INVERTED', 'D3D12_BUFFER_SRV_FLAG_RAW',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE',
    'D3D12_TEX1D_DSV', 'D3D12_LOGIC_OP_AND_REVERSE',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE',
    'D3D12_TEX2D_DSV',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE',
    'DXGI_FORMAT_Y216', 'D3D12_DRED_ALLOCATION_NODE',
    'DXGI_FORMAT_R16_TYPELESS', 'DXGI_FORMAT_R32G32_SINT',
    'D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0005',
    'D3D12_ROOT_PARAMETER_TYPE_UAV',
    'D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS',
    'D3D12_BLEND_SRC1_COLOR', 'ID3D12Device9',
    'D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT',
    'D3D12_GRAPHICS_STATE_PREDICATION',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER',
    'D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID',
    'DXGI_FORMAT_BC7_UNORM_SRGB', 'D3D12_DESCRIPTOR_RANGE_TYPE_SRV',
    'D3D12_RASTERIZER_DESC', 'DXGI_FORMAT_BC2_TYPELESS',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0002',
    'D3D12_QUERY_HEAP_TYPE_OCCLUSION', 'D3D12_RESOURCE_BARRIER',
    'D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW',
    'D3D12_QUERY_TYPE_BINARY_OCCLUSION',
    'D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_P010', 'DXGI_FORMAT_R16G16_UNORM',
    'DXGI_FORMAT_AYUV', 'D3D12_GRAPHICS_STATE_RS_VIEWPORTS',
    'D3D12_FEATURE_FORMAT_SUPPORT', 'D3D12_FEATURE_D3D12_OPTIONS5',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL',
    'D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_R32G32B32A32_TYPELESS',
    'D3D12_AUTO_BREADCRUMB_OP_SETMARKER',
    'D3D_PRIMITIVE_TOPOLOGY_LINELIST',
    'D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION',
    'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE',
    'D3D12_HEAP_FLAG_SHARED', 'D3D12_ROOT_SIGNATURE_DESC1',
    'D3D12_DESCRIPTOR_HEAP_FLAGS', 'Library',
    'DXGI_FORMAT_G8R8_G8B8_UNORM',
    'DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM',
    'D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT',
    'D3D12_STENCIL_OP_INVERT', 'D3D12_ROOT_DESCRIPTOR_TABLE1',
    'D3D12_HEAP_FLAG_NONE', 'D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER',
    'D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER',
    'D3D12_BACKGROUND_PROCESSING_MODE',
    'D3D12_AUTO_BREADCRUMB_OP_ENDEVENT',
    'D3D12_SUBRESOURCE_RANGE_UINT64', 'D3D12_BOX',
    'D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS',
    'D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE',
    'D3D12_TEXTURE_ADDRESS_MODE_WRAP',
    'D3D12_GPU_VIRTUAL_ADDRESS_RANGE',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS',
    'D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED',
    'D3D12_STENCIL_OP_ZERO', 'DXGI_FORMAT_R8G8_SNORM',
    'D3D12_FEATURE_SHADER_CACHE', 'DXGI_FORMAT_BC2_UNORM',
    'DXGI_FORMAT_IA44', 'D3D12_RENDER_PASS_FLAGS',
    'D3D12_CLEAR_FLAGS',
    'D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION',
    'D3D12_SHADER_VISIBILITY_VERTEX', 'D3D12_HEAP_TYPE_UPLOAD',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE',
    'D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST',
    'D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST',
    'D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST',
    'D3D12_DSV_DIMENSION_TEXTURE2D',
    'D3D12_PREDICATION_OP_NOT_EQUAL_ZERO', 'D3D12_STATE_OBJECT_DESC',
    'D3D12_SHADER_CACHE_MODE_MEMORY',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS',
    'D3D12_TEXTURE_COPY_LOCATION',
    'D3D12_SRV_DIMENSION_TEXTURE2DARRAY',
    'DXGI_FORMAT_B8G8R8X8_TYPELESS', 'D3D12_RESOLVE_MODE_MIN',
    'DXGI_FORMAT_BC6H_TYPELESS', 'D3D12_FILL_MODE_SOLID',
    'D3D12_COMMAND_LIST_TYPE_COMPUTE', '_SECURITY_ATTRIBUTES',
    'D3D12_UAV_DIMENSION_BUFFER',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0006',
    'D3D12_RENDER_PASS_RENDER_TARGET_DESC',
    'D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT',
    'D3D12_RESOURCE_FLAG_NONE',
    'D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW',
    'D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY',
    'D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP',
    'D3D12_RESOURCE_STATE_VIDEO_DECODE_READ',
    'D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION',
    'D3D12_COMPARISON_FUNC_NEVER',
    'D3D12_PROTECTED_RESOURCE_SESSION_DESC',
    'D3D12_FEATURE_D3D12_OPTIONS12', 'D3D_ROOT_SIGNATURE_VERSION_1_1',
    'DXGI_FORMAT_BC4_TYPELESS',
    'D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR',
    'D3D12_STENCIL_OP_DECR', 'D3D12_SRV_DIMENSION',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE',
    'DXGI_FORMAT_R8G8_UNORM',
    'D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS',
    'D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE',
    'D3D12_COMMAND_LIST_TYPE_DIRECT', 'D3D12_FEATURE_D3D12_OPTIONS10',
    'D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE',
    'D3D12_FILL_MODE_WIREFRAME', 'DXGI_FORMAT_R16G16B16A16_UINT',
    'D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE',
    'D3D12_AUTO_BREADCRUMB_OP_PRESENT', 'DXGI_FORMAT_V408',
    'D3D12_RTV_DIMENSION',
    'D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1',
    'D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY',
    'D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR',
    'D3D12_SHADING_RATE_2X4', 'ID3D12DeviceChild',
    'D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON', 'DXGI_FORMAT_AI44',
    'D3D12_RESOURCE_BARRIER_FLAG_END_ONLY', 'D3D12_SHADING_RATE_1X2',
    'DXGI_FORMAT_R10G10B10A2_TYPELESS',
    'D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
    'D3D12_META_COMMAND_DESC', 'D3D12_COMMAND_QUEUE_FLAGS',
    'D3D12_RAYTRACING_GEOMETRY_FLAG_NONE',
    'D3D12_DSV_DIMENSION_TEXTURE1D',
    'D3D12_RESOURCE_DIMENSION_UNKNOWN',
    'D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA',
    'D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES',
    'D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE', 'D3D12_LOGIC_OP_OR',
    'ID3D12Heap', 'D3D12_BLEND_DEST_COLOR',
    'D3D12_RTV_DIMENSION_TEXTURE2D', 'DXGI_FORMAT_R16_UNORM',
    'D3D12_SHADER_VISIBILITY_MESH',
    'D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE',
    'D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT',
    'DXGI_FORMAT_R8G8B8A8_UNORM',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST',
    'D3D12_BLEND_INV_SRC_COLOR',
    'D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT',
    'D3D12_DRED_ALLOCATION_TYPE_FENCE',
    'D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE',
    'D3D12_SHADING_RATE_2X1', 'D3D12_FEATURE_FEATURE_LEVELS',
    'D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1',
    'D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST',
    'D3D12_ROOT_DESCRIPTOR_TABLE', 'D3D12_TEX1D_ARRAY_DSV',
    'D3D12_DRED_PAGE_FAULT_OUTPUT',
    'D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST',
    'D3D12_RENDER_PASS_FLAG_NONE',
    'D3D12_RESOURCE_STATE_RENDER_TARGET', 'ID3D12Device2',
    'D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS',
    'D3D12_STATE_OBJECT_TYPE_COLLECTION',
    'D3D12_FEATURE_ARCHITECTURE', 'DXGI_FORMAT_P016',
    'D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES',
    'D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION',
    'D3D12_DRED_ALLOCATION_TYPE_INVALID',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE', 'typelib_path',
    'D3D12_TILE_RANGE_FLAG_NONE', 'D3D12_FILTER_MINIMUM_ANISOTROPIC',
    'D3D12_TEXTURE_LAYOUT_UNKNOWN', 'DXGI_FORMAT_D16_UNORM',
    'DXGI_FORMAT_R16_SNORM',
    'D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE',
    'D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE',
    'D3D12_SHADER_CACHE_MODE_DISK',
    'ID3D12DeviceRemovedExtendedDataSettings',
    'D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR',
    'ID3D12RootSignature', 'D3D12_RTV_DIMENSION_TEXTURE2DARRAY',
    'D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST',
    'D3D12_FEATURE',
    'D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION',
    'D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS', 'ID3D12QueryHeap',
    'D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK', 'D3D12_TEX2DMS_DSV',
    'D3D12_CPU_PAGE_PROPERTY_UNKNOWN',
    '__MIDL___MIDL_itf_d3d12_0000_0034_0002',
    'D3D12_GPU_DESCRIPTOR_HANDLE',
    'D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
    'D3D12_BUFFER_SRV_FLAG_NONE', 'D3D12_SHADER_CACHE_SESSION_DESC',
    'D3D12_COMPARISON_FUNC_EQUAL',
    'D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND',
    'D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST',
    'D3D12_TILE_COPY_FLAG_NONE', 'D3D12_TEX1D_UAV',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE',
    'D3D12_BARRIER_LAYOUT_SHADER_RESOURCE',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0010',
    'DXGI_FORMAT_R8G8_TYPELESS', 'D3D12_FEATURE_D3D12_OPTIONS1',
    'D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED',
    'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS',
    'D3D12_TILE_REGION_SIZE',
    'D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND',
    'DXGI_FORMAT_R8_SNORM',
    'D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST',
    'D3D12_MEMORY_POOL_L0',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE',
    'D3D12_STENCIL_OP', 'D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT',
    'D3D12_RTV_DIMENSION_TEXTURE1DARRAY',
    'D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES', 'D3D12_FENCE_FLAGS',
    'D3D12_LOGIC_OP_COPY_INVERTED', 'DXGI_FORMAT_R8G8B8A8_SINT',
    'D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA',
    'D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST',
    'D3D12_FENCE_FLAG_NON_MONITORED',
    'D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED',
    'D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER',
    'D3D12_HEAP_FLAG_HARDWARE_PROTECTED',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE',
    'D3D12_FILTER', 'D3D12_META_COMMAND_PARAMETER_FLAGS',
    'D3D12_BLEND_OP_MAX', 'D3D12_COMMAND_LIST_TYPE_COPY',
    'D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT',
    'D3D12_TEX3D_UAV', 'D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT',
    'D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS',
    'D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE', 'D3D12_TEX1D_SRV',
    'DXGI_FORMAT_D32_FLOAT', 'DXGI_FORMAT_B8G8R8A8_UNORM',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER',
    'D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT',
    'D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
    'D3D12_DESCRIPTOR_RANGE_TYPE', 'DXGI_FORMAT_BC3_UNORM',
    'D3D12_BLEND_ZERO', 'D3D12_TEXCUBE_SRV',
    'DXGI_FORMAT_B5G6R5_UNORM', 'DXGI_FORMAT_P208',
    'D3D12_RESOURCE_STATE_PRESENT', 'D3D12_TEX2D_ARRAY_DSV',
    'D3D12_AUTO_BREADCRUMB_OP_COPYTILES',
    'D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT',
    'D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST',
    'D3D12_LIFETIME_STATE_NOT_IN_USE',
    'D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST',
    'D3D12_TILE_SHAPE',
    'D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE',
    'ID3D12Device1', 'D3D12_DSV_FLAG_READ_ONLY_DEPTH',
    'D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR',
    'D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST',
    'D3D12_TEX2DMS_ARRAY_SRV',
    'D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC',
    'D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS',
    'D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED',
    'D3D12_SHADING_RATE_COMBINER_MIN', 'D3D12_SAMPLE_POSITION',
    'D3D12_BLEND_INV_BLEND_FACTOR', 'DXGI_FORMAT',
    'D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR',
    'D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS',
    'DXGI_FORMAT_R8G8_UINT', 'D3D12_SHADER_CACHE_FLAGS',
    'D3D12_COMPARISON_FUNC_GREATER',
    'ID3D12VirtualizationGuestDevice',
    'D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON',
    'D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS', 'D3D12_FENCE_FLAG_NONE',
    'ID3D12Device5',
    'D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_A8_UNORM', 'D3D12_META_COMMAND_PARAMETER_FLAG_INPUT',
    'D3D12_UNORDERED_ACCESS_VIEW_DESC',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS',
    'DXGI_FORMAT_R16_UINT',
    'D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE',
    'D3D12_DRED_PAGE_FAULT_OUTPUT1',
    'D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS', 'D3D12_BLEND_DESC',
    'D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
    'D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE',
    'D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1',
    'D3D12_ROOT_DESCRIPTOR_FLAGS',
    'D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET',
    'DXGI_FORMAT_R16G16_FLOAT', 'D3D12_BLEND_INV_DEST_ALPHA',
    'D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE',
    'ID3D12CommandAllocator',
    'D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE',
    'D3D12_RESOURCE_STATE_COPY_SOURCE',
    'DXGI_FORMAT_X32_TYPELESS_G8X24_UINT',
    'D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST',
    'D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF',
    'D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER',
    'ID3D12PipelineLibrary1',
    'D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE',
    'D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE',
    'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST', 'D3D12_BUFFER_SRV',
    'D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE',
    'ID3D12ProtectedSession',
    'D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT',
    'D3D12_DRED_ALLOCATION_TYPE', 'DXGI_FORMAT_R32G32B32_TYPELESS',
    'D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST',
    'D3D12_META_COMMAND_PARAMETER_TYPE_UINT64',
    'DXGI_FORMAT_R11G11B10_FLOAT',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0002',
    'D3D12_DSV_DIMENSION_TEXTURE2DMS',
    'D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST',
    'D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE',
    'D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME',
    'D3D12_META_COMMAND_PARAMETER_STAGE', 'ID3D12CommandQueue',
    'D3D12_DEPTH_STENCIL_VALUE', 'D3D12_BLEND_ONE',
    'D3D12_CACHED_PIPELINE_STATE',
    'D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR',
    'ID3D12GraphicsCommandList6', 'D3D12_MULTIPLE_FENCE_WAIT_FLAGS',
    'D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE',
    'D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP', 'D3D12_TILE_RANGE_FLAGS',
    'D3D12_STATE_SUBOBJECT_TYPE', 'D3D12_RESIDENCY_PRIORITY',
    'D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS',
    'D3D12_RESOURCE_BARRIER_TYPE_TRANSITION',
    'D3D12_SHADER_CACHE_CONTROL_FLAGS',
    'D3D12_CONSERVATIVE_RASTERIZATION_MODE',
    'D3D12_SRV_DIMENSION_TEXTURE3D',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE',
    'DXGI_FORMAT_R32G32_TYPELESS', 'D3D12_BLEND_INV_SRC1_ALPHA',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE',
    'D3D12_TEX2D_ARRAY_UAV',
    'D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
    'D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER',
    'D3D12_SRV_DIMENSION_TEXTURECUBEARRAY',
    '__MIDL___MIDL_itf_d3d12_0000_0034_0001',
    'D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT',
    'D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST',
    'D3D12_MEMORY_POOL_UNKNOWN', 'D3D12_BARRIER_LAYOUT_COPY_SOURCE',
    'ID3D12StateObject', 'D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF',
    'D3D12_TEXTURE_ADDRESS_MODE_CLAMP',
    'D3D12_BLEND_INV_ALPHA_FACTOR', 'DXGI_FORMAT_R16G16B16A16_UNORM',
    'D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE',
    'D3D12_RESOURCE_STATE_COPY_DEST', 'ID3D12StateObjectProperties',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE', 'ID3D12Pageable',
    'D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS', 'D3D12_BUFFER_RTV',
    'D3D12_DISPATCH_RAYS_DESC', 'D3D12_DRED_ALLOCATION_TYPE_HEAP',
    'D3D12_FILL_MODE', 'D3D12_RESOURCE_DIMENSION_TEXTURE3D',
    'D3D12_LOGIC_OP_EQUIV', 'D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH',
    'D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0009',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD',
    'D3D12_RESOURCE_STATE_COMMON',
    'D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT',
    'D3D11_PRIMITIVE_TOPOLOGY_LINELIST',
    'D3D12_DEPTH_WRITE_MASK_ZERO', 'DXGI_FORMAT_R32G32B32A32_UINT',
    'D3D12_BLEND_OP', 'D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION',
    'DXGI_FORMAT_X24_TYPELESS_G8_UINT',
    'D3D12_RESOURCE_DIMENSION_BUFFER',
    'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
    'DXGI_FORMAT_R32G32B32_UINT',
    'D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES', 'D3D12_ROOT_DESCRIPTOR',
    'D3D12_FEATURE_D3D12_OPTIONS7', 'D3D12_RESOURCE_STATE_DEPTH_READ',
    'D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION',
    'D3D12_INPUT_ELEMENT_DESC',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE',
    'D3D12_QUERY_TYPE_OCCLUSION',
    'D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0',
    'D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES',
    'D3D12_SRV_DIMENSION_TEXTURE2D',
    'D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE',
    'D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY',
    'D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION',
    'D3D12_RESOURCE_STATE_RESOLVE_DEST',
    'D3D12_INDEX_BUFFER_STRIP_CUT_VALUE',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR',
    'D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT',
    'D3D12_CPU_DESCRIPTOR_HANDLE',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV',
    'D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION',
    'D3D12_COMPUTE_PIPELINE_STATE_DESC',
    'D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR',
    'D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ',
    'D3D12_COMPARISON_FUNC_LESS_EQUAL',
    'D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE',
    'DXGI_FORMAT_B8G8R8A8_UNORM_SRGB', 'D3D12_SHADER_VISIBILITY_HULL',
    'D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST',
    'D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY',
    'D3D12_LOGIC_OP_OR_INVERTED', 'D3D12_DRED_ALLOCATION_TYPE_PASS',
    'D3D12_DRED_ALLOCATION_TYPE_METACOMMAND',
    'D3D12_QUERY_TYPE_PIPELINE_STATISTICS',
    'D3D12_ROOT_SIGNATURE_FLAGS', 'DXGI_FORMAT_BC3_UNORM_SRGB',
    'D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP',
    'D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
    'D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST',
    'D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_D24_UNORM_S8_UINT',
    'D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW',
    'D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS',
    'D3D12_BLEND_SRC_ALPHA_SAT',
    'D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT',
    'ID3D12VersionedRootSignatureDeserializer',
    'D3D12_ROOT_SIGNATURE_DESC', 'D3D12_FEATURE_SERIALIZATION',
    'DXGI_FORMAT_R32G32B32_FLOAT',
    'DXGI_FORMAT_R24_UNORM_X8_TYPELESS',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0006', 'D3D12_TEX2D_SRV',
    'D3D12_TEX2D_ARRAY_RTV', 'D3D12_STENCIL_OP_INCR_SAT',
    'D3D11_PRIMITIVE_TOPOLOGY_POINTLIST',
    'DXGI_FORMAT_R32G32B32A32_FLOAT',
    'DXGI_FORMAT_B8G8R8X8_UNORM_SRGB',
    'D3D12_UAV_DIMENSION_TEXTURE3D', 'D3D12_LIFETIME_STATE',
    'D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE',
    'ID3D12Device8', 'DXGI_FORMAT_R16G16B16A16_FLOAT',
    'D3D12_BUFFER_UAV_FLAG_RAW', 'D3D12_SHADER_BYTECODE',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE',
    'D3D12_FILTER_COMPARISON_ANISOTROPIC',
    'D3D12_RESOURCE_STATE_INDEX_BUFFER',
    'D3D12_DRED_ALLOCATION_TYPE_RESOURCE', 'D3D_PRIMITIVE_TOPOLOGY',
    'D3D12_RESIDENCY_FLAGS',
    'D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST',
    'ID3D12CommandSignature', 'D3D12_ROOT_PARAMETER_TYPE',
    'D3D12_DRED_ENABLEMENT', 'D3D12_RESOURCE_STATE_GENERIC_READ',
    'D3D12_RESOLVE_MODE_DECOMPRESS', 'D3D12_SUBRESOURCE_TILING',
    'D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS',
    'D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED',
    'D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK',
    'D3D12_SHADER_VISIBILITY_AMPLIFICATION',
    'D3D12_RTV_DIMENSION_TEXTURE1D',
    'D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER',
    'D3D12_SHADER_CACHE_FLAG_NONE',
    'D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0007',
    'D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ',
    'D3D12_RESIDENCY_PRIORITY_LOW', 'ID3D12Device4',
    'D3D12_MEMORY_POOL_L1',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS',
    'D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION',
    'DXGI_FORMAT_BC7_UNORM', 'D3D12_AUTO_BREADCRUMB_NODE1',
    'D3D12_SRV_DIMENSION_TEXTURE2DMS', 'DXGI_FORMAT_BC4_SNORM',
    'D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED',
    'DXGI_FORMAT_R16G16B16A16_TYPELESS',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS',
    'D3D12_MEASUREMENTS_ACTION_KEEP_ALL',
    'ID3D12RootSignatureDeserializer',
    'D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC',
    'D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1', 'DXGI_FORMAT_R8_UINT',
    'D3D12_SHADER_CACHE_KIND_FLAGS', 'D3D12_COMMAND_LIST_FLAG_NONE',
    'D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO',
    'D3D12_COMMAND_LIST_TYPE_BUNDLE',
    'D3D12_PIPELINE_STATE_STREAM_DESC',
    'D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST',
    'D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
    'ID3D12DeviceRemovedExtendedData', 'ID3D12Tools',
    'D3D12_RESIDENCY_PRIORITY_HIGH', 'D3D12_TILE_RANGE_FLAG_NULL',
    'D3D12_SHADING_RATE_COMBINER_PASSTHROUGH',
    'D3D12_PROTECTED_SESSION_STATUS_OK',
    'D3D12_VERSIONED_ROOT_SIGNATURE_DESC',
    'DXGI_FORMAT_R10G10B10A2_UNORM', 'D3D12_TEXCUBE_ARRAY_SRV',
    'D3D12_VERTEX_BUFFER_VIEW', 'D3D12_PREDICATION_OP',
    'ID3D12Object', 'D3D12_HEAP_FLAG_CREATE_NOT_ZEROED',
    'D3D12_RESOURCE_STATE_UNORDERED_ACCESS',
    'D3D12_DRED_ENABLEMENT_FORCED_OFF', 'DXGI_FORMAT_BC1_TYPELESS',
    'D3D12_FEATURE_D3D12_OPTIONS6', 'D3D12_FEATURE_D3D12_OPTIONS4',
    'D3D12_FEATURE_DISPLAYABLE', 'D3D12_TEX2D_UAV',
    'D3D12_SHADER_VISIBILITY_GEOMETRY', 'D3D12_TEX2DMS_RTV',
    'D3D12_DISCARD_REGION',
    'D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA',
    'D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_R16G16_UINT',
    'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
    'D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE',
    'D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION',
    'D3D12_QUERY_HEAP_TYPE_TIMESTAMP', 'D3D12_QUERY_HEAP_DESC',
    'D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1',
    'DXGI_FORMAT_R32G32B32_SINT', 'D3D12_LOGIC_OP_NOOP',
    'D3D12_LOGIC_OP_COPY',
    'D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST',
    'D3D12_FEATURE_SHADER_MODEL',
    'D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT',
    'D3D12_SHADER_VISIBILITY_DOMAIN', 'D3D12_AUTO_BREADCRUMB_NODE',
    'D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ',
    'D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT',
    'D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2',
    'D3D12_RESOLVE_MODE_AVERAGE',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0003',
    'D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT',
    'D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES',
    'D3D12_SHADER_RESOURCE_VIEW_DESC', 'D3D12_UAV_DIMENSION',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION',
    'D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW',
    'D3D12_DEPTH_WRITE_MASK_ALL',
    'D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST',
    'D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG',
    'D3D12_FEATURE_D3D12_OPTIONS13', 'D3D12_RESOLVE_MODE',
    'D3D12_BLEND_DEST_ALPHA',
    'D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ',
    'D3D12_HEAP_FLAG_DENY_BUFFERS', 'D3D12_TILED_RESOURCE_COORDINATE',
    'D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT',
    'D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP',
    'D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST',
    'D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ',
    'D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST',
    'D3D12_BLEND_SRC_ALPHA', 'D3D12_LOGIC_OP_NAND',
    'D3D12_BLEND_OP_REV_SUBTRACT', 'D3D12_FEATURE_D3D12_OPTIONS20',
    'D3D12_PIPELINE_STATE_FLAG_NONE', 'D3D12_DSV_DIMENSION_UNKNOWN',
    'D3D12_RESOURCE_ALIASING_BARRIER',
    'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST',
    'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
    'D3D12_DESCRIPTOR_HEAP_TYPE_DSV', 'D3D12_LOGIC_OP_CLEAR',
    'D3D12_SHADER_VISIBILITY_ALL', 'D3D12_DSV_DIMENSION',
    '__MIDL___MIDL_itf_d3d12_0000_0048_0002',
    'D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ', 'D3D12_BLEND_OP_MIN',
    'D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS',
    'D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2',
    'D3D12_FEATURE_EXISTING_HEAPS',
    'D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY',
    'D3D12_SUBRESOURCE_FOOTPRINT', 'ID3D12GraphicsCommandList4',
    'D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY',
    'DXGI_FORMAT_BC5_TYPELESS', 'D3D12_RESIDENCY_PRIORITY_MINIMUM',
    'D3D12_RESOURCE_BARRIER_FLAG_NONE', 'D3D_ROOT_SIGNATURE_VERSION',
    'D3D12_FEATURE_COMMAND_QUEUE_PRIORITY',
    'D3D12_CONSTANT_BUFFER_VIEW_DESC',
    'D3D12_ROOT_PARAMETER_TYPE_CBV',
    'D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS',
    'D3D12_STENCIL_OP_REPLACE', 'D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE',
    'D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK',
    'D3D12_UAV_DIMENSION_TEXTURE2DARRAY',
    'D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH',
    'D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR',
    'D3D12_TILE_COPY_FLAGS', 'D3D12_SRV_DIMENSION_BUFFER',
    'D3D12_META_COMMAND_PARAMETER_DESC',
    'D3D12_ROOT_DESCRIPTOR_FLAG_NONE',
    'D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM',
    'D3D12_CULL_MODE_NONE',
    'D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE', 'DXGI_FORMAT_Y416',
    'D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE',
    'ID3D12GraphicsCommandList2', 'DXGI_FORMAT_BC5_UNORM',
    'DXGI_FORMAT_Y410',
    'D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW',
    'D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS',
    'D3D12_LOGIC_OP', 'D3D12_FEATURE_D3D12_OPTIONS',
    'D3D12_RESOURCE_BARRIER_FLAGS', 'DXGI_FORMAT_NV11',
    'D3D12_RESOURCE_STATE_RESOLVE_SOURCE', 'D3D12_DESCRIPTOR_RANGE1',
    'D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT', 'ID3D10Blob',
    'D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE', 'DXGI_FORMAT_NV12',
    'D3D12_SHADING_RATE_4X2', 'D3D12_FENCE_FLAG_SHARED',
    'D3D12_UAV_DIMENSION_UNKNOWN', 'D3D12_TILE_COPY_FLAG_NO_HAZARD',
    'D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE',
    'D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS',
    'D3D12_ELEMENTS_LAYOUT', 'D3D12_RENDER_TARGET_VIEW_DESC',
    'D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP',
    'D3D12_DESCRIPTOR_RANGE_TYPE_CBV', 'D3D12_FILTER_ANISOTROPIC',
    'D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY', 'D3D12_CULL_MODE_BACK',
    'D3D12_GRAPHICS_PIPELINE_STATE_DESC',
    'D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST',
    'D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE', 'DXGI_FORMAT_R8_UNORM',
    'D3D12_BARRIER_LAYOUT_RESOLVE_DEST',
    'D3D12_DRED_BREADCRUMB_CONTEXT',
    'D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS',
    'D3D12_RESOURCE_STATES', 'D3D12_BARRIER_LAYOUT_UNDEFINED',
    'D3D12_RESIDENCY_PRIORITY_NORMAL',
    'D3D12_RESOURCE_ALLOCATION_INFO1', 'D3D12_BLEND_INV_SRC1_COLOR',
    'D3D12_UAV_DIMENSION_TEXTURE2D', 'DXGI_FORMAT_BC6H_SF16',
    'D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR',
    'D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR',
    'D3D12_BARRIER_LAYOUT_RENDER_TARGET',
    'D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST',
    'D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED',
    'D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN',
    'D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ',
    'D3D12_COMMAND_LIST_TYPE',
    'D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS',
    'D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST',
    'D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP',
    'D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME',
    'D3D12_SRV_DIMENSION_TEXTURE1D',
    'D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT',
    'D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST',
    'D3D12_RAYTRACING_GEOMETRY_DESC',
    'D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
    'D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0003',
    'DXGI_FORMAT_BC2_UNORM_SRGB',
    'D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE', 'D3D12_TEX1D_ARRAY_SRV',
    'D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE',
    'D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED',
    'D3D12_HEAP_TYPE', 'D3D12_MEASUREMENTS_ACTION', 'D3D12_CULL_MODE',
    'DXGI_FORMAT_BC3_TYPELESS',
    'DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS',
    'D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS',
    'D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST',
    'D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE',
    'D3D12_DEPTH_STENCILOP_DESC',
    'D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT', 'D3D12_LOGIC_OP_AND',
    'D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST',
    'D3D12_STATE_SUBOBJECT', 'D3D12_FEATURE_FORMAT_INFO',
    'DXGI_FORMAT_R32G32_FLOAT', 'D3D12_RESOURCE_DIMENSION_TEXTURE2D',
    'D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED',
    'D3D12_WRITEBUFFERIMMEDIATE_MODE', 'DXGI_FORMAT_R32G32_UINT',
    'D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST',
    'D3D12_INPUT_LAYOUT_DESC', 'D3D12_LOGIC_OP_XOR', 'ID3D12Device',
    'D3D12_SO_DECLARATION_ENTRY', 'DXGI_FORMAT_R16G16B16A16_SINT',
    'D3D12_DEPTH_WRITE_MASK', 'D3D12_TILE_MAPPING_FLAGS',
    'D3D12_SHADER_VISIBILITY',
    'D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL',
    'D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON',
    'DXGI_FORMAT_R8G8B8A8_UNORM_SRGB',
    'D3D_PRIMITIVE_TOPOLOGY_UNDEFINED',
    'D3D12_UAV_DIMENSION_TEXTURE1D', 'D3D12_STENCIL_OP_INCR',
    'D3D12_COMMAND_QUEUE_FLAG_NONE', 'DXGI_FORMAT_B4G4R4A4_UNORM',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0001',
    'D3D12_LOGIC_OP_OR_REVERSE', 'DXGI_FORMAT_UNKNOWN',
    'D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR',
    'D3D12_FEATURE_D3D12_OPTIONS2',
    'D3D12_RESIDENCY_PRIORITY_MAXIMUM', 'DXGI_FORMAT_BC1_UNORM_SRGB',
    'DXGI_FORMAT_FORCE_UINT', 'D3D12_ROOT_PARAMETER1',
    'D3D12_HEAP_FLAG_ALLOW_DISPLAY', 'D3D12_DESCRIPTOR_RANGE',
    'D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE',
    'DXGI_FORMAT_R16_SINT',
    'D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES',
    'DXGI_FORMAT_R32G32B32A32_SINT',
    'D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG',
    'DXGI_FORMAT_420_OPAQUE', 'D3D12_PLACED_SUBRESOURCE_FOOTPRINT',
    'D3D12_META_COMMAND_PARAMETER_STAGE_CREATION',
    'D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS',
    'DXGI_FORMAT_BC7_TYPELESS', 'ID3D12DescriptorHeap',
    'D3D12_BUFFER_UAV_FLAG_NONE', 'ID3D12Device10',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION',
    'DXGI_FORMAT_D32_FLOAT_S8X24_UINT', 'D3D12_TEX2D_ARRAY_SRV',
    'D3D12_INPUT_CLASSIFICATION',
    'D3D12_SHADING_RATE_COMBINER_OVERRIDE',
    'D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE',
    'D3D12_DESCRIPTOR_RANGE_FLAG_NONE', 'ID3D12MetaCommand',
    'D3D12_BLEND_OP_ADD', 'D3D12_CLEAR_FLAG_DEPTH',
    'D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO',
    'D3D12_QUERY_TYPE_TIMESTAMP',
    'D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND',
    'DXGI_FORMAT_B8G8R8A8_TYPELESS',
    'D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD',
    'D3D12_COMMAND_LIST_FLAGS', '__LUID',
    'D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK',
    'D3D12_DESCRIPTOR_HEAP_TYPE', 'D3D12_ROOT_SIGNATURE_FLAG_NONE',
    'D3D12_STATIC_BORDER_COLOR',
    'D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1',
    'D3D12_BARRIER_LAYOUT_COPY_DEST', 'D3D12_ELEMENTS_LAYOUT_ARRAY',
    'D3D12_MIP_REGION', 'D3D12_LIFETIME_STATE_IN_USE',
    'DXGI_FORMAT_YUY2', 'D3D12_FEATURE_D3D12_OPTIONS3',
    'D3D12_DRED_ENABLEMENT_FORCED_ON',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER',
    'D3D12_SRV_DIMENSION_TEXTURECUBE', 'D3D12_DSV_FLAG_NONE',
    'D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST',
    'D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE',
    'D3D12_STREAM_OUTPUT_DESC',
    'D3D12_RENDER_PASS_ENDING_ACCESS_TYPE',
    'D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY',
    'D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH',
    'D3D12_RAYTRACING_GEOMETRY_TYPE', 'D3D12_HEAP_FLAGS',
    'D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT',
    'D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION',
    'D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE',
    'DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE', 'D3D12_TEX3D_SRV',
    'D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST',
    'ID3D12Fence', 'D3D12_DSV_DIMENSION_TEXTURE1DARRAY',
    'D3D12_GRAPHICS_STATE_PIPELINE_STATE',
    'D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED',
    'D3D_ROOT_SIGNATURE_VERSION_1_0', 'D3D12_DSV_FLAGS',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP',
    'D3D12_TILE_RANGE_FLAG_SKIP', 'D3D_PRIMITIVE_TOPOLOGY_POINTLIST',
    'D3D12_WRITEBUFFERIMMEDIATE_PARAMETER',
    'D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE', 'D3D12_TEX1D_ARRAY_RTV',
    'D3D12_FEATURE_D3D12_OPTIONS11',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR',
    'D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP',
    'D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE',
    'D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST',
    'D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE',
    'D3D12_GRAPHICS_STATE_OM_STENCIL_REF',
    'D3D12_DEPTH_STENCIL_VIEW_DESC', 'DXGI_FORMAT_Y210',
    'D3D12_STREAM_OUTPUT_BUFFER_VIEW',
    'D3D12_DESCRIPTOR_RANGE_TYPE_UAV',
    '__MIDL___MIDL_itf_d3d12_0000_0003_0004', 'ID3D12Resource',
    'DXGI_FORMAT_R16G16_SINT',
    'D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE',
    'D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED',
    'D3D12_LOGIC_OP_NOR', 'D3D12_PROTECTED_RESOURCE_SESSION_DESC1',
    'D3D12_TEXTURE_ADDRESS_MODE_BORDER', 'D3D12_SHADING_RATE_4X4',
    'DXGI_FORMAT_R10G10B10A2_UINT',
    'D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK',
    'D3D12_GRAPHICS_STATE_SO_TARGETS',
    'D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT',
    'D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED',
    'D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG',
    'D3D12_INDIRECT_ARGUMENT_DESC', 'D3D12_HEAP_TYPE_DEFAULT',
    'D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST',
    'D3D12_BARRIER_LAYOUT', 'DXGI_FORMAT_R16G16_SNORM',
    'D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3',
    'D3D12_RESOURCE_BARRIER_TYPE_UAV', 'D3D12_FEATURE_CROSS_NODE',
    'D3D12_TEX2DMS_SRV', 'D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH',
    'ID3D12Device7', 'DXGI_FORMAT_R32_SINT',
    'ID3D12GraphicsCommandList3',
    'D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE',
    'D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST',
    'D3D12_RESOURCE_FLAGS', 'D3D12_CLEAR_VALUE',
    'D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE',
    'D3D12_BARRIER_LAYOUT_GENERIC_READ',
    'D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE', 'ID3D12PipelineLibrary',
    'D3D12_QUERY_TYPE', 'D3D12_BLEND_OP_SUBTRACT',
    'D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION',
    'D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST',
    'D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS',
    'ID3D12LifetimeOwner', 'D3D12_SRV_DIMENSION_TEXTURE1DARRAY',
    'D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION',
    'D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST',
    'D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY',
    'D3D12_TEXTURE_LAYOUT_ROW_MAJOR', 'D3D12_STENCIL_OP_KEEP',
    'DXGI_FORMAT_BC6H_UF16', 'D3D12_RTV_DIMENSION_TEXTURE3D',
    'D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST',
    'D3D12_BLEND_SRC_COLOR', 'D3D12_RESOURCE_STATE_STREAM_OUT',
    'D3D12_COMMAND_QUEUE_DESC',
    'D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE',
    'D3D12_SERIALIZED_DATA_TYPE', 'ID3D12Device6',
    'D3D12_LOGIC_OP_INVERT', 'D3D12_INDIRECT_ARGUMENT_TYPE',
    'D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER',
    'D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA',
    'D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT',
    'D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ',
    'D3D12_FEATURE_D3D12_OPTIONS19',
    'D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP',
    'D3D12_RESOURCE_BARRIER_TYPE', 'D3D12_RANGE_UINT64',
    'DXGI_FORMAT_R8_TYPELESS',
    'D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV',
    'D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST',
    'D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0004',
    '__MIDL___MIDL_itf_d3d12_0000_0048_0001',
    'D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST',
    'D3D12_COMPARISON_FUNC_LESS', 'D3D12_MEMORY_POOL',
    'D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW',
    'D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED',
    'D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC',
    'D3D12_SAMPLER_DESC', 'D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC',
    'D3D_PRIMITIVE_TOPOLOGY_LINESTRIP',
    '__MIDL___MIDL_itf_d3d12_0000_0001_0008',
    'DXGI_FORMAT_R24G8_TYPELESS',
    'D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS',
    'D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST',
    'DXGI_FORMAT_R32_FLOAT', 'ID3D12PipelineState',
    'D3D12_RTV_DIMENSION_TEXTURE2DMS', 'D3D12_TEX1D_ARRAY_UAV',
    'D3D12_SHADING_RATE_COMBINER', 'D3D12_DESCRIPTOR_HEAP_FLAG_NONE',
    'DXGI_FORMAT_B5G5R5A1_UNORM',
    'D3D12_CPU_PAGE_PROPERTY_WRITE_BACK',
    'D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS',
    'D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC',
    'D3D12_BUFFER_UAV', 'D3D12_SHADING_RATE_COMBINER_SUM'
]


