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