
- Adds support for static samplers ins dxcontainer binary format. - Adds writing logic to mcdxbc - adds reading logic to Object - adds tests Closes: [126636](https://github.com/llvm/llvm-project/issues/126636) --------- Co-authored-by: joaosaffran <joao.saffran@microsoft.com>
373 lines
13 KiB
Modula-2
373 lines
13 KiB
Modula-2
|
|
#ifdef CONTAINER_PART
|
|
CONTAINER_PART(DXIL)
|
|
CONTAINER_PART(SFI0)
|
|
CONTAINER_PART(HASH)
|
|
CONTAINER_PART(PSV0)
|
|
CONTAINER_PART(RTS0)
|
|
CONTAINER_PART(ISG1)
|
|
CONTAINER_PART(OSG1)
|
|
CONTAINER_PART(PSG1)
|
|
|
|
#undef CONTAINER_PART
|
|
#endif // CONTAINER_PART
|
|
|
|
#ifdef SHADER_FEATURE_FLAG
|
|
|
|
// SHADER_FEATURE_FLAG(bit offset for the shader info flag, bit offset for DXIL module flag, name, description.
|
|
|
|
SHADER_FEATURE_FLAG(0, 2, Doubles, "Double-precision floating point")
|
|
SHADER_FEATURE_FLAG(1, 17, ComputeShadersPlusRawAndStructuredBuffers, "CS4 raw and structured buffers")
|
|
SHADER_FEATURE_FLAG(2, 16, UAVsAtEveryStage, "UAVs at every shader stage")
|
|
SHADER_FEATURE_FLAG(3, 15, Max64UAVs, "64 UAV slots")
|
|
SHADER_FEATURE_FLAG(4, -1, MinimumPrecision, "Minimum-precision data types")
|
|
SHADER_FEATURE_FLAG(5, 6, DX11_1_DoubleExtensions, "Double-precision extensions for 11.1")
|
|
SHADER_FEATURE_FLAG(6, 7, DX11_1_ShaderExtensions, "Shader extensions for 11.1")
|
|
SHADER_FEATURE_FLAG(7, 14, LEVEL9ComparisonFiltering, "Comparison filtering for feature level 9")
|
|
SHADER_FEATURE_FLAG(8, 12, TiledResources, "Tiled resources")
|
|
SHADER_FEATURE_FLAG(9, 11, StencilRef, "PS Output Stencil Ref")
|
|
SHADER_FEATURE_FLAG(10, 10, InnerCoverage, "PS Inner Coverage")
|
|
SHADER_FEATURE_FLAG(11, 13, TypedUAVLoadAdditionalFormats, "Typed UAV Load Additional Formats")
|
|
SHADER_FEATURE_FLAG(12, 18, ROVs, "Raster Ordered UAVs")
|
|
SHADER_FEATURE_FLAG(13, 9, ViewportAndRTArrayIndexFromAnyShaderFeedingRasterizer, "SV_RenderTargetArrayIndex or SV_ViewportArrayIndex from any shader feeding rasterizer")
|
|
SHADER_FEATURE_FLAG(14, 19, WaveOps, "Wave level operations")
|
|
SHADER_FEATURE_FLAG(15, 20, Int64Ops, "64-Bit integer")
|
|
SHADER_FEATURE_FLAG(16, 21, ViewID, "View Instancing")
|
|
SHADER_FEATURE_FLAG(17, 22, Barycentrics, "Barycentrics")
|
|
SHADER_FEATURE_FLAG(18, -1, NativeLowPrecision, "Native low-precision data types")
|
|
SHADER_FEATURE_FLAG(19, 24, ShadingRate, "Shading Rate")
|
|
SHADER_FEATURE_FLAG(20, 25, Raytracing_Tier_1_1, "Raytracing tier 1.1 features")
|
|
SHADER_FEATURE_FLAG(21, 26, SamplerFeedback, "Sampler feedback")
|
|
SHADER_FEATURE_FLAG(22, 27, AtomicInt64OnTypedResource, "64-bit Atomics on Typed Resources")
|
|
SHADER_FEATURE_FLAG(23, 28, AtomicInt64OnGroupShared, "64-bit Atomics on Group Shared")
|
|
SHADER_FEATURE_FLAG(24, 29, DerivativesInMeshAndAmpShaders, "Derivatives in mesh and amplification shaders")
|
|
SHADER_FEATURE_FLAG(25, 30, ResourceDescriptorHeapIndexing, "Resource descriptor heap indexing")
|
|
SHADER_FEATURE_FLAG(26, 31, SamplerDescriptorHeapIndexing, "Sampler descriptor heap indexing")
|
|
SHADER_FEATURE_FLAG(27, 36, RESERVED, "<RESERVED>")
|
|
SHADER_FEATURE_FLAG(28, 32, AtomicInt64OnHeapResource, "64-bit Atomics on Heap Resources")
|
|
SHADER_FEATURE_FLAG(29, 34, AdvancedTextureOps, "Advanced Texture Ops")
|
|
SHADER_FEATURE_FLAG(30, 35, WriteableMSAATextures, "Writeable MSAA Textures")
|
|
SHADER_FEATURE_FLAG(31, 37, SampleCmpWithGradientOrBias, "SampleCmp with gradient or bias")
|
|
SHADER_FEATURE_FLAG(32, 38, ExtendedCommandInfo, "Extended command information")
|
|
|
|
SHADER_FEATURE_FLAG(33, 39, NextUnusedBit, "Next reserved shader flag bit (not a flag)")
|
|
|
|
#undef SHADER_FEATURE_FLAG
|
|
#endif // SHADER_FEATURE_FLAG
|
|
|
|
|
|
// ROOT_ELEMENT_FLAG(bit offset for the flag, name).
|
|
#ifdef ROOT_ELEMENT_FLAG
|
|
|
|
ROOT_ELEMENT_FLAG(0, AllowInputAssemblerInputLayout)
|
|
ROOT_ELEMENT_FLAG(1, DenyVertexShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(2, DenyHullShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(3, DenyDomainShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(4, DenyGeometryShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(5, DenyPixelShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(6, AllowStreamOutput)
|
|
ROOT_ELEMENT_FLAG(7, LocalRootSignature)
|
|
ROOT_ELEMENT_FLAG(8, DenyAmplificationShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(9, DenyMeshShaderRootAccess)
|
|
ROOT_ELEMENT_FLAG(10, CBVSRVUAVHeapDirectlyIndexed)
|
|
ROOT_ELEMENT_FLAG(11, SamplerHeapDirectlyIndexed)
|
|
#undef ROOT_ELEMENT_FLAG
|
|
#endif // ROOT_ELEMENT_FLAG
|
|
|
|
|
|
// ROOT_DESCRIPTOR_FLAG(bit offset for the flag, name).
|
|
#ifdef ROOT_DESCRIPTOR_FLAG
|
|
|
|
ROOT_DESCRIPTOR_FLAG(0, NONE)
|
|
ROOT_DESCRIPTOR_FLAG(1, DATA_VOLATILE)
|
|
ROOT_DESCRIPTOR_FLAG(2, DATA_STATIC_WHILE_SET_AT_EXECUTE)
|
|
ROOT_DESCRIPTOR_FLAG(3, DATA_STATIC)
|
|
#undef ROOT_DESCRIPTOR_FLAG
|
|
#endif // ROOT_DESCRIPTOR_FLAG
|
|
|
|
|
|
// DESCRIPTOR_RANGE_FLAG(bit offset for the flag, name).
|
|
#ifdef DESCRIPTOR_RANGE_FLAG
|
|
|
|
DESCRIPTOR_RANGE_FLAG(0, NONE)
|
|
DESCRIPTOR_RANGE_FLAG(1, DESCRIPTORS_VOLATILE)
|
|
DESCRIPTOR_RANGE_FLAG(2, DATA_VOLATILE)
|
|
DESCRIPTOR_RANGE_FLAG(3, DATA_STATIC_WHILE_SET_AT_EXECUTE)
|
|
DESCRIPTOR_RANGE_FLAG(4, DATA_STATIC)
|
|
DESCRIPTOR_RANGE_FLAG(16, DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS)
|
|
#undef DESCRIPTOR_RANGE_FLAG
|
|
#endif // DESCRIPTOR_RANGE_FLAG
|
|
|
|
#ifdef ROOT_PARAMETER
|
|
|
|
ROOT_PARAMETER(0, DescriptorTable)
|
|
ROOT_PARAMETER(1, Constants32Bit)
|
|
ROOT_PARAMETER(2, CBV)
|
|
ROOT_PARAMETER(3, SRV)
|
|
ROOT_PARAMETER(4, UAV)
|
|
#undef ROOT_PARAMETER
|
|
#endif // ROOT_PARAMETER
|
|
|
|
#ifdef SHADER_VISIBILITY
|
|
|
|
SHADER_VISIBILITY(0, All)
|
|
SHADER_VISIBILITY(1, Vertex)
|
|
SHADER_VISIBILITY(2, Hull)
|
|
SHADER_VISIBILITY(3, Domain)
|
|
SHADER_VISIBILITY(4, Geometry)
|
|
SHADER_VISIBILITY(5, Pixel)
|
|
SHADER_VISIBILITY(6, Amplification)
|
|
SHADER_VISIBILITY(7, Mesh)
|
|
#undef SHADER_VISIBILITY
|
|
#endif // SHADER_VISIBILITY
|
|
|
|
#ifdef STATIC_SAMPLER_FILTER
|
|
|
|
STATIC_SAMPLER_FILTER(0, MIN_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x1, MIN_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x4, MIN_POINT_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x5, MIN_POINT_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x10, MIN_LINEAR_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x11, MIN_LINEAR_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x14, MIN_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x15, MIN_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x55, ANISOTROPIC)
|
|
STATIC_SAMPLER_FILTER(0x80, COMPARISON_MIN_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x81, COMPARISON_MIN_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x84, COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x85, COMPARISON_MIN_POINT_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x90, COMPARISON_MIN_LINEAR_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x91, COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x94, COMPARISON_MIN_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x95, COMPARISON_MIN_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0xd5, COMPARISON_ANISOTROPIC)
|
|
STATIC_SAMPLER_FILTER(0x100, MINIMUM_MIN_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x101, MINIMUM_MIN_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x104, MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x105, MINIMUM_MIN_POINT_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x110, MINIMUM_MIN_LINEAR_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x111, MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x114, MINIMUM_MIN_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x115, MINIMUM_MIN_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x155, MINIMUM_ANISOTROPIC)
|
|
STATIC_SAMPLER_FILTER(0x180, MAXIMUM_MIN_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x181, MAXIMUM_MIN_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x184, MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x185, MAXIMUM_MIN_POINT_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x190, MAXIMUM_MIN_LINEAR_MAG_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x191, MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x194, MAXIMUM_MIN_MAG_LINEAR_MIP_POINT)
|
|
STATIC_SAMPLER_FILTER(0x195, MAXIMUM_MIN_MAG_MIP_LINEAR)
|
|
STATIC_SAMPLER_FILTER(0x1d5, MAXIMUM_ANISOTROPIC)
|
|
#undef STATIC_SAMPLER_FILTER
|
|
#endif // STATIC_SAMPLER_FILTER
|
|
|
|
#ifdef TEXTURE_ADDRESS_MODE
|
|
|
|
TEXTURE_ADDRESS_MODE( 1, Wrap)
|
|
TEXTURE_ADDRESS_MODE( 2, Mirror)
|
|
TEXTURE_ADDRESS_MODE( 3, Clamp)
|
|
TEXTURE_ADDRESS_MODE( 4, Border)
|
|
TEXTURE_ADDRESS_MODE( 5, MirrorOnce)
|
|
#undef TEXTURE_ADDRESS_MODE
|
|
#endif // TEXTURE_ADDRESS_MODE
|
|
|
|
#ifdef COMPARISON_FUNCTION
|
|
|
|
COMPARISON_FUNCTION( 1, Never)
|
|
COMPARISON_FUNCTION( 2, Less)
|
|
COMPARISON_FUNCTION( 3, Equal)
|
|
COMPARISON_FUNCTION( 4, LessEqual)
|
|
COMPARISON_FUNCTION( 5, Greater)
|
|
COMPARISON_FUNCTION( 6, NotEqual)
|
|
COMPARISON_FUNCTION( 7, GreaterEqual)
|
|
COMPARISON_FUNCTION( 8, Always)
|
|
#undef COMPARISON_FUNCTION
|
|
#endif // COMPARISON_FUNCTION
|
|
|
|
#ifdef STATIC_BORDER_COLOR
|
|
STATIC_BORDER_COLOR( 0, TransparentBlack)
|
|
STATIC_BORDER_COLOR( 1, OpaqueBlack)
|
|
STATIC_BORDER_COLOR( 2, OpaqueWhite)
|
|
STATIC_BORDER_COLOR( 3, OpaqueBlackUint)
|
|
STATIC_BORDER_COLOR( 4, OpaqueWhiteUint)
|
|
#undef STATIC_BORDER_COLOR
|
|
#endif // STATIC_BORDER_COLOR
|
|
|
|
#ifdef DXIL_MODULE_FLAG
|
|
|
|
// Only save DXIL module flags which not map to feature flags here.
|
|
DXIL_MODULE_FLAG( 0, DisableOptimizations, "Disable shader optimizations")
|
|
DXIL_MODULE_FLAG( 1, DisableMathRefactoring, "Disable math refactoring")
|
|
DXIL_MODULE_FLAG( 3, ForceEarlyDepthStencil, "Force early depth-stencil test")
|
|
DXIL_MODULE_FLAG( 4, EnableRawAndStructuredBuffers, "Raw and structured buffers")
|
|
DXIL_MODULE_FLAG( 5, LowPrecisionPresent, "Low-precision data types present")
|
|
DXIL_MODULE_FLAG( 8, AllResourcesBound, "All resources bound for the duration of shader execution")
|
|
DXIL_MODULE_FLAG(23, NativeLowPrecisionMode, "Enable native low-precision data types")
|
|
DXIL_MODULE_FLAG(33, ResMayNotAlias, "Any UAV may not alias any other UAV")
|
|
|
|
#undef DXIL_MODULE_FLAG
|
|
#endif // DXIL_MODULE_FLAG
|
|
|
|
#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 // SEMANTIC_KIND
|
|
|
|
#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 // COMPONENT_TYPE
|
|
|
|
#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 // COMPONENT_PRECISION
|
|
|
|
#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 // INTERPOLATION_MODE
|
|
|
|
#ifdef RESOURCE_TYPE
|
|
RESOURCE_TYPE(0, Invalid)
|
|
RESOURCE_TYPE(1, Sampler)
|
|
RESOURCE_TYPE(2, CBV)
|
|
RESOURCE_TYPE(3, SRVTyped)
|
|
RESOURCE_TYPE(4, SRVRaw)
|
|
RESOURCE_TYPE(5, SRVStructured)
|
|
RESOURCE_TYPE(6, UAVTyped)
|
|
RESOURCE_TYPE(7, UAVRaw)
|
|
RESOURCE_TYPE(8, UAVStructured)
|
|
RESOURCE_TYPE(9, UAVStructuredWithCounter)
|
|
|
|
#undef RESOURCE_TYPE
|
|
#endif // RESOURCE_TYPE
|
|
|
|
#ifdef RESOURCE_KIND
|
|
RESOURCE_KIND(0, Invalid)
|
|
RESOURCE_KIND(1, Texture1D)
|
|
RESOURCE_KIND(2, Texture2D)
|
|
RESOURCE_KIND(3, Texture2DMS)
|
|
RESOURCE_KIND(4, Texture3D)
|
|
RESOURCE_KIND(5, TextureCube)
|
|
RESOURCE_KIND(6, Texture1DArray)
|
|
RESOURCE_KIND(7, Texture2DArray)
|
|
RESOURCE_KIND(8, Texture2DMSArray)
|
|
RESOURCE_KIND(9, TextureCubeArray)
|
|
RESOURCE_KIND(10, TypedBuffer)
|
|
RESOURCE_KIND(11, RawBuffer)
|
|
RESOURCE_KIND(12, StructuredBuffer)
|
|
RESOURCE_KIND(13, CBuffer)
|
|
RESOURCE_KIND(14, Sampler)
|
|
RESOURCE_KIND(15, TBuffer)
|
|
RESOURCE_KIND(16, RTAccelerationStructure)
|
|
RESOURCE_KIND(17, FeedbackTexture2D)
|
|
RESOURCE_KIND(18, FeedbackTexture2DArray)
|
|
|
|
#undef RESOURCE_KIND
|
|
#endif // RESOURCE_KIND
|
|
|
|
#ifdef RESOURCE_FLAG
|
|
RESOURCE_FLAG(0, UsedByAtomic64)
|
|
|
|
#undef RESOURCE_FLAG
|
|
#endif // RESOURCE_FLAG
|
|
|
|
#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 // D3D_SYSTEM_VALUE
|