Record Class VulkanRenderPipeline

java.lang.Object
java.lang.Record
com.mojang.blaze3d.vulkan.VulkanRenderPipeline
All Implemented Interfaces:
CompiledRenderPipeline, Destroyable

public record VulkanRenderPipeline(RenderPipeline info, VulkanDevice device, long withDepthStencilPipeline, long withDepthPipeline, long withoutDepthPipeline, long pipelineLayout, VulkanBindGroupLayout layout, long vertexModule, long fragmentModule) extends Record implements CompiledRenderPipeline, Destroyable
  • Field Details

    • info

      private final RenderPipeline info
      The field for the info record component.
    • device

      private final VulkanDevice device
      The field for the device record component.
    • withDepthStencilPipeline

      private final long withDepthStencilPipeline
      The field for the withDepthStencilPipeline record component.
    • withDepthPipeline

      private final long withDepthPipeline
      The field for the withDepthPipeline record component.
    • withoutDepthPipeline

      private final long withoutDepthPipeline
      The field for the withoutDepthPipeline record component.
    • pipelineLayout

      private final long pipelineLayout
      The field for the pipelineLayout record component.
    • layout

      private final VulkanBindGroupLayout layout
      The field for the layout record component.
    • vertexModule

      private final long vertexModule
      The field for the vertexModule record component.
    • fragmentModule

      private final long fragmentModule
      The field for the fragmentModule record component.
    • INVALID_PIPELINE

      public static final long INVALID_PIPELINE
      See Also:
  • Constructor Details

    • VulkanRenderPipeline

      public VulkanRenderPipeline(RenderPipeline info, VulkanDevice device, long withDepthStencilPipeline, long withDepthPipeline, long withoutDepthPipeline, long pipelineLayout, VulkanBindGroupLayout layout, long vertexModule, long fragmentModule)
      Creates an instance of a VulkanRenderPipeline record class.
      Parameters:
      info - the value for the info record component
      device - the value for the device record component
      withDepthStencilPipeline - the value for the withDepthStencilPipeline record component
      withDepthPipeline - the value for the withDepthPipeline record component
      withoutDepthPipeline - the value for the withoutDepthPipeline record component
      pipelineLayout - the value for the pipelineLayout record component
      layout - the value for the layout record component
      vertexModule - the value for the vertexModule record component
      fragmentModule - the value for the fragmentModule record component
  • Method Details

    • isValid

      public boolean isValid()
      Specified by:
      isValid in interface CompiledRenderPipeline
    • compile

      public static VulkanRenderPipeline compile(VulkanDevice device, VulkanBindGroupLayout layout, RenderPipeline pipeline, long vertexModule, long fragmentModule)
    • destroy

      public void destroy()
      Specified by:
      destroy in interface Destroyable
    • applyBlendInformation

      private static void applyBlendInformation(VkPipelineColorBlendAttachmentState.Buffer blendAttachments, BlendFunction blendFunction)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • info

      public RenderPipeline info()
      Returns the value of the info record component.
      Returns:
      the value of the info record component
    • device

      public VulkanDevice device()
      Returns the value of the device record component.
      Returns:
      the value of the device record component
    • withDepthStencilPipeline

      public long withDepthStencilPipeline()
      Returns the value of the withDepthStencilPipeline record component.
      Returns:
      the value of the withDepthStencilPipeline record component
    • withDepthPipeline

      public long withDepthPipeline()
      Returns the value of the withDepthPipeline record component.
      Returns:
      the value of the withDepthPipeline record component
    • withoutDepthPipeline

      public long withoutDepthPipeline()
      Returns the value of the withoutDepthPipeline record component.
      Returns:
      the value of the withoutDepthPipeline record component
    • pipelineLayout

      public long pipelineLayout()
      Returns the value of the pipelineLayout record component.
      Returns:
      the value of the pipelineLayout record component
    • layout

      public VulkanBindGroupLayout layout()
      Returns the value of the layout record component.
      Returns:
      the value of the layout record component
    • vertexModule

      public long vertexModule()
      Returns the value of the vertexModule record component.
      Returns:
      the value of the vertexModule record component
    • fragmentModule

      public long fragmentModule()
      Returns the value of the fragmentModule record component.
      Returns:
      the value of the fragmentModule record component