From 24aba4e19103b8bb4a619b79753144c4558f0a76 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 21 May 2010 07:10:45 +0000 Subject: [PATCH] big patch from Samsung SAIT (Advanced research group) for async multi-frame rendering. to turn on: 1. configure with --enable-async-render 2. export EVAS_RENDER_MODE=non-blocking presto. necessitates some api swizzling (thus the expedite. ecore etc. changes) the kind of results you get on a desktop: http://www.rasterman.com/files/evas-async-vs-none.html SVN revision: 49087 --- AUTHORS | 2 ++ src/bin/engine_software_xlib.c | 10 ++++++++++ src/bin/main.c | 1 + src/bin/main.h | 2 ++ 4 files changed, 15 insertions(+) diff --git a/AUTHORS b/AUTHORS index 1694b5f..414ee67 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1,4 @@ The Rasterman (Carsten Haitzler) Tim Horton +Saumsung Electronics +Samsung SAIT diff --git a/src/bin/engine_software_xlib.c b/src/bin/engine_software_xlib.c index cdd7841..332b12e 100644 --- a/src/bin/engine_software_xlib.c +++ b/src/bin/engine_software_xlib.c @@ -37,6 +37,16 @@ engine_software_xlib_args(const char *engine, int width, int height) einfo->info.depth = einfo->func.best_depth_get(0, disp, DefaultScreen(disp)); einfo->info.rotation = 0; einfo->info.debug = 0; +#ifdef EVAS_FRAME_QUEUING + { + char *render_mode; + render_mode = getenv("EVAS_RENDER_MODE"); + if (render_mode && !strcmp(render_mode, "non-blocking")) + { + einfo->render_mode = EVAS_RENDER_MODE_NONBLOCKING; + } + } +#endif attr.backing_store = NotUseful; attr.colormap = einfo->info.colormap; attr.border_pixel = 0; diff --git a/src/bin/main.c b/src/bin/main.c index 7f8ac7d..2b9158a 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -1357,6 +1357,7 @@ int main(int argc, char **argv) { int i; + XInitThreads(); evas_init(); evas = evas_new(); diff --git a/src/bin/main.h b/src/bin/main.h index 2dfb0c2..1102783 100644 --- a/src/bin/main.h +++ b/src/bin/main.h @@ -84,6 +84,8 @@ extern "C" #include "ui.h" #include "about.h" +#define EVAS_FRAME_QUEUING // for test + #define OBNUM 128 #define LOOPS 128