// 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);
{
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);
}
}
{
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;
}
}
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);
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);
}
}
{
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;
}
}