Package org.lwjgl.vulkan
Class VkPhysicalDeviceMeshShaderPropertiesNV
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkPhysicalDeviceMeshShaderPropertiesNV>
org.lwjgl.vulkan.VkPhysicalDeviceMeshShaderPropertiesNV
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
public class VkPhysicalDeviceMeshShaderPropertiesNV
extends Struct<VkPhysicalDeviceMeshShaderPropertiesNV>
implements NativeResource
Structure describing mesh shading properties.
Description
If the VkPhysicalDeviceMeshShaderPropertiesNV
structure is included in the pNext
chain of the VkPhysicalDeviceProperties2
structure passed to GetPhysicalDeviceProperties2
, it is filled in with each corresponding implementation-dependent property.
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
Layout
struct VkPhysicalDeviceMeshShaderPropertiesNV {
VkStructureType sType()
;
void * pNext()
;
uint32_t maxDrawMeshTasksCount()
;
uint32_t maxTaskWorkGroupInvocations()
;
uint32_t maxTaskWorkGroupSize()
[3];
uint32_t maxTaskTotalMemorySize()
;
uint32_t maxTaskOutputCount()
;
uint32_t maxMeshWorkGroupInvocations()
;
uint32_t maxMeshWorkGroupSize()
[3];
uint32_t maxMeshTotalMemorySize()
;
uint32_t maxMeshOutputVertices()
;
uint32_t maxMeshOutputPrimitives()
;
uint32_t maxMeshMultiviewViewCount()
;
uint32_t meshOutputPerVertexGranularity()
;
uint32_t meshOutputPerPrimitiveGranularity()
;
}
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
An array ofVkPhysicalDeviceMeshShaderPropertiesNV
structs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct size in bytes.static final int
The struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
Constructor Summary
ConstructorDescriptionVkPhysicalDeviceMeshShaderPropertiesNV
(ByteBuffer container) Creates aVkPhysicalDeviceMeshShaderPropertiesNV
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withmemCalloc
.calloc
(int capacity) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withmemCalloc
.calloc
(int capacity, MemoryStack stack) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.calloc
(MemoryStack stack) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.Deprecated.callocStack
(int capacity) Deprecated.callocStack
(int capacity, MemoryStack stack) Deprecated.callocStack
(MemoryStack stack) Deprecated.create()
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withBufferUtils
.create
(int capacity) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withBufferUtils
.create
(long address) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance for the specified memory address.create
(long address, int capacity) Create aVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance at the specified memory.createSafe
(long address) createSafe
(long address, int capacity) malloc()
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withmemAlloc
.malloc
(int capacity) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withmemAlloc
.malloc
(int capacity, MemoryStack stack) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated on the specifiedMemoryStack
.malloc
(MemoryStack stack) Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated on the specifiedMemoryStack
.Deprecated.mallocStack
(int capacity) Deprecated.mallocStack
(int capacity, MemoryStack stack) Deprecated.mallocStack
(MemoryStack stack) Deprecated.int
the maximum number of local workgroups that can be launched by a single draw mesh tasks command.int
the maximum number of multiview views a mesh shader can use.int
the maximum number of primitives a mesh shader output can store.int
the maximum number of vertices a mesh shader output can store.int
the maximum number of bytes that the mesh shader can use in total for shared and output memory combined.int
the maximum total number of mesh shader invocations in a single local workgroup.the maximum size of a local mesh workgroup.int
maxMeshWorkGroupSize
(int index) the maximum size of a local mesh workgroup.int
the maximum number of output tasks a single task shader workgroup can emit.int
the maximum number of bytes that the task shader can use in total for shared and output memory combined.int
the maximum total number of task shader invocations in a single local workgroup.the maximum size of a local task workgroup.int
maxTaskWorkGroupSize
(int index) the maximum size of a local task workgroup.int
the granularity with which mesh outputs qualified as per-primitive are allocated.int
the granularity with which mesh vertex outputs are allocated.static int
nmaxDrawMeshTasksCount
(long struct) Unsafe version ofmaxDrawMeshTasksCount()
.static int
nmaxMeshMultiviewViewCount
(long struct) Unsafe version ofmaxMeshMultiviewViewCount()
.static int
nmaxMeshOutputPrimitives
(long struct) Unsafe version ofmaxMeshOutputPrimitives()
.static int
nmaxMeshOutputVertices
(long struct) Unsafe version ofmaxMeshOutputVertices()
.static int
nmaxMeshTotalMemorySize
(long struct) Unsafe version ofmaxMeshTotalMemorySize()
.static int
nmaxMeshWorkGroupInvocations
(long struct) Unsafe version ofmaxMeshWorkGroupInvocations()
.static IntBuffer
nmaxMeshWorkGroupSize
(long struct) Unsafe version ofmaxMeshWorkGroupSize()
.static int
nmaxMeshWorkGroupSize
(long struct, int index) Unsafe version ofmaxMeshWorkGroupSize
.static int
nmaxTaskOutputCount
(long struct) Unsafe version ofmaxTaskOutputCount()
.static int
nmaxTaskTotalMemorySize
(long struct) Unsafe version ofmaxTaskTotalMemorySize()
.static int
nmaxTaskWorkGroupInvocations
(long struct) Unsafe version ofmaxTaskWorkGroupInvocations()
.static IntBuffer
nmaxTaskWorkGroupSize
(long struct) Unsafe version ofmaxTaskWorkGroupSize()
.static int
nmaxTaskWorkGroupSize
(long struct, int index) Unsafe version ofmaxTaskWorkGroupSize
.static int
nmeshOutputPerPrimitiveGranularity
(long struct) Unsafe version ofmeshOutputPerPrimitiveGranularity()
.static int
nmeshOutputPerVertexGranularity
(long struct) Unsafe version ofmeshOutputPerVertexGranularity()
.static long
npNext
(long struct) Unsafe version ofpNext()
.static void
npNext
(long struct, long value) Unsafe version ofpNext
.static int
nsType
(long struct) Unsafe version ofsType()
.static void
nsType
(long struct, int value) Unsafe version ofsType
.long
pNext()
NULL
or a pointer to a structure extending this structure.pNext
(long value) Sets the specified value to thepNext()
field.set
(int sType, long pNext) Initializes this struct with the specified values.Copies the specified struct data to this struct.int
sizeof()
Returnssizeof(struct)
.int
sType()
aVkStructureType
value identifying this structure.sType
(int value) Sets the specified value to thesType()
field.Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
value to thesType()
field.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods 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. -
MAXDRAWMESHTASKSCOUNT
public static final int MAXDRAWMESHTASKSCOUNTThe struct member offsets. -
MAXTASKWORKGROUPINVOCATIONS
public static final int MAXTASKWORKGROUPINVOCATIONSThe struct member offsets. -
MAXTASKWORKGROUPSIZE
public static final int MAXTASKWORKGROUPSIZEThe struct member offsets. -
MAXTASKTOTALMEMORYSIZE
public static final int MAXTASKTOTALMEMORYSIZEThe struct member offsets. -
MAXTASKOUTPUTCOUNT
public static final int MAXTASKOUTPUTCOUNTThe struct member offsets. -
MAXMESHWORKGROUPINVOCATIONS
public static final int MAXMESHWORKGROUPINVOCATIONSThe struct member offsets. -
MAXMESHWORKGROUPSIZE
public static final int MAXMESHWORKGROUPSIZEThe struct member offsets. -
MAXMESHTOTALMEMORYSIZE
public static final int MAXMESHTOTALMEMORYSIZEThe struct member offsets. -
MAXMESHOUTPUTVERTICES
public static final int MAXMESHOUTPUTVERTICESThe struct member offsets. -
MAXMESHOUTPUTPRIMITIVES
public static final int MAXMESHOUTPUTPRIMITIVESThe struct member offsets. -
MAXMESHMULTIVIEWVIEWCOUNT
public static final int MAXMESHMULTIVIEWVIEWCOUNTThe struct member offsets. -
MESHOUTPUTPERVERTEXGRANULARITY
public static final int MESHOUTPUTPERVERTEXGRANULARITYThe struct member offsets. -
MESHOUTPUTPERPRIMITIVEGRANULARITY
public static final int MESHOUTPUTPERPRIMITIVEGRANULARITYThe struct member offsets.
-
-
Constructor Details
-
VkPhysicalDeviceMeshShaderPropertiesNV
Creates aVkPhysicalDeviceMeshShaderPropertiesNV
instance at the current position of the specifiedByteBuffer
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 Details
-
sizeof
public int sizeof()Description copied from class:Struct
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<VkPhysicalDeviceMeshShaderPropertiesNV>
-
sType
public int sType()aVkStructureType
value identifying this structure. -
pNext
public long pNext()NULL
or a pointer to a structure extending this structure. -
maxDrawMeshTasksCount
public int maxDrawMeshTasksCount()the maximum number of local workgroups that can be launched by a single draw mesh tasks command. See Programmable Mesh Shading. -
maxTaskWorkGroupInvocations
public int maxTaskWorkGroupInvocations()the maximum total number of task shader invocations in a single local workgroup. The product of the X, Y, and Z sizes, as specified by theLocalSize
orLocalSizeId
execution mode in shader modules or by the object decorated by theWorkgroupSize
decoration, must be less than or equal to this limit. -
maxTaskWorkGroupSize
the maximum size of a local task workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. Thex
,y
, andz
sizes, as specified by theLocalSize
orLocalSizeId
execution mode or by the object decorated by theWorkgroupSize
decoration in shader modules, must be less than or equal to the corresponding limit. -
maxTaskWorkGroupSize
public int maxTaskWorkGroupSize(int index) the maximum size of a local task workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. Thex
,y
, andz
sizes, as specified by theLocalSize
orLocalSizeId
execution mode or by the object decorated by theWorkgroupSize
decoration in shader modules, must be less than or equal to the corresponding limit. -
maxTaskTotalMemorySize
public int maxTaskTotalMemorySize()the maximum number of bytes that the task shader can use in total for shared and output memory combined. -
maxTaskOutputCount
public int maxTaskOutputCount()the maximum number of output tasks a single task shader workgroup can emit. -
maxMeshWorkGroupInvocations
public int maxMeshWorkGroupInvocations()the maximum total number of mesh shader invocations in a single local workgroup. The product of the X, Y, and Z sizes, as specified by theLocalSize
orLocalSizeId
execution mode in shader modules or by the object decorated by theWorkgroupSize
decoration, must be less than or equal to this limit. -
maxMeshWorkGroupSize
the maximum size of a local mesh workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. Thex
,y
, andz
sizes, as specified by theLocalSize
orLocalSizeId
execution mode or by the object decorated by theWorkgroupSize
decoration in shader modules, must be less than or equal to the corresponding limit. -
maxMeshWorkGroupSize
public int maxMeshWorkGroupSize(int index) the maximum size of a local mesh workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. Thex
,y
, andz
sizes, as specified by theLocalSize
orLocalSizeId
execution mode or by the object decorated by theWorkgroupSize
decoration in shader modules, must be less than or equal to the corresponding limit. -
maxMeshTotalMemorySize
public int maxMeshTotalMemorySize()the maximum number of bytes that the mesh shader can use in total for shared and output memory combined. -
maxMeshOutputVertices
public int maxMeshOutputVertices()the maximum number of vertices a mesh shader output can store. -
maxMeshOutputPrimitives
public int maxMeshOutputPrimitives()the maximum number of primitives a mesh shader output can store. -
maxMeshMultiviewViewCount
public int maxMeshMultiviewViewCount()the maximum number of multiview views a mesh shader can use. -
meshOutputPerVertexGranularity
public int meshOutputPerVertexGranularity()the granularity with which mesh vertex outputs are allocated. The value can be used to compute the memory size used by the mesh shader, which must be less than or equal tomaxMeshTotalMemorySize
. -
meshOutputPerPrimitiveGranularity
public int meshOutputPerPrimitiveGranularity()the granularity with which mesh outputs qualified as per-primitive are allocated. The value can be used to compute the memory size used by the mesh shader, which must be less than or equal tomaxMeshTotalMemorySize
. -
sType
Sets the specified value to thesType()
field. -
sType$Default
Sets theSTRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
value to thesType()
field. -
pNext
Sets the specified value to thepNext()
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 newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated withBufferUtils
. -
create
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer createSafe(long address, int capacity) -
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 VkPhysicalDeviceMeshShaderPropertiesNV.Buffer mallocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
@Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer callocStack(int capacity, MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newVkPhysicalDeviceMeshShaderPropertiesNV.Buffer
instance allocated on the specifiedMemoryStack
and 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()
. -
nmaxDrawMeshTasksCount
public static int nmaxDrawMeshTasksCount(long struct) Unsafe version ofmaxDrawMeshTasksCount()
. -
nmaxTaskWorkGroupInvocations
public static int nmaxTaskWorkGroupInvocations(long struct) Unsafe version ofmaxTaskWorkGroupInvocations()
. -
nmaxTaskWorkGroupSize
Unsafe version ofmaxTaskWorkGroupSize()
. -
nmaxTaskWorkGroupSize
public static int nmaxTaskWorkGroupSize(long struct, int index) Unsafe version ofmaxTaskWorkGroupSize
. -
nmaxTaskTotalMemorySize
public static int nmaxTaskTotalMemorySize(long struct) Unsafe version ofmaxTaskTotalMemorySize()
. -
nmaxTaskOutputCount
public static int nmaxTaskOutputCount(long struct) Unsafe version ofmaxTaskOutputCount()
. -
nmaxMeshWorkGroupInvocations
public static int nmaxMeshWorkGroupInvocations(long struct) Unsafe version ofmaxMeshWorkGroupInvocations()
. -
nmaxMeshWorkGroupSize
Unsafe version ofmaxMeshWorkGroupSize()
. -
nmaxMeshWorkGroupSize
public static int nmaxMeshWorkGroupSize(long struct, int index) Unsafe version ofmaxMeshWorkGroupSize
. -
nmaxMeshTotalMemorySize
public static int nmaxMeshTotalMemorySize(long struct) Unsafe version ofmaxMeshTotalMemorySize()
. -
nmaxMeshOutputVertices
public static int nmaxMeshOutputVertices(long struct) Unsafe version ofmaxMeshOutputVertices()
. -
nmaxMeshOutputPrimitives
public static int nmaxMeshOutputPrimitives(long struct) Unsafe version ofmaxMeshOutputPrimitives()
. -
nmaxMeshMultiviewViewCount
public static int nmaxMeshMultiviewViewCount(long struct) Unsafe version ofmaxMeshMultiviewViewCount()
. -
nmeshOutputPerVertexGranularity
public static int nmeshOutputPerVertexGranularity(long struct) Unsafe version ofmeshOutputPerVertexGranularity()
. -
nmeshOutputPerPrimitiveGranularity
public static int nmeshOutputPerPrimitiveGranularity(long struct) Unsafe version ofmeshOutputPerPrimitiveGranularity()
. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType
. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext
.
-