LavaUI docs

message GpuReport

Control plane

message GpuReport

Everything the compositor knows about its own GPU memory.

idl/lava.npidl:798

Fields

allocations: vector<GpuAllocation>

Not documented.

idl/lava.npidl:821

atlases: vector<GpuAtlas>

Not documented.

idl/lava.npidl:822

cacheEvictions: u64

Not documented.

idl/lava.npidl:848

cacheHits: u64

Not documented.

idl/lava.npidl:847

deviceName: string

Not documented.

idl/lava.npidl:799

dormantAllowanceBytes: u64

Not documented.

idl/lava.npidl:841

dormantBudgetBytes: u64

The configured speculative ceiling, and what it comes to once the in-use set has taken its share of imageBudgetBytes. The second is the number eviction actually runs against, and it reaches zero first.

idl/lava.npidl:840

dormantBytes: u64

Not documented.

idl/lava.npidl:836

foreignBytes: u64

Foreign (mapped-in client) bytes, and bytes waiting for a frame to retire.

idl/lava.npidl:818

heapBudgetBytes: u64

Not documented.

idl/lava.npidl:808

heapSizeBytes: u64

Not documented.

idl/lava.npidl:809

heapUsageBytes: u64

What the driver attributes to this process, what it would allow, and what the card has. The number to compare against nvidia-smi.

idl/lava.npidl:807

imageBudgetBytes: u64

Not documented.

idl/lava.npidl:835

liveBytes: u64

Standalone images something is currently pointing at, and the ceiling they are counted against. The two halves of the cache behave completely differently and a single figure hides which one is the problem: dormant bytes go when the number says so, in-use bytes are a texture id a client is drawing with and there is no way to ask for them back.

idl/lava.npidl:834

maxSamples: u32

Not documented.

idl/lava.npidl:804

ownBytes: u64

What the entries below add up to: this process's own memory, without the client buffers it merely maps.

idl/lava.npidl:816

retiringBytes: u64

Not documented.

idl/lava.npidl:819

samples: u32

Samples every render target is allocated with, and the most the device would allow. Two numbers because the first being the second is a choice, and it multiplies the two largest categories in the report.

idl/lava.npidl:803

speculating: boolean

Whether the cache is holding anything on spec at all. A zero allowance means two unrelated things — the in-use set has taken the whole budget, or the cache has been told to stand down because a client is being scanned out — and a reader cannot tell them apart from the numbers.

idl/lava.npidl:846

textureBytes: u64

Not documented.

idl/lava.npidl:828

textureCount: u32

Cache totals, which are the whole cache rather than only the entries sent.

idl/lava.npidl:827

textures: vector<GpuTexture>

Largest first, and capped — a cache with thousands of entries would make this message the reason for the next report.

idl/lava.npidl:825

vmaAllocatedBytes: u64

What the allocator has handed out, and the device-memory blocks it holds to serve that. The difference is slack it could give back.

idl/lava.npidl:812

vmaBlockBytes: u64

Not documented.

idl/lava.npidl:813

windows: vector<GpuWindow>

Not documented.

idl/lava.npidl:820