Package icyllis.arc3d.compiler.tree

# Class Layout

java.lang.Object
icyllis.arc3d.compiler.tree.Layout

public final class Layout extends Object
Represents a layout block appearing before a variable declaration, as in:

layout (location = 0) int x;

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `kBinding_LayoutFlag`
  `static final int`
  `kBlendSupportAllEquations_LayoutFlag`
  `static final int`
  `kBuiltin_LayoutFlag`
  `static final int`
  `kComponent_LayoutFlag`
  `static final int`
  `kCount_LayoutFlag`
  `static final int`
  `kEarlyFragmentTests_LayoutFlag`
  `static final int`
  `kIndex_LayoutFlag`
  `static final int`
  `kInputAttachmentIndex_LayoutFlag`
  `static final int`
  `kLocation_LayoutFlag`
  `static final int`
  `kOffset_LayoutFlag`
  `static final int`
  `kOriginUpperLeft_LayoutFlag`
  `static final int`
  `kPixelCenterInteger_LayoutFlag`
  `static final int`
  `kPushConstant_LayoutFlag`
  `static final int`
  `kSet_LayoutFlag`
  `static final int`
  `kStd140_LayoutFlag`
  `static final int`
  `kStd430_LayoutFlag`
  `int`
  `mBinding`
  (UBO / SSBO) individual variable (opaque types only), interface block.
  `int`
  `mBuiltin`
  (SpvBuiltIn) identify which particular built-in value this object represents.
  `int`
  `mComponent`
  (in / out, expect for compute) individual variable, block member.
  `int`
  `mIndex`
  (fragment out) individual variable.
  `int`
  `mInputAttachmentIndex`
  (UBO, Vulkan only) individual variable (subpass types only), connect a shader variable to the corresponding attachment on the subpass in which the shader is being used.
  `int`
  `mLocation`
  (in / out, expect for compute) individual variable, interface block, block member.
  `int`
  `mOffset`
  (UBO / SSBO) individual variable (atomic counters only), block member.
  `int`
  `mSet`
  (UBO / SSBO, Vulkan only) individual variable (opaque types only), interface block.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Layout()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `checkLayoutFlags(Context context, int pos, int permittedLayoutFlags)`
  `void`
  `clearLayoutFlag(int mask)`
  `static String`
  `describeLayoutFlag(int flag)`
  `boolean`
  `equals(Object o)`
  `int`
  `hashCode()`
  `int`
  `layoutFlags()`
  `void`
  `setLayoutFlag(Context context, int mask, String name, int pos)`
  `String`
  `toString()`

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

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

- ## Field Details

  - ### kOriginUpperLeft_LayoutFlag

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

  - ### kPixelCenterInteger_LayoutFlag

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

  - ### kEarlyFragmentTests_LayoutFlag

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

  - ### kBlendSupportAllEquations_LayoutFlag

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

  - ### kPushConstant_LayoutFlag

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

  - ### kStd140_LayoutFlag

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

  - ### kStd430_LayoutFlag

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

  - ### kLocation_LayoutFlag

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

  - ### kComponent_LayoutFlag

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

  - ### kIndex_LayoutFlag

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

  - ### kBinding_LayoutFlag

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

  - ### kOffset_LayoutFlag

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

  - ### kSet_LayoutFlag

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

  - ### kInputAttachmentIndex_LayoutFlag

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

  - ### kBuiltin_LayoutFlag

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

  - ### kCount_LayoutFlag

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

  - ### mLocation

    public int mLocation
    (in / out, expect for compute) individual variable, interface block, block member.

  - ### mComponent

    public int mComponent
    (in / out, expect for compute) individual variable, block member.

  - ### mIndex

    public int mIndex
    (fragment out) individual variable.

  - ### mBinding

    public int mBinding
    (UBO / SSBO) individual variable (opaque types only), interface block.

  - ### mOffset

    public int mOffset
    (UBO / SSBO) individual variable (atomic counters only), block member.

  - ### mSet

    public int mSet
    (UBO / SSBO, Vulkan only) individual variable (opaque types only), interface block.

  - ### mInputAttachmentIndex

    public int mInputAttachmentIndex
    (UBO, Vulkan only) individual variable (subpass types only), connect a shader variable to the corresponding attachment on the subpass in which the shader is being used.

  - ### mBuiltin

    public int mBuiltin
    (SpvBuiltIn) identify which particular built-in value this object represents.

- ## Constructor Details

  - ### Layout

    public Layout()

- ## Method Details

  - ### describeLayoutFlag

    public static String describeLayoutFlag(int flag)

  - ### layoutFlags

    public int layoutFlags()

  - ### setLayoutFlag

    public void setLayoutFlag(@Nonnull Context context, int mask, String name, int pos)

  - ### clearLayoutFlag

    public void clearLayoutFlag(int mask)

  - ### checkLayoutFlags

    public boolean checkLayoutFlags(@Nonnull Context context, int pos, int permittedLayoutFlags)

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### toString

    @Nonnull public String toString()
    Overrides:
      `toString` in class `Object`