@@ -13,43 +13,58 @@ CONTAINER_PART(PSG1)
13
13
14
14
#ifdef SHADER_FEATURE_FLAG
15
15
16
- SHADER_FEATURE_FLAG(0, Doubles, "Double-precision floating point")
17
- SHADER_FEATURE_FLAG(1, ComputeShadersPlusRawAndStructuredBuffers, "Raw and Structured buffers")
18
- SHADER_FEATURE_FLAG(2, UAVsAtEveryStage, "UAVs at every shader stage")
19
- SHADER_FEATURE_FLAG(3, Max64UAVs, "64 UAV slots")
20
- SHADER_FEATURE_FLAG(4, MinimumPrecision, "Minimum-precision data types")
21
- SHADER_FEATURE_FLAG(5, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
22
- SHADER_FEATURE_FLAG(6, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
23
- SHADER_FEATURE_FLAG(7, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
24
- SHADER_FEATURE_FLAG(8, TiledResources, "Tiled resources")
25
- SHADER_FEATURE_FLAG(9, StencilRef, "PS Output Stencil Ref")
26
- SHADER_FEATURE_FLAG(10, InnerCoverage, "PS Inner Coverage")
27
- SHADER_FEATURE_FLAG(11, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
28
- SHADER_FEATURE_FLAG(12, ROVs, "Raster Ordered UAVs")
29
- SHADER_FEATURE_FLAG(13, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
30
- SHADER_FEATURE_FLAG(14, WaveOps, "Wave level operations")
31
- SHADER_FEATURE_FLAG(15, Int64Ops, "64-Bit integer")
32
- SHADER_FEATURE_FLAG(16, ViewID, "View Instancing")
33
- SHADER_FEATURE_FLAG(17, Barycentrics, "Barycentrics")
34
- SHADER_FEATURE_FLAG(18, NativeLowPrecision, "Use native low precision")
35
- SHADER_FEATURE_FLAG(19, ShadingRate, "Shading Rate")
36
- SHADER_FEATURE_FLAG(20, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
37
- SHADER_FEATURE_FLAG(21, SamplerFeedback, "Sampler feedback")
38
- SHADER_FEATURE_FLAG(22, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
39
- SHADER_FEATURE_FLAG(23, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
40
- SHADER_FEATURE_FLAG(24, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
41
- SHADER_FEATURE_FLAG(25, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
42
- SHADER_FEATURE_FLAG(26, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
43
- SHADER_FEATURE_FLAG(27, RESERVED, "<RESERVED>")
44
- SHADER_FEATURE_FLAG(28, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
45
- SHADER_FEATURE_FLAG(29, AdvancedTextureOps, "Advanced Texture Ops")
46
- SHADER_FEATURE_FLAG(30, WriteableMSAATextures, "Writeable MSAA Textures")
47
-
48
- SHADER_FEATURE_FLAG(31, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
16
+ // SHADER_FEATURE_FLAG(bit offset for the flag, bit offset for DXIL module flag, name, description.
17
+
18
+ SHADER_FEATURE_FLAG(0, 2, Doubles, "Double-precision floating point")
19
+ SHADER_FEATURE_FLAG(1, 4, ComputeShadersPlusRawAndStructuredBuffers, "Raw and Structured buffers")
20
+ SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage")
21
+ SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots")
22
+ SHADER_FEATURE_FLAG(4, 5, MinimumPrecision, "Minimum-precision data types")
23
+ SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
24
+ SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
25
+ SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
26
+ SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources")
27
+ SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref")
28
+ SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage")
29
+ SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
30
+ SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs")
31
+ SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
32
+ SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations")
33
+ SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer")
34
+ SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing")
35
+ SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics")
36
+ SHADER_FEATURE_FLAG(18, 23, NativeLowPrecision, "Use native low precision")
37
+ SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate")
38
+ SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
39
+ SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback")
40
+ SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
41
+ SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
42
+ SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
43
+ SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
44
+ SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
45
+ SHADER_FEATURE_FLAG(27, 63, RESERVED, "<RESERVED>")
46
+ SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
47
+ SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops")
48
+ SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures")
49
+
50
+ SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
49
51
50
52
#undef SHADER_FEATURE_FLAG
51
53
#endif
52
54
55
+ #ifdef DXIL_MODULE_FLAG
56
+
57
+ // Only save DXIL module flags which not map to feature flags here.
58
+ DXIL_MODULE_FLAG( 0, DisableOptimizations, "D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION")
59
+ DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED")
60
+ DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL")
61
+ DXIL_MODULE_FLAG( 8, AllResourcesBound, "D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND")
62
+ DXIL_MODULE_FLAG(17, CSRawAndStructuredViaShader4X, "SHADER_FEATURE_COMPUTE_SHADERS_PLUS_RAW_AND_STRUCTURED_BUFFERS_VIA_SHADER_4_X")
63
+ DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV")
64
+
65
+ #undef DXIL_MODULE_FLAG
66
+ #endif
67
+
53
68
#ifdef SEMANTIC_KIND
54
69
55
70
SEMANTIC_KIND(0, Arbitrary)
0 commit comments