summaryrefslogtreecommitdiff
path: root/cogl/winsys/cogl-winsys-glx.c
diff options
context:
space:
mode:
Diffstat (limited to 'cogl/winsys/cogl-winsys-glx.c')
-rw-r--r--cogl/winsys/cogl-winsys-glx.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/cogl/winsys/cogl-winsys-glx.c b/cogl/winsys/cogl-winsys-glx.c
index d59f3dc2..829e0f91 100644
--- a/cogl/winsys/cogl-winsys-glx.c
+++ b/cogl/winsys/cogl-winsys-glx.c
@@ -889,6 +889,11 @@ glx_attributes_from_framebuffer_config (CoglDisplay *display,
attributes[i++] = 1;
attributes[i++] = GLX_STENCIL_SIZE;
attributes[i++] = config->need_stencil ? 1: GLX_DONT_CARE;
+ if (config->stereo_enabled)
+ {
+ attributes[i++] = GLX_STEREO;
+ attributes[i++] = TRUE;
+ }
if (glx_renderer->glx_major == 1 && glx_renderer->glx_minor >= 4 &&
config->samples_per_pixel)
@@ -928,6 +933,7 @@ find_fbconfig (CoglDisplay *display,
xscreen_num,
attributes,
&n_configs);
+
if (!configs || n_configs == 0)
{
_cogl_set_error (error, COGL_WINSYS_ERROR,
@@ -1836,7 +1842,7 @@ _cogl_winsys_onscreen_swap_region (CoglOnscreen *onscreen,
rect[0], rect[1], x2, y2,
GL_COLOR_BUFFER_BIT, GL_NEAREST);
}
- context->glDrawBuffer (GL_BACK);
+ context->glDrawBuffer (context->current_gl_draw_buffer);
}
/* NB: unlike glXSwapBuffers, glXCopySubBuffer and