Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::PluginViewHost::Options Struct Reference

#include <plugin_view_host.hpp>

Public Attributes

Size size = {400, 300}
bool use_gpu = false
 Use GPU rendering (Dawn/Skia Graphite) instead of CoreGraphics.
PresentPolicy present_policy = PresentPolicy::nonblocking
 Presentation policy for this host.
bool enable_gpu_timing = false
 Enable GPU timing instrumentation (Dawn timestamp queries).
std::uint32_t background_rgb = kEditorHostClearRgb
 The editor's own background, 0xRRGGBB.

Member Data Documentation

◆ background_rgb

std::uint32_t pulp::view::PluginViewHost::Options::background_rgb = kEditorHostClearRgb

The editor's own background, 0xRRGGBB.

The host paints it wherever the view tree does not: the native layer before the first frame, every frame before the editor's document has mounted, and the letterbox bars around a pinned design viewport. Format adapters fill it from ViewBridge::editor_background_rgb(), so the first thing a DAW shows is the plug-in's own colour rather than a framework default.

◆ enable_gpu_timing

bool pulp::view::PluginViewHost::Options::enable_gpu_timing = false

Enable GPU timing instrumentation (Dawn timestamp queries).

OFF by default, and that default is load-bearing. Dawn gates writeTimestamp behind the allow_unsafe_apis toggle, so requesting timestamps silently relaxes the device's validation posture for ORDINARY RENDERING. Enabling a diagnostic must be a decision, not a side effect of the adapter happening to advertise a feature.

◆ present_policy

PresentPolicy pulp::view::PluginViewHost::Options::present_policy = PresentPolicy::nonblocking

Presentation policy for this host.

Embedded plug-in editors default to nonblocking because that is what every plug-in host IS; a standalone window host overrides to vsync.

◆ size

Size pulp::view::PluginViewHost::Options::size = {400, 300}

◆ use_gpu

bool pulp::view::PluginViewHost::Options::use_gpu = false

Use GPU rendering (Dawn/Skia Graphite) instead of CoreGraphics.


The documentation for this struct was generated from the following file: