Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkPhysicalDeviceMeshShaderPropertiesEXT

extends Struct<VkPhysicalDeviceMeshShaderPropertiesEXT>
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 describing mesh shading properties.
Description

If the VkPhysicalDeviceMeshShaderPropertiesEXT structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

Valid Usage (Implicit)

Layout


struct VkPhysicalDeviceMeshShaderPropertiesEXT {
    VkStructureType sType;
    void * pNext;
    uint32_t maxTaskWorkGroupTotalCount;
    uint32_t maxTaskWorkGroupCount[3];
    uint32_t maxTaskWorkGroupInvocations;
    uint32_t maxTaskWorkGroupSize[3];
    uint32_t maxTaskPayloadSize;
    uint32_t maxTaskSharedMemorySize;
    uint32_t maxTaskPayloadAndSharedMemorySize;
    uint32_t maxMeshWorkGroupTotalCount;
    uint32_t maxMeshWorkGroupCount[3];
    uint32_t maxMeshWorkGroupInvocations;
    uint32_t maxMeshWorkGroupSize[3];
    uint32_t maxMeshSharedMemorySize;
    uint32_t maxMeshPayloadAndSharedMemorySize;
    uint32_t maxMeshOutputMemorySize;
    uint32_t maxMeshPayloadAndOutputMemorySize;
    uint32_t maxMeshOutputComponents;
    uint32_t maxMeshOutputVertices;
    uint32_t maxMeshOutputPrimitives;
    uint32_t maxMeshOutputLayers;
    uint32_t maxMeshMultiviewViewCount;
    uint32_t meshOutputPerVertexGranularity;
    uint32_t meshOutputPerPrimitiveGranularity;
    uint32_t maxPreferredTaskWorkGroupInvocations;
    uint32_t maxPreferredMeshWorkGroupInvocations;
    VkBool32 prefersLocalInvocationVertexOutput;
    VkBool32 prefersLocalInvocationPrimitiveOutput;
    VkBool32 prefersCompactVertexOutput;
    VkBool32 prefersCompactPrimitiveOutput;
}

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
MAXMESHMULTIVIEWVIEWCOUNT

The struct member offsets.

public static final int
MAXMESHOUTPUTCOMPONENTS

The struct member offsets.

public static final int
MAXMESHOUTPUTLAYERS

The struct member offsets.

public static final int
MAXMESHOUTPUTMEMORYSIZE

The struct member offsets.

public static final int
MAXMESHOUTPUTPRIMITIVES

The struct member offsets.

public static final int
MAXMESHOUTPUTVERTICES

The struct member offsets.

public static final int
MAXMESHPAYLOADANDOUTPUTMEMORYSIZE

The struct member offsets.

public static final int
MAXMESHPAYLOADANDSHAREDMEMORYSIZE

The struct member offsets.

public static final int
MAXMESHSHAREDMEMORYSIZE

The struct member offsets.

public static final int
MAXMESHWORKGROUPCOUNT

The struct member offsets.

public static final int
MAXMESHWORKGROUPINVOCATIONS

The struct member offsets.

public static final int
MAXMESHWORKGROUPSIZE

The struct member offsets.

public static final int
MAXMESHWORKGROUPTOTALCOUNT

The struct member offsets.

public static final int
MAXPREFERREDMESHWORKGROUPINVOCATIONS

The struct member offsets.

public static final int
MAXPREFERREDTASKWORKGROUPINVOCATIONS

The struct member offsets.

public static final int
MAXTASKPAYLOADANDSHAREDMEMORYSIZE

The struct member offsets.

public static final int
MAXTASKPAYLOADSIZE

The struct member offsets.

public static final int
MAXTASKSHAREDMEMORYSIZE

The struct member offsets.

public static final int
MAXTASKWORKGROUPCOUNT

The struct member offsets.

public static final int
MAXTASKWORKGROUPINVOCATIONS

The struct member offsets.

public static final int
MAXTASKWORKGROUPSIZE

The struct member offsets.

public static final int
MAXTASKWORKGROUPTOTALCOUNT

The struct member offsets.

public static final int
MESHOUTPUTPERPRIMITIVEGRANULARITY

The struct member offsets.

public static final int
MESHOUTPUTPERVERTEXGRANULARITY

The struct member offsets.

public static final int
PNEXT

The struct member offsets.

public static final int
PREFERSCOMPACTPRIMITIVEOUTPUT

The struct member offsets.

public static final int
PREFERSCOMPACTVERTEXOUTPUT

