Skip to content

Commit 86d1970

Browse files
committed
Update flags to match documentation in DXC
1 parent bc1bd78 commit 86d1970

File tree

8 files changed

+33
-31
lines changed

8 files changed

+33
-31
lines changed

llvm/include/llvm/BinaryFormat/DXContainerConstants.def

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,36 @@ SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "CS4 raw
2121
SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage")
2222
SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots")
2323
SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types")
24-
SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
25-
SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
24+
SHADER_FEATURE_FLAG(5, 6, DoubleExtensions, "Double-precision extensions")
25+
SHADER_FEATURE_FLAG(6, 7, EnableMSAD, "Masked sum of absolute differences")
2626
SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
2727
SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources")
28-
SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref")
29-
SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage")
30-
SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
31-
SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs")
32-
SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
33-
SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations")
34-
SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer")
35-
SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing")
28+
SHADER_FEATURE_FLAG(9, 11, StencilRef, "Stencil reference value")
29+
SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "Inner coverage")
30+
SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV load additional formats")
31+
SHADER_FEATURE_FLAG(12, 18, ROVs, "Rasterizer order views")
32+
SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "View port or render target array index from any shader feeding rasterizer")
33+
SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave-level operations")
34+
SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-bit integers")
35+
SHADER_FEATURE_FLAG(16, 21, ViewID, "View instancing")
3636
SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics")
37-
SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low precision")
38-
SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate")
37+
SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low-precision data types")
38+
SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Variable-rate shading")
3939
SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
4040
SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback")
41-
SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
42-
SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
41+
SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit integer atomics on typed resources")
42+
SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit integer atomics on group shared")
4343
SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
4444
SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
4545
SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
46-
SHADER_FEATURE_FLAG(27, 63, RESERVED, "<RESERVED>")
47-
SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
48-
SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops")
49-
SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures")
46+
SHADER_FEATURE_FLAG(27, 36, RESERVED, "<RESERVED>")
47+
SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit integer atomics on descriptor heap resources")
48+
SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced texture operations")
49+
SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA textures")
50+
SHADER_FEATURE_FLAG(31, 37, ExtendedComparisonSampling, "Expanded comparison sampling")
51+
SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information")
5052

51-
SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
53+
SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
5254

5355
#undef SHADER_FEATURE_FLAG
5456
#endif // SHADER_FEATURE_FLAG
@@ -81,8 +83,8 @@ DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring")
8183
DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test")
8284
DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers")
8385
DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types")
84-
DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound")
85-
DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16-bit types enabled")
86+
DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound for the duration of shader execution")
87+
DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Use native low-precision data types")
8688
DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV")
8789

8890
#undef DXIL_MODULE_FLAG

llvm/lib/Target/DirectX/DXILShaderFlags.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF,
9494
case Instruction::SIToFP:
9595
case Instruction::FPToUI:
9696
case Instruction::FPToSI:
97-
CSF.DX11_1_DoubleExtensions = true;
97+
CSF.DoubleExtensions = true;
9898
break;
9999
}
100100
}
@@ -154,7 +154,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF,
154154
if (FunctionFlags.contains(CF))
155155
CSF.merge(FunctionFlags[CF]);
156156

157-
// TODO: Set DX11_1_DoubleExtensions if I is a call to DXIL intrinsic
157+
// TODO: Set DoubleExtensions if I is a call to DXIL intrinsic
158158
// DXIL::Opcode::Fma https://github.com/llvm/llvm-project/issues/114554
159159

160160
CSF.WaveOps |= checkWaveOps(CI->getIntrinsicID());

llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ attributes #0 = { convergent norecurse nounwind "hlsl.export"}
1212
; CHECK-NEXT: Size: 8
1313
; CHECK-NEXT: Flags:
1414
; CHECK: Doubles: true
15-
; CHECK: DX11_1_DoubleExtensions: true
15+
; CHECK: DoubleExtensions: true
1616

llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library"
77

88
; CHECK: ; Note: shader requires additional functionality:
99
; CHECK-NEXT: ; Double-precision floating point
10-
; CHECK-NEXT: ; Double-precision extensions for 11.1
11-
; CHECK-NEXT: ; 64-Bit integer
10+
; CHECK-NEXT: ; Double-precision extensions
11+
; CHECK-NEXT: ; 64-bit integer
1212
; CHECK-NEXT: ; Note: extra DXIL module flags:
1313
; CHECK-NEXT: ;
1414
; CHECK-NEXT: ; Shader Flags for Module Functions

llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ target triple = "dxil-pc-shadermodel6.7-library"
77
;CHECK-NEXT: ; Shader Flags Value: 0x00100000
88
;CHECK-NEXT: ;
99
;CHECK-NEXT: ; Note: shader requires additional functionality:
10-
;CHECK-NEXT: ; 64-Bit integer
10+
;CHECK-NEXT: ; 64-bit integer
1111
;CHECK-NEXT: ; Note: extra DXIL module flags:
1212
;CHECK-NEXT: ;
1313
;CHECK-NEXT: ; Shader Flags for Module Functions

llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library"
77
; CHECK-NEXT: ;
88
; CHECK-NEXT: ; Note: shader requires additional functionality:
99
; CHECK-NEXT: ; Double-precision floating point
10-
; CHECK-NEXT: ; Double-precision extensions for 11.1
11-
; CHECK-NEXT: ; 64-Bit integer
10+
; CHECK-NEXT: ; Double-precision extensions
11+
; CHECK-NEXT: ; 64-bit integer
1212
; CHECK-NEXT: ; Note: extra DXIL module flags:
1313
; CHECK-NEXT: ;
1414
; CHECK-NEXT: ; Shader Flags for Module Functions

llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ target triple = "dxil-pc-shadermodel6.7-library"
1111
; CHECK-NEXT: Shader Flags Value: 0x00002000
1212

1313
; CHECK: Note: shader requires additional functionality:
14-
; CHECK: Typed UAV Load Additional Formats
14+
; CHECK: Typed UAV load additional formats
1515

1616
; CHECK: Function multicomponent : 0x00002000
1717
define <4 x float> @multicomponent() #0 {

llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
;
66
; CHECK: ; Shader Flags Value: [[WAVE_FLAG:0x00080000]]
77
; CHECK: ; Note: shader requires additional functionality:
8-
; CHECK-NEXT: ; Wave level operations
8+
; CHECK-NEXT: ; Wave-level operations
99
; CHECK-NEXT: ; Note: extra DXIL module flags:
1010

1111
target triple = "dxil-pc-shadermodel6.7-library"

0 commit comments

Comments
 (0)