summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2011-08-27 01:42:16 +0800
committerChia-I Wu <olv@lunarg.com>2011-08-31 11:51:42 +0800
commit357d3f30f36878a3010547b669f055a2043cbbaa (patch)
tree2fe5004f9dfbdb780d2b01c79bdc4f86d3ac7300
parent66e8d223b61dc034fb941e7d704a85ee44d7bbcc (diff)
egl_dri2: set ctx->WindowRenderBuffer
Set ctx->WindowRenderBuffer to EGL_BACK_BUFFER. As EGL_WINDOW_BIT of a config is set only when there is dri_double_buffer, that makes sure window surfaces are always double-buffered and contexts will render to the back buffer. Reviewed-by: Chad Versace <chad@chad-versace.us>
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 4aa1df056c..0099a0d6d7 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -697,6 +697,12 @@ dri2_create_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
dri_config = dri2_config->dri_double_config;
else
dri_config = dri2_config->dri_single_config;
+
+ /* EGL_WINDOW_BIT is set only when there is a dri_double_config. This
+ * makes sure the back buffer will always be used.
+ */
+ if (conf->SurfaceType & EGL_WINDOW_BIT)
+ dri2_ctx->base.WindowRenderBuffer = EGL_BACK_BUFFER;
}
else
dri_config = NULL;