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