From 8334d21c87f783b05ad220523483c8d96d9e1f00 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 15 Mar 2024 21:52:23 -0400 Subject: [PATCH] gdk: Describe egl formats more precisely Mention the presence of a depth of stencil buffer. Related: #6542 --- gdk/gdkdisplay.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 7827a025b3..aa98b31931 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1538,6 +1538,7 @@ describe_egl_config (EGLDisplay egl_display, EGLConfig egl_config) { EGLint red, green, blue, alpha, type; + EGLint depth, stencil; if (egl_config == NULL) return g_strdup ("-"); @@ -1556,7 +1557,15 @@ describe_egl_config (EGLDisplay egl_display, else type = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT; - return g_strdup_printf ("R%dG%dB%dA%d%s", red, green, blue, alpha, type == EGL_COLOR_COMPONENT_TYPE_FIXED_EXT ? "" : " float"); + if (!eglGetConfigAttrib (egl_display, egl_config, EGL_DEPTH_SIZE, &depth)) + depth = 0; + if (!eglGetConfigAttrib (egl_display, egl_config, EGL_STENCIL_SIZE, &stencil)) + stencil = 0; + + return g_strdup_printf ("R%dG%dB%dA%d%s%s%s", red, green, blue, alpha, + type == EGL_COLOR_COMPONENT_TYPE_FIXED_EXT ? "" : " float", + depth > 0 ? ", depth buffer" : "", + stencil > 0 ? ", stencil buffer" : ""); } gpointer