diff options
author | Chia-I Wu <olv@lunarg.com> | 2010-12-22 13:47:50 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2010-12-22 14:12:33 +0800 |
commit | 0fb2dcc98ff46299094c308b7b4e0cde9e38d5c0 (patch) | |
tree | e822086ad3795cb20c7f5601fb03910561c3cab9 /src/gallium/state_trackers/egl/common/egl_g3d_api.c | |
parent | f431e0452b33ca9028e07cd85783297df6e87e69 (diff) |
st/egl: Allow single-buffered pixmaps.
All single-buffered configs were ignored before to make sure
EGL_RENDER_BUFFER is settable for window surfaces. It is better to
allow single-buffered configs and set EGL_WINDOW_BIT only for
double-buffered ones. This way there can be single-buffered pixmaps.
Diffstat (limited to 'src/gallium/state_trackers/egl/common/egl_g3d_api.c')
-rw-r--r-- | src/gallium/state_trackers/egl/common/egl_g3d_api.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index a15c988c8b..aeabccfaf1 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -324,7 +324,8 @@ egl_g3d_create_surface(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, } gsurf->stvis = gconf->stvis; - if (gsurf->base.RenderBuffer == EGL_SINGLE_BUFFER) + if (gsurf->base.RenderBuffer == EGL_SINGLE_BUFFER && + gconf->stvis.buffer_mask & ST_ATTACHMENT_FRONT_LEFT_MASK) gsurf->stvis.render_buffer = ST_ATTACHMENT_FRONT_LEFT; gsurf->stfbi = egl_g3d_create_st_framebuffer(&gsurf->base); |