Record Class VkLatencyTimingsFrameReportNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkLatencyTimingsFrameReportNV
All Implemented Interfaces:
IPointer, IVkLatencyTimingsFrameReportNV

@ValueBasedCandidate @UnsafeConstructor public record VkLatencyTimingsFrameReportNV(@NotNull MemorySegment segment) extends Record implements IVkLatencyTimingsFrameReportNV

Represents a pointer to a VkLatencyTimingsFrameReportNV structure in native memory.

Structure

typedef struct VkLatencyTimingsFrameReportNV {
    VkStructureType sType;
    void const* pNext; // optional
    uint64_t presentID;
    uint64_t inputSampleTimeUs;
    uint64_t simStartTimeUs;
    uint64_t simEndTimeUs;
    uint64_t renderSubmitStartTimeUs;
    uint64_t renderSubmitEndTimeUs;
    uint64_t presentStartTimeUs;
    uint64_t presentEndTimeUs;
    uint64_t driverStartTimeUs;
    uint64_t driverEndTimeUs;
    uint64_t osRenderQueueStartTimeUs;
    uint64_t osRenderQueueEndTimeUs;
    uint64_t gpuRenderStartTimeUs;
    uint64_t gpuRenderEndTimeUs;
} VkLatencyTimingsFrameReportNV;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_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$presentID

      public static final MemoryLayout.PathElement PATH$presentID
    • PATH$inputSampleTimeUs

      public static final MemoryLayout.PathElement PATH$inputSampleTimeUs
    • PATH$simStartTimeUs

      public static final MemoryLayout.PathElement PATH$simStartTimeUs
    • PATH$simEndTimeUs

      public static final MemoryLayout.PathElement PATH$simEndTimeUs
    • PATH$renderSubmitStartTimeUs

      public static final MemoryLayout.PathElement PATH$renderSubmitStartTimeUs
    • PATH$renderSubmitEndTimeUs

      public static final MemoryLayout.PathElement PATH$renderSubmitEndTimeUs
    • PATH$presentStartTimeUs

      public static final MemoryLayout.PathElement PATH$presentStartTimeUs
    • PATH$presentEndTimeUs

      public static final MemoryLayout.PathElement PATH$presentEndTimeUs
    • PATH$driverStartTimeUs

      public static final MemoryLayout.PathElement PATH$driverStartTimeUs
    • PATH$driverEndTimeUs

      public static final MemoryLayout.PathElement PATH$driverEndTimeUs
    • PATH$osRenderQueueStartTimeUs

      public static final MemoryLayout.PathElement PATH$osRenderQueueStartTimeUs
    • PATH$osRenderQueueEndTimeUs

      public static final MemoryLayout.PathElement PATH$osRenderQueueEndTimeUs
    • PATH$gpuRenderStartTimeUs

      public static final MemoryLayout.PathElement PATH$gpuRenderStartTimeUs
    • PATH$gpuRenderEndTimeUs

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$presentID

      public static final ValueLayout.OfLong LAYOUT$presentID
    • LAYOUT$inputSampleTimeUs

      public static final ValueLayout.OfLong LAYOUT$inputSampleTimeUs
    • LAYOUT$simStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$simStartTimeUs
    • LAYOUT$simEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$simEndTimeUs
    • LAYOUT$renderSubmitStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$renderSubmitStartTimeUs
    • LAYOUT$renderSubmitEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$renderSubmitEndTimeUs
    • LAYOUT$presentStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$presentStartTimeUs
    • LAYOUT$presentEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$presentEndTimeUs
    • LAYOUT$driverStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$driverStartTimeUs
    • LAYOUT$driverEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$driverEndTimeUs
    • LAYOUT$osRenderQueueStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$osRenderQueueStartTimeUs
    • LAYOUT$osRenderQueueEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$osRenderQueueEndTimeUs
    • LAYOUT$gpuRenderStartTimeUs

      public static final ValueLayout.OfLong LAYOUT$gpuRenderStartTimeUs
    • LAYOUT$gpuRenderEndTimeUs

      public static final ValueLayout.OfLong LAYOUT$gpuRenderEndTimeUs
    • SIZE$sType

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$presentID

      public static final long SIZE$presentID
    • SIZE$inputSampleTimeUs

      public static final long SIZE$inputSampleTimeUs
    • SIZE$simStartTimeUs

      public static final long SIZE$simStartTimeUs
    • SIZE$simEndTimeUs

      public static final long SIZE$simEndTimeUs
    • SIZE$renderSubmitStartTimeUs

      public static final long SIZE$renderSubmitStartTimeUs
    • SIZE$renderSubmitEndTimeUs

      public static final long SIZE$renderSubmitEndTimeUs
    • SIZE$presentStartTimeUs

      public static final long SIZE$presentStartTimeUs
    • SIZE$presentEndTimeUs

      public static final long SIZE$presentEndTimeUs
    • SIZE$driverStartTimeUs

      public static final long SIZE$driverStartTimeUs
    • SIZE$driverEndTimeUs

      public static final long SIZE$driverEndTimeUs
    • SIZE$osRenderQueueStartTimeUs

      public static final long SIZE$osRenderQueueStartTimeUs
    • SIZE$osRenderQueueEndTimeUs

      public static final long SIZE$osRenderQueueEndTimeUs
    • SIZE$gpuRenderStartTimeUs

      public static final long SIZE$gpuRenderStartTimeUs
    • SIZE$gpuRenderEndTimeUs

      public static final long SIZE$gpuRenderEndTimeUs
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$presentID

      public static final long OFFSET$presentID
    • OFFSET$inputSampleTimeUs

      public static final long OFFSET$inputSampleTimeUs
    • OFFSET$simStartTimeUs

      public static final long OFFSET$simStartTimeUs
    • OFFSET$simEndTimeUs

      public static final long OFFSET$simEndTimeUs
    • OFFSET$renderSubmitStartTimeUs

      public static final long OFFSET$renderSubmitStartTimeUs
    • OFFSET$renderSubmitEndTimeUs

      public static final long OFFSET$renderSubmitEndTimeUs
    • OFFSET$presentStartTimeUs

      public static final long OFFSET$presentStartTimeUs
    • OFFSET$presentEndTimeUs

      public static final long OFFSET$presentEndTimeUs
    • OFFSET$driverStartTimeUs

      public static final long OFFSET$driverStartTimeUs
    • OFFSET$driverEndTimeUs

      public static final long OFFSET$driverEndTimeUs
    • OFFSET$osRenderQueueStartTimeUs

      public static final long OFFSET$osRenderQueueStartTimeUs
    • OFFSET$osRenderQueueEndTimeUs

      public static final long OFFSET$osRenderQueueEndTimeUs
    • OFFSET$gpuRenderStartTimeUs

      public static final long OFFSET$gpuRenderStartTimeUs
    • OFFSET$gpuRenderEndTimeUs

      public static final long OFFSET$gpuRenderEndTimeUs
  • Constructor Details

    • VkLatencyTimingsFrameReportNV

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