The HDR metadata is needed when rendering frames, so obtain it
from the surface in begin_frame and make it available on the draw
context. This matches what we already do for surface color states.
Currently, all platforms but Wayland just provide NULL for
HDR metadata.
When we get information about the target color volume via the
xx-color-management-v4 protocol, attach it to surfaces.
When offloading, attach the HDR metadata of the texture to the
subsurface.
Allow surfaces to carry HDR metadata for describing the
capabilities of the output it is presented on.
This information is important for gamut or tone mapping,
since the goal is to produce colors that can actually be
presented on the output.
When used in this way, the data is sometimes called the
'target color volume'.
Allow textures to carry HDR metadata.
HDR metadata is optional since a) it isn't always available
and b) it isn't always relevant.
This information can be used to improve the results when tone
or gamut mapping is applied to the texture content.
CI is hitting various limits after we started out with 32. In
particular, the default runners hit 90s test timeouts.
And the asan runner runs into max threads limits, so reduce that one to
4 tests max.
This is a test balloon tests that use /dev/udmabuf to produce
dmabufs that we can use in ci, even if we don't have a GPU.
Currently, the tests we can do are somewhat limited, since mesas
software renderers don't support dmabufs yet.
Instead of every test spawning their own dbus, make the tests share the
same server, just like they share their own compositor.
This should speed up things a bit and avoid weird interactions when
multiple dbus processes exist.
There are spurious failures happening in CI runs and I blame those on
too many processes running at the same time overloading either the
compositor we're running against, or causing OOM situations or just
genereally slowing things down and hitting timeout limits.
The choice of 32 is rather arbitrary. I just picked a number that felt
good.
We write a debug message and then handle things using fallback.
Fixes error messages when trying to import incompatible dmabufs.
(in my case: llvmpipe dmabufs into radv)
The value of `gtk-font-rendering` currently can't be specified
in "settings.ini", as the parser doesn't handle enums.
Allow reading values by enum nicknames.
Also cleanup obsolete references to rc files.
The non-shared context's surface must survive the lifetime of the
GL texture, and when the renderer gets unrealized the surface goes away,
but we cannot guarantee that all GL textures have been destroyed by
then.
So better use a context we know will survive becuase it isn't bound to a
surface.
This is the same fix for NGL as f3ac0535f8
was for GL.
This fixes a warning from the inspector's accessibility checker.
Users only control the menu model, not the menubar widget,
so this can only be done in gtk.