1
2#ifdef CONTAINER_PART
3CONTAINER_PART(DXIL)
4CONTAINER_PART(SFI0)
5CONTAINER_PART(HASH)
6CONTAINER_PART(PSV0)
7CONTAINER_PART(ISG1)
8CONTAINER_PART(OSG1)
9CONTAINER_PART(PSG1)
10
11#undef CONTAINER_PART
12#endif // CONTAINER_PART
13
14#ifdef SHADER_FEATURE_FLAG
15
16// SHADER_FEATURE_FLAG(bit offset for the shader info flag, bit offset for DXIL module flag, name, description.
17
18SHADER_FEATURE_FLAG(0, 2, Doubles, "Double-precision floating point")
19SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "Raw and Structured buffers")
20SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage")
21SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots")
22SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types")
23SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
24SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
25SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
26SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources")
27SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref")
28SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage")
29SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
30SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs")
31SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
32SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations")
33SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer")
34SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing")
35SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics")
36SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Use native low precision")
37SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate")
38SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
39SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback")
40SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
41SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
42SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
43SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
44SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
45SHADER_FEATURE_FLAG(27, 63, RESERVED, "<RESERVED>")
46SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
47SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops")
48SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures")
49
50SHADER_FEATURE_FLAG(31, 36, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
51
52#undef SHADER_FEATURE_FLAG
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.
58DXIL_MODULE_FLAG( 0, DisableOptimizations, "D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION")
59DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "D3D10_SB_GLOBAL_FLAG_REFACTORING_ALLOWED")
60DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "D3D11_SB_GLOBAL_FLAG_FORCE_EARLY_DEPTH_STENCIL")
61DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "D3D11_SB_GLOBAL_FLAG_ENABLE_RAW_AND_STRUCTURED_BUFFERS")
62DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION")
63DXIL_MODULE_FLAG( 8, AllResourcesBound, "D3D12_SB_GLOBAL_FLAG_ALL_RESOURCES_BOUND")
64DXIL_MODULE_FLAG(23, UseNativeLowPrecision, "Native 16bit types enabled")
65DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV")
66
67#undef DXIL_MODULE_FLAG
68#endif // DXIL_MODULE_FLAG
69
70#ifdef SEMANTIC_KIND
71
72SEMANTIC_KIND(0, Arbitrary)
73SEMANTIC_KIND(1, VertexID)
74SEMANTIC_KIND(2, InstanceID)
75SEMANTIC_KIND(3, Position)
76SEMANTIC_KIND(4, RenderTargetArrayIndex)
77SEMANTIC_KIND(5, ViewPortArrayIndex)
78SEMANTIC_KIND(6, ClipDistance)
79SEMANTIC_KIND(7, CullDistance)
80SEMANTIC_KIND(8, OutputControlPointID)
81SEMANTIC_KIND(9, DomainLocation)
82SEMANTIC_KIND(10, PrimitiveID)
83SEMANTIC_KIND(11, GSInstanceID)
84SEMANTIC_KIND(12, SampleIndex)
85SEMANTIC_KIND(13, IsFrontFace)
86SEMANTIC_KIND(14, Coverage)
87SEMANTIC_KIND(15, InnerCoverage)
88SEMANTIC_KIND(16, Target)
89SEMANTIC_KIND(17, Depth)
90SEMANTIC_KIND(18, DepthLessEqual)
91SEMANTIC_KIND(19, DepthGreaterEqual)
92SEMANTIC_KIND(20, StencilRef)
93SEMANTIC_KIND(21, DispatchThreadID)
94SEMANTIC_KIND(22, GroupID)
95SEMANTIC_KIND(23, GroupIndex)
96SEMANTIC_KIND(24, GroupThreadID)
97SEMANTIC_KIND(25, TessFactor)
98SEMANTIC_KIND(26, InsideTessFactor)
99SEMANTIC_KIND(27, ViewID)
100SEMANTIC_KIND(28, Barycentrics)
101SEMANTIC_KIND(29, ShadingRate)
102SEMANTIC_KIND(30, CullPrimitive)
103SEMANTIC_KIND(30, Invalid)
104
105#undef SEMANTIC_KIND
106#endif // SEMANTIC_KIND
107
108#ifdef COMPONENT_TYPE
109
110COMPONENT_TYPE(0, Unknown)
111COMPONENT_TYPE(1, UInt32)
112COMPONENT_TYPE(2, SInt32)
113COMPONENT_TYPE(3, Float32)
114COMPONENT_TYPE(4, UInt16)
115COMPONENT_TYPE(5, SInt16)
116COMPONENT_TYPE(6, Float16)
117COMPONENT_TYPE(7, UInt64)
118COMPONENT_TYPE(8, SInt64)
119COMPONENT_TYPE(9, Float64)
120
121#undef COMPONENT_TYPE
122#endif // COMPONENT_TYPE
123
124#ifdef COMPONENT_PRECISION
125
126COMPONENT_PRECISION(0, Default)
127COMPONENT_PRECISION(1, Float16)
128COMPONENT_PRECISION(2, Float2_8)
129COMPONENT_PRECISION(3, Reserved)
130COMPONENT_PRECISION(4, SInt16)
131COMPONENT_PRECISION(5, UInt16)
132COMPONENT_PRECISION(0xf0, Any16)
133COMPONENT_PRECISION(0xf1, Any10)
134
135#undef COMPONENT_PRECISION
136#endif // COMPONENT_PRECISION
137
138#ifdef INTERPOLATION_MODE
139
140INTERPOLATION_MODE(0, Undefined)
141INTERPOLATION_MODE(1, Constant)
142INTERPOLATION_MODE(2, Linear)
143INTERPOLATION_MODE(3, LinearCentroid)
144INTERPOLATION_MODE(4, LinearNoperspective)
145INTERPOLATION_MODE(5, LinearNoperspectiveCentroid)
146INTERPOLATION_MODE(6, LinearSample)
147INTERPOLATION_MODE(7, LinearNoperspectiveSample)
148INTERPOLATION_MODE(8, Invalid)
149
150#undef INTERPOLATION_MODE
151#endif // INTERPOLATION_MODE
152
153#ifdef D3D_SYSTEM_VALUE
154
155D3D_SYSTEM_VALUE(0, Undefined)
156D3D_SYSTEM_VALUE(1, Position)
157D3D_SYSTEM_VALUE(2, ClipDistance)
158D3D_SYSTEM_VALUE(3, CullDistance)
159D3D_SYSTEM_VALUE(4, RenderTargetArrayIndex)
160D3D_SYSTEM_VALUE(5, ViewPortArrayIndex)
161D3D_SYSTEM_VALUE(6, VertexID)
162D3D_SYSTEM_VALUE(7, PrimitiveID)
163D3D_SYSTEM_VALUE(8, InstanceID)
164D3D_SYSTEM_VALUE(9, IsFrontFace)
165D3D_SYSTEM_VALUE(10, SampleIndex)
166D3D_SYSTEM_VALUE(11, FinalQuadEdgeTessfactor)
167D3D_SYSTEM_VALUE(12, FinalQuadInsideTessfactor)
168D3D_SYSTEM_VALUE(13, FinalTriEdgeTessfactor)
169D3D_SYSTEM_VALUE(14, FinalTriInsideTessfactor)
170D3D_SYSTEM_VALUE(15, FinalLineDetailTessfactor)
171D3D_SYSTEM_VALUE(16, FinalLineDensityTessfactor)
172D3D_SYSTEM_VALUE(23, Barycentrics)
173D3D_SYSTEM_VALUE(24, ShadingRate)
174D3D_SYSTEM_VALUE(25, CullPrimitive)
175D3D_SYSTEM_VALUE(64, Target)
176D3D_SYSTEM_VALUE(65, Depth)
177D3D_SYSTEM_VALUE(66, Coverage)
178D3D_SYSTEM_VALUE(67, DepthGE)
179D3D_SYSTEM_VALUE(68, DepthLE)
180D3D_SYSTEM_VALUE(69, StencilRef)
181D3D_SYSTEM_VALUE(70, InnerCoverage)
182
183#undef D3D_SYSTEM_VALUE
184
185#endif // D3D_SYSTEM_VALUE
186

source code of llvm/include/llvm/BinaryFormat/DXContainerConstants.def