The struct member offsets.

public static final int
PREFERSLOCALINVOCATIONPRIMITIVEOUTPUT

The struct member offsets.

public static final int
PREFERSLOCALINVOCATIONVERTEXOUTPUT

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
STYPE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
public
VkPhysicalDeviceMeshShaderPropertiesEXT(ByteBuffer container)

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

Method Summary

Modifier and TypeMethod and Description
public static VkPhysicalDeviceMeshShaderPropertiesEXT
calloc()

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT instance allocated with memCalloc.

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

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT.Buffer instance allocated with memCalloc.

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

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

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

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

protected VkPhysicalDeviceMeshShaderPropertiesEXT
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 VkPhysicalDeviceMeshShaderPropertiesEXT
create()

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT instance allocated with BufferUtils.

public static VkPhysicalDeviceMeshShaderPropertiesEXT
create(long address)

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT instance for the specified memory address.

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

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT.Buffer instance allocated with BufferUtils.

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

Create a VkPhysicalDeviceMeshShaderPropertiesEXT.Buffer instance at the specified memory.

public static VkPhysicalDeviceMeshShaderPropertiesEXT
createSafe(long address)

Like create, but returns null if address is NULL.

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

Like create, but returns null if address is NULL.

public static VkPhysicalDeviceMeshShaderPropertiesEXT
malloc()

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT instance allocated with memAlloc.

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

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT.Buffer instance allocated with memAlloc.

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

Returns a new VkPhysicalDeviceMeshShaderPropertiesEXT instance allocated on the specified MemoryStack.

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

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

public int
maxMeshMultiviewViewCount()

one greater than the maximum view index that can be used by any mesh shader.

public int
maxMeshOutputComponents()

the maximum number of components of output variables which can be output from the mesh shader stage.

public int
maxMeshOutputLayers()

one greater than the maximum layer index that can be output from the mesh shader stage.

public int
maxMeshOutputMemorySize()

the maximum total storage size, in bytes, available for output variables in shader modules in the mesh shader stage, according to the formula in Mesh Shader Output.

public int
maxMeshOutputPrimitives()

the maximum number of primitives which can be emitted by a single mesh shader workgroup.

public int
maxMeshOutputVertices()

the maximum number of vertices which can be emitted by a single mesh shader workgroup.

public int
maxMeshPayloadAndOutputMemorySize()

the maximum total storage size, in bytes, available for variables that are declared with the TaskPayloadWorkgroupEXT storage class, or output variables in shader modules in the mesh shader stage, according to the formula in Mesh Shader Output.

public int
maxMeshPayloadAndSharedMemorySize()

the maximum total storage size, in bytes, available for variables that are declared with the TaskPayloadWorkgroupEXT or Workgroup storage class in shader modules in the mesh shader stage.

public int
maxMeshSharedMemorySize()

the maximum total storage size, in bytes, available for variables declared with the Workgroup storage class in shader modules in the mesh shader stage.

public IntBuffer
maxMeshWorkGroupCount()

the maximum number of local output tasks a single task shader workgroup can emit, per dimension.

public int
maxMeshWorkGroupCount(int index)

the maximum number of local output tasks a single task shader workgroup can emit, per dimension.

public int
maxMeshWorkGroupInvocations()

the maximum total number of mesh shader invocations in a single local workgroup.

public IntBuffer
maxMeshWorkGroupSize()

the maximum size of a local mesh workgroup, per dimension.

public int
maxMeshWorkGroupSize(int index)

the maximum size of a local mesh workgroup, per dimension.

public int
maxMeshWorkGroupTotalCount()

the maximum number of local output tasks a single task shader workgroup can emit.

public int
maxPreferredMeshWorkGroupInvocations()

the maximum number of mesh shader invocations in a single workgroup that is preferred by the implementation for optimal performance.

public int
maxPreferredTaskWorkGroupInvocations()

the maximum number of task shader invocations in a single workgroup that is preferred by the implementation for optimal performance.

public int
maxTaskPayloadAndSharedMemorySize()

the maximum total storage size, in bytes, available for variables that are declared with the TaskPayloadWorkgroupEXT or Workgroup storage class, in shader modules in the task shader stage.

public int
maxTaskPayloadSize()

the maximum total storage size, in bytes, available for variables declared with the TaskPayloadWorkgroupEXT storage class in shader modules in the task shader stage.

public int
maxTaskSharedMemorySize()

