Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkBufferCreateInfo

extends Struct<VkBufferCreateInfo>
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 specifying the parameters of a newly created buffer object.
Description

If a VkBufferUsageFlags2CreateInfoKHR structure is present in the pNext chain, VkBufferUsageFlags2CreateInfoKHR::usage from that structure is used instead of usage from this structure.

Valid Usage
Valid Usage (Implicit)
See Also

VkDeviceBufferMemoryRequirements, CreateBuffer

Layout


struct VkBufferCreateInfo {
    VkStructureType sType;
    void const * pNext;
    VkBufferCreateFlags flags;
    VkDeviceSize size;
    VkBufferUsageFlags usage;
    VkSharingMode sharingMode;
    uint32_t queueFamilyIndexCount;
    uint32_t const * pQueueFamilyIndices;
}

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
FLAGS

The struct member offsets.

public static final int
PNEXT

The struct member offsets.

public static final int
PQUEUEFAMILYINDICES

The struct member offsets.

public static final int
QUEUEFAMILYINDEXCOUNT

The struct member offsets.

public static final int
SHARINGMODE

The struct member offsets.

public static final int
SIZE

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
STYPE

The struct member offsets.

public static final int
USAGE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
VkBufferCreateInfo(long address, ByteBuffer container)

public
VkBufferCreateInfo(ByteBuffer container)

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

Method Summary

Modifier and TypeMethod and Description
public static VkBufferCreateInfo
calloc()

Returns a new VkBufferCreateInfo instance allocated with memCalloc.

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

Returns a new VkBufferCreateInfo.Buffer instance allocated with memCalloc.

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

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

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

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

public static VkBufferCreateInfo
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected VkBufferCreateInfo
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 VkBufferCreateInfo
create()

Returns a new VkBufferCreateInfo instance allocated with BufferUtils.

public static VkBufferCreateInfo
create(long address)

Returns a new VkBufferCreateInfo instance for the specified memory address.

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

Returns a new VkBufferCreateInfo.Buffer instance allocated with BufferUtils.

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

Create a VkBufferCreateInfo.Buffer instance at the specified memory.

public static VkBufferCreateInfo
createSafe(long address)

Like create, but returns null if address is NULL.

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

Like create, but returns null if address is NULL.

public int
flags()

a bitmask of VkBufferCreateFlagBits specifying additional parameters of the buffer.

public VkBufferCreateInfo
flags(int value)

Sets the specified value to the flags field.

public static VkBufferCreateInfo
malloc()

Returns a new VkBufferCreateInfo instance allocated with memAlloc.

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

Returns a new VkBufferCreateInfo.Buffer instance allocated with memAlloc.

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

Returns a new VkBufferCreateInfo instance allocated on the specified MemoryStack.

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

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

public static VkBufferCreateInfo
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkBufferCreateInfo.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static int
nflags(long struct)

Unsafe version of flags.

public static void
nflags(long struct, int value)

Unsafe version of flags.

public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static IntBuffer
npQueueFamilyIndices(long struct)

Unsafe version of pQueueFamilyIndices.

public static void
npQueueFamilyIndices(long struct, IntBuffer value)

Unsafe version of pQueueFamilyIndices.

public static int
nqueueFamilyIndexCount(long struct)

Unsafe version of queueFamilyIndexCount.

public static void
nqueueFamilyIndexCount(long struct, int value)

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

public static int
nsharingMode(long struct)

Unsafe version of sharingMode.

public static void
nsharingMode(long struct, int value)

Unsafe version of sharingMode.

public static long
nsize(long struct)

Unsafe version of size.

public static void
nsize(long struct, long value)

Unsafe version of size.

public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public static int
nusage(long struct)

Unsafe version of usage.

public static void
nusage(long struct, int value)

Unsafe version of usage.

public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkBufferCreateInfo
pNext(long value)

Sets the specified value to the pNext field.

public VkBufferCreateInfo
pNext(VkBufferDeviceAddressCreateInfoEXT value)

Prepends the specified VkBufferDeviceAddressCreateInfoEXT value to the pNext chain.

public VkBufferCreateInfo
pNext(VkBufferOpaqueCaptureAddressCreateInfo value)

Prepends the specified VkBufferOpaqueCaptureAddressCreateInfo value to the pNext chain.

public VkBufferCreateInfo
pNext(VkBufferOpaqueCaptureAddressCreateInfoKHR value)

Prepends the specified VkBufferOpaqueCaptureAddressCreateInfoKHR value to the pNext chain.

public VkBufferCreateInfo
pNext(VkBufferUsageFlags2CreateInfoKHR value)

Prepends the specified VkBufferUsageFlags2CreateInfoKHR value to the pNext chain.

public VkBufferCreateInfo
pNext(VkDedicatedAllocationBufferCreateInfoNV value)

Prepends the specified VkDedicatedAllocationBufferCreateInfoNV value to the pNext chain.

public VkBufferCreateInfo
pNext(VkExternalMemoryBufferCreateInfo value)

Prepends the specified VkExternalMemoryBufferCreateInfo value to the pNext chain.

public VkBufferCreateInfo
pNext(VkExternalMemoryBufferCreateInfoKHR value)

Prepends the specified VkExternalMemoryBufferCreateInfoKHR value to the pNext chain.

public VkBufferCreateInfo
public VkBufferCreateInfo
pNext(VkVideoProfileListInfoKHR value)

Prepends the specified VkVideoProfileListInfoKHR value to the pNext chain.

public IntBuffer
pQueueFamilyIndices()

a pointer to an array of queue families that will access this buffer.

public VkBufferCreateInfo
pQueueFamilyIndices(IntBuffer value)

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

public int
queueFamilyIndexCount()

the number of entries in the pQueueFamilyIndices array.

public VkBufferCreateInfo
queueFamilyIndexCount(int value)

Sets the specified value to the queueFamilyIndexCount field.

public VkBufferCreateInfo
set(int sType, long pNext, int flags, long size, int usage, int sharingMode, int queueFamilyIndexCount, IntBuffer pQueueFamilyIndices)

Initializes this struct with the specified values.

public VkBufferCreateInfo

Returns:

this struct
set
(VkBufferCreateInfo
the source struct
src
)

Copies the specified struct data to this struct.

public int
sharingMode()

a VkSharingMode value specifying the sharing mode of the buffer when it will be accessed by multiple queue families.

public VkBufferCreateInfo
sharingMode(int value)

Sets the specified value to the sharingMode field.

public long
size()

the size in bytes of the buffer to be created.

public VkBufferCreateInfo
size(long value)

Sets the specified value to the size field.

public int
sizeof()

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

Returns sizeof(struct).
public int
sType()

a VkStructureType value identifying this structure.

public VkBufferCreateInfo
sType(int value)

Sets the specified value to the sType field.

public VkBufferCreateInfo
public int
usage()

a bitmask of VkBufferUsageFlagBits specifying allowed usages of the buffer.

public VkBufferCreateInfo
usage(int value)

Sets the specified value to the usage field.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate