Class VulkanImageMemoryBarrier
java.lang.Object
com.io7m.jcoronado.api.VulkanImageMemoryBarrier
- All Implemented Interfaces:
VulkanImageMemoryBarrierType
Structure specifying the parameters of an image memory barrier.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanImageMemoryBarrier. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanImageMemoryBarrier.static VulkanImageMemoryBarriercopyOf(VulkanImageMemoryBarrierType instance) Creates an immutable copy of aVulkanImageMemoryBarrierTypevalue.booleanThis instance is equal to all instances ofVulkanImageMemoryBarrierthat have equal attribute values.inthashCode()Computes a hash code from attributes:sourceAccessMask,targetAccessMask,oldLayout,newLayout,sourceQueueFamilyIndex,targetQueueFamilyIndex,image,subresourceRange.image()static VulkanImageMemoryBarrierof(Iterable<VulkanAccessFlag> sourceAccessMask, Iterable<VulkanAccessFlag> targetAccessMask, VulkanImageLayout oldLayout, VulkanImageLayout newLayout, VulkanQueueFamilyIndex sourceQueueFamilyIndex, VulkanQueueFamilyIndex targetQueueFamilyIndex, VulkanImageType image, VulkanImageSubresourceRange subresourceRange) Construct a new immutableVulkanImageMemoryBarrierinstance.static VulkanImageMemoryBarrierof(Set<VulkanAccessFlag> sourceAccessMask, Set<VulkanAccessFlag> targetAccessMask, VulkanImageLayout oldLayout, VulkanImageLayout newLayout, VulkanQueueFamilyIndex sourceQueueFamilyIndex, VulkanQueueFamilyIndex targetQueueFamilyIndex, VulkanImageType image, VulkanImageSubresourceRange subresourceRange) Construct a new immutableVulkanImageMemoryBarrierinstance.toString()Prints the immutable valueVulkanImageMemoryBarrierwith attribute values.final VulkanImageMemoryBarrierwithImage(VulkanImageType value) Copy the current immutable object by setting a value for theimageattribute.final VulkanImageMemoryBarrierwithNewLayout(VulkanImageLayout value) Copy the current immutable object by setting a value for thenewLayoutattribute.final VulkanImageMemoryBarrierwithOldLayout(VulkanImageLayout value) Copy the current immutable object by setting a value for theoldLayoutattribute.final VulkanImageMemoryBarrierwithSourceAccessMask(VulkanAccessFlag... elements) Copy the current immutable object with elements that replace the content ofsourceAccessMask.final VulkanImageMemoryBarrierwithSourceAccessMask(Iterable<VulkanAccessFlag> elements) Copy the current immutable object with elements that replace the content ofsourceAccessMask.final VulkanImageMemoryBarrierCopy the current immutable object by setting a value for thesourceQueueFamilyIndexattribute.final VulkanImageMemoryBarrierCopy the current immutable object by setting a value for thesubresourceRangeattribute.final VulkanImageMemoryBarrierwithTargetAccessMask(VulkanAccessFlag... elements) Copy the current immutable object with elements that replace the content oftargetAccessMask.final VulkanImageMemoryBarrierwithTargetAccessMask(Iterable<VulkanAccessFlag> elements) Copy the current immutable object with elements that replace the content oftargetAccessMask.final VulkanImageMemoryBarrierCopy the current immutable object by setting a value for thetargetQueueFamilyIndexattribute.
-
Method Details
-
sourceAccessMask
- Specified by:
sourceAccessMaskin interfaceVulkanImageMemoryBarrierType- Returns:
- The source access mask
-
targetAccessMask
- Specified by:
targetAccessMaskin interfaceVulkanImageMemoryBarrierType- Returns:
- The target access mask
-
oldLayout
- Specified by:
oldLayoutin interfaceVulkanImageMemoryBarrierType- Returns:
- The original image layout
-
newLayout
- Specified by:
newLayoutin interfaceVulkanImageMemoryBarrierType- Returns:
- The target image layout
-
sourceQueueFamilyIndex
- Specified by:
sourceQueueFamilyIndexin interfaceVulkanImageMemoryBarrierType- Returns:
- The source queue family for a queue family ownership transfer.
-
targetQueueFamilyIndex
- Specified by:
targetQueueFamilyIndexin interfaceVulkanImageMemoryBarrierType- Returns:
- The target queue family for a queue family ownership transfer.
-
image
- Specified by:
imagein interfaceVulkanImageMemoryBarrierType- Returns:
- The image affected by this barrier.
-
subresourceRange
- Specified by:
subresourceRangein interfaceVulkanImageMemoryBarrierType- Returns:
- The image subresource range within image that is affected by this barrier.
-
withSourceAccessMask
Copy the current immutable object with elements that replace the content ofsourceAccessMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withSourceAccessMask
Copy the current immutable object with elements that replace the content ofsourceAccessMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of sourceAccessMask elements to set- Returns:
- A modified copy of
thisobject
-
withTargetAccessMask
Copy the current immutable object with elements that replace the content oftargetAccessMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withTargetAccessMask
Copy the current immutable object with elements that replace the content oftargetAccessMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of targetAccessMask elements to set- Returns:
- A modified copy of
thisobject
-
withOldLayout
Copy the current immutable object by setting a value for theoldLayoutattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for oldLayout- Returns:
- A modified copy of the
thisobject
-
withNewLayout
Copy the current immutable object by setting a value for thenewLayoutattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for newLayout- Returns:
- A modified copy of the
thisobject
-
withSourceQueueFamilyIndex
Copy the current immutable object by setting a value for thesourceQueueFamilyIndexattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for sourceQueueFamilyIndex- Returns:
- A modified copy of the
thisobject
-
withTargetQueueFamilyIndex
Copy the current immutable object by setting a value for thetargetQueueFamilyIndexattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for targetQueueFamilyIndex- Returns:
- A modified copy of the
thisobject
-
withImage
Copy the current immutable object by setting a value for theimageattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for image- Returns:
- A modified copy of the
thisobject
-
withSubresourceRange
Copy the current immutable object by setting a value for thesubresourceRangeattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for subresourceRange- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanImageMemoryBarrier of(Set<VulkanAccessFlag> sourceAccessMask, Set<VulkanAccessFlag> targetAccessMask, VulkanImageLayout oldLayout, VulkanImageLayout newLayout, VulkanQueueFamilyIndex sourceQueueFamilyIndex, VulkanQueueFamilyIndex targetQueueFamilyIndex, VulkanImageType image, VulkanImageSubresourceRange subresourceRange) Construct a new immutableVulkanImageMemoryBarrierinstance.- Parameters:
sourceAccessMask- The value for thesourceAccessMaskattributetargetAccessMask- The value for thetargetAccessMaskattributeoldLayout- The value for theoldLayoutattributenewLayout- The value for thenewLayoutattributesourceQueueFamilyIndex- The value for thesourceQueueFamilyIndexattributetargetQueueFamilyIndex- The value for thetargetQueueFamilyIndexattributeimage- The value for theimageattributesubresourceRange- The value for thesubresourceRangeattribute- Returns:
- An immutable VulkanImageMemoryBarrier instance
-
of
public static VulkanImageMemoryBarrier of(Iterable<VulkanAccessFlag> sourceAccessMask, Iterable<VulkanAccessFlag> targetAccessMask, VulkanImageLayout oldLayout, VulkanImageLayout newLayout, VulkanQueueFamilyIndex sourceQueueFamilyIndex, VulkanQueueFamilyIndex targetQueueFamilyIndex, VulkanImageType image, VulkanImageSubresourceRange subresourceRange) Construct a new immutableVulkanImageMemoryBarrierinstance.- Parameters:
sourceAccessMask- The value for thesourceAccessMaskattributetargetAccessMask- The value for thetargetAccessMaskattributeoldLayout- The value for theoldLayoutattributenewLayout- The value for thenewLayoutattributesourceQueueFamilyIndex- The value for thesourceQueueFamilyIndexattributetargetQueueFamilyIndex- The value for thetargetQueueFamilyIndexattributeimage- The value for theimageattributesubresourceRange- The value for thesubresourceRangeattribute- Returns:
- An immutable VulkanImageMemoryBarrier instance
-
copyOf
Creates an immutable copy of aVulkanImageMemoryBarrierTypevalue. 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 VulkanImageMemoryBarrier instance
-
builder
Creates a builder forVulkanImageMemoryBarrier.VulkanImageMemoryBarrier.builder() .addSourceAccessMask|addAllSourceAccessMask(com.io7m.jcoronado.api.VulkanAccessFlag) //sourceAccessMaskelements .addTargetAccessMask|addAllTargetAccessMask(com.io7m.jcoronado.api.VulkanAccessFlag) //targetAccessMaskelements .setOldLayout(com.io7m.jcoronado.api.VulkanImageLayout) // requiredoldLayout.setNewLayout(com.io7m.jcoronado.api.VulkanImageLayout) // requirednewLayout.setSourceQueueFamilyIndex(com.io7m.jcoronado.api.VulkanQueueFamilyIndex) // requiredsourceQueueFamilyIndex.setTargetQueueFamilyIndex(com.io7m.jcoronado.api.VulkanQueueFamilyIndex) // requiredtargetQueueFamilyIndex.setImage(com.io7m.jcoronado.api.VulkanImageType) // requiredimage.setSubresourceRange(com.io7m.jcoronado.api.VulkanImageSubresourceRange) // requiredsubresourceRange.build();- Returns:
- A new VulkanImageMemoryBarrier builder
-