summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backends/native/meta-renderer-native.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index d538cc25a..f5f22c7b1 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -416,12 +416,28 @@ meta_renderer_native_choose_egl_config (CoglDisplay *cogl_display,
switch (renderer_gpu_data->mode)
{
case META_RENDERER_NATIVE_MODE_GBM:
- return choose_egl_config_from_gbm_format (egl,
- egl_display,
- attributes,
- GBM_FORMAT_XRGB8888,
- out_config,
- error);
+ {
+ static const uint32_t formats[] = {
+ GBM_FORMAT_XRGB8888,
+ GBM_FORMAT_ARGB8888,
+ };
+ int i;
+
+ for (i = 0; i < G_N_ELEMENTS (formats); i++)
+ {
+ g_clear_error (error);
+
+ if (choose_egl_config_from_gbm_format (egl,
+ egl_display,
+ attributes,
+ formats[i],
+ out_config,
+ error))
+ return TRUE;
+ }
+
+ return FALSE;
+ }
case META_RENDERER_NATIVE_MODE_SURFACELESS:
*out_config = EGL_NO_CONFIG_KHR;
return TRUE;