From b528733a1c921544519ae86c80232a5d5e66e844 Mon Sep 17 00:00:00 2001 From: raster Date: Wed, 6 Apr 2011 05:56:53 +0000 Subject: [PATCH] fixme notice, fix make current context to force if it was changed. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@58375 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/modules/engines/gl_common/evas_gl_context.c | 2 ++ src/modules/engines/gl_x11/evas_x_main.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/engines/gl_common/evas_gl_context.c b/src/modules/engines/gl_common/evas_gl_context.c index e87d317..ae4786b 100644 --- a/src/modules/engines/gl_common/evas_gl_context.c +++ b/src/modules/engines/gl_common/evas_gl_context.c @@ -2741,6 +2741,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc) cy = gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch; if (fbo) cy = gc->pipe[i].shader.cy; glEnable(GL_SCISSOR_TEST); + // FIXME: handle gc->rot IF gc->pipe[0].shader.surface == gc->def_surface glScissor(gc->pipe[i].shader.cx, cy, gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); setclip = 1; @@ -2760,6 +2761,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc) { cy = gh - gc->pipe[i].shader.cy - gc->pipe[i].shader.ch; if (fbo) cy = gc->pipe[i].shader.cy; + // FIXME: handle gc->rot IF gc->pipe[0].shader.surface == gc->def_surface glScissor(gc->pipe[i].shader.cx, cy, gc->pipe[i].shader.cw, gc->pipe[i].shader.ch); } diff --git a/src/modules/engines/gl_x11/evas_x_main.c b/src/modules/engines/gl_x11/evas_x_main.c index e370e75..471321c 100644 --- a/src/modules/engines/gl_x11/evas_x_main.c +++ b/src/modules/engines/gl_x11/evas_x_main.c @@ -570,7 +570,12 @@ eng_window_use(Evas_GL_X11_Window *gw) _evas_gl_x11_window->egl_surface[0])) force_use = EINA_TRUE; } -#else +#else + if (_evas_gl_x11_window) + { + if (glXGetCurrentContext() != _evas_gl_x11_window->context) + force_use = EINA_TRUE; + } #endif if ((_evas_gl_x11_window != gw) || (force_use)) { -- 2.7.4