- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanComputePipelineCreateInfo
-
- All Implemented Interfaces:
VulkanComputePipelineCreateInfoType
public final class VulkanComputePipelineCreateInfo extends java.lang.Object implements VulkanComputePipelineCreateInfoType
Structure specifying parameters of a newly created compute pipeline.- See Also:
- "VkComputePipelineCreateInfo"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanComputePipelineCreateInfo.Builder
Builds instances of typeVulkanComputePipelineCreateInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<VulkanPipelineType>
basePipeline()
java.util.OptionalInt
basePipelineIndex()
static VulkanComputePipelineCreateInfo.Builder
builder()
Creates a builder forVulkanComputePipelineCreateInfo
.static VulkanComputePipelineCreateInfo
copyOf(VulkanComputePipelineCreateInfoType instance)
Creates an immutable copy of aVulkanComputePipelineCreateInfoType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanComputePipelineCreateInfo
that have equal attribute values.java.util.Set<VulkanPipelineCreateFlag>
flags()
int
hashCode()
Computes a hash code from attributes:flags
,stage
,layout
,basePipeline
,basePipelineIndex
.VulkanPipelineLayoutType
layout()
static VulkanComputePipelineCreateInfo
of(java.lang.Iterable<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, java.util.Optional<? extends VulkanPipelineType> basePipeline, java.util.OptionalInt basePipelineIndex)
Construct a new immutableVulkanComputePipelineCreateInfo
instance.static VulkanComputePipelineCreateInfo
of(java.util.Set<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, java.util.Optional<VulkanPipelineType> basePipeline, java.util.OptionalInt basePipelineIndex)
Construct a new immutableVulkanComputePipelineCreateInfo
instance.VulkanPipelineShaderStageCreateInfo
stage()
java.lang.String
toString()
Prints the immutable valueVulkanComputePipelineCreateInfo
with attribute values.VulkanComputePipelineCreateInfo
withBasePipeline(VulkanPipelineType value)
Copy the current immutable object by setting a present value for the optionalbasePipeline
attribute.VulkanComputePipelineCreateInfo
withBasePipeline(java.util.Optional<? extends VulkanPipelineType> optional)
Copy the current immutable object by setting an optional value for thebasePipeline
attribute.VulkanComputePipelineCreateInfo
withBasePipelineIndex(int value)
Copy the current immutable object by setting a present value for the optionalbasePipelineIndex
attribute.VulkanComputePipelineCreateInfo
withBasePipelineIndex(java.util.OptionalInt optional)
Copy the current immutable object by setting an optional value for thebasePipelineIndex
attribute.VulkanComputePipelineCreateInfo
withFlags(VulkanPipelineCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanComputePipelineCreateInfo
withFlags(java.lang.Iterable<VulkanPipelineCreateFlag> elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanComputePipelineCreateInfo
withLayout(VulkanPipelineLayoutType value)
Copy the current immutable object by setting a value for thelayout
attribute.VulkanComputePipelineCreateInfo
withStage(VulkanPipelineShaderStageCreateInfo value)
Copy the current immutable object by setting a value for thestage
attribute.
-
-
-
Method Detail
-
flags
public java.util.Set<VulkanPipelineCreateFlag> flags()
- Specified by:
flags
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- Flags specifying how the pipeline will be generated.
-
stage
public VulkanPipelineShaderStageCreateInfo stage()
- Specified by:
stage
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- The shader stages to be included in the graphics pipeline.
-
layout
public VulkanPipelineLayoutType 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
public java.util.Optional<VulkanPipelineType> basePipeline()
- Specified by:
basePipeline
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- A pipeline to derive from.
-
basePipelineIndex
public java.util.OptionalInt basePipelineIndex()
- Specified by:
basePipelineIndex
in interfaceVulkanComputePipelineCreateInfoType
- Returns:
- An index into the createInfos parameter to use as a pipeline to derive from.
-
withFlags
public final VulkanComputePipelineCreateInfo withFlags(VulkanPipelineCreateFlag... elements)
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
public final VulkanComputePipelineCreateInfo withFlags(java.lang.Iterable<VulkanPipelineCreateFlag> elements)
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
public final VulkanComputePipelineCreateInfo withStage(VulkanPipelineShaderStageCreateInfo value)
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
public final VulkanComputePipelineCreateInfo withLayout(VulkanPipelineLayoutType value)
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
public final VulkanComputePipelineCreateInfo withBasePipeline(VulkanPipelineType value)
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(java.util.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
public final VulkanComputePipelineCreateInfo withBasePipelineIndex(int value)
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
public final VulkanComputePipelineCreateInfo withBasePipelineIndex(java.util.OptionalInt optional)
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
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanComputePipelineCreateInfo
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:flags
,stage
,layout
,basePipeline
,basePipelineIndex
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanComputePipelineCreateInfo
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanComputePipelineCreateInfo of(java.util.Set<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, java.util.Optional<VulkanPipelineType> basePipeline, java.util.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(java.lang.Iterable<VulkanPipelineCreateFlag> flags, VulkanPipelineShaderStageCreateInfo stage, VulkanPipelineLayoutType layout, java.util.Optional<? extends VulkanPipelineType> basePipeline, java.util.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
public static VulkanComputePipelineCreateInfo copyOf(VulkanComputePipelineCreateInfoType instance)
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
public static VulkanComputePipelineCreateInfo.Builder builder()
Creates a builder forVulkanComputePipelineCreateInfo
.- Returns:
- A new VulkanComputePipelineCreateInfo builder
-
-