
#ifdef CONTAINER_PART
CONTAINER_PART(DXIL)
CONTAINER_PART(SFI0)
CONTAINER_PART(HASH)
CONTAINER_PART(PSV0)
CONTAINER_PART(ISG1)
CONTAINER_PART(OSG1)
CONTAINER_PART(PSG1)

#undef CONTAINER_PART
#endif 

#ifdef SHADER_FLAG

SHADER_FLAG(0, Doubles, "Double-precision floating point")
SHADER_FLAG(1, ComputeShadersPlusRawAndStructuredBuffers, "Raw and Structured buffers")
SHADER_FLAG(2, UAVsAtEveryStage, "UAVs at every shader stage")
SHADER_FLAG(3, Max64UAVs, "64 UAV slots")
SHADER_FLAG(4, MinimumPrecision, "Minimum-precision data types")
SHADER_FLAG(5, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
SHADER_FLAG(6, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
SHADER_FLAG(7, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
SHADER_FLAG(8, TiledResources, "Tiled resources")
SHADER_FLAG(9, StencilRef, "PS Output Stencil Ref")
SHADER_FLAG(10, InnerCoverage, "PS Inner Coverage")
SHADER_FLAG(11, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
SHADER_FLAG(12, ROVs, "Raster Ordered UAVs")
SHADER_FLAG(13, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
SHADER_FLAG(14, WaveOps, "Wave level operations")
SHADER_FLAG(15, Int64Ops, "64-Bit integer")
SHADER_FLAG(16, ViewID, "View Instancing")
SHADER_FLAG(17, Barycentrics, "Barycentrics")
SHADER_FLAG(18, NativeLowPrecision, "Use native low precision")
SHADER_FLAG(19, ShadingRate, "Shading Rate")
SHADER_FLAG(20, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
SHADER_FLAG(21, SamplerFeedback, "Sampler feedback")
SHADER_FLAG(22, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
SHADER_FLAG(23, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
SHADER_FLAG(24, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
SHADER_FLAG(25, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
SHADER_FLAG(26, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
SHADER_FLAG(27, RESERVED, "<RESERVED>")
SHADER_FLAG(28, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
SHADER_FLAG(29, AdvancedTextureOps, "Advanced Texture Ops")
SHADER_FLAG(30, WriteableMSAATextures, "Writeable MSAA Textures")

SHADER_FLAG(31, NextUnusedBit, "Next reserved shader flag bit (not a flag)")

#undef SHADER_FLAG
#endif

#ifdef SEMANTIC_KIND

SEMANTIC_KIND(0, Arbitrary)
SEMANTIC_KIND(1, VertexID)
SEMANTIC_KIND(2, InstanceID)
SEMANTIC_KIND(3, Position)
SEMANTIC_KIND(4, RenderTargetArrayIndex)
SEMANTIC_KIND(5, ViewPortArrayIndex)
SEMANTIC_KIND(6, ClipDistance)
SEMANTIC_KIND(7, CullDistance)
SEMANTIC_KIND(8, OutputControlPointID)
SEMANTIC_KIND(9, DomainLocation)
SEMANTIC_KIND(10, PrimitiveID)
SEMANTIC_KIND(11, GSInstanceID)
SEMANTIC_KIND(12, SampleIndex)
SEMANTIC_KIND(13, IsFrontFace)
SEMANTIC_KIND(14, Coverage)
SEMANTIC_KIND(15, InnerCoverage)
SEMANTIC_KIND(16, Target)
SEMANTIC_KIND(17, Depth)
SEMANTIC_KIND(18, DepthLessEqual)
SEMANTIC_KIND(19, DepthGreaterEqual)
SEMANTIC_KIND(20, StencilRef)
SEMANTIC_KIND(21, DispatchThreadID)
SEMANTIC_KIND(22, GroupID)
SEMANTIC_KIND(23, GroupIndex)
SEMANTIC_KIND(24, GroupThreadID)
SEMANTIC_KIND(25, TessFactor)
SEMANTIC_KIND(26, InsideTessFactor)
SEMANTIC_KIND(27, ViewID)
SEMANTIC_KIND(28, Barycentrics)
SEMANTIC_KIND(29, ShadingRate)
SEMANTIC_KIND(30, CullPrimitive)
SEMANTIC_KIND(30, Invalid)

#undef SEMANTIC_KIND
#endif

#ifdef COMPONENT_TYPE

COMPONENT_TYPE(0, Unknown)
COMPONENT_TYPE(1, UInt32)
COMPONENT_TYPE(2, SInt32)
COMPONENT_TYPE(3, Float32)
COMPONENT_TYPE(4, UInt16)
COMPONENT_TYPE(5, SInt16)
COMPONENT_TYPE(6, Float16)
COMPONENT_TYPE(7, UInt64)
COMPONENT_TYPE(8, SInt64)
COMPONENT_TYPE(9, Float64)

#undef COMPONENT_TYPE
#endif

#ifdef COMPONENT_PRECISION

COMPONENT_PRECISION(0, Default)
COMPONENT_PRECISION(1, Float16)
COMPONENT_PRECISION(2, Float2_8)
COMPONENT_PRECISION(3, Reserved)
COMPONENT_PRECISION(4, SInt16)
COMPONENT_PRECISION(5, UInt16)
COMPONENT_PRECISION(0xf0, Any16)
COMPONENT_PRECISION(0xf1, Any10)

#undef COMPONENT_PRECISION
#endif

#ifdef INTERPOLATION_MODE

INTERPOLATION_MODE(0, Undefined)
INTERPOLATION_MODE(1, Constant)
INTERPOLATION_MODE(2, Linear)
INTERPOLATION_MODE(3, LinearCentroid)
INTERPOLATION_MODE(4, LinearNoperspective)
INTERPOLATION_MODE(5, LinearNoperspectiveCentroid)
INTERPOLATION_MODE(6, LinearSample)
INTERPOLATION_MODE(7, LinearNoperspectiveSample)
INTERPOLATION_MODE(8, Invalid)

#undef INTERPOLATION_MODE
#endif

#ifdef D3D_SYSTEM_VALUE

D3D_SYSTEM_VALUE(0, Undefined)
D3D_SYSTEM_VALUE(1, Position)
D3D_SYSTEM_VALUE(2, ClipDistance)
D3D_SYSTEM_VALUE(3, CullDistance)
D3D_SYSTEM_VALUE(4, RenderTargetArrayIndex)
D3D_SYSTEM_VALUE(5, ViewPortArrayIndex)
D3D_SYSTEM_VALUE(6, VertexID)
D3D_SYSTEM_VALUE(7, PrimitiveID)
D3D_SYSTEM_VALUE(8, InstanceID)
D3D_SYSTEM_VALUE(9, IsFrontFace)
D3D_SYSTEM_VALUE(10, SampleIndex)
D3D_SYSTEM_VALUE(11, FinalQuadEdgeTessfactor)
D3D_SYSTEM_VALUE(12, FinalQuadInsideTessfactor)
D3D_SYSTEM_VALUE(13, FinalTriEdgeTessfactor)
D3D_SYSTEM_VALUE(14, FinalTriInsideTessfactor)
D3D_SYSTEM_VALUE(15, FinalLineDetailTessfactor)
D3D_SYSTEM_VALUE(16, FinalLineDensityTessfactor)
D3D_SYSTEM_VALUE(23, Barycentrics)
D3D_SYSTEM_VALUE(24, ShadingRate)
D3D_SYSTEM_VALUE(25, CullPrimitive)
D3D_SYSTEM_VALUE(64, Target)
D3D_SYSTEM_VALUE(65, Depth)
D3D_SYSTEM_VALUE(66, Coverage)
D3D_SYSTEM_VALUE(67, DepthGE)
D3D_SYSTEM_VALUE(68, DepthLE)
D3D_SYSTEM_VALUE(69, StencilRef)
D3D_SYSTEM_VALUE(70, InnerCoverage)

#undef D3D_SYSTEM_VALUE

#endif
