Record Class VkShaderStatisticsInfoAMD

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkShaderStatisticsInfoAMD
All Implemented Interfaces:
IPointer, IVkShaderStatisticsInfoAMD

@ValueBasedCandidate @UnsafeConstructor public record VkShaderStatisticsInfoAMD(@NotNull MemorySegment segment) extends Record implements IVkShaderStatisticsInfoAMD

Represents a pointer to a VkShaderStatisticsInfoAMD structure in native memory.

Structure

typedef struct VkShaderStatisticsInfoAMD {
    VkShaderStageFlags shaderStageMask;
    VkShaderResourceUsageAMD resourceUsage;
    uint32_t numPhysicalVgprs;
    uint32_t numPhysicalSgprs;
    uint32_t numAvailableVgprs;
    uint32_t numAvailableSgprs;
    uint32_t[3] computeWorkGroupSize;
} VkShaderStatisticsInfoAMD;

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$shaderStageMask

      public static final MemoryLayout.PathElement PATH$shaderStageMask
    • PATH$resourceUsage

      public static final MemoryLayout.PathElement PATH$resourceUsage
    • PATH$numPhysicalVgprs

      public static final MemoryLayout.PathElement PATH$numPhysicalVgprs
    • PATH$numPhysicalSgprs

      public static final MemoryLayout.PathElement PATH$numPhysicalSgprs
    • PATH$numAvailableVgprs

      public static final MemoryLayout.PathElement PATH$numAvailableVgprs
    • PATH$numAvailableSgprs

      public static final MemoryLayout.PathElement PATH$numAvailableSgprs
    • PATH$computeWorkGroupSize

      public static final MemoryLayout.PathElement PATH$computeWorkGroupSize
    • LAYOUT$shaderStageMask

      public static final ValueLayout.OfInt LAYOUT$shaderStageMask
    • LAYOUT$resourceUsage

      public static final StructLayout LAYOUT$resourceUsage
    • LAYOUT$numPhysicalVgprs

      public static final ValueLayout.OfInt LAYOUT$numPhysicalVgprs
    • LAYOUT$numPhysicalSgprs

      public static final ValueLayout.OfInt LAYOUT$numPhysicalSgprs
    • LAYOUT$numAvailableVgprs

      public static final ValueLayout.OfInt LAYOUT$numAvailableVgprs
    • LAYOUT$numAvailableSgprs

      public static final ValueLayout.OfInt LAYOUT$numAvailableSgprs
    • LAYOUT$computeWorkGroupSize

      public static final SequenceLayout LAYOUT$computeWorkGroupSize
    • SIZE$shaderStageMask

      public static final long SIZE$shaderStageMask
    • SIZE$resourceUsage

      public static final long SIZE$resourceUsage
    • SIZE$numPhysicalVgprs

      public static final long SIZE$numPhysicalVgprs
    • SIZE$numPhysicalSgprs

      public static final long SIZE$numPhysicalSgprs
    • SIZE$numAvailableVgprs

      public static final long SIZE$numAvailableVgprs
    • SIZE$numAvailableSgprs

      public static final long SIZE$numAvailableSgprs
    • SIZE$computeWorkGroupSize

      public static final long SIZE$computeWorkGroupSize
    • OFFSET$shaderStageMask

      public static final long OFFSET$shaderStageMask
    • OFFSET$resourceUsage

      public static final long OFFSET$resourceUsage
    • OFFSET$numPhysicalVgprs

      public static final long OFFSET$numPhysicalVgprs
    • OFFSET$numPhysicalSgprs

      public static final long OFFSET$numPhysicalSgprs
    • OFFSET$numAvailableVgprs

      public static final long OFFSET$numAvailableVgprs
    • OFFSET$numAvailableSgprs

      public static final long OFFSET$numAvailableSgprs
    • OFFSET$computeWorkGroupSize

      public static final long OFFSET$computeWorkGroupSize
  • Constructor Details

    • VkShaderStatisticsInfoAMD

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