Add vendor:directx packages: dxgi, d3d11, and d3d12

TODO: enums marked with `bit_set` may need conversions
This commit is contained in:
gingerBill
2022-02-16 21:26:34 +00:00
parent c76bdced55
commit 002ac6a1b7
8 changed files with 10569 additions and 0 deletions

View File

@@ -376,6 +376,9 @@ FILE_TYPE_DISK :: 0x0001
FILE_TYPE_CHAR :: 0x0002
FILE_TYPE_PIPE :: 0x0003
RECT :: struct {left, top, right, bottom: LONG}
POINT :: struct {x, y: LONG}
when size_of(uintptr) == 4 {
WSADATA :: struct {

3584
vendor/directx/d3d11/d3d11.odin vendored Normal file

File diff suppressed because it is too large Load Diff

5102
vendor/directx/d3d12/d3d12.odin vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,531 @@
package directx_d3d12
D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION :: 2048
D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION :: 4096
D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION :: 2048
D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION :: 4096
D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION :: 512
D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION :: 4096
D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION :: 256
D3D_FL9_1_DEFAULT_MAX_ANISOTROPY :: 2
D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT :: 65535
D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT :: 1048575
D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT :: 1
D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT :: 4
D3D_FL9_1_MAX_TEXTURE_REPEAT :: 128
D3D_FL9_2_MAX_TEXTURE_REPEAT :: 2048
D3D_FL9_3_MAX_TEXTURE_REPEAT :: 8192
D3D_COMPONENT_MASK_X :: 1
D3D_COMPONENT_MASK_Y :: 2
D3D_COMPONENT_MASK_Z :: 4
D3D_COMPONENT_MASK_W :: 8
D3D12_16BIT_INDEX_STRIP_CUT_VALUE :: 0xffff
D3D12_32BIT_INDEX_STRIP_CUT_VALUE :: 0xffffffff
D3D12_8BIT_INDEX_STRIP_CUT_VALUE :: 0xff
D3D12_APPEND_ALIGNED_ELEMENT :: 0xffffffff
D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT :: 9
D3D12_CLIP_OR_CULL_DISTANCE_COUNT :: 8
D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT :: 2
D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT :: 14
D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS :: 4
D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT :: 32
D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT :: 15
D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT :: 16
D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS :: 4
D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT :: 15
D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST :: 1
D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS :: 1
D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT :: 64
D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS :: 4
D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT :: 1
D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST :: 1
D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS :: 1
D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT :: 32
D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS :: 1
D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT :: 128
D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST :: 1
D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS :: 1
D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT :: 128
D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS :: 1
D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT :: 16
D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST :: 1
D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS :: 1
D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT :: 16
D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT :: 32
D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS :: 4
D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_COMMONSHADER_TEMP_REGISTER_COUNT :: 4096
D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST :: 3
D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS :: 3
D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX :: 10
D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN :: -10
D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE :: -8
D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE :: 7
D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT :: 256
D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 256
D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP :: 64
D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 240
D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP :: 68
D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 224
D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP :: 72
D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 208
D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP :: 76
D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 192
D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP :: 84
D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 176
D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP :: 92
D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 160
D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP :: 100
D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 144
D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP :: 112
D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 128
D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP :: 128
D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 112
D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP :: 144
D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 96
D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP :: 168
D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 80
D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP :: 204
D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 64
D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP :: 256
D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 48
D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP :: 340
D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 32
D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP :: 512
D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD :: 16
D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP :: 768
D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION :: 1
D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT :: 256
D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP :: 768
D3D12_CS_4_X_THREAD_GROUP_MAX_X :: 768
D3D12_CS_4_X_THREAD_GROUP_MAX_Y :: 768
D3D12_CS_4_X_UAV_REGISTER_COUNT :: 1
D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION :: 65535
D3D12_CS_TGSM_REGISTER_COUNT :: 8192
D3D12_CS_TGSM_REGISTER_READS_PER_INST :: 1
D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS :: 1
D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS :: 1
D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS :: 3
D3D12_CS_THREADGROUPID_REGISTER_COUNT :: 1
D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS :: 1
D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT :: 1
D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS :: 3
D3D12_CS_THREADIDINGROUP_REGISTER_COUNT :: 1
D3D12_CS_THREADID_REGISTER_COMPONENTS :: 3
D3D12_CS_THREADID_REGISTER_COUNT :: 1
D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP :: 1024
D3D12_CS_THREAD_GROUP_MAX_X :: 1024
D3D12_CS_THREAD_GROUP_MAX_Y :: 1024
D3D12_CS_THREAD_GROUP_MAX_Z :: 64
D3D12_CS_THREAD_GROUP_MIN_X :: 1
D3D12_CS_THREAD_GROUP_MIN_Y :: 1
D3D12_CS_THREAD_GROUP_MIN_Z :: 1
D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL :: 16384
D3D12_DEFAULT_BLEND_FACTOR_ALPHA :: 1.0
D3D12_DEFAULT_BLEND_FACTOR_BLUE :: 1.0
D3D12_DEFAULT_BLEND_FACTOR_GREEN :: 1.0
D3D12_DEFAULT_BLEND_FACTOR_RED :: 1.0
D3D12_DEFAULT_BORDER_COLOR_COMPONENT :: 0.0
D3D12_DEFAULT_DEPTH_BIAS :: 0
D3D12_DEFAULT_DEPTH_BIAS_CLAMP :: 0.0
D3D12_DEFAULT_MAX_ANISOTROPY :: 16
D3D12_DEFAULT_MIP_LOD_BIAS :: 0.0
D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT :: 4194304
D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX :: 0
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT :: 65536
D3D12_DEFAULT_SAMPLE_MASK :: 0xffffffff
D3D12_DEFAULT_SCISSOR_ENDX :: 0
D3D12_DEFAULT_SCISSOR_ENDY :: 0
D3D12_DEFAULT_SCISSOR_STARTX :: 0
D3D12_DEFAULT_SCISSOR_STARTY :: 0
D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS :: 0.0
D3D12_DEFAULT_STENCIL_READ_MASK :: 0xff
D3D12_DEFAULT_STENCIL_REFERENCE :: 0
D3D12_DEFAULT_STENCIL_WRITE_MASK :: 0xff
D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX :: 0
D3D12_DEFAULT_VIEWPORT_HEIGHT :: 0
D3D12_DEFAULT_VIEWPORT_MAX_DEPTH :: 0.0
D3D12_DEFAULT_VIEWPORT_MIN_DEPTH :: 0.0
D3D12_DEFAULT_VIEWPORT_TOPLEFTX :: 0
D3D12_DEFAULT_VIEWPORT_TOPLEFTY :: 0
D3D12_DEFAULT_VIEWPORT_WIDTH :: 0
D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND :: 0xffffffff
D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END :: 0xfffffff7
D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START :: 0xfffffff0
D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS :: 3968
D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS :: 4
D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT :: 32
D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST :: 2
D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS :: 1
D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS :: 3
D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT :: 1
D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST :: 2
D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS :: 1
D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS :: 4
D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT :: 32
D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST :: 2
D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS :: 1
D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS :: 1
D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT :: 1
D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST :: 2
D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS :: 1
D3D12_DS_OUTPUT_REGISTER_COMPONENTS :: 4
D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_DS_OUTPUT_REGISTER_COUNT :: 32
D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP :: 0.6
D3D12_FLOAT32_MAX :: 3.402823466e+38
D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP :: 0.6
D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR :: 2.4
D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR :: 1.0
D3D12_FLOAT_TO_SRGB_OFFSET :: 0.055
D3D12_FLOAT_TO_SRGB_SCALE_1 :: 12.92
D3D12_FLOAT_TO_SRGB_SCALE_2 :: 1.055
D3D12_FLOAT_TO_SRGB_THRESHOLD :: 0.0031308
D3D12_FTOI_INSTRUCTION_MAX_INPUT :: 2147483647.999
D3D12_FTOI_INSTRUCTION_MIN_INPUT :: -2147483648.999
D3D12_FTOU_INSTRUCTION_MAX_INPUT :: 4294967295.999
D3D12_FTOU_INSTRUCTION_MIN_INPUT :: 0.0
D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST :: 2
D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS :: 1
D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS :: 1
D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT :: 1
D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS :: 1
D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT :: 1
D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST :: 2
D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS :: 1
D3D12_GS_INPUT_REGISTER_COMPONENTS :: 4
D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_GS_INPUT_REGISTER_COUNT :: 32
D3D12_GS_INPUT_REGISTER_READS_PER_INST :: 2
D3D12_GS_INPUT_REGISTER_READ_PORTS :: 1
D3D12_GS_INPUT_REGISTER_VERTICES :: 32
D3D12_GS_MAX_INSTANCE_COUNT :: 32
D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES :: 1024
D3D12_GS_OUTPUT_ELEMENTS :: 32
D3D12_GS_OUTPUT_REGISTER_COMPONENTS :: 4
D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_GS_OUTPUT_REGISTER_COUNT :: 32
D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT :: 32
D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT :: 32
D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS :: 4
D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST :: 2
D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS :: 1
D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND :: 0xffffffff
D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS :: 1
D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT :: 1
D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST :: 2
D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS :: 1
D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS :: 1
D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT :: 1
D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST :: 2
D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS :: 1
D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS :: 1
D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT :: 1
D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST :: 2
D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS :: 1
D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND :: 0xffffffff
D3D12_HS_MAXTESSFACTOR_LOWER_BOUND :: 1.0
D3D12_HS_MAXTESSFACTOR_UPPER_BOUND :: 64.0
D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS :: 3968
D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS :: 1
D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT :: 1
D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST :: 2
D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS :: 1
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS :: 4
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT :: 32
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST :: 2
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS :: 1
D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS :: 128
D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES :: 0
D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY :: 0
D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES :: 0
D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT :: 1
D3D12_IA_INSTANCE_ID_BIT_COUNT :: 32
D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT :: 32
D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT :: 32
D3D12_IA_PRIMITIVE_ID_BIT_COUNT :: 32
D3D12_IA_VERTEX_ID_BIT_COUNT :: 32
D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT :: 32
D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS :: 128
D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT :: 32
D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT :: 0xffffffff
D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER :: 0xffffffff
D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL :: 0xffffffff
D3D12_KEEP_UNORDERED_ACCESS_VIEWS :: 0xffffffff
D3D12_LINEAR_GAMMA :: 1.0
D3D12_MAJOR_VERSION :: 12
D3D12_MAX_BORDER_COLOR_COMPONENT :: 1.0
D3D12_MAX_DEPTH :: 1.0
D3D12_MAX_LIVE_STATIC_SAMPLERS :: 2032
D3D12_MAX_MAXANISOTROPY :: 16
D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT :: 32
D3D12_MAX_POSITION_VALUE :: 3.402823466e+34D3D12_MAX_ROOT_COST :: 64
D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 :: 1000000
D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 :: 1000000
D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE :: 2048
D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP :: 17
D3D12_MAX_VIEW_INSTANCE_COUNT :: 4
D3D12_MINOR_VERSION :: 0
D3D12_MIN_BORDER_COLOR_COMPONENT :: 0.0
D3D12_MIN_DEPTH :: 0.0
D3D12_MIN_MAXANISOTROPY :: 0
D3D12_MIP_LOD_BIAS_MAX :: 15.99
D3D12_MIP_LOD_BIAS_MIN :: -16.0
D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT :: 8
D3D12_MIP_LOD_RANGE_BIT_COUNT :: 8
D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH :: 1.4
D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT :: 0
D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END :: 0xffffffff
D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START :: 0xfffffff8
D3D12_PACKED_TILE :: 0xffffffff
D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT :: 15
D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT :: 16
D3D12_PS_CS_UAV_REGISTER_COMPONENTS :: 1
D3D12_PS_CS_UAV_REGISTER_COUNT :: 8
D3D12_PS_CS_UAV_REGISTER_READS_PER_INST :: 1
D3D12_PS_CS_UAV_REGISTER_READ_PORTS :: 1
D3D12_PS_FRONTFACING_DEFAULT_VALUE :: 0xffffffff
D3D12_PS_FRONTFACING_FALSE_VALUE :: 0
D3D12_PS_FRONTFACING_TRUE_VALUE :: 0xffffffff
D3D12_PS_INPUT_REGISTER_COMPONENTS :: 4
D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_PS_INPUT_REGISTER_COUNT :: 32
D3D12_PS_INPUT_REGISTER_READS_PER_INST :: 2
D3D12_PS_INPUT_REGISTER_READ_PORTS :: 1
D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT :: 0.0
D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS :: 1
D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT :: 1
D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS :: 1
D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_PS_OUTPUT_MASK_REGISTER_COUNT :: 1
D3D12_PS_OUTPUT_REGISTER_COMPONENTS :: 4
D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_PS_OUTPUT_REGISTER_COUNT :: 8
D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT :: 0.5
D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT :: 16
D3D12_RAYTRACING_AABB_BYTE_ALIGNMENT :: 8
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT :: 256
D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT :: 16
D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES :: 32
D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH :: 31
D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE :: 16777216
D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE :: 16777216
D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE :: 536870912
D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS :: 1073741824
D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE :: 4096
D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT :: 32
D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT :: 64
D3D12_RAYTRACING_TRANSFORM3X4_BYTE_ALIGNMENT :: 16
D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE :: 4096
D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP :: 27
D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT :: 4096
D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE :: 4096
D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP :: 32
D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP :: 32
D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION :: 16384
D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT :: 1024
D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT :: 4096
D3D12_REQ_MAXANISOTROPY :: 16
D3D12_REQ_MIP_LEVELS :: 15
D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES :: 2048
D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE :: 4096
D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH :: 16384
D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM :: 128
D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM :: 0.25
D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM :: 2048
D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP :: 20
D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE :: 4096
D3D12_REQ_SUBRESOURCES :: 30720
D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION :: 2048
D3D12_REQ_TEXTURE1D_U_DIMENSION :: 16384
D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION :: 2048
D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION :: 16384
D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION :: 2048
D3D12_REQ_TEXTURECUBE_DIMENSION :: 16384
D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL :: 0
D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES :: 0xffffffff
D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT :: 2
D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES :: 32
D3D12_SHADER_MAJOR_VERSION :: 5
D3D12_SHADER_MAX_INSTANCES :: 65535
D3D12_SHADER_MAX_INTERFACES :: 253
D3D12_SHADER_MAX_INTERFACE_CALL_SITES :: 4096
D3D12_SHADER_MAX_TYPES :: 65535
D3D12_SHADER_MINOR_VERSION :: 1
D3D12_SHIFT_INSTRUCTION_PAD_VALUE :: 0
D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT :: 5
D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT :: 8
D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT :: 65536
D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT :: 4096
D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES :: 2048
D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES :: 512
D3D12_SO_BUFFER_SLOT_COUNT :: 4
D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP :: 0xffffffff
D3D12_SO_NO_RASTERIZED_STREAM :: 0xffffffff
D3D12_SO_OUTPUT_COMPONENT_COUNT :: 128
D3D12_SO_STREAM_COUNT :: 4
D3D12_SPEC_DATE_DAY :: 14
D3D12_SPEC_DATE_MONTH :: 11
D3D12_SPEC_DATE_YEAR :: 2014
D3D12_SPEC_VERSION :: 1.16
D3D12_SRGB_GAMMA :: 2.2
D3D12_SRGB_TO_FLOAT_DENOMINATOR_1 :: 12.92
D3D12_SRGB_TO_FLOAT_DENOMINATOR_2 :: 1.055
D3D12_SRGB_TO_FLOAT_EXPONENT :: 2.4
D3D12_SRGB_TO_FLOAT_OFFSET :: 0.055
D3D12_SRGB_TO_FLOAT_THRESHOLD :: 0.04045
D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP :: 0.5
D3D12_STANDARD_COMPONENT_BIT_COUNT :: 32
D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED :: 64
D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE :: 4
D3D12_STANDARD_PIXEL_COMPONENT_COUNT :: 128
D3D12_STANDARD_PIXEL_ELEMENT_COUNT :: 32
D3D12_STANDARD_VECTOR_SIZE :: 4
D3D12_STANDARD_VERTEX_ELEMENT_COUNT :: 32
D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT :: 64
D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT :: 8
D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT :: 8
D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END :: 0xffffffff
D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START :: 0xfffffff0
D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR :: 64
D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR :: 64
D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR :: 63
D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR :: 64
D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR :: 2
D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR :: 1
D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR :: 1
D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT :: 16
D3D12_TEXTURE_DATA_PITCH_ALIGNMENT :: 256
D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT :: 512
D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES :: 65536
D3D12_TRACKED_WORKLOAD_MAX_INSTANCES :: 32
D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT :: 4096
D3D12_UAV_SLOT_COUNT :: 64
D3D12_UNBOUND_MEMORY_ACCESS_RESULT :: 0
D3D12_VIDEO_DECODE_MAX_ARGUMENTS :: 10
D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS :: 4
D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT :: 256
D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT :: 256
D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN :: 0xffffffff
D3D12_VIDEO_PROCESS_MAX_FILTERS :: 32
D3D12_VIDEO_PROCESS_STEREO_VIEWS :: 2
D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX :: 15
D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE :: 16
D3D12_VIEWPORT_BOUNDS_MAX :: 32767
D3D12_VIEWPORT_BOUNDS_MIN :: -32768
D3D12_VS_INPUT_REGISTER_COMPONENTS :: 4
D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_VS_INPUT_REGISTER_COUNT :: 32
D3D12_VS_INPUT_REGISTER_READS_PER_INST :: 2
D3D12_VS_INPUT_REGISTER_READ_PORTS :: 1
D3D12_VS_OUTPUT_REGISTER_COMPONENTS :: 4
D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT :: 32
D3D12_VS_OUTPUT_REGISTER_COUNT :: 32
D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT :: 10
D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP :: 25
D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP :: 25
D3D12_SHADER_COMPONENT_MAPPING_MASK :: 0x7
D3D12_SHADER_COMPONENT_MAPPING_SHIFT :: 3
D3D12_FILTER_REDUCTION_TYPE_MASK :: 0x3
D3D12_FILTER_REDUCTION_TYPE_SHIFT :: 7
D3D12_FILTER_TYPE_MASK :: 0x3
D3D12_MIN_FILTER_SHIFT :: 4
D3D12_MAG_FILTER_SHIFT :: 2
D3D12_MIP_FILTER_SHIFT :: 0
D3D12_ANISOTROPIC_FILTERING_BIT :: 0x40
D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT :: 1024
D3D12_SHADING_RATE_X_AXIS_SHIFT :: 2
D3D12_SHADING_RATE_VALID_MASK :: 3
D3D_RETURN_PARAMETER_INDEX :: -1
D3D_SHADER_REQUIRES_DOUBLES :: 0x00000001
D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL :: 0x00000002
D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE :: 0x00000004
D3D_SHADER_REQUIRES_64_UAVS :: 0x00000008
D3D_SHADER_REQUIRES_MINIMUM_PRECISION :: 0x00000010
D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS :: 0x00000020
D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS :: 0x00000040
D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING :: 0x00000080
D3D_SHADER_REQUIRES_TILED_RESOURCES :: 0x00000100
D3D_SHADER_REQUIRES_STENCIL_REF :: 0x00000200
D3D_SHADER_REQUIRES_INNER_COVERAGE :: 0x00000400
D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS :: 0x00000800
D3D_SHADER_REQUIRES_ROVS :: 0x00001000
D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER :: 0x00002000

View File

@@ -0,0 +1,224 @@
package directx_d3d_compiler
foreign import d3dcompiler "d3dcompiler_47.lib"
D3DCOMPILER_DLL_A :: "d3dcompiler_47.dll"
COMPILER_VERSION :: 47
import "../dxgi"
BOOL :: dxgi.BOOL
IID :: dxgi.IID
SIZE_T :: dxgi.SIZE_T
HRESULT :: dxgi.HRESULT
IUnknown :: dxgi.IUnknown
IUnknown_VTable :: dxgi.IUnknown_VTable
@(default_calling_convention="stdcall", link_prefix="D3D")
foreign d3dcompiler {
ReadFileToBlob :: proc(pFileName: [^]u16, ppContents: ^^ID3DBlob) -> HRESULT ---
WriteBlobToFile :: proc(pBlob: ^ID3DBlob, pFileName: [^]u16, bOverwrite: BOOL) -> HRESULT ---
Compile :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, ppCode: ^^ID3DBlob, ppErrorMsgs: ^^ID3DBlob) -> HRESULT ---
Compile2 :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, SecondaryDataFlags: u32, pSecondaryData: rawptr, SecondaryDataSize: SIZE_T, ppCode: ^^ID3DBlob, ppErrorMsgs: ^^ID3DBlob) -> HRESULT ---
CompileFromFile :: proc(pFileName: [^]u16, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, pEntrypoint: cstring, pTarget: cstring, Flags1: u32, Flags2: u32, ppCode: ^^ID3DBlob, ppErrorMsgs: ^^ID3DBlob) -> HRESULT ---
Preprocess :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, pSourceName: cstring, pDefines: ^SHADER_MACRO, pInclude: ^ID3DInclude, ppCodeText: ^^ID3DBlob, ppErrorMsgs: ^^ID3DBlob) -> HRESULT ---
GetDebugInfo :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, ppDebugInfo: ^^ID3DBlob) -> HRESULT ---
Reflect :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, pInterface: ^IID, ppReflector: ^rawptr) -> HRESULT ---
ReflectLibrary :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, riid: ^IID, ppReflector: ^rawptr) -> HRESULT ---
Disassemble :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, Flags: u32, szComments: cstring, ppDisassembly: ^^ID3DBlob) -> HRESULT ---
DisassembleRegion :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, Flags: u32, szComments: cstring, StartByteOffset: SIZE_T, NumInsts: SIZE_T, pFinishByteOffset: ^SIZE_T, ppDisassembly: ^^ID3DBlob) -> HRESULT ---
CreateLinker :: proc(ppLinker: ^^ID3D11Linker) -> HRESULT ---
LoadModule :: proc(pSrcData: rawptr, cbSrcDataSize: SIZE_T, ppModule: ^^ID3D11Module) -> HRESULT ---
GetTraceInstructionOffsets :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, Flags: u32, StartInstIndex: SIZE_T, NumInsts: SIZE_T, pOffsets: ^SIZE_T, pTotalInsts: ^SIZE_T) -> HRESULT ---
GetInputSignatureBlob :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, ppSignatureBlob: ^^ID3DBlob) -> HRESULT ---
GetOutputSignatureBlob :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, ppSignatureBlob: ^^ID3DBlob) -> HRESULT ---
GetInputAndOutputSignatureBlob :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, ppSignatureBlob: ^^ID3DBlob) -> HRESULT ---
StripShader :: proc(pShaderBytecode: rawptr, BytecodeLength: SIZE_T, uStripFlags: u32, ppStrippedBlob: ^^ID3DBlob) -> HRESULT ---
GetBlobPart :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, Part: BLOB_PART, Flags: u32, ppPart: ^^ID3DBlob) -> HRESULT ---
SetBlobPart :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, Part: BLOB_PART, Flags: u32, pPart: rawptr, PartSize: SIZE_T, ppNewShader: ^^ID3DBlob) -> HRESULT ---
CreateBlob :: proc(Size: SIZE_T, ppBlob: ^^ID3DBlob) -> HRESULT ---
CompressShaders :: proc(uNumShaders: u32, pShaderData: ^SHADER_DATA, uFlags: u32, ppCompressedData: ^^ID3DBlob) -> HRESULT ---
DecompressShaders :: proc(pSrcData: rawptr, SrcDataSize: SIZE_T, uNumShaders: u32, uStartIndex: u32, pIndices: ^u32, uFlags: u32, ppShaders: ^^ID3DBlob, pTotalShaders: ^u32) -> HRESULT ---
Disassemble10Effect :: proc(pEffect: ^ID3D10Effect, Flags: u32, ppDisassembly: ^^ID3DBlob) -> HRESULT ---
}
D3DCOMPILE :: enum u32 { // TODO: make bit_field
DEBUG = 1 << 0,
SKIP_VALIDATION = 1 << 1,
SKIP_OPTIMIZATION = 1 << 2,
PACK_MATRIX_ROW_MAJOR = 1 << 3,
PACK_MATRIX_COLUMN_MAJOR = 1 << 4,
PARTIAL_PRECISION = 1 << 5,
FORCE_VS_SOFTWARE_NO_OPT = 1 << 6,
FORCE_PS_SOFTWARE_NO_OPT = 1 << 7,
NO_PRESHADER = 1 << 8,
AVOID_FLOW_CONTROL = 1 << 9,
PREFER_FLOW_CONTROL = 1 << 10,
ENABLE_STRICTNESS = 1 << 11,
ENABLE_BACKWARDS_COMPATIBILITY = 1 << 12,
IEEE_STRICTNESS = 1 << 13,
OPTIMIZATION_LEVEL0 = 1 << 14,
OPTIMIZATION_LEVEL1 = 0,
OPTIMIZATION_LEVEL2 = (1 << 14)|(1 << 15), // Added manually
OPTIMIZATION_LEVEL3 = 1 << 15,
RESERVED16 = 1 << 16,
RESERVED17 = 1 << 17,
WARNINGS_ARE_ERRORS = 1 << 18,
RESOURCES_MAY_ALIAS = 1 << 19,
ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 1 << 20,
ALL_RESOURCES_BOUND = 1 << 21,
DEBUG_NAME_FOR_SOURCE = 1 << 22,
DEBUG_NAME_FOR_BINARY = 1 << 23,
}
EFFECT :: enum u32 { // TODO: make bit_field
CHILD_EFFECT = 1 << 0,
ALLOW_SLOW_OPS = 1 << 1,
}
FLAGS2 :: enum u32 { // TODO: make bit_field
FORCE_ROOT_SIGNATURE_LATEST = 0,
FORCE_ROOT_SIGNATURE_1_0 = 1 << 4,
FORCE_ROOT_SIGNATURE_1_1 = 1 << 5,
}
SECDATA :: enum u32 { // TODO: make bit_field
MERGE_UAV_SLOTS = 0x00000001,
PRESERVE_TEMPLATE_SLOTS = 0x00000002,
REQUIRE_TEMPLATE_MATCH = 0x00000004,
}
DISASM_ENABLE_COLOR_CODE :: 0x00000001
DISASM_ENABLE_DEFAULT_VALUE_PRINTS :: 0x00000002
DISASM_ENABLE_INSTRUCTION_NUMBERING :: 0x00000004
DISASM_ENABLE_INSTRUCTION_CYCLE :: 0x00000008
DISASM_DISABLE_DEBUG_INFO :: 0x00000010
DISASM_ENABLE_INSTRUCTION_OFFSET :: 0x00000020
DISASM_INSTRUCTION_ONLY :: 0x00000040
DISASM_PRINT_HEX_LITERALS :: 0x00000080
GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE :: 0x00000001
COMPRESS_SHADER_KEEP_ALL_PARTS :: 0x00000001
SHADER_MACRO :: struct {
Name: cstring,
Definition: cstring,
}
ID3D10Blob :: struct {
#subtype iunknown: IUnknown,
using id3d10blob_vtable: ^ID3D10Blob_VTable,
}
ID3D10Blob_VTable :: struct {
using iunknown_vtable: IUnknown_VTable,
GetBufferPointer: proc "stdcall" (this: ^ID3D10Blob),
GetBufferSize: proc "stdcall" (this: ^ID3D10Blob) -> SIZE_T,
}
ID3DBlob :: ID3D10Blob
INCLUDE_TYPE :: enum i32 {
INCLUDE_LOCAL = 0,
INCLUDE_SYSTEM = 1,
_10_INCLUDE_LOCAL = 0,
_10_INCLUDE_SYSTEM = 1,
INCLUDE_FORCE_DWORD = 2147483647,
}
ID3DInclude :: struct {
vtable: ^ID3DInclude_VTable,
}
ID3DInclude_VTable :: struct {
Open: proc "stdcall" (this: ^ID3DInclude, IncludeType: INCLUDE_TYPE, pFileName: cstring, pParentData: rawptr, ppData: ^rawptr, pBytes: ^u32) -> HRESULT,
Close: proc "stdcall" (this: ^ID3DInclude, pData: rawptr) -> HRESULT,
}
ID3D11Module :: struct {
#subtype iunknown: IUnknown,
using id3d11module_vtable: ^ID3D11Module_VTable,
}
ID3D11Module_VTable :: struct {
using iunknown_vtable: IUnknown_VTable,
CreateInstance: proc "stdcall" (this: ^ID3D11Module, pNamespace: cstring, ppModuleInstance: ^^ID3D11ModuleInstance) -> HRESULT,
}
ID3D11ModuleInstance :: struct {
#subtype iunknown: IUnknown,
using id3d11moduleinstance_vtable: ^ID3D11ModuleInstance_VTable,
}
ID3D11ModuleInstance_VTable :: struct {
using iunknown_vtable: IUnknown_VTable,
BindConstantBuffer: proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, cbDstOffset: u32) -> HRESULT,
BindConstantBufferByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, cbDstOffset: u32) -> HRESULT,
BindResource: proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> HRESULT,
BindResourceByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> HRESULT,
BindSampler: proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> HRESULT,
BindSamplerByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> HRESULT,
BindUnorderedAccessView: proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSlot: u32, uDstSlot: u32, uCount: u32) -> HRESULT,
BindUnorderedAccessViewByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pName: cstring, uDstSlot: u32, uCount: u32) -> HRESULT,
BindResourceAsUnorderedAccessView: proc "stdcall" (this: ^ID3D11ModuleInstance, uSrcSrvSlot: u32, uDstUavSlot: u32, uCount: u32) -> HRESULT,
BindResourceAsUnorderedAccessViewByName: proc "stdcall" (this: ^ID3D11ModuleInstance, pSrvName: cstring, uDstUavSlot: u32, uCount: u32) -> HRESULT,
}
ID3D11Linker :: struct {
#subtype iunknown: IUnknown,
using id3d11linker_vtable: ^ID3D11Linker_VTable,
}
ID3D11Linker_VTable :: struct {
using iunknown_vtable: IUnknown_VTable,
Link: proc "stdcall" (this: ^ID3D11Linker, pEntry: ^ID3D11ModuleInstance, pEntryName: cstring, pTargetName: cstring, uFlags: u32, ppShaderBlob: ^^ID3DBlob, ppErrorBuffer: ^^ID3DBlob) -> HRESULT,
UseLibrary: proc "stdcall" (this: ^ID3D11Linker, pLibraryMI: ^ID3D11ModuleInstance) -> HRESULT,
AddClipPlaneFromCBuffer: proc "stdcall" (this: ^ID3D11Linker, uCBufferSlot: u32, uCBufferEntry: u32) -> HRESULT,
}
pD3DCompile :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: cstring, a6: cstring, a7: u32, a8: u32, a9: ^^ID3DBlob, a10: ^^ID3DBlob) -> HRESULT
pD3DPreprocess :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: ^^ID3DBlob, a6: ^^ID3DBlob) -> HRESULT
pD3DDisassemble :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: u32, a3: cstring, a4: ^^ID3DBlob) -> HRESULT
D3DCOMPILER_STRIP_FLAGS :: enum u32 { // TODO: make bit_field
REFLECTION_DATA = 0x1,
DEBUG_INFO = 0x2,
TEST_BLOBS = 0x4,
PRIVATE_DATA = 0x8,
ROOT_SIGNATURE = 0x10,
FORCE_DWORD = 0x7fffffff,
}
BLOB_PART :: enum i32 {
INPUT_SIGNATURE_BLOB = 0,
OUTPUT_SIGNATURE_BLOB = 1,
INPUT_AND_OUTPUT_SIGNATURE_BLOB = 2,
PATCH_CONSTANT_SIGNATURE_BLOB = 3,
ALL_SIGNATURE_BLOB = 4,
DEBUG_INFO = 5,
LEGACY_SHADER = 6,
XNA_PREPASS_SHADER = 7,
XNA_SHADER = 8,
PDB = 9,
PRIVATE_DATA = 10,
ROOT_SIGNATURE = 11,
DEBUG_NAME = 12,
TEST_ALTERNATE_SHADER = 32768,
TEST_COMPILE_DETAILS = 32769,
TEST_COMPILE_PERF = 32770,
TEST_COMPILE_REPORT = 32771,
}
SHADER_DATA :: struct {
pBytecode: rawptr,
BytecodeLength: SIZE_T,
}
ID3D10Effect :: struct {
// ????
}

Binary file not shown.

Binary file not shown.

1125
vendor/directx/dxgi/dxgi.odin vendored Normal file

File diff suppressed because it is too large Load Diff