Class VulkanBufferMemoryBarrier
java.lang.Object
com.io7m.jcoronado.api.VulkanBufferMemoryBarrier
- All Implemented Interfaces:
VulkanBufferMemoryBarrierType
public final class VulkanBufferMemoryBarrier
extends Object
implements VulkanBufferMemoryBarrierType
Structure specifying the parameters of a buffer memory barrier.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanBufferMemoryBarrier. -
Method Summary
Modifier and TypeMethodDescriptionbuffer()builder()Creates a builder forVulkanBufferMemoryBarrier.static VulkanBufferMemoryBarriercopyOf(VulkanBufferMemoryBarrierType instance) Creates an immutable copy of aVulkanBufferMemoryBarrierTypevalue.booleanThis instance is equal to all instances ofVulkanBufferMemoryBarrierthat have equal attribute values.inthashCode()Computes a hash code from attributes:srcStageMask,srcAccessMask,dstStageMask,dstAccessMask,srcQueueFamilyIndex,dstQueueFamilyIndex,buffer,offset,size.longoffset()longsize()toString()Prints the immutable valueVulkanBufferMemoryBarrierwith attribute values.withBuffer(VulkanBufferType value) Copy the current immutable object by setting a value for thebufferattribute.withDstAccessMask(VulkanAccessFlag... elements) Copy the current immutable object with elements that replace the content ofdstAccessMask.withDstAccessMask(Iterable<VulkanAccessFlag> elements) Copy the current immutable object with elements that replace the content ofdstAccessMask.Copy the current immutable object by setting a value for thedstQueueFamilyIndexattribute.withDstStageMask(VulkanPipelineStageFlag... elements) Copy the current immutable object with elements that replace the content ofdstStageMask.withDstStageMask(Iterable<VulkanPipelineStageFlag> elements) Copy the current immutable object with elements that replace the content ofdstStageMask.withOffset(long value) Copy the current immutable object by setting a value for theoffsetattribute.withSize(long value) Copy the current immutable object by setting a value for thesizeattribute.withSrcAccessMask(VulkanAccessFlag... elements) Copy the current immutable object with elements that replace the content ofsrcAccessMask.withSrcAccessMask(Iterable<VulkanAccessFlag> elements) Copy the current immutable object with elements that replace the content ofsrcAccessMask.Copy the current immutable object by setting a value for thesrcQueueFamilyIndexattribute.withSrcStageMask(VulkanPipelineStageFlag... elements) Copy the current immutable object with elements that replace the content ofsrcStageMask.withSrcStageMask(Iterable<VulkanPipelineStageFlag> elements) Copy the current immutable object with elements that replace the content ofsrcStageMask.
-
Method Details
-
srcStageMask
- Specified by:
srcStageMaskin interfaceVulkanBufferMemoryBarrierType- Returns:
- The source stage mask
-
srcAccessMask
- Specified by:
srcAccessMaskin interfaceVulkanBufferMemoryBarrierType- Returns:
- The source access mask
-
dstStageMask
- Specified by:
dstStageMaskin interfaceVulkanBufferMemoryBarrierType- Returns:
- The destination stage mask
-
dstAccessMask
- Specified by:
dstAccessMaskin interfaceVulkanBufferMemoryBarrierType- Returns:
- The destination access mask
-
srcQueueFamilyIndex
- Specified by:
srcQueueFamilyIndexin interfaceVulkanBufferMemoryBarrierType- Returns:
- The source queue family for a queue family ownership transfer.
-
dstQueueFamilyIndex
- Specified by:
dstQueueFamilyIndexin interfaceVulkanBufferMemoryBarrierType- Returns:
- The target queue family for a queue family ownership transfer.
-
buffer
- Specified by:
bufferin interfaceVulkanBufferMemoryBarrierType- Returns:
- The buffer affected by this barrier.
-
offset
public long offset()- Specified by:
offsetin interfaceVulkanBufferMemoryBarrierType- Returns:
- An offset in bytes into the backing memory for buffer; this is relative to the base offset as bound to the buffer
-
size
public long size()- Specified by:
sizein interfaceVulkanBufferMemoryBarrierType- Returns:
- A size in bytes of the affected area of backing memory for buffer, or VK_WHOLE_SIZE to use the range from offset to the end of the buffer.
-
withSrcStageMask
Copy the current immutable object with elements that replace the content ofsrcStageMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withSrcStageMask
Copy the current immutable object with elements that replace the content ofsrcStageMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of srcStageMask elements to set- Returns:
- A modified copy or
thisif not changed
-
withSrcAccessMask
Copy the current immutable object with elements that replace the content ofsrcAccessMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withSrcAccessMask
Copy the current immutable object with elements that replace the content ofsrcAccessMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of srcAccessMask elements to set- Returns:
- A modified copy or
thisif not changed
-
withDstStageMask
Copy the current immutable object with elements that replace the content ofdstStageMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withDstStageMask
Copy the current immutable object with elements that replace the content ofdstStageMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of dstStageMask elements to set- Returns:
- A modified copy or
thisif not changed
-
withDstAccessMask
Copy the current immutable object with elements that replace the content ofdstAccessMask.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withDstAccessMask
Copy the current immutable object with elements that replace the content ofdstAccessMask. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of dstAccessMask elements to set- Returns:
- A modified copy or
thisif not changed
-
withSrcQueueFamilyIndex
Copy the current immutable object by setting a value for thesrcQueueFamilyIndexattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for srcQueueFamilyIndex- Returns:
- A modified copy or the
thisobject
-
withDstQueueFamilyIndex
Copy the current immutable object by setting a value for thedstQueueFamilyIndexattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for dstQueueFamilyIndex- Returns:
- A modified copy or the
thisobject
-
withBuffer
Copy the current immutable object by setting a value for thebufferattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for buffer- Returns:
- A modified copy or the
thisobject
-
withOffset
Copy the current immutable object by setting a value for theoffsetattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for offset- Returns:
- A modified copy or the
thisobject
-
withSize
Copy the current immutable object by setting a value for thesizeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for size- Returns:
- A modified copy or the
thisobject
-
equals
-
hashCode
-
toString
-
copyOf
Creates an immutable copy of aVulkanBufferMemoryBarrierTypevalue. 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 VulkanBufferMemoryBarrier instance
-
builder
Creates a builder forVulkanBufferMemoryBarrier.VulkanBufferMemoryBarrier.builder() .addSrcStageMask|addAllSrcStageMask(com.io7m.jcoronado.api.VulkanPipelineStageFlag) //
srcStageMaskelements .addSrcAccessMask|addAllSrcAccessMask(com.io7m.jcoronado.api.VulkanAccessFlag) //srcAccessMaskelements .addDstStageMask|addAllDstStageMask(com.io7m.jcoronado.api.VulkanPipelineStageFlag) //dstStageMaskelements .addDstAccessMask|addAllDstAccessMask(com.io7m.jcoronado.api.VulkanAccessFlag) //dstAccessMaskelements .setSrcQueueFamilyIndex(com.io7m.jcoronado.api.VulkanQueueFamilyIndex) // requiredsrcQueueFamilyIndex.setDstQueueFamilyIndex(com.io7m.jcoronado.api.VulkanQueueFamilyIndex) // requireddstQueueFamilyIndex.setBuffer(com.io7m.jcoronado.api.VulkanBufferType) // requiredbuffer.setOffset(long) // optionaloffset.setSize(long) // optionalsize.build();- Returns:
- A new VulkanBufferMemoryBarrier builder
-