Package icyllis.arc3d.engine

# 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `Automatic_AdvBlendEqInteraction`
  Indicates how GLSL must interact with advanced blend equations.
  `static final int`
  `GeneralEnable_AdvBlendEqInteraction`
  Indicates how GLSL must interact with advanced blend equations.
  `int`
  `mAdvBlendEqInteraction`
  `boolean`
  `mAvoidDfDxForGradientsWhenPossible`
  `boolean`
  `mBitManipulationSupport`
  `boolean`
  `mColorSpaceMathNeedsFloat`
  `boolean`
  `mDualSourceBlendingSupport`
  `boolean`
  `mInfinitySupport`
  `int`
  `mMaxFragmentSamplers`
  `boolean`
  `mMustObfuscateUniformColor`
  `boolean`
  `mMustWriteToFragColor`
  `boolean`
  `mNonConstantArrayIndexSupport`
  `boolean`
  `mNoPerspectiveInterpolationSupport`
  `boolean`
  `mPreferFlatInterpolation`
  `boolean`
  `mReducedShaderMode`
  `boolean`
  `mRequiresLocalOutputColorForFBFetch`
  `String`
  `mSecondaryOutputExtension`
  `boolean`
  `mTextureQueryLod`
  True if either 'textureQueryLod' (GLSL 4.00) or 'textureQueryLOD' (ARB/EXT) is supported.
  `boolean`
  `mUseBlockMemberOffset`
  True if OpenGL 4.4 is supported.
  `boolean`
  `mUsePrecisionModifiers`
  `boolean`
  `mUseUniformBinding`
  True if either OpenGL 4.2 or OpenGL ES 3.1 is supported.
  `boolean`
  `mUseVaryingLocation`
  True if either OpenGL 4.4 or OpenGL ES 3.2 is supported.
  `boolean`
  `mVertexIDSupport`
  `static final int`
  `NotSupported_AdvBlendEqInteraction`
  Indicates how GLSL must interact with advanced blend equations.

  ### Fields inherited from class icyllis.arc3d.compiler.ShaderCaps

  `mFMASupport, mGLSLVersion, mSPIRVVersion, mTargetApi`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ShaderCaps()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `applyOptionsOverrides(ContextOptions options)`
  `void`
  `dump(String prefix, StringBuilder out)`
  `final boolean`
  `mustEnableAdvBlendEqs()`

  ### Methods inherited from class icyllis.arc3d.compiler.ShaderCaps

  `toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## 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:
      - Constant Field Values

  - ### 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:
      - Constant Field Values

  - ### 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:
      - Constant Field Values

  - ### 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`