aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2025-01-10 10:12:42 +0000
committergingerBill <bill@gingerbill.org>2025-01-10 10:12:42 +0000
commitfd058dff469efffd14ee8fc5b4836d2d67053c5c (patch)
tree1491c2c720fb501993caa58e0eadda2295e1abb1
parent3d4a20918f074af8a7d99f5fcd468f21ef8d3a45 (diff)
parent5a259ed0ee4a58f0ed5aa998e5930c83afb2d222 (diff)
Merge branch 'master' of https://github.com/odin-lang/Odin
-rw-r--r--vendor/directx/d3d12/d3d12.odin12
-rw-r--r--vendor/directx/d3d12/d3d12_constants.odin6
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