Class VulkanComputePipelineCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanComputePipelineCreateInfo
- All Implemented Interfaces:
VulkanComputePipelineCreateInfoType
public final class VulkanComputePipelineCreateInfo
extends Object
implements VulkanComputePipelineCreateInfoType
Structure specifying parameters of a newly created compute pipeline.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builds instances of typeVulkanComputePipelineCreateInfo
. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Creates a builder forVulkanComputePipelineCreateInfo
.copyOf
(VulkanComputePipelineCreateInfoType instance) Creates an immutable copy of aVulkanComputePipelineCreateInfoType
value.boolean
This instance is equal to all instances ofVulkanComputePipelineCreateInfo
that have equal attribute values.flags()
int
hashCode()
Computes a hash code from attributes:flags
,stage
,layout
,basePipeline
,basePipelineIndex
.layout()
of
(Iterable<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, Optional<? extends VulkanPipelineType> basePipeline, OptionalInt basePipelineIndex) Construct a new immutableVulkanComputePipelineCreateInfo
instance.of
(Set<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, Optional<VulkanPipelineType> basePipeline, OptionalInt basePipelineIndex) Construct a new immutableVulkanComputePipelineCreateInfo
instance.stage()
toString()
Prints the immutable valueVulkanComputePipelineCreateInfo
with attribute values.Copy the current immutable object by setting a present value for the optionalbasePipeline
attribute.withBasePipeline
(Optional<? extends VulkanPipelineType> optional) Copy the current immutable object by setting an optional value for thebasePipeline
attribute.withBasePipelineIndex
(int value) Copy the current immutable object by setting a present value for the optionalbasePipelineIndex
attribute.withBasePipelineIndex
(OptionalInt optional) Copy the current immutable object by setting an optional value for thebasePipelineIndex
attribute.withFlags
(VulkanPipelineCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags
.withFlags
(Iterable<VulkanPipelineCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags
.Copy the current immutable object by setting a value for thelayout
attribute.Copy the current immutable object by setting a value for thestage
attribute.
-
Method Details
-
flags
- Specified by:
flags
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- Flags specifying how the pipeline will be generated.
-
stage
- Specified by:
stage
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- The shader stages to be included in the graphics pipeline.
-
layout
- Specified by:
layout
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- The description of binding locations used by both the pipeline and descriptor sets used with the pipeline.
-
basePipeline
- Specified by:
basePipeline
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- A pipeline to derive from.
-
basePipelineIndex
- Specified by:
basePipelineIndex
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- An index into the createInfos parameter to use as a pipeline to derive from.
-
withFlags
Copy the current immutable object with elements that replace the content offlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withFlags
Copy the current immutable object with elements that replace the content offlags
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of flags elements to set- Returns:
- A modified copy of
this
object
-
withStage
Copy the current immutable object by setting a value for thestage
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for stage- Returns:
- A modified copy of the
this
object
-
withLayout
Copy the current immutable object by setting a value for thelayout
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for layout- Returns:
- A modified copy of the
this
object
-
withBasePipeline
Copy the current immutable object by setting a present value for the optionalbasePipeline
attribute.- Parameters:
value
- The value for basePipeline- Returns:
- A modified copy of
this
object
-
withBasePipeline
public final VulkanComputePipelineCreateInfo withBasePipeline(Optional<? extends VulkanPipelineType> optional) Copy the current immutable object by setting an optional value for thebasePipeline
attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis
.- Parameters:
optional
- A value for basePipeline- Returns:
- A modified copy of
this
object
-
withBasePipelineIndex
Copy the current immutable object by setting a present value for the optionalbasePipelineIndex
attribute.- Parameters:
value
- The value for basePipelineIndex- Returns:
- A modified copy of
this
object
-
withBasePipelineIndex
Copy the current immutable object by setting an optional value for thebasePipelineIndex
attribute. An equality check is used on inner nullable value to prevent copying of the same value by returningthis
.- Parameters:
optional
- A value for basePipelineIndex- Returns:
- A modified copy of
this
object
-
equals
-
hashCode
-
toString
-
of
public static VulkanComputePipelineCreateInfo of(Set<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, Optional<VulkanPipelineType> basePipeline, OptionalInt basePipelineIndex) Construct a new immutableVulkanComputePipelineCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributestage
- The value for thestage
attributelayout
- The value for thelayout
attributebasePipeline
- The value for thebasePipeline
attributebasePipelineIndex
- The value for thebasePipelineIndex
attribute- Returns:
- An immutable VulkanComputePipelineCreateInfo instance
-
of
public static VulkanComputePipelineCreateInfo of(Iterable<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, Optional<? extends VulkanPipelineType> basePipeline, OptionalInt basePipelineIndex) Construct a new immutableVulkanComputePipelineCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributestage
- The value for thestage
attributelayout
- The value for thelayout
attributebasePipeline
- The value for thebasePipeline
attributebasePipelineIndex
- The value for thebasePipelineIndex
attribute- Returns:
- An immutable VulkanComputePipelineCreateInfo instance
-
copyOf
Creates an immutable copy of aVulkanComputePipelineCreateInfoType
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 VulkanComputePipelineCreateInfo instance
-
builder
Creates a builder forVulkanComputePipelineCreateInfo
.VulkanComputePipelineCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanPipelineCreateFlag) //
flags
elements .setStage(com.io7m.jcoronado.api.VulkanPipelineShaderStageCreateInfo) // requiredstage
.setLayout(com.io7m.jcoronado.api.VulkanPipelineLayoutType) // requiredlayout
.setBasePipeline(com.io7m.jcoronado.api.VulkanPipelineType) // optionalbasePipeline
.setBasePipelineIndex(int) // optionalbasePipelineIndex
.build();- Returns:
- A new VulkanComputePipelineCreateInfo builder
-