1 | |
2 | #ifdef CONTAINER_PART |
3 | CONTAINER_PART(DXIL) |
4 | CONTAINER_PART(SFI0) |
5 | CONTAINER_PART(HASH) |
6 | CONTAINER_PART(PSV0) |
7 | CONTAINER_PART(ISG1) |
8 | CONTAINER_PART(OSG1) |
9 | CONTAINER_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 | |
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)" ) |
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. |
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 |
69 | |
70 | #ifdef SEMANTIC_KIND |
71 | |
72 | SEMANTIC_KIND(0, Arbitrary) |
73 | SEMANTIC_KIND(1, VertexID) |
74 | SEMANTIC_KIND(2, InstanceID) |
75 | SEMANTIC_KIND(3, Position) |
76 | SEMANTIC_KIND(4, RenderTargetArrayIndex) |
77 | SEMANTIC_KIND(5, ViewPortArrayIndex) |
78 | SEMANTIC_KIND(6, ClipDistance) |
79 | SEMANTIC_KIND(7, CullDistance) |
80 | SEMANTIC_KIND(8, OutputControlPointID) |
81 | SEMANTIC_KIND(9, DomainLocation) |
82 | SEMANTIC_KIND(10, PrimitiveID) |
83 | SEMANTIC_KIND(11, GSInstanceID) |
84 | SEMANTIC_KIND(12, SampleIndex) |
85 | SEMANTIC_KIND(13, IsFrontFace) |
86 | SEMANTIC_KIND(14, Coverage) |
87 | SEMANTIC_KIND(15, InnerCoverage) |
88 | SEMANTIC_KIND(16, Target) |
89 | SEMANTIC_KIND(17, Depth) |
90 | SEMANTIC_KIND(18, DepthLessEqual) |
91 | SEMANTIC_KIND(19, DepthGreaterEqual) |
92 | SEMANTIC_KIND(20, StencilRef) |
93 | SEMANTIC_KIND(21, DispatchThreadID) |
94 | SEMANTIC_KIND(22, GroupID) |
95 | SEMANTIC_KIND(23, GroupIndex) |
96 | SEMANTIC_KIND(24, GroupThreadID) |
97 | SEMANTIC_KIND(25, TessFactor) |
98 | SEMANTIC_KIND(26, InsideTessFactor) |
99 | SEMANTIC_KIND(27, ViewID) |
100 | SEMANTIC_KIND(28, Barycentrics) |
101 | SEMANTIC_KIND(29, ShadingRate) |
102 | SEMANTIC_KIND(30, CullPrimitive) |
103 | SEMANTIC_KIND(30, Invalid) |
104 | |
105 | #undef SEMANTIC_KIND |
106 | #endif // SEMANTIC_KIND |
107 | |
108 | #ifdef COMPONENT_TYPE |
109 | |
110 | COMPONENT_TYPE(0, Unknown) |
111 | COMPONENT_TYPE(1, UInt32) |
112 | COMPONENT_TYPE(2, SInt32) |
113 | COMPONENT_TYPE(3, Float32) |
114 | COMPONENT_TYPE(4, UInt16) |
115 | COMPONENT_TYPE(5, SInt16) |
116 | COMPONENT_TYPE(6, Float16) |
117 | COMPONENT_TYPE(7, UInt64) |
118 | COMPONENT_TYPE(8, SInt64) |
119 | COMPONENT_TYPE(9, Float64) |
120 | |
121 | #undef COMPONENT_TYPE |
122 | #endif // COMPONENT_TYPE |
123 | |
124 | #ifdef COMPONENT_PRECISION |
125 | |
126 | COMPONENT_PRECISION(0, Default) |
127 | COMPONENT_PRECISION(1, Float16) |
128 | COMPONENT_PRECISION(2, Float2_8) |
129 | COMPONENT_PRECISION(3, Reserved) |
130 | COMPONENT_PRECISION(4, SInt16) |
131 | COMPONENT_PRECISION(5, UInt16) |
132 | COMPONENT_PRECISION(0xf0, Any16) |
133 | COMPONENT_PRECISION(0xf1, Any10) |
134 | |
135 | #undef COMPONENT_PRECISION |
136 | #endif // COMPONENT_PRECISION |
137 | |
138 | #ifdef INTERPOLATION_MODE |
139 | |
140 | INTERPOLATION_MODE(0, Undefined) |
141 | INTERPOLATION_MODE(1, Constant) |
142 | INTERPOLATION_MODE(2, Linear) |
143 | INTERPOLATION_MODE(3, LinearCentroid) |
144 | INTERPOLATION_MODE(4, LinearNoperspective) |
145 | INTERPOLATION_MODE(5, LinearNoperspectiveCentroid) |
146 | INTERPOLATION_MODE(6, LinearSample) |
147 | INTERPOLATION_MODE(7, LinearNoperspectiveSample) |
148 | INTERPOLATION_MODE(8, Invalid) |
149 | |
150 | #undef INTERPOLATION_MODE |
151 | #endif // INTERPOLATION_MODE |
152 | |
153 | #ifdef D3D_SYSTEM_VALUE |
154 | |
155 | D3D_SYSTEM_VALUE(0, Undefined) |
156 | D3D_SYSTEM_VALUE(1, Position) |
157 | D3D_SYSTEM_VALUE(2, ClipDistance) |
158 | D3D_SYSTEM_VALUE(3, CullDistance) |
159 | D3D_SYSTEM_VALUE(4, RenderTargetArrayIndex) |
160 | D3D_SYSTEM_VALUE(5, ViewPortArrayIndex) |
161 | D3D_SYSTEM_VALUE(6, VertexID) |
162 | D3D_SYSTEM_VALUE(7, PrimitiveID) |
163 | D3D_SYSTEM_VALUE(8, InstanceID) |
164 | D3D_SYSTEM_VALUE(9, IsFrontFace) |
165 | D3D_SYSTEM_VALUE(10, SampleIndex) |
166 | D3D_SYSTEM_VALUE(11, FinalQuadEdgeTessfactor) |
167 | D3D_SYSTEM_VALUE(12, FinalQuadInsideTessfactor) |
168 | D3D_SYSTEM_VALUE(13, FinalTriEdgeTessfactor) |
169 | D3D_SYSTEM_VALUE(14, FinalTriInsideTessfactor) |
170 | D3D_SYSTEM_VALUE(15, FinalLineDetailTessfactor) |
171 | D3D_SYSTEM_VALUE(16, FinalLineDensityTessfactor) |
172 | D3D_SYSTEM_VALUE(23, Barycentrics) |
173 | D3D_SYSTEM_VALUE(24, ShadingRate) |
174 | D3D_SYSTEM_VALUE(25, CullPrimitive) |
175 | D3D_SYSTEM_VALUE(64, Target) |
176 | D3D_SYSTEM_VALUE(65, Depth) |
177 | D3D_SYSTEM_VALUE(66, Coverage) |
178 | D3D_SYSTEM_VALUE(67, DepthGE) |
179 | D3D_SYSTEM_VALUE(68, DepthLE) |
180 | D3D_SYSTEM_VALUE(69, StencilRef) |
181 | D3D_SYSTEM_VALUE(70, InnerCoverage) |
182 | |
183 | #undef D3D_SYSTEM_VALUE |
184 | |
185 | #endif // D3D_SYSTEM_VALUE |
186 | |