Class VulkanPipelineRenderingCreateInfo

java.lang.Object
com.io7m.jcoronado.api.VulkanPipelineRenderingCreateInfo
All Implemented Interfaces:
VulkanPipelineRenderingCreateInfoType

public final class VulkanPipelineRenderingCreateInfo extends Object implements VulkanPipelineRenderingCreateInfoType
Structure specifying parameters of a pipeline for dynamic rendering.
See Also:
  • "VkPipelineRenderingCreateInfo"
  • Method Details

    • colorAttachmentFormats

      public List<VulkanFormat> colorAttachmentFormats()
      Specified by:
      colorAttachmentFormats in interface VulkanPipelineRenderingCreateInfoType
      Returns:
      The formats of the color attachments
    • depthAttachmentFormat

      public Optional<VulkanFormat> depthAttachmentFormat()
      Specified by:
      depthAttachmentFormat in interface VulkanPipelineRenderingCreateInfoType
      Returns:
      The format of the depth attachment
    • stencilAttachmentFormat

      public Optional<VulkanFormat> stencilAttachmentFormat()
      Specified by:
      stencilAttachmentFormat in interface VulkanPipelineRenderingCreateInfoType
      Returns:
      The format of the stencil attachment
    • viewMask

      public long viewMask()
      Specified by:
      viewMask in interface VulkanPipelineRenderingCreateInfoType
      Returns:
      A bitfield of view indices describing which views are active during rendering. It must match VkRenderingInfo::viewMask when rendering.
    • withColorAttachmentFormats

      public final VulkanPipelineRenderingCreateInfo withColorAttachmentFormats(VulkanFormat... elements)
      Copy the current immutable object with elements that replace the content of colorAttachmentFormats.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withColorAttachmentFormats

      public final VulkanPipelineRenderingCreateInfo withColorAttachmentFormats(Iterable<? extends VulkanFormat> elements)
      Copy the current immutable object with elements that replace the content of colorAttachmentFormats. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of colorAttachmentFormats elements to set
      Returns:
      A modified copy or this if not changed
    • withDepthAttachmentFormat

      public final VulkanPipelineRenderingCreateInfo withDepthAttachmentFormat(VulkanFormat value)
      Copy the current immutable object by setting a present value for the optional depthAttachmentFormat attribute.
      Parameters:
      value - The value for depthAttachmentFormat
      Returns:
      A modified copy or this if not changed
    • withDepthAttachmentFormat

      public final VulkanPipelineRenderingCreateInfo withDepthAttachmentFormat(Optional<? extends VulkanFormat> optional)
      Copy the current immutable object by setting an optional value for the depthAttachmentFormat attribute. An equality check is used on inner value to prevent copying of the same value by returning this.
      Parameters:
      optional - An optional value for depthAttachmentFormat
      Returns:
      A modified copy or this if not changed
    • withStencilAttachmentFormat

      public final VulkanPipelineRenderingCreateInfo withStencilAttachmentFormat(VulkanFormat value)
      Copy the current immutable object by setting a present value for the optional stencilAttachmentFormat attribute.
      Parameters:
      value - The value for stencilAttachmentFormat
      Returns:
      A modified copy or this if not changed
    • withStencilAttachmentFormat

      public final VulkanPipelineRenderingCreateInfo withStencilAttachmentFormat(Optional<? extends VulkanFormat> optional)
      Copy the current immutable object by setting an optional value for the stencilAttachmentFormat attribute. An equality check is used on inner value to prevent copying of the same value by returning this.
      Parameters:
      optional - An optional value for stencilAttachmentFormat
      Returns:
      A modified copy or this if not changed
    • withViewMask

      public final VulkanPipelineRenderingCreateInfo withViewMask(long value)
      Copy the current immutable object by setting a value for the viewMask attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for viewMask
      Returns:
      A modified copy or the this object
    • equals

      public boolean equals(Object another)
      This instance is equal to all instances of VulkanPipelineRenderingCreateInfo that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: colorAttachmentFormats, depthAttachmentFormat, stencilAttachmentFormat, viewMask.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value VulkanPipelineRenderingCreateInfo with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      Creates an immutable copy of a VulkanPipelineRenderingCreateInfoType value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable VulkanPipelineRenderingCreateInfo instance
    • builder

      Creates a builder for VulkanPipelineRenderingCreateInfo.
      VulkanPipelineRenderingCreateInfo.builder()
         .addColorAttachmentFormats|addAllColorAttachmentFormats(com.io7m.jcoronado.api.VulkanFormat) // colorAttachmentFormats elements
         .setDepthAttachmentFormat(Optional<com.io7m.jcoronado.api.VulkanFormat>) // optional depthAttachmentFormat
         .setStencilAttachmentFormat(Optional<com.io7m.jcoronado.api.VulkanFormat>) // optional stencilAttachmentFormat
         .setViewMask(long) // optional viewMask
         .build();
      
      Returns:
      A new VulkanPipelineRenderingCreateInfo builder