From ef3e42033be33c5fdd390ea3507f6c6c66295eaa Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 30 May 2012 08:15:42 +0000 Subject: [PATCH] evas: Don't wake up prepare thread when there is nothing to do. SVN revision: 71543 --- legacy/evas/ChangeLog | 21 +++++++++++-------- legacy/evas/NEWS | 1 + .../evas/src/lib/engines/common/evas_pipe.c | 2 ++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index 6c002af0f8..b7dd6fe2d8 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -621,8 +621,8 @@ 2012-01-06 Sung W. Park (sung_) * Add EvasGL support to software backend using OSMesa. Requires OSMesa - library. Due to caveats in OSMesa, surface config stays with a - context rather than with a surface. So for now, the config of a + library. Due to caveats in OSMesa, surface config stays with a + context rather than with a surface. So for now, the config of a surface remains with the first context that it binds to. May need to come up with a different solution in the near future. @@ -650,14 +650,14 @@ 2012-01-20 Sung W. Park (sung_) - * Add Direct Rendering to Evas' window optimization for Evas_GL. This + * Add Direct Rendering to Evas' window optimization for Evas_GL. This optimization can be significant since it avoids and extra copy from an offscreen buffer. Normally, Evas_GL will render to a render - target using an FBO. This can be enabled by giving - EVAS_GL_OPTIONS_DIRECT hint in the config options_bits. Direct - rendering is actually done if the following conditions are met - - 1) All GL rendering is done in the pixel_getter callback 2) No - rotation on the image object 3) Corresponding image + target using an FBO. This can be enabled by giving + EVAS_GL_OPTIONS_DIRECT hint in the config options_bits. Direct + rendering is actually done if the following conditions are met - + 1) All GL rendering is done in the pixel_getter callback 2) No + rotation on the image object 3) Corresponding image object has alpha disabled. 2012-01-23 Tom Hacohen (TAsn) @@ -769,6 +769,9 @@ 2012-05-30 ChunEon Park (Hermet) * Fixed to clean up when map actually changed. Now rendering updates will be - correct after evas_map acutally disabled/enabled for the smart object. + correct after evas_map acutally disabled/enabled for the smart object. +2012-05-30 Cedric Bail + + * Don't wake up prepare thread if there is nothing to prepare. diff --git a/legacy/evas/NEWS b/legacy/evas/NEWS index bbc210dbdf..82d8fb9cdb 100644 --- a/legacy/evas/NEWS +++ b/legacy/evas/NEWS @@ -6,6 +6,7 @@ Changes since Evas 1.2.0: Improvements: * Lock less font rendering. * Reduce cost of propagating event by limiting the object we explore by using a bouncing box. + * Don't wake up prepare thread if there is nothing to prepare. Fixes: * Add missing files in the tarball. diff --git a/legacy/evas/src/lib/engines/common/evas_pipe.c b/legacy/evas/src/lib/engines/common/evas_pipe.c index f96eb2ea0e..1a8e7008dc 100644 --- a/legacy/evas/src/lib/engines/common/evas_pipe.c +++ b/legacy/evas/src/lib/engines/common/evas_pipe.c @@ -700,6 +700,8 @@ static void evas_common_pipe_load_do(void) { #ifdef BUILD_PTHREAD + if (!im_task && !text_task) return ; + /* Notify worker thread. */ pthread_barrier_wait(&(task_thbarrier[0]));