public class VkBufferCreateInfo
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
size must be greater than 0sharingMode is SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a valid pointer to an array of queueFamilyIndexCount uint32_t valuessharingMode is SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1sharingMode is SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by either GetPhysicalDeviceQueueFamilyProperties or GetPhysicalDeviceQueueFamilyProperties2 for the physicalDevice that was used to create deviceflags must not contain BUFFER_CREATE_SPARSE_BINDING_BITflags must not contain BUFFER_CREATE_SPARSE_RESIDENCY_BITflags must not contain BUFFER_CREATE_SPARSE_ALIASED_BITflags contains BUFFER_CREATE_SPARSE_RESIDENCY_BIT or BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain BUFFER_CREATE_SPARSE_BINDING_BITpNext chain includes a VkExternalMemoryBufferCreateInfo structure, its handleTypes member must only contain bits that are also in VkExternalBufferProperties::externalMemoryProperties.compatibleHandleTypes, as returned by GetPhysicalDeviceExternalBufferProperties with pExternalBufferInfo->handleType equal to any one of the handle types specified in VkExternalMemoryBufferCreateInfo::handleTypesflags must not contain BUFFER_CREATE_PROTECTED_BITBUFFER_CREATE_SPARSE_BINDING_BIT, BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or BUFFER_CREATE_SPARSE_ALIASED_BIT are set, BUFFER_CREATE_PROTECTED_BIT must not also be setpNext chain includes a VkDedicatedAllocationBufferCreateInfoNV structure, and the dedicatedAllocation member of the chained structure is TRUE, then flags must not include BUFFER_CREATE_SPARSE_BINDING_BIT, BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or BUFFER_CREATE_SPARSE_ALIASED_BITVkBufferDeviceAddressCreateInfoEXT::deviceAddress is not zero, flags must include BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHRVkBufferOpaqueCaptureAddressCreateInfoKHR::opaqueCaptureAddress is not zero, flags must include BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHRflags includes BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, the bufferDeviceAddressCaptureReplay or VkPhysicalDeviceBufferDeviceAddressFeaturesEXT::bufferDeviceAddressCaptureReplay feature must be enabledsType must be STRUCTURE_TYPE_BUFFER_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkBufferDeviceAddressCreateInfoEXT, VkBufferOpaqueCaptureAddressCreateInfoKHR, VkDedicatedAllocationBufferCreateInfoNV, or VkExternalMemoryBufferCreateInfosType member in the pNext chain must be uniqueflags must be a valid combination of VkBufferCreateFlagBits valuesusage must be a valid combination of VkBufferUsageFlagBits valuesusage must not be 0sharingMode must be a valid VkSharingMode valuesType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.flags – a bitmask of VkBufferCreateFlagBits specifying additional parameters of the buffer.size – the size in bytes of the buffer to be created.usage – a bitmask of VkBufferUsageFlagBits specifying allowed usages of the buffer.sharingMode – a VkSharingMode value specifying the sharing mode of the buffer when it will be accessed by multiple queue families.queueFamilyIndexCount – the number of entries in the pQueueFamilyIndices array.pQueueFamilyIndices – a list of queue families that will access this buffer (ignored if sharingMode is not SHARING_MODE_CONCURRENT).
struct VkBufferCreateInfo {
VkStructureType sType;
void const * pNext;
VkBufferCreateFlags flags;
VkDeviceSize size;
VkBufferUsageFlags usage;
VkSharingMode sharingMode;
uint32_t queueFamilyIndexCount;
uint32_t const * pQueueFamilyIndices;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkBufferCreateInfo.Buffer
An array of
VkBufferCreateInfo structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
FLAGS
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
PQUEUEFAMILYINDICES
The struct member offsets.
|
static int |
QUEUEFAMILYINDEXCOUNT
The struct member offsets.
|
static int |
SHARINGMODE
The struct member offsets.
|
static int |
SIZE
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
static int |
USAGE
The struct member offsets.
|
| Constructor and Description |
|---|
VkBufferCreateInfo(java.nio.ByteBuffer container)
Creates a
VkBufferCreateInfo instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkBufferCreateInfo |
calloc()
Returns a new
VkBufferCreateInfo instance allocated with memCalloc. |
static VkBufferCreateInfo.Buffer |
calloc(int capacity)
Returns a new
VkBufferCreateInfo.Buffer instance allocated with memCalloc. |
static VkBufferCreateInfo |
callocStack()
Returns a new
VkBufferCreateInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkBufferCreateInfo.Buffer |
callocStack(int capacity)
Returns a new
VkBufferCreateInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkBufferCreateInfo.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkBufferCreateInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkBufferCreateInfo |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkBufferCreateInfo instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkBufferCreateInfo |
create()
Returns a new
VkBufferCreateInfo instance allocated with BufferUtils. |
static VkBufferCreateInfo.Buffer |
create(int capacity)
Returns a new
VkBufferCreateInfo.Buffer instance allocated with BufferUtils. |
static VkBufferCreateInfo |
create(long address)
Returns a new
VkBufferCreateInfo instance for the specified memory address. |
static VkBufferCreateInfo.Buffer |
create(long address,
int capacity)
Create a
VkBufferCreateInfo.Buffer instance at the specified memory. |
static VkBufferCreateInfo |
createSafe(long address)
|
static VkBufferCreateInfo.Buffer |
createSafe(long address,
int capacity)
|
int |
flags()
Returns the value of the
flags field. |
VkBufferCreateInfo |
flags(int value)
Sets the specified value to the
flags field. |
static VkBufferCreateInfo |
malloc()
Returns a new
VkBufferCreateInfo instance allocated with memAlloc. |
static VkBufferCreateInfo.Buffer |
malloc(int capacity)
Returns a new
VkBufferCreateInfo.Buffer instance allocated with memAlloc. |
static VkBufferCreateInfo |
mallocStack()
Returns a new
VkBufferCreateInfo instance allocated on the thread-local MemoryStack. |
static VkBufferCreateInfo.Buffer |
mallocStack(int capacity)
Returns a new
VkBufferCreateInfo.Buffer instance allocated on the thread-local MemoryStack. |
static VkBufferCreateInfo.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkBufferCreateInfo.Buffer instance allocated on the specified MemoryStack. |
static VkBufferCreateInfo |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkBufferCreateInfo instance allocated on the specified MemoryStack. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static java.nio.IntBuffer |
npQueueFamilyIndices(long struct)
Unsafe version of
pQueueFamilyIndices. |
static void |
npQueueFamilyIndices(long struct,
java.nio.IntBuffer value)
Unsafe version of
pQueueFamilyIndices. |
static int |
nqueueFamilyIndexCount(long struct)
Unsafe version of
queueFamilyIndexCount(). |
static void |
nqueueFamilyIndexCount(long struct,
int value)
Sets the specified value to the
queueFamilyIndexCount field of the specified struct. |
static int |
nsharingMode(long struct)
Unsafe version of
sharingMode(). |
static void |
nsharingMode(long struct,
int value)
Unsafe version of
sharingMode. |
static long |
nsize(long struct)
Unsafe version of
size(). |
static void |
nsize(long struct,
long value)
Unsafe version of
size. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
static int |
nusage(long struct)
Unsafe version of
usage(). |
static void |
nusage(long struct,
int value)
Unsafe version of
usage. |
long |
pNext()
Returns the value of the
pNext field. |
VkBufferCreateInfo |
pNext(long value)
Sets the specified value to the
pNext field. |
java.nio.IntBuffer |
pQueueFamilyIndices()
Returns a
IntBuffer view of the data pointed to by the pQueueFamilyIndices field. |
VkBufferCreateInfo |
pQueueFamilyIndices(java.nio.IntBuffer value)
Sets the address of the specified
IntBuffer to the pQueueFamilyIndices field. |
int |
queueFamilyIndexCount()
Returns the value of the
queueFamilyIndexCount field. |
VkBufferCreateInfo |
set(int sType,
long pNext,
int flags,
long size,
int usage,
int sharingMode,
java.nio.IntBuffer pQueueFamilyIndices)
Initializes this struct with the specified values.
|
VkBufferCreateInfo |
set(VkBufferCreateInfo src)
Copies the specified struct data to this struct.
|
int |
sharingMode()
Returns the value of the
sharingMode field. |
VkBufferCreateInfo |
sharingMode(int value)
Sets the specified value to the
sharingMode field. |
long |
size()
Returns the value of the
size field. |
VkBufferCreateInfo |
size(long value)
Sets the specified value to the
size field. |
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkBufferCreateInfo |
sType(int value)
Sets the specified value to the
sType field. |
int |
usage()
Returns the value of the
usage field. |
VkBufferCreateInfo |
usage(int value)
Sets the specified value to the
usage field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int FLAGS
public static final int SIZE
public static final int USAGE
public static final int SHARINGMODE
public static final int QUEUEFAMILYINDEXCOUNT
public static final int PQUEUEFAMILYINDICES
public VkBufferCreateInfo(java.nio.ByteBuffer container)
VkBufferCreateInfo instance at the current position of the specified ByteBuffer container. 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int flags()
flags field.public long size()
size field.public int usage()
usage field.public int sharingMode()
sharingMode field.public int queueFamilyIndexCount()
queueFamilyIndexCount field.@Nullable public java.nio.IntBuffer pQueueFamilyIndices()
IntBuffer view of the data pointed to by the pQueueFamilyIndices field.public VkBufferCreateInfo sType(int value)
sType field.public VkBufferCreateInfo pNext(long value)
pNext field.public VkBufferCreateInfo flags(int value)
flags field.public VkBufferCreateInfo size(long value)
size field.public VkBufferCreateInfo usage(int value)
usage field.public VkBufferCreateInfo sharingMode(int value)
sharingMode field.public VkBufferCreateInfo pQueueFamilyIndices(@Nullable java.nio.IntBuffer value)
IntBuffer to the pQueueFamilyIndices field.public VkBufferCreateInfo set(int sType, long pNext, int flags, long size, int usage, int sharingMode, @Nullable java.nio.IntBuffer pQueueFamilyIndices)
public VkBufferCreateInfo set(VkBufferCreateInfo src)
src - the source structpublic static VkBufferCreateInfo malloc()
VkBufferCreateInfo instance allocated with memAlloc. The instance must be explicitly freed.public static VkBufferCreateInfo calloc()
VkBufferCreateInfo instance allocated with memCalloc. The instance must be explicitly freed.public static VkBufferCreateInfo create()
VkBufferCreateInfo instance allocated with BufferUtils.public static VkBufferCreateInfo create(long address)
VkBufferCreateInfo instance for the specified memory address.@Nullable public static VkBufferCreateInfo createSafe(long address)
public static VkBufferCreateInfo.Buffer malloc(int capacity)
VkBufferCreateInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer calloc(int capacity)
VkBufferCreateInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer create(int capacity)
VkBufferCreateInfo.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer create(long address, int capacity)
VkBufferCreateInfo.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkBufferCreateInfo.Buffer createSafe(long address, int capacity)
public static VkBufferCreateInfo mallocStack()
VkBufferCreateInfo instance allocated on the thread-local MemoryStack.public static VkBufferCreateInfo callocStack()
VkBufferCreateInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkBufferCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
VkBufferCreateInfo instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkBufferCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
VkBufferCreateInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkBufferCreateInfo.Buffer mallocStack(int capacity)
VkBufferCreateInfo.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer callocStack(int capacity)
VkBufferCreateInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkBufferCreateInfo.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkBufferCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkBufferCreateInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int nflags(long struct)
flags().public static long nsize(long struct)
size().public static int nusage(long struct)
usage().public static int nsharingMode(long struct)
sharingMode().public static int nqueueFamilyIndexCount(long struct)
queueFamilyIndexCount().@Nullable public static java.nio.IntBuffer npQueueFamilyIndices(long struct)
pQueueFamilyIndices.public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nflags(long struct,
int value)
flags.public static void nsize(long struct,
long value)
size.public static void nusage(long struct,
int value)
usage.public static void nsharingMode(long struct,
int value)
sharingMode.public static void nqueueFamilyIndexCount(long struct,
int value)
queueFamilyIndexCount field of the specified struct.public static void npQueueFamilyIndices(long struct,
@Nullable
java.nio.IntBuffer value)
pQueueFamilyIndices.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.