-static EGLBoolean
-surfaceless_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy)
-{
- struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
- static const struct {
- const char *format_name;
- unsigned int rgba_masks[4];
- } visuals[] = {
- { "ARGB8888", { 0xff0000, 0xff00, 0xff, 0xff000000 } },
- { "RGB888", { 0xff0000, 0xff00, 0xff, 0x0 } },
- { "RGB565", { 0x00f800, 0x07e0, 0x1f, 0x0 } },
- };
- unsigned int format_count[ARRAY_SIZE(visuals)] = { 0 };
- unsigned int count, i, j;
-
- count = 0;
- for (i = 0; dri2_dpy->driver_configs[i] != NULL; i++) {
- for (j = 0; j < ARRAY_SIZE(visuals); j++) {
- struct dri2_egl_config *dri2_conf;
-
- dri2_conf = dri2_add_config(dpy, dri2_dpy->driver_configs[i],
- count + 1, EGL_PBUFFER_BIT, NULL, visuals[j].rgba_masks);
-
- if (dri2_conf) {
- count++;
- format_count[j]++;
- }
- }
- }
-
- for (i = 0; i < ARRAY_SIZE(format_count); i++) {
- if (!format_count[i]) {
- _eglLog(_EGL_DEBUG, "No DRI config supports native format %s",
- visuals[i].format_name);
- }
- }
-
- return (count != 0);
-}
-
-static struct dri2_egl_display_vtbl dri2_surfaceless_display_vtbl = {
- .create_pixmap_surface = dri2_fallback_create_pixmap_surface,