summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2013-09-09 13:57:45 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2013-10-28 10:57:08 +0900
commitf396ed12a62a9ccf702b021ec0395e555ee2729b (patch)
treeb6fc15bc9e1babdbfed3ea0566d35c5f2d5c6b65
parentaef11247835d1fefd9a0eb2f2f82e797c675090b (diff)
downloadefl-f396ed12a62a9ccf702b021ec0395e555ee2729b.tar.gz
evas/cserve2: Add cache hit count on image data
-rw-r--r--src/lib/evas/cache2/evas_cache2.c5
-rw-r--r--src/lib/evas/cserve2/evas_cs2_image_data.c9
-rw-r--r--src/lib/evas/cserve2/evas_cs2_private.h2
3 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/evas/cache2/evas_cache2.c b/src/lib/evas/cache2/evas_cache2.c
index 0444741289..fc7982d5ba 100644
--- a/src/lib/evas/cache2/evas_cache2.c
+++ b/src/lib/evas/cache2/evas_cache2.c
@@ -982,7 +982,10 @@ evas_cache2_image_load_data(Image_Entry *ie)
int error = EVAS_LOAD_ERROR_NONE;
if ((ie->flags.loaded) && (!ie->animated.animated))
- return error;
+ {
+ evas_cserve2_image_hit(ie);
+ return EVAS_LOAD_ERROR_NONE;
+ }
ie->flags.in_progress = EINA_TRUE;
diff --git a/src/lib/evas/cserve2/evas_cs2_image_data.c b/src/lib/evas/cserve2/evas_cs2_image_data.c
index a5e49da396..845107e55b 100644
--- a/src/lib/evas/cserve2/evas_cs2_image_data.c
+++ b/src/lib/evas/cserve2/evas_cs2_image_data.c
@@ -20,4 +20,13 @@ evas_cserve2_image_data_get(Image_Entry *ie)
return dentry->shm.data;
}
+unsigned int
+evas_cserve2_image_hit(Image_Entry *ie)
+{
+ Data_Entry *dentry = ie->data2;
+
+ if (!dentry) return 0;
+ return ++dentry->hit_count;
+}
+
#endif
diff --git a/src/lib/evas/cserve2/evas_cs2_private.h b/src/lib/evas/cserve2/evas_cs2_private.h
index 8d12e693c7..c0ed575f81 100644
--- a/src/lib/evas/cserve2/evas_cs2_private.h
+++ b/src/lib/evas/cserve2/evas_cs2_private.h
@@ -14,6 +14,7 @@ typedef struct _Shared_Buffer Shared_Buffer;
struct _Data_Entry
{
unsigned int image_id;
+ unsigned int hit_count;
void (*preloaded_cb)(void *, Eina_Bool);
struct {
const char *path;
@@ -81,6 +82,7 @@ Eina_Bool evas_cserve2_image_preload(Image_Entry *ie, void (*preloaded_cb)(void
void evas_cserve2_dispatch(void);
void *evas_cserve2_image_data_get(Image_Entry *ie);
+unsigned int evas_cserve2_image_hit(Image_Entry *ie);
Font_Entry *evas_cserve2_font_load(const char *source, const char *name, int size, int dpi, Font_Rend_Flags wanted_rend);
EAPI int evas_cserve2_font_load_wait(Font_Entry *fe);