message GpuReport
Control plane
message GpuReport
Everything the compositor knows about its own GPU memory.
idl/lava.npidl:955
Fields
allocations: vector<GpuAllocation>
Not documented.
idl/lava.npidl:978
atlases: vector<GpuAtlas>
Not documented.
idl/lava.npidl:979
cacheEvictions: u64
Not documented.
idl/lava.npidl:1005
cacheHits: u64
Not documented.
idl/lava.npidl:1004
deviceName: string
Not documented.
idl/lava.npidl:956
dormantAllowanceBytes: u64
Not documented.
idl/lava.npidl:998
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:997
dormantBytes: u64
Not documented.
idl/lava.npidl:993
foreignBytes: u64
Foreign (mapped-in client) bytes, and bytes waiting for a frame to retire.
idl/lava.npidl:975
heapBudgetBytes: u64
Not documented.
idl/lava.npidl:965
heapSizeBytes: u64
Not documented.
idl/lava.npidl:966
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:964
imageBudgetBytes: u64
Not documented.
idl/lava.npidl:992
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:991
maxSamples: u32
Not documented.
idl/lava.npidl:961
ownBytes: u64
What the entries below add up to: this process's own memory, without the client buffers it merely maps.
idl/lava.npidl:973
retiringBytes: u64
Not documented.
idl/lava.npidl:976
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:960
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:1003
textureBytes: u64
Not documented.
idl/lava.npidl:985
textureCount: u32
Cache totals, which are the whole cache rather than only the entries sent.
idl/lava.npidl:984
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:982
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:969
vmaBlockBytes: u64
Not documented.
idl/lava.npidl:970
windows: vector<GpuWindow>
Not documented.
idl/lava.npidl:977