Draft: wlr_scene: Add software fallback for gamma lut
Last commit is RFC because we need some discussions about that @emersion do you have any idea how you would like that done?
Test with tinywl:
diff --git a/tinywl/tinywl.c b/tinywl/tinywl.c
index edc6269b3..4974b4af1 100644
--- a/tinywl/tinywl.c
+++ b/tinywl/tinywl.c
@@ -25,6 +25,8 @@
#include <wlr/util/log.h>
#include <xkbcommon/xkbcommon.h>
+#include <wlr/types/wlr_gamma_control_v1.h>
+
/* For brevity's sake, struct members are annotated where they are used. */
enum tinywl_cursor_mode {
TINYWL_CURSOR_PASSTHROUGH,
@@ -963,6 +965,8 @@ int main(int argc, char *argv[]) {
server.scene = wlr_scene_create();
server.scene_layout = wlr_scene_attach_output_layout(server.scene, server.output_layout);
+ wlr_scene_set_gamma_control_manager_v1(server.scene, wlr_gamma_control_manager_v1_create(server.wl_display));
+
/* Set up xdg-shell version 3. The xdg-shell is a Wayland protocol which is
* used for application windows. For more detail on shells, refer to
* https://drewdevault.com/2018/07/29/Wayland-shells.html.