Skip to content

ludus::graphics::rhi::AllocationTelemetry

Ludus Wiki · API overview · Browse API

Struct

Allocation telemetry scoped to general raster/compute buffers and textures (including depth and retained texture-upload allocations); excludes facade/surface, transfer rings and ray objects. R11 descriptor counts/reservations are a separate scope; descriptor driver bytes remain unavailable.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

#include <ludus/graphics/rhi/measurement.h>
struct ludus::graphics::rhi::AllocationTelemetry final

Fields

LogicalBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::LogicalBytes = 0
Current R6 logical resource bytes in this scope, including deferred retirement.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

ApiBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::ApiBytes = 0
Sum of resource API allocation/binding sizes, including native padding. Vulkan reports VMA suballocation spans; this excludes allocator block slack (see AllocatorBlockBytes). Meaningful only when ApiBytesAvailable; WebGPU/WebGL texture backing is opaque.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

PeakObservedApiBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::PeakObservedApiBytes = 0
Maximum observed API allocation bytes in this session, sampled at each query. This is a sampled peak, not a guarantee that intervening allocations were observed.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

RetiringApiBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::RetiringApiBytes = 0
API allocations still alive whose public resource identity has been destroyed.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

ApiBytesAvailable

bool ludus::graphics::rhi::AllocationTelemetry::ApiBytesAvailable = false
True only if the entire stated scope exposes API allocation sizes.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

AllocatorBlockBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::AllocatorBlockBytes = 0
Actual vkAllocateMemory block bytes owned by the Vulkan raster allocator, including unused pool slack, transfer rings and ray allocations in that allocator. Excludes facade/ swapchain allocations. This broader scope is not the sum of ApiBytes above. Meaningful only when AllocatorBlockBytesAvailable; unavailable on other backends.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

PeakObservedAllocatorBlockBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::PeakObservedAllocatorBlockBytes = 0
Maximum observed allocator block bytes in this session, sampled at each query.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

AllocatorBlockBytesAvailable

bool ludus::graphics::rhi::AllocationTelemetry::AllocatorBlockBytesAvailable = false
Whether actual allocator block bytes can be observed in the stated broader scope.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

PhysicalBytes

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::PhysicalBytes = 0
Physical/resident bytes; meaningful only when PhysicalBytesAvailable.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

PhysicalBytesAvailable

bool ludus::graphics::rhi::AllocationTelemetry::PhysicalBytesAvailable = false
Whether actual physical residency can be observed. Currently false on all backends.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

BindingDescriptors

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::BindingDescriptors = 0
Populated binding descriptors, including pending/detached/in-flight snapshots.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

RetiringBindingDescriptors

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::RetiringBindingDescriptors = 0
Populated descriptors retained after their snapshot owner was destroyed.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

DescriptorArenaPools

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::DescriptorArenaPools = 0
Native shared descriptor pools alive; meaningful only when DescriptorArenasAvailable.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

ReservedArenaDescriptors

foundation::uint64 ludus::graphics::rhi::AllocationTelemetry::ReservedArenaDescriptors = 0
Descriptor slots reserved by those native pools, including unused capacity. Counts are not driver allocation bytes or physical memory measurements.

Related types: foundation::uint64

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h

DescriptorArenasAvailable

bool ludus::graphics::rhi::AllocationTelemetry::DescriptorArenasAvailable = false
Whether shared native descriptor arena reservations can be queried (Vulkan only).

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/measurement.h