@@ -9,46 +9,63 @@ CONTAINER_PART(OSG1)
99CONTAINER_PART(PSG1)
1010
1111#undef CONTAINER_PART
12- #endif
12+ #endif // CONTAINER_PART
1313
1414#ifdef SHADER_FEATURE_FLAG
1515
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 shader info 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, 17, 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, -1, 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, -1, 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)")
4951
5052#undef SHADER_FEATURE_FLAG
51- #endif
53+ #endif // SHADER_FEATURE_FLAG
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( 4, EnableRawAndStructuredBuffers, "D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS")
62+ DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION")
63+ DXIL_MODULE_FLAG( 8, AllResourcesBound, "D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND")
64+ DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16bit types enabled")
65+ DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV")
66+
67+ #undef DXIL_MODULE_FLAG
68+ #endif // DXIL_MODULE_FLAG
5269
5370#ifdef SEMANTIC_KIND
5471
@@ -86,7 +103,7 @@ SEMANTIC_KIND(30, CullPrimitive)
86103SEMANTIC_KIND(30, Invalid)
87104
88105#undef SEMANTIC_KIND
89- #endif
106+ #endif // SEMANTIC_KIND
90107
91108#ifdef COMPONENT_TYPE
92109
@@ -102,7 +119,7 @@ COMPONENT_TYPE(8, SInt64)
102119COMPONENT_TYPE(9, Float64)
103120
104121#undef COMPONENT_TYPE
105- #endif
122+ #endif // COMPONENT_TYPE
106123
107124#ifdef COMPONENT_PRECISION
108125
@@ -116,7 +133,7 @@ COMPONENT_PRECISION(0xf0, Any16)
116133COMPONENT_PRECISION(0xf1, Any10)
117134
118135#undef COMPONENT_PRECISION
119- #endif
136+ #endif // COMPONENT_PRECISION
120137
121138#ifdef INTERPOLATION_MODE
122139
@@ -131,7 +148,7 @@ INTERPOLATION_MODE(7, LinearNoperspectiveSample)
131148INTERPOLATION_MODE(8, Invalid)
132149
133150#undef INTERPOLATION_MODE
134- #endif
151+ #endif // INTERPOLATION_MODE
135152
136153#ifdef D3D_SYSTEM_VALUE
137154
@@ -165,4 +182,4 @@ D3D_SYSTEM_VALUE(70, InnerCoverage)
165182
166183#undef D3D_SYSTEM_VALUE
167184
168- #endif
185+ #endif // D3D_SYSTEM_VALUE
0 commit comments