Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ShaderRequirements

Shader features required by a specific shader. Features are bit flags.
Read time 2 minutesLast updated 6 days ago

Definition

[Flags]public enum ShaderRequirements : long

Fields

Value

Description

BaseShadersIndicates that basic shader capability i.e. Shader Model level 2.0 is required.
ComputeIndicates that compute shader support is required.
CubeArrayIndicates that cubemap array (TextureCubeArray) support is required.
DerivativesIndicates that support for derivative (ddx/ddy) instructions from the fragment shader stage is required.
FragClipDepthIndicates that support for pixel depth (SV_Position.zw) input to the fragment shader stage is required.
FragCoordIndicates that support for pixel position (SV_Position) input to the fragment shader stage is required.
FramebufferFetchIndicates that framebuffer fetch support is required. This is the ability to have fragment shader color arguments with in/out modifiers.
GeometryIndicates that geometry shader stage support is required.
InstancingIndicates that support for the SV_InstanceID input semantic is required.
Interpolators10Indicates that support for at least 10 interpolators is required.
Interpolators15IntegersIndicates that support for at least 15 integers and interpolators in total are required. Unity bundles them together because it is extremely unlikely a GPU/API will ever exist that only has part of that.
Interpolators32Indicates that support for at least 32 interpolators is required.
MRT4Indicates that support for multiple render targets (at least 4) is required i.e. support for fragment shaders that can output at least 4 values.
MRT8Indicates that support for multiple render targets (at least 8) is required i.e. support for fragment shaders that can output at least 8 values.
MSAATextureSamplesIndicates that support for MSAA textures (e.g. Texture2DMS) is required.
NoneNo shader requirements.
RandomWriteIndicates that support for random-write textures (UAVs) is required.
SampleLODIndicates that support for texture sampling from the fragment shader stage with an explicit mipmap level is required.
SetRTArrayIndexFromAnyShaderIndicates that support for setting the render target array index (SV_RenderTargetArrayIndex) from all shader stages (not just from the geometry shader stage) is required.
SparseTexelResidentIndicates that support of sparse textures with sampling instructions that return residency information is requred.
TessellationComputeIndicates that support for tessellation using a compute shader for control point processing is required. The Metal graphics API requires this feature for tessellation.
TessellationShadersIndicates that support for tessellation using hull and domain shader stages is required.
Texture2DArrayIndicates that support for 2D array textures (Texture2DArray) is required.