mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-29 05:40:12 -04:00
Color transform can have multiple types and these different types want to store different metadata. We previously stored this metadata directly on wlr_color_transform even for transforms that don't use it. Instead, let's take the prior art from wlr_scene where each scene node is built on a base node. Notice how wlr_color_transform_lut3d now has a `struct wlr_color_transform base`. This is advantageous in multiple ways: 1. We don't allocate memory for metadata that will never be used. 2. This is more type safe: Compositors can pass around a struct wlr_color_transform_lut3d if they know they only want to use a 3d_lut. 3. This is more scalable. As we add more transform types, we don't have to keep growing a monolithic struct. |
||
|---|---|---|
| .. | ||
| allocator | ||
| color.h | ||
| dmabuf.h | ||
| drm_format_set.h | ||
| egl.h | ||
| gles2.h | ||
| pixel_format.h | ||
| pixman.h | ||
| vulkan.h | ||
| wlr_renderer.h | ||