hermet pushed a commit to branch master.

commit f4377b316c66d7eaa4806e81c133fc5de5900eee
Author: ChunEon Park <[email protected]>
Date:   Thu Jul 25 16:01:49 2013 +0900

    evas - skip the map rendering if all points are transparent.
---
 ChangeLog                                               |  4 ++++
 NEWS                                                    |  1 +
 src/modules/evas/engines/software_generic/evas_engine.c | 10 ++++++++++
 3 files changed, 15 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 8db5513..9c4c2b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-07-25  ChunEon Park (Hermet)
+
+        * Evas: Skip the map rendering if all points are transparent.
+
 2013-07-24  Mike Blumenkrantz
 
         * Ecore-Evas: fix usage of underlying X window after it has received a 
destroy event
diff --git a/NEWS b/NEWS
index caf8ee5..8df3505 100644
--- a/NEWS
+++ b/NEWS
@@ -318,6 +318,7 @@ Fixes:
      - Fix issue when parsing formats with quotes.
      - Fix infinite loop if app use ecore evas image
      - Fix a long-standing off-by-1 in the C "simd" multiplier.
+     - Skip the map rendering if all points are transparent.
     * Ecore:
      - Don't leak fd on exec.
      - Fix fd handler increase issue when ecore_pipe_add/del is called 
repeatedly.
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index 24016b8..9fb0051 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -1458,6 +1458,16 @@ _draw_thread_map_draw(void *data)
 
    do
      {
+        //Fully Transparency. Skip this.
+        if (!(m->pts[0 + offset].col & 0xff000000) &&
+            !(m->pts[1 + offset].col & 0xff000000) &&
+            !(m->pts[2 + offset].col & 0xff000000) &&
+            !(m->pts[3 + offset].col & 0xff000000))
+          {
+             offset += 2;
+             continue;
+          }
+
         if ((m->pts[0 + offset].x == m->pts[3 + offset].x) &&
             (m->pts[1 + offset].x == m->pts[2 + offset].x) &&
             (m->pts[0 + offset].y == m->pts[1 + offset].y) &&

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to