Class VulkanPipelineShaderStageCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanPipelineShaderStageCreateInfo
- All Implemented Interfaces:
VulkanPipelineShaderStageCreateInfoType
public final class VulkanPipelineShaderStageCreateInfo
extends Object
implements VulkanPipelineShaderStageCreateInfoType
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanPipelineShaderStageCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanPipelineShaderStageCreateInfo.Creates an immutable copy of aVulkanPipelineShaderStageCreateInfoTypevalue.booleanThis instance is equal to all instances ofVulkanPipelineShaderStageCreateInfothat have equal attribute values.flags()inthashCode()Computes a hash code from attributes:flags,stage,module,shaderEntryPoint,specializationInfo.module()of(Iterable<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, String shaderEntryPoint, Optional<? extends VulkanSpecializationMap> specializationInfo) Construct a new immutableVulkanPipelineShaderStageCreateInfoinstance.of(Set<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, String shaderEntryPoint, Optional<VulkanSpecializationMap> specializationInfo) Construct a new immutableVulkanPipelineShaderStageCreateInfoinstance.stage()toString()Prints the immutable valueVulkanPipelineShaderStageCreateInfowith attribute values.withFlags(VulkanPipelineShaderStageCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.withFlags(Iterable<VulkanPipelineShaderStageCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags.withModule(VulkanShaderModuleType value) Copy the current immutable object by setting a value for themoduleattribute.withShaderEntryPoint(String value) Copy the current immutable object by setting a value for theshaderEntryPointattribute.Copy the current immutable object by setting a present value for the optionalspecializationInfoattribute.withSpecializationInfo(Optional<? extends VulkanSpecializationMap> optional) Copy the current immutable object by setting an optional value for thespecializationInfoattribute.withStage(VulkanShaderStageFlag value) Copy the current immutable object by setting a value for thestageattribute.
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanPipelineShaderStageCreateInfoType- Returns:
- Flags reserved for future use
-
stage
- Specified by:
stagein interfaceVulkanPipelineShaderStageCreateInfoType- Returns:
- A single pipeline stage.
-
module
- Specified by:
modulein interfaceVulkanPipelineShaderStageCreateInfoType- Returns:
- A shader module containing the shader for the stage.
-
shaderEntryPoint
- Specified by:
shaderEntryPointin interfaceVulkanPipelineShaderStageCreateInfoType- Returns:
- The entry point name of the shader for this stage.
-
specializationInfo
- Specified by:
specializationInfoin interfaceVulkanPipelineShaderStageCreateInfoType- Returns:
- The optional specialization info
-
withFlags
public final VulkanPipelineShaderStageCreateInfo withFlags(VulkanPipelineShaderStageCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFlags
public final VulkanPipelineShaderStageCreateInfo withFlags(Iterable<VulkanPipelineShaderStageCreateFlag> 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
thisobject
-
withStage
Copy the current immutable object by setting a value for thestageattribute. A value 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
thisobject
-
withModule
Copy the current immutable object by setting a value for themoduleattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for module- Returns:
- A modified copy of the
thisobject
-
withShaderEntryPoint
Copy the current immutable object by setting a value for theshaderEntryPointattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for shaderEntryPoint- Returns:
- A modified copy of the
thisobject
-
withSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo withSpecializationInfo(VulkanSpecializationMap value) Copy the current immutable object by setting a present value for the optionalspecializationInfoattribute.- Parameters:
value- The value for specializationInfo- Returns:
- A modified copy of
thisobject
-
withSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo withSpecializationInfo(Optional<? extends VulkanSpecializationMap> optional) Copy the current immutable object by setting an optional value for thespecializationInfoattribute. 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 specializationInfo- Returns:
- A modified copy of
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanPipelineShaderStageCreateInfo of(Set<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, String shaderEntryPoint, Optional<VulkanSpecializationMap> specializationInfo) Construct a new immutableVulkanPipelineShaderStageCreateInfoinstance.- Parameters:
flags- The value for theflagsattributestage- The value for thestageattributemodule- The value for themoduleattributeshaderEntryPoint- The value for theshaderEntryPointattributespecializationInfo- The value for thespecializationInfoattribute- Returns:
- An immutable VulkanPipelineShaderStageCreateInfo instance
-
of
public static VulkanPipelineShaderStageCreateInfo of(Iterable<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, String shaderEntryPoint, Optional<? extends VulkanSpecializationMap> specializationInfo) Construct a new immutableVulkanPipelineShaderStageCreateInfoinstance.- Parameters:
flags- The value for theflagsattributestage- The value for thestageattributemodule- The value for themoduleattributeshaderEntryPoint- The value for theshaderEntryPointattributespecializationInfo- The value for thespecializationInfoattribute- Returns:
- An immutable VulkanPipelineShaderStageCreateInfo instance
-
copyOf
public static VulkanPipelineShaderStageCreateInfo copyOf(VulkanPipelineShaderStageCreateInfoType instance) Creates an immutable copy of aVulkanPipelineShaderStageCreateInfoTypevalue. 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 VulkanPipelineShaderStageCreateInfo instance
-
builder
Creates a builder forVulkanPipelineShaderStageCreateInfo.VulkanPipelineShaderStageCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanPipelineShaderStageCreateFlag) //flagselements .setStage(com.io7m.jcoronado.api.VulkanShaderStageFlag) // requiredstage.setModule(com.io7m.jcoronado.api.VulkanShaderModuleType) // requiredmodule.setShaderEntryPoint(String) // requiredshaderEntryPoint.setSpecializationInfo(VulkanSpecializationMap) // optionalspecializationInfo.build();- Returns:
- A new VulkanPipelineShaderStageCreateInfo builder
-