Skip to content

Linear compositing, take 2

Benjamin Otte requested to merge wip/otte/linear-compositing into main

This is a rework of !7366 (closed) with the goal of refactoring in a way that keeps things working properly for as long as possible, so the testsuite can sanity-check those refactorings.

It introduces color states to GTK and ports the renderers to respect the color states. Currently only 2 color states exist: srgb and srgb-linear. The colorstates are not selectable for anything by public API and they are always sRGB.

The branch enables running with GDK_DEBUG=linear to enable linear compositing. The environment variables works with the Vulkan, NGL and Cairo renderers. If set, it will pick the srgb-linear colorstate for rendering and convert things accordingly.

Edited by Benjamin Otte

Merge request reports