From bc1bd787251114ff4b5cd755ffa066617ba32667 Mon Sep 17 00:00:00 2001 From: Icohedron Date: Fri, 28 Mar 2025 21:27:19 +0000 Subject: [PATCH 1/8] [NFC] Revise descriptions of DXIL module flags --- .../llvm/BinaryFormat/DXContainerConstants.def | 16 ++++++++-------- .../DirectX/ShaderFlags/disable-opt-cs.ll | 2 +- .../DirectX/ShaderFlags/disable-opt-lib.ll | 2 +- .../CodeGen/DirectX/ShaderFlags/low-precision.ll | 2 +- .../ShaderFlags/raw-and-structured-buffers.ll | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def index 6d44ea14df444..8bf7048df1b56 100644 --- a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def +++ b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def @@ -17,7 +17,7 @@ CONTAINER_PART(PSG1) // SHADER_FEATURE_FLAG(bit offset for the shader info flag, bit offset for DXIL module flag, name, description. SHADER_FEATURE_FLAG(0, 2, Doubles, "Double-precision floating point") -SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "Raw and Structured buffers") +SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "CS4 raw and structured buffers") SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage") SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots") SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types") @@ -76,13 +76,13 @@ ROOT_ELEMENT_FLAG(11, SamplerHeapDirectlyIndexed) #ifdef DXIL_MODULE_FLAG // Only save DXIL module flags which not map to feature flags here. -DXIL_MODULE_FLAG( 0, DisableOptimizations, "D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION") -DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED") -DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL") -DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and Structured buffers") -DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION") -DXIL_MODULE_FLAG( 8, AllResourcesBound, "D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND") -DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16bit types enabled") +DXIL_MODULE_FLAG( 0, DisableOptimizations, "Disable shader optimizations") +DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring") +DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test") +DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers") +DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types") +DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound") +DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16-bit types enabled") DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV") #undef DXIL_MODULE_FLAG diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll index 421c8b67350c2..8bf242fdbec67 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll @@ -5,7 +5,7 @@ ; CHECK-NEXT: ; Shader Flags Value: 0x00000001 ; CHECK: ; Note: extra DXIL module flags: -; CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION +; CHECK-NEXT: ; Disable shader optimizations ; CHECK: ; Shader Flags for Module Functions ; CHECK: ; Function main : 0x00000000 diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll index 240bd314cd1b2..3bf582cc2e255 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll @@ -5,7 +5,7 @@ ; CHECK-NEXT: ; Shader Flags Value: 0x00000001 ; CHECK: ; Note: extra DXIL module flags: -; CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION +; CHECK-NEXT: ; Disable shader optimizations ; CHECK: ; Shader Flags for Module Functions ; CHECK: ; Function main : 0x00000000 diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll index fd25a165bfe8d..73f1d5d2456af 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll @@ -8,7 +8,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ;CHECK-NEXT: ; ;CHECK-NEXT: ; Note: shader requires additional functionality: ;CHECK-NEXT: ; Note: extra DXIL module flags: -;CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION +;CHECK-NEXT: ; Low-precision data types ;CHECK-NEXT: ; ;CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll index 9cb83c4e992ba..03112b60c8811 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll @@ -9,7 +9,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: Shader Flags Value: 0x00000010 ; CHECK: Note: shader requires additional functionality: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK: Function rawbuf : 0x00000010 define float @rawbuf() "hlsl.export" { From 86d19701f27e28cb7e6602efa26f9b46e0523abd Mon Sep 17 00:00:00 2001 From: Icohedron Date: Wed, 2 Apr 2025 00:44:48 +0000 Subject: [PATCH 2/8] Update flags to match documentation in DXC --- .../BinaryFormat/DXContainerConstants.def | 44 ++++++++++--------- llvm/lib/Target/DirectX/DXILShaderFlags.cpp | 4 +- .../ShaderFlags/double-extensions-obj-test.ll | 2 +- .../DirectX/ShaderFlags/double-extensions.ll | 4 +- .../CodeGen/DirectX/ShaderFlags/int64ops.ll | 2 +- .../propagate-function-flags-test.ll | 4 +- .../typed-uav-load-additional-formats.ll | 2 +- .../CodeGen/DirectX/ShaderFlags/wave-ops.ll | 2 +- 8 files changed, 33 insertions(+), 31 deletions(-) diff --git a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def index 8bf7048df1b56..9d1dea546f99c 100644 --- a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def +++ b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def @@ -21,34 +21,36 @@ SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "CS4 raw SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage") SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots") SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types") -SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1") -SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1") +SHADER_FEATURE_FLAG(5, 6, DoubleExtensions, "Double-precision extensions") +SHADER_FEATURE_FLAG(6, 7, EnableMSAD, "Masked sum of absolute differences") SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9") SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources") -SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref") -SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage") -SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats") -SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs") -SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer") -SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations") -SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer") -SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing") +SHADER_FEATURE_FLAG(9, 11, StencilRef, "Stencil reference value") +SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "Inner coverage") +SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV load additional formats") +SHADER_FEATURE_FLAG(12, 18, ROVs, "Rasterizer order views") +SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "View port or render target array index from any shader feeding rasterizer") +SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave-level operations") +SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-bit integers") +SHADER_FEATURE_FLAG(16, 21, ViewID, "View instancing") SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics") -SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low precision") -SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate") +SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low-precision data types") +SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Variable-rate shading") SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features") SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback") -SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources") -SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared") +SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit integer atomics on typed resources") +SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit integer atomics on group shared") SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders") SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing") SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing") -SHADER_FEATURE_FLAG(27, 63, RESERVED, "") -SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources") -SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops") -SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures") +SHADER_FEATURE_FLAG(27, 36, RESERVED, "") +SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit integer atomics on descriptor heap resources") +SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced texture operations") +SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA textures") +SHADER_FEATURE_FLAG(31, 37, ExtendedComparisonSampling, "Expanded comparison sampling") +SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information") -SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)") +SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)") #undef SHADER_FEATURE_FLAG #endif // SHADER_FEATURE_FLAG @@ -81,8 +83,8 @@ DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring") DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test") DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers") DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types") -DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound") -DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16-bit types enabled") +DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound for the duration of shader execution") +DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Use native low-precision data types") DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV") #undef DXIL_MODULE_FLAG diff --git a/llvm/lib/Target/DirectX/DXILShaderFlags.cpp b/llvm/lib/Target/DirectX/DXILShaderFlags.cpp index babf495220393..36e1fa309b61c 100644 --- a/llvm/lib/Target/DirectX/DXILShaderFlags.cpp +++ b/llvm/lib/Target/DirectX/DXILShaderFlags.cpp @@ -94,7 +94,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF, case Instruction::SIToFP: case Instruction::FPToUI: case Instruction::FPToSI: - CSF.DX11_1_DoubleExtensions = true; + CSF.DoubleExtensions = true; break; } } @@ -154,7 +154,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF, if (FunctionFlags.contains(CF)) CSF.merge(FunctionFlags[CF]); - // TODO: Set DX11_1_DoubleExtensions if I is a call to DXIL intrinsic + // TODO: Set DoubleExtensions if I is a call to DXIL intrinsic // DXIL::Opcode::Fma https://github.com/llvm/llvm-project/issues/114554 CSF.WaveOps |= checkWaveOps(CI->getIntrinsicID()); diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll index 02a4c2090499a..6cfc72f94452f 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll @@ -12,5 +12,5 @@ attributes #0 = { convergent norecurse nounwind "hlsl.export"} ; CHECK-NEXT: Size: 8 ; CHECK-NEXT: Flags: ; CHECK: Doubles: true -; CHECK: DX11_1_DoubleExtensions: true +; CHECK: DoubleExtensions: true diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll index dd8ea5f5b1aec..250ab534c39e3 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll @@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK: ; Note: shader requires additional functionality: ; CHECK-NEXT: ; Double-precision floating point -; CHECK-NEXT: ; Double-precision extensions for 11.1 -; CHECK-NEXT: ; 64-Bit integer +; CHECK-NEXT: ; Double-precision extensions +; CHECK-NEXT: ; 64-bit integer ; CHECK-NEXT: ; Note: extra DXIL module flags: ; CHECK-NEXT: ; ; CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll index 320c775e7130e..e142a609fe8a8 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll @@ -7,7 +7,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ;CHECK-NEXT: ; Shader Flags Value: 0x00100000 ;CHECK-NEXT: ; ;CHECK-NEXT: ; Note: shader requires additional functionality: -;CHECK-NEXT: ; 64-Bit integer +;CHECK-NEXT: ; 64-bit integer ;CHECK-NEXT: ; Note: extra DXIL module flags: ;CHECK-NEXT: ; ;CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll index 8dee842e85e44..e90e5bcb8cdb7 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll @@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: ; ; CHECK-NEXT: ; Note: shader requires additional functionality: ; CHECK-NEXT: ; Double-precision floating point -; CHECK-NEXT: ; Double-precision extensions for 11.1 -; CHECK-NEXT: ; 64-Bit integer +; CHECK-NEXT: ; Double-precision extensions +; CHECK-NEXT: ; 64-bit integer ; CHECK-NEXT: ; Note: extra DXIL module flags: ; CHECK-NEXT: ; ; CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll index 060d54f961c70..ac931cea4fad0 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll @@ -11,7 +11,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: Shader Flags Value: 0x00002000 ; CHECK: Note: shader requires additional functionality: -; CHECK: Typed UAV Load Additional Formats +; CHECK: Typed UAV load additional formats ; CHECK: Function multicomponent : 0x00002000 define <4 x float> @multicomponent() #0 { diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll index 7a876f67615cd..e78718e212993 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll @@ -5,7 +5,7 @@ ; ; CHECK: ; Shader Flags Value: [[WAVE_FLAG:0x00080000]] ; CHECK: ; Note: shader requires additional functionality: -; CHECK-NEXT: ; Wave level operations +; CHECK-NEXT: ; Wave-level operations ; CHECK-NEXT: ; Note: extra DXIL module flags: target triple = "dxil-pc-shadermodel6.7-library" From a6aed2bdc1ce6373f9c59163dafc5198cf0c0169 Mon Sep 17 00:00:00 2001 From: Icohedron Date: Wed, 2 Apr 2025 17:43:46 +0000 Subject: [PATCH 3/8] Revert "Update flags to match documentation in DXC" This reverts commit 86d19701f27e28cb7e6602efa26f9b46e0523abd. --- .../BinaryFormat/DXContainerConstants.def | 44 +++++++++---------- llvm/lib/Target/DirectX/DXILShaderFlags.cpp | 4 +- .../ShaderFlags/double-extensions-obj-test.ll | 2 +- .../DirectX/ShaderFlags/double-extensions.ll | 4 +- .../CodeGen/DirectX/ShaderFlags/int64ops.ll | 2 +- .../propagate-function-flags-test.ll | 4 +- .../typed-uav-load-additional-formats.ll | 2 +- .../CodeGen/DirectX/ShaderFlags/wave-ops.ll | 2 +- 8 files changed, 31 insertions(+), 33 deletions(-) diff --git a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def index 9d1dea546f99c..8bf7048df1b56 100644 --- a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def +++ b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def @@ -21,36 +21,34 @@ SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "CS4 raw SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage") SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots") SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types") -SHADER_FEATURE_FLAG(5, 6, DoubleExtensions, "Double-precision extensions") -SHADER_FEATURE_FLAG(6, 7, EnableMSAD, "Masked sum of absolute differences") +SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1") +SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1") SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9") SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources") -SHADER_FEATURE_FLAG(9, 11, StencilRef, "Stencil reference value") -SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "Inner coverage") -SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV load additional formats") -SHADER_FEATURE_FLAG(12, 18, ROVs, "Rasterizer order views") -SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "View port or render target array index from any shader feeding rasterizer") -SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave-level operations") -SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-bit integers") -SHADER_FEATURE_FLAG(16, 21, ViewID, "View instancing") +SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref") +SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage") +SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats") +SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs") +SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer") +SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations") +SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer") +SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing") SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics") -SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low-precision data types") -SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Variable-rate shading") +SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low precision") +SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate") SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features") SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback") -SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit integer atomics on typed resources") -SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit integer atomics on group shared") +SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources") +SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared") SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders") SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing") SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing") -SHADER_FEATURE_FLAG(27, 36, RESERVED, "") -SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit integer atomics on descriptor heap resources") -SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced texture operations") -SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA textures") -SHADER_FEATURE_FLAG(31, 37, ExtendedComparisonSampling, "Expanded comparison sampling") -SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information") +SHADER_FEATURE_FLAG(27, 63, RESERVED, "") +SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources") +SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops") +SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures") -SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)") +SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)") #undef SHADER_FEATURE_FLAG #endif // SHADER_FEATURE_FLAG @@ -83,8 +81,8 @@ DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring") DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test") DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers") DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types") -DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound for the duration of shader execution") -DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Use native low-precision data types") +DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound") +DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16-bit types enabled") DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV") #undef DXIL_MODULE_FLAG diff --git a/llvm/lib/Target/DirectX/DXILShaderFlags.cpp b/llvm/lib/Target/DirectX/DXILShaderFlags.cpp index 36e1fa309b61c..babf495220393 100644 --- a/llvm/lib/Target/DirectX/DXILShaderFlags.cpp +++ b/llvm/lib/Target/DirectX/DXILShaderFlags.cpp @@ -94,7 +94,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF, case Instruction::SIToFP: case Instruction::FPToUI: case Instruction::FPToSI: - CSF.DoubleExtensions = true; + CSF.DX11_1_DoubleExtensions = true; break; } } @@ -154,7 +154,7 @@ void ModuleShaderFlags::updateFunctionFlags(ComputedShaderFlags &CSF, if (FunctionFlags.contains(CF)) CSF.merge(FunctionFlags[CF]); - // TODO: Set DoubleExtensions if I is a call to DXIL intrinsic + // TODO: Set DX11_1_DoubleExtensions if I is a call to DXIL intrinsic // DXIL::Opcode::Fma https://github.com/llvm/llvm-project/issues/114554 CSF.WaveOps |= checkWaveOps(CI->getIntrinsicID()); diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll index 6cfc72f94452f..02a4c2090499a 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions-obj-test.ll @@ -12,5 +12,5 @@ attributes #0 = { convergent norecurse nounwind "hlsl.export"} ; CHECK-NEXT: Size: 8 ; CHECK-NEXT: Flags: ; CHECK: Doubles: true -; CHECK: DoubleExtensions: true +; CHECK: DX11_1_DoubleExtensions: true diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll index 250ab534c39e3..dd8ea5f5b1aec 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll @@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK: ; Note: shader requires additional functionality: ; CHECK-NEXT: ; Double-precision floating point -; CHECK-NEXT: ; Double-precision extensions -; CHECK-NEXT: ; 64-bit integer +; CHECK-NEXT: ; Double-precision extensions for 11.1 +; CHECK-NEXT: ; 64-Bit integer ; CHECK-NEXT: ; Note: extra DXIL module flags: ; CHECK-NEXT: ; ; CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll index e142a609fe8a8..320c775e7130e 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll @@ -7,7 +7,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ;CHECK-NEXT: ; Shader Flags Value: 0x00100000 ;CHECK-NEXT: ; ;CHECK-NEXT: ; Note: shader requires additional functionality: -;CHECK-NEXT: ; 64-bit integer +;CHECK-NEXT: ; 64-Bit integer ;CHECK-NEXT: ; Note: extra DXIL module flags: ;CHECK-NEXT: ; ;CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll index e90e5bcb8cdb7..8dee842e85e44 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll @@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: ; ; CHECK-NEXT: ; Note: shader requires additional functionality: ; CHECK-NEXT: ; Double-precision floating point -; CHECK-NEXT: ; Double-precision extensions -; CHECK-NEXT: ; 64-bit integer +; CHECK-NEXT: ; Double-precision extensions for 11.1 +; CHECK-NEXT: ; 64-Bit integer ; CHECK-NEXT: ; Note: extra DXIL module flags: ; CHECK-NEXT: ; ; CHECK-NEXT: ; Shader Flags for Module Functions diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll index ac931cea4fad0..060d54f961c70 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll @@ -11,7 +11,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: Shader Flags Value: 0x00002000 ; CHECK: Note: shader requires additional functionality: -; CHECK: Typed UAV load additional formats +; CHECK: Typed UAV Load Additional Formats ; CHECK: Function multicomponent : 0x00002000 define <4 x float> @multicomponent() #0 { diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll index e78718e212993..7a876f67615cd 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll @@ -5,7 +5,7 @@ ; ; CHECK: ; Shader Flags Value: [[WAVE_FLAG:0x00080000]] ; CHECK: ; Note: shader requires additional functionality: -; CHECK-NEXT: ; Wave-level operations +; CHECK-NEXT: ; Wave level operations ; CHECK-NEXT: ; Note: extra DXIL module flags: target triple = "dxil-pc-shadermodel6.7-library" From c41732379bc135d583b9059303854cae7aec7321 Mon Sep 17 00:00:00 2001 From: Icohedron Date: Wed, 2 Apr 2025 17:49:27 +0000 Subject: [PATCH 4/8] Update flags to match the bits and descriptions in the DXC documentation --- .../include/llvm/BinaryFormat/DXContainerConstants.def | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def index 8bf7048df1b56..a2401d5315657 100644 --- a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def +++ b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def @@ -43,12 +43,14 @@ SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group S SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders") SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing") SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing") -SHADER_FEATURE_FLAG(27, 63, RESERVED, "") +SHADER_FEATURE_FLAG(27, 36, RESERVED, "") SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources") SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops") SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures") +SHADER_FEATURE_FLAG(31, 37, ExtendedComparisonSampling, "Expanded comparison sampling") +SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information") -SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)") +SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)") #undef SHADER_FEATURE_FLAG #endif // SHADER_FEATURE_FLAG @@ -81,8 +83,8 @@ DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring") DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test") DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers") DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types") -DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound") -DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16-bit types enabled") +DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound for the duration of shader execution") +DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Use native low precision") DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV") #undef DXIL_MODULE_FLAG From e77d37e22cf58a90f9a8f6fe88d58b6529d80602 Mon Sep 17 00:00:00 2001 From: Icohedron Date: Thu, 3 Apr 2025 20:12:26 +0000 Subject: [PATCH 5/8] Rename ExtendedComparisonSampling to match DXC documentation --- llvm/include/llvm/BinaryFormat/DXContainerConstants.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def index a2401d5315657..0052bb3acedaa 100644 --- a/llvm/include/llvm/BinaryFormat/DXContainerConstants.def +++ b/llvm/include/llvm/BinaryFormat/DXContainerConstants.def @@ -47,7 +47,7 @@ SHADER_FEATURE_FLAG(27, 36, RESERVED, "") SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources") SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops") SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures") -SHADER_FEATURE_FLAG(31, 37, ExtendedComparisonSampling, "Expanded comparison sampling") +SHADER_FEATURE_FLAG(31, 37, SampleCmpWithGradientOrBias, "SampleCmp with gradient or bias") SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information") SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)") From 20a23299bd2c91dd3f55b659e15434de4d74d99f Mon Sep 17 00:00:00 2001 From: Icohedron Date: Thu, 3 Apr 2025 20:16:57 +0000 Subject: [PATCH 6/8] Fix DXContainer YAML tests to account for the new shader flags --- llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml | 2 ++ llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml | 2 ++ llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml | 2 ++ llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml | 4 ++++ llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml | 2 ++ 5 files changed, 12 insertions(+) diff --git a/llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml b/llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml index 1a2f341f03ef7..18eeb8a03cfb0 100644 --- a/llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml +++ b/llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml @@ -44,6 +44,8 @@ Parts: AtomicInt64OnHeapResource: false AdvancedTextureOps: false WriteableMSAATextures: false + SampleCmpWithGradientOrBias: false + ExtendedCommandInfo: false NextUnusedBit: false - Name: ISG1 Size: 52 diff --git a/llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml b/llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml index bf29d0866b362..ffbc375ce7529 100644 --- a/llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml +++ b/llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml @@ -44,6 +44,8 @@ Parts: AtomicInt64OnHeapResource: false AdvancedTextureOps: false WriteableMSAATextures: false + SampleCmpWithGradientOrBias: false + ExtendedCommandInfo: false NextUnusedBit: false - Name: ISG1 Size: 120 diff --git a/llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml b/llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml index 0eaa2f8e97fb9..4885d70b47b64 100644 --- a/llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml +++ b/llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml @@ -44,6 +44,8 @@ Parts: AtomicInt64OnHeapResource: false AdvancedTextureOps: false WriteableMSAATextures: false + SampleCmpWithGradientOrBias: false + ExtendedCommandInfo: false NextUnusedBit: false - Name: ISG1 Size: 60 diff --git a/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml b/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml index 165b397c14577..0ed21dfca31df 100644 --- a/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml +++ b/llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml @@ -44,6 +44,8 @@ Parts: AtomicInt64OnHeapResource: false AdvancedTextureOps: true WriteableMSAATextures: false + SampleCmpWithGradientOrBias: false + ExtendedCommandInfo: false NextUnusedBit: true - Name: FKE0 Size: 8 @@ -84,4 +86,6 @@ Parts: # CHECK-NEXT: AtomicInt64OnHeapResource: false # CHECK-NEXT: AdvancedTextureOps: true # CHECK-NEXT: WriteableMSAATextures: false +# CHECK-NEXT: SampleCmpWithGradientOrBias: false +# CHECK-NEXT: ExtendedCommandInfo: false # CHECK-NEXT: NextUnusedBit: true diff --git a/llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml b/llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml index 086c7e90dcd5f..a8bd5aaa6be59 100644 --- a/llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml +++ b/llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml @@ -43,6 +43,8 @@ Parts: AtomicInt64OnHeapResource: false AdvancedTextureOps: false WriteableMSAATextures: false + SampleCmpWithGradientOrBias: false + ExtendedCommandInfo: false NextUnusedBit: false - Name: FKE0 Size: 8 From 444fec9a1d8b393a55b0ca278a22d1fa7a44cb9b Mon Sep 17 00:00:00 2001 From: Icohedron Date: Thu, 10 Apr 2025 23:09:41 +0000 Subject: [PATCH 7/8] Fixup use-native-low-precision.ll test to use the updated module flag descriptions --- .../CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll index 98e9a5fa7b241..07c4b9064d666 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll @@ -7,8 +7,8 @@ target triple = "dxil-pc-shadermodel6.7-library" ;CHECK-NEXT: ; ;CHECK-NEXT: ; Note: shader requires additional functionality: ;CHECK-NEXT: ; Note: extra DXIL module flags: -;CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION -;CHECK-NEXT: ; Native 16bit types enabled +;CHECK-NEXT: ; Low-precision data types +;CHECK-NEXT: ; Use native low precision ;CHECK-NEXT: ; ;CHECK-NEXT: ; Shader Flags for Module Functions From 3702e7e8319d9b8c39352fa707ebbda8547dd025 Mon Sep 17 00:00:00 2001 From: Icohedron Date: Mon, 28 Apr 2025 23:02:34 +0000 Subject: [PATCH 8/8] Merge changes to ResMayAlias and UseNativeLowPrecision shader flag tests with this PR --- llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll | 2 +- llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll | 2 +- .../test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll | 2 +- .../test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll | 2 +- .../CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll | 2 +- .../CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll index 77d80470d6501..c934af62f4c9b 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll @@ -10,7 +10,7 @@ target triple = "dxil-pc-shadermodel6.8-library" ; CHECK-NEXT: Shader Flags Value: 0x200000010 ; CHECK: Note: extra DXIL module flags: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK: Any UAV may not alias any other UAV ; diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll index edd3250a2db0d..4c75c7886e776 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll @@ -10,7 +10,7 @@ target triple = "dxil-pc-shadermodel6.8-library" ; CHECK-NEXT: Shader Flags Value: 0x00000010 ; CHECK: Note: extra DXIL module flags: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK-NOT: Any UAV may not alias any other UAV ; diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll index e7828c6569912..9dba2b7f98c3b 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll @@ -10,7 +10,7 @@ target triple = "dxil-pc-shadermodel6.6-library" ; CHECK-NEXT: Shader Flags Value: 0x00000010 ; CHECK: Note: extra DXIL module flags: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK-NOT: Any UAV may not alias any other UAV ; diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll index da75a3dfc7cd5..ce4b4d499da72 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll @@ -11,7 +11,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: Shader Flags Value: 0x200000010 ; CHECK: Note: extra DXIL module flags: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK: Any UAV may not alias any other UAV ; diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll index a5be9f5bc69a9..4ba74a1a9ff28 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll @@ -11,7 +11,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ; CHECK-NEXT: Shader Flags Value: 0x200000010 ; CHECK: Note: extra DXIL module flags: -; CHECK: Raw and Structured buffers +; CHECK: Raw and structured buffers ; CHECK: Any UAV may not alias any other UAV ; diff --git a/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll b/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll index 4c9040706189d..c537a01482f39 100644 --- a/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll +++ b/llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll @@ -10,7 +10,7 @@ target triple = "dxil-pc-shadermodel6.7-library" ;CHECK-NEXT: ; ;CHECK-NEXT: ; Note: shader requires additional functionality: ;CHECK-NEXT: ; Note: extra DXIL module flags: -;CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION +;CHECK-NEXT: ; Low-precision data types ;CHECK-NOT: ; Native 16bit types enabled ;CHECK-NEXT: ; ;CHECK-NEXT: ; Shader Flags for Module Functions