mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Add more bit_sets to direct packages
This commit is contained in:
+49
-42
@@ -45,50 +45,57 @@ foreign d3dcompiler {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
D3DCOMPILE :: enum u32 { // TODO: make bit_field
|
D3DCOMPILE :: distinct bit_set[D3DCOMPILE_FLAG; u32]
|
||||||
DEBUG = 1 << 0,
|
D3DCOMPILE_FLAG :: enum u32 {
|
||||||
SKIP_VALIDATION = 1 << 1,
|
DEBUG = 0,
|
||||||
SKIP_OPTIMIZATION = 1 << 2,
|
SKIP_VALIDATION = 1,
|
||||||
PACK_MATRIX_ROW_MAJOR = 1 << 3,
|
SKIP_OPTIMIZATION = 2,
|
||||||
PACK_MATRIX_COLUMN_MAJOR = 1 << 4,
|
PACK_MATRIX_ROW_MAJOR = 3,
|
||||||
PARTIAL_PRECISION = 1 << 5,
|
PACK_MATRIX_COLUMN_MAJOR = 4,
|
||||||
FORCE_VS_SOFTWARE_NO_OPT = 1 << 6,
|
PARTIAL_PRECISION = 5,
|
||||||
FORCE_PS_SOFTWARE_NO_OPT = 1 << 7,
|
FORCE_VS_SOFTWARE_NO_OPT = 6,
|
||||||
NO_PRESHADER = 1 << 8,
|
FORCE_PS_SOFTWARE_NO_OPT = 7,
|
||||||
AVOID_FLOW_CONTROL = 1 << 9,
|
NO_PRESHADER = 8,
|
||||||
PREFER_FLOW_CONTROL = 1 << 10,
|
AVOID_FLOW_CONTROL = 9,
|
||||||
ENABLE_STRICTNESS = 1 << 11,
|
PREFER_FLOW_CONTROL = 10,
|
||||||
ENABLE_BACKWARDS_COMPATIBILITY = 1 << 12,
|
ENABLE_STRICTNESS = 11,
|
||||||
IEEE_STRICTNESS = 1 << 13,
|
ENABLE_BACKWARDS_COMPATIBILITY = 12,
|
||||||
OPTIMIZATION_LEVEL0 = 1 << 14,
|
IEEE_STRICTNESS = 13,
|
||||||
OPTIMIZATION_LEVEL1 = 0,
|
OPTIMIZATION_LEVEL0 = 14,
|
||||||
OPTIMIZATION_LEVEL2 = (1 << 14)|(1 << 15), // Added manually
|
OPTIMIZATION_LEVEL3 = 15,
|
||||||
OPTIMIZATION_LEVEL3 = 1 << 15,
|
RESERVED16 = 16,
|
||||||
RESERVED16 = 1 << 16,
|
RESERVED17 = 17,
|
||||||
RESERVED17 = 1 << 17,
|
WARNINGS_ARE_ERRORS = 18,
|
||||||
WARNINGS_ARE_ERRORS = 1 << 18,
|
RESOURCES_MAY_ALIAS = 19,
|
||||||
RESOURCES_MAY_ALIAS = 1 << 19,
|
ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 20,
|
||||||
ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 1 << 20,
|
ALL_RESOURCES_BOUND = 21,
|
||||||
ALL_RESOURCES_BOUND = 1 << 21,
|
DEBUG_NAME_FOR_SOURCE = 22,
|
||||||
DEBUG_NAME_FOR_SOURCE = 1 << 22,
|
DEBUG_NAME_FOR_BINARY = 23,
|
||||||
DEBUG_NAME_FOR_BINARY = 1 << 23,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EFFECT :: enum u32 { // TODO: make bit_field
|
D3DCOMPILE_OPTIMIZATION_LEVEL0 :: D3DCOMPILE{.OPTIMIZATION_LEVEL0}
|
||||||
CHILD_EFFECT = 1 << 0,
|
D3DCOMPILE_OPTIMIZATION_LEVEL1 :: D3DCOMPILE{}
|
||||||
ALLOW_SLOW_OPS = 1 << 1,
|
D3DCOMPILE_OPTIMIZATION_LEVEL2 :: D3DCOMPILE{.IEEE_STRICTNESS, .OPTIMIZATION_LEVEL3}
|
||||||
|
D3DCOMPILE_OPTIMIZATION_LEVEL3 :: D3DCOMPILE{.OPTIMIZATION_LEVEL3}
|
||||||
|
|
||||||
|
|
||||||
|
EFFECT :: distinct bit_set[EFFECT_FLAG; u32]
|
||||||
|
EFFECT_FLAG :: enum u32 {
|
||||||
|
CHILD_EFFECT = 0,
|
||||||
|
ALLOW_SLOW_OPS = 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
FLAGS2 :: enum u32 { // TODO: make bit_field
|
FLAGS2 :: enum u32 {
|
||||||
FORCE_ROOT_SIGNATURE_LATEST = 0,
|
FORCE_ROOT_SIGNATURE_LATEST = 0,
|
||||||
FORCE_ROOT_SIGNATURE_1_0 = 1 << 4,
|
FORCE_ROOT_SIGNATURE_1_0 = 1 << 4,
|
||||||
FORCE_ROOT_SIGNATURE_1_1 = 1 << 5,
|
FORCE_ROOT_SIGNATURE_1_1 = 1 << 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
SECDATA :: enum u32 { // TODO: make bit_field
|
SECDATA :: distinct bit_set[SECDATA_FLAG; u32]
|
||||||
MERGE_UAV_SLOTS = 0x00000001,
|
SECDATA_FLAG :: enum u32 {
|
||||||
PRESERVE_TEMPLATE_SLOTS = 0x00000002,
|
MERGE_UAV_SLOTS = 0,
|
||||||
REQUIRE_TEMPLATE_MATCH = 0x00000004,
|
PRESERVE_TEMPLATE_SLOTS = 1,
|
||||||
|
REQUIRE_TEMPLATE_MATCH = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
DISASM_ENABLE_COLOR_CODE :: 0x00000001
|
DISASM_ENABLE_COLOR_CODE :: 0x00000001
|
||||||
@@ -188,13 +195,13 @@ pD3DCompile :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHA
|
|||||||
pD3DPreprocess :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: ^^ID3DBlob, a6: ^^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
|
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
|
D3DCOMPILER_STRIP_FLAGS :: distinct bit_set[D3DCOMPILER_STRIP_FLAG; u32]
|
||||||
REFLECTION_DATA = 0x1,
|
D3DCOMPILER_STRIP_FLAG :: enum u32 {
|
||||||
DEBUG_INFO = 0x2,
|
REFLECTION_DATA = 0,
|
||||||
TEST_BLOBS = 0x4,
|
DEBUG_INFO = 1,
|
||||||
PRIVATE_DATA = 0x8,
|
TEST_BLOBS = 2,
|
||||||
ROOT_SIGNATURE = 0x10,
|
PRIVATE_DATA = 3,
|
||||||
FORCE_DWORD = 0x7fffffff,
|
ROOT_SIGNATURE = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
BLOB_PART :: enum i32 {
|
BLOB_PART :: enum i32 {
|
||||||
|
|||||||
Vendored
+38
-29
@@ -57,14 +57,15 @@ CPU_ACCESS :: enum u32 {
|
|||||||
FIELD = 15,
|
FIELD = 15,
|
||||||
}
|
}
|
||||||
|
|
||||||
USAGE :: enum u32 { // TODO: convert to bit_set
|
USAGE :: distinct bit_set[USAGE_FLAG; u32]
|
||||||
SHADER_INPUT = 0x00000010,
|
USAGE_FLAG :: enum u32 {
|
||||||
RENDER_TARGET_OUTPUT = 0x00000020,
|
SHADER_INPUT = 4,
|
||||||
BACK_BUFFER = 0x00000040,
|
RENDER_TARGET_OUTPUT = 5,
|
||||||
SHARED = 0x00000080,
|
BACK_BUFFER = 6,
|
||||||
READ_ONLY = 0x00000100,
|
SHARED = 7,
|
||||||
DISCARD_ON_PRESENT = 0x00000200,
|
READ_ONLY = 8,
|
||||||
UNORDERED_ACCESS = 0x00000400,
|
DISCARD_ON_PRESENT = 9,
|
||||||
|
UNORDERED_ACCESS = 10,
|
||||||
}
|
}
|
||||||
|
|
||||||
RESOURCE_PRIORITY :: enum u32 {
|
RESOURCE_PRIORITY :: enum u32 {
|
||||||
@@ -75,37 +76,45 @@ RESOURCE_PRIORITY :: enum u32 {
|
|||||||
MAXIMUM = 0xc8000000,
|
MAXIMUM = 0xc8000000,
|
||||||
}
|
}
|
||||||
|
|
||||||
MAP :: enum u32 { // TODO: convert to bit_set
|
MAP :: enum u32 {
|
||||||
READ = 1,
|
READ = 1,
|
||||||
WRITE = 2,
|
WRITE = 2,
|
||||||
DISCARD = 4,
|
DISCARD = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
ENUM_MODES :: enum u32 { // TODO: convert to bit_set
|
ENUM_MODES :: distinct bit_set[ENUM_MODE; u32]
|
||||||
INTERLACED = 1,
|
ENUM_MODE :: enum u32 {
|
||||||
SCALING = 2,
|
INTERLACED = 0,
|
||||||
STEREO = 4,
|
SCALING = 1,
|
||||||
DISABLED_STEREO = 8,
|
STEREO = 2,
|
||||||
|
DISABLED_STEREO = 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
MAX_SWAP_CHAIN_BUFFERS :: 16
|
MAX_SWAP_CHAIN_BUFFERS :: 16
|
||||||
PRESENT :: enum u32 { // TODO: convert to bit_set
|
PRESENT :: distinct bit_set[PRESENT_FLAG; u32]
|
||||||
TEST = 0x00000001,
|
PRESENT_FLAG :: enum u32 {
|
||||||
DO_NOT_SEQUENCE = 0x00000002,
|
TEST = 0,
|
||||||
RESTART = 0x00000004,
|
DO_NOT_SEQUENCE = 1,
|
||||||
DO_NOT_WAIT = 0x00000008,
|
RESTART = 2,
|
||||||
STEREO_PREFER_RIGHT = 0x00000010,
|
DO_NOT_WAIT = 3,
|
||||||
STEREO_TEMPORARY_MONO = 0x00000020,
|
STEREO_PREFER_RIGHT = 4,
|
||||||
RESTRICT_TO_OUTPUT = 0x00000040,
|
STEREO_TEMPORARY_MONO = 5,
|
||||||
USE_DURATION = 0x00000100,
|
RESTRICT_TO_OUTPUT = 6,
|
||||||
ALLOW_TEARING = 0x00000200,
|
|
||||||
|
USE_DURATION = 8,
|
||||||
|
ALLOW_TEARING = 9,
|
||||||
}
|
}
|
||||||
|
|
||||||
MWA :: enum u32 { // TODO: convert to bit_set
|
MWA :: distinct bit_set[MWA_FLAG; u32]
|
||||||
NO_WINDOW_CHANGES = 1 << 0,
|
MWA_FLAG :: enum u32 {
|
||||||
NO_ALT_ENTER = 1 << 1,
|
NO_WINDOW_CHANGES = 0,
|
||||||
NO_PRINT_SCREEN = 1 << 2,
|
NO_ALT_ENTER = 1,
|
||||||
VALID = 0x7,
|
NO_PRINT_SCREEN = 2,
|
||||||
|
}
|
||||||
|
MWA_VALID :: MWA{
|
||||||
|
.NO_WINDOW_CHANGES,
|
||||||
|
.NO_ALT_ENTER,
|
||||||
|
.NO_PRINT_SCREEN,
|
||||||
}
|
}
|
||||||
|
|
||||||
SHARED_RESOURCE_READ :: 0x80000000
|
SHARED_RESOURCE_READ :: 0x80000000
|
||||||
|
|||||||
Reference in New Issue
Block a user