namespace Ryujinx.Graphics.Shader
{
public enum ShaderStage : byte
{
Compute,
Vertex,
TessellationControl,
TessellationEvaluation,
Geometry,
Fragment,
Count,
}
public static class ShaderStageExtensions
{
extension(ShaderStage shaderStage)
{
///
/// Checks if the shader stage supports render scale.
///
public bool SupportsRenderScale =>
shaderStage is ShaderStage.Vertex or ShaderStage.Fragment or ShaderStage.Compute;
///
/// Checks if the shader stage is vertex, tessellation or geometry.
///
public bool IsVtg =>
shaderStage is ShaderStage.Vertex or
ShaderStage.TessellationControl or
ShaderStage.TessellationEvaluation or
ShaderStage.Geometry;
}
}
}