Record Class VkCudaLaunchInfoNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkCudaLaunchInfoNV
All Implemented Interfaces:
IPointer, IVkCudaLaunchInfoNV

@ValueBasedCandidate @UnsafeConstructor public record VkCudaLaunchInfoNV(@NotNull MemorySegment segment) extends Record implements IVkCudaLaunchInfoNV

Represents a pointer to a VkCudaLaunchInfoNV structure in native memory.

Structure

typedef struct VkCudaLaunchInfoNV {
    VkStructureType sType;
    void const* pNext; // optional
    VkCudaFunctionNV function;
    uint32_t gridDimX;
    uint32_t gridDimY;
    uint32_t gridDimZ;
    uint32_t blockDimX;
    uint32_t blockDimY;
    uint32_t blockDimZ;
    uint32_t sharedMemBytes;
    size_t paramCount; // optional
    void const* pParams;
    size_t extraCount; // optional
    void const* pExtras;
} VkCudaLaunchInfoNV;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_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$function

      public static final MemoryLayout.PathElement PATH$function
    • PATH$gridDimX

      public static final MemoryLayout.PathElement PATH$gridDimX
    • PATH$gridDimY

      public static final MemoryLayout.PathElement PATH$gridDimY
    • PATH$gridDimZ

      public static final MemoryLayout.PathElement PATH$gridDimZ
    • PATH$blockDimX

      public static final MemoryLayout.PathElement PATH$blockDimX
    • PATH$blockDimY

      public static final MemoryLayout.PathElement PATH$blockDimY
    • PATH$blockDimZ

      public static final MemoryLayout.PathElement PATH$blockDimZ
    • PATH$sharedMemBytes

      public static final MemoryLayout.PathElement PATH$sharedMemBytes
    • PATH$paramCount

      public static final MemoryLayout.PathElement PATH$paramCount
    • PATH$pParams

      public static final MemoryLayout.PathElement PATH$pParams
    • PATH$extraCount

      public static final MemoryLayout.PathElement PATH$extraCount
    • PATH$pExtras

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$function

      public static final AddressLayout LAYOUT$function
    • LAYOUT$gridDimX

      public static final ValueLayout.OfInt LAYOUT$gridDimX
    • LAYOUT$gridDimY

      public static final ValueLayout.OfInt LAYOUT$gridDimY
    • LAYOUT$gridDimZ

      public static final ValueLayout.OfInt LAYOUT$gridDimZ
    • LAYOUT$blockDimX

      public static final ValueLayout.OfInt LAYOUT$blockDimX
    • LAYOUT$blockDimY

      public static final ValueLayout.OfInt LAYOUT$blockDimY
    • LAYOUT$blockDimZ

      public static final ValueLayout.OfInt LAYOUT$blockDimZ
    • LAYOUT$sharedMemBytes

      public static final ValueLayout.OfInt LAYOUT$sharedMemBytes
    • LAYOUT$pParams

      public static final AddressLayout LAYOUT$pParams
    • LAYOUT$pExtras

      public static final AddressLayout LAYOUT$pExtras
    • SIZE$sType

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$function

      public static final long SIZE$function
    • SIZE$gridDimX

      public static final long SIZE$gridDimX
    • SIZE$gridDimY

      public static final long SIZE$gridDimY
    • SIZE$gridDimZ

      public static final long SIZE$gridDimZ
    • SIZE$blockDimX

      public static final long SIZE$blockDimX
    • SIZE$blockDimY

      public static final long SIZE$blockDimY
    • SIZE$blockDimZ

      public static final long SIZE$blockDimZ
    • SIZE$sharedMemBytes

      public static final long SIZE$sharedMemBytes
    • SIZE$paramCount

      public static final long SIZE$paramCount
    • SIZE$pParams

      public static final long SIZE$pParams
    • SIZE$extraCount

      public static final long SIZE$extraCount
    • SIZE$pExtras

      public static final long SIZE$pExtras
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$function

      public static final long OFFSET$function
    • OFFSET$gridDimX

      public static final long OFFSET$gridDimX
    • OFFSET$gridDimY

      public static final long OFFSET$gridDimY
    • OFFSET$gridDimZ

      public static final long OFFSET$gridDimZ
    • OFFSET$blockDimX

      public static final long OFFSET$blockDimX
    • OFFSET$blockDimY

      public static final long OFFSET$blockDimY
    • OFFSET$blockDimZ

      public static final long OFFSET$blockDimZ
    • OFFSET$sharedMemBytes

      public static final long OFFSET$sharedMemBytes
    • OFFSET$paramCount

      public static final long OFFSET$paramCount
    • OFFSET$pParams

      public static final long OFFSET$pParams
    • OFFSET$extraCount

      public static final long OFFSET$extraCount
    • OFFSET$pExtras

      public static final long OFFSET$pExtras
  • Constructor Details

    • VkCudaLaunchInfoNV

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