Package org.lwjgl.vulkan
Class VkGeneratedCommandsMemoryRequirementsInfoEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkGeneratedCommandsMemoryRequirementsInfoEXT>
org.lwjgl.vulkan.VkGeneratedCommandsMemoryRequirementsInfoEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkGeneratedCommandsMemoryRequirementsInfoEXT
extends org.lwjgl.system.Struct<VkGeneratedCommandsMemoryRequirementsInfoEXT>
implements org.lwjgl.system.NativeResource
Structure specifying parameters for the reservation of preprocess buffer space.
Description
If the action command token for the layout is not a COUNT-type multi-draw indirect token, maxDrawCount is ignored.
Valid Usage
maxSequencesCountmust be less or equal toVkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::maxIndirectSequenceCount- If
indirectCommandsLayoutwas created with a token sequence that contained theINDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXTtoken,indirectExecutionSetmust not beNULL_HANDLE - If
indirectCommandsLayoutwas created with a token sequence that contained theINDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXTtoken, the shader stages used to create the initial shader state ofindirectExecutionSetmust equal theVkIndirectCommandsExecutionSetTokenEXT::shaderStagesused to createindirectCommandsLayout - If
indirectCommandsLayoutwas not created with a token sequence that contained theINDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXTtoken,indirectExecutionSetmust beNULL_HANDLE - When not ignored,
maxDrawCount × maxSequenceCountmust be less than2^24 - If
indirectExecutionSetisNULL_HANDLE, either aVkGeneratedCommandsPipelineInfoEXTor aVkGeneratedCommandsShaderInfoEXTmust be included in thepNextchain
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkGeneratedCommandsPipelineInfoEXTorVkGeneratedCommandsShaderInfoEXT - The
sTypevalue of each struct in thepNextchain must be unique - If
indirectExecutionSetis notNULL_HANDLE,indirectExecutionSetmust be a validVkIndirectExecutionSetEXThandle indirectCommandsLayoutmust be a validVkIndirectCommandsLayoutEXThandle- Both of
indirectCommandsLayout, andindirectExecutionSetthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
GetGeneratedCommandsMemoryRequirementsEXT
Layout
struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
VkStructureType sType();
void const * pNext();
VkIndirectExecutionSetEXT indirectExecutionSet();
VkIndirectCommandsLayoutEXT indirectCommandsLayout();
uint32_t maxSequenceCount();
uint32_t maxDrawCount();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkGeneratedCommandsMemoryRequirementsInfoEXTstructs.Nested 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 member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionCreates aVkGeneratedCommandsMemoryRequirementsInfoEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance for the specified memory address.create(long address, int capacity) Create aVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance at the specified memory.static @Nullable VkGeneratedCommandsMemoryRequirementsInfoEXTcreateSafe(long address) static @Nullable VkGeneratedCommandsMemoryRequirementsInfoEXT.BuffercreateSafe(long address, int capacity) longtheVkIndirectCommandsLayoutEXTthat this buffer memory is intended to be used with.indirectCommandsLayout(long value) Sets the specified value to theindirectCommandsLayout()field.longthe indirect execution set to be used for binding shaders.indirectExecutionSet(long value) Sets the specified value to theindirectExecutionSet()field.malloc()Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated on the specifiedMemoryStack.intthe maximum number of indirect draws that can be executed by any COUNT-type multi-draw indirect tokens.maxDrawCount(int value) Sets the specified value to themaxDrawCount()field.intthe maximum number of sequences that this buffer memory can be used with.maxSequenceCount(int value) Sets the specified value to themaxSequenceCount()field.static longnindirectCommandsLayout(long struct) Unsafe version ofindirectCommandsLayout().static voidnindirectCommandsLayout(long struct, long value) Unsafe version ofindirectCommandsLayout.static longnindirectExecutionSet(long struct) Unsafe version ofindirectExecutionSet().static voidnindirectExecutionSet(long struct, long value) Unsafe version ofindirectExecutionSet.static intnmaxDrawCount(long struct) Unsafe version ofmaxDrawCount().static voidnmaxDrawCount(long struct, int value) Unsafe version ofmaxDrawCount.static intnmaxSequenceCount(long struct) Unsafe version ofmaxSequenceCount().static voidnmaxSequenceCount(long struct, int value) Unsafe version ofmaxSequenceCount.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkGeneratedCommandsPipelineInfoEXTvalue to thepNextchain.Prepends the specifiedVkGeneratedCommandsShaderInfoEXTvalue to thepNextchain.set(int sType, long pNext, long indirectExecutionSet, long indirectCommandsLayout, int maxSequenceCount, int maxDrawCount) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXTvalue to thesType()field.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. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
INDIRECTEXECUTIONSET
public static final int INDIRECTEXECUTIONSETThe struct member offsets. -
INDIRECTCOMMANDSLAYOUT
public static final int INDIRECTCOMMANDSLAYOUTThe struct member offsets. -
MAXSEQUENCECOUNT
public static final int MAXSEQUENCECOUNTThe struct member offsets. -
MAXDRAWCOUNT
public static final int MAXDRAWCOUNTThe struct member offsets.
-
-
Constructor Details
-
VkGeneratedCommandsMemoryRequirementsInfoEXT
Creates aVkGeneratedCommandsMemoryRequirementsInfoEXTinstance 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<VkGeneratedCommandsMemoryRequirementsInfoEXT>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
indirectExecutionSet
public long indirectExecutionSet()the indirect execution set to be used for binding shaders. -
indirectCommandsLayout
public long indirectCommandsLayout()theVkIndirectCommandsLayoutEXTthat this buffer memory is intended to be used with. -
maxSequenceCount
public int maxSequenceCount()the maximum number of sequences that this buffer memory can be used with. -
maxDrawCount
public int maxDrawCount()the maximum number of indirect draws that can be executed by any COUNT-type multi-draw indirect tokens. The draw count in the indirect buffer is clamped to this value for these token types. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXTvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkGeneratedCommandsPipelineInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkGeneratedCommandsShaderInfoEXTvalue to thepNextchain. -
indirectExecutionSet
Sets the specified value to theindirectExecutionSet()field. -
indirectCommandsLayout
Sets the specified value to theindirectCommandsLayout()field. -
maxSequenceCount
Sets the specified value to themaxSequenceCount()field. -
maxDrawCount
Sets the specified value to themaxDrawCount()field. -
set
public VkGeneratedCommandsMemoryRequirementsInfoEXT set(int sType, long pNext, long indirectExecutionSet, long indirectCommandsLayout, int maxSequenceCount, int maxDrawCount) Initializes this struct with the specified values. -
set
public VkGeneratedCommandsMemoryRequirementsInfoEXT set(VkGeneratedCommandsMemoryRequirementsInfoEXT src) Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated withBufferUtils. -
create
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkGeneratedCommandsMemoryRequirementsInfoEXT.Buffer create(long address, int capacity) Create aVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkGeneratedCommandsMemoryRequirementsInfoEXT.Buffer createSafe(long address, int capacity) -
malloc
public static VkGeneratedCommandsMemoryRequirementsInfoEXT malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkGeneratedCommandsMemoryRequirementsInfoEXT calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkGeneratedCommandsMemoryRequirementsInfoEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkGeneratedCommandsMemoryRequirementsInfoEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkGeneratedCommandsMemoryRequirementsInfoEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nindirectExecutionSet
public static long nindirectExecutionSet(long struct) Unsafe version ofindirectExecutionSet(). -
nindirectCommandsLayout
public static long nindirectCommandsLayout(long struct) Unsafe version ofindirectCommandsLayout(). -
nmaxSequenceCount
public static int nmaxSequenceCount(long struct) Unsafe version ofmaxSequenceCount(). -
nmaxDrawCount
public static int nmaxDrawCount(long struct) Unsafe version ofmaxDrawCount(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nindirectExecutionSet
public static void nindirectExecutionSet(long struct, long value) Unsafe version ofindirectExecutionSet. -
nindirectCommandsLayout
public static void nindirectCommandsLayout(long struct, long value) Unsafe version ofindirectCommandsLayout. -
nmaxSequenceCount
public static void nmaxSequenceCount(long struct, int value) Unsafe version ofmaxSequenceCount. -
nmaxDrawCount
public static void nmaxDrawCount(long struct, int value) Unsafe version ofmaxDrawCount.
-