Revert "st/egl: correctly return configs under wayland"
[mesa.git] / src / gallium / state_trackers / egl / wayland / native_wayland.c
index 14cc908cf7a9209b8c9bbeb073b372c48439221f..29c9b46d612eed386da49ebf429008ab7d9b9fc2 100644 (file)
@@ -44,11 +44,31 @@ wayland_display_get_configs (struct native_display *ndpy, int *num_configs)
    const struct native_config **configs;
    int i;
 
-   configs = MALLOC(display->num_configs * sizeof(*configs));
-   if (configs) {
-      for (i = 0; i < display->num_configs; i++) {
-         configs[i] = &display->configs[i].base;
+   if (!display->config) {
+      struct native_config *nconf;
+      display->config = CALLOC(2, sizeof(*display->config));
+      if (!display->config)
+         return NULL;
+
+      for (i = 0; i < 2; ++i) {
+         nconf = &display->config[i].base;
+         
+         nconf->buffer_mask =
+            (1 << NATIVE_ATTACHMENT_FRONT_LEFT) |
+            (1 << NATIVE_ATTACHMENT_BACK_LEFT);
+         
+         nconf->window_bit = TRUE;
+         nconf->pixmap_bit = TRUE;
       }
+
+      display->config[0].base.color_format = PIPE_FORMAT_B8G8R8A8_UNORM;
+      display->config[1].base.color_format = PIPE_FORMAT_B8G8R8X8_UNORM;
+   }
+
+   configs = MALLOC(2 * sizeof(*configs));
+   if (configs) {
+      configs[0] = &display->config[0].base;
+      configs[1] = &display->config[1].base;
       if (num_configs)
          *num_configs = 2;
    }