From 08f90a188cdd90ded148c65e19875097539c8e28 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 3 Jul 2024 18:52:36 +0200 Subject: [PATCH] gl: Force U8 textures for U8_SRGB depths The GL renderer is using FLOAT32 instead of GL_SRGB, which is screwing up the node-editor by making it turn on high bit depth unconditionally. So until someone fixes the GL renderer properly, do this quickfix. --- gsk/gl/gskglrenderer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c index 77d7823618..d12a1d4f67 100644 --- a/gsk/gl/gskglrenderer.c +++ b/gsk/gl/gskglrenderer.c @@ -455,7 +455,10 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer, return texture; } + /* Don't use float textures for SRGB or node-editor turns on high + * depth unconditionally. */ if (gsk_render_node_get_preferred_depth (root) != GDK_MEMORY_U8 && + gsk_render_node_get_preferred_depth (root) != GDK_MEMORY_U8_SRGB && gdk_gl_context_check_version (self->context, "3.0", "3.0")) { gdk_format = GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED;