|
| | WaveformGpuRenderController (std::size_t cache_capacity=8) |
| bool | prepare (std::size_t cache_capacity, std::vector< WaveformGpuResourceRecord > *evicted_records=nullptr) |
| WaveformGpuRenderDecision | plan_render (const pulp::audio::WaveformOverview &thumbnail, const WaveformGpuLayerPlan &plan, const WaveformGpuRenderContext &context, std::span< WaveformPeakVertex > staging_vertices) noexcept |
| WaveformGpuResourcePutResult | commit_uploaded_resource (const WaveformGpuUploadKey &key, std::uint64_t resource_id, std::size_t bytes, std::uint64_t backend_generation=1) |
| WaveformGpuResourcePutResult | commit_uploaded_resource (const WaveformGpuRenderDecision &decision, std::uint64_t resource_id, std::uint64_t current_backend_generation) |
| bool | erase (const WaveformGpuUploadKey &key, WaveformGpuResourceRecord &removed_record) noexcept |
| std::vector< WaveformGpuResourceRecord > | clear_and_return_records () |
| WaveformGpuResourceCacheStats | stats () const noexcept |
| std::size_t | capacity () const noexcept |
| std::size_t | size () const noexcept |
Stateful policy helper for backend-owned waveform resources.
plan_render() never inserts placeholder cache records. Backends should call commit_uploaded_resource() only after a real resource has been created. Replaced or evicted records are then returned so the backend can release its own GPU resources. GPU-assisted offline analysis should publish CPU-readable generation-keyed summaries and must never require live audio threads to wait on GPU completion.