summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-04-11 09:21:42 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-04-11 09:21:42 +0900
commit9dffb4eed815e471e9aaa768626b41eb10eeef42 (patch)
treefea840c2fbb91687f0a51df2ab04315997a29b3b
parent2d62ea88e51c36a3116e5160710bfe0b6b3c0bee (diff)
and further work on buffer age support in evas... after more testing
on nvidia...
Diffstat (limited to '')
-rw-r--r--po/eo.po6
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.c32
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c51
3 files changed, 50 insertions, 39 deletions
diff --git a/po/eo.po b/po/eo.po
index 31004da17d..a20d834c61 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -6,17 +6,17 @@
6msgid "" 6msgid ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: enlightenment\n" 8"Project-Id-Version: enlightenment\n"
9"Report-Msgid-Bugs-To: $MSGID_BUGS_ADDRESS\n" 9"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
10"POT-Creation-Date: 2013-01-05 11:32+0100\n" 10"POT-Creation-Date: 2013-04-11 08:15+0900\n"
11"PO-Revision-Date: 2013-02-21 15:24+0000\n" 11"PO-Revision-Date: 2013-02-21 15:24+0000\n"
12"Last-Translator: Michael Moroni <michael.moroni@mailoo.org>\n" 12"Last-Translator: Michael Moroni <michael.moroni@mailoo.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n" 13"Language-Team: Esperanto <eo@li.org>\n"
14"Language: eo\n"
14"MIME-Version: 1.0\n" 15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n" 17"Content-Transfer-Encoding: 8bit\n"
17"X-Launchpad-Export-Date: 2013-02-22 05:19+0000\n" 18"X-Launchpad-Export-Date: 2013-02-22 05:19+0000\n"
18"X-Generator: Launchpad (build 16506)\n" 19"X-Generator: Launchpad (build 16506)\n"
19"Language: eo\n"
20 20
21#: src/lib/ecore/ecore_getopt.c:87 21#: src/lib/ecore/ecore_getopt.c:87
22msgid "Version:" 22msgid "Version:"
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c
index 43d5f61a40..de3be42107 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -1219,22 +1219,32 @@ eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, i
1219 { 1219 {
1220 if (re->info->swap_mode == EVAS_ENGINE_GL_X11_SWAP_MODE_AUTO) 1220 if (re->info->swap_mode == EVAS_ENGINE_GL_X11_SWAP_MODE_AUTO)
1221 { 1221 {
1222 if (extn_have_buffer_age)
1223 {
1222#ifdef GL_GLES 1224#ifdef GL_GLES
1223 EGLint age = 0; 1225 EGLint age = 0;
1224 1226
1225 if (!eglQuerySurface(re->win->egl_disp, 1227 if (!eglQuerySurface(re->win->egl_disp,
1226 re->win->egl_surface[0], 1228 re->win->egl_surface[0],
1227 EGL_BUFFER_AGE_EXT, &age)) 1229 EGL_BUFFER_AGE_EXT, &age))
1228 age = 0; 1230 age = 0;
1229#else 1231#else
1230 unsigned int age = 0; 1232 unsigned int age = 0;
1231 1233
1232 if (glsym_glXQueryDrawable) 1234 if (glsym_glXQueryDrawable)
1233 glsym_glXQueryDrawable(re->win->disp, re->win->glxwin, 1235 {
1234 GLX_BACK_BUFFER_AGE_EXT, &age); 1236 if (re->win->glxwin)
1237 glsym_glXQueryDrawable(re->win->disp,
1238 re->win->glxwin,
1239 GLX_BACK_BUFFER_AGE_EXT,
1240 &age);
1241 else
1242 glsym_glXQueryDrawable(re->win->disp,
1243 re->win->win,
1244 GLX_BACK_BUFFER_AGE_EXT,
1245 &age);
1246 }
1235#endif 1247#endif
1236 if (extn_have_buffer_age)
1237 {
1238 if (age == 1) re->mode = MODE_COPY; 1248 if (age == 1) re->mode = MODE_COPY;
1239 else if (age == 2) re->mode = MODE_DOUBLE; 1249 else if (age == 2) re->mode = MODE_DOUBLE;
1240 else if (age == 3) re->mode = MODE_TRIPLE; 1250 else if (age == 3) re->mode = MODE_TRIPLE;
diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c
index e024e77a34..5c7598473c 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -489,33 +489,33 @@ eng_window_use(Evas_GL_X11_Window *gw)
489 { 489 {
490// EGL / GLES 490// EGL / GLES
491#ifdef GL_GLES 491#ifdef GL_GLES
492 if (gw->egl_surface[0] != EGL_NO_SURFACE) 492 if (gw->egl_surface[0] != EGL_NO_SURFACE)
493 { 493 {
494 if (eglMakeCurrent(gw->egl_disp, 494 if (eglMakeCurrent(gw->egl_disp,
495 gw->egl_surface[0], 495 gw->egl_surface[0],
496 gw->egl_surface[0], 496 gw->egl_surface[0],
497 gw->egl_context[0]) == EGL_FALSE) 497 gw->egl_context[0]) == EGL_FALSE)
498 { 498 {
499 ERR("eglMakeCurrent() failed!"); 499 ERR("eglMakeCurrent() failed!");
500 } 500 }
501 } 501 }
502// GLX 502// GLX
503#else 503#else
504 if (gw->glxwin) 504 if (gw->glxwin)
505 { 505 {
506 if (!glXMakeContextCurrent(gw->disp, gw->glxwin, gw->glxwin, 506 if (!glXMakeContextCurrent(gw->disp, gw->glxwin, gw->glxwin,
507 gw->context)) 507 gw->context))
508 { 508 {
509 ERR("glXMakeContextCurrent(%p, %p, %p, %p)", (void *)gw->disp, (void *)gw->glxwin, (void *)gw->glxwin, (void *)gw->context); 509 ERR("glXMakeContextCurrent(%p, %p, %p, %p)", (void *)gw->disp, (void *)gw->glxwin, (void *)gw->glxwin, (void *)gw->context);
510 } 510 }
511 } 511 }
512 else 512 else
513 { 513 {
514 if (!glXMakeCurrent(gw->disp, gw->win, gw->context)) 514 if (!glXMakeCurrent(gw->disp, gw->win, gw->context))
515 { 515 {
516 ERR("glXMakeCurrent(%p, 0x%x, %p) failed", gw->disp, (unsigned int)gw->win, (void *)gw->context); 516 ERR("glXMakeCurrent(%p, 0x%x, %p) failed", gw->disp, (unsigned int)gw->win, (void *)gw->context);
517 } 517 }
518 } 518 }
519#endif 519#endif
520 } 520 }
521 } 521 }
@@ -544,6 +544,7 @@ eng_window_unsurf(Evas_GL_X11_Window *gw)
544 if (gw->glxwin) 544 if (gw->glxwin)
545 { 545 {
546 glXDestroyWindow(gw->disp, gw->glxwin); 546 glXDestroyWindow(gw->disp, gw->glxwin);
547 gw->glxwin = 0;
547 } 548 }
548 else 549 else
549 { 550 {