From: Matthias Clasen Date: Fri, 1 Oct 2021 20:47:55 +0000 (-0400) Subject: ngl: Update framebuffer format for each frame X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~5^2~255^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8a24deff97e2626beda86029b31d6340f613680f;p=gtk4.git ngl: Update framebuffer format for each frame Look at whether the render nodes are high depth and if so, request a high depth framebuffer. Whether we actually get one is up to the backend. --- diff --git a/gsk/ngl/gsknglrenderer.c b/gsk/ngl/gsknglrenderer.c index 7263d0b1e4..e5aaebd0a4 100644 --- a/gsk/ngl/gsknglrenderer.c +++ b/gsk/ngl/gsknglrenderer.c @@ -22,8 +22,11 @@ #include #include +#include +#include #include #include +#include #include "gsknglcommandqueueprivate.h" #include "gskngldriverprivate.h" @@ -201,7 +204,9 @@ gsk_ngl_renderer_render (GskRenderer *renderer, viewport.size.height = gdk_surface_get_height (surface) * scale_factor; gdk_gl_context_make_current (self->context); - gdk_draw_context_begin_frame (GDK_DRAW_CONTEXT (self->context), update_area); + gdk_draw_context_begin_frame_full (GDK_DRAW_CONTEXT (self->context), + gsk_render_node_prefers_high_depth (root), + update_area); /* Must be called *AFTER* gdk_draw_context_begin_frame() */ render_region = get_render_region (surface, self->context);