phosphor-surface

Per-window shader effects and window decoration profiles.

The second shader family beside the zone overlays in phosphor-shaders: effects that draw on a window itself rather than on the compositor's overlay surfaces. Blur and glass packs sample the backdrop behind the window through a downscaled multipass chain, border packs paint the frame, and ambience packs tint or texture the content. SurfaceShaderRegistry discovers packs from disk on the same MetadataPackRegistryBase contract the overlay registry uses, so a user pack in the data directory loads with no rebuild. DecorationProfile binds a set of packs and their parameters to a window, and DecorationProfileTree resolves which profile a given window inherits.

Full API →

Key types

SurfaceShaderRegistry
Disk-backed discovery and lookup of surface shader packs.
SurfaceShaderEffect
One resolved effect: fragment shader, backdrop need, buffer chain, parameters.
DecorationProfile
A named bundle of surface effects and their parameter values.
DecorationProfileTree
Resolves the profile a window inherits from the profile hierarchy.
SurfaceUniformProfile
IUboProfile implementation packing the per-window uniform block.

Dependencies

See also

References