To determine the dedicated allocation requirements of a buffer or image resource, add a VkMemoryDedicatedRequirements structure to the pNext chain of the VkMemoryRequirements2 structure passed as the pMemoryRequirements parameter of GetBufferMemoryRequirements2 or GetImageMemoryRequirements2, respectively.
Constraints on the values returned for buffer resources are:
requiresDedicatedAllocation may be TRUE if the pNext chain of VkBufferCreateInfo for the call to vkCreateBuffer used to create the buffer being queried included a VkExternalMemoryBufferCreateInfo structure, and any of the handle types specified in VkExternalMemoryBufferCreateInfo::handleTypes requires dedicated allocation, as reported by GetPhysicalDeviceExternalBufferProperties in VkExternalBufferProperties::externalMemoryProperties.externalMemoryFeatures. Otherwise, requiresDedicatedAllocation will be FALSE.requiresDedicatedAllocation to TRUE, it must also set prefersDedicatedAllocation to TRUE.BUFFER_CREATE_SPARSE_BINDING_BIT was set in VkBufferCreateInfo::flags when buffer was created, then both prefersDedicatedAllocation and requiresDedicatedAllocation will be FALSE.Constraints on the values returned for image resources are:
requiresDedicatedAllocation may be TRUE if the pNext chain of VkImageCreateInfo for the call to CreateImage used to create the image being queried included a VkExternalMemoryImageCreateInfo structure, and any of the handle types specified in VkExternalMemoryImageCreateInfo::handleTypes requires dedicated allocation, as reported by GetPhysicalDeviceImageFormatProperties2 in VkExternalImageFormatProperties::externalMemoryProperties.externalMemoryFeatures.requiresDedicatedAllocation may be TRUE if the image’s tiling is IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.requiresDedicatedAllocation will otherwise be FALSEIMAGE_CREATE_SPARSE_BINDING_BIT was set in VkImageCreateInfo::flags when image was created, then both prefersDedicatedAllocation and requiresDedicatedAllocation will be FALSE.sType must be STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
struct VkMemoryDedicatedRequirements {
VkStructureType sType;
void * pNext;
VkBool32 prefersDedicatedAllocation;
VkBool32 requiresDedicatedAllocation;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkMemoryDedicatedRequirements.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PREFERSDEDICATEDALLOCATION
The struct member offsets. |
| public static final int | REQUIRESDEDICATEDALLOCATION
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkMemoryDedicatedRequirements(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkMemoryDedicatedRequirements | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkMemoryDedicatedRequirements. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements. | |
| public static VkMemoryDedicatedRequirements. | |
| protected VkMemoryDedicatedRequirements | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements | create(long address)
Returns a new |
| public static VkMemoryDedicatedRequirements. | create(int
the buffer capacity capacity)Returns a new |
| public static VkMemoryDedicatedRequirements. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements. | |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkMemoryDedicatedRequirements | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkMemoryDedicatedRequirements. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements | |
| public static VkMemoryDedicatedRequirements. | |
| public static VkMemoryDedicatedRequirements. | |
| public static long | |
| public static void | |
| public static int | |
| public static int | |
| public static int | |
| public static void | |
| public long | |
| public VkMemoryDedicatedRequirements | |
| public boolean | prefersDedicatedAllocation()
specifies that the implementation would prefer a dedicated allocation for this resource. |
| public boolean | |
| public VkMemoryDedicatedRequirements | |
| public VkMemoryDedicatedRequirements | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkMemoryDedicatedRequirements | |
| public VkMemoryDedicatedRequirements |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| PREFERSDEDICATEDALLOCATION | back to summary |
|---|---|
| public static final int PREFERSDEDICATEDALLOCATION The struct member offsets. | |
| REQUIRESDEDICATEDALLOCATION | back to summary |
|---|---|
| public static final int REQUIRESDEDICATEDALLOCATION The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkMemoryDedicatedRequirements | back to summary |
|---|---|
| protected VkMemoryDedicatedRequirements(long address, ByteBuffer container) | |
| VkMemoryDedicatedRequirements | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Returns a new
| |
| callocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements callocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements callocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| callocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| create | back to summary |
|---|---|
| protected VkMemoryDedicatedRequirements create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Like
| |
| malloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Returns a new
| |
| mallocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements mallocStack()
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements mallocStack(MemoryStack stack)
Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| mallocStack | back to summary |
|---|---|
| public static VkMemoryDedicatedRequirements. Deprecated
Deprecated for removal in 3.4.0. Use
| |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nprefersDedicatedAllocation | back to summary |
|---|---|
| public static int nprefersDedicatedAllocation(long struct) Unsafe version of | |
| nrequiresDedicatedAllocation | back to summary |
|---|---|
| public static int nrequiresDedicatedAllocation(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements pNext(long value) Sets the specified value to the | |
| prefersDedicatedAllocation | back to summary |
|---|---|
| public boolean prefersDedicatedAllocation() specifies that the implementation would prefer a dedicated allocation for this resource. The application is still free to suballocate the resource but it may get better performance if a dedicated allocation is used.
| |
| requiresDedicatedAllocation | back to summary |
|---|---|
| public boolean requiresDedicatedAllocation() specifies that a dedicated allocation is required for this resource.
| |
| set | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements set(int sType, long pNext) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements set(VkMemoryDedicatedRequirements src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements sType$Default() Sets the | |
VkMemoryDedicatedRequirements structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkMemoryDedicatedRequirements |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| protected VkMemoryDedicatedRequirements | |
| public long | |
| public VkMemoryDedicatedRequirements. | |
| public boolean | Returns: the value of theVkMemoryDedicatedRequirements#prefersDedicatedAllocation field.
|
| public boolean | Returns: the value of theVkMemoryDedicatedRequirements#requiresDedicatedAllocation field.
|
| protected VkMemoryDedicatedRequirements. | |
| public int | |
| public VkMemoryDedicatedRequirements. | |
| public VkMemoryDedicatedRequirements. | sType$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkMemoryDedicatedRequirements ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected VkMemoryDedicatedRequirements getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements. Sets the specified value to the | |
| prefersDedicatedAllocation | back to summary |
|---|---|
public boolean prefersDedicatedAllocation()
| |
| requiresDedicatedAllocation | back to summary |
|---|---|
public boolean requiresDedicatedAllocation()
| |
| self | back to summary |
|---|---|
| protected VkMemoryDedicatedRequirements. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkMemoryDedicatedRequirements. Sets the | |