Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkPhysicalDeviceHostImageCopyPropertiesEXT

extends Struct<VkPhysicalDeviceHostImageCopyPropertiesEXT>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure enumerating image layouts supported by an implementation for host memory copies.
Description

If the VkPhysicalDeviceHostImageCopyPropertiesEXT 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 VkCopyMemoryToImageInfoEXT::dstImageLayout and VkCopyImageToImageInfoEXT::dstImageLayout is returned in copyDstLayoutCount. Otherwise, copyDstLayoutCount must be set by the user 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 VkCopyImageToMemoryInfoEXT::srcImageLayout and VkCopyImageToImageInfoEXT::srcImageLayout is returned in copySrcLayoutCount. Otherwise, copySrcLayoutCount must be set by the user 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_EXT flag in CopyMemoryToImageEXT and CopyImageToMemoryEXT.

Valid Usage (Implicit)

Layout


struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
    VkStructureType sType;
    void * pNext;
    uint32_t copySrcLayoutCount;
    VkImageLayout * pCopySrcLayouts;
    uint32_t copyDstLayoutCount;
    VkImageLayout * pCopyDstLayouts;
    uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
    VkBool32 identicalMemoryTypeRequirements;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
COPYDSTLAYOUTCOUNT

The struct member offsets.

public static final int
COPYSRCLAYOUTCOUNT

The struct member offsets.

public static final int
IDENTICALMEMORYTYPEREQUIREMENTS

The struct member offsets.

public static final int
OPTIMALTILINGLAYOUTUUID

The struct member offsets.

public static final int
PCOPYDSTLAYOUTS

The struct member offsets.

public static final int
PCOPYSRCLAYOUTS

The struct member offsets.

public static final int
PNEXT

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
STYPE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
public
VkPhysicalDeviceHostImageCopyPropertiesEXT(ByteBuffer container)

Creates a VkPhysicalDeviceHostImageCopyPropertiesEXT instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static VkPhysicalDeviceHostImageCopyPropertiesEXT
calloc()

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance allocated with memCalloc.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance allocated with memCalloc.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public int
copyDstLayoutCount()

an integer related to the number of image layouts for host copies to images available or queried, as described below.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
copyDstLayoutCount(int value)

Sets the specified value to the copyDstLayoutCount field.

public int
copySrcLayoutCount()

an integer related to the number of image layouts for host copies from images available or queried, as described below.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
copySrcLayoutCount(int value)

Sets the specified value to the copySrcLayoutCount field.

protected VkPhysicalDeviceHostImageCopyPropertiesEXT
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkPhysicalDeviceHostImageCopyPropertiesEXT
create()

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance allocated with BufferUtils.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT
create(long address)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance for the specified memory address.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance allocated with BufferUtils.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance at the specified memory.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public boolean
identicalMemoryTypeRequirements()

indicates that specifying the IMAGE_USAGE_HOST_TRANSFER_BIT_EXT flag in VkImageCreateInfo::usage does not affect the memory type requirements of the image.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
identicalMemoryTypeRequirements(boolean value)

Sets the specified value to the identicalMemoryTypeRequirements field.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT
malloc()

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance allocated with memAlloc.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance allocated with memAlloc.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT instance allocated on the specified MemoryStack.

public static VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceHostImageCopyPropertiesEXT.Buffer instance allocated on the specified MemoryStack.

public static int
ncopyDstLayoutCount(long struct)

Unsafe version of copyDstLayoutCount.

public static void
ncopyDstLayoutCount(long struct, int value)

Sets the specified value to the copyDstLayoutCount field of the specified struct.

public static int
ncopySrcLayoutCount(long struct)

Unsafe version of copySrcLayoutCount.

public static void
ncopySrcLayoutCount(long struct, int value)

Sets the specified value to the copySrcLayoutCount field of the specified struct.

public static int
public static void
nidenticalMemoryTypeRequirements(long struct, int value)

Unsafe version of identicalMemoryTypeRequirements.

public static ByteBuffer
noptimalTilingLayoutUUID(long struct)

Unsafe version of optimalTilingLayoutUUID.

public static byte
noptimalTilingLayoutUUID(long struct, int index)

Unsafe version of optimalTilingLayoutUUID.

public static void
noptimalTilingLayoutUUID(long struct, ByteBuffer value)

Unsafe version of optimalTilingLayoutUUID.

public static void
noptimalTilingLayoutUUID(long struct, int index, byte value)

Unsafe version of optimalTilingLayoutUUID.

public static IntBuffer
npCopyDstLayouts(long struct)

Unsafe version of pCopyDstLayouts.

public static void
npCopyDstLayouts(long struct, IntBuffer value)

Unsafe version of pCopyDstLayouts.

public static IntBuffer
npCopySrcLayouts(long struct)

Unsafe version of pCopySrcLayouts.

public static void
npCopySrcLayouts(long struct, IntBuffer value)

Unsafe version of pCopySrcLayouts.

public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public ByteBuffer
optimalTilingLayoutUUID()

an array of UUID_SIZE uint8_t values representing a universally unique identifier for the implementation’s swizzling layout of images created with IMAGE_TILING_OPTIMAL.

public byte
optimalTilingLayoutUUID(int index)

an array of UUID_SIZE uint8_t values representing a universally unique identifier for the implementation’s swizzling layout of images created with IMAGE_TILING_OPTIMAL.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
optimalTilingLayoutUUID(ByteBuffer value)

Copies the specified ByteBuffer to the optimalTilingLayoutUUID field.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
optimalTilingLayoutUUID(int index, byte value)

Sets the specified value at the specified index of the optimalTilingLayoutUUID field.

public IntBuffer
pCopyDstLayouts()

a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations to images are returned.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
pCopyDstLayouts(IntBuffer value)

Sets the address of the specified IntBuffer to the pCopyDstLayouts field.

public IntBuffer
pCopySrcLayouts()

a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations from images are returned.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
pCopySrcLayouts(IntBuffer value)

Sets the address of the specified IntBuffer to the pCopySrcLayouts field.

public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
pNext(long value)

Sets the specified value to the pNext field.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
set(int sType, long pNext, int copySrcLayoutCount, IntBuffer pCopySrcLayouts, int copyDstLayoutCount, IntBuffer pCopyDstLayouts, ByteBuffer optimalTilingLayoutUUID, boolean identicalMemoryTypeRequirements)

Initializes this struct with the specified values.

public VkPhysicalDeviceHostImageCopyPropertiesEXT

Returns:

this struct
set
(VkPhysicalDeviceHostImageCopyPropertiesEXT
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public int
sType()

a VkStructureType value identifying this structure.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
sType(int value)

Sets the specified value to the sType field.

public VkPhysicalDeviceHostImageCopyPropertiesEXT
Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate