summaryrefslogtreecommitdiff
path: root/src/egl/drivers/dri2/platform_surfaceless.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/egl/drivers/dri2/platform_surfaceless.c')
-rw-r--r--src/egl/drivers/dri2/platform_surfaceless.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c
index 19d28aa61ab..212b5c14343 100644
--- a/src/egl/drivers/dri2/platform_surfaceless.c
+++ b/src/egl/drivers/dri2/platform_surfaceless.c
@@ -139,15 +139,12 @@ dri2_surfaceless_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type,
goto cleanup_surface;
}
- if (!dri2_create_drawable(dri2_dpy, config, dri2_surf, dri2_surf))
+ dri2_surf->visual = dri2_image_format_for_pbuffer_config(dri2_dpy, config);
+ if (dri2_surf->visual == __DRI_IMAGE_FORMAT_NONE)
goto cleanup_surface;
- if (conf->RedSize == 5)
- dri2_surf->visual = __DRI_IMAGE_FORMAT_RGB565;
- else if (conf->AlphaSize == 0)
- dri2_surf->visual = __DRI_IMAGE_FORMAT_XRGB8888;
- else
- dri2_surf->visual = __DRI_IMAGE_FORMAT_ARGB8888;
+ if (!dri2_create_drawable(dri2_dpy, config, dri2_surf, dri2_surf))
+ goto cleanup_surface;
return &dri2_surf->base;