Package icyllis.arc3d.engine

# Class PipelineDesc

java.lang.Object
icyllis.arc3d.engine.PipelineDesc

Direct Known Subclasses:
  `GraphicsPipelineDesc`

public abstract class PipelineDesc extends Object
Abstract class that provides key and full information about a graphics pipeline or a compute pipeline, except for render pass information.

Subclass must implement `Object.hashCode()` and `Object.equals(Object)`.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `PipelineDesc.GraphicsPipelineInfo`
  `static final class`
  `PipelineDesc.SamplerInfo`
  `static final class`
  `PipelineDesc.UniformBlockInfo`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `DYNAMIC_COLOR_BLEND_STATE`
  `static final int`
  `NO_DYNAMIC_STATE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PipelineDesc()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract PipelineDesc`
  `copy()`
  Makes a deep copy of this desc, it must be immutable before return.
  `PipelineDesc.GraphicsPipelineInfo`
  `createGraphicsPipelineInfo(Device device)`
  Generates all info used to create graphics pipeline.
  `BlendInfo`
  `getBlendInfo()`
  `DepthStencilSettings`
  `getDepthStencilSettings()`
  `int`
  `getDynamicStates()`
  Returns a bitfield that represents dynamic states of this pipeline.
  `byte`
  `getPrimitiveType()`

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

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

- ## Field Details

  - ### NO_DYNAMIC_STATE

    public static final int NO_DYNAMIC_STATE
    See Also:
      - Constant Field Values

  - ### DYNAMIC_COLOR_BLEND_STATE

    public static final int DYNAMIC_COLOR_BLEND_STATE
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### PipelineDesc

    public PipelineDesc()

- ## Method Details

  - ### createGraphicsPipelineInfo

    public PipelineDesc.GraphicsPipelineInfo createGraphicsPipelineInfo(Device device)
    Generates all info used to create graphics pipeline.

  - ### getPrimitiveType

    public byte getPrimitiveType()

  - ### getBlendInfo

    public BlendInfo getBlendInfo()

  - ### getDepthStencilSettings

    public DepthStencilSettings getDepthStencilSettings()

  - ### getDynamicStates

    public int getDynamicStates()
    Returns a bitfield that represents dynamic states of this pipeline. These dynamic states must be supported by the backend.

    Viewport and scissor are always dynamic states.

  - ### copy

    public abstract PipelineDesc copy()
    Makes a deep copy of this desc, it must be immutable before return. No need to make its fields visible to all threads. If this desc is already immutable then subclass may return this.

    The `Object.hashCode()` and `Object.equals(Object)` of this and return value must be consistent.