Class VkImageMemoryBarrier
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The first access scope is limited to access to memory through the specified image subresource range, via access types in the source access mask specified by srcAccessMask. If srcAccessMask includes ACCESS_HOST_WRITE_BIT, memory writes performed by that access type are also made visible, as that access type is not performed through a resource.
The second access scope is limited to access to memory through the specified image subresource range, via access types in the destination access mask specified by dstAccessMask. If dstAccessMask includes ACCESS_HOST_WRITE_BIT or ACCESS_HOST_READ_BIT, available memory writes are also made visible to accesses of those types, as those access types are not performed through a resource.
If srcQueueFamilyIndex is not equal to dstQueueFamilyIndex, and srcQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family release operation for the specified image subresource range, and the second synchronization scope of the calling command does not apply to this operation.
If dstQueueFamilyIndex is not equal to srcQueueFamilyIndex, and dstQueueFamilyIndex is equal to the current queue family, then the memory barrier defines a queue family acquire operation for the specified image subresource range, and the first synchronization scope of the calling command does not apply to this operation.
If the synchronization2 feature is not enabled or oldLayout is not equal to newLayout, oldLayout and newLayout define an image layout transition for the specified image subresource range.
Note
If the synchronization2 feature is enabled, when the old and new layout are equal, the layout values are ignored - data is preserved no matter what values are specified, or what layout the image is currently in.
If image has a multi-planar format and the image is disjoint, then including IMAGE_ASPECT_COLOR_BIT in the aspectMask member of subresourceRange is equivalent to including IMAGE_ASPECT_PLANE_0_BIT, IMAGE_ASPECT_PLANE_1_BIT, and (for three-plane formats only) IMAGE_ASPECT_PLANE_2_BIT.
Valid Usage
- If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_SAMPLED_BITorIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_TRANSFER_SRC_OPTIMALthenimagemust have been created withIMAGE_USAGE_TRANSFER_SRC_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_TRANSFER_DST_OPTIMALthenimagemust have been created withIMAGE_USAGE_TRANSFER_DST_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,oldLayoutmust beIMAGE_LAYOUT_UNDEFINEDor the current layout of the image subresources affected by the barrier - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition,newLayoutmust not beIMAGE_LAYOUT_UNDEFINEDorIMAGE_LAYOUT_PREINITIALIZED - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALthenimagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALthenimagemust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITset - If the
synchronization2feature is not enabled,oldLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR - If the
synchronization2feature is not enabled,newLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHRorIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_ATTACHMENT_OPTIMAL,imagemust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BITorIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_READ_ONLY_OPTIMAL,imagemust have been created with at least one ofIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,IMAGE_USAGE_SAMPLED_BIT, orIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHRthenimagemust have been created withIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHRset - If
imagewas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,srcQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
imagewas created with a sharing mode ofSHARING_MODE_EXCLUSIVE, andsrcQueueFamilyIndexanddstQueueFamilyIndexare not equal,dstQueueFamilyIndexmust beQUEUE_FAMILY_EXTERNAL,QUEUE_FAMILY_FOREIGN_EXT, or a valid queue family - If
srcQueueFamilyIndexis not equal todstQueueFamilyIndex, at least one ofsrcQueueFamilyIndexordstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNALorQUEUE_FAMILY_FOREIGN_EXT - If the
VK_KHR_external_memoryextension is not enabled, and the value ofVkApplicationInfo::apiVersionused to create theVkInstanceis not greater than or equal to Version 1.1,srcQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_KHR_external_memoryextension is not enabled, and the value ofVkApplicationInfo::apiVersionused to create theVkInstanceis not greater than or equal to Version 1.1,dstQueueFamilyIndexmust not beQUEUE_FAMILY_EXTERNAL - If the
VK_EXT_queue_family_foreignextension is not enabledsrcQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If the
VK_EXT_queue_family_foreignextension is not enableddstQueueFamilyIndexmust not beQUEUE_FAMILY_FOREIGN_EXT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_DECODE_SRC_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_DECODE_DST_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_DECODE_DPB_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_ENCODE_DST_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHRthenimagemust have been created withIMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHRorIMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXTthenimagemust have been created with either theIMAGE_USAGE_COLOR_ATTACHMENT_BITorIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BITusage bits, and theIMAGE_USAGE_INPUT_ATTACHMENT_BITorIMAGE_USAGE_SAMPLED_BITusage bits, and theIMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXTusage bit - If the
attachmentFeedbackLoopLayoutfeature is not enabled,newLayoutmust not beIMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT - If
srcQueueFamilyIndexanddstQueueFamilyIndexdefine a queue family ownership transfer oroldLayoutandnewLayoutdefine an image layout transition, andoldLayoutornewLayoutisIMAGE_LAYOUT_RENDERING_LOCAL_READthenimagemust have been created with eitherIMAGE_USAGE_STORAGE_BIT, or with bothIMAGE_USAGE_INPUT_ATTACHMENT_BITand either ofIMAGE_USAGE_COLOR_ATTACHMENT_BITorIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If the
dynamicRenderingLocalReadfeature is not enabled,oldLayoutmust not beIMAGE_LAYOUT_RENDERING_LOCAL_READ - If the
dynamicRenderingLocalReadfeature is not enabled,newLayoutmust not beIMAGE_LAYOUT_RENDERING_LOCAL_READ
subresourceRange.baseMipLevelmust be less than themipLevelsspecified inVkImageCreateInfowhenimagewas created- If
subresourceRange.levelCountis notREMAINING_MIP_LEVELS,subresourceRange.baseMipLevel + subresourceRange.levelCountmust be less than or equal to themipLevelsspecified inVkImageCreateInfowhenimagewas created subresourceRange.baseArrayLayermust be less than thearrayLayersspecified inVkImageCreateInfowhenimagewas created- If
subresourceRange.layerCountis notREMAINING_ARRAY_LAYERS,subresourceRange.baseArrayLayer + subresourceRange.layerCountmust be less than or equal to thearrayLayersspecified inVkImageCreateInfowhenimagewas created - If
imageis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject - If
imagehas a color format that is single-plane, then theaspectMaskmember ofsubresourceRangemust beIMAGE_ASPECT_COLOR_BIT - If
imagehas a color format and is not disjoint, then theaspectMaskmember ofsubresourceRangemust beIMAGE_ASPECT_COLOR_BIT - If
imagehas a multi-planar format and the image is disjoint, then theaspectMaskmember ofsubresourceRangemust include at least one multi-planar aspect mask bit orIMAGE_ASPECT_COLOR_BIT - If
imagehas a depth/stencil format with both depth and stencil and theseparateDepthStencilLayoutsfeature is not enabled, then theaspectMaskmember ofsubresourceRangemust include bothIMAGE_ASPECT_DEPTH_BITandIMAGE_ASPECT_STENCIL_BIT - If
imagehas a depth/stencil format with both depth and stencil and theseparateDepthStencilLayoutsfeature is enabled, then theaspectMaskmember ofsubresourceRangemust include either or bothIMAGE_ASPECT_DEPTH_BITandIMAGE_ASPECT_STENCIL_BIT - If the
aspectMaskmember ofsubresourceRangeincludesIMAGE_ASPECT_DEPTH_BIT,oldLayoutandnewLayoutmust not be one ofIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If the
aspectMaskmember ofsubresourceRangeincludesIMAGE_ASPECT_STENCIL_BIT,oldLayoutandnewLayoutmust not be one ofIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL subresourceRange.aspectMaskmust be valid for theformattheimagewas created with- If the
synchronization2feature is not enabled, andimagewas created with a sharing mode ofSHARING_MODE_CONCURRENT, at least one ofsrcQueueFamilyIndexanddstQueueFamilyIndexmust beQUEUE_FAMILY_IGNORED - If the
synchronization2feature is not enabled, andimagewas created with a sharing mode ofSHARING_MODE_CONCURRENT,srcQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL - If the
synchronization2feature is not enabled, andimagewas created with a sharing mode ofSHARING_MODE_CONCURRENT,dstQueueFamilyIndexmust beQUEUE_FAMILY_IGNOREDorQUEUE_FAMILY_EXTERNAL
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_MEMORY_BARRIER- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkExternalMemoryAcquireUnmodifiedEXTorVkSampleLocationsInfoEXT - The
sTypevalue of each struct in thepNextchain must be unique oldLayoutmust be a validVkImageLayoutvaluenewLayoutmust be a validVkImageLayoutvalueimagemust be a validVkImagehandlesubresourceRangemust be a validVkImageSubresourceRangestructure
See Also
VkImageSubresourceRange, CmdPipelineBarrier, CmdWaitEvents
Layout
struct VkImageMemoryBarrier {
VkStructureType sType();
void const * pNext();
VkAccessFlags srcAccessMask();
VkAccessFlags dstAccessMask();
VkImageLayout oldLayout();
VkImageLayout newLayout();
uint32_t srcQueueFamilyIndex();
uint32_t dstQueueFamilyIndex();
VkImage image();
VkImageSubresourceRange subresourceRange();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkImageMemoryBarrier(ByteBuffer container) Creates aVkImageMemoryBarrierinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkImageMemoryBarriercalloc()Returns a newVkImageMemoryBarrierinstance allocated withmemCalloc.static VkImageMemoryBarrier.Buffercalloc(int capacity) Returns a newVkImageMemoryBarrier.Bufferinstance allocated withmemCalloc.static VkImageMemoryBarrier.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageMemoryBarrier.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageMemoryBarriercalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageMemoryBarrierinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageMemoryBarrierDeprecated.static VkImageMemoryBarrier.BuffercallocStack(int capacity) Deprecated.static VkImageMemoryBarrier.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkImageMemoryBarriercallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkImageMemoryBarriercreate()Returns a newVkImageMemoryBarrierinstance allocated withBufferUtils.static VkImageMemoryBarrier.Buffercreate(int capacity) Returns a newVkImageMemoryBarrier.Bufferinstance allocated withBufferUtils.static VkImageMemoryBarriercreate(long address) Returns a newVkImageMemoryBarrierinstance for the specified memory address.static VkImageMemoryBarrier.Buffercreate(long address, int capacity) Create aVkImageMemoryBarrier.Bufferinstance at the specified memory.static @Nullable VkImageMemoryBarriercreateSafe(long address) static @Nullable VkImageMemoryBarrier.BuffercreateSafe(long address, int capacity) inta bitmask ofVkAccessFlagBitsspecifying a destination access mask.dstAccessMask(int value) Sets the specified value to thedstAccessMask()field.intthe destination queue family for a queue family ownership transfer.dstQueueFamilyIndex(int value) Sets the specified value to thedstQueueFamilyIndex()field.longimage()a handle to the image affected by this barrier.image(long value) Sets the specified value to theimage()field.static VkImageMemoryBarriermalloc()Returns a newVkImageMemoryBarrierinstance allocated withmemAlloc.static VkImageMemoryBarrier.Buffermalloc(int capacity) Returns a newVkImageMemoryBarrier.Bufferinstance allocated withmemAlloc.static VkImageMemoryBarrier.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageMemoryBarrier.Bufferinstance allocated on the specifiedMemoryStack.static VkImageMemoryBarriermalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageMemoryBarrierinstance allocated on the specifiedMemoryStack.static VkImageMemoryBarrierDeprecated.static VkImageMemoryBarrier.BuffermallocStack(int capacity) Deprecated.static VkImageMemoryBarrier.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkImageMemoryBarriermallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intndstAccessMask(long struct) Unsafe version ofdstAccessMask().static voidndstAccessMask(long struct, int value) Unsafe version ofdstAccessMask.static intndstQueueFamilyIndex(long struct) Unsafe version ofdstQueueFamilyIndex().static voidndstQueueFamilyIndex(long struct, int value) Unsafe version ofdstQueueFamilyIndex.intthe new layout in an image layout transition.newLayout(int value) Sets the specified value to thenewLayout()field.static longnimage(long struct) Unsafe version ofimage().static voidnimage(long struct, long value) Unsafe version ofimage.static intnnewLayout(long struct) Unsafe version ofnewLayout().static voidnnewLayout(long struct, int value) Unsafe version ofnewLayout.static intnoldLayout(long struct) Unsafe version ofoldLayout().static voidnoldLayout(long struct, int value) Unsafe version ofoldLayout.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsrcAccessMask(long struct) Unsafe version ofsrcAccessMask().static voidnsrcAccessMask(long struct, int value) Unsafe version ofsrcAccessMask.static intnsrcQueueFamilyIndex(long struct) Unsafe version ofsrcQueueFamilyIndex().static voidnsrcQueueFamilyIndex(long struct, int value) Unsafe version ofsrcQueueFamilyIndex.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static VkImageSubresourceRangensubresourceRange(long struct) Unsafe version ofsubresourceRange().static voidnsubresourceRange(long struct, VkImageSubresourceRange value) Unsafe version ofsubresourceRange.intthe old layout in an image layout transition.oldLayout(int value) Sets the specified value to theoldLayout()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkExternalMemoryAcquireUnmodifiedEXTvalue to thepNextchain.pNext(VkSampleLocationsInfoEXT value) Prepends the specifiedVkSampleLocationsInfoEXTvalue to thepNextchain.set(int sType, long pNext, int srcAccessMask, int dstAccessMask, int oldLayout, int newLayout, int srcQueueFamilyIndex, int dstQueueFamilyIndex, long image, VkImageSubresourceRange subresourceRange) Initializes this struct with the specified values.set(VkImageMemoryBarrier src) Copies the specified struct data to this struct.intsizeof()inta bitmask ofVkAccessFlagBitsspecifying a source access mask.srcAccessMask(int value) Sets the specified value to thesrcAccessMask()field.intthe source queue family for a queue family ownership transfer.srcQueueFamilyIndex(int value) Sets the specified value to thesrcQueueFamilyIndex()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_IMAGE_MEMORY_BARRIERvalue to thesType()field.describes the image subresource range withinimagethat is affected by this barrier.subresourceRange(Consumer<VkImageSubresourceRange> consumer) Passes thesubresourceRange()field to the specifiedConsumer.Copies the specifiedVkImageSubresourceRangeto thesubresourceRange()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
SRCACCESSMASK
public static final int SRCACCESSMASKThe struct member offsets. -
DSTACCESSMASK
public static final int DSTACCESSMASKThe struct member offsets. -
OLDLAYOUT
public static final int OLDLAYOUTThe struct member offsets. -
NEWLAYOUT
public static final int NEWLAYOUTThe struct member offsets. -
SRCQUEUEFAMILYINDEX
public static final int SRCQUEUEFAMILYINDEXThe struct member offsets. -
DSTQUEUEFAMILYINDEX
public static final int DSTQUEUEFAMILYINDEXThe struct member offsets. -
IMAGE
public static final int IMAGEThe struct member offsets. -
SUBRESOURCERANGE
public static final int SUBRESOURCERANGEThe struct member offsets.
-
-
Constructor Details
-
VkImageMemoryBarrier
Creates aVkImageMemoryBarrierinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkImageMemoryBarrier>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
srcAccessMask
public int srcAccessMask()a bitmask ofVkAccessFlagBitsspecifying a source access mask. -
dstAccessMask
public int dstAccessMask()a bitmask ofVkAccessFlagBitsspecifying a destination access mask. -
oldLayout
public int oldLayout()the old layout in an image layout transition. -
newLayout
public int newLayout()the new layout in an image layout transition. -
srcQueueFamilyIndex
public int srcQueueFamilyIndex()the source queue family for a queue family ownership transfer. -
dstQueueFamilyIndex
public int dstQueueFamilyIndex()the destination queue family for a queue family ownership transfer. -
image
public long image()a handle to the image affected by this barrier. -
subresourceRange
describes the image subresource range withinimagethat is affected by this barrier. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_IMAGE_MEMORY_BARRIERvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkExternalMemoryAcquireUnmodifiedEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkSampleLocationsInfoEXTvalue to thepNextchain. -
srcAccessMask
Sets the specified value to thesrcAccessMask()field. -
dstAccessMask
Sets the specified value to thedstAccessMask()field. -
oldLayout
Sets the specified value to theoldLayout()field. -
newLayout
Sets the specified value to thenewLayout()field. -
srcQueueFamilyIndex
Sets the specified value to thesrcQueueFamilyIndex()field. -
dstQueueFamilyIndex
Sets the specified value to thedstQueueFamilyIndex()field. -
image
Sets the specified value to theimage()field. -
subresourceRange
Copies the specifiedVkImageSubresourceRangeto thesubresourceRange()field. -
subresourceRange
Passes thesubresourceRange()field to the specifiedConsumer. -
set
public VkImageMemoryBarrier set(int sType, long pNext, int srcAccessMask, int dstAccessMask, int oldLayout, int newLayout, int srcQueueFamilyIndex, int dstQueueFamilyIndex, long image, VkImageSubresourceRange subresourceRange) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkImageMemoryBarrierinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkImageMemoryBarrierinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkImageMemoryBarrierinstance allocated withBufferUtils. -
create
Returns a newVkImageMemoryBarrierinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkImageMemoryBarrier.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkImageMemoryBarrier.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkImageMemoryBarrier.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkImageMemoryBarrier.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkImageMemoryBarrier.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkImageMemoryBarrier.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkImageMemoryBarrierinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkImageMemoryBarrierinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkImageMemoryBarrier.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkImageMemoryBarrier.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nsrcAccessMask
public static int nsrcAccessMask(long struct) Unsafe version ofsrcAccessMask(). -
ndstAccessMask
public static int ndstAccessMask(long struct) Unsafe version ofdstAccessMask(). -
noldLayout
public static int noldLayout(long struct) Unsafe version ofoldLayout(). -
nnewLayout
public static int nnewLayout(long struct) Unsafe version ofnewLayout(). -
nsrcQueueFamilyIndex
public static int nsrcQueueFamilyIndex(long struct) Unsafe version ofsrcQueueFamilyIndex(). -
ndstQueueFamilyIndex
public static int ndstQueueFamilyIndex(long struct) Unsafe version ofdstQueueFamilyIndex(). -
nimage
public static long nimage(long struct) Unsafe version ofimage(). -
nsubresourceRange
Unsafe version ofsubresourceRange(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nsrcAccessMask
public static void nsrcAccessMask(long struct, int value) Unsafe version ofsrcAccessMask. -
ndstAccessMask
public static void ndstAccessMask(long struct, int value) Unsafe version ofdstAccessMask. -
noldLayout
public static void noldLayout(long struct, int value) Unsafe version ofoldLayout. -
nnewLayout
public static void nnewLayout(long struct, int value) Unsafe version ofnewLayout. -
nsrcQueueFamilyIndex
public static void nsrcQueueFamilyIndex(long struct, int value) Unsafe version ofsrcQueueFamilyIndex. -
ndstQueueFamilyIndex
public static void ndstQueueFamilyIndex(long struct, int value) Unsafe version ofdstQueueFamilyIndex. -
nimage
public static void nimage(long struct, long value) Unsafe version ofimage. -
nsubresourceRange
Unsafe version ofsubresourceRange.
-