Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
gpu_diagnostics.hpp File Reference
#include <atomic>
#include <cstddef>
#include <cstdint>
#include <string_view>

Go to the source code of this file.

Classes

struct  pulp::render::GpuDiagnosticsStats
 Counters that separate "the sink was never called" from "the sink was called but this build compiles the trace macros out". More...
struct  pulp::render::SkiaLogBridgeState
class  pulp::render::LogTextBudget
 A thread-safe "first N" budget: admit() returns true for the first limit calls and false afterwards, counting both. More...

Namespaces

namespace  pulp
namespace  pulp::render

Enumerations

enum class  pulp::render::GpuDiagnosticSeverity { pulp::render::info , pulp::render::warning , pulp::render::error , pulp::render::fatal }
 Severity of one GPU diagnostic record. More...
enum class  pulp::render::SkiaLogBridgeStatus {
  pulp::render::not_attempted , pulp::render::installed , pulp::render::declined_handler_present , pulp::render::declined_not_enabled ,
  pulp::render::unavailable_no_skia
}
 Outcome of trying to route Skia's process-global log handler into the sink. More...

Functions

const char * pulp::render::to_string (GpuDiagnosticSeverity severity) noexcept
 Stable lowercase label for a severity, suitable as a trace annotation value.
void pulp::render::emit_gpu_diagnostic (GpuDiagnosticSeverity severity, const char *source, std::string_view message) noexcept
 Publish one GPU diagnostic as a gpu-category instant event.
GpuDiagnosticsStats pulp::render::gpu_diagnostics_stats () noexcept
const char * pulp::render::to_string (SkiaLogBridgeStatus status) noexcept
 Stable lowercase label for a bridge status, suitable for status output.
SkiaLogBridgeState pulp::render::skia_log_bridge_state () noexcept
bool pulp::render::skia_log_bridge_available () noexcept
 True when this build contains the Skia log-handler subclass at all.
bool pulp::render::skia_log_bridge_enabled () noexcept
 True when the opt-in is satisfied: a PULP_TRACING=ON build, or PULP_GPU_LOG_BRIDGE set to 1/true/yes/on.
SkiaLogBridgeStatus pulp::render::install_skia_log_bridge_if_enabled () noexcept
 Install the bridge, honouring the opt-in.
SkiaLogBridgeStatus pulp::render::install_skia_log_bridge () noexcept
 Install the bridge regardless of the opt-in — calling this IS the explicit opt-in.

Variables

constexpr std::size_t pulp::render::kGpuDiagnosticMessageLimit = 512
 Longest message text carried into a trace annotation.
constexpr std::uint64_t pulp::render::kSkiaLogTextLimit = 50
 How many Skia log records the bridge copies into the text log before it stops, so a chatty Skia cannot flood a user's log.