diff options
author | Chia-I Wu <olv@lunarg.com> | 2011-09-08 16:05:32 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2011-09-08 16:05:32 +0800 |
commit | ee0e6ae2bb25bfa02547ef9986bdff8afc792d49 (patch) | |
tree | c6247ab9c3f15de35c4b18a3c8d3867cdbdb1adf /src/gallium/state_trackers/egl/wayland/native_wayland.c | |
parent | 93a96abe16068fa3ca8a1eb8d1c34195bffdc470 (diff) |
Revert "st/egl: correctly return configs under wayland"
This reverts commit 95b445699d7f049116ee0927387a958a9933766b.
Diffstat (limited to 'src/gallium/state_trackers/egl/wayland/native_wayland.c')
-rw-r--r-- | src/gallium/state_trackers/egl/wayland/native_wayland.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/egl/wayland/native_wayland.c b/src/gallium/state_trackers/egl/wayland/native_wayland.c index 14cc908cf7a..29c9b46d612 100644 --- a/src/gallium/state_trackers/egl/wayland/native_wayland.c +++ b/src/gallium/state_trackers/egl/wayland/native_wayland.c @@ -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; } |