Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkSpecializationInfo

extends Struct<VkSpecializationInfo>
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 specialization information.
Valid Usage
Valid Usage (Implicit)
See Also

VkPipelineShaderStageCreateInfo, VkShaderCreateInfoEXT, VkSpecializationMapEntry

Layout


struct VkSpecializationInfo {
    uint32_t mapEntryCount;
    VkSpecializationMapEntry const * pMapEntries;
    size_t dataSize;
    void const * pData;
}

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
DATASIZE

The struct member offsets.

public static final int
MAPENTRYCOUNT

The struct member offsets.

public static final int
PDATA

The struct member offsets.

public static final int
PMAPENTRIES

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

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

public
VkSpecializationInfo(ByteBuffer container)

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

Method Summary

Modifier and TypeMethod and Description
public static VkSpecializationInfo
calloc()

Returns a new VkSpecializationInfo instance allocated with memCalloc.

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

Returns a new VkSpecializationInfo.Buffer instance allocated with memCalloc.

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

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

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

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

public static VkSpecializationInfo
callocStack()

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

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

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

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

Returns a new VkSpecializationInfo instance allocated with BufferUtils.

public static VkSpecializationInfo
create(long address)

Returns a new VkSpecializationInfo instance for the specified memory address.

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

Returns a new VkSpecializationInfo.Buffer instance allocated with BufferUtils.

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

Create a VkSpecializationInfo.Buffer instance at the specified memory.

public static VkSpecializationInfo
createSafe(long address)

Like create, but returns null if address is NULL.

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

Like create, but returns null if address is NULL.

public long
dataSize()

the byte size of the pData buffer.

public static VkSpecializationInfo
malloc()

Returns a new VkSpecializationInfo instance allocated with memAlloc.

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

Returns a new VkSpecializationInfo.Buffer instance allocated with memAlloc.

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

Returns a new VkSpecializationInfo instance allocated on the specified MemoryStack.

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

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

public static VkSpecializationInfo
mallocStack()

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

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

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

Deprecated
Deprecated for removal in 3.4.0.
public int
mapEntryCount()

the number of entries in the pMapEntries array.

public static long
ndataSize(long struct)

Unsafe version of dataSize.

public static void
ndataSize(long struct, long value)

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

public static int
nmapEntryCount(long struct)

Unsafe version of mapEntryCount.

public static void
nmapEntryCount(long struct, int value)

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

public static ByteBuffer
npData(long struct)

Unsafe version of pData.

public static void
npData(long struct, ByteBuffer value)

Unsafe version of pData.

public static VkSpecializationMapEntry.Buffer
npMapEntries(long struct)

Unsafe version of pMapEntries.

public static void
npMapEntries(long struct, VkSpecializationMapEntry.Buffer value)

Unsafe version of pMapEntries.

public ByteBuffer
pData()

contains the actual constant values to specialize with.

public VkSpecializationInfo
pData(ByteBuffer value)

Sets the address of the specified ByteBuffer to the pData field.

public VkSpecializationMapEntry.Buffer
pMapEntries()

a pointer to an array of VkSpecializationMapEntry structures, which map constant IDs to offsets in pData.

public VkSpecializationInfo
pMapEntries(VkSpecializationMapEntry.Buffer value)

Sets the address of the specified VkSpecializationMapEntry.Buffer to the pMapEntries field.

public VkSpecializationInfo
set(VkSpecializationMapEntry.Buffer pMapEntries, ByteBuffer pData)

Initializes this struct with the specified values.

public VkSpecializationInfo

Returns:

