Class VkPhysicalDeviceHostImageCopyProperties
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkPhysicalDeviceHostImageCopyPropertiesEXT
Description
If the VkPhysicalDeviceHostImageCopyProperties structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to GetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.
If pCopyDstLayouts is NULL, then the number of image layouts that are supported in VkCopyMemoryToImageInfo::dstImageLayout and VkCopyImageToImageInfo::dstImageLayout is returned in copyDstLayoutCount. Otherwise, copyDstLayoutCount must be set by the application to the number of elements in the pCopyDstLayouts array, and on return the variable is overwritten with the number of values actually written to pCopyDstLayouts. If the value of copyDstLayoutCount is less than the number of image layouts that are supported, at most copyDstLayoutCount values will be written to pCopyDstLayouts. The implementation must include the IMAGE_LAYOUT_GENERAL image layout in pCopyDstLayouts.
If pCopySrcLayouts is NULL, then the number of image layouts that are supported in VkCopyImageToMemoryInfo::srcImageLayout and VkCopyImageToImageInfo::srcImageLayout is returned in copySrcLayoutCount. Otherwise, copySrcLayoutCount must be set by the application to the number of elements in the pCopySrcLayouts array, and on return the variable is overwritten with the number of values actually written to pCopySrcLayouts. If the value of copySrcLayoutCount is less than the number of image layouts that are supported, at most copySrcLayoutCount values will be written to pCopySrcLayouts. The implementation must include the IMAGE_LAYOUT_GENERAL image layout in pCopySrcLayouts.
The optimalTilingLayoutUUID value can be used to ensure compatible data layouts when using the HOST_IMAGE_COPY_MEMCPY flag in CopyMemoryToImage and CopyImageToMemory.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES- If
copySrcLayoutCountis not 0, andpCopySrcLayoutsis notNULL,pCopySrcLayoutsmust be a valid pointer to an array ofcopySrcLayoutCountVkImageLayoutvalues - If
copyDstLayoutCountis not 0, andpCopyDstLayoutsis notNULL,pCopyDstLayoutsmust be a valid pointer to an array ofcopyDstLayoutCountVkImageLayoutvalues
Layout
struct VkPhysicalDeviceHostImageCopyProperties {
VkStructureType sType();
void * pNext();
uint32_t copySrcLayoutCount();
VkImageLayout * pCopySrcLayouts();
uint32_t copyDstLayoutCount();
VkImageLayout * pCopyDstLayouts();
uint8_t optimalTilingLayoutUUID()[VK_UUID_SIZE];
VkBool32 identicalMemoryTypeRequirements();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkPhysicalDeviceHostImageCopyPropertiesstructs.Nested 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 member offsets.static final intThe struct size in bytes.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
ConstructorsConstructorDescriptionCreates aVkPhysicalDeviceHostImageCopyPropertiesinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.intan integer related to the number of image layouts for host copies to images available or queried, as described below.copyDstLayoutCount(int value) Sets the specified value to thecopyDstLayoutCount()field.intan integer related to the number of image layouts for host copies from images available or queried, as described below.copySrcLayoutCount(int value) Sets the specified value to thecopySrcLayoutCount()field.create()Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withBufferUtils.create(int capacity) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance for the specified memory address.create(long address, int capacity) Create aVkPhysicalDeviceHostImageCopyProperties.Bufferinstance at the specified memory.static @Nullable VkPhysicalDeviceHostImageCopyPropertiescreateSafe(long address) static @Nullable VkPhysicalDeviceHostImageCopyProperties.BuffercreateSafe(long address, int capacity) booleanindicates that specifying theIMAGE_USAGE_HOST_TRANSFER_BITflag inVkImageCreateInfo::usagedoes not affect the memory type requirements of the image.identicalMemoryTypeRequirements(boolean value) Sets the specified value to theidenticalMemoryTypeRequirements()field.malloc()Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated on the specifiedMemoryStack.static intncopyDstLayoutCount(long struct) Unsafe version ofcopyDstLayoutCount().static voidncopyDstLayoutCount(long struct, int value) Sets the specified value to thecopyDstLayoutCountfield of the specifiedstruct.static intncopySrcLayoutCount(long struct) Unsafe version ofcopySrcLayoutCount().static voidncopySrcLayoutCount(long struct, int value) Sets the specified value to thecopySrcLayoutCountfield of the specifiedstruct.static intnidenticalMemoryTypeRequirements(long struct) Unsafe version ofidenticalMemoryTypeRequirements().static voidnidenticalMemoryTypeRequirements(long struct, int value) Unsafe version ofidenticalMemoryTypeRequirements.static ByteBuffernoptimalTilingLayoutUUID(long struct) Unsafe version ofoptimalTilingLayoutUUID().static bytenoptimalTilingLayoutUUID(long struct, int index) Unsafe version ofoptimalTilingLayoutUUID.static voidnoptimalTilingLayoutUUID(long struct, int index, byte value) Unsafe version ofoptimalTilingLayoutUUID.static voidnoptimalTilingLayoutUUID(long struct, ByteBuffer value) Unsafe version ofoptimalTilingLayoutUUID.static @Nullable IntBuffernpCopyDstLayouts(long struct) Unsafe version ofpCopyDstLayouts.static voidnpCopyDstLayouts(long struct, @Nullable IntBuffer value) Unsafe version ofpCopyDstLayouts.static @Nullable IntBuffernpCopySrcLayouts(long struct) Unsafe version ofpCopySrcLayouts.static voidnpCopySrcLayouts(long struct, @Nullable IntBuffer value) Unsafe version ofpCopySrcLayouts.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.an array ofUUID_SIZEuint8_tvalues representing a universally unique identifier for the implementation’s swizzling layout of images created withIMAGE_TILING_OPTIMAL.byteoptimalTilingLayoutUUID(int index) an array ofUUID_SIZEuint8_tvalues representing a universally unique identifier for the implementation’s swizzling layout of images created withIMAGE_TILING_OPTIMAL.optimalTilingLayoutUUID(int index, byte value) Sets the specified value at the specified index of theoptimalTilingLayoutUUID()field.Copies the specifiedByteBufferto theoptimalTilingLayoutUUID()field.@Nullable IntBuffera pointer to an array ofVkImageLayoutin which supported image layouts for use with host copy operations to images are returned.pCopyDstLayouts(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepCopyDstLayouts()field.@Nullable IntBuffera pointer to an array ofVkImageLayoutin which supported image layouts for use with host copy operations from images are returned.pCopySrcLayouts(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepCopySrcLayouts()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int copySrcLayoutCount, @Nullable IntBuffer pCopySrcLayouts, int copyDstLayoutCount, @Nullable IntBuffer pCopyDstLayouts, ByteBuffer optimalTilingLayoutUUID, boolean identicalMemoryTypeRequirements) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIESvalue to thesType()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. -
COPYSRCLAYOUTCOUNT
public static final int COPYSRCLAYOUTCOUNTThe struct member offsets. -
PCOPYSRCLAYOUTS
public static final int PCOPYSRCLAYOUTSThe struct member offsets. -
COPYDSTLAYOUTCOUNT
public static final int COPYDSTLAYOUTCOUNTThe struct member offsets. -
PCOPYDSTLAYOUTS
public static final int PCOPYDSTLAYOUTSThe struct member offsets. -
OPTIMALTILINGLAYOUTUUID
public static final int OPTIMALTILINGLAYOUTUUIDThe struct member offsets. -
IDENTICALMEMORYTYPEREQUIREMENTS
public static final int IDENTICALMEMORYTYPEREQUIREMENTSThe struct member offsets.
-
-
Constructor Details
-
VkPhysicalDeviceHostImageCopyProperties
Creates aVkPhysicalDeviceHostImageCopyPropertiesinstance 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<VkPhysicalDeviceHostImageCopyProperties>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
copySrcLayoutCount
public int copySrcLayoutCount()an integer related to the number of image layouts for host copies from images available or queried, as described below. -
pCopySrcLayouts
a pointer to an array ofVkImageLayoutin which supported image layouts for use with host copy operations from images are returned. -
copyDstLayoutCount
public int copyDstLayoutCount()an integer related to the number of image layouts for host copies to images available or queried, as described below. -
pCopyDstLayouts
a pointer to an array ofVkImageLayoutin which supported image layouts for use with host copy operations to images are returned. -
optimalTilingLayoutUUID
an array ofUUID_SIZEuint8_tvalues representing a universally unique identifier for the implementation’s swizzling layout of images created withIMAGE_TILING_OPTIMAL. -
optimalTilingLayoutUUID
public byte optimalTilingLayoutUUID(int index) an array ofUUID_SIZEuint8_tvalues representing a universally unique identifier for the implementation’s swizzling layout of images created withIMAGE_TILING_OPTIMAL. -
identicalMemoryTypeRequirements
public boolean identicalMemoryTypeRequirements()indicates that specifying theIMAGE_USAGE_HOST_TRANSFER_BITflag inVkImageCreateInfo::usagedoes not affect the memory type requirements of the image. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIESvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
copySrcLayoutCount
Sets the specified value to thecopySrcLayoutCount()field. -
pCopySrcLayouts
Sets the address of the specifiedIntBufferto thepCopySrcLayouts()field. -
copyDstLayoutCount
Sets the specified value to thecopyDstLayoutCount()field. -
pCopyDstLayouts
Sets the address of the specifiedIntBufferto thepCopyDstLayouts()field. -
optimalTilingLayoutUUID
Copies the specifiedByteBufferto theoptimalTilingLayoutUUID()field. -
optimalTilingLayoutUUID
Sets the specified value at the specified index of theoptimalTilingLayoutUUID()field. -
identicalMemoryTypeRequirements
Sets the specified value to theidenticalMemoryTypeRequirements()field. -
set
public VkPhysicalDeviceHostImageCopyProperties set(int sType, long pNext, int copySrcLayoutCount, @Nullable IntBuffer pCopySrcLayouts, int copyDstLayoutCount, @Nullable IntBuffer pCopyDstLayouts, ByteBuffer optimalTilingLayoutUUID, boolean identicalMemoryTypeRequirements) 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 newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated withBufferUtils. -
create
Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkPhysicalDeviceHostImageCopyProperties.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkPhysicalDeviceHostImageCopyProperties.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkPhysicalDeviceHostImageCopyPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkPhysicalDeviceHostImageCopyProperties.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyProperties.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkPhysicalDeviceHostImageCopyProperties.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPhysicalDeviceHostImageCopyProperties.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(). -
ncopySrcLayoutCount
public static int ncopySrcLayoutCount(long struct) Unsafe version ofcopySrcLayoutCount(). -
npCopySrcLayouts
Unsafe version ofpCopySrcLayouts. -
ncopyDstLayoutCount
public static int ncopyDstLayoutCount(long struct) Unsafe version ofcopyDstLayoutCount(). -
npCopyDstLayouts
Unsafe version ofpCopyDstLayouts. -
noptimalTilingLayoutUUID
Unsafe version ofoptimalTilingLayoutUUID(). -
noptimalTilingLayoutUUID
public static byte noptimalTilingLayoutUUID(long struct, int index) Unsafe version ofoptimalTilingLayoutUUID. -
nidenticalMemoryTypeRequirements
public static int nidenticalMemoryTypeRequirements(long struct) Unsafe version ofidenticalMemoryTypeRequirements(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
ncopySrcLayoutCount
public static void ncopySrcLayoutCount(long struct, int value) Sets the specified value to thecopySrcLayoutCountfield of the specifiedstruct. -
npCopySrcLayouts
Unsafe version ofpCopySrcLayouts. -
ncopyDstLayoutCount
public static void ncopyDstLayoutCount(long struct, int value) Sets the specified value to thecopyDstLayoutCountfield of the specifiedstruct. -
npCopyDstLayouts
Unsafe version ofpCopyDstLayouts. -
noptimalTilingLayoutUUID
Unsafe version ofoptimalTilingLayoutUUID. -
noptimalTilingLayoutUUID
public static void noptimalTilingLayoutUUID(long struct, int index, byte value) Unsafe version ofoptimalTilingLayoutUUID. -
nidenticalMemoryTypeRequirements
public static void nidenticalMemoryTypeRequirements(long struct, int value) Unsafe version ofidenticalMemoryTypeRequirements.
-