evas/engine: don't store output as surface_cache data. 57/92857/1
authorSubhransu Mohanty <sub.mohanty@samsung.com>
Wed, 19 Oct 2016 06:02:01 +0000 (15:02 +0900)
committerSubhransu Mohanty <sub.mohanty@samsung.com>
Wed, 19 Oct 2016 06:09:01 +0000 (15:09 +0900)
Change-Id: Ibb851a31d1a1533a580525583b87dc083206a21b

src/lib/evas/include/evas_private.h
src/modules/evas/engines/gl_generic/evas_engine.c
src/modules/evas/engines/software_generic/evas_engine.c

index 3c4e6cf..94d336f 100755 (executable)
@@ -535,7 +535,6 @@ struct _Ector_Surface_Data
 {
    void         *key;     // vg tree pointer
    void         *surface; // engine image
-   void         *output;
 };
 
 struct _Ector_Surface_Cache
index e77623b..fe0815d 100644 (file)
@@ -2571,7 +2571,7 @@ _ector_surface_cache_init(void)
 //         eina_hash_free(surface_cache->surface_hash);
 //         EINA_LIST_FREE(surface_cache->lru_list, data)
 //           {
-//              eng_image_free(data->output, data->surface);
+//              evas_gl_common_image_free(data->surface);
 //              free(data);
 //           }
 //         free(surface_cache);
@@ -2584,20 +2584,20 @@ eng_ector_surface_cache_set(void *data, void *key, void *surface)
 {
    Ector_Surface_Data *surface_data = NULL;
    int count;
+
    _ector_surface_cache_init();
    surface_data = calloc(1, sizeof(Ector_Surface_Data));
    surface_data->key = key;
    surface_data->surface = surface;
-   surface_data->output = data;
    eina_hash_add(surface_cache->surface_hash, &key, surface_data);
    surface_cache->lru_list = eina_list_prepend(surface_cache->lru_list, surface_data);
    count = eina_list_count(surface_cache->lru_list);
-   if (count > 50)
+   if (count > 100)
    {
       surface_data = eina_list_data_get(eina_list_last(surface_cache->lru_list));
       eina_hash_del(surface_cache->surface_hash, &surface_data->key, surface_data);
       surface_cache->lru_list = eina_list_remove_list(surface_cache->lru_list, eina_list_last(surface_cache->lru_list));
-      eng_image_free(surface_data->output, surface_data->surface);
+      evas_gl_common_image_free(surface_data->surface);
       free(surface_data);
    }
 }
@@ -2616,7 +2616,7 @@ eng_ector_surface_cache_get(void *data EINA_UNUSED, void *key)
           {
             if (lru_data == surface_data)
               {
-                 surface_cache->lru_list = eina_list_demote_list(surface_cache->lru_list, l);
+                 surface_cache->lru_list = eina_list_promote_list(surface_cache->lru_list, l);
                  break;
               }
           }
index a716cac..e48c206 100644 (file)
@@ -3943,7 +3943,7 @@ _ector_surface_cache_dump(void)
         eina_hash_free(surface_cache->surface_hash);
         EINA_LIST_FREE(surface_cache->lru_list, data)
           {
-             eng_image_free(data->output, data->surface);
+             eng_image_free(NULL, data->surface);
              free(data);
           }
         free(surface_cache);
@@ -3962,16 +3962,15 @@ eng_ector_surface_cache_set(void *data, void *key, void *surface)
 
    surface_data->key = key;
    surface_data->surface = surface;
-   surface_data->output = data;
    eina_hash_add(surface_cache->surface_hash, &key, surface_data);
    surface_cache->lru_list = eina_list_prepend(surface_cache->lru_list, surface_data);
    count = eina_list_count(surface_cache->lru_list);
-   if (count > 50)
+   if (count > 100)
    {
       surface_data = eina_list_data_get(eina_list_last(surface_cache->lru_list));
       eina_hash_del(surface_cache->surface_hash, &surface_data->key, surface_data);
       surface_cache->lru_list = eina_list_remove_list(surface_cache->lru_list, eina_list_last(surface_cache->lru_list));
-      eng_image_free(surface_data->output, surface_data->surface);
+      eng_image_free(NULL, surface_data->surface);
       free(surface_data);
    }
 }
@@ -3990,7 +3989,7 @@ eng_ector_surface_cache_get(void *data EINA_UNUSED, void *key)
           {
             if (lru_data == surface_data)
               {
-                 surface_cache->lru_list = eina_list_demote_list(surface_cache->lru_list, l);
+                 surface_cache->lru_list = eina_list_promote_list(surface_cache->lru_list, l);
                  break;
               }
           }