Frame-level render pass manager.
More...
#include <render_pass.hpp>
|
| void | begin_frame () |
| | Begin a new frame. Resets all pass statistics.
|
| void | begin_pass (RenderPassType type) |
| | Begin a render pass of the given type.
|
| void | end_pass (float time_ms=0, int draw_calls=0) |
| | End the current render pass.
|
| void | end_frame () |
| | End the frame.
|
| void | set_gpu_render_time_ms (float ms, bool valid) |
| | Feed the whole-recording GPU render time for this frame.
|
| float | gpu_render_time_ms () const |
| | Whole-recording GPU render time (ms) for the most recent frame that fed a valid sample.
|
| bool | gpu_render_timing_available () const |
| | Whether the frame-level whole-recording GPU render time holds a real, current sample.
|
| void | set_budget (float ms) |
| | Set the per-frame time budget in milliseconds (0 = no budget).
|
| float | budget () const |
| bool | over_budget () const |
| | Whether the last frame exceeded its time budget.
|
| float | total_time_ms () const |
| | Total time for the last frame.
|
| const std::vector< PassStats > & | passes () const |
| | Get statistics for all passes in the last frame.
|
| uint64_t | frame_count () const |
| | Frame counter.
|
| RenderPassType | current_pass () const |
| | Current pass type.
|
Frame-level render pass manager.
Tracks pass ordering, budgeting, and statistics.
◆ begin_frame()
| void pulp::render::RenderPassManager::begin_frame |
( |
| ) |
|
|
inline |
Begin a new frame. Resets all pass statistics.
◆ begin_pass()
| void pulp::render::RenderPassManager::begin_pass |
( |
RenderPassType | type | ) |
|
|
inline |
Begin a render pass of the given type.
◆ budget()
| float pulp::render::RenderPassManager::budget |
( |
| ) |
const |
|
inline |
◆ current_pass()
| RenderPassType pulp::render::RenderPassManager::current_pass |
( |
| ) |
const |
|
inline |
◆ end_frame()
| void pulp::render::RenderPassManager::end_frame |
( |
| ) |
|
|
inline |
◆ end_pass()
| void pulp::render::RenderPassManager::end_pass |
( |
float | time_ms = 0, |
|
|
int | draw_calls = 0 ) |
|
inline |
End the current render pass.
◆ frame_count()
| uint64_t pulp::render::RenderPassManager::frame_count |
( |
| ) |
const |
|
inline |
◆ gpu_render_time_ms()
| float pulp::render::RenderPassManager::gpu_render_time_ms |
( |
| ) |
const |
|
inline |
◆ gpu_render_timing_available()
| bool pulp::render::RenderPassManager::gpu_render_timing_available |
( |
| ) |
const |
|
inline |
Whether the frame-level whole-recording GPU render time holds a real, current sample.
The inspector uses this to decide between showing the GPU render number and showing "GPU render timing unavailable".
◆ over_budget()
| bool pulp::render::RenderPassManager::over_budget |
( |
| ) |
const |
|
inline |
Whether the last frame exceeded its time budget.
◆ passes()
| const std::vector< PassStats > & pulp::render::RenderPassManager::passes |
( |
| ) |
const |
|
inline |
Get statistics for all passes in the last frame.
◆ set_budget()
| void pulp::render::RenderPassManager::set_budget |
( |
float | ms | ) |
|
|
inline |
Set the per-frame time budget in milliseconds (0 = no budget).
At 60fps, budget should be ~16ms. At 120fps, ~8ms.
◆ set_gpu_render_time_ms()
| void pulp::render::RenderPassManager::set_gpu_render_time_ms |
( |
float | ms, |
|
|
bool | valid ) |
|
inline |
Feed the whole-recording GPU render time for this frame.
This is FRAME-LEVEL — the entire render recording's GPU-side elapsed time (Skia Graphite GpuStats(kElapsedTime), surfaced by SkiaSurface::gpu_render_time_ms() / WindowHost::gpu_render_time_ms()). It is the ONLY GPU-clock granularity Pulp exposes: per-pass GPU timing is structurally unavailable under Graphite (Graphite owns the command encoders), so the whole-recording number is the honest place to record the GPU clock. valid should reflect WindowHost::gpu_render_timing_available(). Negative durations are clamped to "invalid".
◆ total_time_ms()
| float pulp::render::RenderPassManager::total_time_ms |
( |
| ) |
const |
|
inline |
Total time for the last frame.
The documentation for this class was generated from the following file:
- /home/runner/work/pulp/pulp/core/render/include/pulp/render/render_pass.hpp