zigwin32/win32/graphics/direct3d12.zig

13675 lines
758 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (465)
//--------------------------------------------------------------------------------
pub const D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES = @as(u32, 4096);
pub const D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING = @as(u32, 5768);
pub const D3D12_16BIT_INDEX_STRIP_CUT_VALUE = @as(u32, 65535);
pub const D3D12_32BIT_INDEX_STRIP_CUT_VALUE = @as(u32, 4294967295);
pub const D3D12_8BIT_INDEX_STRIP_CUT_VALUE = @as(u32, 255);
pub const D3D12_APPEND_ALIGNED_ELEMENT = @as(u32, 4294967295);
pub const D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT = @as(u32, 9);
pub const D3D12_CLIP_OR_CULL_DISTANCE_COUNT = @as(u32, 8);
pub const D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT = @as(u32, 2);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT = @as(u32, 14);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS = @as(u32, 4);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT = @as(u32, 15);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT = @as(u32, 16);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT = @as(u32, 15);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT = @as(u32, 64);
pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT = @as(u32, 128);
pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT = @as(u32, 128);
pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT = @as(u32, 16);
pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT = @as(u32, 16);
pub const D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT = @as(u32, 32);
pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_COMMONSHADER_TEMP_REGISTER_COUNT = @as(u32, 4096);
pub const D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST = @as(u32, 3);
pub const D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS = @as(u32, 3);
pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX = @as(u32, 10);
pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN = @as(i32, -10);
pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE = @as(i32, -8);
pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE = @as(u32, 7);
pub const D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT = @as(u32, 256);
pub const D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 256);
pub const D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP = @as(u32, 64);
pub const D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 240);
pub const D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP = @as(u32, 68);
pub const D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 224);
pub const D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP = @as(u32, 72);
pub const D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 208);
pub const D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP = @as(u32, 76);
pub const D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 192);
pub const D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP = @as(u32, 84);
pub const D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 176);
pub const D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP = @as(u32, 92);
pub const D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 160);
pub const D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP = @as(u32, 100);
pub const D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 144);
pub const D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP = @as(u32, 112);
pub const D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 128);
pub const D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP = @as(u32, 128);
pub const D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 112);
pub const D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP = @as(u32, 144);
pub const D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 96);
pub const D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP = @as(u32, 168);
pub const D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 80);
pub const D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP = @as(u32, 204);
pub const D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 64);
pub const D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP = @as(u32, 256);
pub const D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 48);
pub const D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP = @as(u32, 340);
pub const D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 32);
pub const D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP = @as(u32, 512);
pub const D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD = @as(u32, 16);
pub const D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP = @as(u32, 768);
pub const D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION = @as(u32, 1);
pub const D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT = @as(u32, 256);
pub const D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP = @as(u32, 768);
pub const D3D12_CS_4_X_THREAD_GROUP_MAX_X = @as(u32, 768);
pub const D3D12_CS_4_X_THREAD_GROUP_MAX_Y = @as(u32, 768);
pub const D3D12_CS_4_X_UAV_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION = @as(u32, 65535);
pub const D3D12_CS_TGSM_REGISTER_COUNT = @as(u32, 8192);
pub const D3D12_CS_TGSM_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS = @as(u32, 3);
pub const D3D12_CS_THREADGROUPID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS = @as(u32, 3);
pub const D3D12_CS_THREADIDINGROUP_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_CS_THREADID_REGISTER_COMPONENTS = @as(u32, 3);
pub const D3D12_CS_THREADID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP = @as(u32, 1024);
pub const D3D12_CS_THREAD_GROUP_MAX_X = @as(u32, 1024);
pub const D3D12_CS_THREAD_GROUP_MAX_Y = @as(u32, 1024);
pub const D3D12_CS_THREAD_GROUP_MAX_Z = @as(u32, 64);
pub const D3D12_CS_THREAD_GROUP_MIN_X = @as(u32, 1);
pub const D3D12_CS_THREAD_GROUP_MIN_Y = @as(u32, 1);
pub const D3D12_CS_THREAD_GROUP_MIN_Z = @as(u32, 1);
pub const D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL = @as(u32, 16384);
pub const D3D12_DEFAULT_BLEND_FACTOR_ALPHA = @as(f32, 1);
pub const D3D12_DEFAULT_BLEND_FACTOR_BLUE = @as(f32, 1);
pub const D3D12_DEFAULT_BLEND_FACTOR_GREEN = @as(f32, 1);
pub const D3D12_DEFAULT_BLEND_FACTOR_RED = @as(f32, 1);
pub const D3D12_DEFAULT_BORDER_COLOR_COMPONENT = @as(f32, 0);
pub const D3D12_DEFAULT_DEPTH_BIAS = @as(i32, 0);
pub const D3D12_DEFAULT_DEPTH_BIAS_CLAMP = @as(f32, 0);
pub const D3D12_DEFAULT_MAX_ANISOTROPY = @as(u32, 16);
pub const D3D12_DEFAULT_MIP_LOD_BIAS = @as(f32, 0);
pub const D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = @as(u32, 4194304);
pub const D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX = @as(u32, 0);
pub const D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT = @as(u32, 65536);
pub const D3D12_DEFAULT_SAMPLE_MASK = @as(u32, 4294967295);
pub const D3D12_DEFAULT_SCISSOR_ENDX = @as(u32, 0);
pub const D3D12_DEFAULT_SCISSOR_ENDY = @as(u32, 0);
pub const D3D12_DEFAULT_SCISSOR_STARTX = @as(u32, 0);
pub const D3D12_DEFAULT_SCISSOR_STARTY = @as(u32, 0);
pub const D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS = @as(f32, 0);
pub const D3D12_DEFAULT_STENCIL_READ_MASK = @as(u32, 255);
pub const D3D12_DEFAULT_STENCIL_REFERENCE = @as(u32, 0);
pub const D3D12_DEFAULT_STENCIL_WRITE_MASK = @as(u32, 255);
pub const D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX = @as(u32, 0);
pub const D3D12_DEFAULT_VIEWPORT_HEIGHT = @as(u32, 0);
pub const D3D12_DEFAULT_VIEWPORT_MAX_DEPTH = @as(f32, 0);
pub const D3D12_DEFAULT_VIEWPORT_MIN_DEPTH = @as(f32, 0);
pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTX = @as(u32, 0);
pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTY = @as(u32, 0);
pub const D3D12_DEFAULT_VIEWPORT_WIDTH = @as(u32, 0);
pub const D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND = @as(u32, 4294967295);
pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END = @as(u32, 4294967287);
pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START = @as(u32, 4294967280);
pub const D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = @as(u32, 3968);
pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS = @as(u32, 3);
pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_DS_OUTPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_DS_OUTPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP = @as(f64, 6.0e-01);
pub const D3D12_FLOAT32_MAX = @as(f32, 3.4028235e+38);
pub const D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP = @as(f32, 6.0e-01);
pub const D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR = @as(f32, 2.4e+00);
pub const D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR = @as(f32, 1);
pub const D3D12_FLOAT_TO_SRGB_OFFSET = @as(f32, 5.5e-02);
pub const D3D12_FLOAT_TO_SRGB_SCALE_1 = @as(f32, 1.292e+01);
pub const D3D12_FLOAT_TO_SRGB_SCALE_2 = @as(f32, 1.055e+00);
pub const D3D12_FLOAT_TO_SRGB_THRESHOLD = @as(f32, 3.1308e-03);
pub const D3D12_FTOI_INSTRUCTION_MAX_INPUT = @as(f32, 2.1474836e+09);
pub const D3D12_FTOI_INSTRUCTION_MIN_INPUT = @as(f32, -2.1474836e+09);
pub const D3D12_FTOU_INSTRUCTION_MAX_INPUT = @as(f32, 4.2949673e+09);
pub const D3D12_FTOU_INSTRUCTION_MIN_INPUT = @as(f32, 0);
pub const D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST = @as(u32, 2);
pub const D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS = @as(u32, 1);
pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_GS_INPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_GS_INPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_GS_INPUT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_GS_INPUT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_GS_INPUT_REGISTER_VERTICES = @as(u32, 32);
pub const D3D12_GS_MAX_INSTANCE_COUNT = @as(u32, 32);
pub const D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES = @as(u32, 1024);
pub const D3D12_GS_OUTPUT_ELEMENTS = @as(u32, 32);
pub const D3D12_GS_OUTPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_GS_OUTPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND = @as(u32, 4294967295);
pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND = @as(u32, 4294967295);
pub const D3D12_HS_MAXTESSFACTOR_LOWER_BOUND = @as(f32, 1);
pub const D3D12_HS_MAXTESSFACTOR_UPPER_BOUND = @as(f32, 64);
pub const D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS = @as(u32, 3968);
pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS = @as(u32, 128);
pub const D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES = @as(u32, 0);
pub const D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY = @as(u32, 0);
pub const D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES = @as(u32, 0);
pub const D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT = @as(u32, 1);
pub const D3D12_IA_INSTANCE_ID_BIT_COUNT = @as(u32, 32);
pub const D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT = @as(u32, 32);
pub const D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT = @as(u32, 32);
pub const D3D12_IA_PRIMITIVE_ID_BIT_COUNT = @as(u32, 32);
pub const D3D12_IA_VERTEX_ID_BIT_COUNT = @as(u32, 32);
pub const D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT = @as(u32, 32);
pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS = @as(u32, 128);
pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT = @as(u32, 32);
pub const D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT = @as(u32, 4294967295);
pub const D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER = @as(u32, 4294967295);
pub const D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL = @as(u32, 4294967295);
pub const D3D12_KEEP_UNORDERED_ACCESS_VIEWS = @as(u32, 4294967295);
pub const D3D12_LINEAR_GAMMA = @as(f32, 1);
pub const D3D12_MAJOR_VERSION = @as(u32, 12);
pub const D3D12_MAX_BORDER_COLOR_COMPONENT = @as(f32, 1);
pub const D3D12_MAX_DEPTH = @as(f32, 1);
pub const D3D12_MAX_LIVE_STATIC_SAMPLERS = @as(u32, 2032);
pub const D3D12_MAX_MAXANISOTROPY = @as(u32, 16);
pub const D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT = @as(u32, 32);
pub const D3D12_MAX_POSITION_VALUE = @as(f32, 3.4028236e+34);
pub const D3D12_MAX_ROOT_COST = @as(u32, 64);
pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 = @as(u32, 1000000);
pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 = @as(u32, 1000000);
pub const D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE = @as(u32, 2048);
pub const D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP = @as(u32, 17);
pub const D3D12_MAX_VIEW_INSTANCE_COUNT = @as(u32, 4);
pub const D3D12_MINOR_VERSION = @as(u32, 0);
pub const D3D12_MIN_BORDER_COLOR_COMPONENT = @as(f32, 0);
pub const D3D12_MIN_DEPTH = @as(f32, 0);
pub const D3D12_MIN_MAXANISOTROPY = @as(u32, 0);
pub const D3D12_MIP_LOD_BIAS_MAX = @as(f32, 1.599e+01);
pub const D3D12_MIP_LOD_BIAS_MIN = @as(f32, -16);
pub const D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT = @as(u32, 8);
pub const D3D12_MIP_LOD_RANGE_BIT_COUNT = @as(u32, 8);
pub const D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH = @as(f32, 1.4e+00);
pub const D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT = @as(u32, 0);
pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END = @as(u32, 4294967295);
pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START = @as(u32, 4294967288);
pub const D3D12_PACKED_TILE = @as(u32, 4294967295);
pub const D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT = @as(u32, 15);
pub const D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT = @as(u32, 16);
pub const D3D12_PS_CS_UAV_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_PS_CS_UAV_REGISTER_COUNT = @as(u32, 8);
pub const D3D12_PS_CS_UAV_REGISTER_READS_PER_INST = @as(u32, 1);
pub const D3D12_PS_CS_UAV_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_PS_FRONTFACING_DEFAULT_VALUE = @as(u32, 4294967295);
pub const D3D12_PS_FRONTFACING_FALSE_VALUE = @as(u32, 0);
pub const D3D12_PS_FRONTFACING_TRUE_VALUE = @as(u32, 4294967295);
pub const D3D12_PS_INPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_PS_INPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_PS_INPUT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_PS_INPUT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT = @as(f32, 0);
pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS = @as(u32, 1);
pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_PS_OUTPUT_MASK_REGISTER_COUNT = @as(u32, 1);
pub const D3D12_PS_OUTPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_PS_OUTPUT_REGISTER_COUNT = @as(u32, 8);
pub const D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT = @as(f32, 5.0e-01);
pub const D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT = @as(u32, 16);
pub const D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT = @as(u32, 8);
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT = @as(u32, 256);
pub const D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT = @as(u32, 16);
pub const D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES = @as(u32, 32);
pub const D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH = @as(u32, 31);
pub const D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = @as(u32, 16777216);
pub const D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE = @as(u32, 16777216);
pub const D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE = @as(u32, 536870912);
pub const D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS = @as(u32, 1073741824);
pub const D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE = @as(u32, 4096);
pub const D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT = @as(u32, 32);
pub const D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT = @as(u32, 64);
pub const D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT = @as(u32, 16);
pub const D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE = @as(u32, 4096);
pub const D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP = @as(u32, 27);
pub const D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT = @as(u32, 4096);
pub const D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE = @as(u32, 4096);
pub const D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = @as(u32, 32);
pub const D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP = @as(u32, 32);
pub const D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION = @as(u32, 16384);
pub const D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT = @as(u32, 1024);
pub const D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT = @as(u32, 4096);
pub const D3D12_REQ_MAXANISOTROPY = @as(u32, 16);
pub const D3D12_REQ_MIP_LEVELS = @as(u32, 15);
pub const D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES = @as(u32, 2048);
pub const D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE = @as(u32, 4096);
pub const D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH = @as(u32, 16384);
pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM = @as(u32, 128);
pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM = @as(f32, 2.5e-01);
pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM = @as(u32, 2048);
pub const D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP = @as(u32, 20);
pub const D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE = @as(u32, 4096);
pub const D3D12_REQ_SUBRESOURCES = @as(u32, 30720);
pub const D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION = @as(u32, 2048);
pub const D3D12_REQ_TEXTURE1D_U_DIMENSION = @as(u32, 16384);
pub const D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION = @as(u32, 2048);
pub const D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION = @as(u32, 16384);
pub const D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION = @as(u32, 2048);
pub const D3D12_REQ_TEXTURECUBE_DIMENSION = @as(u32, 16384);
pub const D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL = @as(u32, 0);
pub const D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES = @as(u32, 4294967295);
pub const D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT = @as(u32, 2);
pub const D3D12_SDK_VERSION = @as(u32, 5);
pub const D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES = @as(u32, 32);
pub const D3D12_SHADER_MAJOR_VERSION = @as(u32, 5);
pub const D3D12_SHADER_MAX_INSTANCES = @as(u32, 65535);
pub const D3D12_SHADER_MAX_INTERFACES = @as(u32, 253);
pub const D3D12_SHADER_MAX_INTERFACE_CALL_SITES = @as(u32, 4096);
pub const D3D12_SHADER_MAX_TYPES = @as(u32, 65535);
pub const D3D12_SHADER_MINOR_VERSION = @as(u32, 1);
pub const D3D12_SHIFT_INSTRUCTION_PAD_VALUE = @as(u32, 0);
pub const D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT = @as(u32, 5);
pub const D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT = @as(u32, 8);
pub const D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT = @as(u32, 65536);
pub const D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT = @as(u32, 4096);
pub const D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES = @as(u32, 2048);
pub const D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES = @as(u32, 512);
pub const D3D12_SO_BUFFER_SLOT_COUNT = @as(u32, 4);
pub const D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP = @as(u32, 4294967295);
pub const D3D12_SO_NO_RASTERIZED_STREAM = @as(u32, 4294967295);
pub const D3D12_SO_OUTPUT_COMPONENT_COUNT = @as(u32, 128);
pub const D3D12_SO_STREAM_COUNT = @as(u32, 4);
pub const D3D12_SPEC_DATE_DAY = @as(u32, 14);
pub const D3D12_SPEC_DATE_MONTH = @as(u32, 11);
pub const D3D12_SPEC_DATE_YEAR = @as(u32, 2014);
pub const D3D12_SPEC_VERSION = @as(f64, 1.16e+00);
pub const D3D12_SRGB_GAMMA = @as(f32, 2.2e+00);
pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 = @as(f32, 1.292e+01);
pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 = @as(f32, 1.055e+00);
pub const D3D12_SRGB_TO_FLOAT_EXPONENT = @as(f32, 2.4e+00);
pub const D3D12_SRGB_TO_FLOAT_OFFSET = @as(f32, 5.5e-02);
pub const D3D12_SRGB_TO_FLOAT_THRESHOLD = @as(f32, 4.045e-02);
pub const D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP = @as(f32, 5.0e-01);
pub const D3D12_STANDARD_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED = @as(u32, 64);
pub const D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE = @as(u32, 4);
pub const D3D12_STANDARD_PIXEL_COMPONENT_COUNT = @as(u32, 128);
pub const D3D12_STANDARD_PIXEL_ELEMENT_COUNT = @as(u32, 32);
pub const D3D12_STANDARD_VECTOR_SIZE = @as(u32, 4);
pub const D3D12_STANDARD_VERTEX_ELEMENT_COUNT = @as(u32, 32);
pub const D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT = @as(u32, 64);
pub const D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT = @as(u32, 8);
pub const D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT = @as(u32, 8);
pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END = @as(u32, 4294967295);
pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START = @as(u32, 4294967280);
pub const D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR = @as(u32, 64);
pub const D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR = @as(u32, 64);
pub const D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR = @as(u32, 63);
pub const D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR = @as(u32, 64);
pub const D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR = @as(u32, 2);
pub const D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR = @as(u32, 1);
pub const D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR = @as(u32, 1);
pub const D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT = @as(u32, 16);
pub const D3D12_TEXTURE_DATA_PITCH_ALIGNMENT = @as(u32, 256);
pub const D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT = @as(u32, 512);
pub const D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES = @as(u32, 65536);
pub const D3D12_TRACKED_WORKLOAD_MAX_INSTANCES = @as(u32, 32);
pub const D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT = @as(u32, 4096);
pub const D3D12_UAV_SLOT_COUNT = @as(u32, 64);
pub const D3D12_UNBOUND_MEMORY_ACCESS_RESULT = @as(u32, 0);
pub const D3D12_VIDEO_DECODE_MAX_ARGUMENTS = @as(u32, 10);
pub const D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS = @as(u32, 4);
pub const D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT = @as(u32, 256);
pub const D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT = @as(u32, 256);
pub const D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN = @as(u32, 4294967295);
pub const D3D12_VIDEO_PROCESS_MAX_FILTERS = @as(u32, 32);
pub const D3D12_VIDEO_PROCESS_STEREO_VIEWS = @as(u32, 2);
pub const D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX = @as(u32, 15);
pub const D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE = @as(u32, 16);
pub const D3D12_VIEWPORT_BOUNDS_MAX = @as(u32, 32767);
pub const D3D12_VIEWPORT_BOUNDS_MIN = @as(i32, -32768);
pub const D3D12_VS_INPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_VS_INPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_VS_INPUT_REGISTER_READS_PER_INST = @as(u32, 2);
pub const D3D12_VS_INPUT_REGISTER_READ_PORTS = @as(u32, 1);
pub const D3D12_VS_OUTPUT_REGISTER_COMPONENTS = @as(u32, 4);
pub const D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT = @as(u32, 32);
pub const D3D12_VS_OUTPUT_REGISTER_COUNT = @as(u32, 32);
pub const D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT = @as(u32, 10);
pub const D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP = @as(u32, 25);
pub const D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP = @as(u32, 25);
pub const D3D12_SHADER_COMPONENT_MAPPING_MASK = @as(u32, 7);
pub const D3D12_SHADER_COMPONENT_MAPPING_SHIFT = @as(u32, 3);
pub const D3D12_FILTER_REDUCTION_TYPE_MASK = @as(u32, 3);
pub const D3D12_FILTER_REDUCTION_TYPE_SHIFT = @as(u32, 7);
pub const D3D12_FILTER_TYPE_MASK = @as(u32, 3);
pub const D3D12_MIN_FILTER_SHIFT = @as(u32, 4);
pub const D3D12_MAG_FILTER_SHIFT = @as(u32, 2);
pub const D3D12_MIP_FILTER_SHIFT = @as(u32, 0);
pub const D3D12_ANISOTROPIC_FILTERING_BIT = @as(u32, 64);
pub const LUID_DEFINED = @as(u32, 1);
pub const D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED = Guid.initString("62b0084e-c70e-4daa-a109-30ff8d5a0482");
pub const CLSID_D3D12Debug = Guid.initString("f2352aeb-dd84-49fe-b97b-a9dcfdcc1b4f");
pub const CLSID_D3D12Tools = Guid.initString("e38216b1-3c8c-4833-aa09-0a06b65d96c8");
pub const CLSID_D3D12DeviceRemovedExtendedData = Guid.initString("4a75bbc4-9ff4-4ad8-9f18-abae84dc5ff2");
pub const CLSID_D3D12SDKConfiguration = Guid.initString("7cda6aca-a03e-49c8-9458-0334d20e07ce");
pub const D3D12_SHADING_RATE_X_AXIS_SHIFT = @as(u32, 2);
pub const D3D12_SHADING_RATE_VALID_MASK = @as(u32, 3);
pub const WKPDID_D3DAutoDebugObjectNameW = Guid.initString("d4902e36-757a-4942-9594-b6769afa43cd");
pub const DXGI_DEBUG_D3D12 = Guid.initString("cf59a98c-a950-4326-91ef-9bbaa17bfd95");
pub const D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT = @as(u32, 1024);
pub const D3D_SHADER_REQUIRES_STENCIL_REF = @as(u32, 512);
pub const D3D_SHADER_REQUIRES_INNER_COVERAGE = @as(u32, 1024);
pub const D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS = @as(u32, 2048);
pub const D3D_SHADER_REQUIRES_ROVS = @as(u32, 4096);
pub const D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER = @as(u32, 8192);
pub const D3D_SHADER_REQUIRES_WAVE_OPS = @as(u32, 16384);
pub const D3D_SHADER_REQUIRES_INT64_OPS = @as(u32, 32768);
pub const D3D_SHADER_REQUIRES_VIEW_ID = @as(u32, 65536);
pub const D3D_SHADER_REQUIRES_BARYCENTRICS = @as(u32, 131072);
pub const D3D_SHADER_REQUIRES_NATIVE_16BIT_OPS = @as(u32, 262144);
pub const D3D_SHADER_REQUIRES_SHADING_RATE = @as(u32, 524288);
pub const D3D_SHADER_REQUIRES_RAYTRACING_TIER_1_1 = @as(u32, 1048576);
pub const D3D_SHADER_REQUIRES_SAMPLER_FEEDBACK = @as(u32, 2097152);
pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_TYPED_RESOURCE = @as(u32, 4194304);
pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_GROUP_SHARED = @as(u32, 8388608);
pub const D3D_SHADER_REQUIRES_DERIVATIVES_IN_MESH_AND_AMPLIFICATION_SHADERS = @as(u32, 16777216);
pub const D3D_SHADER_REQUIRES_RESOURCE_DESCRIPTOR_HEAP_INDEXING = @as(u32, 33554432);
pub const D3D_SHADER_REQUIRES_SAMPLER_DESCRIPTOR_HEAP_INDEXING = @as(u32, 67108864);
pub const D3D_SHADER_REQUIRES_WAVE_MMA = @as(u32, 134217728);
pub const D3D_SHADER_REQUIRES_ATOMIC_INT64_ON_DESCRIPTOR_HEAP_RESOURCE = @as(u32, 268435456);
pub const D3D12ExperimentalShaderModels = Guid.initString("76f5573e-f13a-40f5-b297-81ce9e18933f");
pub const D3D12TiledResourceTier4 = Guid.initString("c9c4725f-a81a-4f56-8c5b-c51039d694fb");
pub const D3D12MetaCommand = Guid.initString("c734c97e-8077-48c8-9fdc-d9d1dd31dd77");
//--------------------------------------------------------------------------------
// Section: Types (461)
//--------------------------------------------------------------------------------
pub const D3D12_COMMAND_LIST_TYPE = enum(i32) {
DIRECT = 0,
BUNDLE = 1,
COMPUTE = 2,
COPY = 3,
VIDEO_DECODE = 4,
VIDEO_PROCESS = 5,
VIDEO_ENCODE = 6,
};
pub const D3D12_COMMAND_LIST_TYPE_DIRECT = D3D12_COMMAND_LIST_TYPE.DIRECT;
pub const D3D12_COMMAND_LIST_TYPE_BUNDLE = D3D12_COMMAND_LIST_TYPE.BUNDLE;
pub const D3D12_COMMAND_LIST_TYPE_COMPUTE = D3D12_COMMAND_LIST_TYPE.COMPUTE;
pub const D3D12_COMMAND_LIST_TYPE_COPY = D3D12_COMMAND_LIST_TYPE.COPY;
pub const D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = D3D12_COMMAND_LIST_TYPE.VIDEO_DECODE;
pub const D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = D3D12_COMMAND_LIST_TYPE.VIDEO_PROCESS;
pub const D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = D3D12_COMMAND_LIST_TYPE.VIDEO_ENCODE;
pub const D3D12_COMMAND_QUEUE_FLAGS = enum(u32) {
NONE = 0,
DISABLE_GPU_TIMEOUT = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DISABLE_GPU_TIMEOUT: u1 = 0,
}) D3D12_COMMAND_QUEUE_FLAGS {
return @as(D3D12_COMMAND_QUEUE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_COMMAND_QUEUE_FLAGS.NONE) else 0)
| (if (o.DISABLE_GPU_TIMEOUT == 1) @intFromEnum(D3D12_COMMAND_QUEUE_FLAGS.DISABLE_GPU_TIMEOUT) else 0)
));
}
};
pub const D3D12_COMMAND_QUEUE_FLAG_NONE = D3D12_COMMAND_QUEUE_FLAGS.NONE;
pub const D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = D3D12_COMMAND_QUEUE_FLAGS.DISABLE_GPU_TIMEOUT;
pub const D3D12_COMMAND_QUEUE_PRIORITY = enum(i32) {
NORMAL = 0,
HIGH = 100,
GLOBAL_REALTIME = 10000,
};
pub const D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = D3D12_COMMAND_QUEUE_PRIORITY.NORMAL;
pub const D3D12_COMMAND_QUEUE_PRIORITY_HIGH = D3D12_COMMAND_QUEUE_PRIORITY.HIGH;
pub const D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = D3D12_COMMAND_QUEUE_PRIORITY.GLOBAL_REALTIME;
pub const D3D12_COMMAND_QUEUE_DESC = extern struct {
Type: D3D12_COMMAND_LIST_TYPE,
Priority: i32,
Flags: D3D12_COMMAND_QUEUE_FLAGS,
NodeMask: u32,
};
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE = enum(i32) {
UNDEFINED = 0,
POINT = 1,
LINE = 2,
TRIANGLE = 3,
PATCH = 4,
};
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = D3D12_PRIMITIVE_TOPOLOGY_TYPE.UNDEFINED;
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = D3D12_PRIMITIVE_TOPOLOGY_TYPE.POINT;
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = D3D12_PRIMITIVE_TOPOLOGY_TYPE.LINE;
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = D3D12_PRIMITIVE_TOPOLOGY_TYPE.TRIANGLE;
pub const D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = D3D12_PRIMITIVE_TOPOLOGY_TYPE.PATCH;
pub const D3D12_INPUT_CLASSIFICATION = enum(i32) {
VERTEX_DATA = 0,
INSTANCE_DATA = 1,
};
pub const D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = D3D12_INPUT_CLASSIFICATION.VERTEX_DATA;
pub const D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = D3D12_INPUT_CLASSIFICATION.INSTANCE_DATA;
pub const D3D12_INPUT_ELEMENT_DESC = extern struct {
SemanticName: ?[*:0]const u8,
SemanticIndex: u32,
Format: DXGI_FORMAT,
InputSlot: u32,
AlignedByteOffset: u32,
InputSlotClass: D3D12_INPUT_CLASSIFICATION,
InstanceDataStepRate: u32,
};
pub const D3D12_FILL_MODE = enum(i32) {
WIREFRAME = 2,
SOLID = 3,
};
pub const D3D12_FILL_MODE_WIREFRAME = D3D12_FILL_MODE.WIREFRAME;
pub const D3D12_FILL_MODE_SOLID = D3D12_FILL_MODE.SOLID;
pub const D3D12_CULL_MODE = enum(i32) {
NONE = 1,
FRONT = 2,
BACK = 3,
};
pub const D3D12_CULL_MODE_NONE = D3D12_CULL_MODE.NONE;
pub const D3D12_CULL_MODE_FRONT = D3D12_CULL_MODE.FRONT;
pub const D3D12_CULL_MODE_BACK = D3D12_CULL_MODE.BACK;
pub const D3D12_SO_DECLARATION_ENTRY = extern struct {
Stream: u32,
SemanticName: ?[*:0]const u8,
SemanticIndex: u32,
StartComponent: u8,
ComponentCount: u8,
OutputSlot: u8,
};
pub const D3D12_VIEWPORT = extern struct {
TopLeftX: f32,
TopLeftY: f32,
Width: f32,
Height: f32,
MinDepth: f32,
MaxDepth: f32,
};
pub const D3D12_BOX = extern struct {
left: u32,
top: u32,
front: u32,
right: u32,
bottom: u32,
back: u32,
};
pub const D3D12_COMPARISON_FUNC = enum(i32) {
NEVER = 1,
LESS = 2,
EQUAL = 3,
LESS_EQUAL = 4,
GREATER = 5,
NOT_EQUAL = 6,
GREATER_EQUAL = 7,
ALWAYS = 8,
};
pub const D3D12_COMPARISON_FUNC_NEVER = D3D12_COMPARISON_FUNC.NEVER;
pub const D3D12_COMPARISON_FUNC_LESS = D3D12_COMPARISON_FUNC.LESS;
pub const D3D12_COMPARISON_FUNC_EQUAL = D3D12_COMPARISON_FUNC.EQUAL;
pub const D3D12_COMPARISON_FUNC_LESS_EQUAL = D3D12_COMPARISON_FUNC.LESS_EQUAL;
pub const D3D12_COMPARISON_FUNC_GREATER = D3D12_COMPARISON_FUNC.GREATER;
pub const D3D12_COMPARISON_FUNC_NOT_EQUAL = D3D12_COMPARISON_FUNC.NOT_EQUAL;
pub const D3D12_COMPARISON_FUNC_GREATER_EQUAL = D3D12_COMPARISON_FUNC.GREATER_EQUAL;
pub const D3D12_COMPARISON_FUNC_ALWAYS = D3D12_COMPARISON_FUNC.ALWAYS;
pub const D3D12_DEPTH_WRITE_MASK = enum(i32) {
ZERO = 0,
ALL = 1,
};
pub const D3D12_DEPTH_WRITE_MASK_ZERO = D3D12_DEPTH_WRITE_MASK.ZERO;
pub const D3D12_DEPTH_WRITE_MASK_ALL = D3D12_DEPTH_WRITE_MASK.ALL;
pub const D3D12_STENCIL_OP = enum(i32) {
KEEP = 1,
ZERO = 2,
REPLACE = 3,
INCR_SAT = 4,
DECR_SAT = 5,
INVERT = 6,
INCR = 7,
DECR = 8,
};
pub const D3D12_STENCIL_OP_KEEP = D3D12_STENCIL_OP.KEEP;
pub const D3D12_STENCIL_OP_ZERO = D3D12_STENCIL_OP.ZERO;
pub const D3D12_STENCIL_OP_REPLACE = D3D12_STENCIL_OP.REPLACE;
pub const D3D12_STENCIL_OP_INCR_SAT = D3D12_STENCIL_OP.INCR_SAT;
pub const D3D12_STENCIL_OP_DECR_SAT = D3D12_STENCIL_OP.DECR_SAT;
pub const D3D12_STENCIL_OP_INVERT = D3D12_STENCIL_OP.INVERT;
pub const D3D12_STENCIL_OP_INCR = D3D12_STENCIL_OP.INCR;
pub const D3D12_STENCIL_OP_DECR = D3D12_STENCIL_OP.DECR;
pub const D3D12_DEPTH_STENCILOP_DESC = extern struct {
StencilFailOp: D3D12_STENCIL_OP,
StencilDepthFailOp: D3D12_STENCIL_OP,
StencilPassOp: D3D12_STENCIL_OP,
StencilFunc: D3D12_COMPARISON_FUNC,
};
pub const D3D12_DEPTH_STENCIL_DESC = extern struct {
DepthEnable: BOOL,
DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
DepthFunc: D3D12_COMPARISON_FUNC,
StencilEnable: BOOL,
StencilReadMask: u8,
StencilWriteMask: u8,
FrontFace: D3D12_DEPTH_STENCILOP_DESC,
BackFace: D3D12_DEPTH_STENCILOP_DESC,
};
pub const D3D12_DEPTH_STENCIL_DESC1 = extern struct {
DepthEnable: BOOL,
DepthWriteMask: D3D12_DEPTH_WRITE_MASK,
DepthFunc: D3D12_COMPARISON_FUNC,
StencilEnable: BOOL,
StencilReadMask: u8,
StencilWriteMask: u8,
FrontFace: D3D12_DEPTH_STENCILOP_DESC,
BackFace: D3D12_DEPTH_STENCILOP_DESC,
DepthBoundsTestEnable: BOOL,
};
pub const D3D12_BLEND = enum(i32) {
ZERO = 1,
ONE = 2,
SRC_COLOR = 3,
INV_SRC_COLOR = 4,
SRC_ALPHA = 5,
INV_SRC_ALPHA = 6,
DEST_ALPHA = 7,
INV_DEST_ALPHA = 8,
DEST_COLOR = 9,
INV_DEST_COLOR = 10,
SRC_ALPHA_SAT = 11,
BLEND_FACTOR = 14,
INV_BLEND_FACTOR = 15,
SRC1_COLOR = 16,
INV_SRC1_COLOR = 17,
SRC1_ALPHA = 18,
INV_SRC1_ALPHA = 19,
};
pub const D3D12_BLEND_ZERO = D3D12_BLEND.ZERO;
pub const D3D12_BLEND_ONE = D3D12_BLEND.ONE;
pub const D3D12_BLEND_SRC_COLOR = D3D12_BLEND.SRC_COLOR;
pub const D3D12_BLEND_INV_SRC_COLOR = D3D12_BLEND.INV_SRC_COLOR;
pub const D3D12_BLEND_SRC_ALPHA = D3D12_BLEND.SRC_ALPHA;
pub const D3D12_BLEND_INV_SRC_ALPHA = D3D12_BLEND.INV_SRC_ALPHA;
pub const D3D12_BLEND_DEST_ALPHA = D3D12_BLEND.DEST_ALPHA;
pub const D3D12_BLEND_INV_DEST_ALPHA = D3D12_BLEND.INV_DEST_ALPHA;
pub const D3D12_BLEND_DEST_COLOR = D3D12_BLEND.DEST_COLOR;
pub const D3D12_BLEND_INV_DEST_COLOR = D3D12_BLEND.INV_DEST_COLOR;
pub const D3D12_BLEND_SRC_ALPHA_SAT = D3D12_BLEND.SRC_ALPHA_SAT;
pub const D3D12_BLEND_BLEND_FACTOR = D3D12_BLEND.BLEND_FACTOR;
pub const D3D12_BLEND_INV_BLEND_FACTOR = D3D12_BLEND.INV_BLEND_FACTOR;
pub const D3D12_BLEND_SRC1_COLOR = D3D12_BLEND.SRC1_COLOR;
pub const D3D12_BLEND_INV_SRC1_COLOR = D3D12_BLEND.INV_SRC1_COLOR;
pub const D3D12_BLEND_SRC1_ALPHA = D3D12_BLEND.SRC1_ALPHA;
pub const D3D12_BLEND_INV_SRC1_ALPHA = D3D12_BLEND.INV_SRC1_ALPHA;
pub const D3D12_BLEND_OP = enum(i32) {
ADD = 1,
SUBTRACT = 2,
REV_SUBTRACT = 3,
MIN = 4,
MAX = 5,
};
pub const D3D12_BLEND_OP_ADD = D3D12_BLEND_OP.ADD;
pub const D3D12_BLEND_OP_SUBTRACT = D3D12_BLEND_OP.SUBTRACT;
pub const D3D12_BLEND_OP_REV_SUBTRACT = D3D12_BLEND_OP.REV_SUBTRACT;
pub const D3D12_BLEND_OP_MIN = D3D12_BLEND_OP.MIN;
pub const D3D12_BLEND_OP_MAX = D3D12_BLEND_OP.MAX;
pub const D3D12_COLOR_WRITE_ENABLE = enum(i32) {
RED = 1,
GREEN = 2,
BLUE = 4,
ALPHA = 8,
ALL = 15,
};
pub const D3D12_COLOR_WRITE_ENABLE_RED = D3D12_COLOR_WRITE_ENABLE.RED;
pub const D3D12_COLOR_WRITE_ENABLE_GREEN = D3D12_COLOR_WRITE_ENABLE.GREEN;
pub const D3D12_COLOR_WRITE_ENABLE_BLUE = D3D12_COLOR_WRITE_ENABLE.BLUE;
pub const D3D12_COLOR_WRITE_ENABLE_ALPHA = D3D12_COLOR_WRITE_ENABLE.ALPHA;
pub const D3D12_COLOR_WRITE_ENABLE_ALL = D3D12_COLOR_WRITE_ENABLE.ALL;
pub const D3D12_LOGIC_OP = enum(i32) {
CLEAR = 0,
SET = 1,
COPY = 2,
COPY_INVERTED = 3,
NOOP = 4,
INVERT = 5,
AND = 6,
NAND = 7,
OR = 8,
NOR = 9,
XOR = 10,
EQUIV = 11,
AND_REVERSE = 12,
AND_INVERTED = 13,
OR_REVERSE = 14,
OR_INVERTED = 15,
};
pub const D3D12_LOGIC_OP_CLEAR = D3D12_LOGIC_OP.CLEAR;
pub const D3D12_LOGIC_OP_SET = D3D12_LOGIC_OP.SET;
pub const D3D12_LOGIC_OP_COPY = D3D12_LOGIC_OP.COPY;
pub const D3D12_LOGIC_OP_COPY_INVERTED = D3D12_LOGIC_OP.COPY_INVERTED;
pub const D3D12_LOGIC_OP_NOOP = D3D12_LOGIC_OP.NOOP;
pub const D3D12_LOGIC_OP_INVERT = D3D12_LOGIC_OP.INVERT;
pub const D3D12_LOGIC_OP_AND = D3D12_LOGIC_OP.AND;
pub const D3D12_LOGIC_OP_NAND = D3D12_LOGIC_OP.NAND;
pub const D3D12_LOGIC_OP_OR = D3D12_LOGIC_OP.OR;
pub const D3D12_LOGIC_OP_NOR = D3D12_LOGIC_OP.NOR;
pub const D3D12_LOGIC_OP_XOR = D3D12_LOGIC_OP.XOR;
pub const D3D12_LOGIC_OP_EQUIV = D3D12_LOGIC_OP.EQUIV;
pub const D3D12_LOGIC_OP_AND_REVERSE = D3D12_LOGIC_OP.AND_REVERSE;
pub const D3D12_LOGIC_OP_AND_INVERTED = D3D12_LOGIC_OP.AND_INVERTED;
pub const D3D12_LOGIC_OP_OR_REVERSE = D3D12_LOGIC_OP.OR_REVERSE;
pub const D3D12_LOGIC_OP_OR_INVERTED = D3D12_LOGIC_OP.OR_INVERTED;
pub const D3D12_RENDER_TARGET_BLEND_DESC = extern struct {
BlendEnable: BOOL,
LogicOpEnable: BOOL,
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: u8,
};
pub const D3D12_BLEND_DESC = extern struct {
AlphaToCoverageEnable: BOOL,
IndependentBlendEnable: BOOL,
RenderTarget: [8]D3D12_RENDER_TARGET_BLEND_DESC,
};
pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE = enum(i32) {
FF = 0,
N = 1,
};
pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = D3D12_CONSERVATIVE_RASTERIZATION_MODE.FF;
pub const D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = D3D12_CONSERVATIVE_RASTERIZATION_MODE.N;
pub const D3D12_RASTERIZER_DESC = extern struct {
FillMode: D3D12_FILL_MODE,
CullMode: D3D12_CULL_MODE,
FrontCounterClockwise: BOOL,
DepthBias: i32,
DepthBiasClamp: f32,
SlopeScaledDepthBias: f32,
DepthClipEnable: BOOL,
MultisampleEnable: BOOL,
AntialiasedLineEnable: BOOL,
ForcedSampleCount: u32,
ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Object_Value = Guid.initString("c4fec28f-7966-4e95-9f94-f431cb56c3b8");
pub const IID_ID3D12Object = &IID_ID3D12Object_Value;
pub const ID3D12Object = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetPrivateData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Object,
guid: ?*const Guid,
pDataSize: ?*u32,
// TODO: what to do with BytesParamIndex 1?
pData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Object,
guid: ?*const Guid,
pDataSize: ?*u32,
// TODO: what to do with BytesParamIndex 1?
pData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPrivateData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Object,
guid: ?*const Guid,
DataSize: u32,
// TODO: what to do with BytesParamIndex 1?
pData: ?*const anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Object,
guid: ?*const Guid,
DataSize: u32,
// TODO: what to do with BytesParamIndex 1?
pData: ?*const anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetPrivateDataInterface: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Object,
guid: ?*const Guid,
pData: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Object,
guid: ?*const Guid,
pData: ?*IUnknown,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Object,
Name: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Object,
Name: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Object_GetPrivateData(self: *const T, guid: ?*const Guid, pDataSize: ?*u32, pData: ?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Object.VTable, @ptrCast(self.vtable)).GetPrivateData(@as(*const ID3D12Object, @ptrCast(self)), guid, pDataSize, pData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Object_SetPrivateData(self: *const T, guid: ?*const Guid, DataSize: u32, pData: ?*const anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Object.VTable, @ptrCast(self.vtable)).SetPrivateData(@as(*const ID3D12Object, @ptrCast(self)), guid, DataSize, pData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Object_SetPrivateDataInterface(self: *const T, guid: ?*const Guid, pData: ?*IUnknown) callconv(.Inline) HRESULT {
return @as(*const ID3D12Object.VTable, @ptrCast(self.vtable)).SetPrivateDataInterface(@as(*const ID3D12Object, @ptrCast(self)), guid, pData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Object_SetName(self: *const T, Name: ?[*:0]const u16) callconv(.Inline) HRESULT {
return @as(*const ID3D12Object.VTable, @ptrCast(self.vtable)).SetName(@as(*const ID3D12Object, @ptrCast(self)), Name);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceChild_Value = Guid.initString("905db94b-a00c-4140-9df5-2b64ca9ea357");
pub const IID_ID3D12DeviceChild = &IID_ID3D12DeviceChild_Value;
pub const ID3D12DeviceChild = extern struct {
pub const VTable = extern struct {
base: ID3D12Object.VTable,
GetDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceChild,
riid: ?*const Guid,
ppvDevice: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceChild,
riid: ?*const Guid,
ppvDevice: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Object.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceChild_GetDevice(self: *const T, riid: ?*const Guid, ppvDevice: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceChild.VTable, @ptrCast(self.vtable)).GetDevice(@as(*const ID3D12DeviceChild, @ptrCast(self)), riid, ppvDevice);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12RootSignature_Value = Guid.initString("c54a6b66-72df-4ee8-8be5-a946a1429214");
pub const IID_ID3D12RootSignature = &IID_ID3D12RootSignature_Value;
pub const ID3D12RootSignature = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_SHADER_BYTECODE = extern struct {
pShaderBytecode: ?*const anyopaque,
BytecodeLength: usize,
};
pub const D3D12_STREAM_OUTPUT_DESC = extern struct {
pSODeclaration: ?*const D3D12_SO_DECLARATION_ENTRY,
NumEntries: u32,
pBufferStrides: ?*const u32,
NumStrides: u32,
RasterizedStream: u32,
};
pub const D3D12_INPUT_LAYOUT_DESC = extern struct {
pInputElementDescs: ?*const D3D12_INPUT_ELEMENT_DESC,
NumElements: u32,
};
pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE = enum(i32) {
DISABLED = 0,
@"0xFFFF" = 1,
@"0xFFFFFFFF" = 2,
};
pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.DISABLED;
pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.@"0xFFFF";
pub const D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = D3D12_INDEX_BUFFER_STRIP_CUT_VALUE.@"0xFFFFFFFF";
pub const D3D12_CACHED_PIPELINE_STATE = extern struct {
pCachedBlob: ?*const anyopaque,
CachedBlobSizeInBytes: usize,
};
pub const D3D12_PIPELINE_STATE_FLAGS = enum(u32) {
NONE = 0,
TOOL_DEBUG = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
TOOL_DEBUG: u1 = 0,
}) D3D12_PIPELINE_STATE_FLAGS {
return @as(D3D12_PIPELINE_STATE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_PIPELINE_STATE_FLAGS.NONE) else 0)
| (if (o.TOOL_DEBUG == 1) @intFromEnum(D3D12_PIPELINE_STATE_FLAGS.TOOL_DEBUG) else 0)
));
}
};
pub const D3D12_PIPELINE_STATE_FLAG_NONE = D3D12_PIPELINE_STATE_FLAGS.NONE;
pub const D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = D3D12_PIPELINE_STATE_FLAGS.TOOL_DEBUG;
pub const D3D12_GRAPHICS_PIPELINE_STATE_DESC = extern struct {
pRootSignature: ?*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: u32,
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: u32,
RTVFormats: [8]DXGI_FORMAT,
DSVFormat: DXGI_FORMAT,
SampleDesc: DXGI_SAMPLE_DESC,
NodeMask: u32,
CachedPSO: D3D12_CACHED_PIPELINE_STATE,
Flags: D3D12_PIPELINE_STATE_FLAGS,
};
pub const D3D12_COMPUTE_PIPELINE_STATE_DESC = extern struct {
pRootSignature: ?*ID3D12RootSignature,
CS: D3D12_SHADER_BYTECODE,
NodeMask: u32,
CachedPSO: D3D12_CACHED_PIPELINE_STATE,
Flags: D3D12_PIPELINE_STATE_FLAGS,
};
pub const D3D12_RT_FORMAT_ARRAY = extern struct {
RTFormats: [8]DXGI_FORMAT,
NumRenderTargets: u32,
};
pub const D3D12_PIPELINE_STATE_STREAM_DESC = extern struct {
SizeInBytes: usize,
pPipelineStateSubobjectStream: ?*anyopaque,
};
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE = enum(i32) {
ROOT_SIGNATURE = 0,
VS = 1,
PS = 2,
DS = 3,
HS = 4,
GS = 5,
CS = 6,
STREAM_OUTPUT = 7,
BLEND = 8,
SAMPLE_MASK = 9,
RASTERIZER = 10,
DEPTH_STENCIL = 11,
INPUT_LAYOUT = 12,
IB_STRIP_CUT_VALUE = 13,
PRIMITIVE_TOPOLOGY = 14,
RENDER_TARGET_FORMATS = 15,
DEPTH_STENCIL_FORMAT = 16,
SAMPLE_DESC = 17,
NODE_MASK = 18,
CACHED_PSO = 19,
FLAGS = 20,
DEPTH_STENCIL1 = 21,
VIEW_INSTANCING = 22,
AS = 24,
MS = 25,
MAX_VALID = 26,
};
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.ROOT_SIGNATURE;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.VS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.PS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.DS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.HS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.GS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.CS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.STREAM_OUTPUT;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.BLEND;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.SAMPLE_MASK;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.RASTERIZER;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.DEPTH_STENCIL;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.INPUT_LAYOUT;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.IB_STRIP_CUT_VALUE;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.PRIMITIVE_TOPOLOGY;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.RENDER_TARGET_FORMATS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.DEPTH_STENCIL_FORMAT;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.SAMPLE_DESC;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.NODE_MASK;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.CACHED_PSO;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.FLAGS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.DEPTH_STENCIL1;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.VIEW_INSTANCING;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.AS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.MS;
pub const D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = D3D12_PIPELINE_STATE_SUBOBJECT_TYPE.MAX_VALID;
pub const D3D12_FEATURE = enum(i32) {
D3D12_OPTIONS = 0,
ARCHITECTURE = 1,
FEATURE_LEVELS = 2,
FORMAT_SUPPORT = 3,
MULTISAMPLE_QUALITY_LEVELS = 4,
FORMAT_INFO = 5,
GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
SHADER_MODEL = 7,
D3D12_OPTIONS1 = 8,
PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
ROOT_SIGNATURE = 12,
ARCHITECTURE1 = 16,
D3D12_OPTIONS2 = 18,
SHADER_CACHE = 19,
COMMAND_QUEUE_PRIORITY = 20,
D3D12_OPTIONS3 = 21,
EXISTING_HEAPS = 22,
D3D12_OPTIONS4 = 23,
SERIALIZATION = 24,
CROSS_NODE = 25,
D3D12_OPTIONS5 = 27,
DISPLAYABLE = 28,
D3D12_OPTIONS6 = 30,
QUERY_META_COMMAND = 31,
D3D12_OPTIONS7 = 32,
PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
PROTECTED_RESOURCE_SESSION_TYPES = 34,
D3D12_OPTIONS8 = 36,
D3D12_OPTIONS9 = 37,
D3D12_OPTIONS10 = 39,
D3D12_OPTIONS11 = 40,
};
pub const D3D12_FEATURE_D3D12_OPTIONS = D3D12_FEATURE.D3D12_OPTIONS;
pub const D3D12_FEATURE_ARCHITECTURE = D3D12_FEATURE.ARCHITECTURE;
pub const D3D12_FEATURE_FEATURE_LEVELS = D3D12_FEATURE.FEATURE_LEVELS;
pub const D3D12_FEATURE_FORMAT_SUPPORT = D3D12_FEATURE.FORMAT_SUPPORT;
pub const D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = D3D12_FEATURE.MULTISAMPLE_QUALITY_LEVELS;
pub const D3D12_FEATURE_FORMAT_INFO = D3D12_FEATURE.FORMAT_INFO;
pub const D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = D3D12_FEATURE.GPU_VIRTUAL_ADDRESS_SUPPORT;
pub const D3D12_FEATURE_SHADER_MODEL = D3D12_FEATURE.SHADER_MODEL;
pub const D3D12_FEATURE_D3D12_OPTIONS1 = D3D12_FEATURE.D3D12_OPTIONS1;
pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = D3D12_FEATURE.PROTECTED_RESOURCE_SESSION_SUPPORT;
pub const D3D12_FEATURE_ROOT_SIGNATURE = D3D12_FEATURE.ROOT_SIGNATURE;
pub const D3D12_FEATURE_ARCHITECTURE1 = D3D12_FEATURE.ARCHITECTURE1;
pub const D3D12_FEATURE_D3D12_OPTIONS2 = D3D12_FEATURE.D3D12_OPTIONS2;
pub const D3D12_FEATURE_SHADER_CACHE = D3D12_FEATURE.SHADER_CACHE;
pub const D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = D3D12_FEATURE.COMMAND_QUEUE_PRIORITY;
pub const D3D12_FEATURE_D3D12_OPTIONS3 = D3D12_FEATURE.D3D12_OPTIONS3;
pub const D3D12_FEATURE_EXISTING_HEAPS = D3D12_FEATURE.EXISTING_HEAPS;
pub const D3D12_FEATURE_D3D12_OPTIONS4 = D3D12_FEATURE.D3D12_OPTIONS4;
pub const D3D12_FEATURE_SERIALIZATION = D3D12_FEATURE.SERIALIZATION;
pub const D3D12_FEATURE_CROSS_NODE = D3D12_FEATURE.CROSS_NODE;
pub const D3D12_FEATURE_D3D12_OPTIONS5 = D3D12_FEATURE.D3D12_OPTIONS5;
pub const D3D12_FEATURE_DISPLAYABLE = D3D12_FEATURE.DISPLAYABLE;
pub const D3D12_FEATURE_D3D12_OPTIONS6 = D3D12_FEATURE.D3D12_OPTIONS6;
pub const D3D12_FEATURE_QUERY_META_COMMAND = D3D12_FEATURE.QUERY_META_COMMAND;
pub const D3D12_FEATURE_D3D12_OPTIONS7 = D3D12_FEATURE.D3D12_OPTIONS7;
pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = D3D12_FEATURE.PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
pub const D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = D3D12_FEATURE.PROTECTED_RESOURCE_SESSION_TYPES;
pub const D3D12_FEATURE_D3D12_OPTIONS8 = D3D12_FEATURE.D3D12_OPTIONS8;
pub const D3D12_FEATURE_D3D12_OPTIONS9 = D3D12_FEATURE.D3D12_OPTIONS9;
pub const D3D12_FEATURE_D3D12_OPTIONS10 = D3D12_FEATURE.D3D12_OPTIONS10;
pub const D3D12_FEATURE_D3D12_OPTIONS11 = D3D12_FEATURE.D3D12_OPTIONS11;
pub const D3D12_SHADER_MIN_PRECISION_SUPPORT = enum(u32) {
NONE = 0,
@"10_BIT" = 1,
@"16_BIT" = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
@"10_BIT": u1 = 0,
@"16_BIT": u1 = 0,
}) D3D12_SHADER_MIN_PRECISION_SUPPORT {
return @as(D3D12_SHADER_MIN_PRECISION_SUPPORT, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_SHADER_MIN_PRECISION_SUPPORT.NONE) else 0)
| (if (o.@"10_BIT" == 1) @intFromEnum(D3D12_SHADER_MIN_PRECISION_SUPPORT.@"10_BIT") else 0)
| (if (o.@"16_BIT" == 1) @intFromEnum(D3D12_SHADER_MIN_PRECISION_SUPPORT.@"16_BIT") else 0)
));
}
};
pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = D3D12_SHADER_MIN_PRECISION_SUPPORT.NONE;
pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = D3D12_SHADER_MIN_PRECISION_SUPPORT.@"10_BIT";
pub const D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = D3D12_SHADER_MIN_PRECISION_SUPPORT.@"16_BIT";
pub const D3D12_TILED_RESOURCES_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 1,
@"2" = 2,
@"3" = 3,
@"4" = 4,
};
pub const D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = D3D12_TILED_RESOURCES_TIER.NOT_SUPPORTED;
pub const D3D12_TILED_RESOURCES_TIER_1 = D3D12_TILED_RESOURCES_TIER.@"1";
pub const D3D12_TILED_RESOURCES_TIER_2 = D3D12_TILED_RESOURCES_TIER.@"2";
pub const D3D12_TILED_RESOURCES_TIER_3 = D3D12_TILED_RESOURCES_TIER.@"3";
pub const D3D12_TILED_RESOURCES_TIER_4 = D3D12_TILED_RESOURCES_TIER.@"4";
pub const D3D12_RESOURCE_BINDING_TIER = enum(i32) {
@"1" = 1,
@"2" = 2,
@"3" = 3,
};
pub const D3D12_RESOURCE_BINDING_TIER_1 = D3D12_RESOURCE_BINDING_TIER.@"1";
pub const D3D12_RESOURCE_BINDING_TIER_2 = D3D12_RESOURCE_BINDING_TIER.@"2";
pub const D3D12_RESOURCE_BINDING_TIER_3 = D3D12_RESOURCE_BINDING_TIER.@"3";
pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 1,
@"2" = 2,
@"3" = 3,
};
pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = D3D12_CONSERVATIVE_RASTERIZATION_TIER.NOT_SUPPORTED;
pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = D3D12_CONSERVATIVE_RASTERIZATION_TIER.@"1";
pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = D3D12_CONSERVATIVE_RASTERIZATION_TIER.@"2";
pub const D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = D3D12_CONSERVATIVE_RASTERIZATION_TIER.@"3";
pub const D3D12_FORMAT_SUPPORT1 = enum(u32) {
NONE = 0,
BUFFER = 1,
IA_VERTEX_BUFFER = 2,
IA_INDEX_BUFFER = 4,
SO_BUFFER = 8,
TEXTURE1D = 16,
TEXTURE2D = 32,
TEXTURE3D = 64,
TEXTURECUBE = 128,
SHADER_LOAD = 256,
SHADER_SAMPLE = 512,
SHADER_SAMPLE_COMPARISON = 1024,
SHADER_SAMPLE_MONO_TEXT = 2048,
MIP = 4096,
RENDER_TARGET = 16384,
BLENDABLE = 32768,
DEPTH_STENCIL = 65536,
MULTISAMPLE_RESOLVE = 262144,
DISPLAY = 524288,
CAST_WITHIN_BIT_LAYOUT = 1048576,
MULTISAMPLE_RENDERTARGET = 2097152,
MULTISAMPLE_LOAD = 4194304,
SHADER_GATHER = 8388608,
BACK_BUFFER_CAST = 16777216,
TYPED_UNORDERED_ACCESS_VIEW = 33554432,
SHADER_GATHER_COMPARISON = 67108864,
DECODER_OUTPUT = 134217728,
VIDEO_PROCESSOR_OUTPUT = 268435456,
VIDEO_PROCESSOR_INPUT = 536870912,
VIDEO_ENCODER = 1073741824,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
BUFFER: u1 = 0,
IA_VERTEX_BUFFER: u1 = 0,
IA_INDEX_BUFFER: u1 = 0,
SO_BUFFER: u1 = 0,
TEXTURE1D: u1 = 0,
TEXTURE2D: u1 = 0,
TEXTURE3D: u1 = 0,
TEXTURECUBE: u1 = 0,
SHADER_LOAD: u1 = 0,
SHADER_SAMPLE: u1 = 0,
SHADER_SAMPLE_COMPARISON: u1 = 0,
SHADER_SAMPLE_MONO_TEXT: u1 = 0,
MIP: u1 = 0,
RENDER_TARGET: u1 = 0,
BLENDABLE: u1 = 0,
DEPTH_STENCIL: u1 = 0,
MULTISAMPLE_RESOLVE: u1 = 0,
DISPLAY: u1 = 0,
CAST_WITHIN_BIT_LAYOUT: u1 = 0,
MULTISAMPLE_RENDERTARGET: u1 = 0,
MULTISAMPLE_LOAD: u1 = 0,
SHADER_GATHER: u1 = 0,
BACK_BUFFER_CAST: u1 = 0,
TYPED_UNORDERED_ACCESS_VIEW: u1 = 0,
SHADER_GATHER_COMPARISON: u1 = 0,
DECODER_OUTPUT: u1 = 0,
VIDEO_PROCESSOR_OUTPUT: u1 = 0,
VIDEO_PROCESSOR_INPUT: u1 = 0,
VIDEO_ENCODER: u1 = 0,
}) D3D12_FORMAT_SUPPORT1 {
return @as(D3D12_FORMAT_SUPPORT1, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.NONE) else 0)
| (if (o.BUFFER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.BUFFER) else 0)
| (if (o.IA_VERTEX_BUFFER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.IA_VERTEX_BUFFER) else 0)
| (if (o.IA_INDEX_BUFFER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.IA_INDEX_BUFFER) else 0)
| (if (o.SO_BUFFER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SO_BUFFER) else 0)
| (if (o.TEXTURE1D == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.TEXTURE1D) else 0)
| (if (o.TEXTURE2D == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.TEXTURE2D) else 0)
| (if (o.TEXTURE3D == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.TEXTURE3D) else 0)
| (if (o.TEXTURECUBE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.TEXTURECUBE) else 0)
| (if (o.SHADER_LOAD == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_LOAD) else 0)
| (if (o.SHADER_SAMPLE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE) else 0)
| (if (o.SHADER_SAMPLE_COMPARISON == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE_COMPARISON) else 0)
| (if (o.SHADER_SAMPLE_MONO_TEXT == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE_MONO_TEXT) else 0)
| (if (o.MIP == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.MIP) else 0)
| (if (o.RENDER_TARGET == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.RENDER_TARGET) else 0)
| (if (o.BLENDABLE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.BLENDABLE) else 0)
| (if (o.DEPTH_STENCIL == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.DEPTH_STENCIL) else 0)
| (if (o.MULTISAMPLE_RESOLVE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.MULTISAMPLE_RESOLVE) else 0)
| (if (o.DISPLAY == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.DISPLAY) else 0)
| (if (o.CAST_WITHIN_BIT_LAYOUT == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.CAST_WITHIN_BIT_LAYOUT) else 0)
| (if (o.MULTISAMPLE_RENDERTARGET == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.MULTISAMPLE_RENDERTARGET) else 0)
| (if (o.MULTISAMPLE_LOAD == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.MULTISAMPLE_LOAD) else 0)
| (if (o.SHADER_GATHER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_GATHER) else 0)
| (if (o.BACK_BUFFER_CAST == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.BACK_BUFFER_CAST) else 0)
| (if (o.TYPED_UNORDERED_ACCESS_VIEW == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.TYPED_UNORDERED_ACCESS_VIEW) else 0)
| (if (o.SHADER_GATHER_COMPARISON == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.SHADER_GATHER_COMPARISON) else 0)
| (if (o.DECODER_OUTPUT == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.DECODER_OUTPUT) else 0)
| (if (o.VIDEO_PROCESSOR_OUTPUT == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.VIDEO_PROCESSOR_OUTPUT) else 0)
| (if (o.VIDEO_PROCESSOR_INPUT == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.VIDEO_PROCESSOR_INPUT) else 0)
| (if (o.VIDEO_ENCODER == 1) @intFromEnum(D3D12_FORMAT_SUPPORT1.VIDEO_ENCODER) else 0)
));
}
};
pub const D3D12_FORMAT_SUPPORT1_NONE = D3D12_FORMAT_SUPPORT1.NONE;
pub const D3D12_FORMAT_SUPPORT1_BUFFER = D3D12_FORMAT_SUPPORT1.BUFFER;
pub const D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = D3D12_FORMAT_SUPPORT1.IA_VERTEX_BUFFER;
pub const D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = D3D12_FORMAT_SUPPORT1.IA_INDEX_BUFFER;
pub const D3D12_FORMAT_SUPPORT1_SO_BUFFER = D3D12_FORMAT_SUPPORT1.SO_BUFFER;
pub const D3D12_FORMAT_SUPPORT1_TEXTURE1D = D3D12_FORMAT_SUPPORT1.TEXTURE1D;
pub const D3D12_FORMAT_SUPPORT1_TEXTURE2D = D3D12_FORMAT_SUPPORT1.TEXTURE2D;
pub const D3D12_FORMAT_SUPPORT1_TEXTURE3D = D3D12_FORMAT_SUPPORT1.TEXTURE3D;
pub const D3D12_FORMAT_SUPPORT1_TEXTURECUBE = D3D12_FORMAT_SUPPORT1.TEXTURECUBE;
pub const D3D12_FORMAT_SUPPORT1_SHADER_LOAD = D3D12_FORMAT_SUPPORT1.SHADER_LOAD;
pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE;
pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE_COMPARISON;
pub const D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = D3D12_FORMAT_SUPPORT1.SHADER_SAMPLE_MONO_TEXT;
pub const D3D12_FORMAT_SUPPORT1_MIP = D3D12_FORMAT_SUPPORT1.MIP;
pub const D3D12_FORMAT_SUPPORT1_RENDER_TARGET = D3D12_FORMAT_SUPPORT1.RENDER_TARGET;
pub const D3D12_FORMAT_SUPPORT1_BLENDABLE = D3D12_FORMAT_SUPPORT1.BLENDABLE;
pub const D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = D3D12_FORMAT_SUPPORT1.DEPTH_STENCIL;
pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = D3D12_FORMAT_SUPPORT1.MULTISAMPLE_RESOLVE;
pub const D3D12_FORMAT_SUPPORT1_DISPLAY = D3D12_FORMAT_SUPPORT1.DISPLAY;
pub const D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = D3D12_FORMAT_SUPPORT1.CAST_WITHIN_BIT_LAYOUT;
pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = D3D12_FORMAT_SUPPORT1.MULTISAMPLE_RENDERTARGET;
pub const D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = D3D12_FORMAT_SUPPORT1.MULTISAMPLE_LOAD;
pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER = D3D12_FORMAT_SUPPORT1.SHADER_GATHER;
pub const D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = D3D12_FORMAT_SUPPORT1.BACK_BUFFER_CAST;
pub const D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = D3D12_FORMAT_SUPPORT1.TYPED_UNORDERED_ACCESS_VIEW;
pub const D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = D3D12_FORMAT_SUPPORT1.SHADER_GATHER_COMPARISON;
pub const D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = D3D12_FORMAT_SUPPORT1.DECODER_OUTPUT;
pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = D3D12_FORMAT_SUPPORT1.VIDEO_PROCESSOR_OUTPUT;
pub const D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = D3D12_FORMAT_SUPPORT1.VIDEO_PROCESSOR_INPUT;
pub const D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = D3D12_FORMAT_SUPPORT1.VIDEO_ENCODER;
pub const D3D12_FORMAT_SUPPORT2 = enum(u32) {
NONE = 0,
UAV_ATOMIC_ADD = 1,
UAV_ATOMIC_BITWISE_OPS = 2,
UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 4,
UAV_ATOMIC_EXCHANGE = 8,
UAV_ATOMIC_SIGNED_MIN_OR_MAX = 16,
UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 32,
UAV_TYPED_LOAD = 64,
UAV_TYPED_STORE = 128,
OUTPUT_MERGER_LOGIC_OP = 256,
TILED = 512,
MULTIPLANE_OVERLAY = 16384,
SAMPLER_FEEDBACK = 32768,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
UAV_ATOMIC_ADD: u1 = 0,
UAV_ATOMIC_BITWISE_OPS: u1 = 0,
UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE: u1 = 0,
UAV_ATOMIC_EXCHANGE: u1 = 0,
UAV_ATOMIC_SIGNED_MIN_OR_MAX: u1 = 0,
UAV_ATOMIC_UNSIGNED_MIN_OR_MAX: u1 = 0,
UAV_TYPED_LOAD: u1 = 0,
UAV_TYPED_STORE: u1 = 0,
OUTPUT_MERGER_LOGIC_OP: u1 = 0,
TILED: u1 = 0,
MULTIPLANE_OVERLAY: u1 = 0,
SAMPLER_FEEDBACK: u1 = 0,
}) D3D12_FORMAT_SUPPORT2 {
return @as(D3D12_FORMAT_SUPPORT2, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.NONE) else 0)
| (if (o.UAV_ATOMIC_ADD == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_ADD) else 0)
| (if (o.UAV_ATOMIC_BITWISE_OPS == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_BITWISE_OPS) else 0)
| (if (o.UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE) else 0)
| (if (o.UAV_ATOMIC_EXCHANGE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_EXCHANGE) else 0)
| (if (o.UAV_ATOMIC_SIGNED_MIN_OR_MAX == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_SIGNED_MIN_OR_MAX) else 0)
| (if (o.UAV_ATOMIC_UNSIGNED_MIN_OR_MAX == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_UNSIGNED_MIN_OR_MAX) else 0)
| (if (o.UAV_TYPED_LOAD == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_TYPED_LOAD) else 0)
| (if (o.UAV_TYPED_STORE == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.UAV_TYPED_STORE) else 0)
| (if (o.OUTPUT_MERGER_LOGIC_OP == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.OUTPUT_MERGER_LOGIC_OP) else 0)
| (if (o.TILED == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.TILED) else 0)
| (if (o.MULTIPLANE_OVERLAY == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.MULTIPLANE_OVERLAY) else 0)
| (if (o.SAMPLER_FEEDBACK == 1) @intFromEnum(D3D12_FORMAT_SUPPORT2.SAMPLER_FEEDBACK) else 0)
));
}
};
pub const D3D12_FORMAT_SUPPORT2_NONE = D3D12_FORMAT_SUPPORT2.NONE;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_ADD;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_BITWISE_OPS;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_EXCHANGE;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_SIGNED_MIN_OR_MAX;
pub const D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = D3D12_FORMAT_SUPPORT2.UAV_ATOMIC_UNSIGNED_MIN_OR_MAX;
pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = D3D12_FORMAT_SUPPORT2.UAV_TYPED_LOAD;
pub const D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = D3D12_FORMAT_SUPPORT2.UAV_TYPED_STORE;
pub const D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = D3D12_FORMAT_SUPPORT2.OUTPUT_MERGER_LOGIC_OP;
pub const D3D12_FORMAT_SUPPORT2_TILED = D3D12_FORMAT_SUPPORT2.TILED;
pub const D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = D3D12_FORMAT_SUPPORT2.MULTIPLANE_OVERLAY;
pub const D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = D3D12_FORMAT_SUPPORT2.SAMPLER_FEEDBACK;
pub const D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS = enum(u32) {
NONE = 0,
TILED_RESOURCE = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
TILED_RESOURCE: u1 = 0,
}) D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
return @as(D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.NONE) else 0)
| (if (o.TILED_RESOURCE == 1) @intFromEnum(D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.TILED_RESOURCE) else 0)
));
}
};
pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.NONE;
pub const D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.TILED_RESOURCE;
pub const D3D12_CROSS_NODE_SHARING_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1_EMULATED" = 1,
@"1" = 2,
@"2" = 3,
@"3" = 4,
};
pub const D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = D3D12_CROSS_NODE_SHARING_TIER.NOT_SUPPORTED;
pub const D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = D3D12_CROSS_NODE_SHARING_TIER.@"1_EMULATED";
pub const D3D12_CROSS_NODE_SHARING_TIER_1 = D3D12_CROSS_NODE_SHARING_TIER.@"1";
pub const D3D12_CROSS_NODE_SHARING_TIER_2 = D3D12_CROSS_NODE_SHARING_TIER.@"2";
pub const D3D12_CROSS_NODE_SHARING_TIER_3 = D3D12_CROSS_NODE_SHARING_TIER.@"3";
pub const D3D12_RESOURCE_HEAP_TIER = enum(i32) {
@"1" = 1,
@"2" = 2,
};
pub const D3D12_RESOURCE_HEAP_TIER_1 = D3D12_RESOURCE_HEAP_TIER.@"1";
pub const D3D12_RESOURCE_HEAP_TIER_2 = D3D12_RESOURCE_HEAP_TIER.@"2";
pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 1,
@"2" = 2,
};
pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.NOT_SUPPORTED;
pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.@"1";
pub const D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER.@"2";
pub const D3D12_VIEW_INSTANCING_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 1,
@"2" = 2,
@"3" = 3,
};
pub const D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = D3D12_VIEW_INSTANCING_TIER.NOT_SUPPORTED;
pub const D3D12_VIEW_INSTANCING_TIER_1 = D3D12_VIEW_INSTANCING_TIER.@"1";
pub const D3D12_VIEW_INSTANCING_TIER_2 = D3D12_VIEW_INSTANCING_TIER.@"2";
pub const D3D12_VIEW_INSTANCING_TIER_3 = D3D12_VIEW_INSTANCING_TIER.@"3";
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS = extern struct {
DoublePrecisionFloatShaderOps: BOOL,
OutputMergerLogicOp: BOOL,
MinPrecisionSupport: D3D12_SHADER_MIN_PRECISION_SUPPORT,
TiledResourcesTier: D3D12_TILED_RESOURCES_TIER,
ResourceBindingTier: D3D12_RESOURCE_BINDING_TIER,
PSSpecifiedStencilRefSupported: BOOL,
TypedUAVLoadAdditionalFormats: BOOL,
ROVsSupported: BOOL,
ConservativeRasterizationTier: D3D12_CONSERVATIVE_RASTERIZATION_TIER,
MaxGPUVirtualAddressBitsPerResource: u32,
StandardSwizzle64KBSupported: BOOL,
CrossNodeSharingTier: D3D12_CROSS_NODE_SHARING_TIER,
CrossAdapterRowMajorTextureSupported: BOOL,
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation: BOOL,
ResourceHeapTier: D3D12_RESOURCE_HEAP_TIER,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS1 = extern struct {
WaveOps: BOOL,
WaveLaneCountMin: u32,
WaveLaneCountMax: u32,
TotalLaneCount: u32,
ExpandedComputeResourceStates: BOOL,
Int64ShaderOps: BOOL,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS2 = extern struct {
DepthBoundsTestSupported: BOOL,
ProgrammableSamplePositionsTier: D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER,
};
pub const D3D_ROOT_SIGNATURE_VERSION = enum(i32) {
@"1" = 1,
// _0 = 1, this enum value conflicts with @"1"
_1 = 2,
};
pub const D3D_ROOT_SIGNATURE_VERSION_1 = D3D_ROOT_SIGNATURE_VERSION.@"1";
pub const D3D_ROOT_SIGNATURE_VERSION_1_0 = D3D_ROOT_SIGNATURE_VERSION.@"1";
pub const D3D_ROOT_SIGNATURE_VERSION_1_1 = D3D_ROOT_SIGNATURE_VERSION._1;
pub const D3D12_FEATURE_DATA_ROOT_SIGNATURE = extern struct {
HighestVersion: D3D_ROOT_SIGNATURE_VERSION,
};
pub const D3D12_FEATURE_DATA_ARCHITECTURE = extern struct {
NodeIndex: u32,
TileBasedRenderer: BOOL,
UMA: BOOL,
CacheCoherentUMA: BOOL,
};
pub const D3D12_FEATURE_DATA_ARCHITECTURE1 = extern struct {
NodeIndex: u32,
TileBasedRenderer: BOOL,
UMA: BOOL,
CacheCoherentUMA: BOOL,
IsolatedMMU: BOOL,
};
pub const D3D12_FEATURE_DATA_FEATURE_LEVELS = extern struct {
NumFeatureLevels: u32,
pFeatureLevelsRequested: ?*const D3D_FEATURE_LEVEL,
MaxSupportedFeatureLevel: D3D_FEATURE_LEVEL,
};
pub const D3D_SHADER_MODEL = enum(i32) {
@"5_1" = 81,
@"6_0" = 96,
@"6_1" = 97,
@"6_2" = 98,
@"6_3" = 99,
@"6_4" = 100,
@"6_5" = 101,
@"6_6" = 102,
@"6_7" = 103,
};
pub const D3D_SHADER_MODEL_5_1 = D3D_SHADER_MODEL.@"5_1";
pub const D3D_SHADER_MODEL_6_0 = D3D_SHADER_MODEL.@"6_0";
pub const D3D_SHADER_MODEL_6_1 = D3D_SHADER_MODEL.@"6_1";
pub const D3D_SHADER_MODEL_6_2 = D3D_SHADER_MODEL.@"6_2";
pub const D3D_SHADER_MODEL_6_3 = D3D_SHADER_MODEL.@"6_3";
pub const D3D_SHADER_MODEL_6_4 = D3D_SHADER_MODEL.@"6_4";
pub const D3D_SHADER_MODEL_6_5 = D3D_SHADER_MODEL.@"6_5";
pub const D3D_SHADER_MODEL_6_6 = D3D_SHADER_MODEL.@"6_6";
pub const D3D_SHADER_MODEL_6_7 = D3D_SHADER_MODEL.@"6_7";
pub const D3D12_FEATURE_DATA_SHADER_MODEL = extern struct {
HighestShaderModel: D3D_SHADER_MODEL,
};
pub const D3D12_FEATURE_DATA_FORMAT_SUPPORT = extern struct {
Format: DXGI_FORMAT,
Support1: D3D12_FORMAT_SUPPORT1,
Support2: D3D12_FORMAT_SUPPORT2,
};
pub const D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS = extern struct {
Format: DXGI_FORMAT,
SampleCount: u32,
Flags: D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS,
NumQualityLevels: u32,
};
pub const D3D12_FEATURE_DATA_FORMAT_INFO = extern struct {
Format: DXGI_FORMAT,
PlaneCount: u8,
};
pub const D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT = extern struct {
MaxGPUVirtualAddressBitsPerResource: u32,
MaxGPUVirtualAddressBitsPerProcess: u32,
};
pub const D3D12_SHADER_CACHE_SUPPORT_FLAGS = enum(u32) {
NONE = 0,
SINGLE_PSO = 1,
LIBRARY = 2,
AUTOMATIC_INPROC_CACHE = 4,
AUTOMATIC_DISK_CACHE = 8,
DRIVER_MANAGED_CACHE = 16,
SHADER_CONTROL_CLEAR = 32,
SHADER_SESSION_DELETE = 64,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SINGLE_PSO: u1 = 0,
LIBRARY: u1 = 0,
AUTOMATIC_INPROC_CACHE: u1 = 0,
AUTOMATIC_DISK_CACHE: u1 = 0,
DRIVER_MANAGED_CACHE: u1 = 0,
SHADER_CONTROL_CLEAR: u1 = 0,
SHADER_SESSION_DELETE: u1 = 0,
}) D3D12_SHADER_CACHE_SUPPORT_FLAGS {
return @as(D3D12_SHADER_CACHE_SUPPORT_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.NONE) else 0)
| (if (o.SINGLE_PSO == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.SINGLE_PSO) else 0)
| (if (o.LIBRARY == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.LIBRARY) else 0)
| (if (o.AUTOMATIC_INPROC_CACHE == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.AUTOMATIC_INPROC_CACHE) else 0)
| (if (o.AUTOMATIC_DISK_CACHE == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.AUTOMATIC_DISK_CACHE) else 0)
| (if (o.DRIVER_MANAGED_CACHE == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.DRIVER_MANAGED_CACHE) else 0)
| (if (o.SHADER_CONTROL_CLEAR == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.SHADER_CONTROL_CLEAR) else 0)
| (if (o.SHADER_SESSION_DELETE == 1) @intFromEnum(D3D12_SHADER_CACHE_SUPPORT_FLAGS.SHADER_SESSION_DELETE) else 0)
));
}
};
pub const D3D12_SHADER_CACHE_SUPPORT_NONE = D3D12_SHADER_CACHE_SUPPORT_FLAGS.NONE;
pub const D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = D3D12_SHADER_CACHE_SUPPORT_FLAGS.SINGLE_PSO;
pub const D3D12_SHADER_CACHE_SUPPORT_LIBRARY = D3D12_SHADER_CACHE_SUPPORT_FLAGS.LIBRARY;
pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = D3D12_SHADER_CACHE_SUPPORT_FLAGS.AUTOMATIC_INPROC_CACHE;
pub const D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = D3D12_SHADER_CACHE_SUPPORT_FLAGS.AUTOMATIC_DISK_CACHE;
pub const D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = D3D12_SHADER_CACHE_SUPPORT_FLAGS.DRIVER_MANAGED_CACHE;
pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = D3D12_SHADER_CACHE_SUPPORT_FLAGS.SHADER_CONTROL_CLEAR;
pub const D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = D3D12_SHADER_CACHE_SUPPORT_FLAGS.SHADER_SESSION_DELETE;
pub const D3D12_FEATURE_DATA_SHADER_CACHE = extern struct {
SupportFlags: D3D12_SHADER_CACHE_SUPPORT_FLAGS,
};
pub const D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY = extern struct {
CommandListType: D3D12_COMMAND_LIST_TYPE,
Priority: u32,
PriorityForTypeIsSupported: BOOL,
};
pub const D3D12_COMMAND_LIST_SUPPORT_FLAGS = enum(u32) {
NONE = 0,
DIRECT = 1,
BUNDLE = 2,
COMPUTE = 4,
COPY = 8,
VIDEO_DECODE = 16,
VIDEO_PROCESS = 32,
VIDEO_ENCODE = 64,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DIRECT: u1 = 0,
BUNDLE: u1 = 0,
COMPUTE: u1 = 0,
COPY: u1 = 0,
VIDEO_DECODE: u1 = 0,
VIDEO_PROCESS: u1 = 0,
VIDEO_ENCODE: u1 = 0,
}) D3D12_COMMAND_LIST_SUPPORT_FLAGS {
return @as(D3D12_COMMAND_LIST_SUPPORT_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.NONE) else 0)
| (if (o.DIRECT == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.DIRECT) else 0)
| (if (o.BUNDLE == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.BUNDLE) else 0)
| (if (o.COMPUTE == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.COMPUTE) else 0)
| (if (o.COPY == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.COPY) else 0)
| (if (o.VIDEO_DECODE == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_DECODE) else 0)
| (if (o.VIDEO_PROCESS == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_PROCESS) else 0)
| (if (o.VIDEO_ENCODE == 1) @intFromEnum(D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_ENCODE) else 0)
));
}
};
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = D3D12_COMMAND_LIST_SUPPORT_FLAGS.NONE;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = D3D12_COMMAND_LIST_SUPPORT_FLAGS.DIRECT;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = D3D12_COMMAND_LIST_SUPPORT_FLAGS.BUNDLE;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = D3D12_COMMAND_LIST_SUPPORT_FLAGS.COMPUTE;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = D3D12_COMMAND_LIST_SUPPORT_FLAGS.COPY;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_DECODE;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_PROCESS;
pub const D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = D3D12_COMMAND_LIST_SUPPORT_FLAGS.VIDEO_ENCODE;
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS3 = extern struct {
CopyQueueTimestampQueriesSupported: BOOL,
CastingFullyTypedFormatSupported: BOOL,
WriteBufferImmediateSupportFlags: D3D12_COMMAND_LIST_SUPPORT_FLAGS,
ViewInstancingTier: D3D12_VIEW_INSTANCING_TIER,
BarycentricsSupported: BOOL,
};
pub const D3D12_FEATURE_DATA_EXISTING_HEAPS = extern struct {
Supported: BOOL,
};
pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER = enum(i32) {
@"0" = 0,
@"1" = 1,
@"2" = 2,
};
pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.@"0";
pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.@"1";
pub const D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER.@"2";
pub const D3D12_FEATURE_DATA_DISPLAYABLE = extern struct {
DisplayableTexture: BOOL,
SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS4 = extern struct {
MSAA64KBAlignedTextureSupported: BOOL,
SharedResourceCompatibilityTier: D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER,
Native16BitShaderOpsSupported: BOOL,
};
pub const D3D12_HEAP_SERIALIZATION_TIER = enum(i32) {
@"0" = 0,
@"10" = 10,
};
pub const D3D12_HEAP_SERIALIZATION_TIER_0 = D3D12_HEAP_SERIALIZATION_TIER.@"0";
pub const D3D12_HEAP_SERIALIZATION_TIER_10 = D3D12_HEAP_SERIALIZATION_TIER.@"10";
pub const D3D12_FEATURE_DATA_SERIALIZATION = extern struct {
NodeIndex: u32,
HeapSerializationTier: D3D12_HEAP_SERIALIZATION_TIER,
};
pub const D3D12_FEATURE_DATA_CROSS_NODE = extern struct {
SharingTier: D3D12_CROSS_NODE_SHARING_TIER,
AtomicShaderInstructions: BOOL,
};
pub const D3D12_RENDER_PASS_TIER = enum(i32) {
@"0" = 0,
@"1" = 1,
@"2" = 2,
};
pub const D3D12_RENDER_PASS_TIER_0 = D3D12_RENDER_PASS_TIER.@"0";
pub const D3D12_RENDER_PASS_TIER_1 = D3D12_RENDER_PASS_TIER.@"1";
pub const D3D12_RENDER_PASS_TIER_2 = D3D12_RENDER_PASS_TIER.@"2";
pub const D3D12_RAYTRACING_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1_0" = 10,
@"1_1" = 11,
};
pub const D3D12_RAYTRACING_TIER_NOT_SUPPORTED = D3D12_RAYTRACING_TIER.NOT_SUPPORTED;
pub const D3D12_RAYTRACING_TIER_1_0 = D3D12_RAYTRACING_TIER.@"1_0";
pub const D3D12_RAYTRACING_TIER_1_1 = D3D12_RAYTRACING_TIER.@"1_1";
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS5 = extern struct {
SRVOnlyTiledResourceTier3: BOOL,
RenderPassesTier: D3D12_RENDER_PASS_TIER,
RaytracingTier: D3D12_RAYTRACING_TIER,
};
pub const D3D12_VARIABLE_SHADING_RATE_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 1,
@"2" = 2,
};
pub const D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = D3D12_VARIABLE_SHADING_RATE_TIER.NOT_SUPPORTED;
pub const D3D12_VARIABLE_SHADING_RATE_TIER_1 = D3D12_VARIABLE_SHADING_RATE_TIER.@"1";
pub const D3D12_VARIABLE_SHADING_RATE_TIER_2 = D3D12_VARIABLE_SHADING_RATE_TIER.@"2";
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS6 = extern struct {
AdditionalShadingRatesSupported: BOOL,
PerPrimitiveShadingRateSupportedWithViewportIndexing: BOOL,
VariableShadingRateTier: D3D12_VARIABLE_SHADING_RATE_TIER,
ShadingRateImageTileSize: u32,
BackgroundProcessingSupported: BOOL,
};
pub const D3D12_MESH_SHADER_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1" = 10,
};
pub const D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = D3D12_MESH_SHADER_TIER.NOT_SUPPORTED;
pub const D3D12_MESH_SHADER_TIER_1 = D3D12_MESH_SHADER_TIER.@"1";
pub const D3D12_SAMPLER_FEEDBACK_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"0_9" = 90,
@"1_0" = 100,
};
pub const D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = D3D12_SAMPLER_FEEDBACK_TIER.NOT_SUPPORTED;
pub const D3D12_SAMPLER_FEEDBACK_TIER_0_9 = D3D12_SAMPLER_FEEDBACK_TIER.@"0_9";
pub const D3D12_SAMPLER_FEEDBACK_TIER_1_0 = D3D12_SAMPLER_FEEDBACK_TIER.@"1_0";
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS7 = extern struct {
MeshShaderTier: D3D12_MESH_SHADER_TIER,
SamplerFeedbackTier: D3D12_SAMPLER_FEEDBACK_TIER,
};
pub const D3D12_FEATURE_DATA_QUERY_META_COMMAND = extern struct {
CommandId: Guid,
NodeMask: u32,
pQueryInputData: ?*const anyopaque,
QueryInputDataSizeInBytes: usize,
pQueryOutputData: ?*anyopaque,
QueryOutputDataSizeInBytes: usize,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS8 = extern struct {
UnalignedBlockTexturesSupported: BOOL,
};
pub const D3D12_WAVE_MMA_TIER = enum(i32) {
NOT_SUPPORTED = 0,
@"1_0" = 10,
};
pub const D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = D3D12_WAVE_MMA_TIER.NOT_SUPPORTED;
pub const D3D12_WAVE_MMA_TIER_1_0 = D3D12_WAVE_MMA_TIER.@"1_0";
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS9 = extern struct {
MeshShaderPipelineStatsSupported: BOOL,
MeshShaderSupportsFullRangeRenderTargetArrayIndex: BOOL,
AtomicInt64OnTypedResourceSupported: BOOL,
AtomicInt64OnGroupSharedSupported: BOOL,
DerivativesInMeshAndAmplificationShadersSupported: BOOL,
WaveMMATier: D3D12_WAVE_MMA_TIER,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS10 = extern struct {
VariableRateShadingSumCombinerSupported: BOOL,
MeshShaderPerPrimitiveShadingRateSupported: BOOL,
};
pub const D3D12_FEATURE_DATA_D3D12_OPTIONS11 = extern struct {
AtomicInt64OnDescriptorHeapResourceSupported: BOOL,
};
pub const D3D12_RESOURCE_ALLOCATION_INFO = extern struct {
SizeInBytes: u64,
Alignment: u64,
};
pub const D3D12_RESOURCE_ALLOCATION_INFO1 = extern struct {
Offset: u64,
Alignment: u64,
SizeInBytes: u64,
};
pub const D3D12_HEAP_TYPE = enum(i32) {
DEFAULT = 1,
UPLOAD = 2,
READBACK = 3,
CUSTOM = 4,
};
pub const D3D12_HEAP_TYPE_DEFAULT = D3D12_HEAP_TYPE.DEFAULT;
pub const D3D12_HEAP_TYPE_UPLOAD = D3D12_HEAP_TYPE.UPLOAD;
pub const D3D12_HEAP_TYPE_READBACK = D3D12_HEAP_TYPE.READBACK;
pub const D3D12_HEAP_TYPE_CUSTOM = D3D12_HEAP_TYPE.CUSTOM;
pub const D3D12_CPU_PAGE_PROPERTY = enum(i32) {
UNKNOWN = 0,
NOT_AVAILABLE = 1,
WRITE_COMBINE = 2,
WRITE_BACK = 3,
};
pub const D3D12_CPU_PAGE_PROPERTY_UNKNOWN = D3D12_CPU_PAGE_PROPERTY.UNKNOWN;
pub const D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = D3D12_CPU_PAGE_PROPERTY.NOT_AVAILABLE;
pub const D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = D3D12_CPU_PAGE_PROPERTY.WRITE_COMBINE;
pub const D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = D3D12_CPU_PAGE_PROPERTY.WRITE_BACK;
pub const D3D12_MEMORY_POOL = enum(i32) {
UNKNOWN = 0,
L0 = 1,
L1 = 2,
};
pub const D3D12_MEMORY_POOL_UNKNOWN = D3D12_MEMORY_POOL.UNKNOWN;
pub const D3D12_MEMORY_POOL_L0 = D3D12_MEMORY_POOL.L0;
pub const D3D12_MEMORY_POOL_L1 = D3D12_MEMORY_POOL.L1;
pub const D3D12_HEAP_PROPERTIES = extern struct {
Type: D3D12_HEAP_TYPE,
CPUPageProperty: D3D12_CPU_PAGE_PROPERTY,
MemoryPoolPreference: D3D12_MEMORY_POOL,
CreationNodeMask: u32,
VisibleNodeMask: u32,
};
pub const D3D12_HEAP_FLAGS = enum(u32) {
NONE = 0,
SHARED = 1,
DENY_BUFFERS = 4,
ALLOW_DISPLAY = 8,
SHARED_CROSS_ADAPTER = 32,
DENY_RT_DS_TEXTURES = 64,
DENY_NON_RT_DS_TEXTURES = 128,
HARDWARE_PROTECTED = 256,
ALLOW_WRITE_WATCH = 512,
ALLOW_SHADER_ATOMICS = 1024,
CREATE_NOT_RESIDENT = 2048,
CREATE_NOT_ZEROED = 4096,
// ALLOW_ALL_BUFFERS_AND_TEXTURES = 0, this enum value conflicts with NONE
ALLOW_ONLY_BUFFERS = 192,
ALLOW_ONLY_NON_RT_DS_TEXTURES = 68,
ALLOW_ONLY_RT_DS_TEXTURES = 132,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SHARED: u1 = 0,
DENY_BUFFERS: u1 = 0,
ALLOW_DISPLAY: u1 = 0,
SHARED_CROSS_ADAPTER: u1 = 0,
DENY_RT_DS_TEXTURES: u1 = 0,
DENY_NON_RT_DS_TEXTURES: u1 = 0,
HARDWARE_PROTECTED: u1 = 0,
ALLOW_WRITE_WATCH: u1 = 0,
ALLOW_SHADER_ATOMICS: u1 = 0,
CREATE_NOT_RESIDENT: u1 = 0,
CREATE_NOT_ZEROED: u1 = 0,
ALLOW_ONLY_BUFFERS: u1 = 0,
ALLOW_ONLY_NON_RT_DS_TEXTURES: u1 = 0,
ALLOW_ONLY_RT_DS_TEXTURES: u1 = 0,
}) D3D12_HEAP_FLAGS {
return @as(D3D12_HEAP_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_HEAP_FLAGS.NONE) else 0)
| (if (o.SHARED == 1) @intFromEnum(D3D12_HEAP_FLAGS.SHARED) else 0)
| (if (o.DENY_BUFFERS == 1) @intFromEnum(D3D12_HEAP_FLAGS.DENY_BUFFERS) else 0)
| (if (o.ALLOW_DISPLAY == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_DISPLAY) else 0)
| (if (o.SHARED_CROSS_ADAPTER == 1) @intFromEnum(D3D12_HEAP_FLAGS.SHARED_CROSS_ADAPTER) else 0)
| (if (o.DENY_RT_DS_TEXTURES == 1) @intFromEnum(D3D12_HEAP_FLAGS.DENY_RT_DS_TEXTURES) else 0)
| (if (o.DENY_NON_RT_DS_TEXTURES == 1) @intFromEnum(D3D12_HEAP_FLAGS.DENY_NON_RT_DS_TEXTURES) else 0)
| (if (o.HARDWARE_PROTECTED == 1) @intFromEnum(D3D12_HEAP_FLAGS.HARDWARE_PROTECTED) else 0)
| (if (o.ALLOW_WRITE_WATCH == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_WRITE_WATCH) else 0)
| (if (o.ALLOW_SHADER_ATOMICS == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_SHADER_ATOMICS) else 0)
| (if (o.CREATE_NOT_RESIDENT == 1) @intFromEnum(D3D12_HEAP_FLAGS.CREATE_NOT_RESIDENT) else 0)
| (if (o.CREATE_NOT_ZEROED == 1) @intFromEnum(D3D12_HEAP_FLAGS.CREATE_NOT_ZEROED) else 0)
| (if (o.ALLOW_ONLY_BUFFERS == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_ONLY_BUFFERS) else 0)
| (if (o.ALLOW_ONLY_NON_RT_DS_TEXTURES == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_ONLY_NON_RT_DS_TEXTURES) else 0)
| (if (o.ALLOW_ONLY_RT_DS_TEXTURES == 1) @intFromEnum(D3D12_HEAP_FLAGS.ALLOW_ONLY_RT_DS_TEXTURES) else 0)
));
}
};
pub const D3D12_HEAP_FLAG_NONE = D3D12_HEAP_FLAGS.NONE;
pub const D3D12_HEAP_FLAG_SHARED = D3D12_HEAP_FLAGS.SHARED;
pub const D3D12_HEAP_FLAG_DENY_BUFFERS = D3D12_HEAP_FLAGS.DENY_BUFFERS;
pub const D3D12_HEAP_FLAG_ALLOW_DISPLAY = D3D12_HEAP_FLAGS.ALLOW_DISPLAY;
pub const D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = D3D12_HEAP_FLAGS.SHARED_CROSS_ADAPTER;
pub const D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = D3D12_HEAP_FLAGS.DENY_RT_DS_TEXTURES;
pub const D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = D3D12_HEAP_FLAGS.DENY_NON_RT_DS_TEXTURES;
pub const D3D12_HEAP_FLAG_HARDWARE_PROTECTED = D3D12_HEAP_FLAGS.HARDWARE_PROTECTED;
pub const D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = D3D12_HEAP_FLAGS.ALLOW_WRITE_WATCH;
pub const D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = D3D12_HEAP_FLAGS.ALLOW_SHADER_ATOMICS;
pub const D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = D3D12_HEAP_FLAGS.CREATE_NOT_RESIDENT;
pub const D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = D3D12_HEAP_FLAGS.CREATE_NOT_ZEROED;
pub const D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = D3D12_HEAP_FLAGS.NONE;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = D3D12_HEAP_FLAGS.ALLOW_ONLY_BUFFERS;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = D3D12_HEAP_FLAGS.ALLOW_ONLY_NON_RT_DS_TEXTURES;
pub const D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = D3D12_HEAP_FLAGS.ALLOW_ONLY_RT_DS_TEXTURES;
pub const D3D12_HEAP_DESC = extern struct {
SizeInBytes: u64,
Properties: D3D12_HEAP_PROPERTIES,
Alignment: u64,
Flags: D3D12_HEAP_FLAGS,
};
pub const D3D12_RESOURCE_DIMENSION = enum(i32) {
UNKNOWN = 0,
BUFFER = 1,
TEXTURE1D = 2,
TEXTURE2D = 3,
TEXTURE3D = 4,
};
pub const D3D12_RESOURCE_DIMENSION_UNKNOWN = D3D12_RESOURCE_DIMENSION.UNKNOWN;
pub const D3D12_RESOURCE_DIMENSION_BUFFER = D3D12_RESOURCE_DIMENSION.BUFFER;
pub const D3D12_RESOURCE_DIMENSION_TEXTURE1D = D3D12_RESOURCE_DIMENSION.TEXTURE1D;
pub const D3D12_RESOURCE_DIMENSION_TEXTURE2D = D3D12_RESOURCE_DIMENSION.TEXTURE2D;
pub const D3D12_RESOURCE_DIMENSION_TEXTURE3D = D3D12_RESOURCE_DIMENSION.TEXTURE3D;
pub const D3D12_TEXTURE_LAYOUT = enum(i32) {
UNKNOWN = 0,
ROW_MAJOR = 1,
@"64KB_UNDEFINED_SWIZZLE" = 2,
@"64KB_STANDARD_SWIZZLE" = 3,
};
pub const D3D12_TEXTURE_LAYOUT_UNKNOWN = D3D12_TEXTURE_LAYOUT.UNKNOWN;
pub const D3D12_TEXTURE_LAYOUT_ROW_MAJOR = D3D12_TEXTURE_LAYOUT.ROW_MAJOR;
pub const D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = D3D12_TEXTURE_LAYOUT.@"64KB_UNDEFINED_SWIZZLE";
pub const D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = D3D12_TEXTURE_LAYOUT.@"64KB_STANDARD_SWIZZLE";
pub const D3D12_RESOURCE_FLAGS = enum(u32) {
NONE = 0,
ALLOW_RENDER_TARGET = 1,
ALLOW_DEPTH_STENCIL = 2,
ALLOW_UNORDERED_ACCESS = 4,
DENY_SHADER_RESOURCE = 8,
ALLOW_CROSS_ADAPTER = 16,
ALLOW_SIMULTANEOUS_ACCESS = 32,
VIDEO_DECODE_REFERENCE_ONLY = 64,
VIDEO_ENCODE_REFERENCE_ONLY = 128,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ALLOW_RENDER_TARGET: u1 = 0,
ALLOW_DEPTH_STENCIL: u1 = 0,
ALLOW_UNORDERED_ACCESS: u1 = 0,
DENY_SHADER_RESOURCE: u1 = 0,
ALLOW_CROSS_ADAPTER: u1 = 0,
ALLOW_SIMULTANEOUS_ACCESS: u1 = 0,
VIDEO_DECODE_REFERENCE_ONLY: u1 = 0,
VIDEO_ENCODE_REFERENCE_ONLY: u1 = 0,
}) D3D12_RESOURCE_FLAGS {
return @as(D3D12_RESOURCE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.NONE) else 0)
| (if (o.ALLOW_RENDER_TARGET == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.ALLOW_RENDER_TARGET) else 0)
| (if (o.ALLOW_DEPTH_STENCIL == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.ALLOW_DEPTH_STENCIL) else 0)
| (if (o.ALLOW_UNORDERED_ACCESS == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.ALLOW_UNORDERED_ACCESS) else 0)
| (if (o.DENY_SHADER_RESOURCE == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.DENY_SHADER_RESOURCE) else 0)
| (if (o.ALLOW_CROSS_ADAPTER == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.ALLOW_CROSS_ADAPTER) else 0)
| (if (o.ALLOW_SIMULTANEOUS_ACCESS == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.ALLOW_SIMULTANEOUS_ACCESS) else 0)
| (if (o.VIDEO_DECODE_REFERENCE_ONLY == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.VIDEO_DECODE_REFERENCE_ONLY) else 0)
| (if (o.VIDEO_ENCODE_REFERENCE_ONLY == 1) @intFromEnum(D3D12_RESOURCE_FLAGS.VIDEO_ENCODE_REFERENCE_ONLY) else 0)
));
}
};
pub const D3D12_RESOURCE_FLAG_NONE = D3D12_RESOURCE_FLAGS.NONE;
pub const D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = D3D12_RESOURCE_FLAGS.ALLOW_RENDER_TARGET;
pub const D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = D3D12_RESOURCE_FLAGS.ALLOW_DEPTH_STENCIL;
pub const D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = D3D12_RESOURCE_FLAGS.ALLOW_UNORDERED_ACCESS;
pub const D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = D3D12_RESOURCE_FLAGS.DENY_SHADER_RESOURCE;
pub const D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = D3D12_RESOURCE_FLAGS.ALLOW_CROSS_ADAPTER;
pub const D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = D3D12_RESOURCE_FLAGS.ALLOW_SIMULTANEOUS_ACCESS;
pub const D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = D3D12_RESOURCE_FLAGS.VIDEO_DECODE_REFERENCE_ONLY;
pub const D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = D3D12_RESOURCE_FLAGS.VIDEO_ENCODE_REFERENCE_ONLY;
pub const D3D12_MIP_REGION = extern struct {
Width: u32,
Height: u32,
Depth: u32,
};
pub const D3D12_RESOURCE_DESC = extern struct {
Dimension: D3D12_RESOURCE_DIMENSION,
Alignment: u64,
Width: u64,
Height: u32,
DepthOrArraySize: u16,
MipLevels: u16,
Format: DXGI_FORMAT,
SampleDesc: DXGI_SAMPLE_DESC,
Layout: D3D12_TEXTURE_LAYOUT,
Flags: D3D12_RESOURCE_FLAGS,
};
pub const D3D12_RESOURCE_DESC1 = extern struct {
Dimension: D3D12_RESOURCE_DIMENSION,
Alignment: u64,
Width: u64,
Height: u32,
DepthOrArraySize: u16,
MipLevels: u16,
Format: DXGI_FORMAT,
SampleDesc: DXGI_SAMPLE_DESC,
Layout: D3D12_TEXTURE_LAYOUT,
Flags: D3D12_RESOURCE_FLAGS,
SamplerFeedbackMipRegion: D3D12_MIP_REGION,
};
pub const D3D12_DEPTH_STENCIL_VALUE = extern struct {
Depth: f32,
Stencil: u8,
};
pub const D3D12_CLEAR_VALUE = extern struct {
Format: DXGI_FORMAT,
Anonymous: extern union {
Color: [4]f32,
DepthStencil: D3D12_DEPTH_STENCIL_VALUE,
},
};
pub const D3D12_RANGE = extern struct {
Begin: usize,
End: usize,
};
pub const D3D12_RANGE_UINT64 = extern struct {
Begin: u64,
End: u64,
};
pub const D3D12_SUBRESOURCE_RANGE_UINT64 = extern struct {
Subresource: u32,
Range: D3D12_RANGE_UINT64,
};
pub const D3D12_SUBRESOURCE_INFO = extern struct {
Offset: u64,
RowPitch: u32,
DepthPitch: u32,
};
pub const D3D12_TILED_RESOURCE_COORDINATE = extern struct {
X: u32,
Y: u32,
Z: u32,
Subresource: u32,
};
pub const D3D12_TILE_REGION_SIZE = extern struct {
NumTiles: u32,
UseBox: BOOL,
Width: u32,
Height: u16,
Depth: u16,
};
pub const D3D12_TILE_RANGE_FLAGS = enum(i32) {
NONE = 0,
NULL = 1,
SKIP = 2,
REUSE_SINGLE_TILE = 4,
};
pub const D3D12_TILE_RANGE_FLAG_NONE = D3D12_TILE_RANGE_FLAGS.NONE;
pub const D3D12_TILE_RANGE_FLAG_NULL = D3D12_TILE_RANGE_FLAGS.NULL;
pub const D3D12_TILE_RANGE_FLAG_SKIP = D3D12_TILE_RANGE_FLAGS.SKIP;
pub const D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = D3D12_TILE_RANGE_FLAGS.REUSE_SINGLE_TILE;
pub const D3D12_SUBRESOURCE_TILING = extern struct {
WidthInTiles: u32,
HeightInTiles: u16,
DepthInTiles: u16,
StartTileIndexInOverallResource: u32,
};
pub const D3D12_TILE_SHAPE = extern struct {
WidthInTexels: u32,
HeightInTexels: u32,
DepthInTexels: u32,
};
pub const D3D12_PACKED_MIP_INFO = extern struct {
NumStandardMips: u8,
NumPackedMips: u8,
NumTilesForPackedMips: u32,
StartTileIndexInOverallResource: u32,
};
pub const D3D12_TILE_MAPPING_FLAGS = enum(u32) {
NE = 0,
_HAZARD = 1,
_,
pub fn initFlags(o: struct {
NE: u1 = 0,
_HAZARD: u1 = 0,
}) D3D12_TILE_MAPPING_FLAGS {
return @as(D3D12_TILE_MAPPING_FLAGS, @enumFromInt(
(if (o.NE == 1) @intFromEnum(D3D12_TILE_MAPPING_FLAGS.NE) else 0)
| (if (o._HAZARD == 1) @intFromEnum(D3D12_TILE_MAPPING_FLAGS._HAZARD) else 0)
));
}
};
pub const D3D12_TILE_MAPPING_FLAG_NONE = D3D12_TILE_MAPPING_FLAGS.NE;
pub const D3D12_TILE_MAPPING_FLAG_NO_HAZARD = D3D12_TILE_MAPPING_FLAGS._HAZARD;
pub const D3D12_TILE_COPY_FLAGS = enum(u32) {
NONE = 0,
NO_HAZARD = 1,
LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 2,
SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 4,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
NO_HAZARD: u1 = 0,
LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE: u1 = 0,
SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER: u1 = 0,
}) D3D12_TILE_COPY_FLAGS {
return @as(D3D12_TILE_COPY_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_TILE_COPY_FLAGS.NONE) else 0)
| (if (o.NO_HAZARD == 1) @intFromEnum(D3D12_TILE_COPY_FLAGS.NO_HAZARD) else 0)
| (if (o.LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE == 1) @intFromEnum(D3D12_TILE_COPY_FLAGS.LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE) else 0)
| (if (o.SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER == 1) @intFromEnum(D3D12_TILE_COPY_FLAGS.SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER) else 0)
));
}
};
pub const D3D12_TILE_COPY_FLAG_NONE = D3D12_TILE_COPY_FLAGS.NONE;
pub const D3D12_TILE_COPY_FLAG_NO_HAZARD = D3D12_TILE_COPY_FLAGS.NO_HAZARD;
pub const D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = D3D12_TILE_COPY_FLAGS.LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE;
pub const D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = D3D12_TILE_COPY_FLAGS.SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER;
pub const D3D12_RESOURCE_STATES = enum(u32) {
COMMON = 0,
VERTEX_AND_CONSTANT_BUFFER = 1,
INDEX_BUFFER = 2,
RENDER_TARGET = 4,
UNORDERED_ACCESS = 8,
DEPTH_WRITE = 16,
DEPTH_READ = 32,
NON_PIXEL_SHADER_RESOURCE = 64,
PIXEL_SHADER_RESOURCE = 128,
STREAM_OUT = 256,
INDIRECT_ARGUMENT = 512,
COPY_DEST = 1024,
COPY_SOURCE = 2048,
RESOLVE_DEST = 4096,
RESOLVE_SOURCE = 8192,
RAYTRACING_ACCELERATION_STRUCTURE = 4194304,
SHADING_RATE_SOURCE = 16777216,
GENERIC_READ = 2755,
ALL_SHADER_RESOURCE = 192,
// PRESENT = 0, this enum value conflicts with COMMON
// PREDICATION = 512, this enum value conflicts with INDIRECT_ARGUMENT
VIDEO_DECODE_READ = 65536,
VIDEO_DECODE_WRITE = 131072,
VIDEO_PROCESS_READ = 262144,
VIDEO_PROCESS_WRITE = 524288,
VIDEO_ENCODE_READ = 2097152,
VIDEO_ENCODE_WRITE = 8388608,
_,
pub fn initFlags(o: struct {
COMMON: u1 = 0,
VERTEX_AND_CONSTANT_BUFFER: u1 = 0,
INDEX_BUFFER: u1 = 0,
RENDER_TARGET: u1 = 0,
UNORDERED_ACCESS: u1 = 0,
DEPTH_WRITE: u1 = 0,
DEPTH_READ: u1 = 0,
NON_PIXEL_SHADER_RESOURCE: u1 = 0,
PIXEL_SHADER_RESOURCE: u1 = 0,
STREAM_OUT: u1 = 0,
INDIRECT_ARGUMENT: u1 = 0,
COPY_DEST: u1 = 0,
COPY_SOURCE: u1 = 0,
RESOLVE_DEST: u1 = 0,
RESOLVE_SOURCE: u1 = 0,
RAYTRACING_ACCELERATION_STRUCTURE: u1 = 0,
SHADING_RATE_SOURCE: u1 = 0,
GENERIC_READ: u1 = 0,
ALL_SHADER_RESOURCE: u1 = 0,
VIDEO_DECODE_READ: u1 = 0,
VIDEO_DECODE_WRITE: u1 = 0,
VIDEO_PROCESS_READ: u1 = 0,
VIDEO_PROCESS_WRITE: u1 = 0,
VIDEO_ENCODE_READ: u1 = 0,
VIDEO_ENCODE_WRITE: u1 = 0,
}) D3D12_RESOURCE_STATES {
return @as(D3D12_RESOURCE_STATES, @enumFromInt(
(if (o.COMMON == 1) @intFromEnum(D3D12_RESOURCE_STATES.COMMON) else 0)
| (if (o.VERTEX_AND_CONSTANT_BUFFER == 1) @intFromEnum(D3D12_RESOURCE_STATES.VERTEX_AND_CONSTANT_BUFFER) else 0)
| (if (o.INDEX_BUFFER == 1) @intFromEnum(D3D12_RESOURCE_STATES.INDEX_BUFFER) else 0)
| (if (o.RENDER_TARGET == 1) @intFromEnum(D3D12_RESOURCE_STATES.RENDER_TARGET) else 0)
| (if (o.UNORDERED_ACCESS == 1) @intFromEnum(D3D12_RESOURCE_STATES.UNORDERED_ACCESS) else 0)
| (if (o.DEPTH_WRITE == 1) @intFromEnum(D3D12_RESOURCE_STATES.DEPTH_WRITE) else 0)
| (if (o.DEPTH_READ == 1) @intFromEnum(D3D12_RESOURCE_STATES.DEPTH_READ) else 0)
| (if (o.NON_PIXEL_SHADER_RESOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.NON_PIXEL_SHADER_RESOURCE) else 0)
| (if (o.PIXEL_SHADER_RESOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.PIXEL_SHADER_RESOURCE) else 0)
| (if (o.STREAM_OUT == 1) @intFromEnum(D3D12_RESOURCE_STATES.STREAM_OUT) else 0)
| (if (o.INDIRECT_ARGUMENT == 1) @intFromEnum(D3D12_RESOURCE_STATES.INDIRECT_ARGUMENT) else 0)
| (if (o.COPY_DEST == 1) @intFromEnum(D3D12_RESOURCE_STATES.COPY_DEST) else 0)
| (if (o.COPY_SOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.COPY_SOURCE) else 0)
| (if (o.RESOLVE_DEST == 1) @intFromEnum(D3D12_RESOURCE_STATES.RESOLVE_DEST) else 0)
| (if (o.RESOLVE_SOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.RESOLVE_SOURCE) else 0)
| (if (o.RAYTRACING_ACCELERATION_STRUCTURE == 1) @intFromEnum(D3D12_RESOURCE_STATES.RAYTRACING_ACCELERATION_STRUCTURE) else 0)
| (if (o.SHADING_RATE_SOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.SHADING_RATE_SOURCE) else 0)
| (if (o.GENERIC_READ == 1) @intFromEnum(D3D12_RESOURCE_STATES.GENERIC_READ) else 0)
| (if (o.ALL_SHADER_RESOURCE == 1) @intFromEnum(D3D12_RESOURCE_STATES.ALL_SHADER_RESOURCE) else 0)
| (if (o.VIDEO_DECODE_READ == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_DECODE_READ) else 0)
| (if (o.VIDEO_DECODE_WRITE == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_DECODE_WRITE) else 0)
| (if (o.VIDEO_PROCESS_READ == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_PROCESS_READ) else 0)
| (if (o.VIDEO_PROCESS_WRITE == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_PROCESS_WRITE) else 0)
| (if (o.VIDEO_ENCODE_READ == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_ENCODE_READ) else 0)
| (if (o.VIDEO_ENCODE_WRITE == 1) @intFromEnum(D3D12_RESOURCE_STATES.VIDEO_ENCODE_WRITE) else 0)
));
}
};
pub const D3D12_RESOURCE_STATE_COMMON = D3D12_RESOURCE_STATES.COMMON;
pub const D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = D3D12_RESOURCE_STATES.VERTEX_AND_CONSTANT_BUFFER;
pub const D3D12_RESOURCE_STATE_INDEX_BUFFER = D3D12_RESOURCE_STATES.INDEX_BUFFER;
pub const D3D12_RESOURCE_STATE_RENDER_TARGET = D3D12_RESOURCE_STATES.RENDER_TARGET;
pub const D3D12_RESOURCE_STATE_UNORDERED_ACCESS = D3D12_RESOURCE_STATES.UNORDERED_ACCESS;
pub const D3D12_RESOURCE_STATE_DEPTH_WRITE = D3D12_RESOURCE_STATES.DEPTH_WRITE;
pub const D3D12_RESOURCE_STATE_DEPTH_READ = D3D12_RESOURCE_STATES.DEPTH_READ;
pub const D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = D3D12_RESOURCE_STATES.NON_PIXEL_SHADER_RESOURCE;
pub const D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = D3D12_RESOURCE_STATES.PIXEL_SHADER_RESOURCE;
pub const D3D12_RESOURCE_STATE_STREAM_OUT = D3D12_RESOURCE_STATES.STREAM_OUT;
pub const D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = D3D12_RESOURCE_STATES.INDIRECT_ARGUMENT;
pub const D3D12_RESOURCE_STATE_COPY_DEST = D3D12_RESOURCE_STATES.COPY_DEST;
pub const D3D12_RESOURCE_STATE_COPY_SOURCE = D3D12_RESOURCE_STATES.COPY_SOURCE;
pub const D3D12_RESOURCE_STATE_RESOLVE_DEST = D3D12_RESOURCE_STATES.RESOLVE_DEST;
pub const D3D12_RESOURCE_STATE_RESOLVE_SOURCE = D3D12_RESOURCE_STATES.RESOLVE_SOURCE;
pub const D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = D3D12_RESOURCE_STATES.RAYTRACING_ACCELERATION_STRUCTURE;
pub const D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = D3D12_RESOURCE_STATES.SHADING_RATE_SOURCE;
pub const D3D12_RESOURCE_STATE_GENERIC_READ = D3D12_RESOURCE_STATES.GENERIC_READ;
pub const D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = D3D12_RESOURCE_STATES.ALL_SHADER_RESOURCE;
pub const D3D12_RESOURCE_STATE_PRESENT = D3D12_RESOURCE_STATES.COMMON;
pub const D3D12_RESOURCE_STATE_PREDICATION = D3D12_RESOURCE_STATES.INDIRECT_ARGUMENT;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = D3D12_RESOURCE_STATES.VIDEO_DECODE_READ;
pub const D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = D3D12_RESOURCE_STATES.VIDEO_DECODE_WRITE;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = D3D12_RESOURCE_STATES.VIDEO_PROCESS_READ;
pub const D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = D3D12_RESOURCE_STATES.VIDEO_PROCESS_WRITE;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = D3D12_RESOURCE_STATES.VIDEO_ENCODE_READ;
pub const D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = D3D12_RESOURCE_STATES.VIDEO_ENCODE_WRITE;
pub const D3D12_RESOURCE_BARRIER_TYPE = enum(i32) {
TRANSITION = 0,
ALIASING = 1,
UAV = 2,
};
pub const D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = D3D12_RESOURCE_BARRIER_TYPE.TRANSITION;
pub const D3D12_RESOURCE_BARRIER_TYPE_ALIASING = D3D12_RESOURCE_BARRIER_TYPE.ALIASING;
pub const D3D12_RESOURCE_BARRIER_TYPE_UAV = D3D12_RESOURCE_BARRIER_TYPE.UAV;
pub const D3D12_RESOURCE_TRANSITION_BARRIER = extern struct {
pResource: ?*ID3D12Resource,
Subresource: u32,
StateBefore: D3D12_RESOURCE_STATES,
StateAfter: D3D12_RESOURCE_STATES,
};
pub const D3D12_RESOURCE_ALIASING_BARRIER = extern struct {
pResourceBefore: ?*ID3D12Resource,
pResourceAfter: ?*ID3D12Resource,
};
pub const D3D12_RESOURCE_UAV_BARRIER = extern struct {
pResource: ?*ID3D12Resource,
};
pub const D3D12_RESOURCE_BARRIER_FLAGS = enum(u32) {
NONE = 0,
BEGIN_ONLY = 1,
END_ONLY = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
BEGIN_ONLY: u1 = 0,
END_ONLY: u1 = 0,
}) D3D12_RESOURCE_BARRIER_FLAGS {
return @as(D3D12_RESOURCE_BARRIER_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RESOURCE_BARRIER_FLAGS.NONE) else 0)
| (if (o.BEGIN_ONLY == 1) @intFromEnum(D3D12_RESOURCE_BARRIER_FLAGS.BEGIN_ONLY) else 0)
| (if (o.END_ONLY == 1) @intFromEnum(D3D12_RESOURCE_BARRIER_FLAGS.END_ONLY) else 0)
));
}
};
pub const D3D12_RESOURCE_BARRIER_FLAG_NONE = D3D12_RESOURCE_BARRIER_FLAGS.NONE;
pub const D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = D3D12_RESOURCE_BARRIER_FLAGS.BEGIN_ONLY;
pub const D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = D3D12_RESOURCE_BARRIER_FLAGS.END_ONLY;
pub const D3D12_RESOURCE_BARRIER = extern struct {
Type: D3D12_RESOURCE_BARRIER_TYPE,
Flags: D3D12_RESOURCE_BARRIER_FLAGS,
Anonymous: extern union {
Transition: D3D12_RESOURCE_TRANSITION_BARRIER,
Aliasing: D3D12_RESOURCE_ALIASING_BARRIER,
UAV: D3D12_RESOURCE_UAV_BARRIER,
},
};
pub const D3D12_SUBRESOURCE_FOOTPRINT = extern struct {
Format: DXGI_FORMAT,
Width: u32,
Height: u32,
Depth: u32,
RowPitch: u32,
};
pub const D3D12_PLACED_SUBRESOURCE_FOOTPRINT = extern struct {
Offset: u64,
Footprint: D3D12_SUBRESOURCE_FOOTPRINT,
};
pub const D3D12_TEXTURE_COPY_TYPE = enum(i32) {
SUBRESOURCE_INDEX = 0,
PLACED_FOOTPRINT = 1,
};
pub const D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = D3D12_TEXTURE_COPY_TYPE.SUBRESOURCE_INDEX;
pub const D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = D3D12_TEXTURE_COPY_TYPE.PLACED_FOOTPRINT;
pub const D3D12_TEXTURE_COPY_LOCATION = extern struct {
pResource: ?*ID3D12Resource,
Type: D3D12_TEXTURE_COPY_TYPE,
Anonymous: extern union {
PlacedFootprint: D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
SubresourceIndex: u32,
},
};
pub const D3D12_RESOLVE_MODE = enum(i32) {
DECOMPRESS = 0,
MIN = 1,
MAX = 2,
AVERAGE = 3,
ENCODE_SAMPLER_FEEDBACK = 4,
DECODE_SAMPLER_FEEDBACK = 5,
};
pub const D3D12_RESOLVE_MODE_DECOMPRESS = D3D12_RESOLVE_MODE.DECOMPRESS;
pub const D3D12_RESOLVE_MODE_MIN = D3D12_RESOLVE_MODE.MIN;
pub const D3D12_RESOLVE_MODE_MAX = D3D12_RESOLVE_MODE.MAX;
pub const D3D12_RESOLVE_MODE_AVERAGE = D3D12_RESOLVE_MODE.AVERAGE;
pub const D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = D3D12_RESOLVE_MODE.ENCODE_SAMPLER_FEEDBACK;
pub const D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = D3D12_RESOLVE_MODE.DECODE_SAMPLER_FEEDBACK;
pub const D3D12_SAMPLE_POSITION = extern struct {
X: i8,
Y: i8,
};
pub const D3D12_VIEW_INSTANCE_LOCATION = extern struct {
ViewportArrayIndex: u32,
RenderTargetArrayIndex: u32,
};
pub const D3D12_VIEW_INSTANCING_FLAGS = enum(u32) {
NONE = 0,
ENABLE_VIEW_INSTANCE_MASKING = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ENABLE_VIEW_INSTANCE_MASKING: u1 = 0,
}) D3D12_VIEW_INSTANCING_FLAGS {
return @as(D3D12_VIEW_INSTANCING_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_VIEW_INSTANCING_FLAGS.NONE) else 0)
| (if (o.ENABLE_VIEW_INSTANCE_MASKING == 1) @intFromEnum(D3D12_VIEW_INSTANCING_FLAGS.ENABLE_VIEW_INSTANCE_MASKING) else 0)
));
}
};
pub const D3D12_VIEW_INSTANCING_FLAG_NONE = D3D12_VIEW_INSTANCING_FLAGS.NONE;
pub const D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = D3D12_VIEW_INSTANCING_FLAGS.ENABLE_VIEW_INSTANCE_MASKING;
pub const D3D12_VIEW_INSTANCING_DESC = extern struct {
ViewInstanceCount: u32,
pViewInstanceLocations: ?*const D3D12_VIEW_INSTANCE_LOCATION,
Flags: D3D12_VIEW_INSTANCING_FLAGS,
};
pub const D3D12_SHADER_COMPONENT_MAPPING = enum(i32) {
ROM_MEMORY_COMPONENT_0 = 0,
ROM_MEMORY_COMPONENT_1 = 1,
ROM_MEMORY_COMPONENT_2 = 2,
ROM_MEMORY_COMPONENT_3 = 3,
ORCE_VALUE_0 = 4,
ORCE_VALUE_1 = 5,
};
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = D3D12_SHADER_COMPONENT_MAPPING.ROM_MEMORY_COMPONENT_0;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = D3D12_SHADER_COMPONENT_MAPPING.ROM_MEMORY_COMPONENT_1;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = D3D12_SHADER_COMPONENT_MAPPING.ROM_MEMORY_COMPONENT_2;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = D3D12_SHADER_COMPONENT_MAPPING.ROM_MEMORY_COMPONENT_3;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = D3D12_SHADER_COMPONENT_MAPPING.ORCE_VALUE_0;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = D3D12_SHADER_COMPONENT_MAPPING.ORCE_VALUE_1;
pub const D3D12_BUFFER_SRV_FLAGS = enum(u32) {
NONE = 0,
RAW = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
RAW: u1 = 0,
}) D3D12_BUFFER_SRV_FLAGS {
return @as(D3D12_BUFFER_SRV_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_BUFFER_SRV_FLAGS.NONE) else 0)
| (if (o.RAW == 1) @intFromEnum(D3D12_BUFFER_SRV_FLAGS.RAW) else 0)
));
}
};
pub const D3D12_BUFFER_SRV_FLAG_NONE = D3D12_BUFFER_SRV_FLAGS.NONE;
pub const D3D12_BUFFER_SRV_FLAG_RAW = D3D12_BUFFER_SRV_FLAGS.RAW;
pub const D3D12_BUFFER_SRV = extern struct {
FirstElement: u64,
NumElements: u32,
StructureByteStride: u32,
Flags: D3D12_BUFFER_SRV_FLAGS,
};
pub const D3D12_TEX1D_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEX1D_ARRAY_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
FirstArraySlice: u32,
ArraySize: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEX2D_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
PlaneSlice: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEX2D_ARRAY_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
FirstArraySlice: u32,
ArraySize: u32,
PlaneSlice: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEX3D_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEXCUBE_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEXCUBE_ARRAY_SRV = extern struct {
MostDetailedMip: u32,
MipLevels: u32,
First2DArrayFace: u32,
NumCubes: u32,
ResourceMinLODClamp: f32,
};
pub const D3D12_TEX2DMS_SRV = extern struct {
UnusedField_NothingToDefine: u32,
};
pub const D3D12_TEX2DMS_ARRAY_SRV = extern struct {
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV = extern struct {
Location: u64,
};
pub const D3D12_SRV_DIMENSION = enum(i32) {
UNKNOWN = 0,
BUFFER = 1,
TEXTURE1D = 2,
TEXTURE1DARRAY = 3,
TEXTURE2D = 4,
TEXTURE2DARRAY = 5,
TEXTURE2DMS = 6,
TEXTURE2DMSARRAY = 7,
TEXTURE3D = 8,
TEXTURECUBE = 9,
TEXTURECUBEARRAY = 10,
RAYTRACING_ACCELERATION_STRUCTURE = 11,
};
pub const D3D12_SRV_DIMENSION_UNKNOWN = D3D12_SRV_DIMENSION.UNKNOWN;
pub const D3D12_SRV_DIMENSION_BUFFER = D3D12_SRV_DIMENSION.BUFFER;
pub const D3D12_SRV_DIMENSION_TEXTURE1D = D3D12_SRV_DIMENSION.TEXTURE1D;
pub const D3D12_SRV_DIMENSION_TEXTURE1DARRAY = D3D12_SRV_DIMENSION.TEXTURE1DARRAY;
pub const D3D12_SRV_DIMENSION_TEXTURE2D = D3D12_SRV_DIMENSION.TEXTURE2D;
pub const D3D12_SRV_DIMENSION_TEXTURE2DARRAY = D3D12_SRV_DIMENSION.TEXTURE2DARRAY;
pub const D3D12_SRV_DIMENSION_TEXTURE2DMS = D3D12_SRV_DIMENSION.TEXTURE2DMS;
pub const D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = D3D12_SRV_DIMENSION.TEXTURE2DMSARRAY;
pub const D3D12_SRV_DIMENSION_TEXTURE3D = D3D12_SRV_DIMENSION.TEXTURE3D;
pub const D3D12_SRV_DIMENSION_TEXTURECUBE = D3D12_SRV_DIMENSION.TEXTURECUBE;
pub const D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = D3D12_SRV_DIMENSION.TEXTURECUBEARRAY;
pub const D3D12_SRV_DIMENSION_RAYTRACING_ACCELERATION_STRUCTURE = D3D12_SRV_DIMENSION.RAYTRACING_ACCELERATION_STRUCTURE;
pub const D3D12_SHADER_RESOURCE_VIEW_DESC = extern struct {
Format: DXGI_FORMAT,
ViewDimension: D3D12_SRV_DIMENSION,
Shader4ComponentMapping: u32,
Anonymous: extern union {
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,
},
};
pub const D3D12_CONSTANT_BUFFER_VIEW_DESC = extern struct {
BufferLocation: u64,
SizeInBytes: u32,
};
pub const D3D12_FILTER = enum(i32) {
MIN_MAG_MIP_POINT = 0,
MIN_MAG_POINT_MIP_LINEAR = 1,
MIN_POINT_MAG_LINEAR_MIP_POINT = 4,
MIN_POINT_MAG_MIP_LINEAR = 5,
MIN_LINEAR_MAG_MIP_POINT = 16,
MIN_LINEAR_MAG_POINT_MIP_LINEAR = 17,
MIN_MAG_LINEAR_MIP_POINT = 20,
MIN_MAG_MIP_LINEAR = 21,
ANISOTROPIC = 85,
COMPARISON_MIN_MAG_MIP_POINT = 128,
COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 129,
COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 132,
COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 133,
COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 144,
COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 145,
COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 148,
COMPARISON_MIN_MAG_MIP_LINEAR = 149,
COMPARISON_ANISOTROPIC = 213,
MINIMUM_MIN_MAG_MIP_POINT = 256,
MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 257,
MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 260,
MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 261,
MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 272,
MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 273,
MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 276,
MINIMUM_MIN_MAG_MIP_LINEAR = 277,
MINIMUM_ANISOTROPIC = 341,
MAXIMUM_MIN_MAG_MIP_POINT = 384,
MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 385,
MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 388,
MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 389,
MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 400,
MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 401,
MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 404,
MAXIMUM_MIN_MAG_MIP_LINEAR = 405,
MAXIMUM_ANISOTROPIC = 469,
};
pub const D3D12_FILTER_MIN_MAG_MIP_POINT = D3D12_FILTER.MIN_MAG_MIP_POINT;
pub const D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MIN_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MIN_POINT_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = D3D12_FILTER.MIN_POINT_MAG_MIP_LINEAR;
pub const D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = D3D12_FILTER.MIN_LINEAR_MAG_MIP_POINT;
pub const D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MIN_LINEAR_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MIN_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MIN_MAG_MIP_LINEAR = D3D12_FILTER.MIN_MAG_MIP_LINEAR;
pub const D3D12_FILTER_ANISOTROPIC = D3D12_FILTER.ANISOTROPIC;
pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = D3D12_FILTER.COMPARISON_MIN_MAG_MIP_POINT;
pub const D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = D3D12_FILTER.COMPARISON_MIN_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = D3D12_FILTER.COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = D3D12_FILTER.COMPARISON_MIN_POINT_MAG_MIP_LINEAR;
pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = D3D12_FILTER.COMPARISON_MIN_LINEAR_MAG_MIP_POINT;
pub const D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = D3D12_FILTER.COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = D3D12_FILTER.COMPARISON_MIN_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = D3D12_FILTER.COMPARISON_MIN_MAG_MIP_LINEAR;
pub const D3D12_FILTER_COMPARISON_ANISOTROPIC = D3D12_FILTER.COMPARISON_ANISOTROPIC;
pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = D3D12_FILTER.MINIMUM_MIN_MAG_MIP_POINT;
pub const D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MINIMUM_MIN_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = D3D12_FILTER.MINIMUM_MIN_POINT_MAG_MIP_LINEAR;
pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = D3D12_FILTER.MINIMUM_MIN_LINEAR_MAG_MIP_POINT;
pub const D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MINIMUM_MIN_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = D3D12_FILTER.MINIMUM_MIN_MAG_MIP_LINEAR;
pub const D3D12_FILTER_MINIMUM_ANISOTROPIC = D3D12_FILTER.MINIMUM_ANISOTROPIC;
pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = D3D12_FILTER.MAXIMUM_MIN_MAG_MIP_POINT;
pub const D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MAXIMUM_MIN_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = D3D12_FILTER.MAXIMUM_MIN_POINT_MAG_MIP_LINEAR;
pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = D3D12_FILTER.MAXIMUM_MIN_LINEAR_MAG_MIP_POINT;
pub const D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = D3D12_FILTER.MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR;
pub const D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = D3D12_FILTER.MAXIMUM_MIN_MAG_LINEAR_MIP_POINT;
pub const D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = D3D12_FILTER.MAXIMUM_MIN_MAG_MIP_LINEAR;
pub const D3D12_FILTER_MAXIMUM_ANISOTROPIC = D3D12_FILTER.MAXIMUM_ANISOTROPIC;
pub const D3D12_FILTER_TYPE = enum(i32) {
POINT = 0,
LINEAR = 1,
};
pub const D3D12_FILTER_TYPE_POINT = D3D12_FILTER_TYPE.POINT;
pub const D3D12_FILTER_TYPE_LINEAR = D3D12_FILTER_TYPE.LINEAR;
pub const D3D12_FILTER_REDUCTION_TYPE = enum(i32) {
STANDARD = 0,
COMPARISON = 1,
MINIMUM = 2,
MAXIMUM = 3,
};
pub const D3D12_FILTER_REDUCTION_TYPE_STANDARD = D3D12_FILTER_REDUCTION_TYPE.STANDARD;
pub const D3D12_FILTER_REDUCTION_TYPE_COMPARISON = D3D12_FILTER_REDUCTION_TYPE.COMPARISON;
pub const D3D12_FILTER_REDUCTION_TYPE_MINIMUM = D3D12_FILTER_REDUCTION_TYPE.MINIMUM;
pub const D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = D3D12_FILTER_REDUCTION_TYPE.MAXIMUM;
pub const D3D12_TEXTURE_ADDRESS_MODE = enum(i32) {
WRAP = 1,
MIRROR = 2,
CLAMP = 3,
BORDER = 4,
MIRROR_ONCE = 5,
};
pub const D3D12_TEXTURE_ADDRESS_MODE_WRAP = D3D12_TEXTURE_ADDRESS_MODE.WRAP;
pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR = D3D12_TEXTURE_ADDRESS_MODE.MIRROR;
pub const D3D12_TEXTURE_ADDRESS_MODE_CLAMP = D3D12_TEXTURE_ADDRESS_MODE.CLAMP;
pub const D3D12_TEXTURE_ADDRESS_MODE_BORDER = D3D12_TEXTURE_ADDRESS_MODE.BORDER;
pub const D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = D3D12_TEXTURE_ADDRESS_MODE.MIRROR_ONCE;
pub const D3D12_SAMPLER_DESC = extern struct {
Filter: D3D12_FILTER,
AddressU: D3D12_TEXTURE_ADDRESS_MODE,
AddressV: D3D12_TEXTURE_ADDRESS_MODE,
AddressW: D3D12_TEXTURE_ADDRESS_MODE,
MipLODBias: f32,
MaxAnisotropy: u32,
ComparisonFunc: D3D12_COMPARISON_FUNC,
BorderColor: [4]f32,
MinLOD: f32,
MaxLOD: f32,
};
pub const D3D12_BUFFER_UAV_FLAGS = enum(u32) {
NONE = 0,
RAW = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
RAW: u1 = 0,
}) D3D12_BUFFER_UAV_FLAGS {
return @as(D3D12_BUFFER_UAV_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_BUFFER_UAV_FLAGS.NONE) else 0)
| (if (o.RAW == 1) @intFromEnum(D3D12_BUFFER_UAV_FLAGS.RAW) else 0)
));
}
};
pub const D3D12_BUFFER_UAV_FLAG_NONE = D3D12_BUFFER_UAV_FLAGS.NONE;
pub const D3D12_BUFFER_UAV_FLAG_RAW = D3D12_BUFFER_UAV_FLAGS.RAW;
pub const D3D12_BUFFER_UAV = extern struct {
FirstElement: u64,
NumElements: u32,
StructureByteStride: u32,
CounterOffsetInBytes: u64,
Flags: D3D12_BUFFER_UAV_FLAGS,
};
pub const D3D12_TEX1D_UAV = extern struct {
MipSlice: u32,
};
pub const D3D12_TEX1D_ARRAY_UAV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_TEX2D_UAV = extern struct {
MipSlice: u32,
PlaneSlice: u32,
};
pub const D3D12_TEX2D_ARRAY_UAV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
PlaneSlice: u32,
};
pub const D3D12_TEX3D_UAV = extern struct {
MipSlice: u32,
FirstWSlice: u32,
WSize: u32,
};
pub const D3D12_UAV_DIMENSION = enum(i32) {
UNKNOWN = 0,
BUFFER = 1,
TEXTURE1D = 2,
TEXTURE1DARRAY = 3,
TEXTURE2D = 4,
TEXTURE2DARRAY = 5,
TEXTURE3D = 8,
};
pub const D3D12_UAV_DIMENSION_UNKNOWN = D3D12_UAV_DIMENSION.UNKNOWN;
pub const D3D12_UAV_DIMENSION_BUFFER = D3D12_UAV_DIMENSION.BUFFER;
pub const D3D12_UAV_DIMENSION_TEXTURE1D = D3D12_UAV_DIMENSION.TEXTURE1D;
pub const D3D12_UAV_DIMENSION_TEXTURE1DARRAY = D3D12_UAV_DIMENSION.TEXTURE1DARRAY;
pub const D3D12_UAV_DIMENSION_TEXTURE2D = D3D12_UAV_DIMENSION.TEXTURE2D;
pub const D3D12_UAV_DIMENSION_TEXTURE2DARRAY = D3D12_UAV_DIMENSION.TEXTURE2DARRAY;
pub const D3D12_UAV_DIMENSION_TEXTURE3D = D3D12_UAV_DIMENSION.TEXTURE3D;
pub const D3D12_UNORDERED_ACCESS_VIEW_DESC = extern struct {
Format: DXGI_FORMAT,
ViewDimension: D3D12_UAV_DIMENSION,
Anonymous: extern union {
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,
},
};
pub const D3D12_BUFFER_RTV = extern struct {
FirstElement: u64,
NumElements: u32,
};
pub const D3D12_TEX1D_RTV = extern struct {
MipSlice: u32,
};
pub const D3D12_TEX1D_ARRAY_RTV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_TEX2D_RTV = extern struct {
MipSlice: u32,
PlaneSlice: u32,
};
pub const D3D12_TEX2DMS_RTV = extern struct {
UnusedField_NothingToDefine: u32,
};
pub const D3D12_TEX2D_ARRAY_RTV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
PlaneSlice: u32,
};
pub const D3D12_TEX2DMS_ARRAY_RTV = extern struct {
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_TEX3D_RTV = extern struct {
MipSlice: u32,
FirstWSlice: u32,
WSize: u32,
};
pub const D3D12_RTV_DIMENSION = enum(i32) {
UNKNOWN = 0,
BUFFER = 1,
TEXTURE1D = 2,
TEXTURE1DARRAY = 3,
TEXTURE2D = 4,
TEXTURE2DARRAY = 5,
TEXTURE2DMS = 6,
TEXTURE2DMSARRAY = 7,
TEXTURE3D = 8,
};
pub const D3D12_RTV_DIMENSION_UNKNOWN = D3D12_RTV_DIMENSION.UNKNOWN;
pub const D3D12_RTV_DIMENSION_BUFFER = D3D12_RTV_DIMENSION.BUFFER;
pub const D3D12_RTV_DIMENSION_TEXTURE1D = D3D12_RTV_DIMENSION.TEXTURE1D;
pub const D3D12_RTV_DIMENSION_TEXTURE1DARRAY = D3D12_RTV_DIMENSION.TEXTURE1DARRAY;
pub const D3D12_RTV_DIMENSION_TEXTURE2D = D3D12_RTV_DIMENSION.TEXTURE2D;
pub const D3D12_RTV_DIMENSION_TEXTURE2DARRAY = D3D12_RTV_DIMENSION.TEXTURE2DARRAY;
pub const D3D12_RTV_DIMENSION_TEXTURE2DMS = D3D12_RTV_DIMENSION.TEXTURE2DMS;
pub const D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = D3D12_RTV_DIMENSION.TEXTURE2DMSARRAY;
pub const D3D12_RTV_DIMENSION_TEXTURE3D = D3D12_RTV_DIMENSION.TEXTURE3D;
pub const D3D12_RENDER_TARGET_VIEW_DESC = extern struct {
Format: DXGI_FORMAT,
ViewDimension: D3D12_RTV_DIMENSION,
Anonymous: extern union {
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,
},
};
pub const D3D12_TEX1D_DSV = extern struct {
MipSlice: u32,
};
pub const D3D12_TEX1D_ARRAY_DSV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_TEX2D_DSV = extern struct {
MipSlice: u32,
};
pub const D3D12_TEX2D_ARRAY_DSV = extern struct {
MipSlice: u32,
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_TEX2DMS_DSV = extern struct {
UnusedField_NothingToDefine: u32,
};
pub const D3D12_TEX2DMS_ARRAY_DSV = extern struct {
FirstArraySlice: u32,
ArraySize: u32,
};
pub const D3D12_DSV_FLAGS = enum(u32) {
NONE = 0,
READ_ONLY_DEPTH = 1,
READ_ONLY_STENCIL = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
READ_ONLY_DEPTH: u1 = 0,
READ_ONLY_STENCIL: u1 = 0,
}) D3D12_DSV_FLAGS {
return @as(D3D12_DSV_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_DSV_FLAGS.NONE) else 0)
| (if (o.READ_ONLY_DEPTH == 1) @intFromEnum(D3D12_DSV_FLAGS.READ_ONLY_DEPTH) else 0)
| (if (o.READ_ONLY_STENCIL == 1) @intFromEnum(D3D12_DSV_FLAGS.READ_ONLY_STENCIL) else 0)
));
}
};
pub const D3D12_DSV_FLAG_NONE = D3D12_DSV_FLAGS.NONE;
pub const D3D12_DSV_FLAG_READ_ONLY_DEPTH = D3D12_DSV_FLAGS.READ_ONLY_DEPTH;
pub const D3D12_DSV_FLAG_READ_ONLY_STENCIL = D3D12_DSV_FLAGS.READ_ONLY_STENCIL;
pub const D3D12_DSV_DIMENSION = enum(i32) {
UNKNOWN = 0,
TEXTURE1D = 1,
TEXTURE1DARRAY = 2,
TEXTURE2D = 3,
TEXTURE2DARRAY = 4,
TEXTURE2DMS = 5,
TEXTURE2DMSARRAY = 6,
};
pub const D3D12_DSV_DIMENSION_UNKNOWN = D3D12_DSV_DIMENSION.UNKNOWN;
pub const D3D12_DSV_DIMENSION_TEXTURE1D = D3D12_DSV_DIMENSION.TEXTURE1D;
pub const D3D12_DSV_DIMENSION_TEXTURE1DARRAY = D3D12_DSV_DIMENSION.TEXTURE1DARRAY;
pub const D3D12_DSV_DIMENSION_TEXTURE2D = D3D12_DSV_DIMENSION.TEXTURE2D;
pub const D3D12_DSV_DIMENSION_TEXTURE2DARRAY = D3D12_DSV_DIMENSION.TEXTURE2DARRAY;
pub const D3D12_DSV_DIMENSION_TEXTURE2DMS = D3D12_DSV_DIMENSION.TEXTURE2DMS;
pub const D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = D3D12_DSV_DIMENSION.TEXTURE2DMSARRAY;
pub const D3D12_DEPTH_STENCIL_VIEW_DESC = extern struct {
Format: DXGI_FORMAT,
ViewDimension: D3D12_DSV_DIMENSION,
Flags: D3D12_DSV_FLAGS,
Anonymous: extern union {
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,
},
};
pub const D3D12_CLEAR_FLAGS = enum(u32) {
DEPTH = 1,
STENCIL = 2,
_,
pub fn initFlags(o: struct {
DEPTH: u1 = 0,
STENCIL: u1 = 0,
}) D3D12_CLEAR_FLAGS {
return @as(D3D12_CLEAR_FLAGS, @enumFromInt(
(if (o.DEPTH == 1) @intFromEnum(D3D12_CLEAR_FLAGS.DEPTH) else 0)
| (if (o.STENCIL == 1) @intFromEnum(D3D12_CLEAR_FLAGS.STENCIL) else 0)
));
}
};
pub const D3D12_CLEAR_FLAG_DEPTH = D3D12_CLEAR_FLAGS.DEPTH;
pub const D3D12_CLEAR_FLAG_STENCIL = D3D12_CLEAR_FLAGS.STENCIL;
pub const D3D12_FENCE_FLAGS = enum(u32) {
NONE = 0,
SHARED = 1,
SHARED_CROSS_ADAPTER = 2,
NON_MONITORED = 4,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SHARED: u1 = 0,
SHARED_CROSS_ADAPTER: u1 = 0,
NON_MONITORED: u1 = 0,
}) D3D12_FENCE_FLAGS {
return @as(D3D12_FENCE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_FENCE_FLAGS.NONE) else 0)
| (if (o.SHARED == 1) @intFromEnum(D3D12_FENCE_FLAGS.SHARED) else 0)
| (if (o.SHARED_CROSS_ADAPTER == 1) @intFromEnum(D3D12_FENCE_FLAGS.SHARED_CROSS_ADAPTER) else 0)
| (if (o.NON_MONITORED == 1) @intFromEnum(D3D12_FENCE_FLAGS.NON_MONITORED) else 0)
));
}
};
pub const D3D12_FENCE_FLAG_NONE = D3D12_FENCE_FLAGS.NONE;
pub const D3D12_FENCE_FLAG_SHARED = D3D12_FENCE_FLAGS.SHARED;
pub const D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = D3D12_FENCE_FLAGS.SHARED_CROSS_ADAPTER;
pub const D3D12_FENCE_FLAG_NON_MONITORED = D3D12_FENCE_FLAGS.NON_MONITORED;
pub const D3D12_DESCRIPTOR_HEAP_TYPE = enum(i32) {
CBV_SRV_UAV = 0,
SAMPLER = 1,
RTV = 2,
DSV = 3,
NUM_TYPES = 4,
};
pub const D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = D3D12_DESCRIPTOR_HEAP_TYPE.CBV_SRV_UAV;
pub const D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = D3D12_DESCRIPTOR_HEAP_TYPE.SAMPLER;
pub const D3D12_DESCRIPTOR_HEAP_TYPE_RTV = D3D12_DESCRIPTOR_HEAP_TYPE.RTV;
pub const D3D12_DESCRIPTOR_HEAP_TYPE_DSV = D3D12_DESCRIPTOR_HEAP_TYPE.DSV;
pub const D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = D3D12_DESCRIPTOR_HEAP_TYPE.NUM_TYPES;
pub const D3D12_DESCRIPTOR_HEAP_FLAGS = enum(u32) {
NONE = 0,
SHADER_VISIBLE = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SHADER_VISIBLE: u1 = 0,
}) D3D12_DESCRIPTOR_HEAP_FLAGS {
return @as(D3D12_DESCRIPTOR_HEAP_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_DESCRIPTOR_HEAP_FLAGS.NONE) else 0)
| (if (o.SHADER_VISIBLE == 1) @intFromEnum(D3D12_DESCRIPTOR_HEAP_FLAGS.SHADER_VISIBLE) else 0)
));
}
};
pub const D3D12_DESCRIPTOR_HEAP_FLAG_NONE = D3D12_DESCRIPTOR_HEAP_FLAGS.NONE;
pub const D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = D3D12_DESCRIPTOR_HEAP_FLAGS.SHADER_VISIBLE;
pub const D3D12_DESCRIPTOR_HEAP_DESC = extern struct {
Type: D3D12_DESCRIPTOR_HEAP_TYPE,
NumDescriptors: u32,
Flags: D3D12_DESCRIPTOR_HEAP_FLAGS,
NodeMask: u32,
};
pub const D3D12_DESCRIPTOR_RANGE_TYPE = enum(i32) {
SRV = 0,
UAV = 1,
CBV = 2,
SAMPLER = 3,
};
pub const D3D12_DESCRIPTOR_RANGE_TYPE_SRV = D3D12_DESCRIPTOR_RANGE_TYPE.SRV;
pub const D3D12_DESCRIPTOR_RANGE_TYPE_UAV = D3D12_DESCRIPTOR_RANGE_TYPE.UAV;
pub const D3D12_DESCRIPTOR_RANGE_TYPE_CBV = D3D12_DESCRIPTOR_RANGE_TYPE.CBV;
pub const D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = D3D12_DESCRIPTOR_RANGE_TYPE.SAMPLER;
pub const D3D12_DESCRIPTOR_RANGE = extern struct {
RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
NumDescriptors: u32,
BaseShaderRegister: u32,
RegisterSpace: u32,
OffsetInDescriptorsFromTableStart: u32,
};
pub const D3D12_ROOT_DESCRIPTOR_TABLE = extern struct {
NumDescriptorRanges: u32,
pDescriptorRanges: ?*const D3D12_DESCRIPTOR_RANGE,
};
pub const D3D12_ROOT_CONSTANTS = extern struct {
ShaderRegister: u32,
RegisterSpace: u32,
Num32BitValues: u32,
};
pub const D3D12_ROOT_DESCRIPTOR = extern struct {
ShaderRegister: u32,
RegisterSpace: u32,
};
pub const D3D12_SHADER_VISIBILITY = enum(i32) {
ALL = 0,
VERTEX = 1,
HULL = 2,
DOMAIN = 3,
GEOMETRY = 4,
PIXEL = 5,
AMPLIFICATION = 6,
MESH = 7,
};
pub const D3D12_SHADER_VISIBILITY_ALL = D3D12_SHADER_VISIBILITY.ALL;
pub const D3D12_SHADER_VISIBILITY_VERTEX = D3D12_SHADER_VISIBILITY.VERTEX;
pub const D3D12_SHADER_VISIBILITY_HULL = D3D12_SHADER_VISIBILITY.HULL;
pub const D3D12_SHADER_VISIBILITY_DOMAIN = D3D12_SHADER_VISIBILITY.DOMAIN;
pub const D3D12_SHADER_VISIBILITY_GEOMETRY = D3D12_SHADER_VISIBILITY.GEOMETRY;
pub const D3D12_SHADER_VISIBILITY_PIXEL = D3D12_SHADER_VISIBILITY.PIXEL;
pub const D3D12_SHADER_VISIBILITY_AMPLIFICATION = D3D12_SHADER_VISIBILITY.AMPLIFICATION;
pub const D3D12_SHADER_VISIBILITY_MESH = D3D12_SHADER_VISIBILITY.MESH;
pub const D3D12_ROOT_PARAMETER_TYPE = enum(i32) {
DESCRIPTOR_TABLE = 0,
@"32BIT_CONSTANTS" = 1,
CBV = 2,
SRV = 3,
UAV = 4,
};
pub const D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = D3D12_ROOT_PARAMETER_TYPE.DESCRIPTOR_TABLE;
pub const D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = D3D12_ROOT_PARAMETER_TYPE.@"32BIT_CONSTANTS";
pub const D3D12_ROOT_PARAMETER_TYPE_CBV = D3D12_ROOT_PARAMETER_TYPE.CBV;
pub const D3D12_ROOT_PARAMETER_TYPE_SRV = D3D12_ROOT_PARAMETER_TYPE.SRV;
pub const D3D12_ROOT_PARAMETER_TYPE_UAV = D3D12_ROOT_PARAMETER_TYPE.UAV;
pub const D3D12_ROOT_PARAMETER = extern struct {
ParameterType: D3D12_ROOT_PARAMETER_TYPE,
Anonymous: extern union {
DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE,
Constants: D3D12_ROOT_CONSTANTS,
Descriptor: D3D12_ROOT_DESCRIPTOR,
},
ShaderVisibility: D3D12_SHADER_VISIBILITY,
};
pub const D3D12_ROOT_SIGNATURE_FLAGS = enum(u32) {
NONE = 0,
ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 1,
DENY_VERTEX_SHADER_ROOT_ACCESS = 2,
DENY_HULL_SHADER_ROOT_ACCESS = 4,
DENY_DOMAIN_SHADER_ROOT_ACCESS = 8,
DENY_GEOMETRY_SHADER_ROOT_ACCESS = 16,
DENY_PIXEL_SHADER_ROOT_ACCESS = 32,
ALLOW_STREAM_OUTPUT = 64,
LOCAL_ROOT_SIGNATURE = 128,
DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 256,
DENY_MESH_SHADER_ROOT_ACCESS = 512,
CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 1024,
SAMPLER_HEAP_DIRECTLY_INDEXED = 2048,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT: u1 = 0,
DENY_VERTEX_SHADER_ROOT_ACCESS: u1 = 0,
DENY_HULL_SHADER_ROOT_ACCESS: u1 = 0,
DENY_DOMAIN_SHADER_ROOT_ACCESS: u1 = 0,
DENY_GEOMETRY_SHADER_ROOT_ACCESS: u1 = 0,
DENY_PIXEL_SHADER_ROOT_ACCESS: u1 = 0,
ALLOW_STREAM_OUTPUT: u1 = 0,
LOCAL_ROOT_SIGNATURE: u1 = 0,
DENY_AMPLIFICATION_SHADER_ROOT_ACCESS: u1 = 0,
DENY_MESH_SHADER_ROOT_ACCESS: u1 = 0,
CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED: u1 = 0,
SAMPLER_HEAP_DIRECTLY_INDEXED: u1 = 0,
}) D3D12_ROOT_SIGNATURE_FLAGS {
return @as(D3D12_ROOT_SIGNATURE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.NONE) else 0)
| (if (o.ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT) else 0)
| (if (o.DENY_VERTEX_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_VERTEX_SHADER_ROOT_ACCESS) else 0)
| (if (o.DENY_HULL_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_HULL_SHADER_ROOT_ACCESS) else 0)
| (if (o.DENY_DOMAIN_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_DOMAIN_SHADER_ROOT_ACCESS) else 0)
| (if (o.DENY_GEOMETRY_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_GEOMETRY_SHADER_ROOT_ACCESS) else 0)
| (if (o.DENY_PIXEL_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_PIXEL_SHADER_ROOT_ACCESS) else 0)
| (if (o.ALLOW_STREAM_OUTPUT == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.ALLOW_STREAM_OUTPUT) else 0)
| (if (o.LOCAL_ROOT_SIGNATURE == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.LOCAL_ROOT_SIGNATURE) else 0)
| (if (o.DENY_AMPLIFICATION_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_AMPLIFICATION_SHADER_ROOT_ACCESS) else 0)
| (if (o.DENY_MESH_SHADER_ROOT_ACCESS == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.DENY_MESH_SHADER_ROOT_ACCESS) else 0)
| (if (o.CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED) else 0)
| (if (o.SAMPLER_HEAP_DIRECTLY_INDEXED == 1) @intFromEnum(D3D12_ROOT_SIGNATURE_FLAGS.SAMPLER_HEAP_DIRECTLY_INDEXED) else 0)
));
}
};
pub const D3D12_ROOT_SIGNATURE_FLAG_NONE = D3D12_ROOT_SIGNATURE_FLAGS.NONE;
pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = D3D12_ROOT_SIGNATURE_FLAGS.ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_VERTEX_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_HULL_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_DOMAIN_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_GEOMETRY_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_PIXEL_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = D3D12_ROOT_SIGNATURE_FLAGS.ALLOW_STREAM_OUTPUT;
pub const D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = D3D12_ROOT_SIGNATURE_FLAGS.LOCAL_ROOT_SIGNATURE;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_AMPLIFICATION_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = D3D12_ROOT_SIGNATURE_FLAGS.DENY_MESH_SHADER_ROOT_ACCESS;
pub const D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = D3D12_ROOT_SIGNATURE_FLAGS.CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED;
pub const D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = D3D12_ROOT_SIGNATURE_FLAGS.SAMPLER_HEAP_DIRECTLY_INDEXED;
pub const D3D12_STATIC_BORDER_COLOR = enum(i32) {
TRANSPARENT_BLACK = 0,
OPAQUE_BLACK = 1,
OPAQUE_WHITE = 2,
};
pub const D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = D3D12_STATIC_BORDER_COLOR.TRANSPARENT_BLACK;
pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = D3D12_STATIC_BORDER_COLOR.OPAQUE_BLACK;
pub const D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = D3D12_STATIC_BORDER_COLOR.OPAQUE_WHITE;
pub const D3D12_STATIC_SAMPLER_DESC = extern struct {
Filter: D3D12_FILTER,
AddressU: D3D12_TEXTURE_ADDRESS_MODE,
AddressV: D3D12_TEXTURE_ADDRESS_MODE,
AddressW: D3D12_TEXTURE_ADDRESS_MODE,
MipLODBias: f32,
MaxAnisotropy: u32,
ComparisonFunc: D3D12_COMPARISON_FUNC,
BorderColor: D3D12_STATIC_BORDER_COLOR,
MinLOD: f32,
MaxLOD: f32,
ShaderRegister: u32,
RegisterSpace: u32,
ShaderVisibility: D3D12_SHADER_VISIBILITY,
};
pub const D3D12_ROOT_SIGNATURE_DESC = extern struct {
NumParameters: u32,
pParameters: ?*const D3D12_ROOT_PARAMETER,
NumStaticSamplers: u32,
pStaticSamplers: ?*const D3D12_STATIC_SAMPLER_DESC,
Flags: D3D12_ROOT_SIGNATURE_FLAGS,
};
pub const D3D12_DESCRIPTOR_RANGE_FLAGS = enum(u32) {
NONE = 0,
DESCRIPTORS_VOLATILE = 1,
DATA_VOLATILE = 2,
DATA_STATIC_WHILE_SET_AT_EXECUTE = 4,
DATA_STATIC = 8,
DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 65536,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DESCRIPTORS_VOLATILE: u1 = 0,
DATA_VOLATILE: u1 = 0,
DATA_STATIC_WHILE_SET_AT_EXECUTE: u1 = 0,
DATA_STATIC: u1 = 0,
DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: u1 = 0,
}) D3D12_DESCRIPTOR_RANGE_FLAGS {
return @as(D3D12_DESCRIPTOR_RANGE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.NONE) else 0)
| (if (o.DESCRIPTORS_VOLATILE == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.DESCRIPTORS_VOLATILE) else 0)
| (if (o.DATA_VOLATILE == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_VOLATILE) else 0)
| (if (o.DATA_STATIC_WHILE_SET_AT_EXECUTE == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_STATIC_WHILE_SET_AT_EXECUTE) else 0)
| (if (o.DATA_STATIC == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_STATIC) else 0)
| (if (o.DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS == 1) @intFromEnum(D3D12_DESCRIPTOR_RANGE_FLAGS.DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS) else 0)
));
}
};
pub const D3D12_DESCRIPTOR_RANGE_FLAG_NONE = D3D12_DESCRIPTOR_RANGE_FLAGS.NONE;
pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = D3D12_DESCRIPTOR_RANGE_FLAGS.DESCRIPTORS_VOLATILE;
pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_VOLATILE;
pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_STATIC_WHILE_SET_AT_EXECUTE;
pub const D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = D3D12_DESCRIPTOR_RANGE_FLAGS.DATA_STATIC;
pub const D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = D3D12_DESCRIPTOR_RANGE_FLAGS.DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS;
pub const D3D12_DESCRIPTOR_RANGE1 = extern struct {
RangeType: D3D12_DESCRIPTOR_RANGE_TYPE,
NumDescriptors: u32,
BaseShaderRegister: u32,
RegisterSpace: u32,
Flags: D3D12_DESCRIPTOR_RANGE_FLAGS,
OffsetInDescriptorsFromTableStart: u32,
};
pub const D3D12_ROOT_DESCRIPTOR_TABLE1 = extern struct {
NumDescriptorRanges: u32,
pDescriptorRanges: ?*const D3D12_DESCRIPTOR_RANGE1,
};
pub const D3D12_ROOT_DESCRIPTOR_FLAGS = enum(u32) {
NONE = 0,
DATA_VOLATILE = 2,
DATA_STATIC_WHILE_SET_AT_EXECUTE = 4,
DATA_STATIC = 8,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DATA_VOLATILE: u1 = 0,
DATA_STATIC_WHILE_SET_AT_EXECUTE: u1 = 0,
DATA_STATIC: u1 = 0,
}) D3D12_ROOT_DESCRIPTOR_FLAGS {
return @as(D3D12_ROOT_DESCRIPTOR_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_ROOT_DESCRIPTOR_FLAGS.NONE) else 0)
| (if (o.DATA_VOLATILE == 1) @intFromEnum(D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_VOLATILE) else 0)
| (if (o.DATA_STATIC_WHILE_SET_AT_EXECUTE == 1) @intFromEnum(D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_STATIC_WHILE_SET_AT_EXECUTE) else 0)
| (if (o.DATA_STATIC == 1) @intFromEnum(D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_STATIC) else 0)
));
}
};
pub const D3D12_ROOT_DESCRIPTOR_FLAG_NONE = D3D12_ROOT_DESCRIPTOR_FLAGS.NONE;
pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_VOLATILE;
pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_STATIC_WHILE_SET_AT_EXECUTE;
pub const D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = D3D12_ROOT_DESCRIPTOR_FLAGS.DATA_STATIC;
pub const D3D12_ROOT_DESCRIPTOR1 = extern struct {
ShaderRegister: u32,
RegisterSpace: u32,
Flags: D3D12_ROOT_DESCRIPTOR_FLAGS,
};
pub const D3D12_ROOT_PARAMETER1 = extern struct {
ParameterType: D3D12_ROOT_PARAMETER_TYPE,
Anonymous: extern union {
DescriptorTable: D3D12_ROOT_DESCRIPTOR_TABLE1,
Constants: D3D12_ROOT_CONSTANTS,
Descriptor: D3D12_ROOT_DESCRIPTOR1,
},
ShaderVisibility: D3D12_SHADER_VISIBILITY,
};
pub const D3D12_ROOT_SIGNATURE_DESC1 = extern struct {
NumParameters: u32,
pParameters: ?*const D3D12_ROOT_PARAMETER1,
NumStaticSamplers: u32,
pStaticSamplers: ?*const D3D12_STATIC_SAMPLER_DESC,
Flags: D3D12_ROOT_SIGNATURE_FLAGS,
};
pub const D3D12_VERSIONED_ROOT_SIGNATURE_DESC = extern struct {
Version: D3D_ROOT_SIGNATURE_VERSION,
Anonymous: extern union {
Desc_1_0: D3D12_ROOT_SIGNATURE_DESC,
Desc_1_1: D3D12_ROOT_SIGNATURE_DESC1,
},
};
// This COM type is Agile, not sure what that means
const IID_ID3D12RootSignatureDeserializer_Value = Guid.initString("34ab647b-3cc8-46ac-841b-c0965645c046");
pub const IID_ID3D12RootSignatureDeserializer = &IID_ID3D12RootSignatureDeserializer_Value;
pub const ID3D12RootSignatureDeserializer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetRootSignatureDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12RootSignatureDeserializer,
) callconv(@import("std").os.windows.WINAPI) ?*D3D12_ROOT_SIGNATURE_DESC,
else => *const fn(
self: *const ID3D12RootSignatureDeserializer,
) callconv(@import("std").os.windows.WINAPI) ?*D3D12_ROOT_SIGNATURE_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12RootSignatureDeserializer_GetRootSignatureDesc(self: *const T) callconv(.Inline) ?*D3D12_ROOT_SIGNATURE_DESC {
return @as(*const ID3D12RootSignatureDeserializer.VTable, @ptrCast(self.vtable)).GetRootSignatureDesc(@as(*const ID3D12RootSignatureDeserializer, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12VersionedRootSignatureDeserializer_Value = Guid.initString("7f91ce67-090c-4bb7-b78e-ed8ff2e31da0");
pub const IID_ID3D12VersionedRootSignatureDeserializer = &IID_ID3D12VersionedRootSignatureDeserializer_Value;
pub const ID3D12VersionedRootSignatureDeserializer = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetRootSignatureDescAtVersion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12VersionedRootSignatureDeserializer,
convertToVersion: D3D_ROOT_SIGNATURE_VERSION,
ppDesc: ?*const ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12VersionedRootSignatureDeserializer,
convertToVersion: D3D_ROOT_SIGNATURE_VERSION,
ppDesc: ?*const ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetUnconvertedRootSignatureDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12VersionedRootSignatureDeserializer,
) callconv(@import("std").os.windows.WINAPI) ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
else => *const fn(
self: *const ID3D12VersionedRootSignatureDeserializer,
) callconv(@import("std").os.windows.WINAPI) ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(self: *const T, convertToVersion: D3D_ROOT_SIGNATURE_VERSION, ppDesc: ?*const ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12VersionedRootSignatureDeserializer.VTable, @ptrCast(self.vtable)).GetRootSignatureDescAtVersion(@as(*const ID3D12VersionedRootSignatureDeserializer, @ptrCast(self)), convertToVersion, ppDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(self: *const T) callconv(.Inline) ?*D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
return @as(*const ID3D12VersionedRootSignatureDeserializer.VTable, @ptrCast(self.vtable)).GetUnconvertedRootSignatureDesc(@as(*const ID3D12VersionedRootSignatureDeserializer, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PFN_D3D12_SERIALIZE_ROOT_SIGNATURE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pRootSignature: ?*const D3D12_ROOT_SIGNATURE_DESC,
Version: D3D_ROOT_SIGNATURE_VERSION,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
pRootSignature: ?*const D3D12_ROOT_SIGNATURE_DESC,
Version: D3D_ROOT_SIGNATURE_VERSION,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pRootSignature: ?*const D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
pRootSignature: ?*const D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER = switch (@import("builtin").zig_backend) {
.stage1 => fn(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const D3D12_CPU_DESCRIPTOR_HANDLE = extern struct {
ptr: usize,
};
pub const D3D12_GPU_DESCRIPTOR_HANDLE = extern struct {
ptr: u64,
};
pub const D3D12_DISCARD_REGION = extern struct {
NumRects: u32,
pRects: ?*const RECT,
FirstSubresource: u32,
NumSubresources: u32,
};
pub const D3D12_QUERY_HEAP_TYPE = enum(i32) {
OCCLUSION = 0,
TIMESTAMP = 1,
PIPELINE_STATISTICS = 2,
SO_STATISTICS = 3,
VIDEO_DECODE_STATISTICS = 4,
COPY_QUEUE_TIMESTAMP = 5,
PIPELINE_STATISTICS1 = 7,
};
pub const D3D12_QUERY_HEAP_TYPE_OCCLUSION = D3D12_QUERY_HEAP_TYPE.OCCLUSION;
pub const D3D12_QUERY_HEAP_TYPE_TIMESTAMP = D3D12_QUERY_HEAP_TYPE.TIMESTAMP;
pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = D3D12_QUERY_HEAP_TYPE.PIPELINE_STATISTICS;
pub const D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = D3D12_QUERY_HEAP_TYPE.SO_STATISTICS;
pub const D3D12_QUERY_HEAP_TYPE_VIDEO_DECODE_STATISTICS = D3D12_QUERY_HEAP_TYPE.VIDEO_DECODE_STATISTICS;
pub const D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = D3D12_QUERY_HEAP_TYPE.COPY_QUEUE_TIMESTAMP;
pub const D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = D3D12_QUERY_HEAP_TYPE.PIPELINE_STATISTICS1;
pub const D3D12_QUERY_HEAP_DESC = extern struct {
Type: D3D12_QUERY_HEAP_TYPE,
Count: u32,
NodeMask: u32,
};
pub const D3D12_QUERY_TYPE = enum(i32) {
OCCLUSION = 0,
BINARY_OCCLUSION = 1,
TIMESTAMP = 2,
PIPELINE_STATISTICS = 3,
SO_STATISTICS_STREAM0 = 4,
SO_STATISTICS_STREAM1 = 5,
SO_STATISTICS_STREAM2 = 6,
SO_STATISTICS_STREAM3 = 7,
VIDEO_DECODE_STATISTICS = 8,
PIPELINE_STATISTICS1 = 10,
};
pub const D3D12_QUERY_TYPE_OCCLUSION = D3D12_QUERY_TYPE.OCCLUSION;
pub const D3D12_QUERY_TYPE_BINARY_OCCLUSION = D3D12_QUERY_TYPE.BINARY_OCCLUSION;
pub const D3D12_QUERY_TYPE_TIMESTAMP = D3D12_QUERY_TYPE.TIMESTAMP;
pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS = D3D12_QUERY_TYPE.PIPELINE_STATISTICS;
pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = D3D12_QUERY_TYPE.SO_STATISTICS_STREAM0;
pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = D3D12_QUERY_TYPE.SO_STATISTICS_STREAM1;
pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = D3D12_QUERY_TYPE.SO_STATISTICS_STREAM2;
pub const D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = D3D12_QUERY_TYPE.SO_STATISTICS_STREAM3;
pub const D3D12_QUERY_TYPE_VIDEO_DECODE_STATISTICS = D3D12_QUERY_TYPE.VIDEO_DECODE_STATISTICS;
pub const D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = D3D12_QUERY_TYPE.PIPELINE_STATISTICS1;
pub const D3D12_PREDICATION_OP = enum(i32) {
EQUAL_ZERO = 0,
NOT_EQUAL_ZERO = 1,
};
pub const D3D12_PREDICATION_OP_EQUAL_ZERO = D3D12_PREDICATION_OP.EQUAL_ZERO;
pub const D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = D3D12_PREDICATION_OP.NOT_EQUAL_ZERO;
pub const D3D12_QUERY_DATA_PIPELINE_STATISTICS = extern struct {
IAVertices: u64,
IAPrimitives: u64,
VSInvocations: u64,
GSInvocations: u64,
GSPrimitives: u64,
CInvocations: u64,
CPrimitives: u64,
PSInvocations: u64,
HSInvocations: u64,
DSInvocations: u64,
CSInvocations: u64,
};
pub const D3D12_QUERY_DATA_PIPELINE_STATISTICS1 = extern struct {
IAVertices: u64,
IAPrimitives: u64,
VSInvocations: u64,
GSInvocations: u64,
GSPrimitives: u64,
CInvocations: u64,
CPrimitives: u64,
PSInvocations: u64,
HSInvocations: u64,
DSInvocations: u64,
CSInvocations: u64,
ASInvocations: u64,
MSInvocations: u64,
MSPrimitives: u64,
};
pub const D3D12_QUERY_DATA_SO_STATISTICS = extern struct {
NumPrimitivesWritten: u64,
PrimitivesStorageNeeded: u64,
};
pub const D3D12_STREAM_OUTPUT_BUFFER_VIEW = extern struct {
BufferLocation: u64,
SizeInBytes: u64,
BufferFilledSizeLocation: u64,
};
pub const D3D12_DRAW_ARGUMENTS = extern struct {
VertexCountPerInstance: u32,
InstanceCount: u32,
StartVertexLocation: u32,
StartInstanceLocation: u32,
};
pub const D3D12_DRAW_INDEXED_ARGUMENTS = extern struct {
IndexCountPerInstance: u32,
InstanceCount: u32,
StartIndexLocation: u32,
BaseVertexLocation: i32,
StartInstanceLocation: u32,
};
pub const D3D12_DISPATCH_ARGUMENTS = extern struct {
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
};
pub const D3D12_VERTEX_BUFFER_VIEW = extern struct {
BufferLocation: u64,
SizeInBytes: u32,
StrideInBytes: u32,
};
pub const D3D12_INDEX_BUFFER_VIEW = extern struct {
BufferLocation: u64,
SizeInBytes: u32,
Format: DXGI_FORMAT,
};
pub const D3D12_INDIRECT_ARGUMENT_TYPE = enum(i32) {
DRAW = 0,
DRAW_INDEXED = 1,
DISPATCH = 2,
VERTEX_BUFFER_VIEW = 3,
INDEX_BUFFER_VIEW = 4,
CONSTANT = 5,
CONSTANT_BUFFER_VIEW = 6,
SHADER_RESOURCE_VIEW = 7,
UNORDERED_ACCESS_VIEW = 8,
DISPATCH_RAYS = 9,
DISPATCH_MESH = 10,
};
pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = D3D12_INDIRECT_ARGUMENT_TYPE.DRAW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = D3D12_INDIRECT_ARGUMENT_TYPE.DRAW_INDEXED;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = D3D12_INDIRECT_ARGUMENT_TYPE.DISPATCH;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = D3D12_INDIRECT_ARGUMENT_TYPE.VERTEX_BUFFER_VIEW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = D3D12_INDIRECT_ARGUMENT_TYPE.INDEX_BUFFER_VIEW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = D3D12_INDIRECT_ARGUMENT_TYPE.CONSTANT;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = D3D12_INDIRECT_ARGUMENT_TYPE.CONSTANT_BUFFER_VIEW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = D3D12_INDIRECT_ARGUMENT_TYPE.SHADER_RESOURCE_VIEW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = D3D12_INDIRECT_ARGUMENT_TYPE.UNORDERED_ACCESS_VIEW;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = D3D12_INDIRECT_ARGUMENT_TYPE.DISPATCH_RAYS;
pub const D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = D3D12_INDIRECT_ARGUMENT_TYPE.DISPATCH_MESH;
pub const D3D12_INDIRECT_ARGUMENT_DESC = extern struct {
Type: D3D12_INDIRECT_ARGUMENT_TYPE,
Anonymous: extern union {
VertexBuffer: extern struct {
Slot: u32,
},
Constant: extern struct {
RootParameterIndex: u32,
DestOffsetIn32BitValues: u32,
Num32BitValuesToSet: u32,
},
ConstantBufferView: extern struct {
RootParameterIndex: u32,
},
ShaderResourceView: extern struct {
RootParameterIndex: u32,
},
UnorderedAccessView: extern struct {
RootParameterIndex: u32,
},
},
};
pub const D3D12_COMMAND_SIGNATURE_DESC = extern struct {
ByteStride: u32,
NumArgumentDescs: u32,
pArgumentDescs: ?*const D3D12_INDIRECT_ARGUMENT_DESC,
NodeMask: u32,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Pageable_Value = Guid.initString("63ee58fb-1268-4835-86da-f008ce62f0d6");
pub const IID_ID3D12Pageable = &IID_ID3D12Pageable_Value;
pub const ID3D12Pageable = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Heap_Value = Guid.initString("6b3b2502-6e51-45b3-90ee-9884265e8df3");
pub const IID_ID3D12Heap = &IID_ID3D12Heap_Value;
pub const ID3D12Heap = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Heap,
) callconv(@import("std").os.windows.WINAPI) D3D12_HEAP_DESC,
else => *const fn(
self: *const ID3D12Heap,
) callconv(@import("std").os.windows.WINAPI) D3D12_HEAP_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Heap_GetDesc(self: *const T) callconv(.Inline) D3D12_HEAP_DESC {
return @as(*const ID3D12Heap.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12Heap, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Resource_Value = Guid.initString("696442be-a72e-4059-bc79-5b5c98040fad");
pub const IID_ID3D12Resource = &IID_ID3D12Resource_Value;
pub const ID3D12Resource = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
Map: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
Subresource: u32,
pReadRange: ?*const D3D12_RANGE,
ppData: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Resource,
Subresource: u32,
pReadRange: ?*const D3D12_RANGE,
ppData: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Unmap: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
Subresource: u32,
pWrittenRange: ?*const D3D12_RANGE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Resource,
Subresource: u32,
pWrittenRange: ?*const D3D12_RANGE,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_DESC,
else => *const fn(
self: *const ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_DESC,
},
GetGPUVirtualAddress: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) u64,
},
WriteToSubresource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
DstSubresource: u32,
pDstBox: ?*const D3D12_BOX,
pSrcData: ?*const anyopaque,
SrcRowPitch: u32,
SrcDepthPitch: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Resource,
DstSubresource: u32,
pDstBox: ?*const D3D12_BOX,
pSrcData: ?*const anyopaque,
SrcRowPitch: u32,
SrcDepthPitch: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ReadFromSubresource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
pDstData: ?*anyopaque,
DstRowPitch: u32,
DstDepthPitch: u32,
SrcSubresource: u32,
pSrcBox: ?*const D3D12_BOX,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Resource,
pDstData: ?*anyopaque,
DstRowPitch: u32,
DstDepthPitch: u32,
SrcSubresource: u32,
pSrcBox: ?*const D3D12_BOX,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetHeapProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource,
pHeapProperties: ?*D3D12_HEAP_PROPERTIES,
pHeapFlags: ?*D3D12_HEAP_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Resource,
pHeapProperties: ?*D3D12_HEAP_PROPERTIES,
pHeapFlags: ?*D3D12_HEAP_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_Map(self: *const T, Subresource: u32, pReadRange: ?*const D3D12_RANGE, ppData: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).Map(@as(*const ID3D12Resource, @ptrCast(self)), Subresource, pReadRange, ppData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_Unmap(self: *const T, Subresource: u32, pWrittenRange: ?*const D3D12_RANGE) callconv(.Inline) void {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).Unmap(@as(*const ID3D12Resource, @ptrCast(self)), Subresource, pWrittenRange);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_GetDesc(self: *const T) callconv(.Inline) D3D12_RESOURCE_DESC {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12Resource, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_GetGPUVirtualAddress(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).GetGPUVirtualAddress(@as(*const ID3D12Resource, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_WriteToSubresource(self: *const T, DstSubresource: u32, pDstBox: ?*const D3D12_BOX, pSrcData: ?*const anyopaque, SrcRowPitch: u32, SrcDepthPitch: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).WriteToSubresource(@as(*const ID3D12Resource, @ptrCast(self)), DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_ReadFromSubresource(self: *const T, pDstData: ?*anyopaque, DstRowPitch: u32, DstDepthPitch: u32, SrcSubresource: u32, pSrcBox: ?*const D3D12_BOX) callconv(.Inline) HRESULT {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).ReadFromSubresource(@as(*const ID3D12Resource, @ptrCast(self)), pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource_GetHeapProperties(self: *const T, pHeapProperties: ?*D3D12_HEAP_PROPERTIES, pHeapFlags: ?*D3D12_HEAP_FLAGS) callconv(.Inline) HRESULT {
return @as(*const ID3D12Resource.VTable, @ptrCast(self.vtable)).GetHeapProperties(@as(*const ID3D12Resource, @ptrCast(self)), pHeapProperties, pHeapFlags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12CommandAllocator_Value = Guid.initString("6102dee4-af59-4b09-b999-b44d73f09b24");
pub const IID_ID3D12CommandAllocator = &IID_ID3D12CommandAllocator_Value;
pub const ID3D12CommandAllocator = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
Reset: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandAllocator,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12CommandAllocator,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandAllocator_Reset(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12CommandAllocator.VTable, @ptrCast(self.vtable)).Reset(@as(*const ID3D12CommandAllocator, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Fence_Value = Guid.initString("0a753dcf-c4d8-4b91-adf6-be5a60d95a76");
pub const IID_ID3D12Fence = &IID_ID3D12Fence_Value;
pub const ID3D12Fence = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
GetCompletedValue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Fence,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12Fence,
) callconv(@import("std").os.windows.WINAPI) u64,
},
SetEventOnCompletion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Fence,
Value: u64,
hEvent: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Fence,
Value: u64,
hEvent: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Signal: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Fence_GetCompletedValue(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12Fence.VTable, @ptrCast(self.vtable)).GetCompletedValue(@as(*const ID3D12Fence, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Fence_SetEventOnCompletion(self: *const T, Value: u64, hEvent: ?HANDLE) callconv(.Inline) HRESULT {
return @as(*const ID3D12Fence.VTable, @ptrCast(self.vtable)).SetEventOnCompletion(@as(*const ID3D12Fence, @ptrCast(self)), Value, hEvent);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Fence_Signal(self: *const T, Value: u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12Fence.VTable, @ptrCast(self.vtable)).Signal(@as(*const ID3D12Fence, @ptrCast(self)), Value);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Fence1_Value = Guid.initString("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a");
pub const IID_ID3D12Fence1 = &IID_ID3D12Fence1_Value;
pub const ID3D12Fence1 = extern struct {
pub const VTable = extern struct {
base: ID3D12Fence.VTable,
GetCreationFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Fence1,
) callconv(@import("std").os.windows.WINAPI) D3D12_FENCE_FLAGS,
else => *const fn(
self: *const ID3D12Fence1,
) callconv(@import("std").os.windows.WINAPI) D3D12_FENCE_FLAGS,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Fence.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Fence1_GetCreationFlags(self: *const T) callconv(.Inline) D3D12_FENCE_FLAGS {
return @as(*const ID3D12Fence1.VTable, @ptrCast(self.vtable)).GetCreationFlags(@as(*const ID3D12Fence1, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12PipelineState_Value = Guid.initString("765a30f3-f624-4c6f-a828-ace948622445");
pub const IID_ID3D12PipelineState = &IID_ID3D12PipelineState_Value;
pub const ID3D12PipelineState = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
GetCachedBlob: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineState,
ppBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineState,
ppBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineState_GetCachedBlob(self: *const T, ppBlob: ?*?*ID3DBlob) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineState.VTable, @ptrCast(self.vtable)).GetCachedBlob(@as(*const ID3D12PipelineState, @ptrCast(self)), ppBlob);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DescriptorHeap_Value = Guid.initString("8efb471d-616c-4f49-90f7-127bb763fa51");
pub const IID_ID3D12DescriptorHeap = &IID_ID3D12DescriptorHeap_Value;
pub const ID3D12DescriptorHeap = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_DESCRIPTOR_HEAP_DESC,
else => *const fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_DESCRIPTOR_HEAP_DESC,
},
GetCPUDescriptorHandleForHeapStart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_CPU_DESCRIPTOR_HANDLE,
else => *const fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_CPU_DESCRIPTOR_HANDLE,
},
GetGPUDescriptorHandleForHeapStart: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_GPU_DESCRIPTOR_HANDLE,
else => *const fn(
self: *const ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) D3D12_GPU_DESCRIPTOR_HANDLE,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DescriptorHeap_GetDesc(self: *const T) callconv(.Inline) D3D12_DESCRIPTOR_HEAP_DESC {
return @as(*const ID3D12DescriptorHeap.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12DescriptorHeap, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(self: *const T) callconv(.Inline) D3D12_CPU_DESCRIPTOR_HANDLE {
return @as(*const ID3D12DescriptorHeap.VTable, @ptrCast(self.vtable)).GetCPUDescriptorHandleForHeapStart(@as(*const ID3D12DescriptorHeap, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(self: *const T) callconv(.Inline) D3D12_GPU_DESCRIPTOR_HANDLE {
return @as(*const ID3D12DescriptorHeap.VTable, @ptrCast(self.vtable)).GetGPUDescriptorHandleForHeapStart(@as(*const ID3D12DescriptorHeap, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12QueryHeap_Value = Guid.initString("0d9658ae-ed45-469e-a61d-970ec583cab4");
pub const IID_ID3D12QueryHeap = &IID_ID3D12QueryHeap_Value;
pub const ID3D12QueryHeap = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12CommandSignature_Value = Guid.initString("c36a797c-ec80-4f0a-8985-a7b2475082d1");
pub const IID_ID3D12CommandSignature = &IID_ID3D12CommandSignature_Value;
pub const ID3D12CommandSignature = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12CommandList_Value = Guid.initString("7116d91c-e7e4-47ce-b8c6-ec8168f437e5");
pub const IID_ID3D12CommandList = &IID_ID3D12CommandList_Value;
pub const ID3D12CommandList = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
GetType: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandList,
) callconv(@import("std").os.windows.WINAPI) D3D12_COMMAND_LIST_TYPE,
else => *const fn(
self: *const ID3D12CommandList,
) callconv(@import("std").os.windows.WINAPI) D3D12_COMMAND_LIST_TYPE,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandList_GetType(self: *const T) callconv(.Inline) D3D12_COMMAND_LIST_TYPE {
return @as(*const ID3D12CommandList.VTable, @ptrCast(self.vtable)).GetType(@as(*const ID3D12CommandList, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList_Value = Guid.initString("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455");
pub const IID_ID3D12GraphicsCommandList = &IID_ID3D12GraphicsCommandList_Value;
pub const ID3D12GraphicsCommandList = extern struct {
pub const VTable = extern struct {
base: ID3D12CommandList.VTable,
Close: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Reset: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pAllocator: ?*ID3D12CommandAllocator,
pInitialState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pAllocator: ?*ID3D12CommandAllocator,
pInitialState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ClearState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pPipelineState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pPipelineState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) void,
},
DrawInstanced: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
VertexCountPerInstance: u32,
InstanceCount: u32,
StartVertexLocation: u32,
StartInstanceLocation: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
VertexCountPerInstance: u32,
InstanceCount: u32,
StartVertexLocation: u32,
StartInstanceLocation: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
DrawIndexedInstanced: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
IndexCountPerInstance: u32,
InstanceCount: u32,
StartIndexLocation: u32,
BaseVertexLocation: i32,
StartInstanceLocation: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
IndexCountPerInstance: u32,
InstanceCount: u32,
StartIndexLocation: u32,
BaseVertexLocation: i32,
StartInstanceLocation: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
Dispatch: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyBufferRegion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
NumBytes: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
NumBytes: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyTextureRegion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pDst: ?*const D3D12_TEXTURE_COPY_LOCATION,
DstX: u32,
DstY: u32,
DstZ: u32,
pSrc: ?*const D3D12_TEXTURE_COPY_LOCATION,
pSrcBox: ?*const D3D12_BOX,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pDst: ?*const D3D12_TEXTURE_COPY_LOCATION,
DstX: u32,
DstY: u32,
DstZ: u32,
pSrc: ?*const D3D12_TEXTURE_COPY_LOCATION,
pSrcBox: ?*const D3D12_BOX,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pDstResource: ?*ID3D12Resource,
pSrcResource: ?*ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pDstResource: ?*ID3D12Resource,
pSrcResource: ?*ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyTiles: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pTiledResource: ?*ID3D12Resource,
pTileRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pTileRegionSize: ?*const D3D12_TILE_REGION_SIZE,
pBuffer: ?*ID3D12Resource,
BufferStartOffsetInBytes: u64,
Flags: D3D12_TILE_COPY_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pTiledResource: ?*ID3D12Resource,
pTileRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pTileRegionSize: ?*const D3D12_TILE_REGION_SIZE,
pBuffer: ?*ID3D12Resource,
BufferStartOffsetInBytes: u64,
Flags: D3D12_TILE_COPY_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
ResolveSubresource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pDstResource: ?*ID3D12Resource,
DstSubresource: u32,
pSrcResource: ?*ID3D12Resource,
SrcSubresource: u32,
Format: DXGI_FORMAT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pDstResource: ?*ID3D12Resource,
DstSubresource: u32,
pSrcResource: ?*ID3D12Resource,
SrcSubresource: u32,
Format: DXGI_FORMAT,
) callconv(@import("std").os.windows.WINAPI) void,
},
IASetPrimitiveTopology: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
PrimitiveTopology: D3D_PRIMITIVE_TOPOLOGY,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
PrimitiveTopology: D3D_PRIMITIVE_TOPOLOGY,
) callconv(@import("std").os.windows.WINAPI) void,
},
RSSetViewports: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
NumViewports: u32,
pViewports: [*]const D3D12_VIEWPORT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
NumViewports: u32,
pViewports: [*]const D3D12_VIEWPORT,
) callconv(@import("std").os.windows.WINAPI) void,
},
RSSetScissorRects: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
},
OMSetBlendFactor: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
BlendFactor: ?*[4]f32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
BlendFactor: ?*[4]f32,
) callconv(@import("std").os.windows.WINAPI) void,
},
OMSetStencilRef: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
StencilRef: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
StencilRef: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetPipelineState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pPipelineState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pPipelineState: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) void,
},
ResourceBarrier: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
NumBarriers: u32,
pBarriers: [*]const D3D12_RESOURCE_BARRIER,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
NumBarriers: u32,
pBarriers: [*]const D3D12_RESOURCE_BARRIER,
) callconv(@import("std").os.windows.WINAPI) void,
},
ExecuteBundle: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pCommandList: ?*ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pCommandList: ?*ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetDescriptorHeaps: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
NumDescriptorHeaps: u32,
ppDescriptorHeaps: [*]?*ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
NumDescriptorHeaps: u32,
ppDescriptorHeaps: [*]?*ID3D12DescriptorHeap,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRootSignature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pRootSignature: ?*ID3D12RootSignature,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pRootSignature: ?*ID3D12RootSignature,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRootSignature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pRootSignature: ?*ID3D12RootSignature,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pRootSignature: ?*ID3D12RootSignature,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRootDescriptorTable: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRootDescriptorTable: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRoot32BitConstant: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
SrcData: u32,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
SrcData: u32,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRoot32BitConstant: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
SrcData: u32,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
SrcData: u32,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRoot32BitConstants: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
Num32BitValuesToSet: u32,
pSrcData: ?*const anyopaque,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
Num32BitValuesToSet: u32,
pSrcData: ?*const anyopaque,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRoot32BitConstants: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
Num32BitValuesToSet: u32,
pSrcData: ?*const anyopaque,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
Num32BitValuesToSet: u32,
pSrcData: ?*const anyopaque,
DestOffsetIn32BitValues: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRootConstantBufferView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRootConstantBufferView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRootShaderResourceView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRootShaderResourceView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetComputeRootUnorderedAccessView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGraphicsRootUnorderedAccessView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RootParameterIndex: u32,
BufferLocation: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
IASetIndexBuffer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pView: ?*const D3D12_INDEX_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pView: ?*const D3D12_INDEX_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
},
IASetVertexBuffers: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
StartSlot: u32,
NumViews: u32,
pViews: ?[*]const D3D12_VERTEX_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
StartSlot: u32,
NumViews: u32,
pViews: ?[*]const D3D12_VERTEX_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
},
SOSetTargets: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
StartSlot: u32,
NumViews: u32,
pViews: ?[*]const D3D12_STREAM_OUTPUT_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
StartSlot: u32,
NumViews: u32,
pViews: ?[*]const D3D12_STREAM_OUTPUT_BUFFER_VIEW,
) callconv(@import("std").os.windows.WINAPI) void,
},
OMSetRenderTargets: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
NumRenderTargetDescriptors: u32,
pRenderTargetDescriptors: ?*const D3D12_CPU_DESCRIPTOR_HANDLE,
RTsSingleHandleToDescriptorRange: BOOL,
pDepthStencilDescriptor: ?*const D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
NumRenderTargetDescriptors: u32,
pRenderTargetDescriptors: ?*const D3D12_CPU_DESCRIPTOR_HANDLE,
RTsSingleHandleToDescriptorRange: BOOL,
pDepthStencilDescriptor: ?*const D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
ClearDepthStencilView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
DepthStencilView: D3D12_CPU_DESCRIPTOR_HANDLE,
ClearFlags: D3D12_CLEAR_FLAGS,
Depth: f32,
Stencil: u8,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
DepthStencilView: D3D12_CPU_DESCRIPTOR_HANDLE,
ClearFlags: D3D12_CLEAR_FLAGS,
Depth: f32,
Stencil: u8,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
},
ClearRenderTargetView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
RenderTargetView: D3D12_CPU_DESCRIPTOR_HANDLE,
ColorRGBA: ?*const f32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
RenderTargetView: D3D12_CPU_DESCRIPTOR_HANDLE,
ColorRGBA: ?*const f32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
},
ClearUnorderedAccessViewUint: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE,
ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE,
pResource: ?*ID3D12Resource,
Values: ?*const u32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE,
ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE,
pResource: ?*ID3D12Resource,
Values: ?*const u32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
},
ClearUnorderedAccessViewFloat: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE,
ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE,
pResource: ?*ID3D12Resource,
Values: ?*const f32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE,
ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE,
pResource: ?*ID3D12Resource,
Values: ?*const f32,
NumRects: u32,
pRects: [*]const RECT,
) callconv(@import("std").os.windows.WINAPI) void,
},
DiscardResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pResource: ?*ID3D12Resource,
pRegion: ?*const D3D12_DISCARD_REGION,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pResource: ?*ID3D12Resource,
pRegion: ?*const D3D12_DISCARD_REGION,
) callconv(@import("std").os.windows.WINAPI) void,
},
BeginQuery: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
EndQuery: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
ResolveQueryData: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
StartIndex: u32,
NumQueries: u32,
pDestinationBuffer: ?*ID3D12Resource,
AlignedDestinationBufferOffset: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pQueryHeap: ?*ID3D12QueryHeap,
Type: D3D12_QUERY_TYPE,
StartIndex: u32,
NumQueries: u32,
pDestinationBuffer: ?*ID3D12Resource,
AlignedDestinationBufferOffset: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetPredication: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pBuffer: ?*ID3D12Resource,
AlignedBufferOffset: u64,
Operation: D3D12_PREDICATION_OP,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pBuffer: ?*ID3D12Resource,
AlignedBufferOffset: u64,
Operation: D3D12_PREDICATION_OP,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetMarker: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
BeginEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
EndEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
) callconv(@import("std").os.windows.WINAPI) void,
},
ExecuteIndirect: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList,
pCommandSignature: ?*ID3D12CommandSignature,
MaxCommandCount: u32,
pArgumentBuffer: ?*ID3D12Resource,
ArgumentBufferOffset: u64,
pCountBuffer: ?*ID3D12Resource,
CountBufferOffset: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList,
pCommandSignature: ?*ID3D12CommandSignature,
MaxCommandCount: u32,
pArgumentBuffer: ?*ID3D12Resource,
ArgumentBufferOffset: u64,
pCountBuffer: ?*ID3D12Resource,
CountBufferOffset: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12CommandList.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_Close(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).Close(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_Reset(self: *const T, pAllocator: ?*ID3D12CommandAllocator, pInitialState: ?*ID3D12PipelineState) callconv(.Inline) HRESULT {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).Reset(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pAllocator, pInitialState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ClearState(self: *const T, pPipelineState: ?*ID3D12PipelineState) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ClearState(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_DrawInstanced(self: *const T, VertexCountPerInstance: u32, InstanceCount: u32, StartVertexLocation: u32, StartInstanceLocation: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).DrawInstanced(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_DrawIndexedInstanced(self: *const T, IndexCountPerInstance: u32, InstanceCount: u32, StartIndexLocation: u32, BaseVertexLocation: i32, StartInstanceLocation: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).DrawIndexedInstanced(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_Dispatch(self: *const T, ThreadGroupCountX: u32, ThreadGroupCountY: u32, ThreadGroupCountZ: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).Dispatch(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_CopyBufferRegion(self: *const T, pDstBuffer: ?*ID3D12Resource, DstOffset: u64, pSrcBuffer: ?*ID3D12Resource, SrcOffset: u64, NumBytes: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).CopyBufferRegion(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_CopyTextureRegion(self: *const T, pDst: ?*const D3D12_TEXTURE_COPY_LOCATION, DstX: u32, DstY: u32, DstZ: u32, pSrc: ?*const D3D12_TEXTURE_COPY_LOCATION, pSrcBox: ?*const D3D12_BOX) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).CopyTextureRegion(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pDst, DstX, DstY, DstZ, pSrc, pSrcBox);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_CopyResource(self: *const T, pDstResource: ?*ID3D12Resource, pSrcResource: ?*ID3D12Resource) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).CopyResource(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pDstResource, pSrcResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_CopyTiles(self: *const T, pTiledResource: ?*ID3D12Resource, pTileRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE, pTileRegionSize: ?*const D3D12_TILE_REGION_SIZE, pBuffer: ?*ID3D12Resource, BufferStartOffsetInBytes: u64, Flags: D3D12_TILE_COPY_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).CopyTiles(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ResolveSubresource(self: *const T, pDstResource: ?*ID3D12Resource, DstSubresource: u32, pSrcResource: ?*ID3D12Resource, SrcSubresource: u32, Format: DXGI_FORMAT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ResolveSubresource(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_IASetPrimitiveTopology(self: *const T, PrimitiveTopology: D3D_PRIMITIVE_TOPOLOGY) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).IASetPrimitiveTopology(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), PrimitiveTopology);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_RSSetViewports(self: *const T, NumViewports: u32, pViewports: [*]const D3D12_VIEWPORT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).RSSetViewports(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), NumViewports, pViewports);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_RSSetScissorRects(self: *const T, NumRects: u32, pRects: [*]const RECT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).RSSetScissorRects(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), NumRects, pRects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_OMSetBlendFactor(self: *const T, BlendFactor: ?*[4]f32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).OMSetBlendFactor(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), BlendFactor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_OMSetStencilRef(self: *const T, StencilRef: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).OMSetStencilRef(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), StencilRef);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetPipelineState(self: *const T, pPipelineState: ?*ID3D12PipelineState) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetPipelineState(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ResourceBarrier(self: *const T, NumBarriers: u32, pBarriers: [*]const D3D12_RESOURCE_BARRIER) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ResourceBarrier(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), NumBarriers, pBarriers);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ExecuteBundle(self: *const T, pCommandList: ?*ID3D12GraphicsCommandList) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ExecuteBundle(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pCommandList);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetDescriptorHeaps(self: *const T, NumDescriptorHeaps: u32, ppDescriptorHeaps: [*]?*ID3D12DescriptorHeap) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetDescriptorHeaps(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), NumDescriptorHeaps, ppDescriptorHeaps);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRootSignature(self: *const T, pRootSignature: ?*ID3D12RootSignature) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRootSignature(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pRootSignature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRootSignature(self: *const T, pRootSignature: ?*ID3D12RootSignature) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRootSignature(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pRootSignature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(self: *const T, RootParameterIndex: u32, BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRootDescriptorTable(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BaseDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(self: *const T, RootParameterIndex: u32, BaseDescriptor: D3D12_GPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRootDescriptorTable(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BaseDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(self: *const T, RootParameterIndex: u32, SrcData: u32, DestOffsetIn32BitValues: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRoot32BitConstant(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, SrcData, DestOffsetIn32BitValues);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(self: *const T, RootParameterIndex: u32, SrcData: u32, DestOffsetIn32BitValues: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRoot32BitConstant(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, SrcData, DestOffsetIn32BitValues);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(self: *const T, RootParameterIndex: u32, Num32BitValuesToSet: u32, pSrcData: ?*const anyopaque, DestOffsetIn32BitValues: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRoot32BitConstants(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(self: *const T, RootParameterIndex: u32, Num32BitValuesToSet: u32, pSrcData: ?*const anyopaque, DestOffsetIn32BitValues: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRoot32BitConstants(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRootConstantBufferView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRootConstantBufferView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRootShaderResourceView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRootShaderResourceView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetComputeRootUnorderedAccessView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(self: *const T, RootParameterIndex: u32, BufferLocation: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetGraphicsRootUnorderedAccessView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RootParameterIndex, BufferLocation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_IASetIndexBuffer(self: *const T, pView: ?*const D3D12_INDEX_BUFFER_VIEW) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).IASetIndexBuffer(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pView);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_IASetVertexBuffers(self: *const T, StartSlot: u32, NumViews: u32, pViews: ?[*]const D3D12_VERTEX_BUFFER_VIEW) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).IASetVertexBuffers(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), StartSlot, NumViews, pViews);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SOSetTargets(self: *const T, StartSlot: u32, NumViews: u32, pViews: ?[*]const D3D12_STREAM_OUTPUT_BUFFER_VIEW) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SOSetTargets(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), StartSlot, NumViews, pViews);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_OMSetRenderTargets(self: *const T, NumRenderTargetDescriptors: u32, pRenderTargetDescriptors: ?*const D3D12_CPU_DESCRIPTOR_HANDLE, RTsSingleHandleToDescriptorRange: BOOL, pDepthStencilDescriptor: ?*const D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).OMSetRenderTargets(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ClearDepthStencilView(self: *const T, DepthStencilView: D3D12_CPU_DESCRIPTOR_HANDLE, ClearFlags: D3D12_CLEAR_FLAGS, Depth: f32, Stencil: u8, NumRects: u32, pRects: [*]const RECT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ClearDepthStencilView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ClearRenderTargetView(self: *const T, RenderTargetView: D3D12_CPU_DESCRIPTOR_HANDLE, ColorRGBA: ?*const f32, NumRects: u32, pRects: [*]const RECT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ClearRenderTargetView(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), RenderTargetView, ColorRGBA, NumRects, pRects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(self: *const T, ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE, ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE, pResource: ?*ID3D12Resource, Values: ?*const u32, NumRects: u32, pRects: [*]const RECT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ClearUnorderedAccessViewUint(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(self: *const T, ViewGPUHandleInCurrentHeap: D3D12_GPU_DESCRIPTOR_HANDLE, ViewCPUHandle: D3D12_CPU_DESCRIPTOR_HANDLE, pResource: ?*ID3D12Resource, Values: ?*const f32, NumRects: u32, pRects: [*]const RECT) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ClearUnorderedAccessViewFloat(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_DiscardResource(self: *const T, pResource: ?*ID3D12Resource, pRegion: ?*const D3D12_DISCARD_REGION) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).DiscardResource(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pResource, pRegion);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_BeginQuery(self: *const T, pQueryHeap: ?*ID3D12QueryHeap, Type: D3D12_QUERY_TYPE, Index: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).BeginQuery(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pQueryHeap, Type, Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_EndQuery(self: *const T, pQueryHeap: ?*ID3D12QueryHeap, Type: D3D12_QUERY_TYPE, Index: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).EndQuery(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pQueryHeap, Type, Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ResolveQueryData(self: *const T, pQueryHeap: ?*ID3D12QueryHeap, Type: D3D12_QUERY_TYPE, StartIndex: u32, NumQueries: u32, pDestinationBuffer: ?*ID3D12Resource, AlignedDestinationBufferOffset: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ResolveQueryData(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetPredication(self: *const T, pBuffer: ?*ID3D12Resource, AlignedBufferOffset: u64, Operation: D3D12_PREDICATION_OP) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetPredication(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pBuffer, AlignedBufferOffset, Operation);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_SetMarker(self: *const T, Metadata: u32, pData: ?*const anyopaque, Size: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).SetMarker(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), Metadata, pData, Size);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_BeginEvent(self: *const T, Metadata: u32, pData: ?*const anyopaque, Size: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).BeginEvent(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), Metadata, pData, Size);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_EndEvent(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).EndEvent(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList_ExecuteIndirect(self: *const T, pCommandSignature: ?*ID3D12CommandSignature, MaxCommandCount: u32, pArgumentBuffer: ?*ID3D12Resource, ArgumentBufferOffset: u64, pCountBuffer: ?*ID3D12Resource, CountBufferOffset: u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList.VTable, @ptrCast(self.vtable)).ExecuteIndirect(@as(*const ID3D12GraphicsCommandList, @ptrCast(self)), pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList1_Value = Guid.initString("553103fb-1fe7-4557-bb38-946d7d0e7ca7");
pub const IID_ID3D12GraphicsCommandList1 = &IID_ID3D12GraphicsCommandList1_Value;
pub const ID3D12GraphicsCommandList1 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList.VTable,
AtomicCopyBufferUINT: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
Dependencies: u32,
ppDependentResources: [*]?*ID3D12Resource,
pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
Dependencies: u32,
ppDependentResources: [*]?*ID3D12Resource,
pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64,
) callconv(@import("std").os.windows.WINAPI) void,
},
AtomicCopyBufferUINT64: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
Dependencies: u32,
ppDependentResources: [*]?*ID3D12Resource,
pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
pDstBuffer: ?*ID3D12Resource,
DstOffset: u64,
pSrcBuffer: ?*ID3D12Resource,
SrcOffset: u64,
Dependencies: u32,
ppDependentResources: [*]?*ID3D12Resource,
pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64,
) callconv(@import("std").os.windows.WINAPI) void,
},
OMSetDepthBounds: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
Min: f32,
Max: f32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
Min: f32,
Max: f32,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetSamplePositions: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
NumSamplesPerPixel: u32,
NumPixels: u32,
pSamplePositions: ?*D3D12_SAMPLE_POSITION,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
NumSamplesPerPixel: u32,
NumPixels: u32,
pSamplePositions: ?*D3D12_SAMPLE_POSITION,
) callconv(@import("std").os.windows.WINAPI) void,
},
ResolveSubresourceRegion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
pDstResource: ?*ID3D12Resource,
DstSubresource: u32,
DstX: u32,
DstY: u32,
pSrcResource: ?*ID3D12Resource,
SrcSubresource: u32,
pSrcRect: ?*RECT,
Format: DXGI_FORMAT,
ResolveMode: D3D12_RESOLVE_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
pDstResource: ?*ID3D12Resource,
DstSubresource: u32,
DstX: u32,
DstY: u32,
pSrcResource: ?*ID3D12Resource,
SrcSubresource: u32,
pSrcRect: ?*RECT,
Format: DXGI_FORMAT,
ResolveMode: D3D12_RESOLVE_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetViewInstanceMask: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList1,
Mask: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList1,
Mask: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(self: *const T, pDstBuffer: ?*ID3D12Resource, DstOffset: u64, pSrcBuffer: ?*ID3D12Resource, SrcOffset: u64, Dependencies: u32, ppDependentResources: [*]?*ID3D12Resource, pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).AtomicCopyBufferUINT(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, Dependencies, ppDependentResources, pDependentSubresourceRanges);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(self: *const T, pDstBuffer: ?*ID3D12Resource, DstOffset: u64, pSrcBuffer: ?*ID3D12Resource, SrcOffset: u64, Dependencies: u32, ppDependentResources: [*]?*ID3D12Resource, pDependentSubresourceRanges: [*]const D3D12_SUBRESOURCE_RANGE_UINT64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).AtomicCopyBufferUINT64(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, Dependencies, ppDependentResources, pDependentSubresourceRanges);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_OMSetDepthBounds(self: *const T, Min: f32, Max: f32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).OMSetDepthBounds(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), Min, Max);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_SetSamplePositions(self: *const T, NumSamplesPerPixel: u32, NumPixels: u32, pSamplePositions: ?*D3D12_SAMPLE_POSITION) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).SetSamplePositions(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), NumSamplesPerPixel, NumPixels, pSamplePositions);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_ResolveSubresourceRegion(self: *const T, pDstResource: ?*ID3D12Resource, DstSubresource: u32, DstX: u32, DstY: u32, pSrcResource: ?*ID3D12Resource, SrcSubresource: u32, pSrcRect: ?*RECT, Format: DXGI_FORMAT, ResolveMode: D3D12_RESOLVE_MODE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).ResolveSubresourceRegion(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), pDstResource, DstSubresource, DstX, DstY, pSrcResource, SrcSubresource, pSrcRect, Format, ResolveMode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList1_SetViewInstanceMask(self: *const T, Mask: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList1.VTable, @ptrCast(self.vtable)).SetViewInstanceMask(@as(*const ID3D12GraphicsCommandList1, @ptrCast(self)), Mask);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER = extern struct {
Dest: u64,
Value: u32,
};
pub const D3D12_WRITEBUFFERIMMEDIATE_MODE = enum(i32) {
DEFAULT = 0,
MARKER_IN = 1,
MARKER_OUT = 2,
};
pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = D3D12_WRITEBUFFERIMMEDIATE_MODE.DEFAULT;
pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = D3D12_WRITEBUFFERIMMEDIATE_MODE.MARKER_IN;
pub const D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = D3D12_WRITEBUFFERIMMEDIATE_MODE.MARKER_OUT;
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList2_Value = Guid.initString("38c3e585-ff17-412c-9150-4fc6f9d72a28");
pub const IID_ID3D12GraphicsCommandList2 = &IID_ID3D12GraphicsCommandList2_Value;
pub const ID3D12GraphicsCommandList2 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList1.VTable,
WriteBufferImmediate: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList2,
Count: u32,
pParams: [*]const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER,
pModes: ?[*]const D3D12_WRITEBUFFERIMMEDIATE_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList2,
Count: u32,
pParams: [*]const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER,
pModes: ?[*]const D3D12_WRITEBUFFERIMMEDIATE_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList1.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList2_WriteBufferImmediate(self: *const T, Count: u32, pParams: [*]const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER, pModes: ?[*]const D3D12_WRITEBUFFERIMMEDIATE_MODE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList2.VTable, @ptrCast(self.vtable)).WriteBufferImmediate(@as(*const ID3D12GraphicsCommandList2, @ptrCast(self)), Count, pParams, pModes);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12CommandQueue_Value = Guid.initString("0ec870a6-5d7e-4c22-8cfc-5baae07616ed");
pub const IID_ID3D12CommandQueue = &IID_ID3D12CommandQueue_Value;
pub const ID3D12CommandQueue = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
UpdateTileMappings: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pResource: ?*ID3D12Resource,
NumResourceRegions: u32,
pResourceRegionStartCoordinates: ?[*]const D3D12_TILED_RESOURCE_COORDINATE,
pResourceRegionSizes: ?[*]const D3D12_TILE_REGION_SIZE,
pHeap: ?*ID3D12Heap,
NumRanges: u32,
pRangeFlags: ?[*]const D3D12_TILE_RANGE_FLAGS,
pHeapRangeStartOffsets: ?[*]const u32,
pRangeTileCounts: ?[*]const u32,
Flags: D3D12_TILE_MAPPING_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
pResource: ?*ID3D12Resource,
NumResourceRegions: u32,
pResourceRegionStartCoordinates: ?[*]const D3D12_TILED_RESOURCE_COORDINATE,
pResourceRegionSizes: ?[*]const D3D12_TILE_REGION_SIZE,
pHeap: ?*ID3D12Heap,
NumRanges: u32,
pRangeFlags: ?[*]const D3D12_TILE_RANGE_FLAGS,
pHeapRangeStartOffsets: ?[*]const u32,
pRangeTileCounts: ?[*]const u32,
Flags: D3D12_TILE_MAPPING_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyTileMappings: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pDstResource: ?*ID3D12Resource,
pDstRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pSrcResource: ?*ID3D12Resource,
pSrcRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pRegionSize: ?*const D3D12_TILE_REGION_SIZE,
Flags: D3D12_TILE_MAPPING_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
pDstResource: ?*ID3D12Resource,
pDstRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pSrcResource: ?*ID3D12Resource,
pSrcRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE,
pRegionSize: ?*const D3D12_TILE_REGION_SIZE,
Flags: D3D12_TILE_MAPPING_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
ExecuteCommandLists: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
NumCommandLists: u32,
ppCommandLists: [*]?*ID3D12CommandList,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
NumCommandLists: u32,
ppCommandLists: [*]?*ID3D12CommandList,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetMarker: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
BeginEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
Metadata: u32,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
Size: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
EndEvent: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12CommandQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
Signal: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pFence: ?*ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12CommandQueue,
pFence: ?*ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Wait: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pFence: ?*ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12CommandQueue,
pFence: ?*ID3D12Fence,
Value: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetTimestampFrequency: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pFrequency: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12CommandQueue,
pFrequency: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetClockCalibration: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
pGpuTimestamp: ?*u64,
pCpuTimestamp: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12CommandQueue,
pGpuTimestamp: ?*u64,
pCpuTimestamp: ?*u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12CommandQueue,
) callconv(@import("std").os.windows.WINAPI) D3D12_COMMAND_QUEUE_DESC,
else => *const fn(
self: *const ID3D12CommandQueue,
) callconv(@import("std").os.windows.WINAPI) D3D12_COMMAND_QUEUE_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_UpdateTileMappings(self: *const T, pResource: ?*ID3D12Resource, NumResourceRegions: u32, pResourceRegionStartCoordinates: ?[*]const D3D12_TILED_RESOURCE_COORDINATE, pResourceRegionSizes: ?[*]const D3D12_TILE_REGION_SIZE, pHeap: ?*ID3D12Heap, NumRanges: u32, pRangeFlags: ?[*]const D3D12_TILE_RANGE_FLAGS, pHeapRangeStartOffsets: ?[*]const u32, pRangeTileCounts: ?[*]const u32, Flags: D3D12_TILE_MAPPING_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).UpdateTileMappings(@as(*const ID3D12CommandQueue, @ptrCast(self)), pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_CopyTileMappings(self: *const T, pDstResource: ?*ID3D12Resource, pDstRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE, pSrcResource: ?*ID3D12Resource, pSrcRegionStartCoordinate: ?*const D3D12_TILED_RESOURCE_COORDINATE, pRegionSize: ?*const D3D12_TILE_REGION_SIZE, Flags: D3D12_TILE_MAPPING_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).CopyTileMappings(@as(*const ID3D12CommandQueue, @ptrCast(self)), pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_ExecuteCommandLists(self: *const T, NumCommandLists: u32, ppCommandLists: [*]?*ID3D12CommandList) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).ExecuteCommandLists(@as(*const ID3D12CommandQueue, @ptrCast(self)), NumCommandLists, ppCommandLists);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_SetMarker(self: *const T, Metadata: u32, pData: ?*const anyopaque, Size: u32) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).SetMarker(@as(*const ID3D12CommandQueue, @ptrCast(self)), Metadata, pData, Size);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_BeginEvent(self: *const T, Metadata: u32, pData: ?*const anyopaque, Size: u32) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).BeginEvent(@as(*const ID3D12CommandQueue, @ptrCast(self)), Metadata, pData, Size);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_EndEvent(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).EndEvent(@as(*const ID3D12CommandQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_Signal(self: *const T, pFence: ?*ID3D12Fence, Value: u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).Signal(@as(*const ID3D12CommandQueue, @ptrCast(self)), pFence, Value);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_Wait(self: *const T, pFence: ?*ID3D12Fence, Value: u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).Wait(@as(*const ID3D12CommandQueue, @ptrCast(self)), pFence, Value);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_GetTimestampFrequency(self: *const T, pFrequency: ?*u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).GetTimestampFrequency(@as(*const ID3D12CommandQueue, @ptrCast(self)), pFrequency);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_GetClockCalibration(self: *const T, pGpuTimestamp: ?*u64, pCpuTimestamp: ?*u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).GetClockCalibration(@as(*const ID3D12CommandQueue, @ptrCast(self)), pGpuTimestamp, pCpuTimestamp);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12CommandQueue_GetDesc(self: *const T) callconv(.Inline) D3D12_COMMAND_QUEUE_DESC {
return @as(*const ID3D12CommandQueue.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12CommandQueue, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Device_Value = Guid.initString("189819f1-1db6-4b57-be54-1821339b85f7");
pub const IID_ID3D12Device = &IID_ID3D12Device_Value;
pub const ID3D12Device = extern struct {
pub const VTable = extern struct {
base: ID3D12Object.VTable,
GetNodeCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) u32,
},
CreateCommandQueue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMMAND_QUEUE_DESC,
riid: ?*const Guid,
ppCommandQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMMAND_QUEUE_DESC,
riid: ?*const Guid,
ppCommandQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateCommandAllocator: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
type: D3D12_COMMAND_LIST_TYPE,
riid: ?*const Guid,
ppCommandAllocator: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
type: D3D12_COMMAND_LIST_TYPE,
riid: ?*const Guid,
ppCommandAllocator: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateGraphicsPipelineState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateComputePipelineState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateCommandList: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
nodeMask: u32,
type: D3D12_COMMAND_LIST_TYPE,
pCommandAllocator: ?*ID3D12CommandAllocator,
pInitialState: ?*ID3D12PipelineState,
riid: ?*const Guid,
ppCommandList: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
nodeMask: u32,
type: D3D12_COMMAND_LIST_TYPE,
pCommandAllocator: ?*ID3D12CommandAllocator,
pInitialState: ?*ID3D12PipelineState,
riid: ?*const Guid,
ppCommandList: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CheckFeatureSupport: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
Feature: D3D12_FEATURE,
// TODO: what to do with BytesParamIndex 2?
pFeatureSupportData: ?*anyopaque,
FeatureSupportDataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
Feature: D3D12_FEATURE,
// TODO: what to do with BytesParamIndex 2?
pFeatureSupportData: ?*anyopaque,
FeatureSupportDataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateDescriptorHeap: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDescriptorHeapDesc: ?*const D3D12_DESCRIPTOR_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDescriptorHeapDesc: ?*const D3D12_DESCRIPTOR_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDescriptorHandleIncrementSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
DescriptorHeapType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12Device,
DescriptorHeapType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) u32,
},
CreateRootSignature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
nodeMask: u32,
pBlobWithRootSignature: [*]const u8,
blobLengthInBytes: usize,
riid: ?*const Guid,
ppvRootSignature: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
nodeMask: u32,
pBlobWithRootSignature: [*]const u8,
blobLengthInBytes: usize,
riid: ?*const Guid,
ppvRootSignature: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateConstantBufferView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_CONSTANT_BUFFER_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_CONSTANT_BUFFER_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateShaderResourceView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_SHADER_RESOURCE_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_SHADER_RESOURCE_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateUnorderedAccessView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pCounterResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_UNORDERED_ACCESS_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pCounterResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_UNORDERED_ACCESS_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateRenderTargetView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_RENDER_TARGET_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_RENDER_TARGET_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateDepthStencilView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_DEPTH_STENCIL_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pResource: ?*ID3D12Resource,
pDesc: ?*const D3D12_DEPTH_STENCIL_VIEW_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateSampler: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_SAMPLER_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_SAMPLER_DESC,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyDescriptors: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
NumDestDescriptorRanges: u32,
pDestDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE,
pDestDescriptorRangeSizes: ?[*]const u32,
NumSrcDescriptorRanges: u32,
pSrcDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE,
pSrcDescriptorRangeSizes: ?[*]const u32,
DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
NumDestDescriptorRanges: u32,
pDestDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE,
pDestDescriptorRangeSizes: ?[*]const u32,
NumSrcDescriptorRanges: u32,
pSrcDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE,
pSrcDescriptorRangeSizes: ?[*]const u32,
DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyDescriptorsSimple: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
NumDescriptors: u32,
DestDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE,
SrcDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE,
DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
NumDescriptors: u32,
DestDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE,
SrcDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE,
DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetResourceAllocationInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
else => *const fn(
self: *const ID3D12Device,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
},
GetCustomHeapProperties: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
nodeMask: u32,
heapType: D3D12_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) D3D12_HEAP_PROPERTIES,
else => *const fn(
self: *const ID3D12Device,
nodeMask: u32,
heapType: D3D12_HEAP_TYPE,
) callconv(@import("std").os.windows.WINAPI) D3D12_HEAP_PROPERTIES,
},
CreateCommittedResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateHeap: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreatePlacedResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pHeap: ?*ID3D12Heap,
HeapOffset: u64,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pHeap: ?*ID3D12Heap,
HeapOffset: u64,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateReservedResource: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateSharedHandle: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pObject: ?*ID3D12DeviceChild,
pAttributes: ?*const SECURITY_ATTRIBUTES,
Access: u32,
Name: ?[*:0]const u16,
pHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pObject: ?*ID3D12DeviceChild,
pAttributes: ?*const SECURITY_ATTRIBUTES,
Access: u32,
Name: ?[*:0]const u16,
pHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
OpenSharedHandle: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
NTHandle: ?HANDLE,
riid: ?*const Guid,
ppvObj: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
NTHandle: ?HANDLE,
riid: ?*const Guid,
ppvObj: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
OpenSharedHandleByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
Name: ?[*:0]const u16,
Access: u32,
pNTHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
Name: ?[*:0]const u16,
Access: u32,
pNTHandle: ?*?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
MakeResident: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Evict: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateFence: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
InitialValue: u64,
Flags: D3D12_FENCE_FLAGS,
riid: ?*const Guid,
ppFence: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
InitialValue: u64,
Flags: D3D12_FENCE_FLAGS,
riid: ?*const Guid,
ppFence: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDeviceRemovedReason: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetCopyableFootprints: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pResourceDesc: ?*const D3D12_RESOURCE_DESC,
FirstSubresource: u32,
NumSubresources: u32,
BaseOffset: u64,
pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
pNumRows: ?[*]u32,
pRowSizeInBytes: ?[*]u64,
pTotalBytes: ?*u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pResourceDesc: ?*const D3D12_RESOURCE_DESC,
FirstSubresource: u32,
NumSubresources: u32,
BaseOffset: u64,
pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
pNumRows: ?[*]u32,
pRowSizeInBytes: ?[*]u64,
pTotalBytes: ?*u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
CreateQueryHeap: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_QUERY_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_QUERY_HEAP_DESC,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetStablePowerState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateCommandSignature: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMMAND_SIGNATURE_DESC,
pRootSignature: ?*ID3D12RootSignature,
riid: ?*const Guid,
ppvCommandSignature: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device,
pDesc: ?*const D3D12_COMMAND_SIGNATURE_DESC,
pRootSignature: ?*ID3D12RootSignature,
riid: ?*const Guid,
ppvCommandSignature: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetResourceTiling: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
pTiledResource: ?*ID3D12Resource,
pNumTilesForEntireResource: ?*u32,
pPackedMipDesc: ?*D3D12_PACKED_MIP_INFO,
pStandardTileShapeForNonPackedMips: ?*D3D12_TILE_SHAPE,
pNumSubresourceTilings: ?*u32,
FirstSubresourceTilingToGet: u32,
pSubresourceTilingsForNonPackedMips: [*]D3D12_SUBRESOURCE_TILING,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device,
pTiledResource: ?*ID3D12Resource,
pNumTilesForEntireResource: ?*u32,
pPackedMipDesc: ?*D3D12_PACKED_MIP_INFO,
pStandardTileShapeForNonPackedMips: ?*D3D12_TILE_SHAPE,
pNumSubresourceTilings: ?*u32,
FirstSubresourceTilingToGet: u32,
pSubresourceTilingsForNonPackedMips: [*]D3D12_SUBRESOURCE_TILING,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetAdapterLuid: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) LUID,
else => *const fn(
self: *const ID3D12Device,
) callconv(@import("std").os.windows.WINAPI) LUID,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Object.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetNodeCount(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetNodeCount(@as(*const ID3D12Device, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateCommandQueue(self: *const T, pDesc: ?*const D3D12_COMMAND_QUEUE_DESC, riid: ?*const Guid, ppCommandQueue: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateCommandQueue(@as(*const ID3D12Device, @ptrCast(self)), pDesc, riid, ppCommandQueue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateCommandAllocator(self: *const T, type_: D3D12_COMMAND_LIST_TYPE, riid: ?*const Guid, ppCommandAllocator: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateCommandAllocator(@as(*const ID3D12Device, @ptrCast(self)), type_, riid, ppCommandAllocator);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateGraphicsPipelineState(self: *const T, pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateGraphicsPipelineState(@as(*const ID3D12Device, @ptrCast(self)), pDesc, riid, ppPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateComputePipelineState(self: *const T, pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateComputePipelineState(@as(*const ID3D12Device, @ptrCast(self)), pDesc, riid, ppPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateCommandList(self: *const T, nodeMask: u32, type_: D3D12_COMMAND_LIST_TYPE, pCommandAllocator: ?*ID3D12CommandAllocator, pInitialState: ?*ID3D12PipelineState, riid: ?*const Guid, ppCommandList: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateCommandList(@as(*const ID3D12Device, @ptrCast(self)), nodeMask, type_, pCommandAllocator, pInitialState, riid, ppCommandList);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CheckFeatureSupport(self: *const T, Feature: D3D12_FEATURE, pFeatureSupportData: ?*anyopaque, FeatureSupportDataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CheckFeatureSupport(@as(*const ID3D12Device, @ptrCast(self)), Feature, pFeatureSupportData, FeatureSupportDataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateDescriptorHeap(self: *const T, pDescriptorHeapDesc: ?*const D3D12_DESCRIPTOR_HEAP_DESC, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateDescriptorHeap(@as(*const ID3D12Device, @ptrCast(self)), pDescriptorHeapDesc, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetDescriptorHandleIncrementSize(self: *const T, DescriptorHeapType: D3D12_DESCRIPTOR_HEAP_TYPE) callconv(.Inline) u32 {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetDescriptorHandleIncrementSize(@as(*const ID3D12Device, @ptrCast(self)), DescriptorHeapType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateRootSignature(self: *const T, nodeMask: u32, pBlobWithRootSignature: [*]const u8, blobLengthInBytes: usize, riid: ?*const Guid, ppvRootSignature: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateRootSignature(@as(*const ID3D12Device, @ptrCast(self)), nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateConstantBufferView(self: *const T, pDesc: ?*const D3D12_CONSTANT_BUFFER_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateConstantBufferView(@as(*const ID3D12Device, @ptrCast(self)), pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateShaderResourceView(self: *const T, pResource: ?*ID3D12Resource, pDesc: ?*const D3D12_SHADER_RESOURCE_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateShaderResourceView(@as(*const ID3D12Device, @ptrCast(self)), pResource, pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateUnorderedAccessView(self: *const T, pResource: ?*ID3D12Resource, pCounterResource: ?*ID3D12Resource, pDesc: ?*const D3D12_UNORDERED_ACCESS_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateUnorderedAccessView(@as(*const ID3D12Device, @ptrCast(self)), pResource, pCounterResource, pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateRenderTargetView(self: *const T, pResource: ?*ID3D12Resource, pDesc: ?*const D3D12_RENDER_TARGET_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateRenderTargetView(@as(*const ID3D12Device, @ptrCast(self)), pResource, pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateDepthStencilView(self: *const T, pResource: ?*ID3D12Resource, pDesc: ?*const D3D12_DEPTH_STENCIL_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateDepthStencilView(@as(*const ID3D12Device, @ptrCast(self)), pResource, pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateSampler(self: *const T, pDesc: ?*const D3D12_SAMPLER_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateSampler(@as(*const ID3D12Device, @ptrCast(self)), pDesc, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CopyDescriptors(self: *const T, NumDestDescriptorRanges: u32, pDestDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE, pDestDescriptorRangeSizes: ?[*]const u32, NumSrcDescriptorRanges: u32, pSrcDescriptorRangeStarts: [*]const D3D12_CPU_DESCRIPTOR_HANDLE, pSrcDescriptorRangeSizes: ?[*]const u32, DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CopyDescriptors(@as(*const ID3D12Device, @ptrCast(self)), NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CopyDescriptorsSimple(self: *const T, NumDescriptors: u32, DestDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, SrcDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CopyDescriptorsSimple(@as(*const ID3D12Device, @ptrCast(self)), NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetResourceAllocationInfo(self: *const T, visibleMask: u32, numResourceDescs: u32, pResourceDescs: [*]const D3D12_RESOURCE_DESC) callconv(.Inline) D3D12_RESOURCE_ALLOCATION_INFO {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetResourceAllocationInfo(@as(*const ID3D12Device, @ptrCast(self)), visibleMask, numResourceDescs, pResourceDescs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetCustomHeapProperties(self: *const T, nodeMask: u32, heapType: D3D12_HEAP_TYPE) callconv(.Inline) D3D12_HEAP_PROPERTIES {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetCustomHeapProperties(@as(*const ID3D12Device, @ptrCast(self)), nodeMask, heapType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateCommittedResource(self: *const T, pHeapProperties: ?*const D3D12_HEAP_PROPERTIES, HeapFlags: D3D12_HEAP_FLAGS, pDesc: ?*const D3D12_RESOURCE_DESC, InitialResourceState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, riidResource: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateCommittedResource(@as(*const ID3D12Device, @ptrCast(self)), pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateHeap(self: *const T, pDesc: ?*const D3D12_HEAP_DESC, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateHeap(@as(*const ID3D12Device, @ptrCast(self)), pDesc, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreatePlacedResource(self: *const T, pHeap: ?*ID3D12Heap, HeapOffset: u64, pDesc: ?*const D3D12_RESOURCE_DESC, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, riid: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreatePlacedResource(@as(*const ID3D12Device, @ptrCast(self)), pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateReservedResource(self: *const T, pDesc: ?*const D3D12_RESOURCE_DESC, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, riid: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateReservedResource(@as(*const ID3D12Device, @ptrCast(self)), pDesc, InitialState, pOptimizedClearValue, riid, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateSharedHandle(self: *const T, pObject: ?*ID3D12DeviceChild, pAttributes: ?*const SECURITY_ATTRIBUTES, Access: u32, Name: ?[*:0]const u16, pHandle: ?*?HANDLE) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateSharedHandle(@as(*const ID3D12Device, @ptrCast(self)), pObject, pAttributes, Access, Name, pHandle);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_OpenSharedHandle(self: *const T, NTHandle: ?HANDLE, riid: ?*const Guid, ppvObj: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).OpenSharedHandle(@as(*const ID3D12Device, @ptrCast(self)), NTHandle, riid, ppvObj);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_OpenSharedHandleByName(self: *const T, Name: ?[*:0]const u16, Access: u32, pNTHandle: ?*?HANDLE) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).OpenSharedHandleByName(@as(*const ID3D12Device, @ptrCast(self)), Name, Access, pNTHandle);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_MakeResident(self: *const T, NumObjects: u32, ppObjects: [*]?*ID3D12Pageable) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).MakeResident(@as(*const ID3D12Device, @ptrCast(self)), NumObjects, ppObjects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_Evict(self: *const T, NumObjects: u32, ppObjects: [*]?*ID3D12Pageable) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).Evict(@as(*const ID3D12Device, @ptrCast(self)), NumObjects, ppObjects);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateFence(self: *const T, InitialValue: u64, Flags: D3D12_FENCE_FLAGS, riid: ?*const Guid, ppFence: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateFence(@as(*const ID3D12Device, @ptrCast(self)), InitialValue, Flags, riid, ppFence);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetDeviceRemovedReason(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetDeviceRemovedReason(@as(*const ID3D12Device, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetCopyableFootprints(self: *const T, pResourceDesc: ?*const D3D12_RESOURCE_DESC, FirstSubresource: u32, NumSubresources: u32, BaseOffset: u64, pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pNumRows: ?[*]u32, pRowSizeInBytes: ?[*]u64, pTotalBytes: ?*u64) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetCopyableFootprints(@as(*const ID3D12Device, @ptrCast(self)), pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateQueryHeap(self: *const T, pDesc: ?*const D3D12_QUERY_HEAP_DESC, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateQueryHeap(@as(*const ID3D12Device, @ptrCast(self)), pDesc, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_SetStablePowerState(self: *const T, Enable: BOOL) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).SetStablePowerState(@as(*const ID3D12Device, @ptrCast(self)), Enable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_CreateCommandSignature(self: *const T, pDesc: ?*const D3D12_COMMAND_SIGNATURE_DESC, pRootSignature: ?*ID3D12RootSignature, riid: ?*const Guid, ppvCommandSignature: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).CreateCommandSignature(@as(*const ID3D12Device, @ptrCast(self)), pDesc, pRootSignature, riid, ppvCommandSignature);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetResourceTiling(self: *const T, pTiledResource: ?*ID3D12Resource, pNumTilesForEntireResource: ?*u32, pPackedMipDesc: ?*D3D12_PACKED_MIP_INFO, pStandardTileShapeForNonPackedMips: ?*D3D12_TILE_SHAPE, pNumSubresourceTilings: ?*u32, FirstSubresourceTilingToGet: u32, pSubresourceTilingsForNonPackedMips: [*]D3D12_SUBRESOURCE_TILING) callconv(.Inline) void {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetResourceTiling(@as(*const ID3D12Device, @ptrCast(self)), pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device_GetAdapterLuid(self: *const T) callconv(.Inline) LUID {
return @as(*const ID3D12Device.VTable, @ptrCast(self.vtable)).GetAdapterLuid(@as(*const ID3D12Device, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12PipelineLibrary_Value = Guid.initString("c64226a8-9201-46af-b4cc-53fb9ff7414f");
pub const IID_ID3D12PipelineLibrary = &IID_ID3D12PipelineLibrary_Value;
pub const ID3D12PipelineLibrary = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
StorePipeline: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pPipeline: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pPipeline: ?*ID3D12PipelineState,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
LoadGraphicsPipeline: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
LoadComputePipeline: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineLibrary,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSerializedSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary,
) callconv(@import("std").os.windows.WINAPI) usize,
else => *const fn(
self: *const ID3D12PipelineLibrary,
) callconv(@import("std").os.windows.WINAPI) usize,
},
Serialize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary,
pData: [*]u8,
DataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineLibrary,
pData: [*]u8,
DataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary_StorePipeline(self: *const T, pName: ?[*:0]const u16, pPipeline: ?*ID3D12PipelineState) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineLibrary.VTable, @ptrCast(self.vtable)).StorePipeline(@as(*const ID3D12PipelineLibrary, @ptrCast(self)), pName, pPipeline);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary_LoadGraphicsPipeline(self: *const T, pName: ?[*:0]const u16, pDesc: ?*const D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineLibrary.VTable, @ptrCast(self.vtable)).LoadGraphicsPipeline(@as(*const ID3D12PipelineLibrary, @ptrCast(self)), pName, pDesc, riid, ppPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary_LoadComputePipeline(self: *const T, pName: ?[*:0]const u16, pDesc: ?*const D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineLibrary.VTable, @ptrCast(self.vtable)).LoadComputePipeline(@as(*const ID3D12PipelineLibrary, @ptrCast(self)), pName, pDesc, riid, ppPipelineState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary_GetSerializedSize(self: *const T) callconv(.Inline) usize {
return @as(*const ID3D12PipelineLibrary.VTable, @ptrCast(self.vtable)).GetSerializedSize(@as(*const ID3D12PipelineLibrary, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary_Serialize(self: *const T, pData: [*]u8, DataSizeInBytes: usize) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineLibrary.VTable, @ptrCast(self.vtable)).Serialize(@as(*const ID3D12PipelineLibrary, @ptrCast(self)), pData, DataSizeInBytes);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12PipelineLibrary1_Value = Guid.initString("80eabf42-2568-4e5e-bd82-c37f86961dc3");
pub const IID_ID3D12PipelineLibrary1 = &IID_ID3D12PipelineLibrary1_Value;
pub const ID3D12PipelineLibrary1 = extern struct {
pub const VTable = extern struct {
base: ID3D12PipelineLibrary.VTable,
LoadPipeline: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12PipelineLibrary1,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12PipelineLibrary1,
pName: ?[*:0]const u16,
pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12PipelineLibrary.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12PipelineLibrary1_LoadPipeline(self: *const T, pName: ?[*:0]const u16, pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12PipelineLibrary1.VTable, @ptrCast(self.vtable)).LoadPipeline(@as(*const ID3D12PipelineLibrary1, @ptrCast(self)), pName, pDesc, riid, ppPipelineState);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_MULTIPLE_FENCE_WAIT_FLAGS = enum(u32) {
NONE = 0,
ANY = 1,
// ALL = 0, this enum value conflicts with NONE
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ANY: u1 = 0,
}) D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
return @as(D3D12_MULTIPLE_FENCE_WAIT_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_MULTIPLE_FENCE_WAIT_FLAGS.NONE) else 0)
| (if (o.ANY == 1) @intFromEnum(D3D12_MULTIPLE_FENCE_WAIT_FLAGS.ANY) else 0)
));
}
};
pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = D3D12_MULTIPLE_FENCE_WAIT_FLAGS.NONE;
pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = D3D12_MULTIPLE_FENCE_WAIT_FLAGS.ANY;
pub const D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = D3D12_MULTIPLE_FENCE_WAIT_FLAGS.NONE;
pub const D3D12_RESIDENCY_PRIORITY = enum(i32) {
MINIMUM = 671088640,
LOW = 1342177280,
NORMAL = 2013265920,
HIGH = -1610547200,
MAXIMUM = -939524096,
};
pub const D3D12_RESIDENCY_PRIORITY_MINIMUM = D3D12_RESIDENCY_PRIORITY.MINIMUM;
pub const D3D12_RESIDENCY_PRIORITY_LOW = D3D12_RESIDENCY_PRIORITY.LOW;
pub const D3D12_RESIDENCY_PRIORITY_NORMAL = D3D12_RESIDENCY_PRIORITY.NORMAL;
pub const D3D12_RESIDENCY_PRIORITY_HIGH = D3D12_RESIDENCY_PRIORITY.HIGH;
pub const D3D12_RESIDENCY_PRIORITY_MAXIMUM = D3D12_RESIDENCY_PRIORITY.MAXIMUM;
// This COM type is Agile, not sure what that means
const IID_ID3D12Device1_Value = Guid.initString("77acce80-638e-4e65-8895-c1f23386863e");
pub const IID_ID3D12Device1 = &IID_ID3D12Device1_Value;
pub const ID3D12Device1 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device.VTable,
CreatePipelineLibrary: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device1,
pLibraryBlob: [*]const u8,
BlobLength: usize,
riid: ?*const Guid,
ppPipelineLibrary: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device1,
pLibraryBlob: [*]const u8,
BlobLength: usize,
riid: ?*const Guid,
ppPipelineLibrary: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetEventOnMultipleFenceCompletion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device1,
ppFences: [*]?*ID3D12Fence,
pFenceValues: [*]const u64,
NumFences: u32,
Flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
hEvent: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device1,
ppFences: [*]?*ID3D12Fence,
pFenceValues: [*]const u64,
NumFences: u32,
Flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
hEvent: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetResidencyPriority: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device1,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
pPriorities: [*]const D3D12_RESIDENCY_PRIORITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device1,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
pPriorities: [*]const D3D12_RESIDENCY_PRIORITY,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device1_CreatePipelineLibrary(self: *const T, pLibraryBlob: [*]const u8, BlobLength: usize, riid: ?*const Guid, ppPipelineLibrary: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device1.VTable, @ptrCast(self.vtable)).CreatePipelineLibrary(@as(*const ID3D12Device1, @ptrCast(self)), pLibraryBlob, BlobLength, riid, ppPipelineLibrary);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device1_SetEventOnMultipleFenceCompletion(self: *const T, ppFences: [*]?*ID3D12Fence, pFenceValues: [*]const u64, NumFences: u32, Flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS, hEvent: ?HANDLE) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device1.VTable, @ptrCast(self.vtable)).SetEventOnMultipleFenceCompletion(@as(*const ID3D12Device1, @ptrCast(self)), ppFences, pFenceValues, NumFences, Flags, hEvent);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device1_SetResidencyPriority(self: *const T, NumObjects: u32, ppObjects: [*]?*ID3D12Pageable, pPriorities: [*]const D3D12_RESIDENCY_PRIORITY) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device1.VTable, @ptrCast(self.vtable)).SetResidencyPriority(@as(*const ID3D12Device1, @ptrCast(self)), NumObjects, ppObjects, pPriorities);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Device2_Value = Guid.initString("30baa41e-b15b-475c-a0bb-1af5c5b64328");
pub const IID_ID3D12Device2 = &IID_ID3D12Device2_Value;
pub const ID3D12Device2 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device1.VTable,
CreatePipelineState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device2,
pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device2,
pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC,
riid: ?*const Guid,
ppPipelineState: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device1.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device2_CreatePipelineState(self: *const T, pDesc: ?*const D3D12_PIPELINE_STATE_STREAM_DESC, riid: ?*const Guid, ppPipelineState: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device2.VTable, @ptrCast(self.vtable)).CreatePipelineState(@as(*const ID3D12Device2, @ptrCast(self)), pDesc, riid, ppPipelineState);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_RESIDENCY_FLAGS = enum(u32) {
NONE = 0,
DENY_OVERBUDGET = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DENY_OVERBUDGET: u1 = 0,
}) D3D12_RESIDENCY_FLAGS {
return @as(D3D12_RESIDENCY_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RESIDENCY_FLAGS.NONE) else 0)
| (if (o.DENY_OVERBUDGET == 1) @intFromEnum(D3D12_RESIDENCY_FLAGS.DENY_OVERBUDGET) else 0)
));
}
};
pub const D3D12_RESIDENCY_FLAG_NONE = D3D12_RESIDENCY_FLAGS.NONE;
pub const D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = D3D12_RESIDENCY_FLAGS.DENY_OVERBUDGET;
// This COM type is Agile, not sure what that means
const IID_ID3D12Device3_Value = Guid.initString("81dadc15-2bad-4392-93c5-101345c4aa98");
pub const IID_ID3D12Device3 = &IID_ID3D12Device3_Value;
pub const ID3D12Device3 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device2.VTable,
OpenExistingHeapFromAddress: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device3,
pAddress: ?*const anyopaque,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device3,
pAddress: ?*const anyopaque,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
OpenExistingHeapFromFileMapping: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device3,
hFileMapping: ?HANDLE,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device3,
hFileMapping: ?HANDLE,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnqueueMakeResident: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device3,
Flags: D3D12_RESIDENCY_FLAGS,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
pFenceToSignal: ?*ID3D12Fence,
FenceValueToSignal: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device3,
Flags: D3D12_RESIDENCY_FLAGS,
NumObjects: u32,
ppObjects: [*]?*ID3D12Pageable,
pFenceToSignal: ?*ID3D12Fence,
FenceValueToSignal: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device2.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device3_OpenExistingHeapFromAddress(self: *const T, pAddress: ?*const anyopaque, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device3.VTable, @ptrCast(self.vtable)).OpenExistingHeapFromAddress(@as(*const ID3D12Device3, @ptrCast(self)), pAddress, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device3_OpenExistingHeapFromFileMapping(self: *const T, hFileMapping: ?HANDLE, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device3.VTable, @ptrCast(self.vtable)).OpenExistingHeapFromFileMapping(@as(*const ID3D12Device3, @ptrCast(self)), hFileMapping, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device3_EnqueueMakeResident(self: *const T, Flags: D3D12_RESIDENCY_FLAGS, NumObjects: u32, ppObjects: [*]?*ID3D12Pageable, pFenceToSignal: ?*ID3D12Fence, FenceValueToSignal: u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device3.VTable, @ptrCast(self.vtable)).EnqueueMakeResident(@as(*const ID3D12Device3, @ptrCast(self)), Flags, NumObjects, ppObjects, pFenceToSignal, FenceValueToSignal);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_COMMAND_LIST_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_COMMAND_LIST_FLAGS {
return @as(D3D12_COMMAND_LIST_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_COMMAND_LIST_FLAGS.E) else 0)
));
}
};
pub const D3D12_COMMAND_LIST_FLAG_NONE = D3D12_COMMAND_LIST_FLAGS.E;
pub const D3D12_COMMAND_POOL_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_COMMAND_POOL_FLAGS {
return @as(D3D12_COMMAND_POOL_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_COMMAND_POOL_FLAGS.E) else 0)
));
}
};
pub const D3D12_COMMAND_POOL_FLAG_NONE = D3D12_COMMAND_POOL_FLAGS.E;
pub const D3D12_COMMAND_RECORDER_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_COMMAND_RECORDER_FLAGS {
return @as(D3D12_COMMAND_RECORDER_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_COMMAND_RECORDER_FLAGS.E) else 0)
));
}
};
pub const D3D12_COMMAND_RECORDER_FLAG_NONE = D3D12_COMMAND_RECORDER_FLAGS.E;
pub const D3D12_PROTECTED_SESSION_STATUS = enum(i32) {
OK = 0,
INVALID = 1,
};
pub const D3D12_PROTECTED_SESSION_STATUS_OK = D3D12_PROTECTED_SESSION_STATUS.OK;
pub const D3D12_PROTECTED_SESSION_STATUS_INVALID = D3D12_PROTECTED_SESSION_STATUS.INVALID;
// This COM type is Agile, not sure what that means
const IID_ID3D12ProtectedSession_Value = Guid.initString("a1533d18-0ac1-4084-85b9-89a96116806b");
pub const IID_ID3D12ProtectedSession = &IID_ID3D12ProtectedSession_Value;
pub const ID3D12ProtectedSession = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
GetStatusFence: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ProtectedSession,
riid: ?*const Guid,
ppFence: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ProtectedSession,
riid: ?*const Guid,
ppFence: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSessionStatus: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ProtectedSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_SESSION_STATUS,
else => *const fn(
self: *const ID3D12ProtectedSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_SESSION_STATUS,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ProtectedSession_GetStatusFence(self: *const T, riid: ?*const Guid, ppFence: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12ProtectedSession.VTable, @ptrCast(self.vtable)).GetStatusFence(@as(*const ID3D12ProtectedSession, @ptrCast(self)), riid, ppFence);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ProtectedSession_GetSessionStatus(self: *const T) callconv(.Inline) D3D12_PROTECTED_SESSION_STATUS {
return @as(*const ID3D12ProtectedSession.VTable, @ptrCast(self.vtable)).GetSessionStatus(@as(*const ID3D12ProtectedSession, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS = enum(u32) {
NONE = 0,
SUPPORTED = 1,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SUPPORTED: u1 = 0,
}) D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
return @as(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.NONE) else 0)
| (if (o.SUPPORTED == 1) @intFromEnum(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.SUPPORTED) else 0)
));
}
};
pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.NONE;
pub const D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS.SUPPORTED;
pub const D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT = extern struct {
NodeIndex: u32,
Support: D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS,
};
pub const D3D12_PROTECTED_RESOURCE_SESSION_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
return @as(D3D12_PROTECTED_RESOURCE_SESSION_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_PROTECTED_RESOURCE_SESSION_FLAGS.E) else 0)
));
}
};
pub const D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = D3D12_PROTECTED_RESOURCE_SESSION_FLAGS.E;
pub const D3D12_PROTECTED_RESOURCE_SESSION_DESC = extern struct {
NodeMask: u32,
Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ProtectedResourceSession_Value = Guid.initString("6cd696f4-f289-40cc-8091-5a6c0a099c3d");
pub const IID_ID3D12ProtectedResourceSession = &IID_ID3D12ProtectedResourceSession_Value;
pub const ID3D12ProtectedResourceSession = extern struct {
pub const VTable = extern struct {
base: ID3D12ProtectedSession.VTable,
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ProtectedResourceSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_RESOURCE_SESSION_DESC,
else => *const fn(
self: *const ID3D12ProtectedResourceSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_RESOURCE_SESSION_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12ProtectedSession.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ProtectedResourceSession_GetDesc(self: *const T) callconv(.Inline) D3D12_PROTECTED_RESOURCE_SESSION_DESC {
return @as(*const ID3D12ProtectedResourceSession.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ProtectedResourceSession, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Device4_Value = Guid.initString("e865df17-a9ee-46f9-a463-3098315aa2e5");
pub const IID_ID3D12Device4 = &IID_ID3D12Device4_Value;
pub const ID3D12Device4 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device3.VTable,
CreateCommandList1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
nodeMask: u32,
type: D3D12_COMMAND_LIST_TYPE,
flags: D3D12_COMMAND_LIST_FLAGS,
riid: ?*const Guid,
ppCommandList: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device4,
nodeMask: u32,
type: D3D12_COMMAND_LIST_TYPE,
flags: D3D12_COMMAND_LIST_FLAGS,
riid: ?*const Guid,
ppCommandList: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateProtectedResourceSession: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC,
riid: ?*const Guid,
ppSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC,
riid: ?*const Guid,
ppSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateCommittedResource1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device4,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateHeap1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_HEAP_DESC,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_HEAP_DESC,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riid: ?*const Guid,
ppvHeap: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateReservedResource1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device4,
pDesc: ?*const D3D12_RESOURCE_DESC,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetResourceAllocationInfo1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device4,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC,
pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
else => *const fn(
self: *const ID3D12Device4,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC,
pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device3.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_CreateCommandList1(self: *const T, nodeMask: u32, type_: D3D12_COMMAND_LIST_TYPE, flags: D3D12_COMMAND_LIST_FLAGS, riid: ?*const Guid, ppCommandList: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).CreateCommandList1(@as(*const ID3D12Device4, @ptrCast(self)), nodeMask, type_, flags, riid, ppCommandList);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_CreateProtectedResourceSession(self: *const T, pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC, riid: ?*const Guid, ppSession: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).CreateProtectedResourceSession(@as(*const ID3D12Device4, @ptrCast(self)), pDesc, riid, ppSession);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_CreateCommittedResource1(self: *const T, pHeapProperties: ?*const D3D12_HEAP_PROPERTIES, HeapFlags: D3D12_HEAP_FLAGS, pDesc: ?*const D3D12_RESOURCE_DESC, InitialResourceState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, pProtectedSession: ?*ID3D12ProtectedResourceSession, riidResource: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).CreateCommittedResource1(@as(*const ID3D12Device4, @ptrCast(self)), pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, riidResource, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_CreateHeap1(self: *const T, pDesc: ?*const D3D12_HEAP_DESC, pProtectedSession: ?*ID3D12ProtectedResourceSession, riid: ?*const Guid, ppvHeap: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).CreateHeap1(@as(*const ID3D12Device4, @ptrCast(self)), pDesc, pProtectedSession, riid, ppvHeap);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_CreateReservedResource1(self: *const T, pDesc: ?*const D3D12_RESOURCE_DESC, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, pProtectedSession: ?*ID3D12ProtectedResourceSession, riid: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).CreateReservedResource1(@as(*const ID3D12Device4, @ptrCast(self)), pDesc, InitialState, pOptimizedClearValue, pProtectedSession, riid, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device4_GetResourceAllocationInfo1(self: *const T, visibleMask: u32, numResourceDescs: u32, pResourceDescs: [*]const D3D12_RESOURCE_DESC, pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1) callconv(.Inline) D3D12_RESOURCE_ALLOCATION_INFO {
return @as(*const ID3D12Device4.VTable, @ptrCast(self.vtable)).GetResourceAllocationInfo1(@as(*const ID3D12Device4, @ptrCast(self)), visibleMask, numResourceDescs, pResourceDescs, pResourceAllocationInfo1);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_LIFETIME_STATE = enum(i32) {
IN_USE = 0,
NOT_IN_USE = 1,
};
pub const D3D12_LIFETIME_STATE_IN_USE = D3D12_LIFETIME_STATE.IN_USE;
pub const D3D12_LIFETIME_STATE_NOT_IN_USE = D3D12_LIFETIME_STATE.NOT_IN_USE;
// This COM type is Agile, not sure what that means
const IID_ID3D12LifetimeOwner_Value = Guid.initString("e667af9f-cd56-4f46-83ce-032e595d70a8");
pub const IID_ID3D12LifetimeOwner = &IID_ID3D12LifetimeOwner_Value;
pub const ID3D12LifetimeOwner = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
LifetimeStateUpdated: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12LifetimeOwner,
NewState: D3D12_LIFETIME_STATE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12LifetimeOwner,
NewState: D3D12_LIFETIME_STATE,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12LifetimeOwner_LifetimeStateUpdated(self: *const T, NewState: D3D12_LIFETIME_STATE) callconv(.Inline) void {
return @as(*const ID3D12LifetimeOwner.VTable, @ptrCast(self.vtable)).LifetimeStateUpdated(@as(*const ID3D12LifetimeOwner, @ptrCast(self)), NewState);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12SwapChainAssistant_Value = Guid.initString("f1df64b6-57fd-49cd-8807-c0eb88b45c8f");
pub const IID_ID3D12SwapChainAssistant = &IID_ID3D12SwapChainAssistant_Value;
pub const ID3D12SwapChainAssistant = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetLUID: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SwapChainAssistant,
) callconv(@import("std").os.windows.WINAPI) LUID,
else => *const fn(
self: *const ID3D12SwapChainAssistant,
) callconv(@import("std").os.windows.WINAPI) LUID,
},
GetSwapChainObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SwapChainAssistant,
riid: ?*const Guid,
ppv: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12SwapChainAssistant,
riid: ?*const Guid,
ppv: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetCurrentResourceAndCommandQueue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SwapChainAssistant,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
riidQueue: ?*const Guid,
ppvQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12SwapChainAssistant,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
riidQueue: ?*const Guid,
ppvQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
InsertImplicitSync: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SwapChainAssistant,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12SwapChainAssistant,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SwapChainAssistant_GetLUID(self: *const T) callconv(.Inline) LUID {
return @as(*const ID3D12SwapChainAssistant.VTable, @ptrCast(self.vtable)).GetLUID(@as(*const ID3D12SwapChainAssistant, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SwapChainAssistant_GetSwapChainObject(self: *const T, riid: ?*const Guid, ppv: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12SwapChainAssistant.VTable, @ptrCast(self.vtable)).GetSwapChainObject(@as(*const ID3D12SwapChainAssistant, @ptrCast(self)), riid, ppv);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(self: *const T, riidResource: ?*const Guid, ppvResource: ?*?*anyopaque, riidQueue: ?*const Guid, ppvQueue: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12SwapChainAssistant.VTable, @ptrCast(self.vtable)).GetCurrentResourceAndCommandQueue(@as(*const ID3D12SwapChainAssistant, @ptrCast(self)), riidResource, ppvResource, riidQueue, ppvQueue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SwapChainAssistant_InsertImplicitSync(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12SwapChainAssistant.VTable, @ptrCast(self.vtable)).InsertImplicitSync(@as(*const ID3D12SwapChainAssistant, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12LifetimeTracker_Value = Guid.initString("3fd03d36-4eb1-424a-a582-494ecb8ba813");
pub const IID_ID3D12LifetimeTracker = &IID_ID3D12LifetimeTracker_Value;
pub const ID3D12LifetimeTracker = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
DestroyOwnedObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12LifetimeTracker,
pObject: ?*ID3D12DeviceChild,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12LifetimeTracker,
pObject: ?*ID3D12DeviceChild,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12LifetimeTracker_DestroyOwnedObject(self: *const T, pObject: ?*ID3D12DeviceChild) callconv(.Inline) HRESULT {
return @as(*const ID3D12LifetimeTracker.VTable, @ptrCast(self.vtable)).DestroyOwnedObject(@as(*const ID3D12LifetimeTracker, @ptrCast(self)), pObject);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_META_COMMAND_PARAMETER_TYPE = enum(i32) {
FLOAT = 0,
UINT64 = 1,
GPU_VIRTUAL_ADDRESS = 2,
CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 3,
GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4,
};
pub const D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = D3D12_META_COMMAND_PARAMETER_TYPE.FLOAT;
pub const D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = D3D12_META_COMMAND_PARAMETER_TYPE.UINT64;
pub const D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = D3D12_META_COMMAND_PARAMETER_TYPE.GPU_VIRTUAL_ADDRESS;
pub const D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = D3D12_META_COMMAND_PARAMETER_TYPE.CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV;
pub const D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = D3D12_META_COMMAND_PARAMETER_TYPE.GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV;
pub const D3D12_META_COMMAND_PARAMETER_FLAGS = enum(u32) {
INPUT = 1,
OUTPUT = 2,
_,
pub fn initFlags(o: struct {
INPUT: u1 = 0,
OUTPUT: u1 = 0,
}) D3D12_META_COMMAND_PARAMETER_FLAGS {
return @as(D3D12_META_COMMAND_PARAMETER_FLAGS, @enumFromInt(
(if (o.INPUT == 1) @intFromEnum(D3D12_META_COMMAND_PARAMETER_FLAGS.INPUT) else 0)
| (if (o.OUTPUT == 1) @intFromEnum(D3D12_META_COMMAND_PARAMETER_FLAGS.OUTPUT) else 0)
));
}
};
pub const D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = D3D12_META_COMMAND_PARAMETER_FLAGS.INPUT;
pub const D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = D3D12_META_COMMAND_PARAMETER_FLAGS.OUTPUT;
pub const D3D12_META_COMMAND_PARAMETER_STAGE = enum(i32) {
CREATION = 0,
INITIALIZATION = 1,
EXECUTION = 2,
};
pub const D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = D3D12_META_COMMAND_PARAMETER_STAGE.CREATION;
pub const D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = D3D12_META_COMMAND_PARAMETER_STAGE.INITIALIZATION;
pub const D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = D3D12_META_COMMAND_PARAMETER_STAGE.EXECUTION;
pub const D3D12_META_COMMAND_PARAMETER_DESC = extern struct {
Name: ?[*:0]const u16,
Type: D3D12_META_COMMAND_PARAMETER_TYPE,
Flags: D3D12_META_COMMAND_PARAMETER_FLAGS,
RequiredResourceState: D3D12_RESOURCE_STATES,
StructureOffset: u32,
};
pub const D3D12_GRAPHICS_STATES = enum(u32) {
NONE = 0,
IA_VERTEX_BUFFERS = 1,
IA_INDEX_BUFFER = 2,
IA_PRIMITIVE_TOPOLOGY = 4,
DESCRIPTOR_HEAP = 8,
GRAPHICS_ROOT_SIGNATURE = 16,
COMPUTE_ROOT_SIGNATURE = 32,
RS_VIEWPORTS = 64,
RS_SCISSOR_RECTS = 128,
PREDICATION = 256,
OM_RENDER_TARGETS = 512,
OM_STENCIL_REF = 1024,
OM_BLEND_FACTOR = 2048,
PIPELINE_STATE = 4096,
SO_TARGETS = 8192,
OM_DEPTH_BOUNDS = 16384,
SAMPLE_POSITIONS = 32768,
VIEW_INSTANCE_MASK = 65536,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
IA_VERTEX_BUFFERS: u1 = 0,
IA_INDEX_BUFFER: u1 = 0,
IA_PRIMITIVE_TOPOLOGY: u1 = 0,
DESCRIPTOR_HEAP: u1 = 0,
GRAPHICS_ROOT_SIGNATURE: u1 = 0,
COMPUTE_ROOT_SIGNATURE: u1 = 0,
RS_VIEWPORTS: u1 = 0,
RS_SCISSOR_RECTS: u1 = 0,
PREDICATION: u1 = 0,
OM_RENDER_TARGETS: u1 = 0,
OM_STENCIL_REF: u1 = 0,
OM_BLEND_FACTOR: u1 = 0,
PIPELINE_STATE: u1 = 0,
SO_TARGETS: u1 = 0,
OM_DEPTH_BOUNDS: u1 = 0,
SAMPLE_POSITIONS: u1 = 0,
VIEW_INSTANCE_MASK: u1 = 0,
}) D3D12_GRAPHICS_STATES {
return @as(D3D12_GRAPHICS_STATES, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_GRAPHICS_STATES.NONE) else 0)
| (if (o.IA_VERTEX_BUFFERS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.IA_VERTEX_BUFFERS) else 0)
| (if (o.IA_INDEX_BUFFER == 1) @intFromEnum(D3D12_GRAPHICS_STATES.IA_INDEX_BUFFER) else 0)
| (if (o.IA_PRIMITIVE_TOPOLOGY == 1) @intFromEnum(D3D12_GRAPHICS_STATES.IA_PRIMITIVE_TOPOLOGY) else 0)
| (if (o.DESCRIPTOR_HEAP == 1) @intFromEnum(D3D12_GRAPHICS_STATES.DESCRIPTOR_HEAP) else 0)
| (if (o.GRAPHICS_ROOT_SIGNATURE == 1) @intFromEnum(D3D12_GRAPHICS_STATES.GRAPHICS_ROOT_SIGNATURE) else 0)
| (if (o.COMPUTE_ROOT_SIGNATURE == 1) @intFromEnum(D3D12_GRAPHICS_STATES.COMPUTE_ROOT_SIGNATURE) else 0)
| (if (o.RS_VIEWPORTS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.RS_VIEWPORTS) else 0)
| (if (o.RS_SCISSOR_RECTS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.RS_SCISSOR_RECTS) else 0)
| (if (o.PREDICATION == 1) @intFromEnum(D3D12_GRAPHICS_STATES.PREDICATION) else 0)
| (if (o.OM_RENDER_TARGETS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.OM_RENDER_TARGETS) else 0)
| (if (o.OM_STENCIL_REF == 1) @intFromEnum(D3D12_GRAPHICS_STATES.OM_STENCIL_REF) else 0)
| (if (o.OM_BLEND_FACTOR == 1) @intFromEnum(D3D12_GRAPHICS_STATES.OM_BLEND_FACTOR) else 0)
| (if (o.PIPELINE_STATE == 1) @intFromEnum(D3D12_GRAPHICS_STATES.PIPELINE_STATE) else 0)
| (if (o.SO_TARGETS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.SO_TARGETS) else 0)
| (if (o.OM_DEPTH_BOUNDS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.OM_DEPTH_BOUNDS) else 0)
| (if (o.SAMPLE_POSITIONS == 1) @intFromEnum(D3D12_GRAPHICS_STATES.SAMPLE_POSITIONS) else 0)
| (if (o.VIEW_INSTANCE_MASK == 1) @intFromEnum(D3D12_GRAPHICS_STATES.VIEW_INSTANCE_MASK) else 0)
));
}
};
pub const D3D12_GRAPHICS_STATE_NONE = D3D12_GRAPHICS_STATES.NONE;
pub const D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = D3D12_GRAPHICS_STATES.IA_VERTEX_BUFFERS;
pub const D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = D3D12_GRAPHICS_STATES.IA_INDEX_BUFFER;
pub const D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = D3D12_GRAPHICS_STATES.IA_PRIMITIVE_TOPOLOGY;
pub const D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = D3D12_GRAPHICS_STATES.DESCRIPTOR_HEAP;
pub const D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = D3D12_GRAPHICS_STATES.GRAPHICS_ROOT_SIGNATURE;
pub const D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = D3D12_GRAPHICS_STATES.COMPUTE_ROOT_SIGNATURE;
pub const D3D12_GRAPHICS_STATE_RS_VIEWPORTS = D3D12_GRAPHICS_STATES.RS_VIEWPORTS;
pub const D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = D3D12_GRAPHICS_STATES.RS_SCISSOR_RECTS;
pub const D3D12_GRAPHICS_STATE_PREDICATION = D3D12_GRAPHICS_STATES.PREDICATION;
pub const D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = D3D12_GRAPHICS_STATES.OM_RENDER_TARGETS;
pub const D3D12_GRAPHICS_STATE_OM_STENCIL_REF = D3D12_GRAPHICS_STATES.OM_STENCIL_REF;
pub const D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = D3D12_GRAPHICS_STATES.OM_BLEND_FACTOR;
pub const D3D12_GRAPHICS_STATE_PIPELINE_STATE = D3D12_GRAPHICS_STATES.PIPELINE_STATE;
pub const D3D12_GRAPHICS_STATE_SO_TARGETS = D3D12_GRAPHICS_STATES.SO_TARGETS;
pub const D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = D3D12_GRAPHICS_STATES.OM_DEPTH_BOUNDS;
pub const D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = D3D12_GRAPHICS_STATES.SAMPLE_POSITIONS;
pub const D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = D3D12_GRAPHICS_STATES.VIEW_INSTANCE_MASK;
pub const D3D12_META_COMMAND_DESC = extern struct {
Id: Guid,
Name: ?[*:0]const u16,
InitializationDirtyState: D3D12_GRAPHICS_STATES,
ExecutionDirtyState: D3D12_GRAPHICS_STATES,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12StateObject_Value = Guid.initString("47016943-fca8-4594-93ea-af258b55346d");
pub const IID_ID3D12StateObject = &IID_ID3D12StateObject_Value;
pub const ID3D12StateObject = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12StateObjectProperties_Value = Guid.initString("de5fa827-9bf9-4f26-89ff-d7f56fde3860");
pub const IID_ID3D12StateObjectProperties = &IID_ID3D12StateObjectProperties_Value;
pub const ID3D12StateObjectProperties = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetShaderIdentifier: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12StateObjectProperties,
pExportName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
else => *const fn(
self: *const ID3D12StateObjectProperties,
pExportName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
},
GetShaderStackSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12StateObjectProperties,
pExportName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12StateObjectProperties,
pExportName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetPipelineStackSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12StateObjectProperties,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12StateObjectProperties,
) callconv(@import("std").os.windows.WINAPI) u64,
},
SetPipelineStackSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12StateObjectProperties,
PipelineStackSizeInBytes: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12StateObjectProperties,
PipelineStackSizeInBytes: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12StateObjectProperties_GetShaderIdentifier(self: *const T, pExportName: ?[*:0]const u16) callconv(.Inline) ?*anyopaque {
return @as(*const ID3D12StateObjectProperties.VTable, @ptrCast(self.vtable)).GetShaderIdentifier(@as(*const ID3D12StateObjectProperties, @ptrCast(self)), pExportName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12StateObjectProperties_GetShaderStackSize(self: *const T, pExportName: ?[*:0]const u16) callconv(.Inline) u64 {
return @as(*const ID3D12StateObjectProperties.VTable, @ptrCast(self.vtable)).GetShaderStackSize(@as(*const ID3D12StateObjectProperties, @ptrCast(self)), pExportName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12StateObjectProperties_GetPipelineStackSize(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12StateObjectProperties.VTable, @ptrCast(self.vtable)).GetPipelineStackSize(@as(*const ID3D12StateObjectProperties, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12StateObjectProperties_SetPipelineStackSize(self: *const T, PipelineStackSizeInBytes: u64) callconv(.Inline) void {
return @as(*const ID3D12StateObjectProperties.VTable, @ptrCast(self.vtable)).SetPipelineStackSize(@as(*const ID3D12StateObjectProperties, @ptrCast(self)), PipelineStackSizeInBytes);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_STATE_SUBOBJECT_TYPE = enum(i32) {
STATE_OBJECT_CONFIG = 0,
GLOBAL_ROOT_SIGNATURE = 1,
LOCAL_ROOT_SIGNATURE = 2,
NODE_MASK = 3,
DXIL_LIBRARY = 5,
EXISTING_COLLECTION = 6,
SUBOBJECT_TO_EXPORTS_ASSOCIATION = 7,
DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 8,
RAYTRACING_SHADER_CONFIG = 9,
RAYTRACING_PIPELINE_CONFIG = 10,
HIT_GROUP = 11,
RAYTRACING_PIPELINE_CONFIG1 = 12,
MAX_VALID = 13,
};
pub const D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = D3D12_STATE_SUBOBJECT_TYPE.STATE_OBJECT_CONFIG;
pub const D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = D3D12_STATE_SUBOBJECT_TYPE.GLOBAL_ROOT_SIGNATURE;
pub const D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = D3D12_STATE_SUBOBJECT_TYPE.LOCAL_ROOT_SIGNATURE;
pub const D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = D3D12_STATE_SUBOBJECT_TYPE.NODE_MASK;
pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = D3D12_STATE_SUBOBJECT_TYPE.DXIL_LIBRARY;
pub const D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = D3D12_STATE_SUBOBJECT_TYPE.EXISTING_COLLECTION;
pub const D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = D3D12_STATE_SUBOBJECT_TYPE.SUBOBJECT_TO_EXPORTS_ASSOCIATION;
pub const D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = D3D12_STATE_SUBOBJECT_TYPE.DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = D3D12_STATE_SUBOBJECT_TYPE.RAYTRACING_SHADER_CONFIG;
pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = D3D12_STATE_SUBOBJECT_TYPE.RAYTRACING_PIPELINE_CONFIG;
pub const D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = D3D12_STATE_SUBOBJECT_TYPE.HIT_GROUP;
pub const D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = D3D12_STATE_SUBOBJECT_TYPE.RAYTRACING_PIPELINE_CONFIG1;
pub const D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = D3D12_STATE_SUBOBJECT_TYPE.MAX_VALID;
pub const D3D12_STATE_SUBOBJECT = extern struct {
Type: D3D12_STATE_SUBOBJECT_TYPE,
pDesc: ?*const anyopaque,
};
pub const D3D12_STATE_OBJECT_FLAGS = enum(u32) {
NONE = 0,
ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 1,
ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 2,
ALLOW_STATE_OBJECT_ADDITIONS = 4,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS: u1 = 0,
ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS: u1 = 0,
ALLOW_STATE_OBJECT_ADDITIONS: u1 = 0,
}) D3D12_STATE_OBJECT_FLAGS {
return @as(D3D12_STATE_OBJECT_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_STATE_OBJECT_FLAGS.NONE) else 0)
| (if (o.ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS == 1) @intFromEnum(D3D12_STATE_OBJECT_FLAGS.ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS) else 0)
| (if (o.ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS == 1) @intFromEnum(D3D12_STATE_OBJECT_FLAGS.ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS) else 0)
| (if (o.ALLOW_STATE_OBJECT_ADDITIONS == 1) @intFromEnum(D3D12_STATE_OBJECT_FLAGS.ALLOW_STATE_OBJECT_ADDITIONS) else 0)
));
}
};
pub const D3D12_STATE_OBJECT_FLAG_NONE = D3D12_STATE_OBJECT_FLAGS.NONE;
pub const D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = D3D12_STATE_OBJECT_FLAGS.ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS;
pub const D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = D3D12_STATE_OBJECT_FLAGS.ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS;
pub const D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = D3D12_STATE_OBJECT_FLAGS.ALLOW_STATE_OBJECT_ADDITIONS;
pub const D3D12_STATE_OBJECT_CONFIG = extern struct {
Flags: D3D12_STATE_OBJECT_FLAGS,
};
pub const D3D12_GLOBAL_ROOT_SIGNATURE = extern struct {
pGlobalRootSignature: ?*ID3D12RootSignature,
};
pub const D3D12_LOCAL_ROOT_SIGNATURE = extern struct {
pLocalRootSignature: ?*ID3D12RootSignature,
};
pub const D3D12_NODE_MASK = extern struct {
NodeMask: u32,
};
pub const D3D12_EXPORT_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_EXPORT_FLAGS {
return @as(D3D12_EXPORT_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_EXPORT_FLAGS.E) else 0)
));
}
};
pub const D3D12_EXPORT_FLAG_NONE = D3D12_EXPORT_FLAGS.E;
pub const D3D12_EXPORT_DESC = extern struct {
Name: ?[*:0]const u16,
ExportToRename: ?[*:0]const u16,
Flags: D3D12_EXPORT_FLAGS,
};
pub const D3D12_DXIL_LIBRARY_DESC = extern struct {
DXILLibrary: D3D12_SHADER_BYTECODE,
NumExports: u32,
pExports: ?*D3D12_EXPORT_DESC,
};
pub const D3D12_EXISTING_COLLECTION_DESC = extern struct {
pExistingCollection: ?*ID3D12StateObject,
NumExports: u32,
pExports: ?*D3D12_EXPORT_DESC,
};
pub const D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION = extern struct {
pSubobjectToAssociate: ?*const D3D12_STATE_SUBOBJECT,
NumExports: u32,
pExports: ?*?PWSTR,
};
pub const D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = extern struct {
SubobjectToAssociate: ?[*:0]const u16,
NumExports: u32,
pExports: ?*?PWSTR,
};
pub const D3D12_HIT_GROUP_TYPE = enum(i32) {
TRIANGLES = 0,
PROCEDURAL_PRIMITIVE = 1,
};
pub const D3D12_HIT_GROUP_TYPE_TRIANGLES = D3D12_HIT_GROUP_TYPE.TRIANGLES;
pub const D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = D3D12_HIT_GROUP_TYPE.PROCEDURAL_PRIMITIVE;
pub const D3D12_HIT_GROUP_DESC = extern struct {
HitGroupExport: ?[*:0]const u16,
Type: D3D12_HIT_GROUP_TYPE,
AnyHitShaderImport: ?[*:0]const u16,
ClosestHitShaderImport: ?[*:0]const u16,
IntersectionShaderImport: ?[*:0]const u16,
};
pub const D3D12_RAYTRACING_SHADER_CONFIG = extern struct {
MaxPayloadSizeInBytes: u32,
MaxAttributeSizeInBytes: u32,
};
pub const D3D12_RAYTRACING_PIPELINE_CONFIG = extern struct {
MaxTraceRecursionDepth: u32,
};
pub const D3D12_RAYTRACING_PIPELINE_FLAGS = enum(u32) {
NONE = 0,
SKIP_TRIANGLES = 256,
SKIP_PROCEDURAL_PRIMITIVES = 512,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
SKIP_TRIANGLES: u1 = 0,
SKIP_PROCEDURAL_PRIMITIVES: u1 = 0,
}) D3D12_RAYTRACING_PIPELINE_FLAGS {
return @as(D3D12_RAYTRACING_PIPELINE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RAYTRACING_PIPELINE_FLAGS.NONE) else 0)
| (if (o.SKIP_TRIANGLES == 1) @intFromEnum(D3D12_RAYTRACING_PIPELINE_FLAGS.SKIP_TRIANGLES) else 0)
| (if (o.SKIP_PROCEDURAL_PRIMITIVES == 1) @intFromEnum(D3D12_RAYTRACING_PIPELINE_FLAGS.SKIP_PROCEDURAL_PRIMITIVES) else 0)
));
}
};
pub const D3D12_RAYTRACING_PIPELINE_FLAG_NONE = D3D12_RAYTRACING_PIPELINE_FLAGS.NONE;
pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = D3D12_RAYTRACING_PIPELINE_FLAGS.SKIP_TRIANGLES;
pub const D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = D3D12_RAYTRACING_PIPELINE_FLAGS.SKIP_PROCEDURAL_PRIMITIVES;
pub const D3D12_RAYTRACING_PIPELINE_CONFIG1 = extern struct {
MaxTraceRecursionDepth: u32,
Flags: D3D12_RAYTRACING_PIPELINE_FLAGS,
};
pub const D3D12_STATE_OBJECT_TYPE = enum(i32) {
COLLECTION = 0,
RAYTRACING_PIPELINE = 3,
};
pub const D3D12_STATE_OBJECT_TYPE_COLLECTION = D3D12_STATE_OBJECT_TYPE.COLLECTION;
pub const D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = D3D12_STATE_OBJECT_TYPE.RAYTRACING_PIPELINE;
pub const D3D12_STATE_OBJECT_DESC = extern struct {
Type: D3D12_STATE_OBJECT_TYPE,
NumSubobjects: u32,
pSubobjects: ?*const D3D12_STATE_SUBOBJECT,
};
pub const D3D12_RAYTRACING_GEOMETRY_FLAGS = enum(u32) {
NONE = 0,
OPAQUE = 1,
NO_DUPLICATE_ANYHIT_INVOCATION = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
OPAQUE: u1 = 0,
NO_DUPLICATE_ANYHIT_INVOCATION: u1 = 0,
}) D3D12_RAYTRACING_GEOMETRY_FLAGS {
return @as(D3D12_RAYTRACING_GEOMETRY_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RAYTRACING_GEOMETRY_FLAGS.NONE) else 0)
| (if (o.OPAQUE == 1) @intFromEnum(D3D12_RAYTRACING_GEOMETRY_FLAGS.OPAQUE) else 0)
| (if (o.NO_DUPLICATE_ANYHIT_INVOCATION == 1) @intFromEnum(D3D12_RAYTRACING_GEOMETRY_FLAGS.NO_DUPLICATE_ANYHIT_INVOCATION) else 0)
));
}
};
pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = D3D12_RAYTRACING_GEOMETRY_FLAGS.NONE;
pub const D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = D3D12_RAYTRACING_GEOMETRY_FLAGS.OPAQUE;
pub const D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = D3D12_RAYTRACING_GEOMETRY_FLAGS.NO_DUPLICATE_ANYHIT_INVOCATION;
pub const D3D12_RAYTRACING_GEOMETRY_TYPE = enum(i32) {
TRIANGLES = 0,
PROCEDURAL_PRIMITIVE_AABBS = 1,
};
pub const D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = D3D12_RAYTRACING_GEOMETRY_TYPE.TRIANGLES;
pub const D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = D3D12_RAYTRACING_GEOMETRY_TYPE.PROCEDURAL_PRIMITIVE_AABBS;
pub const D3D12_RAYTRACING_INSTANCE_FLAGS = enum(u32) {
NONE = 0,
TRIANGLE_CULL_DISABLE = 1,
TRIANGLE_FRONT_COUNTERCLOCKWISE = 2,
FORCE_OPAQUE = 4,
FORCE_NON_OPAQUE = 8,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
TRIANGLE_CULL_DISABLE: u1 = 0,
TRIANGLE_FRONT_COUNTERCLOCKWISE: u1 = 0,
FORCE_OPAQUE: u1 = 0,
FORCE_NON_OPAQUE: u1 = 0,
}) D3D12_RAYTRACING_INSTANCE_FLAGS {
return @as(D3D12_RAYTRACING_INSTANCE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RAYTRACING_INSTANCE_FLAGS.NONE) else 0)
| (if (o.TRIANGLE_CULL_DISABLE == 1) @intFromEnum(D3D12_RAYTRACING_INSTANCE_FLAGS.TRIANGLE_CULL_DISABLE) else 0)
| (if (o.TRIANGLE_FRONT_COUNTERCLOCKWISE == 1) @intFromEnum(D3D12_RAYTRACING_INSTANCE_FLAGS.TRIANGLE_FRONT_COUNTERCLOCKWISE) else 0)
| (if (o.FORCE_OPAQUE == 1) @intFromEnum(D3D12_RAYTRACING_INSTANCE_FLAGS.FORCE_OPAQUE) else 0)
| (if (o.FORCE_NON_OPAQUE == 1) @intFromEnum(D3D12_RAYTRACING_INSTANCE_FLAGS.FORCE_NON_OPAQUE) else 0)
));
}
};
pub const D3D12_RAYTRACING_INSTANCE_FLAG_NONE = D3D12_RAYTRACING_INSTANCE_FLAGS.NONE;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = D3D12_RAYTRACING_INSTANCE_FLAGS.TRIANGLE_CULL_DISABLE;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = D3D12_RAYTRACING_INSTANCE_FLAGS.TRIANGLE_FRONT_COUNTERCLOCKWISE;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = D3D12_RAYTRACING_INSTANCE_FLAGS.FORCE_OPAQUE;
pub const D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = D3D12_RAYTRACING_INSTANCE_FLAGS.FORCE_NON_OPAQUE;
pub const D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE = extern struct {
StartAddress: u64,
StrideInBytes: u64,
};
pub const D3D12_GPU_VIRTUAL_ADDRESS_RANGE = extern struct {
StartAddress: u64,
SizeInBytes: u64,
};
pub const D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE = extern struct {
StartAddress: u64,
SizeInBytes: u64,
StrideInBytes: u64,
};
pub const D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC = extern struct {
Transform3x4: u64,
IndexFormat: DXGI_FORMAT,
VertexFormat: DXGI_FORMAT,
IndexCount: u32,
VertexCount: u32,
IndexBuffer: u64,
VertexBuffer: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
};
pub const D3D12_RAYTRACING_AABB = extern struct {
MinX: f32,
MinY: f32,
MinZ: f32,
MaxX: f32,
MaxY: f32,
MaxZ: f32,
};
pub const D3D12_RAYTRACING_GEOMETRY_AABBS_DESC = extern struct {
AABBCount: u64,
AABBs: D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS = enum(u32) {
NONE = 0,
ALLOW_UPDATE = 1,
ALLOW_COMPACTION = 2,
PREFER_FAST_TRACE = 4,
PREFER_FAST_BUILD = 8,
MINIMIZE_MEMORY = 16,
PERFORM_UPDATE = 32,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ALLOW_UPDATE: u1 = 0,
ALLOW_COMPACTION: u1 = 0,
PREFER_FAST_TRACE: u1 = 0,
PREFER_FAST_BUILD: u1 = 0,
MINIMIZE_MEMORY: u1 = 0,
PERFORM_UPDATE: u1 = 0,
}) D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
return @as(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.NONE) else 0)
| (if (o.ALLOW_UPDATE == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.ALLOW_UPDATE) else 0)
| (if (o.ALLOW_COMPACTION == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.ALLOW_COMPACTION) else 0)
| (if (o.PREFER_FAST_TRACE == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PREFER_FAST_TRACE) else 0)
| (if (o.PREFER_FAST_BUILD == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PREFER_FAST_BUILD) else 0)
| (if (o.MINIMIZE_MEMORY == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.MINIMIZE_MEMORY) else 0)
| (if (o.PERFORM_UPDATE == 1) @intFromEnum(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PERFORM_UPDATE) else 0)
));
}
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.NONE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.ALLOW_UPDATE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.ALLOW_COMPACTION;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PREFER_FAST_TRACE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PREFER_FAST_BUILD;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.MINIMIZE_MEMORY;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS.PERFORM_UPDATE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE = enum(i32) {
CLONE = 0,
COMPACT = 1,
VISUALIZATION_DECODE_FOR_TOOLS = 2,
SERIALIZE = 3,
DESERIALIZE = 4,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.CLONE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.COMPACT;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.VISUALIZATION_DECODE_FOR_TOOLS;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.SERIALIZE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE.DESERIALIZE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE = enum(i32) {
TOP_LEVEL = 0,
BOTTOM_LEVEL = 1,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE.TOP_LEVEL;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE.BOTTOM_LEVEL;
pub const D3D12_ELEMENTS_LAYOUT = enum(i32) {
Y = 0,
_OF_POINTERS = 1,
};
pub const D3D12_ELEMENTS_LAYOUT_ARRAY = D3D12_ELEMENTS_LAYOUT.Y;
pub const D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = D3D12_ELEMENTS_LAYOUT._OF_POINTERS;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE = enum(i32) {
COMPACTED_SIZE = 0,
TOOLS_VISUALIZATION = 1,
SERIALIZATION = 2,
CURRENT_SIZE = 3,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.COMPACTED_SIZE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.TOOLS_VISUALIZATION;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.SERIALIZATION;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE.CURRENT_SIZE;
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC = extern struct {
DestBuffer: u64,
InfoType: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC = extern struct {
CompactedSizeInBytes: u64,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC = extern struct {
DecodedSizeInBytes: u64,
};
pub const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER = extern struct {
Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
NumDescs: u32,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC = extern struct {
SerializedSizeInBytes: u64,
NumBottomLevelAccelerationStructurePointers: u64,
};
pub const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER = extern struct {
DriverOpaqueGUID: Guid,
DriverOpaqueVersioningData: [16]u8,
};
pub const D3D12_SERIALIZED_DATA_TYPE = enum(i32) {
E = 0,
};
pub const D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = D3D12_SERIALIZED_DATA_TYPE.E;
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS = enum(i32) {
COMPATIBLE_WITH_DEVICE = 0,
UNSUPPORTED_TYPE = 1,
UNRECOGNIZED = 2,
INCOMPATIBLE_VERSION = 3,
INCOMPATIBLE_TYPE = 4,
};
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.COMPATIBLE_WITH_DEVICE;
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.UNSUPPORTED_TYPE;
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.UNRECOGNIZED;
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.INCOMPATIBLE_VERSION;
pub const D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS.INCOMPATIBLE_TYPE;
pub const D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER = extern struct {
DriverMatchingIdentifier: D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
SerializedSizeInBytesIncludingHeader: u64,
DeserializedSizeInBytes: u64,
NumBottomLevelAccelerationStructurePointersAfterHeader: u64,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC = extern struct {
CurrentSizeInBytes: u64,
};
pub const D3D12_RAYTRACING_INSTANCE_DESC = extern struct {
Transform: [12]f32,
_bitfield1: u32,
_bitfield2: u32,
AccelerationStructure: u64,
};
pub const D3D12_RAYTRACING_GEOMETRY_DESC = extern struct {
Type: D3D12_RAYTRACING_GEOMETRY_TYPE,
Flags: D3D12_RAYTRACING_GEOMETRY_FLAGS,
Anonymous: extern union {
Triangles: D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC,
AABBs: D3D12_RAYTRACING_GEOMETRY_AABBS_DESC,
},
};
pub const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS = extern struct {
Type: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE,
Flags: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS,
NumDescs: u32,
DescsLayout: D3D12_ELEMENTS_LAYOUT,
Anonymous: extern union {
InstanceDescs: u64,
pGeometryDescs: ?*const D3D12_RAYTRACING_GEOMETRY_DESC,
ppGeometryDescs: ?*const ?*D3D12_RAYTRACING_GEOMETRY_DESC,
},
};
pub const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC = extern struct {
DestAccelerationStructureData: u64,
Inputs: D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
SourceAccelerationStructureData: u64,
ScratchAccelerationStructureData: u64,
};
pub const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO = extern struct {
ResultDataMaxSizeInBytes: u64,
ScratchDataSizeInBytes: u64,
UpdateScratchDataSizeInBytes: u64,
};
pub const D3D12_RAY_FLAGS = enum(u32) {
NONE = 0,
FORCE_OPAQUE = 1,
FORCE_NON_OPAQUE = 2,
ACCEPT_FIRST_HIT_AND_END_SEARCH = 4,
SKIP_CLOSEST_HIT_SHADER = 8,
CULL_BACK_FACING_TRIANGLES = 16,
CULL_FRONT_FACING_TRIANGLES = 32,
CULL_OPAQUE = 64,
CULL_NON_OPAQUE = 128,
SKIP_TRIANGLES = 256,
SKIP_PROCEDURAL_PRIMITIVES = 512,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
FORCE_OPAQUE: u1 = 0,
FORCE_NON_OPAQUE: u1 = 0,
ACCEPT_FIRST_HIT_AND_END_SEARCH: u1 = 0,
SKIP_CLOSEST_HIT_SHADER: u1 = 0,
CULL_BACK_FACING_TRIANGLES: u1 = 0,
CULL_FRONT_FACING_TRIANGLES: u1 = 0,
CULL_OPAQUE: u1 = 0,
CULL_NON_OPAQUE: u1 = 0,
SKIP_TRIANGLES: u1 = 0,
SKIP_PROCEDURAL_PRIMITIVES: u1 = 0,
}) D3D12_RAY_FLAGS {
return @as(D3D12_RAY_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RAY_FLAGS.NONE) else 0)
| (if (o.FORCE_OPAQUE == 1) @intFromEnum(D3D12_RAY_FLAGS.FORCE_OPAQUE) else 0)
| (if (o.FORCE_NON_OPAQUE == 1) @intFromEnum(D3D12_RAY_FLAGS.FORCE_NON_OPAQUE) else 0)
| (if (o.ACCEPT_FIRST_HIT_AND_END_SEARCH == 1) @intFromEnum(D3D12_RAY_FLAGS.ACCEPT_FIRST_HIT_AND_END_SEARCH) else 0)
| (if (o.SKIP_CLOSEST_HIT_SHADER == 1) @intFromEnum(D3D12_RAY_FLAGS.SKIP_CLOSEST_HIT_SHADER) else 0)
| (if (o.CULL_BACK_FACING_TRIANGLES == 1) @intFromEnum(D3D12_RAY_FLAGS.CULL_BACK_FACING_TRIANGLES) else 0)
| (if (o.CULL_FRONT_FACING_TRIANGLES == 1) @intFromEnum(D3D12_RAY_FLAGS.CULL_FRONT_FACING_TRIANGLES) else 0)
| (if (o.CULL_OPAQUE == 1) @intFromEnum(D3D12_RAY_FLAGS.CULL_OPAQUE) else 0)
| (if (o.CULL_NON_OPAQUE == 1) @intFromEnum(D3D12_RAY_FLAGS.CULL_NON_OPAQUE) else 0)
| (if (o.SKIP_TRIANGLES == 1) @intFromEnum(D3D12_RAY_FLAGS.SKIP_TRIANGLES) else 0)
| (if (o.SKIP_PROCEDURAL_PRIMITIVES == 1) @intFromEnum(D3D12_RAY_FLAGS.SKIP_PROCEDURAL_PRIMITIVES) else 0)
));
}
};
pub const D3D12_RAY_FLAG_NONE = D3D12_RAY_FLAGS.NONE;
pub const D3D12_RAY_FLAG_FORCE_OPAQUE = D3D12_RAY_FLAGS.FORCE_OPAQUE;
pub const D3D12_RAY_FLAG_FORCE_NON_OPAQUE = D3D12_RAY_FLAGS.FORCE_NON_OPAQUE;
pub const D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = D3D12_RAY_FLAGS.ACCEPT_FIRST_HIT_AND_END_SEARCH;
pub const D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = D3D12_RAY_FLAGS.SKIP_CLOSEST_HIT_SHADER;
pub const D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = D3D12_RAY_FLAGS.CULL_BACK_FACING_TRIANGLES;
pub const D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = D3D12_RAY_FLAGS.CULL_FRONT_FACING_TRIANGLES;
pub const D3D12_RAY_FLAG_CULL_OPAQUE = D3D12_RAY_FLAGS.CULL_OPAQUE;
pub const D3D12_RAY_FLAG_CULL_NON_OPAQUE = D3D12_RAY_FLAGS.CULL_NON_OPAQUE;
pub const D3D12_RAY_FLAG_SKIP_TRIANGLES = D3D12_RAY_FLAGS.SKIP_TRIANGLES;
pub const D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = D3D12_RAY_FLAGS.SKIP_PROCEDURAL_PRIMITIVES;
pub const D3D12_HIT_KIND = enum(i32) {
FRONT_FACE = 254,
BACK_FACE = 255,
};
pub const D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = D3D12_HIT_KIND.FRONT_FACE;
pub const D3D12_HIT_KIND_TRIANGLE_BACK_FACE = D3D12_HIT_KIND.BACK_FACE;
// TODO: this type is limited to platform 'windows10.0.17763'
// This COM type is Agile, not sure what that means
const IID_ID3D12Device5_Value = Guid.initString("8b4f173b-2fea-4b80-8f58-4307191ab95d");
pub const IID_ID3D12Device5 = &IID_ID3D12Device5_Value;
pub const ID3D12Device5 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device4.VTable,
CreateLifetimeTracker: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
pOwner: ?*ID3D12LifetimeOwner,
riid: ?*const Guid,
ppvTracker: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device5,
pOwner: ?*ID3D12LifetimeOwner,
riid: ?*const Guid,
ppvTracker: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
RemoveDevice: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device5,
) callconv(@import("std").os.windows.WINAPI) void,
},
EnumerateMetaCommands: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
pNumMetaCommands: ?*u32,
pDescs: ?[*]D3D12_META_COMMAND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device5,
pNumMetaCommands: ?*u32,
pDescs: ?[*]D3D12_META_COMMAND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
EnumerateMetaCommandParameters: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
CommandId: ?*const Guid,
Stage: D3D12_META_COMMAND_PARAMETER_STAGE,
pTotalStructureSizeInBytes: ?*u32,
pParameterCount: ?*u32,
pParameterDescs: ?[*]D3D12_META_COMMAND_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device5,
CommandId: ?*const Guid,
Stage: D3D12_META_COMMAND_PARAMETER_STAGE,
pTotalStructureSizeInBytes: ?*u32,
pParameterCount: ?*u32,
pParameterDescs: ?[*]D3D12_META_COMMAND_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateMetaCommand: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
CommandId: ?*const Guid,
NodeMask: u32,
// TODO: what to do with BytesParamIndex 3?
pCreationParametersData: ?*const anyopaque,
CreationParametersDataSizeInBytes: usize,
riid: ?*const Guid,
ppMetaCommand: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device5,
CommandId: ?*const Guid,
NodeMask: u32,
// TODO: what to do with BytesParamIndex 3?
pCreationParametersData: ?*const anyopaque,
CreationParametersDataSizeInBytes: usize,
riid: ?*const Guid,
ppMetaCommand: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateStateObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
pDesc: ?*const D3D12_STATE_OBJECT_DESC,
riid: ?*const Guid,
ppStateObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device5,
pDesc: ?*const D3D12_STATE_OBJECT_DESC,
riid: ?*const Guid,
ppStateObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetRaytracingAccelerationStructurePrebuildInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
pInfo: ?*D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device5,
pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
pInfo: ?*D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) callconv(@import("std").os.windows.WINAPI) void,
},
CheckDriverMatchingIdentifier: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device5,
SerializedDataType: D3D12_SERIALIZED_DATA_TYPE,
pIdentifierToCheck: ?*const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) callconv(@import("std").os.windows.WINAPI) D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
else => *const fn(
self: *const ID3D12Device5,
SerializedDataType: D3D12_SERIALIZED_DATA_TYPE,
pIdentifierToCheck: ?*const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) callconv(@import("std").os.windows.WINAPI) D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device4.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_CreateLifetimeTracker(self: *const T, pOwner: ?*ID3D12LifetimeOwner, riid: ?*const Guid, ppvTracker: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).CreateLifetimeTracker(@as(*const ID3D12Device5, @ptrCast(self)), pOwner, riid, ppvTracker);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_RemoveDevice(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).RemoveDevice(@as(*const ID3D12Device5, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_EnumerateMetaCommands(self: *const T, pNumMetaCommands: ?*u32, pDescs: ?[*]D3D12_META_COMMAND_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).EnumerateMetaCommands(@as(*const ID3D12Device5, @ptrCast(self)), pNumMetaCommands, pDescs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_EnumerateMetaCommandParameters(self: *const T, CommandId: ?*const Guid, Stage: D3D12_META_COMMAND_PARAMETER_STAGE, pTotalStructureSizeInBytes: ?*u32, pParameterCount: ?*u32, pParameterDescs: ?[*]D3D12_META_COMMAND_PARAMETER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).EnumerateMetaCommandParameters(@as(*const ID3D12Device5, @ptrCast(self)), CommandId, Stage, pTotalStructureSizeInBytes, pParameterCount, pParameterDescs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_CreateMetaCommand(self: *const T, CommandId: ?*const Guid, NodeMask: u32, pCreationParametersData: ?*const anyopaque, CreationParametersDataSizeInBytes: usize, riid: ?*const Guid, ppMetaCommand: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).CreateMetaCommand(@as(*const ID3D12Device5, @ptrCast(self)), CommandId, NodeMask, pCreationParametersData, CreationParametersDataSizeInBytes, riid, ppMetaCommand);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_CreateStateObject(self: *const T, pDesc: ?*const D3D12_STATE_OBJECT_DESC, riid: ?*const Guid, ppStateObject: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).CreateStateObject(@as(*const ID3D12Device5, @ptrCast(self)), pDesc, riid, ppStateObject);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(self: *const T, pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS, pInfo: ?*D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO) callconv(.Inline) void {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).GetRaytracingAccelerationStructurePrebuildInfo(@as(*const ID3D12Device5, @ptrCast(self)), pDesc, pInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device5_CheckDriverMatchingIdentifier(self: *const T, SerializedDataType: D3D12_SERIALIZED_DATA_TYPE, pIdentifierToCheck: ?*const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER) callconv(.Inline) D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
return @as(*const ID3D12Device5.VTable, @ptrCast(self.vtable)).CheckDriverMatchingIdentifier(@as(*const ID3D12Device5, @ptrCast(self)), SerializedDataType, pIdentifierToCheck);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_AUTO_BREADCRUMB_OP = enum(i32) {
SETMARKER = 0,
BEGINEVENT = 1,
ENDEVENT = 2,
DRAWINSTANCED = 3,
DRAWINDEXEDINSTANCED = 4,
EXECUTEINDIRECT = 5,
DISPATCH = 6,
COPYBUFFERREGION = 7,
COPYTEXTUREREGION = 8,
COPYRESOURCE = 9,
COPYTILES = 10,
RESOLVESUBRESOURCE = 11,
CLEARRENDERTARGETVIEW = 12,
CLEARUNORDEREDACCESSVIEW = 13,
CLEARDEPTHSTENCILVIEW = 14,
RESOURCEBARRIER = 15,
EXECUTEBUNDLE = 16,
PRESENT = 17,
RESOLVEQUERYDATA = 18,
BEGINSUBMISSION = 19,
ENDSUBMISSION = 20,
DECODEFRAME = 21,
PROCESSFRAMES = 22,
ATOMICCOPYBUFFERUINT = 23,
ATOMICCOPYBUFFERUINT64 = 24,
RESOLVESUBRESOURCEREGION = 25,
WRITEBUFFERIMMEDIATE = 26,
DECODEFRAME1 = 27,
SETPROTECTEDRESOURCESESSION = 28,
DECODEFRAME2 = 29,
PROCESSFRAMES1 = 30,
BUILDRAYTRACINGACCELERATIONSTRUCTURE = 31,
EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 32,
COPYRAYTRACINGACCELERATIONSTRUCTURE = 33,
DISPATCHRAYS = 34,
INITIALIZEMETACOMMAND = 35,
EXECUTEMETACOMMAND = 36,
ESTIMATEMOTION = 37,
RESOLVEMOTIONVECTORHEAP = 38,
SETPIPELINESTATE1 = 39,
INITIALIZEEXTENSIONCOMMAND = 40,
EXECUTEEXTENSIONCOMMAND = 41,
DISPATCHMESH = 42,
ENCODEFRAME = 43,
RESOLVEENCODEROUTPUTMETADATA = 44,
};
pub const D3D12_AUTO_BREADCRUMB_OP_SETMARKER = D3D12_AUTO_BREADCRUMB_OP.SETMARKER;
pub const D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = D3D12_AUTO_BREADCRUMB_OP.BEGINEVENT;
pub const D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = D3D12_AUTO_BREADCRUMB_OP.ENDEVENT;
pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = D3D12_AUTO_BREADCRUMB_OP.DRAWINSTANCED;
pub const D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = D3D12_AUTO_BREADCRUMB_OP.DRAWINDEXEDINSTANCED;
pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = D3D12_AUTO_BREADCRUMB_OP.EXECUTEINDIRECT;
pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCH = D3D12_AUTO_BREADCRUMB_OP.DISPATCH;
pub const D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = D3D12_AUTO_BREADCRUMB_OP.COPYBUFFERREGION;
pub const D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = D3D12_AUTO_BREADCRUMB_OP.COPYTEXTUREREGION;
pub const D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = D3D12_AUTO_BREADCRUMB_OP.COPYRESOURCE;
pub const D3D12_AUTO_BREADCRUMB_OP_COPYTILES = D3D12_AUTO_BREADCRUMB_OP.COPYTILES;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = D3D12_AUTO_BREADCRUMB_OP.RESOLVESUBRESOURCE;
pub const D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = D3D12_AUTO_BREADCRUMB_OP.CLEARRENDERTARGETVIEW;
pub const D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = D3D12_AUTO_BREADCRUMB_OP.CLEARUNORDEREDACCESSVIEW;
pub const D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = D3D12_AUTO_BREADCRUMB_OP.CLEARDEPTHSTENCILVIEW;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = D3D12_AUTO_BREADCRUMB_OP.RESOURCEBARRIER;
pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = D3D12_AUTO_BREADCRUMB_OP.EXECUTEBUNDLE;
pub const D3D12_AUTO_BREADCRUMB_OP_PRESENT = D3D12_AUTO_BREADCRUMB_OP.PRESENT;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = D3D12_AUTO_BREADCRUMB_OP.RESOLVEQUERYDATA;
pub const D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = D3D12_AUTO_BREADCRUMB_OP.BEGINSUBMISSION;
pub const D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = D3D12_AUTO_BREADCRUMB_OP.ENDSUBMISSION;
pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = D3D12_AUTO_BREADCRUMB_OP.DECODEFRAME;
pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = D3D12_AUTO_BREADCRUMB_OP.PROCESSFRAMES;
pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = D3D12_AUTO_BREADCRUMB_OP.ATOMICCOPYBUFFERUINT;
pub const D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = D3D12_AUTO_BREADCRUMB_OP.ATOMICCOPYBUFFERUINT64;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = D3D12_AUTO_BREADCRUMB_OP.RESOLVESUBRESOURCEREGION;
pub const D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = D3D12_AUTO_BREADCRUMB_OP.WRITEBUFFERIMMEDIATE;
pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = D3D12_AUTO_BREADCRUMB_OP.DECODEFRAME1;
pub const D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = D3D12_AUTO_BREADCRUMB_OP.SETPROTECTEDRESOURCESESSION;
pub const D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = D3D12_AUTO_BREADCRUMB_OP.DECODEFRAME2;
pub const D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = D3D12_AUTO_BREADCRUMB_OP.PROCESSFRAMES1;
pub const D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = D3D12_AUTO_BREADCRUMB_OP.BUILDRAYTRACINGACCELERATIONSTRUCTURE;
pub const D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = D3D12_AUTO_BREADCRUMB_OP.EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO;
pub const D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = D3D12_AUTO_BREADCRUMB_OP.COPYRAYTRACINGACCELERATIONSTRUCTURE;
pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = D3D12_AUTO_BREADCRUMB_OP.DISPATCHRAYS;
pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = D3D12_AUTO_BREADCRUMB_OP.INITIALIZEMETACOMMAND;
pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = D3D12_AUTO_BREADCRUMB_OP.EXECUTEMETACOMMAND;
pub const D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = D3D12_AUTO_BREADCRUMB_OP.ESTIMATEMOTION;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = D3D12_AUTO_BREADCRUMB_OP.RESOLVEMOTIONVECTORHEAP;
pub const D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = D3D12_AUTO_BREADCRUMB_OP.SETPIPELINESTATE1;
pub const D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = D3D12_AUTO_BREADCRUMB_OP.INITIALIZEEXTENSIONCOMMAND;
pub const D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = D3D12_AUTO_BREADCRUMB_OP.EXECUTEEXTENSIONCOMMAND;
pub const D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = D3D12_AUTO_BREADCRUMB_OP.DISPATCHMESH;
pub const D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = D3D12_AUTO_BREADCRUMB_OP.ENCODEFRAME;
pub const D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = D3D12_AUTO_BREADCRUMB_OP.RESOLVEENCODEROUTPUTMETADATA;
pub const D3D12_AUTO_BREADCRUMB_NODE = extern struct {
pCommandListDebugNameA: ?*const u8,
pCommandListDebugNameW: ?[*:0]const u16,
pCommandQueueDebugNameA: ?*const u8,
pCommandQueueDebugNameW: ?[*:0]const u16,
pCommandList: ?*ID3D12GraphicsCommandList,
pCommandQueue: ?*ID3D12CommandQueue,
BreadcrumbCount: u32,
pLastBreadcrumbValue: ?*const u32,
pCommandHistory: ?*const D3D12_AUTO_BREADCRUMB_OP,
pNext: ?*const D3D12_AUTO_BREADCRUMB_NODE,
};
pub const D3D12_DRED_BREADCRUMB_CONTEXT = extern struct {
BreadcrumbIndex: u32,
pContextString: ?[*:0]const u16,
};
pub const D3D12_AUTO_BREADCRUMB_NODE1 = extern struct {
pCommandListDebugNameA: ?*const u8,
pCommandListDebugNameW: ?[*:0]const u16,
pCommandQueueDebugNameA: ?*const u8,
pCommandQueueDebugNameW: ?[*:0]const u16,
pCommandList: ?*ID3D12GraphicsCommandList,
pCommandQueue: ?*ID3D12CommandQueue,
BreadcrumbCount: u32,
pLastBreadcrumbValue: ?*const u32,
pCommandHistory: ?*const D3D12_AUTO_BREADCRUMB_OP,
pNext: ?*const D3D12_AUTO_BREADCRUMB_NODE1,
BreadcrumbContextsCount: u32,
pBreadcrumbContexts: ?*D3D12_DRED_BREADCRUMB_CONTEXT,
};
pub const D3D12_DRED_VERSION = enum(i32) {
@"0" = 1,
@"1" = 2,
@"2" = 3,
@"3" = 4,
};
pub const D3D12_DRED_VERSION_1_0 = D3D12_DRED_VERSION.@"0";
pub const D3D12_DRED_VERSION_1_1 = D3D12_DRED_VERSION.@"1";
pub const D3D12_DRED_VERSION_1_2 = D3D12_DRED_VERSION.@"2";
pub const D3D12_DRED_VERSION_1_3 = D3D12_DRED_VERSION.@"3";
pub const D3D12_DRED_FLAGS = enum(u32) {
NONE = 0,
FORCE_ENABLE = 1,
DISABLE_AUTOBREADCRUMBS = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
FORCE_ENABLE: u1 = 0,
DISABLE_AUTOBREADCRUMBS: u1 = 0,
}) D3D12_DRED_FLAGS {
return @as(D3D12_DRED_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_DRED_FLAGS.NONE) else 0)
| (if (o.FORCE_ENABLE == 1) @intFromEnum(D3D12_DRED_FLAGS.FORCE_ENABLE) else 0)
| (if (o.DISABLE_AUTOBREADCRUMBS == 1) @intFromEnum(D3D12_DRED_FLAGS.DISABLE_AUTOBREADCRUMBS) else 0)
));
}
};
pub const D3D12_DRED_FLAG_NONE = D3D12_DRED_FLAGS.NONE;
pub const D3D12_DRED_FLAG_FORCE_ENABLE = D3D12_DRED_FLAGS.FORCE_ENABLE;
pub const D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = D3D12_DRED_FLAGS.DISABLE_AUTOBREADCRUMBS;
pub const D3D12_DRED_ENABLEMENT = enum(i32) {
SYSTEM_CONTROLLED = 0,
FORCED_OFF = 1,
FORCED_ON = 2,
};
pub const D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = D3D12_DRED_ENABLEMENT.SYSTEM_CONTROLLED;
pub const D3D12_DRED_ENABLEMENT_FORCED_OFF = D3D12_DRED_ENABLEMENT.FORCED_OFF;
pub const D3D12_DRED_ENABLEMENT_FORCED_ON = D3D12_DRED_ENABLEMENT.FORCED_ON;
pub const D3D12_DEVICE_REMOVED_EXTENDED_DATA = extern struct {
Flags: D3D12_DRED_FLAGS,
pHeadAutoBreadcrumbNode: ?*D3D12_AUTO_BREADCRUMB_NODE,
};
pub const D3D12_DRED_ALLOCATION_TYPE = enum(i32) {
COMMAND_QUEUE = 19,
COMMAND_ALLOCATOR = 20,
PIPELINE_STATE = 21,
COMMAND_LIST = 22,
FENCE = 23,
DESCRIPTOR_HEAP = 24,
HEAP = 25,
QUERY_HEAP = 27,
COMMAND_SIGNATURE = 28,
PIPELINE_LIBRARY = 29,
VIDEO_DECODER = 30,
VIDEO_PROCESSOR = 32,
RESOURCE = 34,
PASS = 35,
CRYPTOSESSION = 36,
CRYPTOSESSIONPOLICY = 37,
PROTECTEDRESOURCESESSION = 38,
VIDEO_DECODER_HEAP = 39,
COMMAND_POOL = 40,
COMMAND_RECORDER = 41,
STATE_OBJECT = 42,
METACOMMAND = 43,
SCHEDULINGGROUP = 44,
VIDEO_MOTION_ESTIMATOR = 45,
VIDEO_MOTION_VECTOR_HEAP = 46,
VIDEO_EXTENSION_COMMAND = 47,
VIDEO_ENCODER = 48,
VIDEO_ENCODER_HEAP = 49,
INVALID = -1,
};
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = D3D12_DRED_ALLOCATION_TYPE.COMMAND_QUEUE;
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = D3D12_DRED_ALLOCATION_TYPE.COMMAND_ALLOCATOR;
pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = D3D12_DRED_ALLOCATION_TYPE.PIPELINE_STATE;
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = D3D12_DRED_ALLOCATION_TYPE.COMMAND_LIST;
pub const D3D12_DRED_ALLOCATION_TYPE_FENCE = D3D12_DRED_ALLOCATION_TYPE.FENCE;
pub const D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = D3D12_DRED_ALLOCATION_TYPE.DESCRIPTOR_HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_HEAP = D3D12_DRED_ALLOCATION_TYPE.HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = D3D12_DRED_ALLOCATION_TYPE.QUERY_HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = D3D12_DRED_ALLOCATION_TYPE.COMMAND_SIGNATURE;
pub const D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = D3D12_DRED_ALLOCATION_TYPE.PIPELINE_LIBRARY;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = D3D12_DRED_ALLOCATION_TYPE.VIDEO_DECODER;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = D3D12_DRED_ALLOCATION_TYPE.VIDEO_PROCESSOR;
pub const D3D12_DRED_ALLOCATION_TYPE_RESOURCE = D3D12_DRED_ALLOCATION_TYPE.RESOURCE;
pub const D3D12_DRED_ALLOCATION_TYPE_PASS = D3D12_DRED_ALLOCATION_TYPE.PASS;
pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = D3D12_DRED_ALLOCATION_TYPE.CRYPTOSESSION;
pub const D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = D3D12_DRED_ALLOCATION_TYPE.CRYPTOSESSIONPOLICY;
pub const D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = D3D12_DRED_ALLOCATION_TYPE.PROTECTEDRESOURCESESSION;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = D3D12_DRED_ALLOCATION_TYPE.VIDEO_DECODER_HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = D3D12_DRED_ALLOCATION_TYPE.COMMAND_POOL;
pub const D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = D3D12_DRED_ALLOCATION_TYPE.COMMAND_RECORDER;
pub const D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = D3D12_DRED_ALLOCATION_TYPE.STATE_OBJECT;
pub const D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = D3D12_DRED_ALLOCATION_TYPE.METACOMMAND;
pub const D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = D3D12_DRED_ALLOCATION_TYPE.SCHEDULINGGROUP;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = D3D12_DRED_ALLOCATION_TYPE.VIDEO_MOTION_ESTIMATOR;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = D3D12_DRED_ALLOCATION_TYPE.VIDEO_MOTION_VECTOR_HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = D3D12_DRED_ALLOCATION_TYPE.VIDEO_EXTENSION_COMMAND;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = D3D12_DRED_ALLOCATION_TYPE.VIDEO_ENCODER;
pub const D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = D3D12_DRED_ALLOCATION_TYPE.VIDEO_ENCODER_HEAP;
pub const D3D12_DRED_ALLOCATION_TYPE_INVALID = D3D12_DRED_ALLOCATION_TYPE.INVALID;
pub const D3D12_DRED_ALLOCATION_NODE = extern struct {
ObjectNameA: ?*const u8,
ObjectNameW: ?[*:0]const u16,
AllocationType: D3D12_DRED_ALLOCATION_TYPE,
pNext: ?*const D3D12_DRED_ALLOCATION_NODE,
};
pub const D3D12_DRED_ALLOCATION_NODE1 = extern struct {
ObjectNameA: ?*const u8,
ObjectNameW: ?[*:0]const u16,
AllocationType: D3D12_DRED_ALLOCATION_TYPE,
pNext: ?*const D3D12_DRED_ALLOCATION_NODE1,
pObject: ?*IUnknown,
};
pub const D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT = extern struct {
pHeadAutoBreadcrumbNode: ?*const D3D12_AUTO_BREADCRUMB_NODE,
};
pub const D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 = extern struct {
pHeadAutoBreadcrumbNode: ?*const D3D12_AUTO_BREADCRUMB_NODE1,
};
pub const D3D12_DRED_PAGE_FAULT_OUTPUT = extern struct {
PageFaultVA: u64,
pHeadExistingAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE,
pHeadRecentFreedAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE,
};
pub const D3D12_DRED_PAGE_FAULT_OUTPUT1 = extern struct {
PageFaultVA: u64,
pHeadExistingAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE1,
pHeadRecentFreedAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE1,
};
pub const D3D12_DRED_PAGE_FAULT_FLAGS = enum(u32) {
E = 0,
_,
pub fn initFlags(o: struct {
E: u1 = 0,
}) D3D12_DRED_PAGE_FAULT_FLAGS {
return @as(D3D12_DRED_PAGE_FAULT_FLAGS, @enumFromInt(
(if (o.E == 1) @intFromEnum(D3D12_DRED_PAGE_FAULT_FLAGS.E) else 0)
));
}
};
pub const D3D12_DRED_PAGE_FAULT_FLAGS_NONE = D3D12_DRED_PAGE_FAULT_FLAGS.E;
pub const D3D12_DRED_DEVICE_STATE = enum(i32) {
UNKNOWN = 0,
HUNG = 3,
FAULT = 6,
PAGEFAULT = 7,
};
pub const D3D12_DRED_DEVICE_STATE_UNKNOWN = D3D12_DRED_DEVICE_STATE.UNKNOWN;
pub const D3D12_DRED_DEVICE_STATE_HUNG = D3D12_DRED_DEVICE_STATE.HUNG;
pub const D3D12_DRED_DEVICE_STATE_FAULT = D3D12_DRED_DEVICE_STATE.FAULT;
pub const D3D12_DRED_DEVICE_STATE_PAGEFAULT = D3D12_DRED_DEVICE_STATE.PAGEFAULT;
pub const D3D12_DRED_PAGE_FAULT_OUTPUT2 = extern struct {
PageFaultVA: u64,
pHeadExistingAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE1,
pHeadRecentFreedAllocationNode: ?*const D3D12_DRED_ALLOCATION_NODE1,
PageFaultFlags: D3D12_DRED_PAGE_FAULT_FLAGS,
};
pub const D3D12_DEVICE_REMOVED_EXTENDED_DATA1 = extern struct {
DeviceRemovedReason: HRESULT,
AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT,
PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT,
};
pub const D3D12_DEVICE_REMOVED_EXTENDED_DATA2 = extern struct {
DeviceRemovedReason: HRESULT,
AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT1,
};
pub const D3D12_DEVICE_REMOVED_EXTENDED_DATA3 = extern struct {
DeviceRemovedReason: HRESULT,
AutoBreadcrumbsOutput: D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
PageFaultOutput: D3D12_DRED_PAGE_FAULT_OUTPUT2,
DeviceState: D3D12_DRED_DEVICE_STATE,
};
pub const D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA = extern struct {
Version: D3D12_DRED_VERSION,
Anonymous: extern union {
Dred_1_0: D3D12_DEVICE_REMOVED_EXTENDED_DATA,
Dred_1_1: D3D12_DEVICE_REMOVED_EXTENDED_DATA1,
Dred_1_2: D3D12_DEVICE_REMOVED_EXTENDED_DATA2,
Dred_1_3: D3D12_DEVICE_REMOVED_EXTENDED_DATA3,
},
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceRemovedExtendedDataSettings_Value = Guid.initString("82bc481c-6b9b-4030-aedb-7ee3d1df1e63");
pub const IID_ID3D12DeviceRemovedExtendedDataSettings = &IID_ID3D12DeviceRemovedExtendedDataSettings_Value;
pub const ID3D12DeviceRemovedExtendedDataSettings = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetAutoBreadcrumbsEnablement: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetPageFaultEnablement: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetWatsonDumpEnablement: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(self: *const T, Enablement: D3D12_DRED_ENABLEMENT) callconv(.Inline) void {
return @as(*const ID3D12DeviceRemovedExtendedDataSettings.VTable, @ptrCast(self.vtable)).SetAutoBreadcrumbsEnablement(@as(*const ID3D12DeviceRemovedExtendedDataSettings, @ptrCast(self)), Enablement);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(self: *const T, Enablement: D3D12_DRED_ENABLEMENT) callconv(.Inline) void {
return @as(*const ID3D12DeviceRemovedExtendedDataSettings.VTable, @ptrCast(self.vtable)).SetPageFaultEnablement(@as(*const ID3D12DeviceRemovedExtendedDataSettings, @ptrCast(self)), Enablement);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(self: *const T, Enablement: D3D12_DRED_ENABLEMENT) callconv(.Inline) void {
return @as(*const ID3D12DeviceRemovedExtendedDataSettings.VTable, @ptrCast(self.vtable)).SetWatsonDumpEnablement(@as(*const ID3D12DeviceRemovedExtendedDataSettings, @ptrCast(self)), Enablement);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceRemovedExtendedDataSettings1_Value = Guid.initString("dbd5ae51-3317-4f0a-adf9-1d7cedcaae0b");
pub const IID_ID3D12DeviceRemovedExtendedDataSettings1 = &IID_ID3D12DeviceRemovedExtendedDataSettings1_Value;
pub const ID3D12DeviceRemovedExtendedDataSettings1 = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceRemovedExtendedDataSettings.VTable,
SetBreadcrumbContextEnablement: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings1,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedDataSettings1,
Enablement: D3D12_DRED_ENABLEMENT,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceRemovedExtendedDataSettings.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(self: *const T, Enablement: D3D12_DRED_ENABLEMENT) callconv(.Inline) void {
return @as(*const ID3D12DeviceRemovedExtendedDataSettings1.VTable, @ptrCast(self.vtable)).SetBreadcrumbContextEnablement(@as(*const ID3D12DeviceRemovedExtendedDataSettings1, @ptrCast(self)), Enablement);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceRemovedExtendedData_Value = Guid.initString("98931d33-5ae8-4791-aa3c-1a73a2934e71");
pub const IID_ID3D12DeviceRemovedExtendedData = &IID_ID3D12DeviceRemovedExtendedData_Value;
pub const ID3D12DeviceRemovedExtendedData = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetAutoBreadcrumbsOutput: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData,
pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData,
pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPageFaultAllocationOutput: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(self: *const T, pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceRemovedExtendedData.VTable, @ptrCast(self.vtable)).GetAutoBreadcrumbsOutput(@as(*const ID3D12DeviceRemovedExtendedData, @ptrCast(self)), pOutput);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(self: *const T, pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceRemovedExtendedData.VTable, @ptrCast(self.vtable)).GetPageFaultAllocationOutput(@as(*const ID3D12DeviceRemovedExtendedData, @ptrCast(self)), pOutput);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceRemovedExtendedData1_Value = Guid.initString("9727a022-cf1d-4dda-9eba-effa653fc506");
pub const IID_ID3D12DeviceRemovedExtendedData1 = &IID_ID3D12DeviceRemovedExtendedData1_Value;
pub const ID3D12DeviceRemovedExtendedData1 = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceRemovedExtendedData.VTable,
GetAutoBreadcrumbsOutput1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData1,
pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData1,
pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPageFaultAllocationOutput1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData1,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT1,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData1,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT1,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceRemovedExtendedData.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(self: *const T, pOutput: ?*D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceRemovedExtendedData1.VTable, @ptrCast(self.vtable)).GetAutoBreadcrumbsOutput1(@as(*const ID3D12DeviceRemovedExtendedData1, @ptrCast(self)), pOutput);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(self: *const T, pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT1) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceRemovedExtendedData1.VTable, @ptrCast(self.vtable)).GetPageFaultAllocationOutput1(@as(*const ID3D12DeviceRemovedExtendedData1, @ptrCast(self)), pOutput);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DeviceRemovedExtendedData2_Value = Guid.initString("67fc5816-e4ca-4915-bf18-42541272da54");
pub const IID_ID3D12DeviceRemovedExtendedData2 = &IID_ID3D12DeviceRemovedExtendedData2_Value;
pub const ID3D12DeviceRemovedExtendedData2 = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceRemovedExtendedData1.VTable,
GetPageFaultAllocationOutput2: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData2,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData2,
pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT2,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDeviceState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DeviceRemovedExtendedData2,
) callconv(@import("std").os.windows.WINAPI) D3D12_DRED_DEVICE_STATE,
else => *const fn(
self: *const ID3D12DeviceRemovedExtendedData2,
) callconv(@import("std").os.windows.WINAPI) D3D12_DRED_DEVICE_STATE,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceRemovedExtendedData1.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(self: *const T, pOutput: ?*D3D12_DRED_PAGE_FAULT_OUTPUT2) callconv(.Inline) HRESULT {
return @as(*const ID3D12DeviceRemovedExtendedData2.VTable, @ptrCast(self.vtable)).GetPageFaultAllocationOutput2(@as(*const ID3D12DeviceRemovedExtendedData2, @ptrCast(self)), pOutput);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DeviceRemovedExtendedData2_GetDeviceState(self: *const T) callconv(.Inline) D3D12_DRED_DEVICE_STATE {
return @as(*const ID3D12DeviceRemovedExtendedData2.VTable, @ptrCast(self.vtable)).GetDeviceState(@as(*const ID3D12DeviceRemovedExtendedData2, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_BACKGROUND_PROCESSING_MODE = enum(i32) {
ALLOWED = 0,
ALLOW_INTRUSIVE_MEASUREMENTS = 1,
DISABLE_BACKGROUND_WORK = 2,
DISABLE_PROFILING_BY_SYSTEM = 3,
};
pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = D3D12_BACKGROUND_PROCESSING_MODE.ALLOWED;
pub const D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = D3D12_BACKGROUND_PROCESSING_MODE.ALLOW_INTRUSIVE_MEASUREMENTS;
pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = D3D12_BACKGROUND_PROCESSING_MODE.DISABLE_BACKGROUND_WORK;
pub const D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = D3D12_BACKGROUND_PROCESSING_MODE.DISABLE_PROFILING_BY_SYSTEM;
pub const D3D12_MEASUREMENTS_ACTION = enum(i32) {
KEEP_ALL = 0,
COMMIT_RESULTS = 1,
COMMIT_RESULTS_HIGH_PRIORITY = 2,
DISCARD_PREVIOUS = 3,
};
pub const D3D12_MEASUREMENTS_ACTION_KEEP_ALL = D3D12_MEASUREMENTS_ACTION.KEEP_ALL;
pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = D3D12_MEASUREMENTS_ACTION.COMMIT_RESULTS;
pub const D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = D3D12_MEASUREMENTS_ACTION.COMMIT_RESULTS_HIGH_PRIORITY;
pub const D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = D3D12_MEASUREMENTS_ACTION.DISCARD_PREVIOUS;
// This COM type is Agile, not sure what that means
const IID_ID3D12Device6_Value = Guid.initString("c70b221b-40e4-4a17-89af-025a0727a6dc");
pub const IID_ID3D12Device6 = &IID_ID3D12Device6_Value;
pub const ID3D12Device6 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device5.VTable,
SetBackgroundProcessingMode: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device6,
Mode: D3D12_BACKGROUND_PROCESSING_MODE,
MeasurementsAction: D3D12_MEASUREMENTS_ACTION,
hEventToSignalUponCompletion: ?HANDLE,
pbFurtherMeasurementsDesired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device6,
Mode: D3D12_BACKGROUND_PROCESSING_MODE,
MeasurementsAction: D3D12_MEASUREMENTS_ACTION,
hEventToSignalUponCompletion: ?HANDLE,
pbFurtherMeasurementsDesired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device5.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device6_SetBackgroundProcessingMode(self: *const T, Mode: D3D12_BACKGROUND_PROCESSING_MODE, MeasurementsAction: D3D12_MEASUREMENTS_ACTION, hEventToSignalUponCompletion: ?HANDLE, pbFurtherMeasurementsDesired: ?*BOOL) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device6.VTable, @ptrCast(self.vtable)).SetBackgroundProcessingMode(@as(*const ID3D12Device6, @ptrCast(self)), Mode, MeasurementsAction, hEventToSignalUponCompletion, pbFurtherMeasurementsDesired);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = extern struct {
NodeIndex: u32,
Count: u32,
};
pub const D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES = extern struct {
NodeIndex: u32,
Count: u32,
pTypes: ?*Guid,
};
pub const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 = extern struct {
NodeMask: u32,
Flags: D3D12_PROTECTED_RESOURCE_SESSION_FLAGS,
ProtectionType: Guid,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ProtectedResourceSession1_Value = Guid.initString("d6f12dd6-76fb-406e-8961-4296eefc0409");
pub const IID_ID3D12ProtectedResourceSession1 = &IID_ID3D12ProtectedResourceSession1_Value;
pub const ID3D12ProtectedResourceSession1 = extern struct {
pub const VTable = extern struct {
base: ID3D12ProtectedResourceSession.VTable,
GetDesc1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ProtectedResourceSession1,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
else => *const fn(
self: *const ID3D12ProtectedResourceSession1,
) callconv(@import("std").os.windows.WINAPI) D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12ProtectedResourceSession.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ProtectedResourceSession1_GetDesc1(self: *const T) callconv(.Inline) D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
return @as(*const ID3D12ProtectedResourceSession1.VTable, @ptrCast(self.vtable)).GetDesc1(@as(*const ID3D12ProtectedResourceSession1, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Device7_Value = Guid.initString("5c014b53-68a1-4b9b-8bd1-dd6046b9358b");
pub const IID_ID3D12Device7 = &IID_ID3D12Device7_Value;
pub const ID3D12Device7 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device6.VTable,
AddToStateObject: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device7,
pAddition: ?*const D3D12_STATE_OBJECT_DESC,
pStateObjectToGrowFrom: ?*ID3D12StateObject,
riid: ?*const Guid,
ppNewStateObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device7,
pAddition: ?*const D3D12_STATE_OBJECT_DESC,
pStateObjectToGrowFrom: ?*ID3D12StateObject,
riid: ?*const Guid,
ppNewStateObject: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateProtectedResourceSession1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device7,
pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
riid: ?*const Guid,
ppSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device7,
pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
riid: ?*const Guid,
ppSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device6.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device7_AddToStateObject(self: *const T, pAddition: ?*const D3D12_STATE_OBJECT_DESC, pStateObjectToGrowFrom: ?*ID3D12StateObject, riid: ?*const Guid, ppNewStateObject: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device7.VTable, @ptrCast(self.vtable)).AddToStateObject(@as(*const ID3D12Device7, @ptrCast(self)), pAddition, pStateObjectToGrowFrom, riid, ppNewStateObject);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device7_CreateProtectedResourceSession1(self: *const T, pDesc: ?*const D3D12_PROTECTED_RESOURCE_SESSION_DESC1, riid: ?*const Guid, ppSession: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device7.VTable, @ptrCast(self.vtable)).CreateProtectedResourceSession1(@as(*const ID3D12Device7, @ptrCast(self)), pDesc, riid, ppSession);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Device8_Value = Guid.initString("9218e6bb-f944-4f7e-a75c-b1b2c7b701f3");
pub const IID_ID3D12Device8 = &IID_ID3D12Device8_Value;
pub const ID3D12Device8 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device7.VTable,
GetResourceAllocationInfo2: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device8,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC1,
pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
else => *const fn(
self: *const ID3D12Device8,
visibleMask: u32,
numResourceDescs: u32,
pResourceDescs: [*]const D3D12_RESOURCE_DESC1,
pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_ALLOCATION_INFO,
},
CreateCommittedResource2: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device8,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC1,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device8,
pHeapProperties: ?*const D3D12_HEAP_PROPERTIES,
HeapFlags: D3D12_HEAP_FLAGS,
pDesc: ?*const D3D12_RESOURCE_DESC1,
InitialResourceState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
pProtectedSession: ?*ID3D12ProtectedResourceSession,
riidResource: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreatePlacedResource1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device8,
pHeap: ?*ID3D12Heap,
HeapOffset: u64,
pDesc: ?*const D3D12_RESOURCE_DESC1,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device8,
pHeap: ?*ID3D12Heap,
HeapOffset: u64,
pDesc: ?*const D3D12_RESOURCE_DESC1,
InitialState: D3D12_RESOURCE_STATES,
pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE,
riid: ?*const Guid,
ppvResource: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateSamplerFeedbackUnorderedAccessView: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device8,
pTargetedResource: ?*ID3D12Resource,
pFeedbackResource: ?*ID3D12Resource,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device8,
pTargetedResource: ?*ID3D12Resource,
pFeedbackResource: ?*ID3D12Resource,
DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetCopyableFootprints1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device8,
pResourceDesc: ?*const D3D12_RESOURCE_DESC1,
FirstSubresource: u32,
NumSubresources: u32,
BaseOffset: u64,
pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
pNumRows: ?[*]u32,
pRowSizeInBytes: ?[*]u64,
pTotalBytes: ?*u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Device8,
pResourceDesc: ?*const D3D12_RESOURCE_DESC1,
FirstSubresource: u32,
NumSubresources: u32,
BaseOffset: u64,
pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
pNumRows: ?[*]u32,
pRowSizeInBytes: ?[*]u64,
pTotalBytes: ?*u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device7.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device8_GetResourceAllocationInfo2(self: *const T, visibleMask: u32, numResourceDescs: u32, pResourceDescs: [*]const D3D12_RESOURCE_DESC1, pResourceAllocationInfo1: ?[*]D3D12_RESOURCE_ALLOCATION_INFO1) callconv(.Inline) D3D12_RESOURCE_ALLOCATION_INFO {
return @as(*const ID3D12Device8.VTable, @ptrCast(self.vtable)).GetResourceAllocationInfo2(@as(*const ID3D12Device8, @ptrCast(self)), visibleMask, numResourceDescs, pResourceDescs, pResourceAllocationInfo1);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device8_CreateCommittedResource2(self: *const T, pHeapProperties: ?*const D3D12_HEAP_PROPERTIES, HeapFlags: D3D12_HEAP_FLAGS, pDesc: ?*const D3D12_RESOURCE_DESC1, InitialResourceState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, pProtectedSession: ?*ID3D12ProtectedResourceSession, riidResource: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device8.VTable, @ptrCast(self.vtable)).CreateCommittedResource2(@as(*const ID3D12Device8, @ptrCast(self)), pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, pProtectedSession, riidResource, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device8_CreatePlacedResource1(self: *const T, pHeap: ?*ID3D12Heap, HeapOffset: u64, pDesc: ?*const D3D12_RESOURCE_DESC1, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: ?*const D3D12_CLEAR_VALUE, riid: ?*const Guid, ppvResource: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device8.VTable, @ptrCast(self.vtable)).CreatePlacedResource1(@as(*const ID3D12Device8, @ptrCast(self)), pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(self: *const T, pTargetedResource: ?*ID3D12Resource, pFeedbackResource: ?*ID3D12Resource, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE) callconv(.Inline) void {
return @as(*const ID3D12Device8.VTable, @ptrCast(self.vtable)).CreateSamplerFeedbackUnorderedAccessView(@as(*const ID3D12Device8, @ptrCast(self)), pTargetedResource, pFeedbackResource, DestDescriptor);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device8_GetCopyableFootprints1(self: *const T, pResourceDesc: ?*const D3D12_RESOURCE_DESC1, FirstSubresource: u32, NumSubresources: u32, BaseOffset: u64, pLayouts: ?[*]D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pNumRows: ?[*]u32, pRowSizeInBytes: ?[*]u64, pTotalBytes: ?*u64) callconv(.Inline) void {
return @as(*const ID3D12Device8.VTable, @ptrCast(self.vtable)).GetCopyableFootprints1(@as(*const ID3D12Device8, @ptrCast(self)), pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Resource1_Value = Guid.initString("9d5e227a-4430-4161-88b3-3eca6bb16e19");
pub const IID_ID3D12Resource1 = &IID_ID3D12Resource1_Value;
pub const ID3D12Resource1 = extern struct {
pub const VTable = extern struct {
base: ID3D12Resource.VTable,
GetProtectedResourceSession: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource1,
riid: ?*const Guid,
ppProtectedSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Resource1,
riid: ?*const Guid,
ppProtectedSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Resource.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource1_GetProtectedResourceSession(self: *const T, riid: ?*const Guid, ppProtectedSession: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Resource1.VTable, @ptrCast(self.vtable)).GetProtectedResourceSession(@as(*const ID3D12Resource1, @ptrCast(self)), riid, ppProtectedSession);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Resource2_Value = Guid.initString("be36ec3b-ea85-4aeb-a45a-e9d76404a495");
pub const IID_ID3D12Resource2 = &IID_ID3D12Resource2_Value;
pub const ID3D12Resource2 = extern struct {
pub const VTable = extern struct {
base: ID3D12Resource1.VTable,
GetDesc1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Resource2,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_DESC1,
else => *const fn(
self: *const ID3D12Resource2,
) callconv(@import("std").os.windows.WINAPI) D3D12_RESOURCE_DESC1,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Resource1.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Resource2_GetDesc1(self: *const T) callconv(.Inline) D3D12_RESOURCE_DESC1 {
return @as(*const ID3D12Resource2.VTable, @ptrCast(self.vtable)).GetDesc1(@as(*const ID3D12Resource2, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Heap1_Value = Guid.initString("572f7389-2168-49e3-9693-d6df5871bf6d");
pub const IID_ID3D12Heap1 = &IID_ID3D12Heap1_Value;
pub const ID3D12Heap1 = extern struct {
pub const VTable = extern struct {
base: ID3D12Heap.VTable,
GetProtectedResourceSession: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Heap1,
riid: ?*const Guid,
ppProtectedSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Heap1,
riid: ?*const Guid,
ppProtectedSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Heap.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Heap1_GetProtectedResourceSession(self: *const T, riid: ?*const Guid, ppProtectedSession: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Heap1.VTable, @ptrCast(self.vtable)).GetProtectedResourceSession(@as(*const ID3D12Heap1, @ptrCast(self)), riid, ppProtectedSession);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList3_Value = Guid.initString("6fda83a7-b84c-4e38-9ac8-c7bd22016b3d");
pub const IID_ID3D12GraphicsCommandList3 = &IID_ID3D12GraphicsCommandList3_Value;
pub const ID3D12GraphicsCommandList3 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList2.VTable,
SetProtectedResourceSession: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList3,
pProtectedResourceSession: ?*ID3D12ProtectedResourceSession,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList3,
pProtectedResourceSession: ?*ID3D12ProtectedResourceSession,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList2.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList3_SetProtectedResourceSession(self: *const T, pProtectedResourceSession: ?*ID3D12ProtectedResourceSession) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList3.VTable, @ptrCast(self.vtable)).SetProtectedResourceSession(@as(*const ID3D12GraphicsCommandList3, @ptrCast(self)), pProtectedResourceSession);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE = enum(i32) {
DISCARD = 0,
PRESERVE = 1,
CLEAR = 2,
NO_ACCESS = 3,
};
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.DISCARD;
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.PRESERVE;
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.CLEAR;
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE.NO_ACCESS;
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS = extern struct {
ClearValue: D3D12_CLEAR_VALUE,
};
pub const D3D12_RENDER_PASS_BEGINNING_ACCESS = extern struct {
Type: D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE,
Anonymous: extern union {
Clear: D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS,
},
};
pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE = enum(i32) {
DISCARD = 0,
PRESERVE = 1,
RESOLVE = 2,
NO_ACCESS = 3,
};
pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.DISCARD;
pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.PRESERVE;
pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.RESOLVE;
pub const D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = D3D12_RENDER_PASS_ENDING_ACCESS_TYPE.NO_ACCESS;
pub const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS = extern struct {
SrcSubresource: u32,
DstSubresource: u32,
DstX: u32,
DstY: u32,
SrcRect: RECT,
};
pub const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS = extern struct {
pSrcResource: ?*ID3D12Resource,
pDstResource: ?*ID3D12Resource,
SubresourceCount: u32,
pSubresourceParameters: ?*const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS,
Format: DXGI_FORMAT,
ResolveMode: D3D12_RESOLVE_MODE,
PreserveResolveSource: BOOL,
};
pub const D3D12_RENDER_PASS_ENDING_ACCESS = extern struct {
Type: D3D12_RENDER_PASS_ENDING_ACCESS_TYPE,
Anonymous: extern union {
Resolve: D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS,
},
};
pub const D3D12_RENDER_PASS_RENDER_TARGET_DESC = extern struct {
cpuDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
BeginningAccess: D3D12_RENDER_PASS_BEGINNING_ACCESS,
EndingAccess: D3D12_RENDER_PASS_ENDING_ACCESS,
};
pub const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC = extern struct {
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,
};
pub const D3D12_RENDER_PASS_FLAGS = enum(u32) {
NONE = 0,
ALLOW_UAV_WRITES = 1,
SUSPENDING_PASS = 2,
RESUMING_PASS = 4,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
ALLOW_UAV_WRITES: u1 = 0,
SUSPENDING_PASS: u1 = 0,
RESUMING_PASS: u1 = 0,
}) D3D12_RENDER_PASS_FLAGS {
return @as(D3D12_RENDER_PASS_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_RENDER_PASS_FLAGS.NONE) else 0)
| (if (o.ALLOW_UAV_WRITES == 1) @intFromEnum(D3D12_RENDER_PASS_FLAGS.ALLOW_UAV_WRITES) else 0)
| (if (o.SUSPENDING_PASS == 1) @intFromEnum(D3D12_RENDER_PASS_FLAGS.SUSPENDING_PASS) else 0)
| (if (o.RESUMING_PASS == 1) @intFromEnum(D3D12_RENDER_PASS_FLAGS.RESUMING_PASS) else 0)
));
}
};
pub const D3D12_RENDER_PASS_FLAG_NONE = D3D12_RENDER_PASS_FLAGS.NONE;
pub const D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = D3D12_RENDER_PASS_FLAGS.ALLOW_UAV_WRITES;
pub const D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = D3D12_RENDER_PASS_FLAGS.SUSPENDING_PASS;
pub const D3D12_RENDER_PASS_FLAG_RESUMING_PASS = D3D12_RENDER_PASS_FLAGS.RESUMING_PASS;
// This COM type is Agile, not sure what that means
const IID_ID3D12MetaCommand_Value = Guid.initString("dbb84c27-36ce-4fc9-b801-f048c46ac570");
pub const IID_ID3D12MetaCommand = &IID_ID3D12MetaCommand_Value;
pub const ID3D12MetaCommand = extern struct {
pub const VTable = extern struct {
base: ID3D12Pageable.VTable,
GetRequiredParameterResourceSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12MetaCommand,
Stage: D3D12_META_COMMAND_PARAMETER_STAGE,
ParameterIndex: u32,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12MetaCommand,
Stage: D3D12_META_COMMAND_PARAMETER_STAGE,
ParameterIndex: u32,
) callconv(@import("std").os.windows.WINAPI) u64,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Pageable.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12MetaCommand_GetRequiredParameterResourceSize(self: *const T, Stage: D3D12_META_COMMAND_PARAMETER_STAGE, ParameterIndex: u32) callconv(.Inline) u64 {
return @as(*const ID3D12MetaCommand.VTable, @ptrCast(self.vtable)).GetRequiredParameterResourceSize(@as(*const ID3D12MetaCommand, @ptrCast(self)), Stage, ParameterIndex);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_DISPATCH_RAYS_DESC = extern struct {
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: u32,
Height: u32,
Depth: u32,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList4_Value = Guid.initString("8754318e-d3a9-4541-98cf-645b50dc4874");
pub const IID_ID3D12GraphicsCommandList4 = &IID_ID3D12GraphicsCommandList4_Value;
pub const ID3D12GraphicsCommandList4 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList3.VTable,
BeginRenderPass: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
NumRenderTargets: u32,
pRenderTargets: ?[*]const D3D12_RENDER_PASS_RENDER_TARGET_DESC,
pDepthStencil: ?*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC,
Flags: D3D12_RENDER_PASS_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
NumRenderTargets: u32,
pRenderTargets: ?[*]const D3D12_RENDER_PASS_RENDER_TARGET_DESC,
pDepthStencil: ?*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC,
Flags: D3D12_RENDER_PASS_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
EndRenderPass: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
) callconv(@import("std").os.windows.WINAPI) void,
},
InitializeMetaCommand: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pMetaCommand: ?*ID3D12MetaCommand,
// TODO: what to do with BytesParamIndex 2?
pInitializationParametersData: ?*const anyopaque,
InitializationParametersDataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pMetaCommand: ?*ID3D12MetaCommand,
// TODO: what to do with BytesParamIndex 2?
pInitializationParametersData: ?*const anyopaque,
InitializationParametersDataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) void,
},
ExecuteMetaCommand: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pMetaCommand: ?*ID3D12MetaCommand,
// TODO: what to do with BytesParamIndex 2?
pExecutionParametersData: ?*const anyopaque,
ExecutionParametersDataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pMetaCommand: ?*ID3D12MetaCommand,
// TODO: what to do with BytesParamIndex 2?
pExecutionParametersData: ?*const anyopaque,
ExecutionParametersDataSizeInBytes: usize,
) callconv(@import("std").os.windows.WINAPI) void,
},
BuildRaytracingAccelerationStructure: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC,
NumPostbuildInfoDescs: u32,
pPostbuildInfoDescs: ?[*]const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC,
NumPostbuildInfoDescs: u32,
pPostbuildInfoDescs: ?[*]const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC,
) callconv(@import("std").os.windows.WINAPI) void,
},
EmitRaytracingAccelerationStructurePostbuildInfo: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC,
NumSourceAccelerationStructures: u32,
pSourceAccelerationStructureData: [*]const u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC,
NumSourceAccelerationStructures: u32,
pSourceAccelerationStructureData: [*]const u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
CopyRaytracingAccelerationStructure: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
DestAccelerationStructureData: u64,
SourceAccelerationStructureData: u64,
Mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
DestAccelerationStructureData: u64,
SourceAccelerationStructureData: u64,
Mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetPipelineState1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pStateObject: ?*ID3D12StateObject,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pStateObject: ?*ID3D12StateObject,
) callconv(@import("std").os.windows.WINAPI) void,
},
DispatchRays: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_DISPATCH_RAYS_DESC,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList4,
pDesc: ?*const D3D12_DISPATCH_RAYS_DESC,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList3.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_BeginRenderPass(self: *const T, NumRenderTargets: u32, pRenderTargets: ?[*]const D3D12_RENDER_PASS_RENDER_TARGET_DESC, pDepthStencil: ?*const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC, Flags: D3D12_RENDER_PASS_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).BeginRenderPass(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), NumRenderTargets, pRenderTargets, pDepthStencil, Flags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_EndRenderPass(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).EndRenderPass(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_InitializeMetaCommand(self: *const T, pMetaCommand: ?*ID3D12MetaCommand, pInitializationParametersData: ?*const anyopaque, InitializationParametersDataSizeInBytes: usize) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).InitializeMetaCommand(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pMetaCommand, pInitializationParametersData, InitializationParametersDataSizeInBytes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_ExecuteMetaCommand(self: *const T, pMetaCommand: ?*ID3D12MetaCommand, pExecutionParametersData: ?*const anyopaque, ExecutionParametersDataSizeInBytes: usize) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).ExecuteMetaCommand(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pMetaCommand, pExecutionParametersData, ExecutionParametersDataSizeInBytes);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(self: *const T, pDesc: ?*const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC, NumPostbuildInfoDescs: u32, pPostbuildInfoDescs: ?[*]const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).BuildRaytracingAccelerationStructure(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pDesc, NumPostbuildInfoDescs, pPostbuildInfoDescs);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(self: *const T, pDesc: ?*const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC, NumSourceAccelerationStructures: u32, pSourceAccelerationStructureData: [*]const u64) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).EmitRaytracingAccelerationStructurePostbuildInfo(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pDesc, NumSourceAccelerationStructures, pSourceAccelerationStructureData);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(self: *const T, DestAccelerationStructureData: u64, SourceAccelerationStructureData: u64, Mode: D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).CopyRaytracingAccelerationStructure(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), DestAccelerationStructureData, SourceAccelerationStructureData, Mode);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_SetPipelineState1(self: *const T, pStateObject: ?*ID3D12StateObject) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).SetPipelineState1(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pStateObject);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList4_DispatchRays(self: *const T, pDesc: ?*const D3D12_DISPATCH_RAYS_DESC) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList4.VTable, @ptrCast(self.vtable)).DispatchRays(@as(*const ID3D12GraphicsCommandList4, @ptrCast(self)), pDesc);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_SHADER_CACHE_MODE = enum(i32) {
MEMORY = 0,
DISK = 1,
};
pub const D3D12_SHADER_CACHE_MODE_MEMORY = D3D12_SHADER_CACHE_MODE.MEMORY;
pub const D3D12_SHADER_CACHE_MODE_DISK = D3D12_SHADER_CACHE_MODE.DISK;
pub const D3D12_SHADER_CACHE_FLAGS = enum(u32) {
NONE = 0,
DRIVER_VERSIONED = 1,
USE_WORKING_DIR = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DRIVER_VERSIONED: u1 = 0,
USE_WORKING_DIR: u1 = 0,
}) D3D12_SHADER_CACHE_FLAGS {
return @as(D3D12_SHADER_CACHE_FLAGS, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(D3D12_SHADER_CACHE_FLAGS.NONE) else 0)
| (if (o.DRIVER_VERSIONED == 1) @intFromEnum(D3D12_SHADER_CACHE_FLAGS.DRIVER_VERSIONED) else 0)
| (if (o.USE_WORKING_DIR == 1) @intFromEnum(D3D12_SHADER_CACHE_FLAGS.USE_WORKING_DIR) else 0)
));
}
};
pub const D3D12_SHADER_CACHE_FLAG_NONE = D3D12_SHADER_CACHE_FLAGS.NONE;
pub const D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = D3D12_SHADER_CACHE_FLAGS.DRIVER_VERSIONED;
pub const D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = D3D12_SHADER_CACHE_FLAGS.USE_WORKING_DIR;
pub const D3D12_SHADER_CACHE_SESSION_DESC = extern struct {
Identifier: Guid,
Mode: D3D12_SHADER_CACHE_MODE,
Flags: D3D12_SHADER_CACHE_FLAGS,
MaximumInMemoryCacheSizeBytes: u32,
MaximumInMemoryCacheEntries: u32,
MaximumValueFileSizeBytes: u32,
Version: u64,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ShaderCacheSession_Value = Guid.initString("28e2495d-0f64-4ae4-a6ec-129255dc49a8");
pub const IID_ID3D12ShaderCacheSession = &IID_ID3D12ShaderCacheSession_Value;
pub const ID3D12ShaderCacheSession = extern struct {
pub const VTable = extern struct {
base: ID3D12DeviceChild.VTable,
FindValue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderCacheSession,
// TODO: what to do with BytesParamIndex 1?
pKey: ?*const anyopaque,
KeySize: u32,
// TODO: what to do with BytesParamIndex 3?
pValue: ?*anyopaque,
pValueSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderCacheSession,
// TODO: what to do with BytesParamIndex 1?
pKey: ?*const anyopaque,
KeySize: u32,
// TODO: what to do with BytesParamIndex 3?
pValue: ?*anyopaque,
pValueSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
StoreValue: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderCacheSession,
// TODO: what to do with BytesParamIndex 1?
pKey: ?*const anyopaque,
KeySize: u32,
// TODO: what to do with BytesParamIndex 3?
pValue: ?*const anyopaque,
ValueSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderCacheSession,
// TODO: what to do with BytesParamIndex 1?
pKey: ?*const anyopaque,
KeySize: u32,
// TODO: what to do with BytesParamIndex 3?
pValue: ?*const anyopaque,
ValueSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetDeleteOnDestroy: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderCacheSession,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12ShaderCacheSession,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderCacheSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_SHADER_CACHE_SESSION_DESC,
else => *const fn(
self: *const ID3D12ShaderCacheSession,
) callconv(@import("std").os.windows.WINAPI) D3D12_SHADER_CACHE_SESSION_DESC,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DeviceChild.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderCacheSession_FindValue(self: *const T, pKey: ?*const anyopaque, KeySize: u32, pValue: ?*anyopaque, pValueSize: ?*u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderCacheSession.VTable, @ptrCast(self.vtable)).FindValue(@as(*const ID3D12ShaderCacheSession, @ptrCast(self)), pKey, KeySize, pValue, pValueSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderCacheSession_StoreValue(self: *const T, pKey: ?*const anyopaque, KeySize: u32, pValue: ?*const anyopaque, ValueSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderCacheSession.VTable, @ptrCast(self.vtable)).StoreValue(@as(*const ID3D12ShaderCacheSession, @ptrCast(self)), pKey, KeySize, pValue, ValueSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderCacheSession_SetDeleteOnDestroy(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12ShaderCacheSession.VTable, @ptrCast(self.vtable)).SetDeleteOnDestroy(@as(*const ID3D12ShaderCacheSession, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderCacheSession_GetDesc(self: *const T) callconv(.Inline) D3D12_SHADER_CACHE_SESSION_DESC {
return @as(*const ID3D12ShaderCacheSession.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ShaderCacheSession, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_SHADER_CACHE_KIND_FLAGS = enum(u32) {
IMPLICIT_D3D_CACHE_FOR_DRIVER = 1,
IMPLICIT_D3D_CONVERSIONS = 2,
IMPLICIT_DRIVER_MANAGED = 4,
APPLICATION_MANAGED = 8,
_,
pub fn initFlags(o: struct {
IMPLICIT_D3D_CACHE_FOR_DRIVER: u1 = 0,
IMPLICIT_D3D_CONVERSIONS: u1 = 0,
IMPLICIT_DRIVER_MANAGED: u1 = 0,
APPLICATION_MANAGED: u1 = 0,
}) D3D12_SHADER_CACHE_KIND_FLAGS {
return @as(D3D12_SHADER_CACHE_KIND_FLAGS, @enumFromInt(
(if (o.IMPLICIT_D3D_CACHE_FOR_DRIVER == 1) @intFromEnum(D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_D3D_CACHE_FOR_DRIVER) else 0)
| (if (o.IMPLICIT_D3D_CONVERSIONS == 1) @intFromEnum(D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_D3D_CONVERSIONS) else 0)
| (if (o.IMPLICIT_DRIVER_MANAGED == 1) @intFromEnum(D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_DRIVER_MANAGED) else 0)
| (if (o.APPLICATION_MANAGED == 1) @intFromEnum(D3D12_SHADER_CACHE_KIND_FLAGS.APPLICATION_MANAGED) else 0)
));
}
};
pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_D3D_CACHE_FOR_DRIVER;
pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_D3D_CONVERSIONS;
pub const D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = D3D12_SHADER_CACHE_KIND_FLAGS.IMPLICIT_DRIVER_MANAGED;
pub const D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = D3D12_SHADER_CACHE_KIND_FLAGS.APPLICATION_MANAGED;
pub const D3D12_SHADER_CACHE_CONTROL_FLAGS = enum(u32) {
DISABLE = 1,
ENABLE = 2,
CLEAR = 4,
_,
pub fn initFlags(o: struct {
DISABLE: u1 = 0,
ENABLE: u1 = 0,
CLEAR: u1 = 0,
}) D3D12_SHADER_CACHE_CONTROL_FLAGS {
return @as(D3D12_SHADER_CACHE_CONTROL_FLAGS, @enumFromInt(
(if (o.DISABLE == 1) @intFromEnum(D3D12_SHADER_CACHE_CONTROL_FLAGS.DISABLE) else 0)
| (if (o.ENABLE == 1) @intFromEnum(D3D12_SHADER_CACHE_CONTROL_FLAGS.ENABLE) else 0)
| (if (o.CLEAR == 1) @intFromEnum(D3D12_SHADER_CACHE_CONTROL_FLAGS.CLEAR) else 0)
));
}
};
pub const D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = D3D12_SHADER_CACHE_CONTROL_FLAGS.DISABLE;
pub const D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = D3D12_SHADER_CACHE_CONTROL_FLAGS.ENABLE;
pub const D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = D3D12_SHADER_CACHE_CONTROL_FLAGS.CLEAR;
// This COM type is Agile, not sure what that means
const IID_ID3D12Device9_Value = Guid.initString("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c");
pub const IID_ID3D12Device9 = &IID_ID3D12Device9_Value;
pub const ID3D12Device9 = extern struct {
pub const VTable = extern struct {
base: ID3D12Device8.VTable,
CreateShaderCacheSession: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device9,
pDesc: ?*const D3D12_SHADER_CACHE_SESSION_DESC,
riid: ?*const Guid,
ppvSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device9,
pDesc: ?*const D3D12_SHADER_CACHE_SESSION_DESC,
riid: ?*const Guid,
ppvSession: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ShaderCacheControl: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device9,
Kinds: D3D12_SHADER_CACHE_KIND_FLAGS,
Control: D3D12_SHADER_CACHE_CONTROL_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device9,
Kinds: D3D12_SHADER_CACHE_KIND_FLAGS,
Control: D3D12_SHADER_CACHE_CONTROL_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateCommandQueue1: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Device9,
pDesc: ?*const D3D12_COMMAND_QUEUE_DESC,
CreatorID: ?*const Guid,
riid: ?*const Guid,
ppCommandQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12Device9,
pDesc: ?*const D3D12_COMMAND_QUEUE_DESC,
CreatorID: ?*const Guid,
riid: ?*const Guid,
ppCommandQueue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Device8.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device9_CreateShaderCacheSession(self: *const T, pDesc: ?*const D3D12_SHADER_CACHE_SESSION_DESC, riid: ?*const Guid, ppvSession: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device9.VTable, @ptrCast(self.vtable)).CreateShaderCacheSession(@as(*const ID3D12Device9, @ptrCast(self)), pDesc, riid, ppvSession);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device9_ShaderCacheControl(self: *const T, Kinds: D3D12_SHADER_CACHE_KIND_FLAGS, Control: D3D12_SHADER_CACHE_CONTROL_FLAGS) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device9.VTable, @ptrCast(self.vtable)).ShaderCacheControl(@as(*const ID3D12Device9, @ptrCast(self)), Kinds, Control);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Device9_CreateCommandQueue1(self: *const T, pDesc: ?*const D3D12_COMMAND_QUEUE_DESC, CreatorID: ?*const Guid, riid: ?*const Guid, ppCommandQueue: ?*?*anyopaque) callconv(.Inline) HRESULT {
return @as(*const ID3D12Device9.VTable, @ptrCast(self.vtable)).CreateCommandQueue1(@as(*const ID3D12Device9, @ptrCast(self)), pDesc, CreatorID, riid, ppCommandQueue);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Tools_Value = Guid.initString("7071e1f0-e84b-4b33-974f-12fa49de65c5");
pub const IID_ID3D12Tools = &IID_ID3D12Tools_Value;
pub const ID3D12Tools = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
EnableShaderInstrumentation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Tools,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Tools,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
ShaderInstrumentationEnabled: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Tools,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12Tools,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Tools_EnableShaderInstrumentation(self: *const T, bEnable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Tools.VTable, @ptrCast(self.vtable)).EnableShaderInstrumentation(@as(*const ID3D12Tools, @ptrCast(self)), bEnable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Tools_ShaderInstrumentationEnabled(self: *const T) callconv(.Inline) BOOL {
return @as(*const ID3D12Tools.VTable, @ptrCast(self.vtable)).ShaderInstrumentationEnabled(@as(*const ID3D12Tools, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_SUBRESOURCE_DATA = extern struct {
pData: ?*const anyopaque,
RowPitch: isize,
SlicePitch: isize,
};
pub const D3D12_MEMCPY_DEST = extern struct {
pData: ?*anyopaque,
RowPitch: usize,
SlicePitch: usize,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug_Value = Guid.initString("344488b7-6846-474b-b989-f027448245e0");
pub const IID_ID3D12Debug = &IID_ID3D12Debug_Value;
pub const ID3D12Debug = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
EnableDebugLayer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug_EnableDebugLayer(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12Debug.VTable, @ptrCast(self.vtable)).EnableDebugLayer(@as(*const ID3D12Debug, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_GPU_BASED_VALIDATION_FLAGS = enum(i32) {
NONE = 0,
DISABLE_STATE_TRACKING = 1,
};
pub const D3D12_GPU_BASED_VALIDATION_FLAGS_NONE = D3D12_GPU_BASED_VALIDATION_FLAGS.NONE;
pub const D3D12_GPU_BASED_VALIDATION_FLAGS_DISABLE_STATE_TRACKING = D3D12_GPU_BASED_VALIDATION_FLAGS.DISABLE_STATE_TRACKING;
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug1_Value = Guid.initString("affaa4ca-63fe-4d8e-b8ad-159000af4304");
pub const IID_ID3D12Debug1 = &IID_ID3D12Debug1_Value;
pub const ID3D12Debug1 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
EnableDebugLayer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug1,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug1,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetEnableGPUBasedValidation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug1,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug1,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetEnableSynchronizedCommandQueueValidation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug1,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug1,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug1_EnableDebugLayer(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12Debug1.VTable, @ptrCast(self.vtable)).EnableDebugLayer(@as(*const ID3D12Debug1, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug1_SetEnableGPUBasedValidation(self: *const T, Enable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Debug1.VTable, @ptrCast(self.vtable)).SetEnableGPUBasedValidation(@as(*const ID3D12Debug1, @ptrCast(self)), Enable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug1_SetEnableSynchronizedCommandQueueValidation(self: *const T, Enable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Debug1.VTable, @ptrCast(self.vtable)).SetEnableSynchronizedCommandQueueValidation(@as(*const ID3D12Debug1, @ptrCast(self)), Enable);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug2_Value = Guid.initString("93a665c4-a3b2-4e5d-b692-a26ae14e3374");
pub const IID_ID3D12Debug2 = &IID_ID3D12Debug2_Value;
pub const ID3D12Debug2 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetGPUBasedValidationFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug2,
Flags: D3D12_GPU_BASED_VALIDATION_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug2,
Flags: D3D12_GPU_BASED_VALIDATION_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug2_SetGPUBasedValidationFlags(self: *const T, Flags: D3D12_GPU_BASED_VALIDATION_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12Debug2.VTable, @ptrCast(self.vtable)).SetGPUBasedValidationFlags(@as(*const ID3D12Debug2, @ptrCast(self)), Flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug3_Value = Guid.initString("5cf4e58f-f671-4ff1-a542-3686e3d153d1");
pub const IID_ID3D12Debug3 = &IID_ID3D12Debug3_Value;
pub const ID3D12Debug3 = extern struct {
pub const VTable = extern struct {
base: ID3D12Debug.VTable,
SetEnableGPUBasedValidation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug3,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug3,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetEnableSynchronizedCommandQueueValidation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug3,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug3,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
SetGPUBasedValidationFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug3,
Flags: D3D12_GPU_BASED_VALIDATION_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug3,
Flags: D3D12_GPU_BASED_VALIDATION_FLAGS,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Debug.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug3_SetEnableGPUBasedValidation(self: *const T, Enable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Debug3.VTable, @ptrCast(self.vtable)).SetEnableGPUBasedValidation(@as(*const ID3D12Debug3, @ptrCast(self)), Enable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug3_SetEnableSynchronizedCommandQueueValidation(self: *const T, Enable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Debug3.VTable, @ptrCast(self.vtable)).SetEnableSynchronizedCommandQueueValidation(@as(*const ID3D12Debug3, @ptrCast(self)), Enable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug3_SetGPUBasedValidationFlags(self: *const T, Flags: D3D12_GPU_BASED_VALIDATION_FLAGS) callconv(.Inline) void {
return @as(*const ID3D12Debug3.VTable, @ptrCast(self.vtable)).SetGPUBasedValidationFlags(@as(*const ID3D12Debug3, @ptrCast(self)), Flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug4_Value = Guid.initString("014b816e-9ec5-4a2f-a845-ffbe441ce13a");
pub const IID_ID3D12Debug4 = &IID_ID3D12Debug4_Value;
pub const ID3D12Debug4 = extern struct {
pub const VTable = extern struct {
base: ID3D12Debug3.VTable,
DisableDebugLayer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug4,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug4,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Debug3.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug4_DisableDebugLayer(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12Debug4.VTable, @ptrCast(self.vtable)).DisableDebugLayer(@as(*const ID3D12Debug4, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12Debug5_Value = Guid.initString("548d6b12-09fa-40e0-9069-5dcd589a52c9");
pub const IID_ID3D12Debug5 = &IID_ID3D12Debug5_Value;
pub const ID3D12Debug5 = extern struct {
pub const VTable = extern struct {
base: ID3D12Debug4.VTable,
SetEnableAutoName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12Debug5,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12Debug5,
Enable: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12Debug4.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12Debug5_SetEnableAutoName(self: *const T, Enable: BOOL) callconv(.Inline) void {
return @as(*const ID3D12Debug5.VTable, @ptrCast(self.vtable)).SetEnableAutoName(@as(*const ID3D12Debug5, @ptrCast(self)), Enable);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_RLDO_FLAGS = enum(i32) {
NONE = 0,
SUMMARY = 1,
DETAIL = 2,
IGNORE_INTERNAL = 4,
};
pub const D3D12_RLDO_NONE = D3D12_RLDO_FLAGS.NONE;
pub const D3D12_RLDO_SUMMARY = D3D12_RLDO_FLAGS.SUMMARY;
pub const D3D12_RLDO_DETAIL = D3D12_RLDO_FLAGS.DETAIL;
pub const D3D12_RLDO_IGNORE_INTERNAL = D3D12_RLDO_FLAGS.IGNORE_INTERNAL;
pub const D3D12_DEBUG_DEVICE_PARAMETER_TYPE = enum(i32) {
FEATURE_FLAGS = 0,
GPU_BASED_VALIDATION_SETTINGS = 1,
GPU_SLOWDOWN_PERFORMANCE_FACTOR = 2,
};
pub const D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = D3D12_DEBUG_DEVICE_PARAMETER_TYPE.FEATURE_FLAGS;
pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = D3D12_DEBUG_DEVICE_PARAMETER_TYPE.GPU_BASED_VALIDATION_SETTINGS;
pub const D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = D3D12_DEBUG_DEVICE_PARAMETER_TYPE.GPU_SLOWDOWN_PERFORMANCE_FACTOR;
pub const D3D12_DEBUG_FEATURE = enum(i32) {
NONE = 0,
ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 1,
CONSERVATIVE_RESOURCE_STATE_TRACKING = 2,
DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 4,
EMULATE_WINDOWS7 = 8,
};
pub const D3D12_DEBUG_FEATURE_NONE = D3D12_DEBUG_FEATURE.NONE;
pub const D3D12_DEBUG_FEATURE_ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = D3D12_DEBUG_FEATURE.ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS;
pub const D3D12_DEBUG_FEATURE_CONSERVATIVE_RESOURCE_STATE_TRACKING = D3D12_DEBUG_FEATURE.CONSERVATIVE_RESOURCE_STATE_TRACKING;
pub const D3D12_DEBUG_FEATURE_DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = D3D12_DEBUG_FEATURE.DISABLE_VIRTUALIZED_BUNDLES_VALIDATION;
pub const D3D12_DEBUG_FEATURE_EMULATE_WINDOWS7 = D3D12_DEBUG_FEATURE.EMULATE_WINDOWS7;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE = enum(i32) {
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = 1,
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = 2,
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = 3,
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4,
};
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION;
pub const D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION;
pub const NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE.NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES;
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS = enum(i32) {
_NONE = 0,
_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 1,
_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 2,
_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 4,
S_VALID_MASK = 7,
};
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS._NONE;
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS._FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS;
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS._FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS;
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS._FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS;
pub const D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS_VALID_MASK = D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS.S_VALID_MASK;
pub const D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS = extern struct {
MaxMessagesPerCommandList: u32,
DefaultShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
PipelineStateCreateFlags: D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS,
};
pub const D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR = extern struct {
SlowdownFactor: f32,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugDevice1_Value = Guid.initString("a9b71770-d099-4a65-a698-3dee10020f88");
pub const IID_ID3D12DebugDevice1 = &IID_ID3D12DebugDevice1_Value;
pub const ID3D12DebugDevice1 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice1,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice1,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice1,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice1,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ReportLiveDeviceObjects: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice1,
Flags: D3D12_RLDO_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice1,
Flags: D3D12_RLDO_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice1_SetDebugParameter(self: *const T, Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pData: ?*const anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice1.VTable, @ptrCast(self.vtable)).SetDebugParameter(@as(*const ID3D12DebugDevice1, @ptrCast(self)), Type, pData, DataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice1_GetDebugParameter(self: *const T, Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pData: ?*anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice1.VTable, @ptrCast(self.vtable)).GetDebugParameter(@as(*const ID3D12DebugDevice1, @ptrCast(self)), Type, pData, DataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice1_ReportLiveDeviceObjects(self: *const T, Flags: D3D12_RLDO_FLAGS) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice1.VTable, @ptrCast(self.vtable)).ReportLiveDeviceObjects(@as(*const ID3D12DebugDevice1, @ptrCast(self)), Flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugDevice_Value = Guid.initString("3febd6dd-4973-4787-8194-e45f9e28923e");
pub const IID_ID3D12DebugDevice = &IID_ID3D12DebugDevice_Value;
pub const ID3D12DebugDevice = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetFeatureMask: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice,
Mask: D3D12_DEBUG_FEATURE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice,
Mask: D3D12_DEBUG_FEATURE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeatureMask: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice,
) callconv(@import("std").os.windows.WINAPI) D3D12_DEBUG_FEATURE,
else => *const fn(
self: *const ID3D12DebugDevice,
) callconv(@import("std").os.windows.WINAPI) D3D12_DEBUG_FEATURE,
},
ReportLiveDeviceObjects: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice,
Flags: D3D12_RLDO_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice,
Flags: D3D12_RLDO_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice_SetFeatureMask(self: *const T, Mask: D3D12_DEBUG_FEATURE) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice.VTable, @ptrCast(self.vtable)).SetFeatureMask(@as(*const ID3D12DebugDevice, @ptrCast(self)), Mask);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice_GetFeatureMask(self: *const T) callconv(.Inline) D3D12_DEBUG_FEATURE {
return @as(*const ID3D12DebugDevice.VTable, @ptrCast(self.vtable)).GetFeatureMask(@as(*const ID3D12DebugDevice, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice_ReportLiveDeviceObjects(self: *const T, Flags: D3D12_RLDO_FLAGS) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice.VTable, @ptrCast(self.vtable)).ReportLiveDeviceObjects(@as(*const ID3D12DebugDevice, @ptrCast(self)), Flags);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugDevice2_Value = Guid.initString("60eccbc1-378d-4df1-894c-f8ac5ce4d7dd");
pub const IID_ID3D12DebugDevice2 = &IID_ID3D12DebugDevice2_Value;
pub const ID3D12DebugDevice2 = extern struct {
pub const VTable = extern struct {
base: ID3D12DebugDevice.VTable,
SetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice2,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice2,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugDevice2,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugDevice2,
Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DebugDevice.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice2_SetDebugParameter(self: *const T, Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pData: ?*const anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice2.VTable, @ptrCast(self.vtable)).SetDebugParameter(@as(*const ID3D12DebugDevice2, @ptrCast(self)), Type, pData, DataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugDevice2_GetDebugParameter(self: *const T, Type: D3D12_DEBUG_DEVICE_PARAMETER_TYPE, pData: ?*anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugDevice2.VTable, @ptrCast(self.vtable)).GetDebugParameter(@as(*const ID3D12DebugDevice2, @ptrCast(self)), Type, pData, DataSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugCommandQueue_Value = Guid.initString("09e0bf36-54ac-484f-8847-4baeeab6053a");
pub const IID_ID3D12DebugCommandQueue = &IID_ID3D12DebugCommandQueue_Value;
pub const ID3D12DebugCommandQueue = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AssertResourceState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandQueue,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12DebugCommandQueue,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandQueue_AssertResourceState(self: *const T, pResource: ?*ID3D12Resource, Subresource: u32, State: u32) callconv(.Inline) BOOL {
return @as(*const ID3D12DebugCommandQueue.VTable, @ptrCast(self.vtable)).AssertResourceState(@as(*const ID3D12DebugCommandQueue, @ptrCast(self)), pResource, Subresource, State);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE = enum(i32) {
S = 0,
};
pub const D3D12_DEBUG_COMMAND_LIST_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE.S;
pub const D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS = extern struct {
ShaderPatchMode: D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugCommandList1_Value = Guid.initString("102ca951-311b-4b01-b11f-ecb83e061b37");
pub const IID_ID3D12DebugCommandList1 = &IID_ID3D12DebugCommandList1_Value;
pub const ID3D12DebugCommandList1 = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AssertResourceState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList1,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12DebugCommandList1,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
SetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList1,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugCommandList1,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList1,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugCommandList1,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList1_AssertResourceState(self: *const T, pResource: ?*ID3D12Resource, Subresource: u32, State: u32) callconv(.Inline) BOOL {
return @as(*const ID3D12DebugCommandList1.VTable, @ptrCast(self.vtable)).AssertResourceState(@as(*const ID3D12DebugCommandList1, @ptrCast(self)), pResource, Subresource, State);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList1_SetDebugParameter(self: *const T, Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pData: ?*const anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugCommandList1.VTable, @ptrCast(self.vtable)).SetDebugParameter(@as(*const ID3D12DebugCommandList1, @ptrCast(self)), Type, pData, DataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList1_GetDebugParameter(self: *const T, Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pData: ?*anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugCommandList1.VTable, @ptrCast(self.vtable)).GetDebugParameter(@as(*const ID3D12DebugCommandList1, @ptrCast(self)), Type, pData, DataSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugCommandList_Value = Guid.initString("09e0bf36-54ac-484f-8847-4baeeab6053f");
pub const IID_ID3D12DebugCommandList = &IID_ID3D12DebugCommandList_Value;
pub const ID3D12DebugCommandList = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
AssertResourceState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12DebugCommandList,
pResource: ?*ID3D12Resource,
Subresource: u32,
State: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
SetFeatureMask: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList,
Mask: D3D12_DEBUG_FEATURE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugCommandList,
Mask: D3D12_DEBUG_FEATURE,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFeatureMask: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList,
) callconv(@import("std").os.windows.WINAPI) D3D12_DEBUG_FEATURE,
else => *const fn(
self: *const ID3D12DebugCommandList,
) callconv(@import("std").os.windows.WINAPI) D3D12_DEBUG_FEATURE,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList_AssertResourceState(self: *const T, pResource: ?*ID3D12Resource, Subresource: u32, State: u32) callconv(.Inline) BOOL {
return @as(*const ID3D12DebugCommandList.VTable, @ptrCast(self.vtable)).AssertResourceState(@as(*const ID3D12DebugCommandList, @ptrCast(self)), pResource, Subresource, State);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList_SetFeatureMask(self: *const T, Mask: D3D12_DEBUG_FEATURE) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugCommandList.VTable, @ptrCast(self.vtable)).SetFeatureMask(@as(*const ID3D12DebugCommandList, @ptrCast(self)), Mask);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList_GetFeatureMask(self: *const T) callconv(.Inline) D3D12_DEBUG_FEATURE {
return @as(*const ID3D12DebugCommandList.VTable, @ptrCast(self.vtable)).GetFeatureMask(@as(*const ID3D12DebugCommandList, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12DebugCommandList2_Value = Guid.initString("aeb575cf-4e06-48be-ba3b-c450fc96652e");
pub const IID_ID3D12DebugCommandList2 = &IID_ID3D12DebugCommandList2_Value;
pub const ID3D12DebugCommandList2 = extern struct {
pub const VTable = extern struct {
base: ID3D12DebugCommandList.VTable,
SetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList2,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugCommandList2,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*const anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDebugParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12DebugCommandList2,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12DebugCommandList2,
Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE,
// TODO: what to do with BytesParamIndex 2?
pData: ?*anyopaque,
DataSize: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12DebugCommandList.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList2_SetDebugParameter(self: *const T, Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pData: ?*const anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugCommandList2.VTable, @ptrCast(self.vtable)).SetDebugParameter(@as(*const ID3D12DebugCommandList2, @ptrCast(self)), Type, pData, DataSize);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12DebugCommandList2_GetDebugParameter(self: *const T, Type: D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE, pData: ?*anyopaque, DataSize: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12DebugCommandList2.VTable, @ptrCast(self.vtable)).GetDebugParameter(@as(*const ID3D12DebugCommandList2, @ptrCast(self)), Type, pData, DataSize);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12SharingContract_Value = Guid.initString("0adf7d52-929c-4e61-addb-ffed30de66ef");
pub const IID_ID3D12SharingContract = &IID_ID3D12SharingContract_Value;
pub const ID3D12SharingContract = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Present: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SharingContract,
pResource: ?*ID3D12Resource,
Subresource: u32,
window: ?HWND,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12SharingContract,
pResource: ?*ID3D12Resource,
Subresource: u32,
window: ?HWND,
) callconv(@import("std").os.windows.WINAPI) void,
},
SharedFenceSignal: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SharingContract,
pFence: ?*ID3D12Fence,
FenceValue: u64,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12SharingContract,
pFence: ?*ID3D12Fence,
FenceValue: u64,
) callconv(@import("std").os.windows.WINAPI) void,
},
BeginCapturableWork: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SharingContract,
guid: ?*const Guid,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12SharingContract,
guid: ?*const Guid,
) callconv(@import("std").os.windows.WINAPI) void,
},
EndCapturableWork: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SharingContract,
guid: ?*const Guid,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12SharingContract,
guid: ?*const Guid,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SharingContract_Present(self: *const T, pResource: ?*ID3D12Resource, Subresource: u32, window: ?HWND) callconv(.Inline) void {
return @as(*const ID3D12SharingContract.VTable, @ptrCast(self.vtable)).Present(@as(*const ID3D12SharingContract, @ptrCast(self)), pResource, Subresource, window);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SharingContract_SharedFenceSignal(self: *const T, pFence: ?*ID3D12Fence, FenceValue: u64) callconv(.Inline) void {
return @as(*const ID3D12SharingContract.VTable, @ptrCast(self.vtable)).SharedFenceSignal(@as(*const ID3D12SharingContract, @ptrCast(self)), pFence, FenceValue);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SharingContract_BeginCapturableWork(self: *const T, guid: ?*const Guid) callconv(.Inline) void {
return @as(*const ID3D12SharingContract.VTable, @ptrCast(self.vtable)).BeginCapturableWork(@as(*const ID3D12SharingContract, @ptrCast(self)), guid);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SharingContract_EndCapturableWork(self: *const T, guid: ?*const Guid) callconv(.Inline) void {
return @as(*const ID3D12SharingContract.VTable, @ptrCast(self.vtable)).EndCapturableWork(@as(*const ID3D12SharingContract, @ptrCast(self)), guid);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_MESSAGE_CATEGORY = enum(i32) {
APPLICATION_DEFINED = 0,
MISCELLANEOUS = 1,
INITIALIZATION = 2,
CLEANUP = 3,
COMPILATION = 4,
STATE_CREATION = 5,
STATE_SETTING = 6,
STATE_GETTING = 7,
RESOURCE_MANIPULATION = 8,
EXECUTION = 9,
SHADER = 10,
};
pub const D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = D3D12_MESSAGE_CATEGORY.APPLICATION_DEFINED;
pub const D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = D3D12_MESSAGE_CATEGORY.MISCELLANEOUS;
pub const D3D12_MESSAGE_CATEGORY_INITIALIZATION = D3D12_MESSAGE_CATEGORY.INITIALIZATION;
pub const D3D12_MESSAGE_CATEGORY_CLEANUP = D3D12_MESSAGE_CATEGORY.CLEANUP;
pub const D3D12_MESSAGE_CATEGORY_COMPILATION = D3D12_MESSAGE_CATEGORY.COMPILATION;
pub const D3D12_MESSAGE_CATEGORY_STATE_CREATION = D3D12_MESSAGE_CATEGORY.STATE_CREATION;
pub const D3D12_MESSAGE_CATEGORY_STATE_SETTING = D3D12_MESSAGE_CATEGORY.STATE_SETTING;
pub const D3D12_MESSAGE_CATEGORY_STATE_GETTING = D3D12_MESSAGE_CATEGORY.STATE_GETTING;
pub const D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = D3D12_MESSAGE_CATEGORY.RESOURCE_MANIPULATION;
pub const D3D12_MESSAGE_CATEGORY_EXECUTION = D3D12_MESSAGE_CATEGORY.EXECUTION;
pub const D3D12_MESSAGE_CATEGORY_SHADER = D3D12_MESSAGE_CATEGORY.SHADER;
pub const D3D12_MESSAGE_SEVERITY = enum(i32) {
CORRUPTION = 0,
ERROR = 1,
WARNING = 2,
INFO = 3,
MESSAGE = 4,
};
pub const D3D12_MESSAGE_SEVERITY_CORRUPTION = D3D12_MESSAGE_SEVERITY.CORRUPTION;
pub const D3D12_MESSAGE_SEVERITY_ERROR = D3D12_MESSAGE_SEVERITY.ERROR;
pub const D3D12_MESSAGE_SEVERITY_WARNING = D3D12_MESSAGE_SEVERITY.WARNING;
pub const D3D12_MESSAGE_SEVERITY_INFO = D3D12_MESSAGE_SEVERITY.INFO;
pub const D3D12_MESSAGE_SEVERITY_MESSAGE = D3D12_MESSAGE_SEVERITY.MESSAGE;
pub const D3D12_MESSAGE_ID = enum(i32) {
UNKNOWN = 0,
STRING_FROM_APPLICATION = 1,
CORRUPTED_THIS = 2,
CORRUPTED_PARAMETER1 = 3,
CORRUPTED_PARAMETER2 = 4,
CORRUPTED_PARAMETER3 = 5,
CORRUPTED_PARAMETER4 = 6,
CORRUPTED_PARAMETER5 = 7,
CORRUPTED_PARAMETER6 = 8,
CORRUPTED_PARAMETER7 = 9,
CORRUPTED_PARAMETER8 = 10,
CORRUPTED_PARAMETER9 = 11,
CORRUPTED_PARAMETER10 = 12,
CORRUPTED_PARAMETER11 = 13,
CORRUPTED_PARAMETER12 = 14,
CORRUPTED_PARAMETER13 = 15,
CORRUPTED_PARAMETER14 = 16,
CORRUPTED_PARAMETER15 = 17,
CORRUPTED_MULTITHREADING = 18,
MESSAGE_REPORTING_OUTOFMEMORY = 19,
GETPRIVATEDATA_MOREDATA = 20,
SETPRIVATEDATA_INVALIDFREEDATA = 21,
SETPRIVATEDATA_CHANGINGPARAMS = 24,
SETPRIVATEDATA_OUTOFMEMORY = 25,
CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26,
CREATESHADERRESOURCEVIEW_INVALIDDESC = 27,
CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28,
CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29,
CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30,
CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31,
CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32,
CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35,
CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36,
CREATERENDERTARGETVIEW_INVALIDDESC = 37,
CREATERENDERTARGETVIEW_INVALIDFORMAT = 38,
CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39,
CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40,
CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41,
CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42,
CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45,
CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46,
CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47,
CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48,
CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49,
CREATEINPUTLAYOUT_OUTOFMEMORY = 52,
CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53,
CREATEINPUTLAYOUT_INVALIDFORMAT = 54,
CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55,
CREATEINPUTLAYOUT_INVALIDSLOT = 56,
CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57,
CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58,
CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59,
CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60,
CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61,
CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62,
CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63,
CREATEINPUTLAYOUT_NULLSEMANTIC = 64,
CREATEINPUTLAYOUT_MISSINGELEMENT = 65,
CREATEVERTEXSHADER_OUTOFMEMORY = 66,
CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67,
CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68,
CREATEGEOMETRYSHADER_OUTOFMEMORY = 69,
CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70,
CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91,
CREATEPIXELSHADER_OUTOFMEMORY = 92,
CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93,
CREATEPIXELSHADER_INVALIDSHADERTYPE = 94,
CREATERASTERIZERSTATE_INVALIDFILLMODE = 95,
CREATERASTERIZERSTATE_INVALIDCULLMODE = 96,
CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97,
CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98,
CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100,
CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101,
CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102,
CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103,
CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104,
CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105,
CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106,
CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107,
CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108,
CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109,
CREATEBLENDSTATE_INVALIDSRCBLEND = 111,
CREATEBLENDSTATE_INVALIDDESTBLEND = 112,
CREATEBLENDSTATE_INVALIDBLENDOP = 113,
CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114,
CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115,
CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116,
CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117,
CLEARDEPTHSTENCILVIEW_INVALID = 135,
COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200,
COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201,
COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202,
COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209,
COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210,
COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211,
COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212,
COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213,
COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219,
COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221,
COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222,
DEVICE_REMOVAL_PROCESS_AT_FAULT = 232,
DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233,
DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234,
CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240,
CREATEINPUTLAYOUT_TYPE_MISMATCH = 245,
CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253,
LIVE_OBJECT_SUMMARY = 255,
LIVE_DEVICE = 274,
LIVE_SWAPCHAIN = 275,
CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276,
CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277,
CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280,
CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286,
CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287,
CREATEHULLSHADER_OUTOFMEMORY = 289,
CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290,
CREATEHULLSHADER_INVALIDSHADERTYPE = 291,
CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292,
CREATEDOMAINSHADER_OUTOFMEMORY = 294,
CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295,
CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296,
CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297,
RESOURCE_UNMAP_NOTMAPPED = 310,
DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318,
CREATECOMPUTESHADER_OUTOFMEMORY = 321,
CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322,
CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323,
DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331,
DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332,
DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333,
DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334,
DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335,
DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336,
DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337,
CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340,
CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341,
CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342,
CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343,
CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344,
CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345,
CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346,
CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354,
CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401,
CREATEBLENDSTATE_INVALIDLOGICOPS = 403,
DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410,
DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412,
DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414,
DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416,
DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418,
DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420,
DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422,
DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425,
DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426,
DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427,
DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428,
DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429,
DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430,
DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431,
DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447,
DEVICE_CLEARVIEW_EMPTYRECT = 448,
UPDATETILEMAPPINGS_INVALID_PARAMETER = 493,
COPYTILEMAPPINGS_INVALID_PARAMETER = 494,
CREATEDEVICE_INVALIDARGS = 506,
CREATEDEVICE_WARNING = 507,
RESOURCE_BARRIER_INVALID_TYPE = 519,
RESOURCE_BARRIER_NULL_POINTER = 520,
RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521,
RESOURCE_BARRIER_RESERVED_BITS = 522,
RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523,
RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524,
RESOURCE_BARRIER_MATCHING_STATES = 525,
RESOURCE_BARRIER_INVALID_COMBINATION = 526,
RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527,
RESOURCE_BARRIER_INVALID_RESOURCE = 528,
RESOURCE_BARRIER_SAMPLE_COUNT = 529,
RESOURCE_BARRIER_INVALID_FLAGS = 530,
RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531,
RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532,
RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533,
RESOURCE_BARRIER_UNMATCHED_END = 534,
RESOURCE_BARRIER_UNMATCHED_BEGIN = 535,
RESOURCE_BARRIER_INVALID_FLAG = 536,
RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537,
INVALID_SUBRESOURCE_STATE = 538,
COMMAND_ALLOCATOR_CONTENTION = 540,
COMMAND_ALLOCATOR_RESET = 541,
COMMAND_ALLOCATOR_RESET_BUNDLE = 542,
COMMAND_ALLOCATOR_CANNOT_RESET = 543,
COMMAND_LIST_OPEN = 544,
INVALID_BUNDLE_API = 546,
COMMAND_LIST_CLOSED = 547,
WRONG_COMMAND_ALLOCATOR_TYPE = 549,
COMMAND_ALLOCATOR_SYNC = 552,
COMMAND_LIST_SYNC = 553,
SET_DESCRIPTOR_HEAP_INVALID = 554,
CREATE_COMMANDQUEUE = 557,
CREATE_COMMANDALLOCATOR = 558,
CREATE_PIPELINESTATE = 559,
CREATE_COMMANDLIST12 = 560,
CREATE_RESOURCE = 562,
CREATE_DESCRIPTORHEAP = 563,
CREATE_ROOTSIGNATURE = 564,
CREATE_LIBRARY = 565,
CREATE_HEAP = 566,
CREATE_MONITOREDFENCE = 567,
CREATE_QUERYHEAP = 568,
CREATE_COMMANDSIGNATURE = 569,
LIVE_COMMANDQUEUE = 570,
LIVE_COMMANDALLOCATOR = 571,
LIVE_PIPELINESTATE = 572,
LIVE_COMMANDLIST12 = 573,
LIVE_RESOURCE = 575,
LIVE_DESCRIPTORHEAP = 576,
LIVE_ROOTSIGNATURE = 577,
LIVE_LIBRARY = 578,
LIVE_HEAP = 579,
LIVE_MONITOREDFENCE = 580,
LIVE_QUERYHEAP = 581,
LIVE_COMMANDSIGNATURE = 582,
DESTROY_COMMANDQUEUE = 583,
DESTROY_COMMANDALLOCATOR = 584,
DESTROY_PIPELINESTATE = 585,
DESTROY_COMMANDLIST12 = 586,
DESTROY_RESOURCE = 588,
DESTROY_DESCRIPTORHEAP = 589,
DESTROY_ROOTSIGNATURE = 590,
DESTROY_LIBRARY = 591,
DESTROY_HEAP = 592,
DESTROY_MONITOREDFENCE = 593,
DESTROY_QUERYHEAP = 594,
DESTROY_COMMANDSIGNATURE = 595,
CREATERESOURCE_INVALIDDIMENSIONS = 597,
CREATERESOURCE_INVALIDMISCFLAGS = 599,
CREATERESOURCE_INVALIDARG_RETURN = 602,
CREATERESOURCE_OUTOFMEMORY_RETURN = 603,
CREATERESOURCE_INVALIDDESC = 604,
POSSIBLY_INVALID_SUBRESOURCE_STATE = 607,
INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608,
POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609,
BUNDLE_PIPELINE_STATE_MISMATCH = 610,
PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611,
RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613,
RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614,
DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615,
DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616,
CREATESHADER_INVALIDBYTECODE = 622,
CREATEHEAP_NULLDESC = 623,
CREATEHEAP_INVALIDSIZE = 624,
CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625,
CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626,
CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627,
CREATEHEAP_INVALIDPROPERTIES = 628,
CREATEHEAP_INVALIDALIGNMENT = 629,
CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630,
CREATEHEAP_INVALIDMISCFLAGS = 631,
CREATEHEAP_INVALIDARG_RETURN = 632,
CREATEHEAP_OUTOFMEMORY_RETURN = 633,
CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634,
CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635,
CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636,
CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637,
CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638,
CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639,
CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640,
CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641,
CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642,
GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643,
GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644,
CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645,
INVALID_DESCRIPTOR_HANDLE = 646,
CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647,
CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649,
CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650,
CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652,
COPY_DESCRIPTORS_INVALID_RANGES = 653,
COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654,
CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655,
CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656,
CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657,
CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665,
CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666,
CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667,
CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668,
CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669,
CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670,
CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671,
CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672,
CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673,
CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674,
CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675,
CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676,
CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677,
CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678,
CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679,
CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680,
CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681,
CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682,
CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683,
CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684,
CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685,
CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686,
CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687,
CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688,
CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689,
CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690,
CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691,
EXECUTE_BUNDLE_OPEN_BUNDLE = 692,
EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693,
EXECUTE_BUNDLE_TYPE = 694,
DRAW_EMPTY_SCISSOR_RECTANGLE = 695,
CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696,
CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697,
CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698,
CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699,
CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700,
CREATERESOURCEANDHEAP_NULLHEAP = 701,
GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702,
MAKERESIDENT_NULLOBJECTARRAY = 703,
EVICT_NULLOBJECTARRAY = 705,
SET_DESCRIPTOR_TABLE_INVALID = 708,
SET_ROOT_CONSTANT_INVALID = 709,
SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710,
SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711,
SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712,
SET_VERTEX_BUFFERS_INVALID_DESC = 713,
SET_INDEX_BUFFER_INVALID_DESC = 715,
SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717,
CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718,
CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719,
CREATERESOURCE_INVALIDDIMENSIONALITY = 720,
CREATERESOURCE_INVALIDALIGNMENT = 721,
CREATERESOURCE_INVALIDMIPLEVELS = 722,
CREATERESOURCE_INVALIDSAMPLEDESC = 723,
CREATERESOURCE_INVALIDLAYOUT = 724,
SET_INDEX_BUFFER_INVALID = 725,
SET_VERTEX_BUFFERS_INVALID = 726,
SET_STREAM_OUTPUT_BUFFERS_INVALID = 727,
SET_RENDER_TARGETS_INVALID = 728,
CREATEQUERY_HEAP_INVALID_PARAMETERS = 729,
BEGIN_END_QUERY_INVALID_PARAMETERS = 731,
CLOSE_COMMAND_LIST_OPEN_QUERY = 732,
RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733,
SET_PREDICATION_INVALID_PARAMETERS = 734,
TIMESTAMPS_NOT_SUPPORTED = 735,
CREATERESOURCE_UNRECOGNIZEDFORMAT = 737,
CREATERESOURCE_INVALIDFORMAT = 738,
GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = 739,
GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = 740,
// GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, this enum value conflicts with GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE
// GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, this enum value conflicts with GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET
RESOURCE_BARRIER_INVALID_HEAP = 741,
CREATE_SAMPLER_INVALID = 742,
CREATECOMMANDSIGNATURE_INVALID = 743,
EXECUTE_INDIRECT_INVALID_PARAMETERS = 744,
GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745,
CREATERESOURCE_INVALIDCLEARVALUE = 815,
CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816,
CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817,
CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818,
CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820,
CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821,
MAP_INVALIDHEAP = 822,
UNMAP_INVALIDHEAP = 823,
MAP_INVALIDRESOURCE = 824,
UNMAP_INVALIDRESOURCE = 825,
MAP_INVALIDSUBRESOURCE = 826,
UNMAP_INVALIDSUBRESOURCE = 827,
MAP_INVALIDRANGE = 828,
UNMAP_INVALIDRANGE = 829,
MAP_INVALIDDATAPOINTER = 832,
MAP_INVALIDARG_RETURN = 833,
MAP_OUTOFMEMORY_RETURN = 834,
EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835,
EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836,
EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837,
EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838,
COPYBUFFERREGION_NULLDST = 839,
COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840,
COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841,
COPYBUFFERREGION_NULLSRC = 842,
COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843,
COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844,
COPYBUFFERREGION_INVALIDCOPYFLAGS = 845,
COPYTEXTUREREGION_NULLDST = 846,
COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847,
COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848,
COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849,
COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850,
COPYTEXTUREREGION_INVALIDDSTOFFSET = 851,
COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852,
COPYTEXTUREREGION_INVALIDDSTFORMAT = 853,
COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854,
COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855,
COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856,
COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857,
COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858,
COPYTEXTUREREGION_NULLSRC = 859,
COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860,
COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861,
COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862,
COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863,
COPYTEXTUREREGION_INVALIDSRCOFFSET = 864,
COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865,
COPYTEXTUREREGION_INVALIDSRCFORMAT = 866,
COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867,
COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868,
COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869,
COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870,
COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871,
COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872,
COPYTEXTUREREGION_INVALIDSRCBOX = 873,
COPYTEXTUREREGION_FORMATMISMATCH = 874,
COPYTEXTUREREGION_EMPTYBOX = 875,
COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876,
RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877,
RESOLVESUBRESOURCE_INVALID_FORMAT = 878,
RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879,
RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880,
CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881,
CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882,
CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883,
CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884,
CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885,
CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886,
CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887,
CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888,
WRITETOSUBRESOURCE_INVALIDHEAP = 889,
WRITETOSUBRESOURCE_INVALIDRESOURCE = 890,
WRITETOSUBRESOURCE_INVALIDBOX = 891,
WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892,
WRITETOSUBRESOURCE_EMPTYBOX = 893,
READFROMSUBRESOURCE_INVALIDHEAP = 894,
READFROMSUBRESOURCE_INVALIDRESOURCE = 895,
READFROMSUBRESOURCE_INVALIDBOX = 896,
READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897,
READFROMSUBRESOURCE_EMPTYBOX = 898,
TOO_MANY_NODES_SPECIFIED = 899,
INVALID_NODE_INDEX = 900,
GETHEAPPROPERTIES_INVALIDRESOURCE = 901,
NODE_MASK_MISMATCH = 902,
COMMAND_LIST_OUTOFMEMORY = 903,
COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904,
COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905,
COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906,
EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907,
COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908,
CREATE_QUEUE_INVALID_TYPE = 909,
CREATE_QUEUE_INVALID_FLAGS = 910,
CREATESHAREDRESOURCE_INVALIDFLAGS = 911,
CREATESHAREDRESOURCE_INVALIDFORMAT = 912,
CREATESHAREDHEAP_INVALIDFLAGS = 913,
REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914,
REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915,
REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916,
KEYEDMUTEX_INVALIDOBJECT = 917,
KEYEDMUTEX_INVALIDKEY = 918,
KEYEDMUTEX_WRONGSTATE = 919,
CREATE_QUEUE_INVALID_PRIORITY = 920,
OBJECT_DELETED_WHILE_STILL_IN_USE = 921,
CREATEPIPELINESTATE_INVALID_FLAGS = 922,
HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923,
COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924,
CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925,
HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926,
EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927,
UNMAP_RANGE_NOT_EMPTY = 929,
MAP_INVALID_NULLRANGE = 930,
UNMAP_INVALID_NULLRANGE = 931,
NO_GRAPHICS_API_SUPPORT = 932,
NO_COMPUTE_API_SUPPORT = 933,
RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = 934,
GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = 935,
GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = 936,
GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = 937,
GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = 938,
GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = 939,
GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = 940,
GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = 941,
GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = 942,
COPYRESOURCE_NULLDST = 943,
COPYRESOURCE_INVALIDDSTRESOURCE = 944,
COPYRESOURCE_NULLSRC = 945,
COPYRESOURCE_INVALIDSRCRESOURCE = 946,
RESOLVESUBRESOURCE_NULLDST = 947,
RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = 948,
RESOLVESUBRESOURCE_NULLSRC = 949,
RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = 950,
PIPELINE_STATE_TYPE_MISMATCH = 951,
COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = 952,
COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = 953,
RESOURCE_BARRIER_ZERO_BARRIERS = 954,
BEGIN_END_EVENT_MISMATCH = 955,
RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = 956,
RESOURCE_BARRIER_MISMATCHING_BEGIN_END = 957,
GPU_BASED_VALIDATION_INVALID_RESOURCE = 958,
USE_OF_ZERO_REFCOUNT_OBJECT = 959,
OBJECT_EVICTED_WHILE_STILL_IN_USE = 960,
GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = 961,
CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = 962,
CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = 963,
CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = 964,
CREATEPIPELINELIBRARY_UNSUPPORTED = 965,
CREATE_PIPELINELIBRARY = 966,
LIVE_PIPELINELIBRARY = 967,
DESTROY_PIPELINELIBRARY = 968,
STOREPIPELINE_NONAME = 969,
STOREPIPELINE_DUPLICATENAME = 970,
LOADPIPELINE_NAMENOTFOUND = 971,
LOADPIPELINE_INVALIDDESC = 972,
PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = 973,
CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = 974,
SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = 975,
CREATE_QUEUE_VIDEO_NOT_SUPPORTED = 976,
CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = 977,
CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = 978,
CREATE_VIDEODECODECOMMANDLIST = 979,
CREATE_VIDEODECODER = 980,
CREATE_VIDEODECODESTREAM = 981,
LIVE_VIDEODECODECOMMANDLIST = 982,
LIVE_VIDEODECODER = 983,
LIVE_VIDEODECODESTREAM = 984,
DESTROY_VIDEODECODECOMMANDLIST = 985,
DESTROY_VIDEODECODER = 986,
DESTROY_VIDEODECODESTREAM = 987,
DECODE_FRAME_INVALID_PARAMETERS = 988,
DEPRECATED_API = 989,
RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = 990,
COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = 991,
COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = 992,
COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = 993,
COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = 994,
DISCARD_INVALID_SUBRESOURCE_RANGE = 995,
DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = 996,
DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = 997,
COPY_ON_SAME_SUBRESOURCE = 998,
SETRESIDENCYPRIORITY_INVALID_PAGEABLE = 999,
GPU_BASED_VALIDATION_UNSUPPORTED = 1000,
STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = 1001,
DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = 1002,
DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = 1003,
EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = 1004,
GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = 1005,
GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = 1006,
CREATE_FENCE_INVALID_FLAGS = 1007,
RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = 1008,
SETRESIDENCYPRIORITY_INVALID_PRIORITY = 1009,
CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = 1013,
BEGIN_EVENT = 1014,
END_EVENT = 1015,
CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = 1016,
CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = 1017,
CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = 1018,
CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = 1019,
CREATEPIPELINESTATE_ZERO_SIZE_STREAM = 1020,
CREATEPIPELINESTATE_INVALID_STREAM = 1021,
CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = 1022,
COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = 1023,
CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = 1024,
CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = 1025,
ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = 1026,
ATOMICCOPYBUFFER_NULL_DST = 1027,
ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = 1028,
ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = 1029,
ATOMICCOPYBUFFER_NULL_SRC = 1030,
ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = 1031,
ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = 1032,
ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = 1033,
ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = 1034,
ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = 1035,
ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = 1036,
ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = 1037,
ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = 1038,
ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = 1039,
ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = 1040,
DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = 1041,
DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = 1042,
SETDEPTHBOUNDS_INVALIDARGS = 1043,
GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = 1044,
COMMAND_LIST_PIPELINE_STATE_NOT_SET = 1045,
CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = 1046,
OBJECT_ACCESSED_WHILE_STILL_IN_USE = 1047,
PROGRAMMABLE_MSAA_UNSUPPORTED = 1048,
SETSAMPLEPOSITIONS_INVALIDARGS = 1049,
RESOLVESUBRESOURCEREGION_INVALID_RECT = 1050,
CREATE_VIDEODECODECOMMANDQUEUE = 1051,
CREATE_VIDEOPROCESSCOMMANDLIST = 1052,
CREATE_VIDEOPROCESSCOMMANDQUEUE = 1053,
LIVE_VIDEODECODECOMMANDQUEUE = 1054,
LIVE_VIDEOPROCESSCOMMANDLIST = 1055,
LIVE_VIDEOPROCESSCOMMANDQUEUE = 1056,
DESTROY_VIDEODECODECOMMANDQUEUE = 1057,
DESTROY_VIDEOPROCESSCOMMANDLIST = 1058,
DESTROY_VIDEOPROCESSCOMMANDQUEUE = 1059,
CREATE_VIDEOPROCESSOR = 1060,
CREATE_VIDEOPROCESSSTREAM = 1061,
LIVE_VIDEOPROCESSOR = 1062,
LIVE_VIDEOPROCESSSTREAM = 1063,
DESTROY_VIDEOPROCESSOR = 1064,
DESTROY_VIDEOPROCESSSTREAM = 1065,
PROCESS_FRAME_INVALID_PARAMETERS = 1066,
COPY_INVALIDLAYOUT = 1067,
CREATE_CRYPTO_SESSION = 1068,
CREATE_CRYPTO_SESSION_POLICY = 1069,
CREATE_PROTECTED_RESOURCE_SESSION = 1070,
LIVE_CRYPTO_SESSION = 1071,
LIVE_CRYPTO_SESSION_POLICY = 1072,
LIVE_PROTECTED_RESOURCE_SESSION = 1073,
DESTROY_CRYPTO_SESSION = 1074,
DESTROY_CRYPTO_SESSION_POLICY = 1075,
DESTROY_PROTECTED_RESOURCE_SESSION = 1076,
PROTECTED_RESOURCE_SESSION_UNSUPPORTED = 1077,
FENCE_INVALIDOPERATION = 1078,
CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = 1079,
SAMPLEPOSITIONS_MISMATCH_DEFERRED = 1080,
SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = 1081,
SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = 1082,
CREATE_VIDEODECODERHEAP = 1083,
LIVE_VIDEODECODERHEAP = 1084,
DESTROY_VIDEODECODERHEAP = 1085,
OPENEXISTINGHEAP_INVALIDARG_RETURN = 1086,
OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = 1087,
OPENEXISTINGHEAP_INVALIDADDRESS = 1088,
OPENEXISTINGHEAP_INVALIDHANDLE = 1089,
WRITEBUFFERIMMEDIATE_INVALID_DEST = 1090,
WRITEBUFFERIMMEDIATE_INVALID_MODE = 1091,
WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = 1092,
WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = 1093,
SETVIEWINSTANCEMASK_INVALIDARGS = 1094,
VIEW_INSTANCING_UNSUPPORTED = 1095,
VIEW_INSTANCING_INVALIDARGS = 1096,
COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1097,
COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = 1098,
CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = 1099,
CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = 1100,
VIDEO_DECODE_SUPPORT_INVALID_INPUT = 1101,
CREATE_VIDEO_DECODER_UNSUPPORTED = 1102,
CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = 1103,
CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = 1104,
CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = 1105,
NO_VIDEO_API_SUPPORT = 1106,
VIDEO_PROCESS_SUPPORT_INVALID_INPUT = 1107,
CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = 1108,
VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = 1109,
VIDEO_DECODE_FRAME_INVALID_ARGUMENT = 1110,
ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = 1111,
OPENEXISTINGHEAP_UNSUPPORTED = 1112,
VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = 1113,
VIDEO_DECODE_SUPPORT_UNSUPPORTED = 1114,
CREATE_COMMANDRECORDER = 1115,
LIVE_COMMANDRECORDER = 1116,
DESTROY_COMMANDRECORDER = 1117,
CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = 1118,
CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = 1119,
CREATE_COMMAND_RECORDER_INVALID_FLAGS = 1120,
CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = 1121,
CREATE_COMMANDPOOL = 1122,
LIVE_COMMANDPOOL = 1123,
DESTROY_COMMANDPOOL = 1124,
CREATE_COMMAND_POOL_INVALID_FLAGS = 1125,
CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = 1126,
COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = 1127,
COMMAND_RECORDER_CONTENTION = 1128,
COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = 1129,
COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = 1130,
CANNOT_EXECUTE_EMPTY_COMMAND_LIST = 1131,
CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = 1132,
CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = 1133,
CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = 1134,
COMMAND_POOL_SYNC = 1135,
EVICT_UNDERFLOW = 1136,
CREATE_META_COMMAND = 1137,
LIVE_META_COMMAND = 1138,
DESTROY_META_COMMAND = 1139,
COPYBUFFERREGION_INVALID_DST_RESOURCE = 1140,
COPYBUFFERREGION_INVALID_SRC_RESOURCE = 1141,
ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = 1142,
ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = 1143,
CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = 1144,
CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = 1145,
CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = 1146,
CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = 1147,
CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = 1148,
CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = 1149,
CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = 1150,
CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = 1151,
CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = 1152,
CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = 1153,
UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = 1154,
CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = 1155,
CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = 1156,
COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = 1157,
BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1158,
EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = 1159,
COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = 1160,
DISPATCH_RAYS_INVALID = 1161,
GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = 1162,
CREATE_LIFETIMETRACKER = 1163,
LIVE_LIFETIMETRACKER = 1164,
DESTROY_LIFETIMETRACKER = 1165,
DESTROYOWNEDOBJECT_OBJECTNOTOWNED = 1166,
CREATE_TRACKEDWORKLOAD = 1167,
LIVE_TRACKEDWORKLOAD = 1168,
DESTROY_TRACKEDWORKLOAD = 1169,
RENDER_PASS_ERROR = 1170,
META_COMMAND_ID_INVALID = 1171,
META_COMMAND_UNSUPPORTED_PARAMS = 1172,
META_COMMAND_FAILED_ENUMERATION = 1173,
META_COMMAND_PARAMETER_SIZE_MISMATCH = 1174,
UNINITIALIZED_META_COMMAND = 1175,
META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = 1176,
CREATE_VIDEOENCODECOMMANDLIST = 1177,
LIVE_VIDEOENCODECOMMANDLIST = 1178,
DESTROY_VIDEOENCODECOMMANDLIST = 1179,
CREATE_VIDEOENCODECOMMANDQUEUE = 1180,
LIVE_VIDEOENCODECOMMANDQUEUE = 1181,
DESTROY_VIDEOENCODECOMMANDQUEUE = 1182,
CREATE_VIDEOMOTIONESTIMATOR = 1183,
LIVE_VIDEOMOTIONESTIMATOR = 1184,
DESTROY_VIDEOMOTIONESTIMATOR = 1185,
CREATE_VIDEOMOTIONVECTORHEAP = 1186,
LIVE_VIDEOMOTIONVECTORHEAP = 1187,
DESTROY_VIDEOMOTIONVECTORHEAP = 1188,
MULTIPLE_TRACKED_WORKLOADS = 1189,
MULTIPLE_TRACKED_WORKLOAD_PAIRS = 1190,
OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = 1191,
CANNOT_ADD_TRACKED_WORKLOAD = 1192,
INCOMPLETE_TRACKED_WORKLOAD_PAIR = 1193,
CREATE_STATE_OBJECT_ERROR = 1194,
GET_SHADER_IDENTIFIER_ERROR = 1195,
GET_SHADER_STACK_SIZE_ERROR = 1196,
GET_PIPELINE_STACK_SIZE_ERROR = 1197,
SET_PIPELINE_STACK_SIZE_ERROR = 1198,
GET_SHADER_IDENTIFIER_SIZE_INVALID = 1199,
CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = 1200,
CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = 1201,
RENDER_PASS_INVALID_RESOURCE_BARRIER = 1202,
RENDER_PASS_DISALLOWED_API_CALLED = 1203,
RENDER_PASS_CANNOT_NEST_RENDER_PASSES = 1204,
RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = 1205,
RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = 1206,
RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = 1207,
RENDER_PASS_MISMATCHING_SUSPEND_RESUME = 1208,
RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = 1209,
RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = 1210,
TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = 1211,
TRACKED_WORKLOAD_NOT_SUPPORTED = 1212,
RENDER_PASS_MISMATCHING_NO_ACCESS = 1213,
RENDER_PASS_UNSUPPORTED_RESOLVE = 1214,
CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = 1215,
WINDOWS7_FENCE_OUTOFORDER_SIGNAL = 1216,
WINDOWS7_FENCE_OUTOFORDER_WAIT = 1217,
VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = 1218,
VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1219,
ESTIMATE_MOTION_INVALID_ARGUMENT = 1220,
RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = 1221,
GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = 1222,
SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = 1223,
CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = 1224,
CREATE_VIDEOEXTENSIONCOMMAND = 1225,
LIVE_VIDEOEXTENSIONCOMMAND = 1226,
DESTROY_VIDEOEXTENSIONCOMMAND = 1227,
INVALID_VIDEO_EXTENSION_COMMAND_ID = 1228,
VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = 1229,
CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = 1230,
VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = 1231,
GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1232,
RSSETSHADING_RATE_INVALID_SHADING_RATE = 1233,
RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = 1234,
RSSETSHADING_RATE_INVALID_COMBINER = 1235,
RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = 1236,
RSSETSHADINGRATE_REQUIRES_TIER_1 = 1237,
SHADING_RATE_IMAGE_INCORRECT_FORMAT = 1238,
SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = 1239,
SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = 1240,
SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = 1241,
SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = 1242,
NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = 1243,
CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = 1244,
CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = 1245,
ADD_TO_STATE_OBJECT_ERROR = 1246,
CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = 1247,
CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = 1248,
CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = 1249,
CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = 1250,
CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = 1251,
NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = 1252,
CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = 1253,
EMPTY_DISPATCH = 1254,
RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1255,
SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = 1256,
SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = 1257,
SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = 1258,
SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = 1259,
SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = 1260,
SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = 1261,
SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = 1262,
SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = 1263,
SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = 1264,
CREATEMESHSHADER_INVALIDSHADERBYTECODE = 1265,
CREATEMESHSHADER_OUTOFMEMORY = 1266,
CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 1267,
RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = 1268,
RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = 1269,
RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = 1270,
SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = 1271,
CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = 1272,
CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = 1273,
VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1274,
MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = 1275,
CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = 1276,
CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = 1277,
CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = 1278,
CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = 1279,
CREATE_SHADERCACHESESSION = 1280,
LIVE_SHADERCACHESESSION = 1281,
DESTROY_SHADERCACHESESSION = 1282,
CREATESHADERCACHESESSION_INVALIDARGS = 1283,
CREATESHADERCACHESESSION_DISABLED = 1284,
CREATESHADERCACHESESSION_ALREADYOPEN = 1285,
SHADERCACHECONTROL_DEVELOPERMODE = 1286,
SHADERCACHECONTROL_INVALIDFLAGS = 1287,
SHADERCACHECONTROL_STATEALREADYSET = 1288,
SHADERCACHECONTROL_IGNOREDFLAG = 1289,
SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = 1290,
SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = 1291,
SHADERCACHESESSION_STOREVALUE_CACHEFULL = 1292,
SHADERCACHESESSION_FINDVALUE_NOTFOUND = 1293,
SHADERCACHESESSION_CORRUPT = 1294,
SHADERCACHESESSION_DISABLED = 1295,
OVERSIZED_DISPATCH = 1296,
CREATE_VIDEOENCODER = 1297,
LIVE_VIDEOENCODER = 1298,
DESTROY_VIDEOENCODER = 1299,
CREATE_VIDEOENCODERHEAP = 1300,
LIVE_VIDEOENCODERHEAP = 1301,
DESTROY_VIDEOENCODERHEAP = 1302,
COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1303,
COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = 1304,
ENCODE_FRAME_INVALID_PARAMETERS = 1305,
ENCODE_FRAME_UNSUPPORTED_PARAMETERS = 1306,
RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = 1307,
RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = 1308,
CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = 1309,
CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = 1310,
CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = 1311,
CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = 1312,
CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = 1313,
CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = 1314,
DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = 1315,
CREATEBLENDSTATE_BLENDOP_WARNING = 1316,
CREATEBLENDSTATE_BLENDOPALPHA_WARNING = 1317,
WRITE_COMBINE_PERFORMANCE_WARNING = 1318,
RESOLVE_QUERY_INVALID_QUERY_STATE = 1319,
SETPRIVATEDATA_NO_ACCESS = 1320,
COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = 1321,
GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = 1322,
CREATEMESHSHADER_TOPOLOGY_MISMATCH = 1323,
VRS_SUM_COMBINER_REQUIRES_CAPABILITY = 1324,
SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = 1325,
SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = 1326,
SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = 1327,
D3D12_MESSAGES_END = 1328,
};
pub const D3D12_MESSAGE_ID_UNKNOWN = D3D12_MESSAGE_ID.UNKNOWN;
pub const D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = D3D12_MESSAGE_ID.STRING_FROM_APPLICATION;
pub const D3D12_MESSAGE_ID_CORRUPTED_THIS = D3D12_MESSAGE_ID.CORRUPTED_THIS;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER1;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER2;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER3;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER4;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER5;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER6;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER7;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER8;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER9;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER10;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER11;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER12;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER13;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER14;
pub const D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = D3D12_MESSAGE_ID.CORRUPTED_PARAMETER15;
pub const D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = D3D12_MESSAGE_ID.CORRUPTED_MULTITHREADING;
pub const D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = D3D12_MESSAGE_ID.MESSAGE_REPORTING_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = D3D12_MESSAGE_ID.GETPRIVATEDATA_MOREDATA;
pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = D3D12_MESSAGE_ID.SETPRIVATEDATA_INVALIDFREEDATA;
pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = D3D12_MESSAGE_ID.SETPRIVATEDATA_CHANGINGPARAMS;
pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = D3D12_MESSAGE_ID.SETPRIVATEDATA_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDDESC;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS;
pub const D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = D3D12_MESSAGE_ID.CREATESHADERRESOURCEVIEW_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDDESC;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDDIMENSIONS;
pub const D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = D3D12_MESSAGE_ID.CREATERENDERTARGETVIEW_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_INVALIDDESC;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_TOOMANYELEMENTS;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDSLOT;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_INVALIDALIGNMENT;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_DUPLICATESEMANTIC;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_NULLSEMANTIC;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_MISSINGELEMENT;
pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEVERTEXSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEVERTEXSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEVERTEXSHADER_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADER_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE;
pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEPIXELSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEPIXELSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEPIXELSHADER_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALIDFILLMODE;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALIDCULLMODE;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDSRCBLEND;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDDESTBLEND;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDBLENDOP;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDSRCBLENDALPHA;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDDESTBLENDALPHA;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDBLENDOPALPHA;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK;
pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = D3D12_MESSAGE_ID.CLEARDEPTHSTENCILVIEW_INVALID;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED;
pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = D3D12_MESSAGE_ID.DEVICE_REMOVAL_PROCESS_AT_FAULT;
pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = D3D12_MESSAGE_ID.DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT;
pub const D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = D3D12_MESSAGE_ID.DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_TYPE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = D3D12_MESSAGE_ID.CREATEINPUTLAYOUT_EMPTY_LAYOUT;
pub const D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = D3D12_MESSAGE_ID.LIVE_OBJECT_SUMMARY;
pub const D3D12_MESSAGE_ID_LIVE_DEVICE = D3D12_MESSAGE_ID.LIVE_DEVICE;
pub const D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = D3D12_MESSAGE_ID.LIVE_SWAPCHAIN;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILVIEW_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATEVERTEXSHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER;
pub const D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATEPIXELSHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES;
pub const D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = D3D12_MESSAGE_ID.CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES;
pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEHULLSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEHULLSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEHULLSHADER_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATEHULLSHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEDOMAINSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEDOMAINSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEDOMAINSHADER_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATEDOMAINSHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = D3D12_MESSAGE_ID.RESOURCE_UNMAP_NOTMAPPED;
pub const D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = D3D12_MESSAGE_ID.DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE;
pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATECOMPUTESHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATECOMPUTESHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = D3D12_MESSAGE_ID.CREATECOMPUTESHADER_INVALIDCLASSLINKAGE;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDDESC;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = D3D12_MESSAGE_ID.CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = D3D12_MESSAGE_ID.CREATEBLENDSTATE_INVALIDLOGICOPS;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = D3D12_MESSAGE_ID.DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED;
pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = D3D12_MESSAGE_ID.DEVICE_CLEARVIEW_INVALIDSOURCERECT;
pub const D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = D3D12_MESSAGE_ID.DEVICE_CLEARVIEW_EMPTYRECT;
pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = D3D12_MESSAGE_ID.UPDATETILEMAPPINGS_INVALID_PARAMETER;
pub const D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = D3D12_MESSAGE_ID.COPYTILEMAPPINGS_INVALID_PARAMETER;
pub const D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = D3D12_MESSAGE_ID.CREATEDEVICE_INVALIDARGS;
pub const D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = D3D12_MESSAGE_ID.CREATEDEVICE_WARNING;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_TYPE;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = D3D12_MESSAGE_ID.RESOURCE_BARRIER_NULL_POINTER;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_SUBRESOURCE;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_RESERVED_BITS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_MISSING_BIND_FLAGS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = D3D12_MESSAGE_ID.RESOURCE_BARRIER_MATCHING_STATES;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_COMBINATION;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = D3D12_MESSAGE_ID.RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_RESOURCE;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = D3D12_MESSAGE_ID.RESOURCE_BARRIER_SAMPLE_COUNT;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_COMBINED_FLAGS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_SPLIT_BARRIER;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = D3D12_MESSAGE_ID.RESOURCE_BARRIER_UNMATCHED_END;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = D3D12_MESSAGE_ID.RESOURCE_BARRIER_UNMATCHED_BEGIN;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_FLAG;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE;
pub const D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = D3D12_MESSAGE_ID.INVALID_SUBRESOURCE_STATE;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_CONTENTION;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_RESET;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_RESET_BUNDLE;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_CANNOT_RESET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = D3D12_MESSAGE_ID.COMMAND_LIST_OPEN;
pub const D3D12_MESSAGE_ID_INVALID_BUNDLE_API = D3D12_MESSAGE_ID.INVALID_BUNDLE_API;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = D3D12_MESSAGE_ID.COMMAND_LIST_CLOSED;
pub const D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = D3D12_MESSAGE_ID.WRONG_COMMAND_ALLOCATOR_TYPE;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_SYNC;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = D3D12_MESSAGE_ID.COMMAND_LIST_SYNC;
pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = D3D12_MESSAGE_ID.SET_DESCRIPTOR_HEAP_INVALID;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = D3D12_MESSAGE_ID.CREATE_COMMANDQUEUE;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = D3D12_MESSAGE_ID.CREATE_COMMANDALLOCATOR;
pub const D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = D3D12_MESSAGE_ID.CREATE_PIPELINESTATE;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = D3D12_MESSAGE_ID.CREATE_COMMANDLIST12;
pub const D3D12_MESSAGE_ID_CREATE_RESOURCE = D3D12_MESSAGE_ID.CREATE_RESOURCE;
pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = D3D12_MESSAGE_ID.CREATE_DESCRIPTORHEAP;
pub const D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = D3D12_MESSAGE_ID.CREATE_ROOTSIGNATURE;
pub const D3D12_MESSAGE_ID_CREATE_LIBRARY = D3D12_MESSAGE_ID.CREATE_LIBRARY;
pub const D3D12_MESSAGE_ID_CREATE_HEAP = D3D12_MESSAGE_ID.CREATE_HEAP;
pub const D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = D3D12_MESSAGE_ID.CREATE_MONITOREDFENCE;
pub const D3D12_MESSAGE_ID_CREATE_QUERYHEAP = D3D12_MESSAGE_ID.CREATE_QUERYHEAP;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = D3D12_MESSAGE_ID.CREATE_COMMANDSIGNATURE;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = D3D12_MESSAGE_ID.LIVE_COMMANDQUEUE;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = D3D12_MESSAGE_ID.LIVE_COMMANDALLOCATOR;
pub const D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = D3D12_MESSAGE_ID.LIVE_PIPELINESTATE;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = D3D12_MESSAGE_ID.LIVE_COMMANDLIST12;
pub const D3D12_MESSAGE_ID_LIVE_RESOURCE = D3D12_MESSAGE_ID.LIVE_RESOURCE;
pub const D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = D3D12_MESSAGE_ID.LIVE_DESCRIPTORHEAP;
pub const D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = D3D12_MESSAGE_ID.LIVE_ROOTSIGNATURE;
pub const D3D12_MESSAGE_ID_LIVE_LIBRARY = D3D12_MESSAGE_ID.LIVE_LIBRARY;
pub const D3D12_MESSAGE_ID_LIVE_HEAP = D3D12_MESSAGE_ID.LIVE_HEAP;
pub const D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = D3D12_MESSAGE_ID.LIVE_MONITOREDFENCE;
pub const D3D12_MESSAGE_ID_LIVE_QUERYHEAP = D3D12_MESSAGE_ID.LIVE_QUERYHEAP;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = D3D12_MESSAGE_ID.LIVE_COMMANDSIGNATURE;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = D3D12_MESSAGE_ID.DESTROY_COMMANDQUEUE;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = D3D12_MESSAGE_ID.DESTROY_COMMANDALLOCATOR;
pub const D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = D3D12_MESSAGE_ID.DESTROY_PIPELINESTATE;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = D3D12_MESSAGE_ID.DESTROY_COMMANDLIST12;
pub const D3D12_MESSAGE_ID_DESTROY_RESOURCE = D3D12_MESSAGE_ID.DESTROY_RESOURCE;
pub const D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = D3D12_MESSAGE_ID.DESTROY_DESCRIPTORHEAP;
pub const D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = D3D12_MESSAGE_ID.DESTROY_ROOTSIGNATURE;
pub const D3D12_MESSAGE_ID_DESTROY_LIBRARY = D3D12_MESSAGE_ID.DESTROY_LIBRARY;
pub const D3D12_MESSAGE_ID_DESTROY_HEAP = D3D12_MESSAGE_ID.DESTROY_HEAP;
pub const D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = D3D12_MESSAGE_ID.DESTROY_MONITOREDFENCE;
pub const D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = D3D12_MESSAGE_ID.DESTROY_QUERYHEAP;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = D3D12_MESSAGE_ID.DESTROY_COMMANDSIGNATURE;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDDIMENSIONS;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDMISCFLAGS;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDARG_RETURN;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.CREATERESOURCE_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDDESC;
pub const D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = D3D12_MESSAGE_ID.POSSIBLY_INVALID_SUBRESOURCE_STATE;
pub const D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = D3D12_MESSAGE_ID.INVALID_USE_OF_NON_RESIDENT_RESOURCE;
pub const D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = D3D12_MESSAGE_ID.POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE;
pub const D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = D3D12_MESSAGE_ID.BUNDLE_PIPELINE_STATE_MISMATCH;
pub const D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = D3D12_MESSAGE_ID.PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE;
pub const D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = D3D12_MESSAGE_ID.RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE;
pub const D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = D3D12_MESSAGE_ID.RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE;
pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = D3D12_MESSAGE_ID.DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE;
pub const D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = D3D12_MESSAGE_ID.DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE;
pub const D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = D3D12_MESSAGE_ID.CREATESHADER_INVALIDBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = D3D12_MESSAGE_ID.CREATEHEAP_NULLDESC;
pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = D3D12_MESSAGE_ID.CREATEHEAP_INVALIDSIZE;
pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = D3D12_MESSAGE_ID.CREATEHEAP_UNRECOGNIZEDHEAPTYPE;
pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = D3D12_MESSAGE_ID.CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = D3D12_MESSAGE_ID.CREATEHEAP_UNRECOGNIZEDMEMORYPOOL;
pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = D3D12_MESSAGE_ID.CREATEHEAP_INVALIDPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = D3D12_MESSAGE_ID.CREATEHEAP_INVALIDALIGNMENT;
pub const D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = D3D12_MESSAGE_ID.CREATEHEAP_UNRECOGNIZEDMISCFLAGS;
pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = D3D12_MESSAGE_ID.CREATEHEAP_INVALIDMISCFLAGS;
pub const D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = D3D12_MESSAGE_ID.CREATEHEAP_INVALIDARG_RETURN;
pub const D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.CREATEHEAP_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_INVALIDARG_RETURN;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = D3D12_MESSAGE_ID.GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE;
pub const D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = D3D12_MESSAGE_ID.GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE;
pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = D3D12_MESSAGE_ID.CREATE_DESCRIPTOR_HEAP_INVALID_DESC;
pub const D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = D3D12_MESSAGE_ID.INVALID_DESCRIPTOR_HANDLE;
pub const D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = D3D12_MESSAGE_ID.CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE;
pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = D3D12_MESSAGE_ID.CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE;
pub const D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = D3D12_MESSAGE_ID.CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC;
pub const D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = D3D12_MESSAGE_ID.CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE;
pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = D3D12_MESSAGE_ID.COPY_DESCRIPTORS_INVALID_RANGES;
pub const D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = D3D12_MESSAGE_ID.COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE;
pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = D3D12_MESSAGE_ID.EXECUTE_BUNDLE_OPEN_BUNDLE;
pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = D3D12_MESSAGE_ID.EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH;
pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = D3D12_MESSAGE_ID.EXECUTE_BUNDLE_TYPE;
pub const D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = D3D12_MESSAGE_ID.DRAW_EMPTY_SCISSOR_RECTANGLE;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES;
pub const D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = D3D12_MESSAGE_ID.CREATERESOURCEANDHEAP_NULLHEAP;
pub const D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = D3D12_MESSAGE_ID.GETRESOURCEALLOCATIONINFO_INVALIDRDESCS;
pub const D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = D3D12_MESSAGE_ID.MAKERESIDENT_NULLOBJECTARRAY;
pub const D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = D3D12_MESSAGE_ID.EVICT_NULLOBJECTARRAY;
pub const D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = D3D12_MESSAGE_ID.SET_DESCRIPTOR_TABLE_INVALID;
pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = D3D12_MESSAGE_ID.SET_ROOT_CONSTANT_INVALID;
pub const D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = D3D12_MESSAGE_ID.SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID;
pub const D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = D3D12_MESSAGE_ID.SET_ROOT_SHADER_RESOURCE_VIEW_INVALID;
pub const D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = D3D12_MESSAGE_ID.SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID;
pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = D3D12_MESSAGE_ID.SET_VERTEX_BUFFERS_INVALID_DESC;
pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = D3D12_MESSAGE_ID.SET_INDEX_BUFFER_INVALID_DESC;
pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = D3D12_MESSAGE_ID.SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = D3D12_MESSAGE_ID.CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = D3D12_MESSAGE_ID.CREATERESOURCE_UNRECOGNIZEDLAYOUT;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDDIMENSIONALITY;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDALIGNMENT;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDMIPLEVELS;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDSAMPLEDESC;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDLAYOUT;
pub const D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = D3D12_MESSAGE_ID.SET_INDEX_BUFFER_INVALID;
pub const D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = D3D12_MESSAGE_ID.SET_VERTEX_BUFFERS_INVALID;
pub const D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = D3D12_MESSAGE_ID.SET_STREAM_OUTPUT_BUFFERS_INVALID;
pub const D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = D3D12_MESSAGE_ID.SET_RENDER_TARGETS_INVALID;
pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = D3D12_MESSAGE_ID.CREATEQUERY_HEAP_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = D3D12_MESSAGE_ID.BEGIN_END_QUERY_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = D3D12_MESSAGE_ID.CLOSE_COMMAND_LIST_OPEN_QUERY;
pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = D3D12_MESSAGE_ID.RESOLVE_QUERY_DATA_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = D3D12_MESSAGE_ID.SET_PREDICATION_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = D3D12_MESSAGE_ID.TIMESTAMPS_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = D3D12_MESSAGE_ID.CREATERESOURCE_UNRECOGNIZEDFORMAT;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE = D3D12_MESSAGE_ID.GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE;
pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET = D3D12_MESSAGE_ID.GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET;
pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = D3D12_MESSAGE_ID.GETCOPYABLEFOOTPRINTS_INVALIDSUBRESOURCERANGE;
pub const D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = D3D12_MESSAGE_ID.GETCOPYABLEFOOTPRINTS_INVALIDBASEOFFSET;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = D3D12_MESSAGE_ID.RESOURCE_BARRIER_INVALID_HEAP;
pub const D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = D3D12_MESSAGE_ID.CREATE_SAMPLER_INVALID;
pub const D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = D3D12_MESSAGE_ID.CREATECOMMANDSIGNATURE_INVALID;
pub const D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = D3D12_MESSAGE_ID.EXECUTE_INDIRECT_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = D3D12_MESSAGE_ID.GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDCLEARVALUE;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = D3D12_MESSAGE_ID.CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = D3D12_MESSAGE_ID.CREATERESOURCE_INVALIDCLEARVALUEFORMAT;
pub const D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = D3D12_MESSAGE_ID.CREATERESOURCE_CLEARVALUEDENORMFLUSH;
pub const D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = D3D12_MESSAGE_ID.CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE;
pub const D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = D3D12_MESSAGE_ID.CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE;
pub const D3D12_MESSAGE_ID_MAP_INVALIDHEAP = D3D12_MESSAGE_ID.MAP_INVALIDHEAP;
pub const D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = D3D12_MESSAGE_ID.UNMAP_INVALIDHEAP;
pub const D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = D3D12_MESSAGE_ID.MAP_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = D3D12_MESSAGE_ID.UNMAP_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = D3D12_MESSAGE_ID.MAP_INVALIDSUBRESOURCE;
pub const D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = D3D12_MESSAGE_ID.UNMAP_INVALIDSUBRESOURCE;
pub const D3D12_MESSAGE_ID_MAP_INVALIDRANGE = D3D12_MESSAGE_ID.MAP_INVALIDRANGE;
pub const D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = D3D12_MESSAGE_ID.UNMAP_INVALIDRANGE;
pub const D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = D3D12_MESSAGE_ID.MAP_INVALIDDATAPOINTER;
pub const D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = D3D12_MESSAGE_ID.MAP_INVALIDARG_RETURN;
pub const D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.MAP_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_OPENCOMMANDLIST;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = D3D12_MESSAGE_ID.COPYBUFFERREGION_NULLDST;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = D3D12_MESSAGE_ID.COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = D3D12_MESSAGE_ID.COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = D3D12_MESSAGE_ID.COPYBUFFERREGION_NULLSRC;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = D3D12_MESSAGE_ID.COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = D3D12_MESSAGE_ID.COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = D3D12_MESSAGE_ID.COPYBUFFERREGION_INVALIDCOPYFLAGS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = D3D12_MESSAGE_ID.COPYTEXTUREREGION_NULLDST;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTRESOURCE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTOFFSET;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTDIMENSIONS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTROWPITCH;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTPLACEMENT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = D3D12_MESSAGE_ID.COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = D3D12_MESSAGE_ID.COPYTEXTUREREGION_NULLSRC;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCRESOURCE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCOFFSET;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCDIMENSIONS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCROWPITCH;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCPLACEMENT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = D3D12_MESSAGE_ID.COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDDSTCOORDINATES;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDSRCBOX;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = D3D12_MESSAGE_ID.COPYTEXTUREREGION_FORMATMISMATCH;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = D3D12_MESSAGE_ID.COPYTEXTUREREGION_EMPTYBOX;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = D3D12_MESSAGE_ID.COPYTEXTUREREGION_INVALIDCOPYFLAGS;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_INVALID_FORMAT;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_RESOURCE_MISMATCH;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT;
pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = D3D12_MESSAGE_ID.CREATECOMPUTEPIPELINESTATE_INVALID_SHADER;
pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = D3D12_MESSAGE_ID.CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_INVALIDCACHEDBLOB;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_CACHEDBLOBIGNORED;
pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = D3D12_MESSAGE_ID.WRITETOSUBRESOURCE_INVALIDHEAP;
pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = D3D12_MESSAGE_ID.WRITETOSUBRESOURCE_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = D3D12_MESSAGE_ID.WRITETOSUBRESOURCE_INVALIDBOX;
pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = D3D12_MESSAGE_ID.WRITETOSUBRESOURCE_INVALIDSUBRESOURCE;
pub const D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = D3D12_MESSAGE_ID.WRITETOSUBRESOURCE_EMPTYBOX;
pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = D3D12_MESSAGE_ID.READFROMSUBRESOURCE_INVALIDHEAP;
pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = D3D12_MESSAGE_ID.READFROMSUBRESOURCE_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = D3D12_MESSAGE_ID.READFROMSUBRESOURCE_INVALIDBOX;
pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = D3D12_MESSAGE_ID.READFROMSUBRESOURCE_INVALIDSUBRESOURCE;
pub const D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = D3D12_MESSAGE_ID.READFROMSUBRESOURCE_EMPTYBOX;
pub const D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = D3D12_MESSAGE_ID.TOO_MANY_NODES_SPECIFIED;
pub const D3D12_MESSAGE_ID_INVALID_NODE_INDEX = D3D12_MESSAGE_ID.INVALID_NODE_INDEX;
pub const D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = D3D12_MESSAGE_ID.GETHEAPPROPERTIES_INVALIDRESOURCE;
pub const D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = D3D12_MESSAGE_ID.NODE_MASK_MISMATCH;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = D3D12_MESSAGE_ID.COMMAND_LIST_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = D3D12_MESSAGE_ID.COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = D3D12_MESSAGE_ID.COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES;
pub const D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = D3D12_MESSAGE_ID.COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = D3D12_MESSAGE_ID.COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS;
pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = D3D12_MESSAGE_ID.CREATE_QUEUE_INVALID_TYPE;
pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = D3D12_MESSAGE_ID.CREATE_QUEUE_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = D3D12_MESSAGE_ID.CREATESHAREDRESOURCE_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = D3D12_MESSAGE_ID.CREATESHAREDRESOURCE_INVALIDFORMAT;
pub const D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = D3D12_MESSAGE_ID.CREATESHAREDHEAP_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = D3D12_MESSAGE_ID.REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES;
pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = D3D12_MESSAGE_ID.REFLECTSHAREDPROPERTIES_INVALIDSIZE;
pub const D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = D3D12_MESSAGE_ID.REFLECTSHAREDPROPERTIES_INVALIDOBJECT;
pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = D3D12_MESSAGE_ID.KEYEDMUTEX_INVALIDOBJECT;
pub const D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = D3D12_MESSAGE_ID.KEYEDMUTEX_INVALIDKEY;
pub const D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = D3D12_MESSAGE_ID.KEYEDMUTEX_WRONGSTATE;
pub const D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = D3D12_MESSAGE_ID.CREATE_QUEUE_INVALID_PRIORITY;
pub const D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = D3D12_MESSAGE_ID.OBJECT_DELETED_WHILE_STILL_IN_USE;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = D3D12_MESSAGE_ID.HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = D3D12_MESSAGE_ID.COMMAND_LIST_DRAW_RENDER_TARGET_DELETED;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT;
pub const D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = D3D12_MESSAGE_ID.HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS;
pub const D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = D3D12_MESSAGE_ID.EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED;
pub const D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = D3D12_MESSAGE_ID.UNMAP_RANGE_NOT_EMPTY;
pub const D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = D3D12_MESSAGE_ID.MAP_INVALID_NULLRANGE;
pub const D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = D3D12_MESSAGE_ID.UNMAP_INVALID_NULLRANGE;
pub const D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = D3D12_MESSAGE_ID.NO_GRAPHICS_API_SUPPORT;
pub const D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = D3D12_MESSAGE_ID.NO_COMPUTE_API_SUPPORT;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_RESOURCE_FLAGS_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_ROOT_ARGUMENT_UNINITIALIZED;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_DESCRIPTOR_HEAP_INDEX_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_DESCRIPTOR_TABLE_REGISTER_INDEX_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_DESCRIPTOR_UNINITIALIZED;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_DESCRIPTOR_TYPE_MISMATCH;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_SRV_RESOURCE_DIMENSION_MISMATCH;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_UAV_RESOURCE_DIMENSION_MISMATCH;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLDST = D3D12_MESSAGE_ID.COPYRESOURCE_NULLDST;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDSTRESOURCE = D3D12_MESSAGE_ID.COPYRESOURCE_INVALIDDSTRESOURCE;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_NULLSRC = D3D12_MESSAGE_ID.COPYRESOURCE_NULLSRC;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSRCRESOURCE = D3D12_MESSAGE_ID.COPYRESOURCE_INVALIDSRCRESOURCE;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLDST = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_NULLDST;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDDSTRESOURCE = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_INVALIDDSTRESOURCE;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_NULLSRC = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_NULLSRC;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALIDSRCRESOURCE = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_INVALIDSRCRESOURCE;
pub const D3D12_MESSAGE_ID_PIPELINE_STATE_TYPE_MISMATCH = D3D12_MESSAGE_ID.PIPELINE_STATE_TYPE_MISMATCH;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.COMMAND_LIST_DISPATCH_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_ZERO_BARRIERS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_ZERO_BARRIERS;
pub const D3D12_MESSAGE_ID_BEGIN_END_EVENT_MISMATCH = D3D12_MESSAGE_ID.BEGIN_END_EVENT_MISMATCH;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH = D3D12_MESSAGE_ID.RESOURCE_BARRIER_POSSIBLE_BEFORE_AFTER_MISMATCH;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_BEGIN_END = D3D12_MESSAGE_ID.RESOURCE_BARRIER_MISMATCHING_BEGIN_END;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_INVALID_RESOURCE = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_INVALID_RESOURCE;
pub const D3D12_MESSAGE_ID_USE_OF_ZERO_REFCOUNT_OBJECT = D3D12_MESSAGE_ID.USE_OF_ZERO_REFCOUNT_OBJECT;
pub const D3D12_MESSAGE_ID_OBJECT_EVICTED_WHILE_STILL_IN_USE = D3D12_MESSAGE_ID.OBJECT_EVICTED_WHILE_STILL_IN_USE;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_ROOT_DESCRIPTOR_ACCESS_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB = D3D12_MESSAGE_ID.CREATEPIPELINELIBRARY_INVALIDLIBRARYBLOB;
pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH = D3D12_MESSAGE_ID.CREATEPIPELINELIBRARY_DRIVERVERSIONMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH = D3D12_MESSAGE_ID.CREATEPIPELINELIBRARY_ADAPTERVERSIONMISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINELIBRARY_UNSUPPORTED = D3D12_MESSAGE_ID.CREATEPIPELINELIBRARY_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATE_PIPELINELIBRARY = D3D12_MESSAGE_ID.CREATE_PIPELINELIBRARY;
pub const D3D12_MESSAGE_ID_LIVE_PIPELINELIBRARY = D3D12_MESSAGE_ID.LIVE_PIPELINELIBRARY;
pub const D3D12_MESSAGE_ID_DESTROY_PIPELINELIBRARY = D3D12_MESSAGE_ID.DESTROY_PIPELINELIBRARY;
pub const D3D12_MESSAGE_ID_STOREPIPELINE_NONAME = D3D12_MESSAGE_ID.STOREPIPELINE_NONAME;
pub const D3D12_MESSAGE_ID_STOREPIPELINE_DUPLICATENAME = D3D12_MESSAGE_ID.STOREPIPELINE_DUPLICATENAME;
pub const D3D12_MESSAGE_ID_LOADPIPELINE_NAMENOTFOUND = D3D12_MESSAGE_ID.LOADPIPELINE_NAMENOTFOUND;
pub const D3D12_MESSAGE_ID_LOADPIPELINE_INVALIDDESC = D3D12_MESSAGE_ID.LOADPIPELINE_INVALIDDESC;
pub const D3D12_MESSAGE_ID_PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY = D3D12_MESSAGE_ID.PIPELINELIBRARY_SERIALIZE_NOTENOUGHMEMORY;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_RT_OUTPUT_MISMATCH;
pub const D3D12_MESSAGE_ID_SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS = D3D12_MESSAGE_ID.SETEVENTONMULTIPLEFENCECOMPLETION_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_CREATE_QUEUE_VIDEO_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATE_QUEUE_VIDEO_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATE_COMMAND_ALLOCATOR_VIDEO_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATEQUERY_HEAP_VIDEO_DECODE_STATISTICS_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDLIST = D3D12_MESSAGE_ID.CREATE_VIDEODECODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODER = D3D12_MESSAGE_ID.CREATE_VIDEODECODER;
pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODESTREAM = D3D12_MESSAGE_ID.CREATE_VIDEODECODESTREAM;
pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDLIST = D3D12_MESSAGE_ID.LIVE_VIDEODECODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODER = D3D12_MESSAGE_ID.LIVE_VIDEODECODER;
pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODESTREAM = D3D12_MESSAGE_ID.LIVE_VIDEODECODESTREAM;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDLIST = D3D12_MESSAGE_ID.DESTROY_VIDEODECODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODER = D3D12_MESSAGE_ID.DESTROY_VIDEODECODER;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODESTREAM = D3D12_MESSAGE_ID.DESTROY_VIDEODECODESTREAM;
pub const D3D12_MESSAGE_ID_DECODE_FRAME_INVALID_PARAMETERS = D3D12_MESSAGE_ID.DECODE_FRAME_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_DEPRECATED_API = D3D12_MESSAGE_ID.DEPRECATED_API;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE = D3D12_MESSAGE_ID.RESOURCE_BARRIER_MISMATCHING_COMMAND_LIST_TYPE;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_DESCRIPTOR_TABLE_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_ROOT_CONSTANT_BUFFER_VIEW_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_ROOT_SHADER_RESOURCE_VIEW_NOT_SET;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_ROOT_UNORDERED_ACCESS_VIEW_NOT_SET;
pub const D3D12_MESSAGE_ID_DISCARD_INVALID_SUBRESOURCE_RANGE = D3D12_MESSAGE_ID.DISCARD_INVALID_SUBRESOURCE_RANGE;
pub const D3D12_MESSAGE_ID_DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS = D3D12_MESSAGE_ID.DISCARD_ONE_SUBRESOURCE_FOR_MIPS_WITH_RECTS;
pub const D3D12_MESSAGE_ID_DISCARD_NO_RECTS_FOR_NON_TEXTURE2D = D3D12_MESSAGE_ID.DISCARD_NO_RECTS_FOR_NON_TEXTURE2D;
pub const D3D12_MESSAGE_ID_COPY_ON_SAME_SUBRESOURCE = D3D12_MESSAGE_ID.COPY_ON_SAME_SUBRESOURCE;
pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PAGEABLE = D3D12_MESSAGE_ID.SETRESIDENCYPRIORITY_INVALID_PAGEABLE;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_UNSUPPORTED = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE = D3D12_MESSAGE_ID.STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE;
pub const D3D12_MESSAGE_ID_DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE = D3D12_MESSAGE_ID.DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE;
pub const D3D12_MESSAGE_ID_DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE = D3D12_MESSAGE_ID.DATA_STATIC_WHILE_SET_AT_EXECUTE_DESCRIPTOR_INVALID_DATA_CHANGE;
pub const D3D12_MESSAGE_ID_EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET = D3D12_MESSAGE_ID.EXECUTE_BUNDLE_STATIC_DESCRIPTOR_DATA_STATIC_NOT_SET;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_RESOURCE_ACCESS_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_SAMPLER_MODE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATE_FENCE_INVALID_FLAGS = D3D12_MESSAGE_ID.CREATE_FENCE_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS = D3D12_MESSAGE_ID.RESOURCE_BARRIER_DUPLICATE_SUBRESOURCE_TRANSITIONS;
pub const D3D12_MESSAGE_ID_SETRESIDENCYPRIORITY_INVALID_PRIORITY = D3D12_MESSAGE_ID.SETRESIDENCYPRIORITY_INVALID_PRIORITY;
pub const D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS = D3D12_MESSAGE_ID.CREATE_DESCRIPTOR_HEAP_LARGE_NUM_DESCRIPTORS;
pub const D3D12_MESSAGE_ID_BEGIN_EVENT = D3D12_MESSAGE_ID.BEGIN_EVENT;
pub const D3D12_MESSAGE_ID_END_EVENT = D3D12_MESSAGE_ID.END_EVENT;
pub const D3D12_MESSAGE_ID_CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS = D3D12_MESSAGE_ID.CREATEDEVICE_DEBUG_LAYER_STARTUP_OPTIONS;
pub const D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED = D3D12_MESSAGE_ID.CREATEDEPTHSTENCILSTATE_DEPTHBOUNDSTEST_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_DUPLICATE_SUBOBJECT;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_UNKNOWN_SUBOBJECT;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_ZERO_SIZE_STREAM = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_ZERO_SIZE_STREAM;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_STREAM = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_INVALID_STREAM;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_CANNOT_DEDUCE_TYPE;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH = D3D12_MESSAGE_ID.COMMAND_LIST_STATIC_DESCRIPTOR_RESOURCE_DIMENSION_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME = D3D12_MESSAGE_ID.CREATE_COMMAND_QUEUE_INSUFFICIENT_PRIVILEGE_FOR_GLOBAL_REALTIME;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME = D3D12_MESSAGE_ID.CREATE_COMMAND_QUEUE_INSUFFICIENT_HARDWARE_SUPPORT_FOR_GLOBAL_REALTIME;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_ARCHITECTURE = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_ARCHITECTURE;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DST = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_NULL_DST;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_DST_RESOURCE_DIMENSION;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_DST_RANGE_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_SRC = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_NULL_SRC;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE_DIMENSION;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_SRC_RANGE_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_OFFSET_ALIGNMENT;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_NULL_DEPENDENT_RESOURCES;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_NULL_DEPENDENT_SUBRESOURCE_RANGES;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_DEPENDENT_RESOURCE;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_DEPENDENT_SUBRESOURCE_RANGE;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_DEPENDENT_SUBRESOURCE_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_DEPENDENT_RANGE_OUT_OF_BOUNDS;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_ZERO_DEPENDENCIES = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_ZERO_DEPENDENCIES;
pub const D3D12_MESSAGE_ID_DEVICE_CREATE_SHARED_HANDLE_INVALIDARG = D3D12_MESSAGE_ID.DEVICE_CREATE_SHARED_HANDLE_INVALIDARG;
pub const D3D12_MESSAGE_ID_DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE = D3D12_MESSAGE_ID.DESCRIPTOR_HANDLE_WITH_INVALID_RESOURCE;
pub const D3D12_MESSAGE_ID_SETDEPTHBOUNDS_INVALIDARGS = D3D12_MESSAGE_ID.SETDEPTHBOUNDS_INVALIDARGS;
pub const D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE = D3D12_MESSAGE_ID.GPU_BASED_VALIDATION_RESOURCE_STATE_IMPRECISE;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_PIPELINE_STATE_NOT_SET = D3D12_MESSAGE_ID.COMMAND_LIST_PIPELINE_STATE_NOT_SET;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_SHADER_MODEL_MISMATCH;
pub const D3D12_MESSAGE_ID_OBJECT_ACCESSED_WHILE_STILL_IN_USE = D3D12_MESSAGE_ID.OBJECT_ACCESSED_WHILE_STILL_IN_USE;
pub const D3D12_MESSAGE_ID_PROGRAMMABLE_MSAA_UNSUPPORTED = D3D12_MESSAGE_ID.PROGRAMMABLE_MSAA_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_SETSAMPLEPOSITIONS_INVALIDARGS = D3D12_MESSAGE_ID.SETSAMPLEPOSITIONS_INVALIDARGS;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCEREGION_INVALID_RECT = D3D12_MESSAGE_ID.RESOLVESUBRESOURCEREGION_INVALID_RECT;
pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODECOMMANDQUEUE = D3D12_MESSAGE_ID.CREATE_VIDEODECODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDLIST = D3D12_MESSAGE_ID.CREATE_VIDEOPROCESSCOMMANDLIST;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSCOMMANDQUEUE = D3D12_MESSAGE_ID.CREATE_VIDEOPROCESSCOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODECOMMANDQUEUE = D3D12_MESSAGE_ID.LIVE_VIDEODECODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDLIST = D3D12_MESSAGE_ID.LIVE_VIDEOPROCESSCOMMANDLIST;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSCOMMANDQUEUE = D3D12_MESSAGE_ID.LIVE_VIDEOPROCESSCOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODECOMMANDQUEUE = D3D12_MESSAGE_ID.DESTROY_VIDEODECODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDLIST = D3D12_MESSAGE_ID.DESTROY_VIDEOPROCESSCOMMANDLIST;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSCOMMANDQUEUE = D3D12_MESSAGE_ID.DESTROY_VIDEOPROCESSCOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSOR = D3D12_MESSAGE_ID.CREATE_VIDEOPROCESSOR;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOPROCESSSTREAM = D3D12_MESSAGE_ID.CREATE_VIDEOPROCESSSTREAM;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSOR = D3D12_MESSAGE_ID.LIVE_VIDEOPROCESSOR;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOPROCESSSTREAM = D3D12_MESSAGE_ID.LIVE_VIDEOPROCESSSTREAM;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSOR = D3D12_MESSAGE_ID.DESTROY_VIDEOPROCESSOR;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOPROCESSSTREAM = D3D12_MESSAGE_ID.DESTROY_VIDEOPROCESSSTREAM;
pub const D3D12_MESSAGE_ID_PROCESS_FRAME_INVALID_PARAMETERS = D3D12_MESSAGE_ID.PROCESS_FRAME_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_COPY_INVALIDLAYOUT = D3D12_MESSAGE_ID.COPY_INVALIDLAYOUT;
pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION = D3D12_MESSAGE_ID.CREATE_CRYPTO_SESSION;
pub const D3D12_MESSAGE_ID_CREATE_CRYPTO_SESSION_POLICY = D3D12_MESSAGE_ID.CREATE_CRYPTO_SESSION_POLICY;
pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION = D3D12_MESSAGE_ID.CREATE_PROTECTED_RESOURCE_SESSION;
pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION = D3D12_MESSAGE_ID.LIVE_CRYPTO_SESSION;
pub const D3D12_MESSAGE_ID_LIVE_CRYPTO_SESSION_POLICY = D3D12_MESSAGE_ID.LIVE_CRYPTO_SESSION_POLICY;
pub const D3D12_MESSAGE_ID_LIVE_PROTECTED_RESOURCE_SESSION = D3D12_MESSAGE_ID.LIVE_PROTECTED_RESOURCE_SESSION;
pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION = D3D12_MESSAGE_ID.DESTROY_CRYPTO_SESSION;
pub const D3D12_MESSAGE_ID_DESTROY_CRYPTO_SESSION_POLICY = D3D12_MESSAGE_ID.DESTROY_CRYPTO_SESSION_POLICY;
pub const D3D12_MESSAGE_ID_DESTROY_PROTECTED_RESOURCE_SESSION = D3D12_MESSAGE_ID.DESTROY_PROTECTED_RESOURCE_SESSION;
pub const D3D12_MESSAGE_ID_PROTECTED_RESOURCE_SESSION_UNSUPPORTED = D3D12_MESSAGE_ID.PROTECTED_RESOURCE_SESSION_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_FENCE_INVALIDOPERATION = D3D12_MESSAGE_ID.FENCE_INVALIDOPERATION;
pub const D3D12_MESSAGE_ID_CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATEQUERY_HEAP_COPY_QUEUE_TIMESTAMPS_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_DEFERRED = D3D12_MESSAGE_ID.SAMPLEPOSITIONS_MISMATCH_DEFERRED;
pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE = D3D12_MESSAGE_ID.SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMFIRSTUSE;
pub const D3D12_MESSAGE_ID_SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR = D3D12_MESSAGE_ID.SAMPLEPOSITIONS_MISMATCH_RECORDTIME_ASSUMEDFROMCLEAR;
pub const D3D12_MESSAGE_ID_CREATE_VIDEODECODERHEAP = D3D12_MESSAGE_ID.CREATE_VIDEODECODERHEAP;
pub const D3D12_MESSAGE_ID_LIVE_VIDEODECODERHEAP = D3D12_MESSAGE_ID.LIVE_VIDEODECODERHEAP;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEODECODERHEAP = D3D12_MESSAGE_ID.DESTROY_VIDEODECODERHEAP;
pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDARG_RETURN = D3D12_MESSAGE_ID.OPENEXISTINGHEAP_INVALIDARG_RETURN;
pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.OPENEXISTINGHEAP_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDADDRESS = D3D12_MESSAGE_ID.OPENEXISTINGHEAP_INVALIDADDRESS;
pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_INVALIDHANDLE = D3D12_MESSAGE_ID.OPENEXISTINGHEAP_INVALIDHANDLE;
pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_DEST = D3D12_MESSAGE_ID.WRITEBUFFERIMMEDIATE_INVALID_DEST;
pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_MODE = D3D12_MESSAGE_ID.WRITEBUFFERIMMEDIATE_INVALID_MODE;
pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT = D3D12_MESSAGE_ID.WRITEBUFFERIMMEDIATE_INVALID_ALIGNMENT;
pub const D3D12_MESSAGE_ID_WRITEBUFFERIMMEDIATE_NOT_SUPPORTED = D3D12_MESSAGE_ID.WRITEBUFFERIMMEDIATE_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_SETVIEWINSTANCEMASK_INVALIDARGS = D3D12_MESSAGE_ID.SETVIEWINSTANCEMASK_INVALIDARGS;
pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_UNSUPPORTED = D3D12_MESSAGE_ID.VIEW_INSTANCING_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_VIEW_INSTANCING_INVALIDARGS = D3D12_MESSAGE_ID.VIEW_INSTANCING_INVALIDARGS;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = D3D12_MESSAGE_ID.COPYTEXTUREREGION_MISMATCH_DECODE_REFERENCE_ONLY_FLAG;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG = D3D12_MESSAGE_ID.COPYRESOURCE_MISMATCH_DECODE_REFERENCE_ONLY_FLAG;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE = D3D12_MESSAGE_ID.CREATE_VIDEO_DECODE_HEAP_CAPS_FAILURE;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED = D3D12_MESSAGE_ID.CREATE_VIDEO_DECODE_HEAP_CAPS_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_INVALID_INPUT = D3D12_MESSAGE_ID.VIDEO_DECODE_SUPPORT_INVALID_INPUT;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_DECODER_UNSUPPORTED = D3D12_MESSAGE_ID.CREATE_VIDEO_DECODER_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_METADATA_ERROR;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_VIEW_INSTANCING_VERTEX_SIZE_EXCEEDED;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_RUNTIME_INTERNAL_ERROR;
pub const D3D12_MESSAGE_ID_NO_VIDEO_API_SUPPORT = D3D12_MESSAGE_ID.NO_VIDEO_API_SUPPORT;
pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_INVALID_INPUT = D3D12_MESSAGE_ID.VIDEO_PROCESS_SUPPORT_INVALID_INPUT;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_PROCESSOR_CAPS_FAILURE = D3D12_MESSAGE_ID.CREATE_VIDEO_PROCESSOR_CAPS_FAILURE;
pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT = D3D12_MESSAGE_ID.VIDEO_PROCESS_SUPPORT_UNSUPPORTED_FORMAT;
pub const D3D12_MESSAGE_ID_VIDEO_DECODE_FRAME_INVALID_ARGUMENT = D3D12_MESSAGE_ID.VIDEO_DECODE_FRAME_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS = D3D12_MESSAGE_ID.ENQUEUE_MAKE_RESIDENT_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_OPENEXISTINGHEAP_UNSUPPORTED = D3D12_MESSAGE_ID.OPENEXISTINGHEAP_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT = D3D12_MESSAGE_ID.VIDEO_PROCESS_FRAMES_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_VIDEO_DECODE_SUPPORT_UNSUPPORTED = D3D12_MESSAGE_ID.VIDEO_DECODE_SUPPORT_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDRECORDER = D3D12_MESSAGE_ID.CREATE_COMMANDRECORDER;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDRECORDER = D3D12_MESSAGE_ID.LIVE_COMMANDRECORDER;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDRECORDER = D3D12_MESSAGE_ID.DESTROY_COMMANDRECORDER;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATE_COMMAND_RECORDER_VIDEO_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS = D3D12_MESSAGE_ID.CREATE_COMMAND_RECORDER_INVALID_SUPPORT_FLAGS;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_INVALID_FLAGS = D3D12_MESSAGE_ID.CREATE_COMMAND_RECORDER_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS = D3D12_MESSAGE_ID.CREATE_COMMAND_RECORDER_MORE_RECORDERS_THAN_LOGICAL_PROCESSORS;
pub const D3D12_MESSAGE_ID_CREATE_COMMANDPOOL = D3D12_MESSAGE_ID.CREATE_COMMANDPOOL;
pub const D3D12_MESSAGE_ID_LIVE_COMMANDPOOL = D3D12_MESSAGE_ID.LIVE_COMMANDPOOL;
pub const D3D12_MESSAGE_ID_DESTROY_COMMANDPOOL = D3D12_MESSAGE_ID.DESTROY_COMMANDPOOL;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_POOL_INVALID_FLAGS = D3D12_MESSAGE_ID.CREATE_COMMAND_POOL_INVALID_FLAGS;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED = D3D12_MESSAGE_ID.CREATE_COMMAND_LIST_VIDEO_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH = D3D12_MESSAGE_ID.COMMAND_RECORDER_SUPPORT_FLAGS_MISMATCH;
pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_CONTENTION = D3D12_MESSAGE_ID.COMMAND_RECORDER_CONTENTION;
pub const D3D12_MESSAGE_ID_COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST = D3D12_MESSAGE_ID.COMMAND_RECORDER_USAGE_WITH_CREATECOMMANDLIST_COMMAND_LIST;
pub const D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST = D3D12_MESSAGE_ID.COMMAND_ALLOCATOR_USAGE_WITH_CREATECOMMANDLIST1_COMMAND_LIST;
pub const D3D12_MESSAGE_ID_CANNOT_EXECUTE_EMPTY_COMMAND_LIST = D3D12_MESSAGE_ID.CANNOT_EXECUTE_EMPTY_COMMAND_LIST;
pub const D3D12_MESSAGE_ID_CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS = D3D12_MESSAGE_ID.CANNOT_RESET_COMMAND_POOL_WITH_OPEN_COMMAND_LISTS;
pub const D3D12_MESSAGE_ID_CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET = D3D12_MESSAGE_ID.CANNOT_USE_COMMAND_RECORDER_WITHOUT_CURRENT_TARGET;
pub const D3D12_MESSAGE_ID_CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING = D3D12_MESSAGE_ID.CANNOT_CHANGE_COMMAND_RECORDER_TARGET_WHILE_RECORDING;
pub const D3D12_MESSAGE_ID_COMMAND_POOL_SYNC = D3D12_MESSAGE_ID.COMMAND_POOL_SYNC;
pub const D3D12_MESSAGE_ID_EVICT_UNDERFLOW = D3D12_MESSAGE_ID.EVICT_UNDERFLOW;
pub const D3D12_MESSAGE_ID_CREATE_META_COMMAND = D3D12_MESSAGE_ID.CREATE_META_COMMAND;
pub const D3D12_MESSAGE_ID_LIVE_META_COMMAND = D3D12_MESSAGE_ID.LIVE_META_COMMAND;
pub const D3D12_MESSAGE_ID_DESTROY_META_COMMAND = D3D12_MESSAGE_ID.DESTROY_META_COMMAND;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_DST_RESOURCE = D3D12_MESSAGE_ID.COPYBUFFERREGION_INVALID_DST_RESOURCE;
pub const D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALID_SRC_RESOURCE = D3D12_MESSAGE_ID.COPYBUFFERREGION_INVALID_SRC_RESOURCE;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_DST_RESOURCE = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_DST_RESOURCE;
pub const D3D12_MESSAGE_ID_ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE = D3D12_MESSAGE_ID.ATOMICCOPYBUFFER_INVALID_SRC_RESOURCE;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_NULL_BUFFER;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_NULL_RESOURCE_DESC;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_DIMENSION;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_FLAGS;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_INVALID_BUFFER_OFFSET;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_DIMENSION;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_INVALID_RESOURCE_FLAGS;
pub const D3D12_MESSAGE_ID_CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN = D3D12_MESSAGE_ID.CREATEPLACEDRESOURCEONBUFFER_OUTOFMEMORY_RETURN;
pub const D3D12_MESSAGE_ID_CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER = D3D12_MESSAGE_ID.CANNOT_CREATE_GRAPHICS_AND_VIDEO_COMMAND_RECORDER;
pub const D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES = D3D12_MESSAGE_ID.UPDATETILEMAPPINGS_POSSIBLY_MISMATCHING_PROPERTIES;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE = D3D12_MESSAGE_ID.CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE;
pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS = D3D12_MESSAGE_ID.CLEARUNORDEREDACCESSVIEW_INCOMPATIBLE_WITH_STRUCTURED_BUFFERS;
pub const D3D12_MESSAGE_ID_COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED = D3D12_MESSAGE_ID.COMPUTE_ONLY_DEVICE_OPERATION_UNSUPPORTED;
pub const D3D12_MESSAGE_ID_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = D3D12_MESSAGE_ID.BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INVALID;
pub const D3D12_MESSAGE_ID_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID = D3D12_MESSAGE_ID.EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_INVALID;
pub const D3D12_MESSAGE_ID_COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID = D3D12_MESSAGE_ID.COPY_RAYTRACING_ACCELERATION_STRUCTURE_INVALID;
pub const D3D12_MESSAGE_ID_DISPATCH_RAYS_INVALID = D3D12_MESSAGE_ID.DISPATCH_RAYS_INVALID;
pub const D3D12_MESSAGE_ID_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID = D3D12_MESSAGE_ID.GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_INVALID;
pub const D3D12_MESSAGE_ID_CREATE_LIFETIMETRACKER = D3D12_MESSAGE_ID.CREATE_LIFETIMETRACKER;
pub const D3D12_MESSAGE_ID_LIVE_LIFETIMETRACKER = D3D12_MESSAGE_ID.LIVE_LIFETIMETRACKER;
pub const D3D12_MESSAGE_ID_DESTROY_LIFETIMETRACKER = D3D12_MESSAGE_ID.DESTROY_LIFETIMETRACKER;
pub const D3D12_MESSAGE_ID_DESTROYOWNEDOBJECT_OBJECTNOTOWNED = D3D12_MESSAGE_ID.DESTROYOWNEDOBJECT_OBJECTNOTOWNED;
pub const D3D12_MESSAGE_ID_CREATE_TRACKEDWORKLOAD = D3D12_MESSAGE_ID.CREATE_TRACKEDWORKLOAD;
pub const D3D12_MESSAGE_ID_LIVE_TRACKEDWORKLOAD = D3D12_MESSAGE_ID.LIVE_TRACKEDWORKLOAD;
pub const D3D12_MESSAGE_ID_DESTROY_TRACKEDWORKLOAD = D3D12_MESSAGE_ID.DESTROY_TRACKEDWORKLOAD;
pub const D3D12_MESSAGE_ID_RENDER_PASS_ERROR = D3D12_MESSAGE_ID.RENDER_PASS_ERROR;
pub const D3D12_MESSAGE_ID_META_COMMAND_ID_INVALID = D3D12_MESSAGE_ID.META_COMMAND_ID_INVALID;
pub const D3D12_MESSAGE_ID_META_COMMAND_UNSUPPORTED_PARAMS = D3D12_MESSAGE_ID.META_COMMAND_UNSUPPORTED_PARAMS;
pub const D3D12_MESSAGE_ID_META_COMMAND_FAILED_ENUMERATION = D3D12_MESSAGE_ID.META_COMMAND_FAILED_ENUMERATION;
pub const D3D12_MESSAGE_ID_META_COMMAND_PARAMETER_SIZE_MISMATCH = D3D12_MESSAGE_ID.META_COMMAND_PARAMETER_SIZE_MISMATCH;
pub const D3D12_MESSAGE_ID_UNINITIALIZED_META_COMMAND = D3D12_MESSAGE_ID.UNINITIALIZED_META_COMMAND;
pub const D3D12_MESSAGE_ID_META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS = D3D12_MESSAGE_ID.META_COMMAND_INVALID_GPU_VIRTUAL_ADDRESS;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDLIST = D3D12_MESSAGE_ID.CREATE_VIDEOENCODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDLIST = D3D12_MESSAGE_ID.LIVE_VIDEOENCODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDLIST = D3D12_MESSAGE_ID.DESTROY_VIDEOENCODECOMMANDLIST;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODECOMMANDQUEUE = D3D12_MESSAGE_ID.CREATE_VIDEOENCODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODECOMMANDQUEUE = D3D12_MESSAGE_ID.LIVE_VIDEOENCODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODECOMMANDQUEUE = D3D12_MESSAGE_ID.DESTROY_VIDEOENCODECOMMANDQUEUE;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONESTIMATOR = D3D12_MESSAGE_ID.CREATE_VIDEOMOTIONESTIMATOR;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONESTIMATOR = D3D12_MESSAGE_ID.LIVE_VIDEOMOTIONESTIMATOR;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONESTIMATOR = D3D12_MESSAGE_ID.DESTROY_VIDEOMOTIONESTIMATOR;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOMOTIONVECTORHEAP = D3D12_MESSAGE_ID.CREATE_VIDEOMOTIONVECTORHEAP;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOMOTIONVECTORHEAP = D3D12_MESSAGE_ID.LIVE_VIDEOMOTIONVECTORHEAP;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOMOTIONVECTORHEAP = D3D12_MESSAGE_ID.DESTROY_VIDEOMOTIONVECTORHEAP;
pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOADS = D3D12_MESSAGE_ID.MULTIPLE_TRACKED_WORKLOADS;
pub const D3D12_MESSAGE_ID_MULTIPLE_TRACKED_WORKLOAD_PAIRS = D3D12_MESSAGE_ID.MULTIPLE_TRACKED_WORKLOAD_PAIRS;
pub const D3D12_MESSAGE_ID_OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR = D3D12_MESSAGE_ID.OUT_OF_ORDER_TRACKED_WORKLOAD_PAIR;
pub const D3D12_MESSAGE_ID_CANNOT_ADD_TRACKED_WORKLOAD = D3D12_MESSAGE_ID.CANNOT_ADD_TRACKED_WORKLOAD;
pub const D3D12_MESSAGE_ID_INCOMPLETE_TRACKED_WORKLOAD_PAIR = D3D12_MESSAGE_ID.INCOMPLETE_TRACKED_WORKLOAD_PAIR;
pub const D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_ERROR = D3D12_MESSAGE_ID.CREATE_STATE_OBJECT_ERROR;
pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_ERROR = D3D12_MESSAGE_ID.GET_SHADER_IDENTIFIER_ERROR;
pub const D3D12_MESSAGE_ID_GET_SHADER_STACK_SIZE_ERROR = D3D12_MESSAGE_ID.GET_SHADER_STACK_SIZE_ERROR;
pub const D3D12_MESSAGE_ID_GET_PIPELINE_STACK_SIZE_ERROR = D3D12_MESSAGE_ID.GET_PIPELINE_STACK_SIZE_ERROR;
pub const D3D12_MESSAGE_ID_SET_PIPELINE_STACK_SIZE_ERROR = D3D12_MESSAGE_ID.SET_PIPELINE_STACK_SIZE_ERROR;
pub const D3D12_MESSAGE_ID_GET_SHADER_IDENTIFIER_SIZE_INVALID = D3D12_MESSAGE_ID.GET_SHADER_IDENTIFIER_SIZE_INVALID;
pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID = D3D12_MESSAGE_ID.CHECK_DRIVER_MATCHING_IDENTIFIER_INVALID;
pub const D3D12_MESSAGE_ID_CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE = D3D12_MESSAGE_ID.CHECK_DRIVER_MATCHING_IDENTIFIER_DRIVER_REPORTED_ISSUE;
pub const D3D12_MESSAGE_ID_RENDER_PASS_INVALID_RESOURCE_BARRIER = D3D12_MESSAGE_ID.RENDER_PASS_INVALID_RESOURCE_BARRIER;
pub const D3D12_MESSAGE_ID_RENDER_PASS_DISALLOWED_API_CALLED = D3D12_MESSAGE_ID.RENDER_PASS_DISALLOWED_API_CALLED;
pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_NEST_RENDER_PASSES = D3D12_MESSAGE_ID.RENDER_PASS_CANNOT_NEST_RENDER_PASSES;
pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_END_WITHOUT_BEGIN = D3D12_MESSAGE_ID.RENDER_PASS_CANNOT_END_WITHOUT_BEGIN;
pub const D3D12_MESSAGE_ID_RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST = D3D12_MESSAGE_ID.RENDER_PASS_CANNOT_CLOSE_COMMAND_LIST;
pub const D3D12_MESSAGE_ID_RENDER_PASS_GPU_WORK_WHILE_SUSPENDED = D3D12_MESSAGE_ID.RENDER_PASS_GPU_WORK_WHILE_SUSPENDED;
pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_SUSPEND_RESUME = D3D12_MESSAGE_ID.RENDER_PASS_MISMATCHING_SUSPEND_RESUME;
pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS = D3D12_MESSAGE_ID.RENDER_PASS_NO_PRIOR_SUSPEND_WITHIN_EXECUTECOMMANDLISTS;
pub const D3D12_MESSAGE_ID_RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS = D3D12_MESSAGE_ID.RENDER_PASS_NO_SUBSEQUENT_RESUME_WITHIN_EXECUTECOMMANDLISTS;
pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH = D3D12_MESSAGE_ID.TRACKED_WORKLOAD_COMMAND_QUEUE_MISMATCH;
pub const D3D12_MESSAGE_ID_TRACKED_WORKLOAD_NOT_SUPPORTED = D3D12_MESSAGE_ID.TRACKED_WORKLOAD_NOT_SUPPORTED;
pub const D3D12_MESSAGE_ID_RENDER_PASS_MISMATCHING_NO_ACCESS = D3D12_MESSAGE_ID.RENDER_PASS_MISMATCHING_NO_ACCESS;
pub const D3D12_MESSAGE_ID_RENDER_PASS_UNSUPPORTED_RESOLVE = D3D12_MESSAGE_ID.RENDER_PASS_UNSUPPORTED_RESOLVE;
pub const D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR = D3D12_MESSAGE_ID.CLEARUNORDEREDACCESSVIEW_INVALID_RESOURCE_PTR;
pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_SIGNAL = D3D12_MESSAGE_ID.WINDOWS7_FENCE_OUTOFORDER_SIGNAL;
pub const D3D12_MESSAGE_ID_WINDOWS7_FENCE_OUTOFORDER_WAIT = D3D12_MESSAGE_ID.WINDOWS7_FENCE_OUTOFORDER_WAIT;
pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT = D3D12_MESSAGE_ID.VIDEO_CREATE_MOTION_ESTIMATOR_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = D3D12_MESSAGE_ID.VIDEO_CREATE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_ESTIMATE_MOTION_INVALID_ARGUMENT = D3D12_MESSAGE_ID.ESTIMATE_MOTION_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT = D3D12_MESSAGE_ID.RESOLVE_MOTION_VECTOR_HEAP_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE = D3D12_MESSAGE_ID.GETGPUVIRTUALADDRESS_INVALID_HEAP_TYPE;
pub const D3D12_MESSAGE_ID_SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT = D3D12_MESSAGE_ID.SET_BACKGROUND_PROCESSING_MODE_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL = D3D12_MESSAGE_ID.CREATE_COMMAND_LIST_INVALID_COMMAND_LIST_TYPE_FOR_FEATURE_LEVEL;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOEXTENSIONCOMMAND = D3D12_MESSAGE_ID.CREATE_VIDEOEXTENSIONCOMMAND;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOEXTENSIONCOMMAND = D3D12_MESSAGE_ID.LIVE_VIDEOEXTENSIONCOMMAND;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOEXTENSIONCOMMAND = D3D12_MESSAGE_ID.DESTROY_VIDEOEXTENSIONCOMMAND;
pub const D3D12_MESSAGE_ID_INVALID_VIDEO_EXTENSION_COMMAND_ID = D3D12_MESSAGE_ID.INVALID_VIDEO_EXTENSION_COMMAND_ID;
pub const D3D12_MESSAGE_ID_VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT = D3D12_MESSAGE_ID.VIDEO_EXTENSION_COMMAND_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_NOT_UNIQUE_IN_DXIL_LIBRARY;
pub const D3D12_MESSAGE_ID_VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR = D3D12_MESSAGE_ID.VARIABLE_SHADING_RATE_NOT_ALLOWED_WITH_TIR;
pub const D3D12_MESSAGE_ID_GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = D3D12_MESSAGE_ID.GEOMETRY_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE;
pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_SHADING_RATE = D3D12_MESSAGE_ID.RSSETSHADING_RATE_INVALID_SHADING_RATE;
pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP = D3D12_MESSAGE_ID.RSSETSHADING_RATE_SHADING_RATE_NOT_PERMITTED_BY_CAP;
pub const D3D12_MESSAGE_ID_RSSETSHADING_RATE_INVALID_COMBINER = D3D12_MESSAGE_ID.RSSETSHADING_RATE_INVALID_COMBINER;
pub const D3D12_MESSAGE_ID_RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2 = D3D12_MESSAGE_ID.RSSETSHADINGRATEIMAGE_REQUIRES_TIER_2;
pub const D3D12_MESSAGE_ID_RSSETSHADINGRATE_REQUIRES_TIER_1 = D3D12_MESSAGE_ID.RSSETSHADINGRATE_REQUIRES_TIER_1;
pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_FORMAT = D3D12_MESSAGE_ID.SHADING_RATE_IMAGE_INCORRECT_FORMAT;
pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE = D3D12_MESSAGE_ID.SHADING_RATE_IMAGE_INCORRECT_ARRAY_SIZE;
pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL = D3D12_MESSAGE_ID.SHADING_RATE_IMAGE_INCORRECT_MIP_LEVEL;
pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT = D3D12_MESSAGE_ID.SHADING_RATE_IMAGE_INCORRECT_SAMPLE_COUNT;
pub const D3D12_MESSAGE_ID_SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY = D3D12_MESSAGE_ID.SHADING_RATE_IMAGE_INCORRECT_SAMPLE_QUALITY;
pub const D3D12_MESSAGE_ID_NON_RETAIL_SHADER_MODEL_WONT_VALIDATE = D3D12_MESSAGE_ID.NON_RETAIL_SHADER_MODEL_WONT_VALIDATE;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_AS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_MS_ROOT_SIGNATURE_MISMATCH;
pub const D3D12_MESSAGE_ID_ADD_TO_STATE_OBJECT_ERROR = D3D12_MESSAGE_ID.ADD_TO_STATE_OBJECT_ERROR;
pub const D3D12_MESSAGE_ID_CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT = D3D12_MESSAGE_ID.CREATE_PROTECTED_RESOURCE_SESSION_INVALID_ARGUMENT;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_MS_PSO_DESC_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE = D3D12_MESSAGE_ID.CREATEPIPELINESTATE_MS_INCOMPLETE_TYPE;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_AS_NOT_MS_MISMATCH;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_MS_NOT_PS_MISMATCH;
pub const D3D12_MESSAGE_ID_NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT = D3D12_MESSAGE_ID.NONZERO_SAMPLER_FEEDBACK_MIP_REGION_WITH_INCOMPATIBLE_FORMAT;
pub const D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH = D3D12_MESSAGE_ID.CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_SHADER_MISMATCH;
pub const D3D12_MESSAGE_ID_EMPTY_DISPATCH = D3D12_MESSAGE_ID.EMPTY_DISPATCH;
pub const D3D12_MESSAGE_ID_RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = D3D12_MESSAGE_ID.RESOURCE_FORMAT_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_INVALID_MIP_REGION;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_INVALID_DIMENSION;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_COUNT;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_INVALID_SAMPLE_QUALITY;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_INVALID_LAYOUT;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_MAP_REQUIRES_UNORDERED_ACCESS_FLAG;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_CREATE_UAV_NULL_ARGUMENTS;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_UAV_REQUIRES_SAMPLER_FEEDBACK_CAPABILITY;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_CREATE_UAV_REQUIRES_FEEDBACK_MAP_FORMAT;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEMESHSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEMESHSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = D3D12_MESSAGE_ID.CREATEMESHSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_INVALID_FORMAT;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_INVALID_MIP_LEVEL_COUNT;
pub const D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH = D3D12_MESSAGE_ID.RESOLVESUBRESOURCE_SAMPLER_FEEDBACK_TRANSCODE_ARRAY_SIZE_MISMATCH;
pub const D3D12_MESSAGE_ID_SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE = D3D12_MESSAGE_ID.SAMPLER_FEEDBACK_CREATE_UAV_MISMATCHING_TARGETED_RESOURCE;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE = D3D12_MESSAGE_ID.CREATEMESHSHADER_OUTPUTEXCEEDSMAXSIZE;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE = D3D12_MESSAGE_ID.CREATEMESHSHADER_GROUPSHAREDEXCEEDSMAXSIZE;
pub const D3D12_MESSAGE_ID_VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = D3D12_MESSAGE_ID.VERTEX_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE;
pub const D3D12_MESSAGE_ID_MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE = D3D12_MESSAGE_ID.MESH_SHADER_OUTPUTTING_BOTH_VIEWPORT_ARRAY_INDEX_AND_SHADING_RATE_NOT_SUPPORTED_ON_DEVICE;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE = D3D12_MESSAGE_ID.CREATEMESHSHADER_MISMATCHEDASMSPAYLOADSIZE;
pub const D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS = D3D12_MESSAGE_ID.CREATE_ROOT_SIGNATURE_UNBOUNDED_STATIC_DESCRIPTORS;
pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE = D3D12_MESSAGE_ID.CREATEAMPLIFICATIONSHADER_INVALIDSHADERBYTECODE;
pub const D3D12_MESSAGE_ID_CREATEAMPLIFICATIONSHADER_OUTOFMEMORY = D3D12_MESSAGE_ID.CREATEAMPLIFICATIONSHADER_OUTOFMEMORY;
pub const D3D12_MESSAGE_ID_CREATE_SHADERCACHESESSION = D3D12_MESSAGE_ID.CREATE_SHADERCACHESESSION;
pub const D3D12_MESSAGE_ID_LIVE_SHADERCACHESESSION = D3D12_MESSAGE_ID.LIVE_SHADERCACHESESSION;
pub const D3D12_MESSAGE_ID_DESTROY_SHADERCACHESESSION = D3D12_MESSAGE_ID.DESTROY_SHADERCACHESESSION;
pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_INVALIDARGS = D3D12_MESSAGE_ID.CREATESHADERCACHESESSION_INVALIDARGS;
pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_DISABLED = D3D12_MESSAGE_ID.CREATESHADERCACHESESSION_DISABLED;
pub const D3D12_MESSAGE_ID_CREATESHADERCACHESESSION_ALREADYOPEN = D3D12_MESSAGE_ID.CREATESHADERCACHESESSION_ALREADYOPEN;
pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_DEVELOPERMODE = D3D12_MESSAGE_ID.SHADERCACHECONTROL_DEVELOPERMODE;
pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_INVALIDFLAGS = D3D12_MESSAGE_ID.SHADERCACHECONTROL_INVALIDFLAGS;
pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_STATEALREADYSET = D3D12_MESSAGE_ID.SHADERCACHECONTROL_STATEALREADYSET;
pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_IGNOREDFLAG = D3D12_MESSAGE_ID.SHADERCACHECONTROL_IGNOREDFLAG;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT = D3D12_MESSAGE_ID.SHADERCACHESESSION_STOREVALUE_ALREADYPRESENT;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_HASHCOLLISION = D3D12_MESSAGE_ID.SHADERCACHESESSION_STOREVALUE_HASHCOLLISION;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_STOREVALUE_CACHEFULL = D3D12_MESSAGE_ID.SHADERCACHESESSION_STOREVALUE_CACHEFULL;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_FINDVALUE_NOTFOUND = D3D12_MESSAGE_ID.SHADERCACHESESSION_FINDVALUE_NOTFOUND;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_CORRUPT = D3D12_MESSAGE_ID.SHADERCACHESESSION_CORRUPT;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_DISABLED = D3D12_MESSAGE_ID.SHADERCACHESESSION_DISABLED;
pub const D3D12_MESSAGE_ID_OVERSIZED_DISPATCH = D3D12_MESSAGE_ID.OVERSIZED_DISPATCH;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODER = D3D12_MESSAGE_ID.CREATE_VIDEOENCODER;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODER = D3D12_MESSAGE_ID.LIVE_VIDEOENCODER;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODER = D3D12_MESSAGE_ID.DESTROY_VIDEOENCODER;
pub const D3D12_MESSAGE_ID_CREATE_VIDEOENCODERHEAP = D3D12_MESSAGE_ID.CREATE_VIDEOENCODERHEAP;
pub const D3D12_MESSAGE_ID_LIVE_VIDEOENCODERHEAP = D3D12_MESSAGE_ID.LIVE_VIDEOENCODERHEAP;
pub const D3D12_MESSAGE_ID_DESTROY_VIDEOENCODERHEAP = D3D12_MESSAGE_ID.DESTROY_VIDEOENCODERHEAP;
pub const D3D12_MESSAGE_ID_COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = D3D12_MESSAGE_ID.COPYTEXTUREREGION_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG;
pub const D3D12_MESSAGE_ID_COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG = D3D12_MESSAGE_ID.COPYRESOURCE_MISMATCH_ENCODE_REFERENCE_ONLY_FLAG;
pub const D3D12_MESSAGE_ID_ENCODE_FRAME_INVALID_PARAMETERS = D3D12_MESSAGE_ID.ENCODE_FRAME_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_ENCODE_FRAME_UNSUPPORTED_PARAMETERS = D3D12_MESSAGE_ID.ENCODE_FRAME_UNSUPPORTED_PARAMETERS;
pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS = D3D12_MESSAGE_ID.RESOLVE_ENCODER_OUTPUT_METADATA_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS = D3D12_MESSAGE_ID.RESOLVE_ENCODER_OUTPUT_METADATA_UNSUPPORTED_PARAMETERS;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_INVALID_PARAMETERS = D3D12_MESSAGE_ID.CREATE_VIDEO_ENCODER_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS = D3D12_MESSAGE_ID.CREATE_VIDEO_ENCODER_UNSUPPORTED_PARAMETERS;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS = D3D12_MESSAGE_ID.CREATE_VIDEO_ENCODER_HEAP_INVALID_PARAMETERS;
pub const D3D12_MESSAGE_ID_CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS = D3D12_MESSAGE_ID.CREATE_VIDEO_ENCODER_HEAP_UNSUPPORTED_PARAMETERS;
pub const D3D12_MESSAGE_ID_CREATECOMMANDLIST_NULL_COMMANDALLOCATOR = D3D12_MESSAGE_ID.CREATECOMMANDLIST_NULL_COMMANDALLOCATOR;
pub const D3D12_MESSAGE_ID_CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE = D3D12_MESSAGE_ID.CLEAR_UNORDERED_ACCESS_VIEW_INVALID_DESCRIPTOR_HANDLE;
pub const D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE = D3D12_MESSAGE_ID.DESCRIPTOR_HEAP_NOT_SHADER_VISIBLE;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOP_WARNING = D3D12_MESSAGE_ID.CREATEBLENDSTATE_BLENDOP_WARNING;
pub const D3D12_MESSAGE_ID_CREATEBLENDSTATE_BLENDOPALPHA_WARNING = D3D12_MESSAGE_ID.CREATEBLENDSTATE_BLENDOPALPHA_WARNING;
pub const D3D12_MESSAGE_ID_WRITE_COMBINE_PERFORMANCE_WARNING = D3D12_MESSAGE_ID.WRITE_COMBINE_PERFORMANCE_WARNING;
pub const D3D12_MESSAGE_ID_RESOLVE_QUERY_INVALID_QUERY_STATE = D3D12_MESSAGE_ID.RESOLVE_QUERY_INVALID_QUERY_STATE;
pub const D3D12_MESSAGE_ID_SETPRIVATEDATA_NO_ACCESS = D3D12_MESSAGE_ID.SETPRIVATEDATA_NO_ACCESS;
pub const D3D12_MESSAGE_ID_COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH = D3D12_MESSAGE_ID.COMMAND_LIST_STATIC_DESCRIPTOR_SAMPLER_MODE_MISMATCH;
pub const D3D12_MESSAGE_ID_GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH = D3D12_MESSAGE_ID.GETCOPYABLEFOOTPRINTS_UNSUPPORTED_BUFFER_WIDTH;
pub const D3D12_MESSAGE_ID_CREATEMESHSHADER_TOPOLOGY_MISMATCH = D3D12_MESSAGE_ID.CREATEMESHSHADER_TOPOLOGY_MISMATCH;
pub const D3D12_MESSAGE_ID_VRS_SUM_COMBINER_REQUIRES_CAPABILITY = D3D12_MESSAGE_ID.VRS_SUM_COMBINER_REQUIRES_CAPABILITY;
pub const D3D12_MESSAGE_ID_SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY = D3D12_MESSAGE_ID.SETTING_SHADING_RATE_FROM_MS_REQUIRES_CAPABILITY;
pub const D3D12_MESSAGE_ID_SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED = D3D12_MESSAGE_ID.SHADERCACHESESSION_SHADERCACHEDELETE_NOTSUPPORTED;
pub const D3D12_MESSAGE_ID_SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED = D3D12_MESSAGE_ID.SHADERCACHECONTROL_SHADERCACHECLEAR_NOTSUPPORTED;
pub const D3D12_MESSAGE_ID_D3D12_MESSAGES_END = D3D12_MESSAGE_ID.D3D12_MESSAGES_END;
pub const D3D12_MESSAGE = extern struct {
Category: D3D12_MESSAGE_CATEGORY,
Severity: D3D12_MESSAGE_SEVERITY,
ID: D3D12_MESSAGE_ID,
pDescription: ?*const u8,
DescriptionByteLength: usize,
};
pub const D3D12_INFO_QUEUE_FILTER_DESC = extern struct {
NumCategories: u32,
pCategoryList: ?*D3D12_MESSAGE_CATEGORY,
NumSeverities: u32,
pSeverityList: ?*D3D12_MESSAGE_SEVERITY,
NumIDs: u32,
pIDList: ?*D3D12_MESSAGE_ID,
};
pub const D3D12_INFO_QUEUE_FILTER = extern struct {
AllowList: D3D12_INFO_QUEUE_FILTER_DESC,
DenyList: D3D12_INFO_QUEUE_FILTER_DESC,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12InfoQueue_Value = Guid.initString("0742a90b-c387-483f-b946-30a7e4e61458");
pub const IID_ID3D12InfoQueue = &IID_ID3D12InfoQueue_Value;
pub const ID3D12InfoQueue = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetMessageCountLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
MessageCountLimit: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
MessageCountLimit: u64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ClearStoredMessages: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetMessage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
MessageIndex: u64,
// TODO: what to do with BytesParamIndex 2?
pMessage: ?*D3D12_MESSAGE,
pMessageByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
MessageIndex: u64,
// TODO: what to do with BytesParamIndex 2?
pMessage: ?*D3D12_MESSAGE,
pMessageByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetNumMessagesAllowedByStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetNumMessagesDeniedByStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetNumStoredMessages: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetNumStoredMessagesAllowedByRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetNumMessagesDiscardedByMessageCountLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
GetMessageCountLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u64,
},
AddStorageFilterEntries: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
// TODO: what to do with BytesParamIndex 1?
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
pFilterByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
// TODO: what to do with BytesParamIndex 1?
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
pFilterByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ClearStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
PushEmptyStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PushCopyOfStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PushStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PopStorageFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetStorageFilterStackSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u32,
},
AddRetrievalFilterEntries: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
// TODO: what to do with BytesParamIndex 1?
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
pFilterByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
// TODO: what to do with BytesParamIndex 1?
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
pFilterByteLength: ?*usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ClearRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
PushEmptyRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PushCopyOfRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PushRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
pFilter: ?*D3D12_INFO_QUEUE_FILTER,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
PopRetrievalFilter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetRetrievalFilterStackSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) u32,
},
AddMessage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
Severity: D3D12_MESSAGE_SEVERITY,
ID: D3D12_MESSAGE_ID,
pDescription: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
Severity: D3D12_MESSAGE_SEVERITY,
ID: D3D12_MESSAGE_ID,
pDescription: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AddApplicationMessage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
pDescription: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
pDescription: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBreakOnCategory: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBreakOnSeverity: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetBreakOnID: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
ID: D3D12_MESSAGE_ID,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue,
ID: D3D12_MESSAGE_ID,
bEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetBreakOnCategory: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12InfoQueue,
Category: D3D12_MESSAGE_CATEGORY,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
GetBreakOnSeverity: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12InfoQueue,
Severity: D3D12_MESSAGE_SEVERITY,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
GetBreakOnID: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
ID: D3D12_MESSAGE_ID,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12InfoQueue,
ID: D3D12_MESSAGE_ID,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
SetMuteDebugOutput: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
bMute: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12InfoQueue,
bMute: BOOL,
) callconv(@import("std").os.windows.WINAPI) void,
},
GetMuteDebugOutput: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12InfoQueue,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_SetMessageCountLimit(self: *const T, MessageCountLimit: u64) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).SetMessageCountLimit(@as(*const ID3D12InfoQueue, @ptrCast(self)), MessageCountLimit);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_ClearStoredMessages(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).ClearStoredMessages(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetMessage(self: *const T, MessageIndex: u64, pMessage: ?*D3D12_MESSAGE, pMessageByteLength: ?*usize) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetMessage(@as(*const ID3D12InfoQueue, @ptrCast(self)), MessageIndex, pMessage, pMessageByteLength);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetNumMessagesAllowedByStorageFilter(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetNumMessagesAllowedByStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetNumMessagesDeniedByStorageFilter(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetNumMessagesDeniedByStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetNumStoredMessages(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetNumStoredMessages(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetNumStoredMessagesAllowedByRetrievalFilter(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetNumStoredMessagesAllowedByRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetNumMessagesDiscardedByMessageCountLimit(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetNumMessagesDiscardedByMessageCountLimit(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetMessageCountLimit(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetMessageCountLimit(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_AddStorageFilterEntries(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).AddStorageFilterEntries(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetStorageFilter(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER, pFilterByteLength: ?*usize) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter, pFilterByteLength);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_ClearStorageFilter(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).ClearStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushEmptyStorageFilter(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushEmptyStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushCopyOfStorageFilter(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushCopyOfStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushStorageFilter(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PopStorageFilter(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PopStorageFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetStorageFilterStackSize(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetStorageFilterStackSize(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_AddRetrievalFilterEntries(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).AddRetrievalFilterEntries(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetRetrievalFilter(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER, pFilterByteLength: ?*usize) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter, pFilterByteLength);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_ClearRetrievalFilter(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).ClearRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushEmptyRetrievalFilter(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushEmptyRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushCopyOfRetrievalFilter(self: *const T) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushCopyOfRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PushRetrievalFilter(self: *const T, pFilter: ?*D3D12_INFO_QUEUE_FILTER) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PushRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)), pFilter);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_PopRetrievalFilter(self: *const T) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).PopRetrievalFilter(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetRetrievalFilterStackSize(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetRetrievalFilterStackSize(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_AddMessage(self: *const T, Category: D3D12_MESSAGE_CATEGORY, Severity: D3D12_MESSAGE_SEVERITY, ID: D3D12_MESSAGE_ID, pDescription: ?[*:0]const u8) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).AddMessage(@as(*const ID3D12InfoQueue, @ptrCast(self)), Category, Severity, ID, pDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_AddApplicationMessage(self: *const T, Severity: D3D12_MESSAGE_SEVERITY, pDescription: ?[*:0]const u8) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).AddApplicationMessage(@as(*const ID3D12InfoQueue, @ptrCast(self)), Severity, pDescription);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_SetBreakOnCategory(self: *const T, Category: D3D12_MESSAGE_CATEGORY, bEnable: BOOL) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).SetBreakOnCategory(@as(*const ID3D12InfoQueue, @ptrCast(self)), Category, bEnable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_SetBreakOnSeverity(self: *const T, Severity: D3D12_MESSAGE_SEVERITY, bEnable: BOOL) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).SetBreakOnSeverity(@as(*const ID3D12InfoQueue, @ptrCast(self)), Severity, bEnable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_SetBreakOnID(self: *const T, ID: D3D12_MESSAGE_ID, bEnable: BOOL) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).SetBreakOnID(@as(*const ID3D12InfoQueue, @ptrCast(self)), ID, bEnable);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetBreakOnCategory(self: *const T, Category: D3D12_MESSAGE_CATEGORY) callconv(.Inline) BOOL {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetBreakOnCategory(@as(*const ID3D12InfoQueue, @ptrCast(self)), Category);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetBreakOnSeverity(self: *const T, Severity: D3D12_MESSAGE_SEVERITY) callconv(.Inline) BOOL {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetBreakOnSeverity(@as(*const ID3D12InfoQueue, @ptrCast(self)), Severity);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetBreakOnID(self: *const T, ID: D3D12_MESSAGE_ID) callconv(.Inline) BOOL {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetBreakOnID(@as(*const ID3D12InfoQueue, @ptrCast(self)), ID);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_SetMuteDebugOutput(self: *const T, bMute: BOOL) callconv(.Inline) void {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).SetMuteDebugOutput(@as(*const ID3D12InfoQueue, @ptrCast(self)), bMute);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue_GetMuteDebugOutput(self: *const T) callconv(.Inline) BOOL {
return @as(*const ID3D12InfoQueue.VTable, @ptrCast(self.vtable)).GetMuteDebugOutput(@as(*const ID3D12InfoQueue, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_MESSAGE_CALLBACK_FLAGS = enum(i32) {
FLAG_NONE = 0,
IGNORE_FILTERS = 1,
};
pub const D3D12_MESSAGE_CALLBACK_FLAG_NONE = D3D12_MESSAGE_CALLBACK_FLAGS.FLAG_NONE;
pub const D3D12_MESSAGE_CALLBACK_IGNORE_FILTERS = D3D12_MESSAGE_CALLBACK_FLAGS.IGNORE_FILTERS;
pub const D3D12MessageFunc = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Category: D3D12_MESSAGE_CATEGORY,
Severity: D3D12_MESSAGE_SEVERITY,
ID: D3D12_MESSAGE_ID,
pDescription: ?[*:0]const u8,
pContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
Category: D3D12_MESSAGE_CATEGORY,
Severity: D3D12_MESSAGE_SEVERITY,
ID: D3D12_MESSAGE_ID,
pDescription: ?[*:0]const u8,
pContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
// This COM type is Agile, not sure what that means
const IID_ID3D12InfoQueue1_Value = Guid.initString("2852dd88-b484-4c0c-b6b1-67168500e600");
pub const IID_ID3D12InfoQueue1 = &IID_ID3D12InfoQueue1_Value;
pub const ID3D12InfoQueue1 = extern struct {
pub const VTable = extern struct {
base: ID3D12InfoQueue.VTable,
RegisterMessageCallback: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue1,
CallbackFunc: ?D3D12MessageFunc,
CallbackFilterFlags: D3D12_MESSAGE_CALLBACK_FLAGS,
pContext: ?*anyopaque,
pCallbackCookie: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue1,
CallbackFunc: ?D3D12MessageFunc,
CallbackFilterFlags: D3D12_MESSAGE_CALLBACK_FLAGS,
pContext: ?*anyopaque,
pCallbackCookie: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
UnregisterMessageCallback: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12InfoQueue1,
CallbackCookie: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12InfoQueue1,
CallbackCookie: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12InfoQueue.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue1_RegisterMessageCallback(self: *const T, CallbackFunc: ?D3D12MessageFunc, CallbackFilterFlags: D3D12_MESSAGE_CALLBACK_FLAGS, pContext: ?*anyopaque, pCallbackCookie: ?*u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue1.VTable, @ptrCast(self.vtable)).RegisterMessageCallback(@as(*const ID3D12InfoQueue1, @ptrCast(self)), CallbackFunc, CallbackFilterFlags, pContext, pCallbackCookie);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12InfoQueue1_UnregisterMessageCallback(self: *const T, CallbackCookie: u32) callconv(.Inline) HRESULT {
return @as(*const ID3D12InfoQueue1.VTable, @ptrCast(self.vtable)).UnregisterMessageCallback(@as(*const ID3D12InfoQueue1, @ptrCast(self)), CallbackCookie);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const PFN_D3D12_CREATE_DEVICE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*IUnknown,
param1: D3D_FEATURE_LEVEL,
param2: ?*const Guid,
param3: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
param0: ?*IUnknown,
param1: D3D_FEATURE_LEVEL,
param2: ?*const Guid,
param3: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const PFN_D3D12_GET_DEBUG_INTERFACE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*const Guid,
param1: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
param0: ?*const Guid,
param1: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
pub const PFN_D3D12_GET_INTERFACE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
param0: ?*const Guid,
param1: ?*const Guid,
param2: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
param0: ?*const Guid,
param1: ?*const Guid,
param2: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
} ;
// This COM type is Agile, not sure what that means
const IID_ID3D12SDKConfiguration_Value = Guid.initString("e9eb5314-33aa-42b2-a718-d77f58b1f1c7");
pub const IID_ID3D12SDKConfiguration = &IID_ID3D12SDKConfiguration_Value;
pub const ID3D12SDKConfiguration = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
SetSDKVersion: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12SDKConfiguration,
SDKVersion: u32,
SDKPath: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12SDKConfiguration,
SDKVersion: u32,
SDKPath: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12SDKConfiguration_SetSDKVersion(self: *const T, SDKVersion: u32, SDKPath: ?[*:0]const u8) callconv(.Inline) HRESULT {
return @as(*const ID3D12SDKConfiguration.VTable, @ptrCast(self.vtable)).SetSDKVersion(@as(*const ID3D12SDKConfiguration, @ptrCast(self)), SDKVersion, SDKPath);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_AXIS_SHADING_RATE = enum(i32) {
@"1X" = 0,
@"2X" = 1,
@"4X" = 2,
};
pub const D3D12_AXIS_SHADING_RATE_1X = D3D12_AXIS_SHADING_RATE.@"1X";
pub const D3D12_AXIS_SHADING_RATE_2X = D3D12_AXIS_SHADING_RATE.@"2X";
pub const D3D12_AXIS_SHADING_RATE_4X = D3D12_AXIS_SHADING_RATE.@"4X";
pub const D3D12_SHADING_RATE = enum(i32) {
@"1X1" = 0,
@"1X2" = 1,
@"2X1" = 4,
@"2X2" = 5,
@"2X4" = 6,
@"4X2" = 9,
@"4X4" = 10,
};
pub const D3D12_SHADING_RATE_1X1 = D3D12_SHADING_RATE.@"1X1";
pub const D3D12_SHADING_RATE_1X2 = D3D12_SHADING_RATE.@"1X2";
pub const D3D12_SHADING_RATE_2X1 = D3D12_SHADING_RATE.@"2X1";
pub const D3D12_SHADING_RATE_2X2 = D3D12_SHADING_RATE.@"2X2";
pub const D3D12_SHADING_RATE_2X4 = D3D12_SHADING_RATE.@"2X4";
pub const D3D12_SHADING_RATE_4X2 = D3D12_SHADING_RATE.@"4X2";
pub const D3D12_SHADING_RATE_4X4 = D3D12_SHADING_RATE.@"4X4";
pub const D3D12_SHADING_RATE_COMBINER = enum(i32) {
PASSTHROUGH = 0,
OVERRIDE = 1,
MIN = 2,
MAX = 3,
SUM = 4,
};
pub const D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = D3D12_SHADING_RATE_COMBINER.PASSTHROUGH;
pub const D3D12_SHADING_RATE_COMBINER_OVERRIDE = D3D12_SHADING_RATE_COMBINER.OVERRIDE;
pub const D3D12_SHADING_RATE_COMBINER_MIN = D3D12_SHADING_RATE_COMBINER.MIN;
pub const D3D12_SHADING_RATE_COMBINER_MAX = D3D12_SHADING_RATE_COMBINER.MAX;
pub const D3D12_SHADING_RATE_COMBINER_SUM = D3D12_SHADING_RATE_COMBINER.SUM;
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList5_Value = Guid.initString("55050859-4024-474c-87f5-6472eaee44ea");
pub const IID_ID3D12GraphicsCommandList5 = &IID_ID3D12GraphicsCommandList5_Value;
pub const ID3D12GraphicsCommandList5 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList4.VTable,
RSSetShadingRate: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList5,
baseShadingRate: D3D12_SHADING_RATE,
combiners: ?*const D3D12_SHADING_RATE_COMBINER,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList5,
baseShadingRate: D3D12_SHADING_RATE,
combiners: ?*const D3D12_SHADING_RATE_COMBINER,
) callconv(@import("std").os.windows.WINAPI) void,
},
RSSetShadingRateImage: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList5,
shadingRateImage: ?*ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList5,
shadingRateImage: ?*ID3D12Resource,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList4.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList5_RSSetShadingRate(self: *const T, baseShadingRate: D3D12_SHADING_RATE, combiners: ?*const D3D12_SHADING_RATE_COMBINER) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList5.VTable, @ptrCast(self.vtable)).RSSetShadingRate(@as(*const ID3D12GraphicsCommandList5, @ptrCast(self)), baseShadingRate, combiners);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList5_RSSetShadingRateImage(self: *const T, shadingRateImage: ?*ID3D12Resource) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList5.VTable, @ptrCast(self.vtable)).RSSetShadingRateImage(@as(*const ID3D12GraphicsCommandList5, @ptrCast(self)), shadingRateImage);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_DISPATCH_MESH_ARGUMENTS = extern struct {
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12GraphicsCommandList6_Value = Guid.initString("c3827890-e548-4cfa-96cf-5689a9370f80");
pub const IID_ID3D12GraphicsCommandList6 = &IID_ID3D12GraphicsCommandList6_Value;
pub const ID3D12GraphicsCommandList6 = extern struct {
pub const VTable = extern struct {
base: ID3D12GraphicsCommandList5.VTable,
DispatchMesh: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12GraphicsCommandList6,
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
self: *const ID3D12GraphicsCommandList6,
ThreadGroupCountX: u32,
ThreadGroupCountY: u32,
ThreadGroupCountZ: u32,
) callconv(@import("std").os.windows.WINAPI) void,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace ID3D12GraphicsCommandList5.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12GraphicsCommandList6_DispatchMesh(self: *const T, ThreadGroupCountX: u32, ThreadGroupCountY: u32, ThreadGroupCountZ: u32) callconv(.Inline) void {
return @as(*const ID3D12GraphicsCommandList6.VTable, @ptrCast(self.vtable)).DispatchMesh(@as(*const ID3D12GraphicsCommandList6, @ptrCast(self)), ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const D3D12_SHADER_VERSION_TYPE = enum(i32) {
PIXEL_SHADER = 0,
VERTEX_SHADER = 1,
GEOMETRY_SHADER = 2,
HULL_SHADER = 3,
DOMAIN_SHADER = 4,
COMPUTE_SHADER = 5,
RESERVED0 = 65520,
};
pub const D3D12_SHVER_PIXEL_SHADER = D3D12_SHADER_VERSION_TYPE.PIXEL_SHADER;
pub const D3D12_SHVER_VERTEX_SHADER = D3D12_SHADER_VERSION_TYPE.VERTEX_SHADER;
pub const D3D12_SHVER_GEOMETRY_SHADER = D3D12_SHADER_VERSION_TYPE.GEOMETRY_SHADER;
pub const D3D12_SHVER_HULL_SHADER = D3D12_SHADER_VERSION_TYPE.HULL_SHADER;
pub const D3D12_SHVER_DOMAIN_SHADER = D3D12_SHADER_VERSION_TYPE.DOMAIN_SHADER;
pub const D3D12_SHVER_COMPUTE_SHADER = D3D12_SHADER_VERSION_TYPE.COMPUTE_SHADER;
pub const D3D12_SHVER_RESERVED0 = D3D12_SHADER_VERSION_TYPE.RESERVED0;
pub const D3D12_SIGNATURE_PARAMETER_DESC = extern struct {
SemanticName: ?[*:0]const u8,
SemanticIndex: u32,
Register: u32,
SystemValueType: D3D_NAME,
ComponentType: D3D_REGISTER_COMPONENT_TYPE,
Mask: u8,
ReadWriteMask: u8,
Stream: u32,
MinPrecision: D3D_MIN_PRECISION,
};
pub const D3D12_SHADER_BUFFER_DESC = extern struct {
Name: ?[*:0]const u8,
Type: D3D_CBUFFER_TYPE,
Variables: u32,
Size: u32,
uFlags: u32,
};
pub const D3D12_SHADER_VARIABLE_DESC = extern struct {
Name: ?[*:0]const u8,
StartOffset: u32,
Size: u32,
uFlags: u32,
DefaultValue: ?*anyopaque,
StartTexture: u32,
TextureSize: u32,
StartSampler: u32,
SamplerSize: u32,
};
pub const D3D12_SHADER_TYPE_DESC = extern struct {
Class: D3D_SHADER_VARIABLE_CLASS,
Type: D3D_SHADER_VARIABLE_TYPE,
Rows: u32,
Columns: u32,
Elements: u32,
Members: u32,
Offset: u32,
Name: ?[*:0]const u8,
};
pub const D3D12_SHADER_DESC = extern struct {
Version: u32,
Creator: ?[*:0]const u8,
Flags: u32,
ConstantBuffers: u32,
BoundResources: u32,
InputParameters: u32,
OutputParameters: u32,
InstructionCount: u32,
TempRegisterCount: u32,
TempArrayCount: u32,
DefCount: u32,
DclCount: u32,
TextureNormalInstructions: u32,
TextureLoadInstructions: u32,
TextureCompInstructions: u32,
TextureBiasInstructions: u32,
TextureGradientInstructions: u32,
FloatInstructionCount: u32,
IntInstructionCount: u32,
UintInstructionCount: u32,
StaticFlowControlCount: u32,
DynamicFlowControlCount: u32,
MacroInstructionCount: u32,
ArrayInstructionCount: u32,
CutInstructionCount: u32,
EmitInstructionCount: u32,
GSOutputTopology: D3D_PRIMITIVE_TOPOLOGY,
GSMaxOutputVertexCount: u32,
InputPrimitive: D3D_PRIMITIVE,
PatchConstantParameters: u32,
cGSInstanceCount: u32,
cControlPoints: u32,
HSOutputPrimitive: D3D_TESSELLATOR_OUTPUT_PRIMITIVE,
HSPartitioning: D3D_TESSELLATOR_PARTITIONING,
TessellatorDomain: D3D_TESSELLATOR_DOMAIN,
cBarrierInstructions: u32,
cInterlockedInstructions: u32,
cTextureStoreInstructions: u32,
};
pub const D3D12_SHADER_INPUT_BIND_DESC = extern struct {
Name: ?[*:0]const u8,
Type: D3D_SHADER_INPUT_TYPE,
BindPoint: u32,
BindCount: u32,
uFlags: u32,
ReturnType: D3D_RESOURCE_RETURN_TYPE,
Dimension: D3D_SRV_DIMENSION,
NumSamples: u32,
Space: u32,
uID: u32,
};
pub const D3D12_LIBRARY_DESC = extern struct {
Creator: ?[*:0]const u8,
Flags: u32,
FunctionCount: u32,
};
pub const D3D12_FUNCTION_DESC = extern struct {
Version: u32,
Creator: ?[*:0]const u8,
Flags: u32,
ConstantBuffers: u32,
BoundResources: u32,
InstructionCount: u32,
TempRegisterCount: u32,
TempArrayCount: u32,
DefCount: u32,
DclCount: u32,
TextureNormalInstructions: u32,
TextureLoadInstructions: u32,
TextureCompInstructions: u32,
TextureBiasInstructions: u32,
TextureGradientInstructions: u32,
FloatInstructionCount: u32,
IntInstructionCount: u32,
UintInstructionCount: u32,
StaticFlowControlCount: u32,
DynamicFlowControlCount: u32,
MacroInstructionCount: u32,
ArrayInstructionCount: u32,
MovInstructionCount: u32,
MovcInstructionCount: u32,
ConversionInstructionCount: u32,
BitwiseInstructionCount: u32,
MinFeatureLevel: D3D_FEATURE_LEVEL,
RequiredFeatureFlags: u64,
Name: ?[*:0]const u8,
FunctionParameterCount: i32,
HasReturn: BOOL,
Has10Level9VertexShader: BOOL,
Has10Level9PixelShader: BOOL,
};
pub const D3D12_PARAMETER_DESC = extern struct {
Name: ?[*:0]const u8,
SemanticName: ?[*:0]const u8,
Type: D3D_SHADER_VARIABLE_TYPE,
Class: D3D_SHADER_VARIABLE_CLASS,
Rows: u32,
Columns: u32,
InterpolationMode: D3D_INTERPOLATION_MODE,
Flags: D3D_PARAMETER_FLAGS,
FirstInRegister: u32,
FirstInComponent: u32,
FirstOutRegister: u32,
FirstOutComponent: u32,
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ShaderReflectionType_Value = Guid.initString("e913c351-783d-48ca-a1d1-4f306284ad56");
pub const IID_ID3D12ShaderReflectionType = &IID_ID3D12ShaderReflectionType_Value;
pub const ID3D12ShaderReflectionType = extern struct {
pub const VTable = extern struct {
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
pDesc: ?*D3D12_SHADER_TYPE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
pDesc: ?*D3D12_SHADER_TYPE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetMemberTypeByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
GetMemberTypeByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
GetMemberTypeName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?PSTR,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?PSTR,
},
IsEqual: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
pType: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
pType: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSubType: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
GetBaseClass: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
GetNumInterfaces: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetInterfaceByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
uIndex: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
uIndex: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
IsOfType: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
pType: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
pType: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ImplementsInterface: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionType,
pBase: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionType,
pBase: ?*ID3D12ShaderReflectionType,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetDesc(self: *const T, pDesc: ?*D3D12_SHADER_TYPE_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetMemberTypeByIndex(self: *const T, Index: u32) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetMemberTypeByIndex(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetMemberTypeByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetMemberTypeByName(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), Name);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetMemberTypeName(self: *const T, Index: u32) callconv(.Inline) ?PSTR {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetMemberTypeName(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_IsEqual(self: *const T, pType: ?*ID3D12ShaderReflectionType) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).IsEqual(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), pType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetSubType(self: *const T) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetSubType(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetBaseClass(self: *const T) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetBaseClass(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetNumInterfaces(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetNumInterfaces(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_GetInterfaceByIndex(self: *const T, uIndex: u32) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).GetInterfaceByIndex(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), uIndex);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_IsOfType(self: *const T, pType: ?*ID3D12ShaderReflectionType) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).IsOfType(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), pType);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionType_ImplementsInterface(self: *const T, pBase: ?*ID3D12ShaderReflectionType) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionType.VTable, @ptrCast(self.vtable)).ImplementsInterface(@as(*const ID3D12ShaderReflectionType, @ptrCast(self)), pBase);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ShaderReflectionVariable_Value = Guid.initString("8337a8a6-a216-444a-b2f4-314733a73aea");
pub const IID_ID3D12ShaderReflectionVariable = &IID_ID3D12ShaderReflectionVariable_Value;
pub const ID3D12ShaderReflectionVariable = extern struct {
pub const VTable = extern struct {
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionVariable,
pDesc: ?*D3D12_SHADER_VARIABLE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionVariable,
pDesc: ?*D3D12_SHADER_VARIABLE_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetType: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionVariable,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
else => *const fn(
self: *const ID3D12ShaderReflectionVariable,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionType,
},
GetBuffer: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionVariable,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
else => *const fn(
self: *const ID3D12ShaderReflectionVariable,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
},
GetInterfaceSlot: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionVariable,
uArrayIndex: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflectionVariable,
uArrayIndex: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionVariable_GetDesc(self: *const T, pDesc: ?*D3D12_SHADER_VARIABLE_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionVariable.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ShaderReflectionVariable, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionVariable_GetType(self: *const T) callconv(.Inline) ?*ID3D12ShaderReflectionType {
return @as(*const ID3D12ShaderReflectionVariable.VTable, @ptrCast(self.vtable)).GetType(@as(*const ID3D12ShaderReflectionVariable, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionVariable_GetBuffer(self: *const T) callconv(.Inline) ?*ID3D12ShaderReflectionConstantBuffer {
return @as(*const ID3D12ShaderReflectionVariable.VTable, @ptrCast(self.vtable)).GetBuffer(@as(*const ID3D12ShaderReflectionVariable, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionVariable_GetInterfaceSlot(self: *const T, uArrayIndex: u32) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflectionVariable.VTable, @ptrCast(self.vtable)).GetInterfaceSlot(@as(*const ID3D12ShaderReflectionVariable, @ptrCast(self)), uArrayIndex);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ShaderReflectionConstantBuffer_Value = Guid.initString("c59598b4-48b3-4869-b9b1-b1618b14a8b7");
pub const IID_ID3D12ShaderReflectionConstantBuffer = &IID_ID3D12ShaderReflectionConstantBuffer_Value;
pub const ID3D12ShaderReflectionConstantBuffer = extern struct {
pub const VTable = extern struct {
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
pDesc: ?*D3D12_SHADER_BUFFER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
pDesc: ?*D3D12_SHADER_BUFFER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetVariableByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
else => *const fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
},
GetVariableByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
else => *const fn(
self: *const ID3D12ShaderReflectionConstantBuffer,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionConstantBuffer_GetDesc(self: *const T, pDesc: ?*D3D12_SHADER_BUFFER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflectionConstantBuffer.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ShaderReflectionConstantBuffer, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionConstantBuffer_GetVariableByIndex(self: *const T, Index: u32) callconv(.Inline) ?*ID3D12ShaderReflectionVariable {
return @as(*const ID3D12ShaderReflectionConstantBuffer.VTable, @ptrCast(self.vtable)).GetVariableByIndex(@as(*const ID3D12ShaderReflectionConstantBuffer, @ptrCast(self)), Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflectionConstantBuffer_GetVariableByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionVariable {
return @as(*const ID3D12ShaderReflectionConstantBuffer.VTable, @ptrCast(self.vtable)).GetVariableByName(@as(*const ID3D12ShaderReflectionConstantBuffer, @ptrCast(self)), Name);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12ShaderReflection_Value = Guid.initString("5a58797d-a72c-478d-8ba2-efc6b0efe88e");
pub const IID_ID3D12ShaderReflection = &IID_ID3D12ShaderReflection_Value;
pub const ID3D12ShaderReflection = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
pDesc: ?*D3D12_SHADER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
pDesc: ?*D3D12_SHADER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetConstantBufferByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
else => *const fn(
self: *const ID3D12ShaderReflection,
Index: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
},
GetConstantBufferByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
else => *const fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
},
GetResourceBindingDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
ResourceIndex: u32,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
ResourceIndex: u32,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetInputParameterDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetOutputParameterDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetPatchConstantParameterDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
ParameterIndex: u32,
pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetVariableByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
else => *const fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
},
GetResourceBindingDescByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
Name: ?[*:0]const u8,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetMovInstructionCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetMovcInstructionCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetConversionInstructionCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetBitwiseInstructionCount: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetGSInputPrimitive: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) D3D_PRIMITIVE,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) D3D_PRIMITIVE,
},
IsSampleFrequencyShader: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) BOOL,
},
GetNumInterfaceSlots: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetMinFeatureLevel: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
pLevel: ?*D3D_FEATURE_LEVEL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12ShaderReflection,
pLevel: ?*D3D_FEATURE_LEVEL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetThreadGroupSize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
pSizeX: ?*u32,
pSizeY: ?*u32,
pSizeZ: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
self: *const ID3D12ShaderReflection,
pSizeX: ?*u32,
pSizeY: ?*u32,
pSizeZ: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
},
GetRequiresFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u64,
else => *const fn(
self: *const ID3D12ShaderReflection,
) callconv(@import("std").os.windows.WINAPI) u64,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetDesc(self: *const T, pDesc: ?*D3D12_SHADER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12ShaderReflection, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetConstantBufferByIndex(self: *const T, Index: u32) callconv(.Inline) ?*ID3D12ShaderReflectionConstantBuffer {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetConstantBufferByIndex(@as(*const ID3D12ShaderReflection, @ptrCast(self)), Index);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetConstantBufferByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionConstantBuffer {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetConstantBufferByName(@as(*const ID3D12ShaderReflection, @ptrCast(self)), Name);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetResourceBindingDesc(self: *const T, ResourceIndex: u32, pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetResourceBindingDesc(@as(*const ID3D12ShaderReflection, @ptrCast(self)), ResourceIndex, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetInputParameterDesc(self: *const T, ParameterIndex: u32, pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetInputParameterDesc(@as(*const ID3D12ShaderReflection, @ptrCast(self)), ParameterIndex, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetOutputParameterDesc(self: *const T, ParameterIndex: u32, pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetOutputParameterDesc(@as(*const ID3D12ShaderReflection, @ptrCast(self)), ParameterIndex, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetPatchConstantParameterDesc(self: *const T, ParameterIndex: u32, pDesc: ?*D3D12_SIGNATURE_PARAMETER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetPatchConstantParameterDesc(@as(*const ID3D12ShaderReflection, @ptrCast(self)), ParameterIndex, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetVariableByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionVariable {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetVariableByName(@as(*const ID3D12ShaderReflection, @ptrCast(self)), Name);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetResourceBindingDescByName(self: *const T, Name: ?[*:0]const u8, pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetResourceBindingDescByName(@as(*const ID3D12ShaderReflection, @ptrCast(self)), Name, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetMovInstructionCount(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetMovInstructionCount(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetMovcInstructionCount(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetMovcInstructionCount(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetConversionInstructionCount(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetConversionInstructionCount(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetBitwiseInstructionCount(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetBitwiseInstructionCount(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetGSInputPrimitive(self: *const T) callconv(.Inline) D3D_PRIMITIVE {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetGSInputPrimitive(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_IsSampleFrequencyShader(self: *const T) callconv(.Inline) BOOL {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).IsSampleFrequencyShader(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetNumInterfaceSlots(self: *const T) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetNumInterfaceSlots(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetMinFeatureLevel(self: *const T, pLevel: ?*D3D_FEATURE_LEVEL) callconv(.Inline) HRESULT {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetMinFeatureLevel(@as(*const ID3D12ShaderReflection, @ptrCast(self)), pLevel);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetThreadGroupSize(self: *const T, pSizeX: ?*u32, pSizeY: ?*u32, pSizeZ: ?*u32) callconv(.Inline) u32 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetThreadGroupSize(@as(*const ID3D12ShaderReflection, @ptrCast(self)), pSizeX, pSizeY, pSizeZ);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12ShaderReflection_GetRequiresFlags(self: *const T) callconv(.Inline) u64 {
return @as(*const ID3D12ShaderReflection.VTable, @ptrCast(self.vtable)).GetRequiresFlags(@as(*const ID3D12ShaderReflection, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12LibraryReflection_Value = Guid.initString("8e349d19-54db-4a56-9dc9-119d87bdb804");
pub const IID_ID3D12LibraryReflection = &IID_ID3D12LibraryReflection_Value;
pub const ID3D12LibraryReflection = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12LibraryReflection,
pDesc: ?*D3D12_LIBRARY_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12LibraryReflection,
pDesc: ?*D3D12_LIBRARY_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFunctionByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12LibraryReflection,
FunctionIndex: i32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12FunctionReflection,
else => *const fn(
self: *const ID3D12LibraryReflection,
FunctionIndex: i32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12FunctionReflection,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12LibraryReflection_GetDesc(self: *const T, pDesc: ?*D3D12_LIBRARY_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12LibraryReflection.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12LibraryReflection, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12LibraryReflection_GetFunctionByIndex(self: *const T, FunctionIndex: i32) callconv(.Inline) ?*ID3D12FunctionReflection {
return @as(*const ID3D12LibraryReflection.VTable, @ptrCast(self.vtable)).GetFunctionByIndex(@as(*const ID3D12LibraryReflection, @ptrCast(self)), FunctionIndex);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12FunctionReflection_Value = Guid.initString("1108795c-2772-4ba9-b2a8-d464dc7e2799");
pub const IID_ID3D12FunctionReflection = &IID_ID3D12FunctionReflection_Value;
pub const ID3D12FunctionReflection = extern struct {
pub const VTable = extern struct {
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
pDesc: ?*D3D12_FUNCTION_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12FunctionReflection,
pDesc: ?*D3D12_FUNCTION_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetConstantBufferByIndex: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
BufferIndex: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
else => *const fn(
self: *const ID3D12FunctionReflection,
BufferIndex: u32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
},
GetConstantBufferByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
else => *const fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionConstantBuffer,
},
GetResourceBindingDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
ResourceIndex: u32,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12FunctionReflection,
ResourceIndex: u32,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetVariableByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
else => *const fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12ShaderReflectionVariable,
},
GetResourceBindingDescByName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12FunctionReflection,
Name: ?[*:0]const u8,
pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetFunctionParameter: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionReflection,
ParameterIndex: i32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12FunctionParameterReflection,
else => *const fn(
self: *const ID3D12FunctionReflection,
ParameterIndex: i32,
) callconv(@import("std").os.windows.WINAPI) ?*ID3D12FunctionParameterReflection,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetDesc(self: *const T, pDesc: ?*D3D12_FUNCTION_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12FunctionReflection, @ptrCast(self)), pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetConstantBufferByIndex(self: *const T, BufferIndex: u32) callconv(.Inline) ?*ID3D12ShaderReflectionConstantBuffer {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetConstantBufferByIndex(@as(*const ID3D12FunctionReflection, @ptrCast(self)), BufferIndex);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetConstantBufferByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionConstantBuffer {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetConstantBufferByName(@as(*const ID3D12FunctionReflection, @ptrCast(self)), Name);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetResourceBindingDesc(self: *const T, ResourceIndex: u32, pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetResourceBindingDesc(@as(*const ID3D12FunctionReflection, @ptrCast(self)), ResourceIndex, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetVariableByName(self: *const T, Name: ?[*:0]const u8) callconv(.Inline) ?*ID3D12ShaderReflectionVariable {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetVariableByName(@as(*const ID3D12FunctionReflection, @ptrCast(self)), Name);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetResourceBindingDescByName(self: *const T, Name: ?[*:0]const u8, pDesc: ?*D3D12_SHADER_INPUT_BIND_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetResourceBindingDescByName(@as(*const ID3D12FunctionReflection, @ptrCast(self)), Name, pDesc);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionReflection_GetFunctionParameter(self: *const T, ParameterIndex: i32) callconv(.Inline) ?*ID3D12FunctionParameterReflection {
return @as(*const ID3D12FunctionReflection.VTable, @ptrCast(self.vtable)).GetFunctionParameter(@as(*const ID3D12FunctionReflection, @ptrCast(self)), ParameterIndex);
}
};}
pub usingnamespace MethodMixin(@This());
};
// This COM type is Agile, not sure what that means
const IID_ID3D12FunctionParameterReflection_Value = Guid.initString("ec25f42d-7006-4f2b-b33e-02cc3375733f");
pub const IID_ID3D12FunctionParameterReflection = &IID_ID3D12FunctionParameterReflection_Value;
pub const ID3D12FunctionParameterReflection = extern struct {
pub const VTable = extern struct {
GetDesc: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const ID3D12FunctionParameterReflection,
pDesc: ?*D3D12_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const ID3D12FunctionParameterReflection,
pDesc: ?*D3D12_PARAMETER_DESC,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn ID3D12FunctionParameterReflection_GetDesc(self: *const T, pDesc: ?*D3D12_PARAMETER_DESC) callconv(.Inline) HRESULT {
return @as(*const ID3D12FunctionParameterReflection.VTable, @ptrCast(self.vtable)).GetDesc(@as(*const ID3D12FunctionParameterReflection, @ptrCast(self)), pDesc);
}
};}
pub usingnamespace MethodMixin(@This());
};
//--------------------------------------------------------------------------------
// Section: Functions (8)
//--------------------------------------------------------------------------------
pub extern "d3d12" fn D3D12SerializeRootSignature(
pRootSignature: ?*const D3D12_ROOT_SIGNATURE_DESC,
Version: D3D_ROOT_SIGNATURE_VERSION,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12CreateRootSignatureDeserializer(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12SerializeVersionedRootSignature(
pRootSignature: ?*const D3D12_VERSIONED_ROOT_SIGNATURE_DESC,
ppBlob: ?*?*ID3DBlob,
ppErrorBlob: ?*?*ID3DBlob,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12CreateVersionedRootSignatureDeserializer(
// TODO: what to do with BytesParamIndex 1?
pSrcData: ?*const anyopaque,
SrcDataSizeInBytes: usize,
pRootSignatureDeserializerInterface: ?*const Guid,
ppRootSignatureDeserializer: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12CreateDevice(
pAdapter: ?*IUnknown,
MinimumFeatureLevel: D3D_FEATURE_LEVEL,
riid: ?*const Guid,
ppDevice: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12GetDebugInterface(
riid: ?*const Guid,
ppvDebug: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12EnableExperimentalFeatures(
NumFeatures: u32,
pIIDs: [*]const Guid,
pConfigurationStructs: ?[*]u8,
pConfigurationStructSizes: ?[*]u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "d3d12" fn D3D12GetInterface(
rclsid: ?*const Guid,
riid: ?*const Guid,
ppvDebug: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (0)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
},
.wide => struct {
},
.unspecified => if (@import("builtin").is_test) struct {
} else struct {
},
};
//--------------------------------------------------------------------------------
// Section: Imports (31)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const D3D_CBUFFER_TYPE = @import("../graphics/direct3d.zig").D3D_CBUFFER_TYPE;
const D3D_FEATURE_LEVEL = @import("../graphics/direct3d.zig").D3D_FEATURE_LEVEL;
const D3D_INTERPOLATION_MODE = @import("../graphics/direct3d.zig").D3D_INTERPOLATION_MODE;
const D3D_MIN_PRECISION = @import("../graphics/direct3d.zig").D3D_MIN_PRECISION;
const D3D_NAME = @import("../graphics/direct3d.zig").D3D_NAME;
const D3D_PARAMETER_FLAGS = @import("../graphics/direct3d.zig").D3D_PARAMETER_FLAGS;
const D3D_PRIMITIVE = @import("../graphics/direct3d.zig").D3D_PRIMITIVE;
const D3D_PRIMITIVE_TOPOLOGY = @import("../graphics/direct3d.zig").D3D_PRIMITIVE_TOPOLOGY;
const D3D_REGISTER_COMPONENT_TYPE = @import("../graphics/direct3d.zig").D3D_REGISTER_COMPONENT_TYPE;
const D3D_RESOURCE_RETURN_TYPE = @import("../graphics/direct3d.zig").D3D_RESOURCE_RETURN_TYPE;
const D3D_SHADER_INPUT_TYPE = @import("../graphics/direct3d.zig").D3D_SHADER_INPUT_TYPE;
const D3D_SHADER_VARIABLE_CLASS = @import("../graphics/direct3d.zig").D3D_SHADER_VARIABLE_CLASS;
const D3D_SHADER_VARIABLE_TYPE = @import("../graphics/direct3d.zig").D3D_SHADER_VARIABLE_TYPE;
const D3D_SRV_DIMENSION = @import("../graphics/direct3d.zig").D3D_SRV_DIMENSION;
const D3D_TESSELLATOR_DOMAIN = @import("../graphics/direct3d.zig").D3D_TESSELLATOR_DOMAIN;
const D3D_TESSELLATOR_OUTPUT_PRIMITIVE = @import("../graphics/direct3d.zig").D3D_TESSELLATOR_OUTPUT_PRIMITIVE;
const D3D_TESSELLATOR_PARTITIONING = @import("../graphics/direct3d.zig").D3D_TESSELLATOR_PARTITIONING;
const DXGI_FORMAT = @import("../graphics/dxgi/common.zig").DXGI_FORMAT;
const DXGI_SAMPLE_DESC = @import("../graphics/dxgi/common.zig").DXGI_SAMPLE_DESC;
const HANDLE = @import("../foundation.zig").HANDLE;
const HRESULT = @import("../foundation.zig").HRESULT;
const HWND = @import("../foundation.zig").HWND;
const ID3DBlob = @import("../graphics/direct3d.zig").ID3DBlob;
const IUnknown = @import("../system/com.zig").IUnknown;
const LUID = @import("../foundation.zig").LUID;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const RECT = @import("../foundation.zig").RECT;
const SECURITY_ATTRIBUTES = @import("../security.zig").SECURITY_ATTRIBUTES;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PFN_D3D12_SERIALIZE_ROOT_SIGNATURE")) { _ = PFN_D3D12_SERIALIZE_ROOT_SIGNATURE; }
if (@hasDecl(@This(), "PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER")) { _ = PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER; }
if (@hasDecl(@This(), "PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE")) { _ = PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE; }
if (@hasDecl(@This(), "PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER")) { _ = PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER; }
if (@hasDecl(@This(), "D3D12MessageFunc")) { _ = D3D12MessageFunc; }
if (@hasDecl(@This(), "PFN_D3D12_CREATE_DEVICE")) { _ = PFN_D3D12_CREATE_DEVICE; }
if (@hasDecl(@This(), "PFN_D3D12_GET_DEBUG_INTERFACE")) { _ = PFN_D3D12_GET_DEBUG_INTERFACE; }
if (@hasDecl(@This(), "PFN_D3D12_GET_INTERFACE")) { _ = PFN_D3D12_GET_INTERFACE; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}