the maximum total storage size, in bytes, available for variables declared with the Workgroup storage class in shader modules in the task shader stage.

public IntBuffer
maxTaskWorkGroupCount()

the maximum number of local workgroups that can be launched by a single mesh tasks drawing command.

public int
maxTaskWorkGroupCount(int index)

the maximum number of local workgroups that can be launched by a single mesh tasks drawing command.

public int
maxTaskWorkGroupInvocations()

the maximum total number of task shader invocations in a single local workgroup.

public IntBuffer
maxTaskWorkGroupSize()

the maximum size of a local task workgroup, per dimension.

public int
maxTaskWorkGroupSize(int index)

the maximum size of a local task workgroup, per dimension.

public int
maxTaskWorkGroupTotalCount()

the maximum number of total local workgroups that can be launched by a single mesh tasks drawing command.

public int
meshOutputPerPrimitiveGranularity()

the granularity of primitive allocation.

public int
meshOutputPerVertexGranularity()

the granularity of vertex allocation.

public static int
public static int
nmaxMeshOutputComponents(long struct)

Unsafe version of maxMeshOutputComponents.

public static int
nmaxMeshOutputLayers(long struct)

Unsafe version of maxMeshOutputLayers.

public static int
nmaxMeshOutputMemorySize(long struct)

Unsafe version of maxMeshOutputMemorySize.

public static int
nmaxMeshOutputPrimitives(long struct)

Unsafe version of maxMeshOutputPrimitives.

public static int
nmaxMeshOutputVertices(long struct)

Unsafe version of maxMeshOutputVertices.

public static int
public static int
public static int
nmaxMeshSharedMemorySize(long struct)

Unsafe version of maxMeshSharedMemorySize.

public static IntBuffer
nmaxMeshWorkGroupCount(long struct)

Unsafe version of maxMeshWorkGroupCount.

public static int
nmaxMeshWorkGroupCount(long struct, int index)

Unsafe version of maxMeshWorkGroupCount.

public static int
public static IntBuffer
nmaxMeshWorkGroupSize(long struct)

Unsafe version of maxMeshWorkGroupSize.

public static int
nmaxMeshWorkGroupSize(long struct, int index)

Unsafe version of maxMeshWorkGroupSize.

public static int
public static int
public static int
public static int
public static int
nmaxTaskPayloadSize(long struct)

Unsafe version of maxTaskPayloadSize.

public static int
nmaxTaskSharedMemorySize(long struct)

Unsafe version of maxTaskSharedMemorySize.

public static IntBuffer
nmaxTaskWorkGroupCount(long struct)

Unsafe version of maxTaskWorkGroupCount.

public static int
nmaxTaskWorkGroupCount(long struct, int index)

Unsafe version of maxTaskWorkGroupCount.

public static int
public static IntBuffer
nmaxTaskWorkGroupSize(long struct)

Unsafe version of maxTaskWorkGroupSize.

public static int
nmaxTaskWorkGroupSize(long struct, int index)

Unsafe version of maxTaskWorkGroupSize.

public static int
public static int
public static int
public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static int
public static int
public static int
public static int
public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkPhysicalDeviceMeshShaderPropertiesEXT
pNext(long value)

Sets the specified value to the pNext field.

public boolean
prefersCompactPrimitiveOutput()

specifies whether output primitives should be compacted after custom culling in the mesh shader for best performance, otherwise the use of CullPrimitiveEXT may be better.

public boolean
prefersCompactVertexOutput()

specifies whether output vertices should be compacted after custom culling in the mesh shader for best performance, otherwise keeping the vertices at their original location may be better.

public boolean
prefersLocalInvocationPrimitiveOutput()

specifies whether writes to the primitive output array in a mesh shader yield best performance when the array index matches LocalInvocationIndex.

public boolean
prefersLocalInvocationVertexOutput()

specifies whether writes to the vertex output array in a mesh shader yield best performance when the array index matches LocalInvocationIndex.

public VkPhysicalDeviceMeshShaderPropertiesEXT
set(int sType, long pNext)

Initializes this struct with the specified values.

public VkPhysicalDeviceMeshShaderPropertiesEXT

Returns:

this struct
set
(VkPhysicalDeviceMeshShaderPropertiesEXT
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 int
sType()

a VkStructureType value identifying this structure.

public VkPhysicalDeviceMeshShaderPropertiesEXT
sType(int value)

Sets the specified value to the sType field.

public VkPhysicalDeviceMeshShaderPropertiesEXT
Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate