Package org.lwjgl.vulkan
Class VkDrawMeshTasksIndirectCommandEXT
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkDrawMeshTasksIndirectCommandEXT>
org.lwjgl.vulkan.VkDrawMeshTasksIndirectCommandEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkDrawMeshTasksIndirectCommandEXT
extends org.lwjgl.system.Struct<VkDrawMeshTasksIndirectCommandEXT>
implements org.lwjgl.system.NativeResource
Structure specifying a mesh tasks draw indirect command.
Description
The members of VkDrawMeshTasksIndirectCommandEXT have the same meaning as the similarly named parameters of CmdDrawMeshTasksEXT.
Valid Usage
- If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICScontains a shader using theTaskEXTExecutionModel,groupCountXmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupCount[0] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICScontains a shader using theTaskEXTExecutionModel,groupCountYmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupCount[1] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICScontains a shader using theTaskEXTExecutionModel,groupCountZmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupCount[2] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICScontains a shader using theTaskEXTExecutionModel, The product ofgroupCountX,groupCountYandgroupCountZmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxTaskWorkGroupTotalCount - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICSdoes not contain a shader using theTaskEXTExecutionModel,groupCountXmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupCount[0] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICSdoes not contain a shader using theTaskEXTExecutionModel,groupCountYmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupCount[1] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICSdoes not contain a shader using theTaskEXTExecutionModel,groupCountZmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupCount[2] - If the current pipeline bound to
PIPELINE_BIND_POINT_GRAPHICSdoes not contain a shader using theTaskEXTExecutionModel, The product ofgroupCountX,groupCountYandgroupCountZmust be less than or equal toVkPhysicalDeviceMeshShaderPropertiesEXT::maxMeshWorkGroupTotalCount
See Also
Layout
struct VkDrawMeshTasksIndirectCommandEXT {
uint32_t groupCountX();
uint32_t groupCountY();
uint32_t groupCountZ();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkDrawMeshTasksIndirectCommandEXTstructs.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 size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkDrawMeshTasksIndirectCommandEXT(ByteBuffer container) Creates aVkDrawMeshTasksIndirectCommandEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated withBufferUtils.create(int capacity) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkDrawMeshTasksIndirectCommandEXTinstance for the specified memory address.create(long address, int capacity) Create aVkDrawMeshTasksIndirectCommandEXT.Bufferinstance at the specified memory.static @Nullable VkDrawMeshTasksIndirectCommandEXTcreateSafe(long address) static @Nullable VkDrawMeshTasksIndirectCommandEXT.BuffercreateSafe(long address, int capacity) intthe number of local workgroups to dispatch in the X dimension.groupCountX(int value) Sets the specified value to thegroupCountX()field.intthe number of local workgroups to dispatch in the Y dimension.groupCountY(int value) Sets the specified value to thegroupCountY()field.intthe number of local workgroups to dispatch in the Z dimension.groupCountZ(int value) Sets the specified value to thegroupCountZ()field.malloc()Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated on the specifiedMemoryStack.static intngroupCountX(long struct) Unsafe version ofgroupCountX().static voidngroupCountX(long struct, int value) Unsafe version ofgroupCountX.static intngroupCountY(long struct) Unsafe version ofgroupCountY().static voidngroupCountY(long struct, int value) Unsafe version ofgroupCountY.static intngroupCountZ(long struct) Unsafe version ofgroupCountZ().static voidngroupCountZ(long struct, int value) Unsafe version ofgroupCountZ.set(int groupCountX, int groupCountY, int groupCountZ) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()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. -
GROUPCOUNTX
public static final int GROUPCOUNTXThe struct member offsets. -
GROUPCOUNTY
public static final int GROUPCOUNTYThe struct member offsets. -
GROUPCOUNTZ
public static final int GROUPCOUNTZThe struct member offsets.
-
-
Constructor Details
-
VkDrawMeshTasksIndirectCommandEXT
Creates aVkDrawMeshTasksIndirectCommandEXTinstance 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<VkDrawMeshTasksIndirectCommandEXT>
-
groupCountX
public int groupCountX()the number of local workgroups to dispatch in the X dimension. -
groupCountY
public int groupCountY()the number of local workgroups to dispatch in the Y dimension. -
groupCountZ
public int groupCountZ()the number of local workgroups to dispatch in the Z dimension. -
groupCountX
Sets the specified value to thegroupCountX()field. -
groupCountY
Sets the specified value to thegroupCountY()field. -
groupCountZ
Sets the specified value to thegroupCountZ()field. -
set
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 newVkDrawMeshTasksIndirectCommandEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated withBufferUtils. -
create
Returns a newVkDrawMeshTasksIndirectCommandEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkDrawMeshTasksIndirectCommandEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkDrawMeshTasksIndirectCommandEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkDrawMeshTasksIndirectCommandEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkDrawMeshTasksIndirectCommandEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkDrawMeshTasksIndirectCommandEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkDrawMeshTasksIndirectCommandEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ngroupCountX
public static int ngroupCountX(long struct) Unsafe version ofgroupCountX(). -
ngroupCountY
public static int ngroupCountY(long struct) Unsafe version ofgroupCountY(). -
ngroupCountZ
public static int ngroupCountZ(long struct) Unsafe version ofgroupCountZ(). -
ngroupCountX
public static void ngroupCountX(long struct, int value) Unsafe version ofgroupCountX. -
ngroupCountY
public static void ngroupCountY(long struct, int value) Unsafe version ofgroupCountY. -
ngroupCountZ
public static void ngroupCountZ(long struct, int value) Unsafe version ofgroupCountZ.
-