Record Class VkPhysicalDeviceMeshShaderPropertiesNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceMeshShaderPropertiesNV
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceMeshShaderPropertiesNV

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceMeshShaderPropertiesNV(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceMeshShaderPropertiesNV

Represents a pointer to a VkPhysicalDeviceMeshShaderPropertiesNV structure in native memory.

Structure

typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
    VkStructureType sType;
    void* pNext; // optional
    uint32_t maxDrawMeshTasksCount;
    uint32_t maxTaskWorkGroupInvocations;
    uint32_t[3] maxTaskWorkGroupSize;
    uint32_t maxTaskTotalMemorySize;
    uint32_t maxTaskOutputCount;
    uint32_t maxMeshWorkGroupInvocations;
    uint32_t[3] maxMeshWorkGroupSize;
    uint32_t maxMeshTotalMemorySize;
    uint32_t maxMeshOutputVertices;
    uint32_t maxMeshOutputPrimitives;
    uint32_t maxMeshMultiviewViewCount;
    uint32_t meshOutputPerVertexGranularity;
    uint32_t meshOutputPerPrimitiveGranularity;
} VkPhysicalDeviceMeshShaderPropertiesNV;

Auto initialization

This structure has the following members that can be automatically initialized:

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV

The allocate (allocate(Arena), allocate(Arena, long)) functions will automatically initialize these fields. Also, you may call autoInit() to initialize these fields manually for non-allocated instances.

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also:
  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$sType

      public static final MemoryLayout.PathElement PATH$sType
    • PATH$pNext

      public static final MemoryLayout.PathElement PATH$pNext
    • PATH$maxDrawMeshTasksCount

      public static final MemoryLayout.PathElement PATH$maxDrawMeshTasksCount
    • PATH$maxTaskWorkGroupInvocations

      public static final MemoryLayout.PathElement PATH$maxTaskWorkGroupInvocations
    • PATH$maxTaskWorkGroupSize

      public static final MemoryLayout.PathElement PATH$maxTaskWorkGroupSize
    • PATH$maxTaskTotalMemorySize

      public static final MemoryLayout.PathElement PATH$maxTaskTotalMemorySize
    • PATH$maxTaskOutputCount

      public static final MemoryLayout.PathElement PATH$maxTaskOutputCount
    • PATH$maxMeshWorkGroupInvocations

      public static final MemoryLayout.PathElement PATH$maxMeshWorkGroupInvocations
    • PATH$maxMeshWorkGroupSize

      public static final MemoryLayout.PathElement PATH$maxMeshWorkGroupSize
    • PATH$maxMeshTotalMemorySize

      public static final MemoryLayout.PathElement PATH$maxMeshTotalMemorySize
    • PATH$maxMeshOutputVertices

      public static final MemoryLayout.PathElement PATH$maxMeshOutputVertices
    • PATH$maxMeshOutputPrimitives

      public static final MemoryLayout.PathElement PATH$maxMeshOutputPrimitives
    • PATH$maxMeshMultiviewViewCount

      public static final MemoryLayout.PathElement PATH$maxMeshMultiviewViewCount
    • PATH$meshOutputPerVertexGranularity

      public static final MemoryLayout.PathElement PATH$meshOutputPerVertexGranularity
    • PATH$meshOutputPerPrimitiveGranularity

      public static final MemoryLayout.PathElement PATH$meshOutputPerPrimitiveGranularity
    • LAYOUT$sType

      public static final ValueLayout.OfInt LAYOUT$sType
    • LAYOUT$pNext

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$maxDrawMeshTasksCount

      public static final ValueLayout.OfInt LAYOUT$maxDrawMeshTasksCount
    • LAYOUT$maxTaskWorkGroupInvocations

      public static final ValueLayout.OfInt LAYOUT$maxTaskWorkGroupInvocations
    • LAYOUT$maxTaskWorkGroupSize

      public static final SequenceLayout LAYOUT$maxTaskWorkGroupSize
    • LAYOUT$maxTaskTotalMemorySize

      public static final ValueLayout.OfInt LAYOUT$maxTaskTotalMemorySize
    • LAYOUT$maxTaskOutputCount

      public static final ValueLayout.OfInt LAYOUT$maxTaskOutputCount
    • LAYOUT$maxMeshWorkGroupInvocations

      public static final ValueLayout.OfInt LAYOUT$maxMeshWorkGroupInvocations
    • LAYOUT$maxMeshWorkGroupSize

      public static final SequenceLayout LAYOUT$maxMeshWorkGroupSize
    • LAYOUT$maxMeshTotalMemorySize

      public static final ValueLayout.OfInt LAYOUT$maxMeshTotalMemorySize
    • LAYOUT$maxMeshOutputVertices

      public static final ValueLayout.OfInt LAYOUT$maxMeshOutputVertices
    • LAYOUT$maxMeshOutputPrimitives

      public static final ValueLayout.OfInt LAYOUT$maxMeshOutputPrimitives
    • LAYOUT$maxMeshMultiviewViewCount

      public static final ValueLayout.OfInt LAYOUT$maxMeshMultiviewViewCount
    • LAYOUT$meshOutputPerVertexGranularity

      public static final ValueLayout.OfInt LAYOUT$meshOutputPerVertexGranularity
    • LAYOUT$meshOutputPerPrimitiveGranularity

      public static final ValueLayout.OfInt LAYOUT$meshOutputPerPrimitiveGranularity
    • SIZE$sType

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$maxDrawMeshTasksCount

      public static final long SIZE$maxDrawMeshTasksCount
    • SIZE$maxTaskWorkGroupInvocations

      public static final long SIZE$maxTaskWorkGroupInvocations
    • SIZE$maxTaskWorkGroupSize

      public static final long SIZE$maxTaskWorkGroupSize
    • SIZE$maxTaskTotalMemorySize

      public static final long SIZE$maxTaskTotalMemorySize
    • SIZE$maxTaskOutputCount

      public static final long SIZE$maxTaskOutputCount
    • SIZE$maxMeshWorkGroupInvocations

      public static final long SIZE$maxMeshWorkGroupInvocations
    • SIZE$maxMeshWorkGroupSize

      public static final long SIZE$maxMeshWorkGroupSize
    • SIZE$maxMeshTotalMemorySize

      public static final long SIZE$maxMeshTotalMemorySize
    • SIZE$maxMeshOutputVertices

      public static final long SIZE$maxMeshOutputVertices
    • SIZE$maxMeshOutputPrimitives

      public static final long SIZE$maxMeshOutputPrimitives
    • SIZE$maxMeshMultiviewViewCount

      public static final long SIZE$maxMeshMultiviewViewCount
    • SIZE$meshOutputPerVertexGranularity

      public static final long SIZE$meshOutputPerVertexGranularity
    • SIZE$meshOutputPerPrimitiveGranularity

      public static final long SIZE$meshOutputPerPrimitiveGranularity
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$maxDrawMeshTasksCount

      public static final long OFFSET$maxDrawMeshTasksCount
    • OFFSET$maxTaskWorkGroupInvocations

      public static final long OFFSET$maxTaskWorkGroupInvocations
    • OFFSET$maxTaskWorkGroupSize

      public static final long OFFSET$maxTaskWorkGroupSize
    • OFFSET$maxTaskTotalMemorySize

      public static final long OFFSET$maxTaskTotalMemorySize
    • OFFSET$maxTaskOutputCount

      public static final long OFFSET$maxTaskOutputCount
    • OFFSET$maxMeshWorkGroupInvocations

      public static final long OFFSET$maxMeshWorkGroupInvocations
    • OFFSET$maxMeshWorkGroupSize

      public static final long OFFSET$maxMeshWorkGroupSize
    • OFFSET$maxMeshTotalMemorySize

      public static final long OFFSET$maxMeshTotalMemorySize
    • OFFSET$maxMeshOutputVertices

      public static final long OFFSET$maxMeshOutputVertices
    • OFFSET$maxMeshOutputPrimitives

      public static final long OFFSET$maxMeshOutputPrimitives
    • OFFSET$maxMeshMultiviewViewCount

      public static final long OFFSET$maxMeshMultiviewViewCount
    • OFFSET$meshOutputPerVertexGranularity

      public static final long OFFSET$meshOutputPerVertexGranularity
    • OFFSET$meshOutputPerPrimitiveGranularity

      public static final long OFFSET$meshOutputPerPrimitiveGranularity
  • Constructor Details

    • VkPhysicalDeviceMeshShaderPropertiesNV

      public VkPhysicalDeviceMeshShaderPropertiesNV(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a VkPhysicalDeviceMeshShaderPropertiesNV record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details