aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-11-19 11:15:27 +0000
committerGitHub <noreply@github.com>2025-11-19 11:15:27 +0000
commit0753b0c54774ecb725f1fa02bbf07a2944df4fdd (patch)
treedd07d7041865a43e635239e2ad7671ee1cdc78b6
parent56aab55d8250ee8191583d6b5e97eace89cfbef7 (diff)
parentb9b3e909ad0efb6b42df6b0a462f7d1df7d183a4 (diff)
Merge pull request #5940 from connnnal/d3d12-tight-alignment
Update d3d12 bindings for D3D12_FEATURE_D3D12_TIGHT_ALIGNMENT
-rw-r--r--vendor/directx/d3d12/d3d12.odin82
-rw-r--r--vendor/directx/d3d12/d3d12_constants.odin3
2 files changed, 76 insertions, 9 deletions
diff --git a/vendor/directx/d3d12/d3d12.odin b/vendor/directx/d3d12/d3d12.odin
index 8f72aedb4..a0e020d1a 100644
--- a/vendor/directx/d3d12/d3d12.odin
+++ b/vendor/directx/d3d12/d3d12.odin
@@ -850,6 +850,15 @@ FEATURE :: enum i32 {
OPTIONS17 = 46,
OPTIONS18 = 47,
OPTIONS19 = 48,
+ OPTIONS20 = 49,
+ PREDICATION = 50,
+ PLACED_RESOURCE_SUPPORT_INFO = 51,
+ HARDWARE_COPY = 52,
+ OPTIONS21 = 53,
+ TIGHT_ALIGNMENT = 54,
+ APPLICATION_SPECIFIC_DRIVER_STATE = 56,
+ BYTECODE_BYPASS_HASH_SUPPORTED = 57,
+ SHADER_CACHE_ABI_SUPPORT = 61,
}
SHADER_MIN_PRECISION_SUPPORT :: distinct bit_set[SHADER_MIN_PRECISION_SUPPORT_FLAG; u32]
@@ -962,6 +971,11 @@ VIEW_INSTANCING_TIER :: enum i32 {
_3 = 3,
}
+WORK_GRAPHS_TIER :: enum i32 {
+ NOT_SUPPORTED = 0,
+ _1_0 = 10,
+}
+
FEATURE_DATA_OPTIONS :: struct {
DoublePrecisionFloatShaderOps: BOOL,
OutputMergerLogicOp: BOOL,
@@ -1276,6 +1290,53 @@ FEATURE_DATA_OPTIONS19 :: struct {
ComputeOnlyCustomHeapSupported: BOOL,
}
+RECREATE_AT_TIER :: enum i32 {
+ NOT_SUPPORTED = 0,
+ _1 = 1,
+}
+
+FEATURE_DATA_OPTIONS20 :: struct {
+ ComputeOnlyWriteWatchSupported: BOOL,
+ RecreateAtTier: RECREATE_AT_TIER,
+}
+
+EXECUTE_INDIRECT_TIER :: enum i32 {
+ _1_0 = 10,
+ _1_1 = 11,
+}
+
+FEATURE_DATA_OPTIONS21 :: struct {
+ WorkGraphsTier: WORK_GRAPHS_TIER,
+ ExecuteIndirectTier: EXECUTE_INDIRECT_TIER,
+ SampleCmpGradientAndBiasSupported: BOOL,
+ ExtendedCommandInfoSupported: BOOL,
+}
+
+TIGHT_ALIGNMENT_TIER :: enum i32 {
+ NOT_SUPPORTED = 0,
+ _1 = NOT_SUPPORTED + 1,
+}
+
+FEATURE_DATA_TIGHT_ALIGNMENT :: struct {
+ SupportTier: TIGHT_ALIGNMENT_TIER,
+}
+
+FEATURE_DATA_PREDICATION :: struct {
+ Supported: BOOL,
+}
+
+FEATURE_DATA_HARDWARE_COPY :: struct {
+ Supported: BOOL,
+}
+
+FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE :: struct {
+ Supported: BOOL,
+}
+
+FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED :: struct {
+ Supported: BOOL,
+}
+
WAVE_MMA_INPUT_DATATYPE :: enum i32 {
INVALID = 0,
BYTE = 1,
@@ -1391,14 +1452,16 @@ TEXTURE_LAYOUT :: enum i32 {
RESOURCE_FLAGS :: distinct bit_set[RESOURCE_FLAG; u32]
RESOURCE_FLAG :: enum u32 {
- ALLOW_RENDER_TARGET = 0,
- ALLOW_DEPTH_STENCIL = 1,
- ALLOW_UNORDERED_ACCESS = 2,
- DENY_SHADER_RESOURCE = 3,
- ALLOW_CROSS_ADAPTER = 4,
- ALLOW_SIMULTANEOUS_ACCESS = 5,
- VIDEO_DECODE_REFERENCE_ONLY = 6,
- VIDEO_ENCODE_REFERENCE_ONLY = 7,
+ ALLOW_RENDER_TARGET = 0,
+ ALLOW_DEPTH_STENCIL = 1,
+ ALLOW_UNORDERED_ACCESS = 2,
+ DENY_SHADER_RESOURCE = 3,
+ ALLOW_CROSS_ADAPTER = 4,
+ ALLOW_SIMULTANEOUS_ACCESS = 5,
+ VIDEO_DECODE_REFERENCE_ONLY = 6,
+ VIDEO_ENCODE_REFERENCE_ONLY = 7,
+ RAYTRACING_ACCELERATION_STRUCTURE = 8,
+ USE_TIGHT_ALIGNMENT = 10,
}
MIP_REGION :: struct {
@@ -3266,7 +3329,8 @@ SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER :: struct {
}
SERIALIZED_DATA_TYPE :: enum i32 {
- SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0,
+ RAYTRACING_ACCELERATION_STRUCTURE = 0,
+ APPLICATION_SPECIFIC_DRIVER_STATE = 1,
}
DRIVER_MATCHING_IDENTIFIER_STATUS :: enum i32 {
diff --git a/vendor/directx/d3d12/d3d12_constants.odin b/vendor/directx/d3d12/d3d12_constants.odin
index 62725656a..6e78381d8 100644
--- a/vendor/directx/d3d12/d3d12_constants.odin
+++ b/vendor/directx/d3d12/d3d12_constants.odin
@@ -461,6 +461,9 @@ TEXEL_ADDRESS_RANGE_BIT_COUNT :: 16
TEXTURE_DATA_PITCH_ALIGNMENT :: 256
TEXTURE_DATA_PLACEMENT_ALIGNMENT :: 512
+TIGHT_ALIGNMENT_MIN_COMMITTED_RESOURCE_ALIGNMENT :: 4096
+TIGHT_ALIGNMENT_MIN_PLACED_RESOURCE_ALIGNMENT :: 8
+
TILED_RESOURCE_TILE_SIZE_IN_BYTES :: 65536
TRACKED_WORKLOAD_MAX_INSTANCES :: 32