Class ShaderCaps

java.lang.Object
icyllis.arc3d.compiler.ShaderCaps
icyllis.arc3d.engine.ShaderCaps

public class ShaderCaps extends ShaderCaps
Shader capabilities for our pipeline builder.

The default values assume GLSL 4.50 is supported and all equivalent extensions that promoted to GLSL 4.50 core.

  • Field Details

    • NotSupported_AdvBlendEqInteraction

      public static final int NotSupported_AdvBlendEqInteraction
      Indicates how GLSL must interact with advanced blend equations. The KHR extension requires special layout qualifiers in the fragment shader.
      See Also:
    • Automatic_AdvBlendEqInteraction

      public static final int Automatic_AdvBlendEqInteraction
      Indicates how GLSL must interact with advanced blend equations. The KHR extension requires special layout qualifiers in the fragment shader.
      See Also:
    • GeneralEnable_AdvBlendEqInteraction

      public static final int GeneralEnable_AdvBlendEqInteraction
      Indicates how GLSL must interact with advanced blend equations. The KHR extension requires special layout qualifiers in the fragment shader.
      See Also:
    • mDualSourceBlendingSupport

      public boolean mDualSourceBlendingSupport
    • mPreferFlatInterpolation

      public boolean mPreferFlatInterpolation
    • mVertexIDSupport

      public boolean mVertexIDSupport
    • mInfinitySupport

      public boolean mInfinitySupport
    • mNonConstantArrayIndexSupport

      public boolean mNonConstantArrayIndexSupport
    • mBitManipulationSupport

      public boolean mBitManipulationSupport
    • mNoPerspectiveInterpolationSupport

      public boolean mNoPerspectiveInterpolationSupport
    • mReducedShaderMode

      public boolean mReducedShaderMode
    • mTextureQueryLod

      public boolean mTextureQueryLod
      True if either 'textureQueryLod' (GLSL 4.00) or 'textureQueryLOD' (ARB/EXT) is supported.
    • mUseUniformBinding

      public boolean mUseUniformBinding
      True if either OpenGL 4.2 or OpenGL ES 3.1 is supported.

      Add binding on uniform block and samplers.

    • mUseVaryingLocation

      public boolean mUseVaryingLocation
      True if either OpenGL 4.4 or OpenGL ES 3.2 is supported.

      Add location for interface matching between shader stages.

    • mUseBlockMemberOffset

      public boolean mUseBlockMemberOffset
      True if OpenGL 4.4 is supported.

      Add offset on block members for std140/std430 layout validation.

    • mUsePrecisionModifiers

      public boolean mUsePrecisionModifiers
    • mRequiresLocalOutputColorForFBFetch

      public boolean mRequiresLocalOutputColorForFBFetch
    • mMustObfuscateUniformColor

      public boolean mMustObfuscateUniformColor
    • mMustWriteToFragColor

      public boolean mMustWriteToFragColor
    • mColorSpaceMathNeedsFloat

      public boolean mColorSpaceMathNeedsFloat
    • mAvoidDfDxForGradientsWhenPossible

      public boolean mAvoidDfDxForGradientsWhenPossible
    • mSecondaryOutputExtension

      public String mSecondaryOutputExtension
    • mAdvBlendEqInteraction

      public int mAdvBlendEqInteraction
    • mMaxFragmentSamplers

      public int mMaxFragmentSamplers
  • Constructor Details

    • ShaderCaps

      public ShaderCaps()
  • Method Details

    • applyOptionsOverrides

      public void applyOptionsOverrides(ContextOptions options)
    • mustEnableAdvBlendEqs

      public final boolean mustEnableAdvBlendEqs()
    • dump

      public void dump(String prefix, StringBuilder out)
      Overrides:
      dump in class ShaderCaps