Skip to content

Commit 3f9db44

Browse files
author
Greg Roth
authored
Correct 64-bit atomics on heap resource flags (#3520)
Left a few out
1 parent c3f9997 commit 3f9db44

2 files changed

Lines changed: 30 additions & 24 deletions

File tree

include/dxc/DXIL/DxilConstants.h

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,34 +1391,37 @@ namespace DXIL {
13911391
const uint64_t
13921392
ShaderFeatureInfo_ComputeShadersPlusRawAndStructuredBuffersViaShader4X =
13931393
0x0002;
1394-
const uint64_t ShaderFeatureInfo_UAVsAtEveryStage = 0x0004;
1395-
const uint64_t ShaderFeatureInfo_64UAVs = 0x0008;
1396-
const uint64_t ShaderFeatureInfo_MinimumPrecision = 0x0010;
1397-
const uint64_t ShaderFeatureInfo_11_1_DoubleExtensions = 0x0020;
1398-
const uint64_t ShaderFeatureInfo_11_1_ShaderExtensions = 0x0040;
1399-
const uint64_t ShaderFeatureInfo_LEVEL9ComparisonFiltering = 0x0080;
1400-
const uint64_t ShaderFeatureInfo_TiledResources = 0x0100;
1401-
const uint64_t ShaderFeatureInfo_StencilRef = 0x0200;
1402-
const uint64_t ShaderFeatureInfo_InnerCoverage = 0x0400;
1394+
const uint64_t ShaderFeatureInfo_UAVsAtEveryStage = 0x0004;
1395+
const uint64_t ShaderFeatureInfo_64UAVs = 0x0008;
1396+
const uint64_t ShaderFeatureInfo_MinimumPrecision = 0x0010;
1397+
const uint64_t ShaderFeatureInfo_11_1_DoubleExtensions = 0x0020;
1398+
const uint64_t ShaderFeatureInfo_11_1_ShaderExtensions = 0x0040;
1399+
const uint64_t ShaderFeatureInfo_LEVEL9ComparisonFiltering = 0x0080;
1400+
const uint64_t ShaderFeatureInfo_TiledResources = 0x0100;
1401+
const uint64_t ShaderFeatureInfo_StencilRef = 0x0200;
1402+
const uint64_t ShaderFeatureInfo_InnerCoverage = 0x0400;
14031403
const uint64_t ShaderFeatureInfo_TypedUAVLoadAdditionalFormats = 0x0800;
1404-
const uint64_t ShaderFeatureInfo_ROVs = 0x1000;
1404+
const uint64_t ShaderFeatureInfo_ROVs = 0x1000;
14051405
const uint64_t
14061406
ShaderFeatureInfo_ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer =
14071407
0x2000;
1408-
const uint64_t ShaderFeatureInfo_WaveOps = 0x4000;
1409-
const uint64_t ShaderFeatureInfo_Int64Ops = 0x8000;
1410-
const uint64_t ShaderFeatureInfo_ViewID = 0x10000;
1411-
const uint64_t ShaderFeatureInfo_Barycentrics = 0x20000;
1412-
const uint64_t ShaderFeatureInfo_NativeLowPrecision = 0x40000;
1413-
const uint64_t ShaderFeatureInfo_ShadingRate = 0x80000;
1414-
const uint64_t ShaderFeatureInfo_Raytracing_Tier_1_1 = 0x100000;
1415-
const uint64_t ShaderFeatureInfo_SamplerFeedback = 0x200000;
1416-
const uint64_t ShaderFeatureInfo_AtomicInt64OnTypedResource = 0x400000;
1417-
const uint64_t ShaderFeatureInfo_AtomicInt64OnGroupShared = 0x800000;
1418-
const uint64_t ShaderFeatureInfo_DerivativesInMeshAndAmpShaders = 0x1000000;
1419-
const uint64_t ShaderFeatureInfo_AtomicInt64OnHeapResource = 0x2000000;
1420-
1421-
const unsigned ShaderFeatureInfoCount = 26;
1408+
const uint64_t ShaderFeatureInfo_WaveOps = 0x4000;
1409+
const uint64_t ShaderFeatureInfo_Int64Ops = 0x8000;
1410+
const uint64_t ShaderFeatureInfo_ViewID = 0x10000;
1411+
const uint64_t ShaderFeatureInfo_Barycentrics = 0x20000;
1412+
const uint64_t ShaderFeatureInfo_NativeLowPrecision = 0x40000;
1413+
const uint64_t ShaderFeatureInfo_ShadingRate = 0x80000;
1414+
const uint64_t ShaderFeatureInfo_Raytracing_Tier_1_1 = 0x100000;
1415+
const uint64_t ShaderFeatureInfo_SamplerFeedback = 0x200000;
1416+
const uint64_t ShaderFeatureInfo_AtomicInt64OnTypedResource = 0x400000;
1417+
const uint64_t ShaderFeatureInfo_AtomicInt64OnGroupShared = 0x800000;
1418+
const uint64_t ShaderFeatureInfo_DerivativesInMeshAndAmpShaders = 0x1000000;
1419+
const uint64_t ShaderFeatureInfo_ResourceDescriptorHeapIndexing = 0x2000000;
1420+
const uint64_t ShaderFeatureInfo_SamplerDescriptorHeapIndexing = 0x4000000;
1421+
1422+
const uint64_t ShaderFeatureInfo_AtomicInt64OnHeapResource = 0x10000000;
1423+
1424+
const unsigned ShaderFeatureInfoCount = 29;
14221425

14231426
// DxilSubobjectType must match D3D12_STATE_SUBOBJECT_TYPE, with
14241427
// certain values reserved, since they cannot be used from Dxil.

tools/clang/tools/dxcompiler/dxcdisassembler.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,9 @@ PCSTR g_pFeatureInfoNames[] = {
343343
"64-bit Atomics on Typed Resources",
344344
"64-bit Atomics on Group Shared",
345345
"Derivatives in mesh and amplification shaders",
346+
"Resource descriptor heap indexing",
347+
"Sampler descriptor heap indexing",
348+
"<RESERVED>",
346349
"64-bit Atomics on Heap Resources",
347350
};
348351
static_assert(_countof(g_pFeatureInfoNames) == ShaderFeatureInfoCount, "g_pFeatureInfoNames needs to be updated");

0 commit comments

Comments
 (0)