diff options
author | Carsten Haitzler <raster@rasterman.com> | 2010-05-21 07:10:45 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2010-05-21 07:10:45 +0000 |
commit | 24aba4e19103b8bb4a619b79753144c4558f0a76 (patch) | |
tree | bcb4a9366c31c093647e5b4bcf8186ef8ac52290 | |
parent | 63f9adccc4c9071f59b8cf2c9e6f5484ef911380 (diff) |
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
Diffstat (limited to '')
-rw-r--r-- | AUTHORS | 2 | ||||
-rw-r--r-- | src/bin/engine_software_xlib.c | 10 | ||||
-rw-r--r-- | src/bin/main.c | 1 | ||||
-rw-r--r-- | src/bin/main.h | 2 |
4 files changed, 15 insertions, 0 deletions
@@ -1,2 +1,4 @@ | |||
1 | The Rasterman (Carsten Haitzler) <raster@rasterman.com> | 1 | The Rasterman (Carsten Haitzler) <raster@rasterman.com> |
2 | Tim Horton <hortont424@gmail.com> | 2 | Tim Horton <hortont424@gmail.com> |
3 | Saumsung Electronics <tbd> | ||
4 | Samsung SAIT <tbd> | ||
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) | |||
37 | einfo->info.depth = einfo->func.best_depth_get(0, disp, DefaultScreen(disp)); | 37 | einfo->info.depth = einfo->func.best_depth_get(0, disp, DefaultScreen(disp)); |
38 | einfo->info.rotation = 0; | 38 | einfo->info.rotation = 0; |
39 | einfo->info.debug = 0; | 39 | einfo->info.debug = 0; |
40 | #ifdef EVAS_FRAME_QUEUING | ||
41 | { | ||
42 | char *render_mode; | ||
43 | render_mode = getenv("EVAS_RENDER_MODE"); | ||
44 | if (render_mode && !strcmp(render_mode, "non-blocking")) | ||
45 | { | ||
46 | einfo->render_mode = EVAS_RENDER_MODE_NONBLOCKING; | ||
47 | } | ||
48 | } | ||
49 | #endif | ||
40 | attr.backing_store = NotUseful; | 50 | attr.backing_store = NotUseful; |
41 | attr.colormap = einfo->info.colormap; | 51 | attr.colormap = einfo->info.colormap; |
42 | attr.border_pixel = 0; | 52 | 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 | |||
1357 | main(int argc, char **argv) | 1357 | main(int argc, char **argv) |
1358 | { | 1358 | { |
1359 | int i; | 1359 | int i; |
1360 | XInitThreads(); | ||
1360 | 1361 | ||
1361 | evas_init(); | 1362 | evas_init(); |
1362 | evas = evas_new(); | 1363 | 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" | |||
84 | #include "ui.h" | 84 | #include "ui.h" |
85 | #include "about.h" | 85 | #include "about.h" |
86 | 86 | ||
87 | #define EVAS_FRAME_QUEUING // for test | ||
88 | |||
87 | #define OBNUM 128 | 89 | #define OBNUM 128 |
88 | #define LOOPS 128 | 90 | #define LOOPS 128 |
89 | 91 | ||