diff options
| author | gingerBill <bill@gingerbill.org> | 2025-01-10 10:12:42 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2025-01-10 10:12:42 +0000 |
| commit | fd058dff469efffd14ee8fc5b4836d2d67053c5c (patch) | |
| tree | 1491c2c720fb501993caa58e0eadda2295e1abb1 | |
| parent | 3d4a20918f074af8a7d99f5fcd468f21ef8d3a45 (diff) | |
| parent | 5a259ed0ee4a58f0ed5aa998e5930c83afb2d222 (diff) | |
Merge branch 'master' of https://github.com/odin-lang/Odin
| -rw-r--r-- | vendor/directx/d3d12/d3d12.odin | 12 | ||||
| -rw-r--r-- | vendor/directx/d3d12/d3d12_constants.odin | 6 |
2 files changed, 17 insertions, 1 deletions
diff --git a/vendor/directx/d3d12/d3d12.odin b/vendor/directx/d3d12/d3d12.odin index e707b0885..3e078a5ed 100644 --- a/vendor/directx/d3d12/d3d12.odin +++ b/vendor/directx/d3d12/d3d12.odin @@ -1571,7 +1571,7 @@ VIEW_INSTANCING_DESC :: struct { Flags: VIEW_INSTANCING_FLAGS, } -SHADER_COMPONENT_MAPPING :: enum i32 { +SHADER_COMPONENT_MAPPING :: enum u32 { FROM_MEMORY_COMPONENT_0 = 0, FROM_MEMORY_COMPONENT_1 = 1, FROM_MEMORY_COMPONENT_2 = 2, @@ -1579,6 +1579,16 @@ SHADER_COMPONENT_MAPPING :: enum i32 { FORCE_VALUE_0 = 4, FORCE_VALUE_1 = 5, } +ENCODE_SHADER_4_COMPONENT_MAPPING :: #force_inline proc "contextless" (Src0, Src1, Src2, Src3: u32) -> u32 { + return (Src0 & SHADER_COMPONENT_MAPPING_MASK) | + ((Src1 & SHADER_COMPONENT_MAPPING_MASK) << SHADER_COMPONENT_MAPPING_SHIFT) | + ((Src2 & SHADER_COMPONENT_MAPPING_MASK) << (SHADER_COMPONENT_MAPPING_SHIFT * 2)) | + ((Src3 & SHADER_COMPONENT_MAPPING_MASK) << (SHADER_COMPONENT_MAPPING_SHIFT * 3)) | + SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES +} +DECODE_SHADER_4_COMPONENT_MAPPING :: #force_inline proc "contextless" (ComponentToExtract, Mapping: u32) -> u32 { + return Mapping >> (SHADER_COMPONENT_MAPPING_SHIFT * ComponentToExtract) & SHADER_COMPONENT_MAPPING_MASK +} BUFFER_SRV_FLAGS :: distinct bit_set[BUFFER_SRV_FLAG; u32] BUFFER_SRV_FLAG :: enum u32 { diff --git a/vendor/directx/d3d12/d3d12_constants.odin b/vendor/directx/d3d12/d3d12_constants.odin index a30296cc1..62725656a 100644 --- a/vendor/directx/d3d12/d3d12_constants.odin +++ b/vendor/directx/d3d12/d3d12_constants.odin @@ -498,6 +498,12 @@ WHQL_DRAW_VERTEX_COUNT_2_TO_EXP :: 25 SHADER_COMPONENT_MAPPING_MASK :: 0x7 SHADER_COMPONENT_MAPPING_SHIFT :: 3 +SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES :: 1 << (SHADER_COMPONENT_MAPPING_SHIFT * 4) +DEFAULT_SHADER_4_COMPONENT_MAPPING :: (0 & SHADER_COMPONENT_MAPPING_MASK) | + ((1 & SHADER_COMPONENT_MAPPING_MASK) << SHADER_COMPONENT_MAPPING_SHIFT) | + ((2 & SHADER_COMPONENT_MAPPING_MASK) << (SHADER_COMPONENT_MAPPING_SHIFT * 2)) | + ((3 & SHADER_COMPONENT_MAPPING_MASK) << (SHADER_COMPONENT_MAPPING_SHIFT * 3)) | + SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES FILTER_REDUCTION_TYPE_MASK :: 0x3 FILTER_REDUCTION_TYPE_SHIFT :: 7 |