Package org.lwjgl.vulkan
Class VkMemoryMapInfo
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkMemoryMapInfo>
org.lwjgl.vulkan.VkMemoryMapInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkMemoryMapInfoKHR
public class VkMemoryMapInfo
extends org.lwjgl.system.Struct<VkMemoryMapInfo>
implements org.lwjgl.system.NativeResource
Structure containing parameters of a memory map operation.
Valid Usage
memorymust not be currently host mappedoffsetmust be less than the size ofmemory- If
sizeis not equal toWHOLE_SIZE,sizemust be greater than 0 - If
sizeis not equal toWHOLE_SIZE,sizemust be less than or equal to the size of thememoryminusoffset memorymust have been created with a memory type that reportsMEMORY_PROPERTY_HOST_VISIBLE_BITmemorymust not have been allocated with multiple instances- If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, thememoryMapPlacedfeature must be enabled - If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, thepNextchain must include aVkMemoryMapPlacedInfoEXTstructure andVkMemoryMapPlacedInfoEXT::pPlacedAddressmust not beNULL - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand thememoryMapRangePlacedfeature is not enabled,offsetmust be zero - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand thememoryMapRangePlacedfeature is not enabled,sizemust beWHOLE_SIZEorVkMemoryAllocateInfo::allocationSize - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsand thememoryMapRangePlacedfeature is enabled,offsetmust be aligned to an integer multiple ofVkPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsandsizeis notWHOLE_SIZE,sizemust be aligned to an integer multiple ofVkPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflagsandsizeisWHOLE_SIZE,VkMemoryAllocateInfo::allocationSizemust be aligned to an integer multiple ofVkPhysicalDeviceMapMemoryPlacedPropertiesEXT::minPlacedMemoryMapAlignment - If
MEMORY_MAP_PLACED_BIT_EXTis set inflags, the memory object must not have been imported from a handle type ofEXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXTorEXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_MEMORY_MAP_INFOpNextmust beNULLor a pointer to a valid instance ofVkMemoryMapPlacedInfoEXT- The
sTypevalue of each struct in thepNextchain must be unique flagsmust be a valid combination ofVkMemoryMapFlagBitsvaluesmemorymust be a validVkDeviceMemoryhandle
Host Synchronization
- Host access to
memorymust be externally synchronized
See Also
Layout
struct VkMemoryMapInfo {
VkStructureType sType();
void const * pNext();
VkMemoryMapFlags flags();
VkDeviceMemory memory();
VkDeviceSize offset();
VkDeviceSize size();
}-
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 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
ConstructorsConstructorDescriptionVkMemoryMapInfo(ByteBuffer container) Creates aVkMemoryMapInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkMemoryMapInfocalloc()Returns a newVkMemoryMapInfoinstance allocated withmemCalloc.static VkMemoryMapInfo.Buffercalloc(int capacity) Returns a newVkMemoryMapInfo.Bufferinstance allocated withmemCalloc.static VkMemoryMapInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryMapInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryMapInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryMapInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryMapInfocreate()Returns a newVkMemoryMapInfoinstance allocated withBufferUtils.static VkMemoryMapInfo.Buffercreate(int capacity) Returns a newVkMemoryMapInfo.Bufferinstance allocated withBufferUtils.static VkMemoryMapInfocreate(long address) Returns a newVkMemoryMapInfoinstance for the specified memory address.static VkMemoryMapInfo.Buffercreate(long address, int capacity) Create aVkMemoryMapInfo.Bufferinstance at the specified memory.static @Nullable VkMemoryMapInfocreateSafe(long address) static @Nullable VkMemoryMapInfo.BuffercreateSafe(long address, int capacity) intflags()a bitmask ofVkMemoryMapFlagBitsspecifying additional parameters of the memory map operation.flags(int value) Sets the specified value to theflags()field.static VkMemoryMapInfomalloc()Returns a newVkMemoryMapInfoinstance allocated withmemAlloc.static VkMemoryMapInfo.Buffermalloc(int capacity) Returns a newVkMemoryMapInfo.Bufferinstance allocated withmemAlloc.static VkMemoryMapInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryMapInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkMemoryMapInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryMapInfoinstance allocated on the specifiedMemoryStack.longmemory()theVkDeviceMemoryobject to be mapped.memory(long value) Sets the specified value to thememory()field.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static longnmemory(long struct) Unsafe version ofmemory().static voidnmemory(long struct, long value) Unsafe version ofmemory.static longnoffset(long struct) Unsafe version ofoffset().static voidnoffset(long struct, long value) Unsafe version ofoffset.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static longnsize(long struct) Unsafe version ofsize().static voidnsize(long struct, long value) Unsafe version ofsize.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longoffset()a zero-based byte offset from the beginning of the memory object.offset(long value) Sets the specified value to theoffset()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pNext(VkMemoryMapPlacedInfoEXT value) Prepends the specifiedVkMemoryMapPlacedInfoEXTvalue to thepNextchain.set(int sType, long pNext, int flags, long memory, long offset, long size) Initializes this struct with the specified values.set(VkMemoryMapInfo src) Copies the specified struct data to this struct.longsize()the size of the memory range to map, orWHOLE_SIZEto map fromoffsetto the end of the allocation.size(long value) Sets the specified value to thesize()field.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_MEMORY_MAP_INFOvalue 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. -
FLAGS
public static final int FLAGSThe struct member offsets. -
MEMORY
public static final int MEMORYThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets. -
SIZE
public static final int SIZEThe struct member offsets.
-
-
Constructor Details
-
VkMemoryMapInfo
Creates aVkMemoryMapInfoinstance 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<VkMemoryMapInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()a bitmask ofVkMemoryMapFlagBitsspecifying additional parameters of the memory map operation. -
memory
public long memory()theVkDeviceMemoryobject to be mapped. -
offset
public long offset()a zero-based byte offset from the beginning of the memory object. -
size
public long size()the size of the memory range to map, orWHOLE_SIZEto map fromoffsetto the end of the allocation. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_MEMORY_MAP_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkMemoryMapPlacedInfoEXTvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
memory
Sets the specified value to thememory()field. -
offset
Sets the specified value to theoffset()field. -
size
Sets the specified value to thesize()field. -
set
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 newVkMemoryMapInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkMemoryMapInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkMemoryMapInfoinstance allocated withBufferUtils. -
create
Returns a newVkMemoryMapInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkMemoryMapInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkMemoryMapInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkMemoryMapInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkMemoryMapInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkMemoryMapInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkMemoryMapInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkMemoryMapInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkMemoryMapInfo.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(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
nmemory
public static long nmemory(long struct) Unsafe version ofmemory(). -
noffset
public static long noffset(long struct) Unsafe version ofoffset(). -
nsize
public static long nsize(long struct) Unsafe version ofsize(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
nmemory
public static void nmemory(long struct, long value) Unsafe version ofmemory. -
noffset
public static void noffset(long struct, long value) Unsafe version ofoffset. -
nsize
public static void nsize(long struct, long value) Unsafe version ofsize.
-