Class VkPhysicalDeviceMeshShaderPropertiesNV

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkPhysicalDeviceMeshShaderPropertiesNV>
org.lwjgl.vulkan.VkPhysicalDeviceMeshShaderPropertiesNV
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkPhysicalDeviceMeshShaderPropertiesNV extends org.lwjgl.system.Struct<VkPhysicalDeviceMeshShaderPropertiesNV> implements org.lwjgl.system.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)

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();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • STYPE

      public static final int STYPE
      The struct member offsets.
    • PNEXT

      public static final int PNEXT
      The struct member offsets.
    • MAXDRAWMESHTASKSCOUNT

      public static final int MAXDRAWMESHTASKSCOUNT
      The struct member offsets.
    • MAXTASKWORKGROUPINVOCATIONS

      public static final int MAXTASKWORKGROUPINVOCATIONS
      The struct member offsets.
    • MAXTASKWORKGROUPSIZE

      public static final int MAXTASKWORKGROUPSIZE
      The struct member offsets.
    • MAXTASKTOTALMEMORYSIZE

      public static final int MAXTASKTOTALMEMORYSIZE
      The struct member offsets.
    • MAXTASKOUTPUTCOUNT

      public static final int MAXTASKOUTPUTCOUNT
      The struct member offsets.
    • MAXMESHWORKGROUPINVOCATIONS

      public static final int MAXMESHWORKGROUPINVOCATIONS
      The struct member offsets.
    • MAXMESHWORKGROUPSIZE

      public static final int MAXMESHWORKGROUPSIZE
      The struct member offsets.
    • MAXMESHTOTALMEMORYSIZE

      public static final int MAXMESHTOTALMEMORYSIZE
      The struct member offsets.
    • MAXMESHOUTPUTVERTICES

      public static final int MAXMESHOUTPUTVERTICES
      The struct member offsets.
    • MAXMESHOUTPUTPRIMITIVES

      public static final int MAXMESHOUTPUTPRIMITIVES
      The struct member offsets.
    • MAXMESHMULTIVIEWVIEWCOUNT

      public static final int MAXMESHMULTIVIEWVIEWCOUNT
      The struct member offsets.
    • MESHOUTPUTPERVERTEXGRANULARITY

      public static final int MESHOUTPUTPERVERTEXGRANULARITY
      The struct member offsets.
    • MESHOUTPUTPERPRIMITIVEGRANULARITY

      public static final int MESHOUTPUTPERPRIMITIVEGRANULARITY
      The struct member offsets.
  • Constructor Details

    • VkPhysicalDeviceMeshShaderPropertiesNV

      public VkPhysicalDeviceMeshShaderPropertiesNV(ByteBuffer container)
      Creates a VkPhysicalDeviceMeshShaderPropertiesNV instance at the current position of the specified ByteBuffer 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()
      Specified by:
      sizeof in class org.lwjgl.system.Struct<VkPhysicalDeviceMeshShaderPropertiesNV>
    • sType

      public int sType()
      a VkStructureType 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 the LocalSize or LocalSizeId execution mode in shader modules or by the object decorated by the WorkgroupSize decoration, must be less than or equal to this limit.
    • maxTaskWorkGroupSize

      public IntBuffer 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. The x, y, and z sizes, as specified by the LocalSize or LocalSizeId execution mode or by the object decorated by the WorkgroupSize 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. The x, y, and z sizes, as specified by the LocalSize or LocalSizeId execution mode or by the object decorated by the WorkgroupSize 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 the LocalSize or LocalSizeId execution mode in shader modules or by the object decorated by the WorkgroupSize decoration, must be less than or equal to this limit.
    • maxMeshWorkGroupSize

      public IntBuffer 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. The x, y, and z sizes, as specified by the LocalSize or LocalSizeId execution mode or by the object decorated by the WorkgroupSize 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. The x, y, and z sizes, as specified by the LocalSize or LocalSizeId execution mode or by the object decorated by the WorkgroupSize 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 to maxMeshTotalMemorySize.
    • 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 to maxMeshTotalMemorySize.
    • sType

      public VkPhysicalDeviceMeshShaderPropertiesNV sType(int value)
      Sets the specified value to the sType() field.
    • sType$Default

    • pNext

      public VkPhysicalDeviceMeshShaderPropertiesNV pNext(long value)
      Sets the specified value to the pNext() field.
    • set

      public VkPhysicalDeviceMeshShaderPropertiesNV set(int sType, long pNext)
      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 new VkPhysicalDeviceMeshShaderPropertiesNV instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV instance allocated with BufferUtils.
    • create

      public static VkPhysicalDeviceMeshShaderPropertiesNV create(long address)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV instance for the specified memory address.
    • createSafe

      public static @Nullable VkPhysicalDeviceMeshShaderPropertiesNV createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer malloc(int capacity)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer calloc(int capacity)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer create(int capacity)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer create(long address, int capacity)
      Create a VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      public static @Nullable VkPhysicalDeviceMeshShaderPropertiesNV.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • mallocStack

      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV mallocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV callocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer mallocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer callocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • mallocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV malloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV calloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static VkPhysicalDeviceMeshShaderPropertiesNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkPhysicalDeviceMeshShaderPropertiesNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • nsType

      public static int nsType(long struct)
      Unsafe version of sType().
    • npNext

      public static long npNext(long struct)
      Unsafe version of pNext().
    • nmaxDrawMeshTasksCount

      public static int nmaxDrawMeshTasksCount(long struct)
      Unsafe version of maxDrawMeshTasksCount().
    • nmaxTaskWorkGroupInvocations

      public static int nmaxTaskWorkGroupInvocations(long struct)
    • nmaxTaskWorkGroupSize

      public static IntBuffer nmaxTaskWorkGroupSize(long struct)
      Unsafe version of maxTaskWorkGroupSize().
    • nmaxTaskWorkGroupSize

      public static int nmaxTaskWorkGroupSize(long struct, int index)
      Unsafe version of maxTaskWorkGroupSize.
    • nmaxTaskTotalMemorySize

      public static int nmaxTaskTotalMemorySize(long struct)
      Unsafe version of maxTaskTotalMemorySize().
    • nmaxTaskOutputCount

      public static int nmaxTaskOutputCount(long struct)
      Unsafe version of maxTaskOutputCount().
    • nmaxMeshWorkGroupInvocations

      public static int nmaxMeshWorkGroupInvocations(long struct)
    • nmaxMeshWorkGroupSize

      public static IntBuffer nmaxMeshWorkGroupSize(long struct)
      Unsafe version of maxMeshWorkGroupSize().
    • nmaxMeshWorkGroupSize

      public static int nmaxMeshWorkGroupSize(long struct, int index)
      Unsafe version of maxMeshWorkGroupSize.
    • nmaxMeshTotalMemorySize

      public static int nmaxMeshTotalMemorySize(long struct)
      Unsafe version of maxMeshTotalMemorySize().
    • nmaxMeshOutputVertices

      public static int nmaxMeshOutputVertices(long struct)
      Unsafe version of maxMeshOutputVertices().
    • nmaxMeshOutputPrimitives

      public static int nmaxMeshOutputPrimitives(long struct)
      Unsafe version of maxMeshOutputPrimitives().
    • nmaxMeshMultiviewViewCount

      public static int nmaxMeshMultiviewViewCount(long struct)
      Unsafe version of maxMeshMultiviewViewCount().
    • nmeshOutputPerVertexGranularity

      public static int nmeshOutputPerVertexGranularity(long struct)
    • nmeshOutputPerPrimitiveGranularity

      public static int nmeshOutputPerPrimitiveGranularity(long struct)
    • nsType

      public static void nsType(long struct, int value)
      Unsafe version of sType.
    • npNext

      public static void npNext(long struct, long value)
      Unsafe version of pNext.