this struct
set
(VkSpecializationInfo
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 static void
validate(long
the struct to validate
struct
)

Validates pointer members that should not be NULL.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

DATASIZEback to summary
public static final int DATASIZE

The struct member offsets.

MAPENTRYCOUNTback to summary
public static final int MAPENTRYCOUNT

The struct member offsets.

PDATAback to summary
public static final int PDATA

The struct member offsets.

PMAPENTRIESback to summary
public static final int PMAPENTRIES

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

Constructor Detail

VkSpecializationInfoback to summary
protected VkSpecializationInfo(long address, ByteBuffer container)
VkSpecializationInfoback to summary
public VkSpecializationInfo(ByteBuffer container)

Creates a VkSpecializationInfo 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.

Method Detail

callocback to summary
public static VkSpecializationInfo calloc()

Returns a new VkSpecializationInfo instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static VkSpecializationInfo.Buffer calloc(int capacity)

Returns a new VkSpecializationInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkSpecializationInfo calloc(MemoryStack stack)

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

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static VkSpecializationInfo.Buffer calloc(int capacity, MemoryStack stack)

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

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

callocStackback to summary
public static VkSpecializationInfo callocStack()

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkSpecializationInfo callocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkSpecializationInfo.Buffer callocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkSpecializationInfo.Buffer callocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
createback to summary
protected VkSpecializationInfo create(long address, ByteBuffer container)

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

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static VkSpecializationInfo create()

Returns a new VkSpecializationInfo instance allocated with BufferUtils.

createback to summary
public static VkSpecializationInfo create(long address)

Returns a new VkSpecializationInfo instance for the specified memory address.

createback to summary
public static VkSpecializationInfo.Buffer create(int capacity)

Returns a new VkSpecializationInfo.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static VkSpecializationInfo.Buffer create(long address, int capacity)

Create a VkSpecializationInfo.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkSpecializationInfo createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static VkSpecializationInfo.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
dataSizeback to summary
public long dataSize()

the byte size of the pData buffer.

Annotations
@NativeType:size_t
mallocback to summary
public static VkSpecializationInfo malloc()

Returns a new VkSpecializationInfo instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static VkSpecializationInfo.Buffer malloc(int capacity)

Returns a new VkSpecializationInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkSpecializationInfo malloc(MemoryStack stack)

Returns a new VkSpecializationInfo instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static VkSpecializationInfo.Buffer malloc(int capacity, MemoryStack stack)

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

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

mallocStackback to summary
public static VkSpecializationInfo mallocStack()

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkSpecializationInfo mallocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkSpecializationInfo.Buffer mallocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkSpecializationInfo.Buffer mallocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mapEntryCountback to summary
public int mapEntryCount()

the number of entries in the pMapEntries array.

Annotations
@NativeType:uint32_t
ndataSizeback to summary
public static long ndataSize(long struct)

Unsafe version of dataSize.

ndataSizeback to summary
public static void ndataSize(long struct, long value)

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

nmapEntryCountback to summary
public static int nmapEntryCount(long struct)

Unsafe version of mapEntryCount.

nmapEntryCountback to summary
public static void nmapEntryCount(long struct, int value)

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

npDataback to summary
public static ByteBuffer npData(long struct)

Unsafe version of pData.

Annotations
@Nullable
npDataback to summary
public static void npData(long struct, ByteBuffer value)

Unsafe version of pData.

npMapEntriesback to summary
public static VkSpecializationMapEntry.Buffer npMapEntries(long struct)

Unsafe version of pMapEntries.

Annotations
@Nullable
npMapEntriesback to summary
public static void npMapEntries(long struct, VkSpecializationMapEntry.Buffer value)

Unsafe version of pMapEntries.

pDataback to summary
public ByteBuffer pData()

contains the actual constant values to specialize with.

Annotations
@Nullable
@NativeType:void const *
pDataback to summary
public VkSpecializationInfo pData(ByteBuffer value)

Sets the address of the specified ByteBuffer to the pData field.

pMapEntriesback to summary
public VkSpecializationMapEntry.Buffer pMapEntries()

a pointer to an array of VkSpecializationMapEntry structures, which map constant IDs to offsets in pData.

Annotations
@Nullable
@NativeType:VkSpecializationMapEntry const *
pMapEntriesback to summary
public VkSpecializationInfo pMapEntries(VkSpecializationMapEntry.Buffer value)

Sets the address of the specified VkSpecializationMapEntry.Buffer to the pMapEntries field.

setback to summary
public VkSpecializationInfo set(VkSpecializationMapEntry.Buffer pMapEntries, ByteBuffer pData)

Initializes this struct with the specified values.

setback to summary
public VkSpecializationInfo set(VkSpecializationInfo src)

Copies the specified struct data to this struct.

Parameters
src:VkSpecializationInfo

the source struct

Returns:VkSpecializationInfo

this struct

sizeofback to summary
public int sizeof()

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

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
validateback to summary
public static void validate(long struct)

Validates pointer members that should not be NULL.

Parameters
struct:long

the struct to validate

org.lwjgl.vulkan back to summary

public Class VkSpecializationInfo.Buffer

extends StructBuffer<VkSpecializationInfo, VkSpecializationInfo.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable

An array of VkSpecializationInfo structs.

Field Summary

Modifier and TypeField and Description
private static final VkSpecializationInfo

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkSpecializationInfo.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
public long

Returns:

the value of the VkSpecializationInfo#dataSize field.
dataSize
()

protected VkSpecializationInfo
public int

Returns:

the value of the VkSpecializationInfo#mapEntryCount field.
mapEntryCount
()

public ByteBuffer

Returns:

a ByteBuffer view of the data pointed to by the VkSpecializationInfo#pData field.
pData
()

public VkSpecializationInfo.Buffer
pData(ByteBuffer value)

Sets the address of the specified ByteBuffer to the VkSpecializationInfo#pData field.

public VkSpecializationMapEntry.Buffer

Returns:

a VkSpecializationMapEntry.Buffer view of the struct array pointed to by the VkSpecializationInfo#pMapEntries field.
pMapEntries
()

public VkSpecializationInfo.Buffer
protected VkSpecializationInfo.Buffer
Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkSpecializationInfo ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkSpecializationInfo.Buffer instance backed by the specified container.

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 VkSpecializationInfo#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

dataSizeback to summary
public long dataSize()
Returns:long

the value of the VkSpecializationInfo#dataSize field.

Annotations
@NativeType:size_t
getElementFactoryback to summary
protected VkSpecializationInfo getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
mapEntryCountback to summary
public int mapEntryCount()
Returns:int

the value of the VkSpecializationInfo#mapEntryCount field.

Annotations
@NativeType:uint32_t
pDataback to summary
public ByteBuffer pData()
Returns:ByteBuffer

a ByteBuffer view of the data pointed to by the VkSpecializationInfo#pData field.

Annotations
@Nullable
@NativeType:void const *
pDataback to summary
public VkSpecializationInfo.Buffer pData(ByteBuffer value)

Sets the address of the specified ByteBuffer to the VkSpecializationInfo#pData field.

pMapEntriesback to summary
public VkSpecializationMapEntry.Buffer pMapEntries()
Returns:VkSpecializationMapEntry.Buffer

a VkSpecializationMapEntry.Buffer view of the struct array pointed to by the VkSpecializationInfo#pMapEntries field.

Annotations
@Nullable
@NativeType:VkSpecializationMapEntry const *
pMapEntriesback to summary
public VkSpecializationInfo.Buffer pMapEntries(VkSpecializationMapEntry.Buffer value)

Sets the address of the specified VkSpecializationMapEntry.Buffer to the VkSpecializationInfo#pMapEntries field.

selfback to summary
protected VkSpecializationInfo.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override