Skip to content

Commit 0753b0c

Browse files
authored
Merge pull request #5940 from connnnal/d3d12-tight-alignment
Update d3d12 bindings for D3D12_FEATURE_D3D12_TIGHT_ALIGNMENT
2 parents 56aab55 + b9b3e90 commit 0753b0c

File tree

2 files changed

+76
-9
lines changed

2 files changed

+76
-9
lines changed

vendor/directx/d3d12/d3d12.odin

Lines changed: 73 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,15 @@ FEATURE :: enum i32 {
850850
OPTIONS17 = 46,
851851
OPTIONS18 = 47,
852852
OPTIONS19 = 48,
853+
OPTIONS20 = 49,
854+
PREDICATION = 50,
855+
PLACED_RESOURCE_SUPPORT_INFO = 51,
856+
HARDWARE_COPY = 52,
857+
OPTIONS21 = 53,
858+
TIGHT_ALIGNMENT = 54,
859+
APPLICATION_SPECIFIC_DRIVER_STATE = 56,
860+
BYTECODE_BYPASS_HASH_SUPPORTED = 57,
861+
SHADER_CACHE_ABI_SUPPORT = 61,
853862
}
854863

855864
SHADER_MIN_PRECISION_SUPPORT :: distinct bit_set[SHADER_MIN_PRECISION_SUPPORT_FLAG; u32]
@@ -962,6 +971,11 @@ VIEW_INSTANCING_TIER :: enum i32 {
962971
_3 = 3,
963972
}
964973

974+
WORK_GRAPHS_TIER :: enum i32 {
975+
NOT_SUPPORTED = 0,
976+
_1_0 = 10,
977+
}
978+
965979
FEATURE_DATA_OPTIONS :: struct {
966980
DoublePrecisionFloatShaderOps: BOOL,
967981
OutputMergerLogicOp: BOOL,
@@ -1276,6 +1290,53 @@ FEATURE_DATA_OPTIONS19 :: struct {
12761290
ComputeOnlyCustomHeapSupported: BOOL,
12771291
}
12781292

1293+
RECREATE_AT_TIER :: enum i32 {
1294+
NOT_SUPPORTED = 0,
1295+
_1 = 1,
1296+
}
1297+
1298+
FEATURE_DATA_OPTIONS20 :: struct {
1299+
ComputeOnlyWriteWatchSupported: BOOL,
1300+
RecreateAtTier: RECREATE_AT_TIER,
1301+
}
1302+
1303+
EXECUTE_INDIRECT_TIER :: enum i32 {
1304+
_1_0 = 10,
1305+
_1_1 = 11,
1306+
}
1307+
1308+
FEATURE_DATA_OPTIONS21 :: struct {
1309+
WorkGraphsTier: WORK_GRAPHS_TIER,
1310+
ExecuteIndirectTier: EXECUTE_INDIRECT_TIER,
1311+
SampleCmpGradientAndBiasSupported: BOOL,
1312+
ExtendedCommandInfoSupported: BOOL,
1313+
}
1314+
1315+
TIGHT_ALIGNMENT_TIER :: enum i32 {
1316+
NOT_SUPPORTED = 0,
1317+
_1 = NOT_SUPPORTED + 1,
1318+
}
1319+
1320+
FEATURE_DATA_TIGHT_ALIGNMENT :: struct {
1321+
SupportTier: TIGHT_ALIGNMENT_TIER,
1322+
}
1323+
1324+
FEATURE_DATA_PREDICATION :: struct {
1325+
Supported: BOOL,
1326+
}
1327+
1328+
FEATURE_DATA_HARDWARE_COPY :: struct {
1329+
Supported: BOOL,
1330+
}
1331+
1332+
FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE :: struct {
1333+
Supported: BOOL,
1334+
}
1335+
1336+
FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED :: struct {
1337+
Supported: BOOL,
1338+
}
1339+
12791340
WAVE_MMA_INPUT_DATATYPE :: enum i32 {
12801341
INVALID = 0,
12811342
BYTE = 1,
@@ -1391,14 +1452,16 @@ TEXTURE_LAYOUT :: enum i32 {
13911452

13921453
RESOURCE_FLAGS :: distinct bit_set[RESOURCE_FLAG; u32]
13931454
RESOURCE_FLAG :: enum u32 {
1394-
ALLOW_RENDER_TARGET = 0,
1395-
ALLOW_DEPTH_STENCIL = 1,
1396-
ALLOW_UNORDERED_ACCESS = 2,
1397-
DENY_SHADER_RESOURCE = 3,
1398-
ALLOW_CROSS_ADAPTER = 4,
1399-
ALLOW_SIMULTANEOUS_ACCESS = 5,
1400-
VIDEO_DECODE_REFERENCE_ONLY = 6,
1401-
VIDEO_ENCODE_REFERENCE_ONLY = 7,
1455+
ALLOW_RENDER_TARGET = 0,
1456+
ALLOW_DEPTH_STENCIL = 1,
1457+
ALLOW_UNORDERED_ACCESS = 2,
1458+
DENY_SHADER_RESOURCE = 3,
1459+
ALLOW_CROSS_ADAPTER = 4,
1460+
ALLOW_SIMULTANEOUS_ACCESS = 5,
1461+
VIDEO_DECODE_REFERENCE_ONLY = 6,
1462+
VIDEO_ENCODE_REFERENCE_ONLY = 7,
1463+
RAYTRACING_ACCELERATION_STRUCTURE = 8,
1464+
USE_TIGHT_ALIGNMENT = 10,
14021465
}
14031466

14041467
MIP_REGION :: struct {
@@ -3266,7 +3329,8 @@ SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER :: struct {
32663329
}
32673330

32683331
SERIALIZED_DATA_TYPE :: enum i32 {
3269-
SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0,
3332+
RAYTRACING_ACCELERATION_STRUCTURE = 0,
3333+
APPLICATION_SPECIFIC_DRIVER_STATE = 1,
32703334
}
32713335

32723336
DRIVER_MATCHING_IDENTIFIER_STATUS :: enum i32 {

vendor/directx/d3d12/d3d12_constants.odin

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,9 @@ TEXEL_ADDRESS_RANGE_BIT_COUNT :: 16
461461
TEXTURE_DATA_PITCH_ALIGNMENT :: 256
462462
TEXTURE_DATA_PLACEMENT_ALIGNMENT :: 512
463463

464+
TIGHT_ALIGNMENT_MIN_COMMITTED_RESOURCE_ALIGNMENT :: 4096
465+
TIGHT_ALIGNMENT_MIN_PLACED_RESOURCE_ALIGNMENT :: 8
466+
464467
TILED_RESOURCE_TILE_SIZE_IN_BYTES :: 65536
465468

466469
TRACKED_WORKLOAD_MAX_INSTANCES :: 32

0 commit comments

Comments
 (0)