Package org.lwjgl.vulkan
Class VkSpecializationInfo
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSpecializationInfo>
org.lwjgl.vulkan.VkSpecializationInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkSpecializationInfo
extends org.lwjgl.system.Struct<VkSpecializationInfo>
implements org.lwjgl.system.NativeResource
Structure specifying specialization information.
Valid Usage
- The
offsetmember of each element ofpMapEntriesmust be less thandataSize - The
sizemember of each element ofpMapEntriesmust be less than or equal todataSizeminusoffset - The
constantIDvalue of each element ofpMapEntriesmust be unique withinpMapEntries
Valid Usage (Implicit)
- If
mapEntryCountis not 0,pMapEntriesmust be a valid pointer to an array ofmapEntryCountvalidVkSpecializationMapEntrystructures - If
dataSizeis not 0,pDatamust be a valid pointer to an array ofdataSizebytes
See Also
VkPipelineShaderStageCreateInfo, VkShaderCreateInfoEXT, VkSpecializationMapEntry
Layout
struct VkSpecializationInfo {
uint32_t mapEntryCount();
VkSpecializationMapEntry const * pMapEntries();
size_t dataSize();
void const * pData();
}-
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 size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkSpecializationInfo(ByteBuffer container) Creates aVkSpecializationInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkSpecializationInfocalloc()Returns a newVkSpecializationInfoinstance allocated withmemCalloc.static VkSpecializationInfo.Buffercalloc(int capacity) Returns a newVkSpecializationInfo.Bufferinstance allocated withmemCalloc.static VkSpecializationInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSpecializationInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSpecializationInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSpecializationInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSpecializationInfoDeprecated.static VkSpecializationInfo.BuffercallocStack(int capacity) Deprecated.static VkSpecializationInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSpecializationInfocallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkSpecializationInfocreate()Returns a newVkSpecializationInfoinstance allocated withBufferUtils.static VkSpecializationInfo.Buffercreate(int capacity) Returns a newVkSpecializationInfo.Bufferinstance allocated withBufferUtils.static VkSpecializationInfocreate(long address) Returns a newVkSpecializationInfoinstance for the specified memory address.static VkSpecializationInfo.Buffercreate(long address, int capacity) Create aVkSpecializationInfo.Bufferinstance at the specified memory.static @Nullable VkSpecializationInfocreateSafe(long address) static @Nullable VkSpecializationInfo.BuffercreateSafe(long address, int capacity) longdataSize()the byte size of thepDatabuffer.static VkSpecializationInfomalloc()Returns a newVkSpecializationInfoinstance allocated withmemAlloc.static VkSpecializationInfo.Buffermalloc(int capacity) Returns a newVkSpecializationInfo.Bufferinstance allocated withmemAlloc.static VkSpecializationInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSpecializationInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkSpecializationInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSpecializationInfoinstance allocated on the specifiedMemoryStack.static VkSpecializationInfoDeprecated.static VkSpecializationInfo.BuffermallocStack(int capacity) Deprecated.static VkSpecializationInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSpecializationInfomallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intthe number of entries in thepMapEntriesarray.static longndataSize(long struct) Unsafe version ofdataSize().static voidndataSize(long struct, long value) Sets the specified value to thedataSizefield of the specifiedstruct.static intnmapEntryCount(long struct) Unsafe version ofmapEntryCount().static voidnmapEntryCount(long struct, int value) Sets the specified value to themapEntryCountfield of the specifiedstruct.static @Nullable ByteBuffernpData(long struct) Unsafe version ofpData.static voidnpData(long struct, @Nullable ByteBuffer value) Unsafe version ofpData.static @Nullable VkSpecializationMapEntry.BuffernpMapEntries(long struct) Unsafe version ofpMapEntries().static voidnpMapEntries(long struct, @Nullable VkSpecializationMapEntry.Buffer value) Unsafe version ofpMapEntries.@Nullable ByteBufferpData()contains the actual constant values to specialize with.pData(@Nullable ByteBuffer value) Sets the address of the specifiedByteBufferto thepData()field.@Nullable VkSpecializationMapEntry.Buffera pointer to an array ofVkSpecializationMapEntrystructures, which map constant IDs to offsets inpData.pMapEntries(@Nullable VkSpecializationMapEntry.Buffer value) Sets the address of the specifiedVkSpecializationMapEntry.Bufferto thepMapEntries()field.set(VkSpecializationInfo src) Copies the specified struct data to this struct.set(@Nullable VkSpecializationMapEntry.Buffer pMapEntries, @Nullable ByteBuffer pData) Initializes this struct with the specified values.intsizeof()static voidvalidate(long struct) Validates pointer members that should not beNULL.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. -
MAPENTRYCOUNT
public static final int MAPENTRYCOUNTThe struct member offsets. -
PMAPENTRIES
public static final int PMAPENTRIESThe struct member offsets. -
DATASIZE
public static final int DATASIZEThe struct member offsets. -
PDATA
public static final int PDATAThe struct member offsets.
-
-
Constructor Details
-
VkSpecializationInfo
Creates aVkSpecializationInfoinstance 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<VkSpecializationInfo>
-
mapEntryCount
public int mapEntryCount()the number of entries in thepMapEntriesarray. -
pMapEntries
a pointer to an array ofVkSpecializationMapEntrystructures, which map constant IDs to offsets inpData. -
dataSize
public long dataSize()the byte size of thepDatabuffer. -
pData
contains the actual constant values to specialize with. -
pMapEntries
Sets the address of the specifiedVkSpecializationMapEntry.Bufferto thepMapEntries()field. -
pData
Sets the address of the specifiedByteBufferto thepData()field. -
set
public VkSpecializationInfo set(@Nullable VkSpecializationMapEntry.Buffer pMapEntries, @Nullable ByteBuffer pData) 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 newVkSpecializationInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSpecializationInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSpecializationInfoinstance allocated withBufferUtils. -
create
Returns a newVkSpecializationInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSpecializationInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSpecializationInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSpecializationInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSpecializationInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkSpecializationInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkSpecializationInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkSpecializationInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSpecializationInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkSpecializationInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkSpecializationInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nmapEntryCount
public static int nmapEntryCount(long struct) Unsafe version ofmapEntryCount(). -
npMapEntries
Unsafe version ofpMapEntries(). -
ndataSize
public static long ndataSize(long struct) Unsafe version ofdataSize(). -
npData
Unsafe version ofpData. -
nmapEntryCount
public static void nmapEntryCount(long struct, int value) Sets the specified value to themapEntryCountfield of the specifiedstruct. -
npMapEntries
Unsafe version ofpMapEntries. -
ndataSize
public static void ndataSize(long struct, long value) Sets the specified value to thedataSizefield of the specifiedstruct. -
npData
Unsafe version ofpData. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-