evas: remove EVAS_FRAME_QUEUING.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 26 Apr 2012 09:53:03 +0000 (09:53 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 26 Apr 2012 09:53:03 +0000 (09:53 +0000)
NOTE: This should be part of evas_render itself and not
delegated to the engine. So cleaning things to make it easier
during evas_render rewrite.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@70503 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

29 files changed:
ChangeLog
NEWS
src/lib/cache/evas_cache.h
src/lib/cache/evas_cache_image.c
src/lib/canvas/evas_main.c
src/lib/canvas/evas_object_image.c
src/lib/canvas/evas_object_main.c
src/lib/canvas/evas_object_text.c
src/lib/canvas/evas_object_textblock.c
src/lib/canvas/evas_render.c
src/lib/engines/common/evas_font.h
src/lib/engines/common/evas_font_draw.c
src/lib/engines/common/evas_font_load.c
src/lib/engines/common/evas_font_main.c
src/lib/engines/common/evas_font_private.h
src/lib/engines/common/evas_image_main.c
src/lib/engines/common/evas_image_scalecache.c
src/lib/engines/common/evas_pipe.c
src/lib/engines/common/evas_pipe.h
src/lib/include/evas_common.h
src/modules/engines/software_generic/evas_engine.c
src/modules/engines/software_x11/evas_engine.c
src/modules/engines/software_x11/evas_engine.h
src/modules/engines/software_x11/evas_xcb_buffer.c
src/modules/engines/software_x11/evas_xcb_outbuf.c
src/modules/engines/software_x11/evas_xcb_outbuf.h
src/modules/engines/software_x11/evas_xlib_buffer.c
src/modules/engines/software_x11/evas_xlib_outbuf.c
src/modules/engines/software_x11/evas_xlib_outbuf.h

index cadb472..468a201 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 2012-04-26  Cedric Bail
 
        * Lock less font rendering.
-       * Removing EVAS_SLI, METRIC_CACHE and WORD_CACHE.
+       * Removing EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
diff --git a/NEWS b/NEWS
index 75f3c07..c8b5631 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,7 +7,7 @@ Improvements:
    * Lock less font rendering.
 
 Removal:
-   * Remove EVAS_SLI, METRIC_CACHE and WORD_CACHE.
+   * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
 
 Evas 1.2.0
 
index 0947a6d..474f64e 100644 (file)
@@ -60,9 +60,6 @@ struct _Evas_Cache_Image
    int                           usage;
    unsigned int                  limit;
    int                           references;
-#ifdef EVAS_FRAME_QUEUING
-   LK(lock);
-#endif
 };
 
 struct _Evas_Cache_Engine_Image_Func
index d5b72c5..8ebe806 100644 (file)
@@ -65,13 +65,7 @@ _evas_cache_image_dirty_add(Image_Entry *im)
    _evas_cache_image_lru_nodata_del(im);
    im->flags.dirty = 1;
    im->flags.cached = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    im->cache->dirty = eina_inlist_prepend(im->cache->dirty, EINA_INLIST_GET(im));
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
    if (im->cache_key)
      {
         eina_stringshare_del(im->cache_key);
@@ -85,13 +79,7 @@ _evas_cache_image_dirty_del(Image_Entry *im)
    if (!im->flags.dirty) return;
    im->flags.dirty = 0;
    im->flags.cached = 0;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    im->cache->dirty = eina_inlist_remove(im->cache->dirty, EINA_INLIST_GET(im));
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -104,13 +92,7 @@ _evas_cache_image_activ_add(Image_Entry *im)
    if (!im->cache_key) return;
    im->flags.activ = 1;
    im->flags.cached = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    eina_hash_direct_add(im->cache->activ, im->cache_key, im);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -120,13 +102,7 @@ _evas_cache_image_activ_del(Image_Entry *im)
    if (!im->cache_key) return;
    im->flags.activ = 0;
    im->flags.cached = 0;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    eina_hash_del(im->cache->activ, im->cache_key, im);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -139,15 +115,9 @@ _evas_cache_image_lru_add(Image_Entry *im)
    if (!im->cache_key) return;
    im->flags.lru = 1;
    im->flags.cached = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    eina_hash_direct_add(im->cache->inactiv, im->cache_key, im);
    im->cache->lru = eina_inlist_prepend(im->cache->lru, EINA_INLIST_GET(im));
    im->cache->usage += im->cache->func.mem_size_get(im);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -157,15 +127,9 @@ _evas_cache_image_lru_del(Image_Entry *im)
    if (!im->cache_key) return;
    im->flags.lru = 0;
    im->flags.cached = 0;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    eina_hash_del(im->cache->inactiv, im->cache_key, im);
    im->cache->lru = eina_inlist_remove(im->cache->lru, EINA_INLIST_GET(im));
    im->cache->usage -= im->cache->func.mem_size_get(im);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -177,13 +141,7 @@ _evas_cache_image_lru_nodata_add(Image_Entry *im)
    _evas_cache_image_lru_del(im);
    im->flags.lru = 1;
    im->flags.cached = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    im->cache->lru_nodata = eina_inlist_prepend(im->cache->lru_nodata, EINA_INLIST_GET(im));
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -192,13 +150,7 @@ _evas_cache_image_lru_nodata_del(Image_Entry *im)
    if (!im->flags.lru_nodata) return;
    im->flags.lru = 0;
    im->flags.cached = 0;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->cache->lock);
-#endif
    im->cache->lru_nodata = eina_inlist_remove(im->cache->lru_nodata, EINA_INLIST_GET(im));
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->cache->lock);
-#endif
 }
 
 static void
@@ -232,9 +184,6 @@ _evas_cache_image_entry_delete(Evas_Cache_Image *cache, Image_Entry *ie)
    LKD(ie->lock);
    LKD(ie->lock_cancel);
 #endif
-#ifdef EVAS_FRAME_QUEUING
-   LKD(ie->lock_references);
-#endif
    cache->func.dealloc(ie);
 }
 
@@ -300,9 +249,6 @@ _evas_cache_image_entry_new(Evas_Cache_Image *cache,
    if (tstamp) ie->tstamp = *tstamp;
    else memset(&ie->tstamp, 0, sizeof(Image_Timestamp));
 
-#ifdef EVAS_FRAME_QUEUING
-   LKI(ie->lock_references);
-#endif
 #ifdef BUILD_ASYNC_PRELOAD
    LKI(ie->lock);
    LKI(ie->lock_cancel); 
@@ -439,17 +385,11 @@ _evas_cache_image_async_cancel(void *data)
         return;
      }
    if (ie->flags.loaded) _evas_cache_image_async_end(ie);
-#ifdef EVAS_FRAME_QUEUING
-   LKL(ie->lock_references);
-#endif
    if (ie->references == 0)
      {
         _evas_cache_image_lru_add(ie);
         cache = ie->cache;
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKU(ie->lock_references);
-#endif
    if (cache) evas_cache_image_flush(cache);
 }
 
@@ -539,20 +479,11 @@ evas_cache_image_get(Evas_Cache_Image *cache)
 EAPI void
 evas_cache_image_set(Evas_Cache_Image *cache, unsigned int limit)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(cache->lock);
-#endif
    if (cache->limit == limit)
      {
-#ifdef EVAS_FRAME_QUEUING
-        LKU(cache->lock);
-#endif
         return;
      }
    cache->limit = limit;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(cache->lock);
-#endif
    evas_cache_image_flush(cache);
 }
 
@@ -576,9 +507,6 @@ evas_cache_image_init(const Evas_Cache_Image_Func *cb)
    cache->inactiv = eina_hash_string_superfast_new(NULL);
    cache->activ = eina_hash_string_superfast_new(NULL);
    cache->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKI(cache->lock);
-#endif
    return cache;
 }
 
@@ -596,22 +524,11 @@ evas_cache_image_shutdown(Evas_Cache_Image *cache)
    Eina_List *delete_list;
    Image_Entry  *im;
 
-#ifdef EVAS_FRAME_QUEUING
-   LKL(cache->lock);
-#endif
    cache->references--;
    if (cache->references != 0)
      {
-#ifdef EVAS_FRAME_QUEUING
-        LKU(cache->lock);
-#endif
         return;
      }
-#ifdef EVAS_FRAME_QUEUING
-   /* Release and destroy lock early ! */
-   LKU(cache->lock);
-   LKD(cache->lock);
-#endif
 
 #ifdef BUILD_ASYNC_PRELOAD
    EINA_LIST_FREE(cache->preload, im)
@@ -755,13 +672,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
    hkey[size] = '\0';
 
    /* find image by key in active hash */
-#ifdef EVAS_FRAME_QUEUING
-   LKL(cache->lock);
-#endif
    im = eina_hash_find(cache->activ, hkey);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(cache->lock);
-#endif
    if (im)
      {
         int ok = 1;
@@ -784,13 +695,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
      }
 
    /* find image by key in inactive/lru hash */
-#ifdef EVAS_FRAME_QUEUING
-   LKL(cache->lock);
-#endif
    im = eina_hash_find(cache->inactiv, hkey);
-#ifdef EVAS_FRAME_QUEUING
-   LKU(cache->lock);
-#endif
    if (im)
      {
         int ok = 1;
@@ -834,13 +739,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
 
 on_ok:
    *error = EVAS_LOAD_ERROR_NONE;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    im->references++;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
    return im;
 
 on_stat_error:
@@ -872,33 +771,14 @@ evas_cache_image_drop(Image_Entry *im)
    Evas_Cache_Image *cache;
    int references;
 
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    im->references--;
    if (im->references < 0) im->references = 0;
    references = im->references;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
 
    cache = im->cache;
 
    if (references == 0)
      {
-#ifdef EVAS_FRAME_QUEUING
-        LKL(im->ref_fq_add);
-        LKL(im->ref_fq_del);
-        if (im->ref_fq[0] != im->ref_fq[1])
-          {
-             LKU(im->ref_fq_add);
-             LKU(im->ref_fq_del);
-             return;
-          }
-        LKU(im->ref_fq_add);
-        LKU(im->ref_fq_del);
-#endif
-
 #ifdef BUILD_ASYNC_PRELOAD
         if (im->preload)
           {
@@ -922,13 +802,7 @@ evas_cache_image_data_not_needed(Image_Entry *im)
 {
    int references;
 
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    references = im->references;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
    if (references > 1) return;
    if ((im->flags.dirty) || (!im->flags.need_data)) return;
    _evas_cache_image_lru_nodata_add(im);
@@ -945,13 +819,7 @@ evas_cache_image_dirty(Image_Entry *im, unsigned int x, unsigned int y, unsigned
      {
 #ifndef EVAS_CSERVE
         int references;
-#ifdef EVAS_FRAME_QUEUING
-        LKL(im->lock_references);
-#endif
         references = im->references;
-#ifdef EVAS_FRAME_QUEUING
-        LKU(im->lock_references);
-#endif
         // if ref 1 also copy if using shared cache as its read-only
         if (references == 1) im_dirty = im;
         else
@@ -965,13 +833,7 @@ evas_cache_image_dirty(Image_Entry *im, unsigned int x, unsigned int y, unsigned
              if (cache->func.debug) cache->func.debug("dirty-src", im);
              cache->func.dirty(im_dirty, im);
              if (cache->func.debug) cache->func.debug("dirty-out", im_dirty);
-#ifdef EVAS_FRAME_QUEUING
-             LKL(im_dirty->lock_references);
-#endif
              im_dirty->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-             LKU(im_dirty->lock_references);
-#endif
              evas_cache_image_drop(im);
           }
         _evas_cache_image_dirty_add(im_dirty);
@@ -996,13 +858,7 @@ evas_cache_image_alone(Image_Entry *im)
    int references;
 
    cache = im->cache;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    references = im->references;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
 
    if (references <= 1)
      {
@@ -1018,13 +874,7 @@ evas_cache_image_alone(Image_Entry *im)
         if (cache->func.debug) cache->func.debug("dirty-src", im);
         cache->func.dirty(im_dirty, im);
         if (cache->func.debug) cache->func.debug("dirty-out", im_dirty);
-#ifdef EVAS_FRAME_QUEUING
-        LKL(im_dirty->lock_references);
-#endif
         im_dirty->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-        LKU(im_dirty->lock_references);
-#endif
         evas_cache_image_drop(im);
      }
    return im_dirty;
@@ -1057,13 +907,7 @@ evas_cache_image_copied_data(Evas_Cache_Image *cache,
         _evas_cache_image_entry_delete(cache, im);
         return NULL;
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    im->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
    if (cache->func.debug) cache->func.debug("copied-data", im);
    return im;
 }
@@ -1088,13 +932,7 @@ evas_cache_image_data(Evas_Cache_Image *cache, unsigned int w, unsigned int h, D
         _evas_cache_image_entry_delete(cache, im);
         return NULL;
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    im->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
    if (cache->func.debug) cache->func.debug("data", im);
    return im;
 }
@@ -1136,13 +974,7 @@ evas_cache_image_size_set(Image_Entry *im, unsigned int w, unsigned int h)
    _evas_cache_image_entry_surface_alloc(cache, im2, w, h);
    error = cache->func.size_set(im2, im, w, h);
    if (error != 0) goto on_error;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im2->lock_references);
-#endif
    im2->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im2->lock_references);
-#endif
    evas_cache_image_drop(im);
    if (cache->func.debug) cache->func.debug("size_set", im2);
    return im2;
@@ -1376,13 +1208,7 @@ evas_cache_image_empty(Evas_Cache_Image *cache)
 
    im = _evas_cache_image_entry_new(cache, NULL, NULL, NULL, NULL, NULL, NULL);
    if (!im) return NULL;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(im->lock_references);
-#endif
    im->references = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKU(im->lock_references);
-#endif
    return im;
 }
 
index e7f06a9..309eb98 100644 (file)
@@ -50,9 +50,6 @@ evas_init(void)
 #ifdef BUILD_ASYNC_PRELOAD
    _evas_preload_thread_init();
 #endif
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_init();
-#endif
 
    return _evas_init_count;
 
@@ -77,13 +74,6 @@ evas_shutdown(void)
    if (--_evas_init_count != 0)
      return _evas_init_count;
 
-#ifdef EVAS_FRAME_QUEUING
-   if (evas_common_frameq_enabled())
-     {
-        evas_common_frameq_finish();
-        evas_common_frameq_destroy();
-     }
-#endif
 #ifdef BUILD_ASYNC_EVENTS
    _evas_preload_thread_shutdown();
 #endif
@@ -158,10 +148,6 @@ evas_free(Evas *e)
    return;
    MAGIC_CHECK_END();
 
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_flush();
-#endif
-
    if (e->walking_list == 0) evas_render_idle_flush(e);
    
    if (e->walking_list > 0) return;
@@ -344,10 +330,6 @@ evas_output_size_set(Evas *e, int w, int h)
    if (w < 1) w = 1;
    if (h < 1) h = 1;
 
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_flush();
-#endif
-
    e->output.w = w;
    e->output.h = h;
    e->output.changed = 1;
index bef47df..571570b 100644 (file)
@@ -888,10 +888,6 @@ evas_object_image_data_set(Evas_Object *obj, void *data)
    return;
    MAGIC_CHECK_END();
    _evas_object_image_cleanup(obj, o);
-#ifdef EVAS_FRAME_QUEUING
-   if (o->engine_data)
-     evas_common_pipe_op_image_flush(o->engine_data);
-#endif
    p_data = o->engine_data;
    if (data)
      {
@@ -968,9 +964,6 @@ evas_object_image_data_get(const Evas_Object *obj, Eina_Bool for_writing)
    return NULL;
    MAGIC_CHECK_END();
    if (!o->engine_data) return NULL;
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_pipe_op_image_flush(o->engine_data);
-#endif
 
    data = NULL;
    if (obj->layer->evas->engine.func->image_scale_hint_set)
@@ -1153,9 +1146,6 @@ evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
      {
         int stride = 0;
 
-#ifdef EVAS_FRAME_QUEUING
-        evas_common_pipe_op_image_flush(o->engine_data);
-#endif
         o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output,
                                                                     o->engine_data,
                                                                     o->cur.has_alpha);
@@ -1676,13 +1666,6 @@ evas_object_image_colorspace_set(Evas_Object *obj, Evas_Colorspace cspace)
    MAGIC_CHECK_END();
 
    _evas_object_image_cleanup(obj, o);
-#ifdef EVAS_FRAME_QUEUING
-   if ((Evas_Colorspace)o->cur.cspace != cspace)
-     {
-        if (o->engine_data)
-          evas_common_pipe_op_image_flush(o->engine_data);
-     }
-#endif
 
    o->cur.cspace = cspace;
    if (o->engine_data)
@@ -1823,10 +1806,6 @@ evas_object_image_scale_hint_set(Evas_Object *obj, Evas_Image_Scale_Hint hint)
    return;
    MAGIC_CHECK_END();
    if (o->scale_hint == hint) return;
-#ifdef EVAS_FRAME_QUEUING
-   if (o->engine_data)
-      evas_common_pipe_op_image_flush(o->engine_data);
-#endif
    o->scale_hint = hint;
    if (o->engine_data)
      {
@@ -1874,10 +1853,6 @@ evas_object_image_content_hint_set(Evas_Object *obj, Evas_Image_Content_Hint hin
    return;
    MAGIC_CHECK_END();
    if (o->content_hint == hint) return;
-#ifdef EVAS_FRAME_QUEUING
-   if (o->engine_data)
-      evas_common_pipe_op_image_flush(o->engine_data);
-#endif
    o->content_hint = hint;
    if (o->engine_data)
      {
index a0b9ad7..0c9df6c 100644 (file)
@@ -408,9 +408,6 @@ evas_object_del(Evas_Object *obj)
         obj->del_ref = EINA_TRUE;
         return;
      }
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_flush();
-#endif
 
    evas_object_hide(obj);
    if (obj->focused)
index dbe5e08..3b881c5 100644 (file)
@@ -352,11 +352,6 @@ evas_object_text_font_set(Evas_Object *obj, const char *font, Evas_Font_Size siz
                                               obj->layer->evas->pointer.y, 1, 1);
      }
 
-#ifdef EVAS_FRAME_QUEUING
-   if (o->font)
-      evas_common_pipe_op_text_flush((RGBA_Font *) o->font);
-#endif
-
    /* DO IT */
    if (o->font)
      {
@@ -1874,9 +1869,6 @@ _evas_object_text_rehint(Evas_Object *obj)
 
    o = (Evas_Object_Text *)(obj->object_data);
    if (!o->font) return;
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_pipe_op_text_flush((RGBA_Font *) o->font);
-#endif
    evas_font_load_hinting_set(obj->layer->evas, o->font,
                              obj->layer->evas->hinting);
    was = evas_object_is_in_output_rect(obj,
index ee1b105..cdfef46 100644 (file)
@@ -9942,9 +9942,6 @@ _evas_object_textblock_rehint(Evas_Object *obj)
                        Evas_Object_Textblock_Text_Item *ti = _ITEM_TEXT(it);
                        if (ti->parent.format->font.font)
                          {  
-#ifdef EVAS_FRAME_QUEUING
-                            evas_common_pipe_op_text_flush((RGBA_Font *) ti->parent.format->font.font);
-#endif
                             evas_font_load_hinting_set(obj->layer->evas,
                                   ti->parent.format->font.font,
                                   obj->layer->evas->hinting);
index cbfcf32..460d0fe 100644 (file)
@@ -264,14 +264,9 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj,
    obj->rect_del = 0;
    obj->render_pre = 0;
 
-#ifndef EVAS_FRAME_QUEUING
-   /* because of clip objects - delete 2 cycles later */
    if (obj->delete_me == 2)
-#else
-     if (obj->delete_me == evas_common_frameq_get_frameq_sz() + 2)
-#endif
-       eina_array_push(delete_objects, obj);
-     else if (obj->delete_me != 0) obj->delete_me++;
+     eina_array_push(delete_objects, obj);
+   else if (obj->delete_me != 0) obj->delete_me++;
    /* If the object will be removed, we should not cache anything during this run. */
    if (obj->delete_me != 0) clean_them = EINA_TRUE;
 
@@ -1755,10 +1750,6 @@ evas_render_updates(Evas *e)
    return NULL;
    MAGIC_CHECK_END();
 
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_flush_ready ();
-#endif
-
    if (!e->changed) return NULL;
    return evas_render_updates_internal(e, 1, 1);
 }
@@ -1770,10 +1761,6 @@ evas_render(Evas *e)
    return;
    MAGIC_CHECK_END();
 
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_frameq_flush_ready ();
-#endif
-
    if (!e->changed) return;
    evas_render_updates_internal(e, 0, 1);
 }
@@ -1817,15 +1804,7 @@ evas_render_idle_flush(Evas *e)
 EAPI void
 evas_sync(Evas *e)
 {
-#ifdef EVAS_FRAME_QUEUING
-   MAGIC_CHECK(e, Evas, MAGIC_EVAS);
-   return;
-   MAGIC_CHECK_END();
-
-   evas_common_frameq_flush();
-#else
-   (void) e;
-#endif
+  (void) e;
 }
 
 static void
@@ -1895,22 +1874,15 @@ evas_render_object_recalc(Evas_Object *obj)
    return;
    MAGIC_CHECK_END();
 
-#ifndef EVAS_FRAME_QUEUING
    if ((!obj->changed) && (obj->delete_me < 2))
-#else
-     if ((!obj->changed))
-#endif
-       {
-          Evas *e;
-
-          e = obj->layer->evas;
-          if ((!e) || (e->cleanup)) return;
-#ifdef EVAS_FRAME_QUEUING
-          if (obj->delete_me >= evas_common_frameq_get_frameq_sz() + 2) return;
-#endif
-          eina_array_push(&e->pending_objects, obj);
-          obj->changed = 1;
-       }
+     {
+       Evas *e;
+       
+       e = obj->layer->evas;
+       if ((!e) || (e->cleanup)) return;
+       eina_array_push(&e->pending_objects, obj);
+       obj->changed = 1;
+     }
 }
 
 /* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
index f8f2afd..b02f672 100644 (file)
@@ -67,10 +67,6 @@ EAPI int               evas_common_font_query_char_at_coords (RGBA_Font *fn, con
 EAPI int               evas_common_font_query_last_up_to_pos (RGBA_Font *fn, const Evas_Text_Props *intl_props, int x, int y);
 EAPI int               evas_common_font_query_run_font_end_get(RGBA_Font *fn, RGBA_Font_Int **script_fi, RGBA_Font_Int **cur_fi, Evas_Script_Type script, const Eina_Unicode *text, int run_len);
 
-#ifdef EVAS_FRAME_QUEUING
-EAPI void evas_common_font_draw_finish(void);
-#endif
-
 void evas_common_font_load_init(void);
 void evas_common_font_load_shutdown(void);
 
index b8b2a3b..d6a859f 100644 (file)
@@ -42,13 +42,6 @@ evas_common_font_draw_init(void)
 {
 }
 
-#ifdef EVAS_FRAME_QUEUING
-EAPI void
-evas_common_font_draw_finish(void)
-{
-}
-#endif
-
 /*
  * BiDi handling: We receive the shaped string + other props from text_props,
  * we need to reorder it so we'll have the visual string (the way we draw)
@@ -341,9 +334,6 @@ evas_common_font_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Font *fn, int
    if (ext_w <= 0) return;
    if (ext_h <= 0) return;
 
-#ifdef EVAS_FRAME_QUEUING
-   LKL(fn->lock);
-#endif
 //   evas_common_font_size_use(fn);
    func = evas_common_gfx_func_composite_mask_color_span_get(dc->col.col, dst, 1, dc->render_op);
 
@@ -373,7 +363,4 @@ evas_common_font_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Font *fn, int
           }
         dc->clip.use = c; dc->clip.x = cx; dc->clip.y = cy; dc->clip.w = cw; dc->clip.h = ch;
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKU(fn->lock);
-#endif
 }
index abba9e3..f5988bb 100644 (file)
@@ -475,11 +475,6 @@ evas_common_font_memory_load(const char *name, int size, const void *data, int d
    fi->hinting = fn->hinting;
    fn->references = 1;
    LKI(fn->lock);
-#ifdef EVAS_FRAME_QUEUING
-   LKI(fn->ref_fq_add);
-   LKI(fn->ref_fq_del);
-   eina_condition_new(&(fn->cond_fq_del), &(fn->ref_fq_del));
-#endif
    if (fi->inuse) evas_common_font_int_promote(fi);
    else
     {
@@ -539,11 +534,6 @@ evas_common_font_load(const char *name, int size, Font_Rend_Flags wanted_rend)
    fi->hinting = fn->hinting;
    fn->references = 1;
    LKI(fn->lock);
-#ifdef EVAS_FRAME_QUEUING
-   LKI(fn->ref_fq_add);
-   LKI(fn->ref_fq_del);
-   eina_condition_new(&(fn->cond_fq_del), &(fn->ref_fq_del));
-#endif
    if (fi->inuse) evas_common_font_int_promote(fi);
    else
     {
@@ -607,18 +597,6 @@ evas_common_font_free(RGBA_Font *fn)
    if (!fn) return;
    fn->references--;
    if (fn->references > 0) return;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(fn->ref_fq_add);
-   LKL(fn->ref_fq_del);
-   if (fn->ref_fq[0] != fn->ref_fq[1])
-     {
-        LKU(fn->ref_fq_add);
-        LKU(fn->ref_fq_del);
-        return;
-     }
-   LKU(fn->ref_fq_add);
-   LKU(fn->ref_fq_del);
-#endif
    EINA_LIST_FOREACH(fn->fonts, l, fi)
      {
        fi->references--;
@@ -632,11 +610,6 @@ evas_common_font_free(RGBA_Font *fn)
    eina_list_free(fn->fonts);
    if (fn->fash) fn->fash->freeme(fn->fash);
    LKD(fn->lock);
-#ifdef EVAS_FRAME_QUEUING
-   LKD(fn->ref_fq_add);
-   LKD(fn->ref_fq_del);
-   eina_condition_free(&(fn->cond_fq_del));
-#endif
    free(fn);
 }
 
index 7b3dabe..be8b4c0 100644 (file)
@@ -52,9 +52,6 @@ evas_common_font_shutdown(void)
    evas_common_font_flush();
 
    FT_Done_FreeType(evas_ft_lib);
-#ifdef EVAS_FRAME_QUEUING
-   evas_common_font_draw_finish();
-#endif
    evas_ft_lib = 0;
 }
 
index eed3faf..e00bd9b 100644 (file)
@@ -8,16 +8,6 @@ extern LK(lock_bidi); // for fribidi API calls
 extern LK(lock_ot); // for harfbuzz calls
 #endif
 
-# if defined(EVAS_FRAME_QUEUING) || defined(BUILD_PIPE_RENDER)
-#  define FTLOCK() LKL(lock_font_draw)
-#  define FTUNLOCK() LKU(lock_font_draw)
-
-#  define BIDILOCK() LKL(lock_bidi)
-#  define BIDIUNLOCK() LKU(lock_bidi)
-
-#  define OTLOCK() LKL(lock_ot)
-#  define OTUNLOCK() LKU(lock_ot)
-# else
 #  define FTLOCK(x)
 #  define FTUNLOCK(x)
 
@@ -27,7 +17,6 @@ extern LK(lock_ot); // for harfbuzz calls
 /* Macros for text walking */
 #  define OTLOCK()
 #  define OTUNLOCK()
-# endif
 
 void evas_common_font_source_unload(RGBA_Font_Source *fs);
 void evas_common_font_source_reload(RGBA_Font_Source *fs);
index 9c233b3..0fcb3df 100644 (file)
@@ -139,12 +139,6 @@ _evas_common_rgba_image_new(void)
    if (!im) return NULL;
    im->flags = RGBA_IMAGE_NOTHING;
    im->ref = 1;
-#ifdef EVAS_FRAME_QUEUING
-   LKI(im->cache_entry.ref_fq_add);
-   LKI(im->cache_entry.ref_fq_del);
-   eina_condition_new(&(im->cache_entry.cond_fq_del),
-                     &(im->cache_entry.ref_fq_del));
-#endif
 
    evas_common_rgba_image_scalecache_init(&im->cache_entry);
 
@@ -158,11 +152,6 @@ _evas_common_rgba_image_delete(Image_Entry *ie)
 
 #ifdef BUILD_PIPE_RENDER
    evas_common_pipe_free(im);
-# ifdef EVAS_FRAME_QUEUING
-   LKD(im->cache_entry.ref_fq_add);
-   LKD(im->cache_entry.ref_fq_del);
-   eina_condition_free(&(im->cache_entry.cond_fq_del));
-# endif
 #endif
    evas_common_rgba_image_scalecache_shutdown(&im->cache_entry);
    if (ie->info.module) evas_module_unref((Evas_Module *)ie->info.module);
index e4e4790..0a6b4e6 100644 (file)
@@ -37,9 +37,6 @@ struct _Scaleitem
    unsigned int dst_w, dst_h;
    unsigned int flop;
    unsigned int size_adjust;
-#ifdef EVAS_FRAME_QUEUING
-   RWLK(lock);
-#endif
    Eina_Bool forced_unload : 1;
    Eina_Bool smooth : 1;
    Eina_Bool populate_me : 1;
@@ -124,9 +121,6 @@ evas_common_rgba_image_scalecache_dirty(Image_Entry *ie)
      {
         Scaleitem *sci;
         sci = im->cache.list->data;
-#ifdef EVAS_FRAME_QUEUING
-        WRLKL(sci->lock);
-#endif
         im->cache.list = eina_list_remove(im->cache.list, sci);
         if (sci->im)
           {
@@ -140,10 +134,6 @@ evas_common_rgba_image_scalecache_dirty(Image_Entry *ie)
              cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
              LKU(cache_lock);
           }
-#ifdef EVAS_FRAME_QUEUING
-         RWLKU(sci->lock);
-         RWLKD(sci->lock);
-#endif
         free(sci);
      }
    LKU(im->cache.lock);
@@ -238,9 +228,6 @@ _sci_find(RGBA_Image *im,
      {
         l = eina_list_last(im->cache.list);
         sci = l->data;
-#ifdef EVAS_FRAME_QUEUING
-        WRLKL(sci->lock);
-#endif
         im->cache.list = eina_list_remove_list(im->cache.list, l);
         if ((sci->usage == im->cache.newest_usage) ||
             (sci->usage_count == im->cache.newest_usage_count))
@@ -255,9 +242,6 @@ _sci_find(RGBA_Image *im,
 //             INF(" 1- %i", sci->dst_w * sci->dst_h * 4);
              cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
           }
-#ifdef EVAS_FRAME_QUEUING
-        RWLKU(sci->lock);
-#endif
         if (max_scale_items < 1) return NULL;
      }
    else
@@ -268,9 +252,6 @@ _sci_find(RGBA_Image *im,
           return NULL;
         sci = calloc(1, sizeof(Scaleitem));
         sci->parent_im = im;
-#ifdef EVAS_FRAME_QUEUING
-        RWLKI(sci->lock);
-#endif
      }
    sci->usage = 0;
    sci->usage_count = 0;
@@ -304,9 +285,6 @@ _cache_prune(Scaleitem *notsci, Eina_Bool copies_only)
              if (!sci) return;
           }
         if (sci == notsci) return;
-#ifdef EVAS_FRAME_QUEUING
-        WRLKL(sci->lock);
-#endif
         if (sci->im)
           {
              evas_common_rgba_image_free(&sci->im->cache_entry);
@@ -322,10 +300,6 @@ _cache_prune(Scaleitem *notsci, Eina_Bool copies_only)
              cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
              memset(sci, 0, sizeof(Eina_Inlist));
           }
-#ifdef EVAS_FRAME_QUEUING
-        RWLKU(sci->lock);
-#endif
-
 //        INF("FLUSH %i > %i", cache_size, max_cache_size);
       }
 }
@@ -548,14 +522,10 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
    LKL(im->cache.lock);
    if ((src_region_w == dst_region_w) && (src_region_h == dst_region_h))
      {
-#ifdef EVAS_FRAME_QUEUING
-        if (!evas_common_frameq_enabled())
-#endif
-         {
-            if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-               evas_cache_image_load_data(&im->cache_entry);
-            evas_common_image_colorspace_normalize(im);
-         }
+        if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
+         evas_cache_image_load_data(&im->cache_entry);
+       evas_common_image_colorspace_normalize(im);
+
 //        noscales++;
         LKU(im->cache.lock);
         if (im->image.data)
@@ -575,14 +545,10 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
    LKU(cache_lock);
    if (!sci)
      {
-#ifdef EVAS_FRAME_QUEUING
-        if (!evas_common_frameq_enabled())
-#endif
-          {
-             if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-                evas_cache_image_load_data(&im->cache_entry);
-             evas_common_image_colorspace_normalize(im);
-          }
+        if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
+         evas_cache_image_load_data(&im->cache_entry);
+       evas_common_image_colorspace_normalize(im);
+
 //        misses++;
         LKU(im->cache.lock);
         if (im->image.data)
@@ -740,9 +706,6 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
              if (sci->flop >= FLOP_DEL) sci->flop -= FLOP_DEL;
           }
 //        INF("use cached!");
-#ifdef EVAS_FRAME_QUEUING
-        RDLKL(sci->lock);
-#endif
         LKU(im->cache.lock);
         evas_common_scale_rgba_in_to_out_clip_sample
           (sci->im, dst, dc,
@@ -750,15 +713,11 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
            dst_region_w, dst_region_h,
            dst_region_x, dst_region_y, 
            dst_region_w, dst_region_h);
-#ifdef EVAS_FRAME_QUEUING
-        RWLKU(sci->lock);
-#endif
 //        hits++;
 //        INF("check %p %i < %i", 
 //               im,
 //               (int)im->cache.orig_usage, 
 //               (int)im->cache.newest_usage);
-#ifndef EVAS_FRAME_QUEUING
         /* while framequeuing is applied,
          * original image data is loaded by the main thread 
          * just before enqueuing the rendering op into the pipe.
@@ -785,18 +744,12 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
                     }
                }
           }
-#endif
      }
    else
      {
-#ifdef EVAS_FRAME_QUEUING
-        if (!evas_common_frameq_enabled())
-#endif
-          {
-             if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-                evas_cache_image_load_data(&im->cache_entry);
-             evas_common_image_colorspace_normalize(im);
-          }
+        if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
+         evas_cache_image_load_data(&im->cache_entry);
+       evas_common_image_colorspace_normalize(im);
 //        misses++;
         LKU(im->cache.lock);
         if (im->image.data)
@@ -817,14 +770,9 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
      }
 #else   
    RGBA_Image *im = (RGBA_Image *)ie;
-#ifdef EVAS_FRAME_QUEUING
-   if (!evas_common_frameq_enabled())
-#endif
-     {
-        if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-           evas_cache_image_load_data(&im->cache_entry);
-        evas_common_image_colorspace_normalize(im);
-     }
+   if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
+     evas_cache_image_load_data(&im->cache_entry);
+   evas_common_image_colorspace_normalize(im);
    if (im->image.data)
      {
         if (smooth)
index 9b4b5af..e0208a5 100644 (file)
@@ -4,207 +4,6 @@
 #include <unistd.h>
 
 #ifdef BUILD_PIPE_RENDER
-
-#ifdef EVAS_FRAME_QUEUING
-#define SCALECACHE
-static Evas_FrameQ gframeq;    // global frameQ
-
-static Evas_Surface *
-evas_common_surface_alloc(void *surface, int x, int y, int w, int h)
-{
-   Evas_Surface *e_surface;
-
-   e_surface = calloc(1, sizeof(Evas_Surface));
-   e_surface->im = surface;
-   LKL(e_surface->im->cache_entry.ref_fq_add);
-   e_surface->im->cache_entry.ref_fq[0]++;
-   LKU(e_surface->im->cache_entry.ref_fq_add);
-   e_surface->x = x;
-   e_surface->y = y;
-   e_surface->w = w;
-   e_surface->h = h;
-
-   return e_surface;
-}
-
-static void
-evas_common_surface_dealloc(Evas_Surface *surface)
-{
-   Evas_Surface *d_surface;
-
-   while (surface)
-     {
-        d_surface = surface;
-        surface = (Evas_Surface *)eina_inlist_remove(EINA_INLIST_GET(surface), EINA_INLIST_GET(d_surface));
-        LKL(d_surface->im->cache_entry.ref_fq_del);
-        d_surface->im->cache_entry.ref_fq[1]++;
-        LKU(d_surface->im->cache_entry.ref_fq_del);
-        free(d_surface);
-     }
-}
-
-static void
-evas_common_surface_add(Evas_Frame *frame, Evas_Surface *surface)
-{
-   frame->surfaces = (Evas_Surface *)eina_inlist_append(EINA_INLIST_GET(frame->surfaces), EINA_INLIST_GET(surface));
-}
-
-static Evas_Frame * 
-evas_common_frame_alloc(void)
-{
-   Evas_Frame *frame;
-
-   frame = calloc(1, sizeof(Evas_Frame));
-   frame->surfaces = NULL;
-   return frame;
-}
-
-static void 
-evas_common_frame_dealloc(Evas_Frame *frame)
-{
-   evas_common_surface_dealloc(frame->surfaces);
-   free(frame);
-}
-
-static void
-evas_common_frame_add(Evas_FrameQ *frameq, Evas_Frame *frame)
-{
-   Evas_Frame *temp_frame;
-   
-   LKL(frameq->mutex);
-   while ((int)eina_inlist_count(EINA_INLIST_GET(frameq->frames)) >= frameq->frameq_sz)
-     {
-        /* wait a worker thread finish previous frame */
-        eina_condition_wait(&(frameq->cond_done));
-     }
-   frameq->frames = (Evas_Frame *) eina_inlist_append(EINA_INLIST_GET(frameq->frames), EINA_INLIST_GET(frame));
-
-   // this frame need not to be scheduled for flushing time
-   EINA_INLIST_FOREACH(EINA_INLIST_GET(frameq->frames), temp_frame)
-     {
-       if (!temp_frame->ready)
-         {
-            break;
-         }
-     }
-   if (temp_frame && temp_frame == frame)
-      frame->dont_schedule = 1;
-
-   LKU(frameq->mutex);
-
-   eina_condition_signal(&(frameq->cond_new));
-}
-
-EAPI Evas_Surface *
-evas_common_frameq_new_surface(void *surface, int x, int y, int w, int h)
-{
-   return evas_common_surface_alloc(surface, x, y, w, h);
-}
-
-EAPI void
-evas_common_frameq_add_surface(Evas_Surface *surface)
-{
-   evas_common_surface_add(gframeq.cur_frame, surface);
-}
-
-EAPI void 
-evas_common_frameq_set_frame_data(void *data, 
-                                  void (*fn_output_redraws_next_update_push) (void *data, void *surface, int x, int y, int w, int h),
-                                  void (*fn_output_flush)  (void *data),
-                                  void (*fn_output_set_priv)(void *data, void *cur, void *prev))
-{
-   if (gframeq.cur_frame) 
-     {
-        gframeq.cur_frame->data = data;
-        gframeq.cur_frame->output_redraws_next_update_push = fn_output_redraws_next_update_push;
-        gframeq.cur_frame->output_flush = fn_output_flush;
-        gframeq.cur_frame->output_set_priv = fn_output_set_priv;
-     }
-}
-
-EAPI void
-evas_common_frameq_prepare_frame(void)
-{
-   if (!gframeq.cur_frame )
-     {
-        gframeq.cur_frame = evas_common_frame_alloc();
-     }
-}
-
-EAPI void
-evas_common_frameq_ready_frame(void)
-{
-   if (gframeq.cur_frame)
-     {
-        evas_common_frame_add(&gframeq, gframeq.cur_frame);
-        gframeq.cur_frame = NULL; // create a new frame for the next frame later
-     }
-}
-
-
-EAPI void
-evas_common_frameq_init(void)
-{
-   gframeq.frames = NULL;
-   LKI(gframeq.mutex);
-   eina_condition_new(&(gframeq.cond_new), &(gframeq.mutex));
-   eina_condition_new(&(gframeq.cond_ready), &(gframeq.mutex));
-   eina_condition_new(&(gframeq.cond_done), &(gframeq.mutex));
-   gframeq.initialised = 0;    // worker thread are not created yet
-   gframeq.frameq_sz = 1;      // this value ensures the first frame can be enqueued.
-}
-
-EAPI void
-evas_common_frameq_destroy(void)
-{
-#if 0 // let them destroyed indirectly with program exit
-   LKL(gframeq.mutex);
-   eina_condition_free(&(gframeq.cond_new));
-   eina_condition_free(&(gframeq.cond_ready));
-   eina_condition_free(&(gframeq.cond_done));
-   LKU(gframeq.mutex);
-#endif
-   LKD(gframeq.mutex);
-
-   gframeq.frames = NULL;
-   gframeq.initialised = 0;
-}
-
-EAPI void
-evas_common_frameq_flush(void)
-{
-   if (! evas_common_frameq_enabled())
-      return;
-
-   LKL(gframeq.mutex);
-   while(eina_inlist_count(EINA_INLIST_GET(gframeq.frames)) > 0)
-     {
-        /* wait a worker thread finish previous frame */
-        eina_condition_wait(&(gframeq.cond_done));
-   }
-   LKU(gframeq.mutex);
-}
-
-
-EAPI void
-evas_common_frameq_flush_ready(void)
-{
-   return;
-}
-
-EAPI int
-evas_common_frameq_get_frameq_sz(void)
-{
-   return gframeq.frameq_sz;
-}
-
-EAPI int
-evas_common_frameq_enabled(void)
-{
-   return gframeq.initialised;
-}
-#endif
-
 static RGBA_Pipe *evas_common_pipe_add(RGBA_Pipe *pipe, RGBA_Pipe_Op **op);
 static void evas_common_pipe_draw_context_copy(RGBA_Draw_Context *dc, RGBA_Pipe_Op *op);
 static void evas_common_pipe_op_free(RGBA_Pipe_Op *op);
@@ -300,501 +99,6 @@ evas_common_pipe_thread(void *data)
      }
    return NULL;
 }
-
-#ifdef EVAS_FRAME_QUEUING
-static void
-evas_common_frameq_release(void *data)
-{
-   Evas_FrameQ *frameq;
-   Evas_Frameq_Thread_Info *fq_info;
-   Thinfo *thinfo;
-
-   thinfo = data;
-   fq_info = (Evas_Frameq_Thread_Info *)(thinfo->fq_info);
-   frameq = fq_info->frameq;
-
-   /* This thread may or may not own the mutex.
-    * But there's no way to determine the ownership of the mutex, so release it anyway 
-    */
-   LKU(frameq->mutex);
-}
-
-static void *
-evas_common_frameq_thread(void *data)
-{
-   Evas_FrameQ *frameq;
-   Evas_Frame *frame;
-   Evas_Surface *surface;
-   RGBA_Pipe *p;
-   Thinfo *thinfo;
-   Evas_Frameq_Thread_Info *fq_info;
-   RGBA_Pipe_Thread_Info p_info;
-
-   thinfo = data;
-   fq_info = (Evas_Frameq_Thread_Info *)(thinfo->fq_info);
-   frameq = fq_info->frameq;
-
-   pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
-   pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
-   /* install  thread cancelation cleanup handler */
-   pthread_cleanup_push(evas_common_frameq_release, data); 
-
-   for (;;)
-     {
-        frame = NULL;
-               
-        /* 1. pick a frame to draw */
-        LKL(frameq->mutex);
-        while(!frame)
-          {
-             EINA_INLIST_FOREACH(EINA_INLIST_GET(frameq->frames), frame)
-               {
-                  if (!frame->in_process)
-                    {
-                       frame->in_process = 1;
-                       break;
-                    }
-               }
-             if (frame)
-               {
-                  break;
-               }
-             pthread_testcancel();
-             eina_condition_wait(&(frameq->cond_new));
-          }
-        LKU(frameq->mutex);
-
-        /* 2. draw selected frame */
-        EINA_INLIST_FOREACH(EINA_INLIST_GET(frame->surfaces), surface)
-          {
-             p_info.im = surface->im;
-             p_info.x = 0;
-             p_info.y = 0;
-             p_info.w = surface->im->cache_entry.w;
-             p_info.h = surface->im->cache_entry.h;
-
-             EINA_INLIST_FOREACH(EINA_INLIST_GET(p_info.im->cache_entry.pipe), p)
-               {
-                  int i;
-
-                  for (i = 0; i < p->op_num; i++)
-                    {
-                       if (p->op[i].op_func)
-                         {
-                            p->op[i].op_func(p_info.im, &(p->op[i]), &p_info);
-                         }
-                    }
-               }
-
-             /* push surface out */
-             if (! surface->dontpush)
-               {
-                  frame->output_redraws_next_update_push(frame->data,  
-                              surface->im, surface->x, surface->y, surface->w, surface->h);
-               }
-          }
-
-        // record frame ready time, will be used in post worker thread, evas_common_frameq_thread_post()
-        gettimeofday(&frame->ready_time, NULL);
-
-        LKL(frameq->mutex);
-        frame->ready = 1;
-        eina_condition_signal(&(frameq->cond_ready));
-        LKU(frameq->mutex);
-     }
-
-   // Remove cleanup handler
-   pthread_cleanup_pop(0);
-   return NULL;
-}
-
-
-#define INTERVAL_QSIZE 17  // Actual size is 'INTERVAL_QSIZE - 1' because of not using index
-#define SATISFACTION_THRESHOLD 4 // 4 ms --> 250 FPS
-#define RESET_RATIO 4   // RESET_RATIO * [Average Ready Gap | get_max_interval()] --> Reset Threshold
-#define DOUBLE_RESET_TIME_INTERVAL_THRESHOLD 16000 // make it double in case of less 16ms
-#define RESET_ABSOLUTE_INTERVAL 600000  // 600 msec
-
-struct iq_node
-{
-   long long rt;
-   long long ri;
-};
-
-static struct iq_node _IQ[INTERVAL_QSIZE];
-static int _IQ_head = 0, _IQ_tail = 0;
-static int _IQ_length = 0;
-static long long min_ready, max_ready;
-static long long average_interval;
-
-static int 
-_IQ_next_index(int i)
-{
-   return (i + 1) % INTERVAL_QSIZE;
-}
-
-static int 
-_IQ_previous_index(int i)
-{
-   if (--i < 0) i += INTERVAL_QSIZE;
-   return i;
-}
-
-static void 
-_IQ_init(void)
-{
-   _IQ_length = _IQ_head = _IQ_tail = 0;
-   min_ready = LLONG_MAX, max_ready = LLONG_MIN;
-   average_interval = 0;
-}
-
-static int 
-_IQ_empty(void)
-{
-   return (_IQ_head == _IQ_tail) ? 1 : 0;
-}
-
-static int 
-_IQ_full(void)
-{
-   return (_IQ_head == ((_IQ_tail + 1) % INTERVAL_QSIZE)) ? 1 : 0;
-}
-
-static void 
-_IQ_insert(long long ready_time, long long last_interval)
-{
-   if (_IQ_full()) return;
-
-   if (_IQ_empty())
-     {
-        if (last_interval < 0)
-          {
-             last_interval = -last_interval;
-          }
-        _IQ[_IQ_tail].rt = ready_time;
-        _IQ[_IQ_tail].ri = last_interval;
-        min_ready = ready_time - last_interval;
-        max_ready = ready_time;
-        _IQ_tail = _IQ_next_index(_IQ_tail);
-        _IQ_length++;
-     }
-   else
-     {
-        if (max_ready < ready_time)
-          {
-             _IQ[_IQ_tail].rt = ready_time;
-             _IQ[_IQ_tail].ri = ready_time - max_ready;
-             _IQ_tail = _IQ_next_index(_IQ_tail);
-             _IQ_length++;
-             max_ready = ready_time;
-          }
-        else if (ready_time < min_ready)
-          {
-             last_interval = _IQ[_IQ_head].ri;
-             _IQ[_IQ_head].ri = _IQ[_IQ_head].rt - ready_time;
-             _IQ_head = _IQ_previous_index(_IQ_head);
-             _IQ[_IQ_head].rt = ready_time;
-             _IQ[_IQ_head].ri = last_interval;
-             min_ready = ready_time;
-             _IQ_length++;
-          }
-        else
-          {
-             int i, j, k, l = 0;
-             for (i = _IQ_head; i != _IQ_tail; i = j)
-               {
-                  j = _IQ_next_index(i);
-                  if (_IQ[j].rt < ready_time)
-                    {
-                       continue;
-                    }
-                  break;
-               }
-             for (k = _IQ_tail; k != j; k = l)
-               {
-                  l = _IQ_previous_index(k);
-                  _IQ[k] = _IQ[l];
-               }
-             i = _IQ_next_index(j);
-             _IQ[j].ri -= (_IQ[j].rt - ready_time);
-             _IQ[j].rt = ready_time;
-             _IQ[i].ri = _IQ[i].rt - ready_time;
-             _IQ_tail = _IQ_next_index(_IQ_tail);
-             _IQ_length++;
-          }
-     }
-   average_interval = (max_ready - min_ready) / _IQ_length;
-}
-
-static long long 
-_IQ_delete(void)
-{
-   struct iq_node oldest;
-  
-   if (_IQ_empty()) return 0;
-   oldest = _IQ[_IQ_head];
-   _IQ_head = (_IQ_head + 1) % INTERVAL_QSIZE;
-   if ((--_IQ_length) == 0)
-     {
-        _IQ_init();
-     }
-   else
-     {
-        min_ready = _IQ[_IQ_head].rt;
-        average_interval = (max_ready - min_ready) / _IQ_length;
-     }
-
-   return oldest.ri;
-}
-
-static long long 
-get_max_interval(void)
-{
-   int i;
-   long long max = LLONG_MIN;
-
-   for ( i= _IQ_head ; i != _IQ_tail ; i = _IQ_next_index(i))
-     {
-        if (_IQ[i].ri > max)
-          {
-             max = _IQ[i].ri;
-          }
-     }
-
-   return max;
-}
-
-static long long 
-tv_to_long_long(struct timeval *tv)
-{
-   if (!tv)
-     {
-        return 0;
-     }
-
-   return tv->tv_sec * 1000000LL + tv->tv_usec;
-}
-
-static long long
-evas_common_frameq_schedule_flush_time(int frameq_sz, int thread_no, 
-                                       long long last_ready_time, long long current_ready_time,
-                                       long long last_flush_time, int ready_frames_num,
-                                       int dont_schedule)
-{
-   // to get each time and to do others
-   long long current_time = 0LL;
-   long long current_ready_interval = 0LL;
-   long long theshold_time = SATISFACTION_THRESHOLD * 1000LL;  // ms -> usec
-   long long reset_time_interval = 0LL;
-   long long sleep_time = 0LL;
-   long long saved_ready_time, saved_ready_interval;
-   long long time_slept = 0LL;
-   static long long time_lag = 0;
-   struct timeval now;
-   int frameq_full_threshold =0;
-   int need_reset = 0;
-   int need_schedule = 0;
-
-   frameq_full_threshold = frameq_sz -thread_no;       // Qsize - threads#
-   
-   /* 1.5 defer flush time of current frame if need */
-   // in case of the first time, just keep ready time only
-   if (last_ready_time == 0LL)
-     {
-        last_ready_time = current_ready_time;
-     }
-   else
-     {
-        /* 1.5.1 get current ready time & interval */
-        saved_ready_time = current_ready_time;
-        saved_ready_interval = current_ready_interval = current_ready_time - last_ready_time;
-        // compensate a case which current ready time is older than previous one, 
-        // doesn't work on the interval queue
-        if (current_ready_interval < 0)
-          {
-             current_ready_time = last_ready_time;
-             current_ready_interval = 0;
-          }
-
-        /* 1.5.2 get the reset time interval before keeping a new one */
-        if (!_IQ_empty())
-          {
-             reset_time_interval = RESET_RATIO * average_interval;
-             if (average_interval < DOUBLE_RESET_TIME_INTERVAL_THRESHOLD) 
-               {
-                  reset_time_interval *= 2;
-               }
-          }
-
-        /* 1.5.3 reset - if too late, discard all saved interval and start from here */
-        if (current_ready_interval > RESET_ABSOLUTE_INTERVAL)
-          {
-             need_reset = 1;
-          }
-        else if (_IQ_length >= thread_no * 2 && current_ready_interval > reset_time_interval)
-          {
-             need_reset = 1;
-          }
-        else if (_IQ_length >= thread_no && _IQ_length < thread_no * 2 
-             && current_ready_interval > get_max_interval() * RESET_RATIO)
-          {
-             need_reset = 1;
-          }
-       
-        if (need_reset)
-          {
-             _IQ_init();
-          }
-        else
-          {
-             /* 1.5.4 enqueue - keep a new interval for next average interval */
-             if (_IQ_full())
-               {
-                  _IQ_delete();
-               }
-             _IQ_insert(saved_ready_time, saved_ready_interval);
-
-             /* 1.5.5 schedule - if faster than average interval, figure out sleep time to meet it */
-             if (!dont_schedule)
-               {
-                  need_schedule = 0;
-                  sleep_time = 0;
-                  if (_IQ_length >= thread_no * 2 && average_interval > theshold_time)
-                    {
-                       need_schedule = 1;
-                    }
-                  // compensate the case that postworker blocks the workers from getting a new fresh frame
-                  // It's actually occurred when during the wait time of postworker, the frame queue is full
-                  // Consequently check the number of currently ready frames and apply some time drop to average time according to the number
-                  if (ready_frames_num >= frameq_full_threshold)
-                    {
-                       need_schedule = 0;
-                    }
-                  if (need_schedule)
-                    {
-                       gettimeofday(&now, NULL);
-                       current_time = tv_to_long_long(&now);
-                       time_lag += (current_time - last_flush_time);
-                       sleep_time = (average_interval < time_lag) ? 0 : (average_interval - time_lag);
-                    }
-               }
-
-             /* 1.5.6 sleep - actually sleep and get over-slept time (time_lag) for next frame */
-             if (sleep_time > 0)
-               {
-                  sleep_time = sleep_time * 9 / 10;
-                  usleep((unsigned int)sleep_time);
-                  gettimeofday(&now, NULL);
-                  time_slept = tv_to_long_long(&now) - current_time;
-                  time_lag = time_slept - sleep_time;
-               }
-             else
-               {
-                  time_lag = 0;
-               }
-          }
-        last_ready_time = current_ready_time;
-     }
-
-   return last_ready_time;
-}
-
-static void *
-evas_common_frameq_thread_post(void *data)
-{
-   Evas_FrameQ *frameq;
-   Evas_Frame *frame;
-   Evas_Surface *surface;
-   Thinfo *thinfo;
-   Evas_Frameq_Thread_Info *fq_info;
-   Eina_List   *pending_writes = NULL;
-   Eina_List   *prev_pending_writes = NULL;
-
-   long long last_ready_time = 0LL;
-   long long current_ready_time;
-   Evas_Frame *temp_frame = NULL;
-   int ready_frames_num;
-   long long last_flush_time = 0LL;
-   struct timeval now;
-   int dont_schedule = 0;
-
-   thinfo = data;
-   fq_info = (Evas_Frameq_Thread_Info *)(thinfo->fq_info);
-   frameq = fq_info->frameq;
-
-   pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
-   pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
-   /* install  thread cancelation cleanup handler */
-   pthread_cleanup_push(evas_common_frameq_release, data); 
-
-   _IQ_init();
-
-   for (;;)
-     {
-        /* 1. wait the first frame being done */
-        LKL(frameq->mutex);
-        while(!frameq->frames || !frameq->frames->ready)
-          {
-             eina_condition_wait(&(frameq->cond_ready));
-          }
-        frame = frameq->frames;
-
-        /* 1.5. prepare to schedule flush time */
-        current_ready_time = tv_to_long_long(&frame->ready_time);
-        ready_frames_num = 0;
-        EINA_INLIST_FOREACH(EINA_INLIST_GET(frameq->frames), temp_frame)
-          {
-             if (temp_frame->ready == 1)
-               {
-                  ready_frames_num++;
-               }
-          }
-        dont_schedule = (frame->dont_schedule)?1:0;
-        LKU(frameq->mutex);
-
-        /* 2. generate pending_writes */
-        EINA_INLIST_FOREACH(EINA_INLIST_GET(frame->surfaces), surface)
-         {
-            evas_common_pipe_flush(surface->im);
-            if (! surface->dontpush)
-              {
-                 pending_writes = eina_list_append(pending_writes, surface->im);
-              }
-         }
-
-        /* 2.5. schedule flush time */
-        last_ready_time = evas_common_frameq_schedule_flush_time(
-                                       frameq->frameq_sz, frameq->thread_num, 
-                                       last_ready_time, current_ready_time,
-                                       last_flush_time, ready_frames_num, dont_schedule);
-
-        /* 3. flush redraws */
-        frame->output_set_priv(frame->data, pending_writes, prev_pending_writes);
-        frame->output_flush(frame->data);
-        gettimeofday(&now, NULL);
-        // keep as the last flush time
-        last_flush_time = now.tv_sec * 1000000LL + now.tv_usec;
-
-        prev_pending_writes = pending_writes;
-        pending_writes = NULL;
-
-        /* 4. remove this frame from the frame queue */
-        LKL(frameq->mutex);
-        frameq->frames = 
-            (Evas_Frame *)eina_inlist_remove(EINA_INLIST_GET(frameq->frames), 
-                  EINA_INLIST_GET(frame));
-
-        LKU(frameq->mutex);
-        eina_condition_broadcast(&frameq->cond_done);
-        evas_common_frame_dealloc(frame);
-     }
-
-   // Remove cleanup handler
-   pthread_cleanup_pop(0);
-   return NULL;
-}
-
-#endif /* EVAS_FRAME_QUEUING */
 #endif
 
 #ifdef BUILD_PTHREAD
@@ -809,10 +113,6 @@ evas_common_pipe_begin(RGBA_Image *im)
 #ifdef BUILD_PTHREAD
    int i, y, h;
 
-#ifdef EVAS_FRAME_QUEUING
-   return;
-#endif
-
    if (!im->cache_entry.pipe) return;
    if (thread_num == 1) return;
    y = 0;
@@ -844,138 +144,35 @@ evas_common_pipe_begin(RGBA_Image *im)
 #endif
 }
 
-#ifdef EVAS_FRAME_QUEUING
-EAPI void
-evas_common_frameq_begin(void)
-{
-#ifdef BUILD_PTHREAD
-   int i;
-   Evas_Frameq_Thread_Info *fp_info;
-   pthread_attr_t attr;
-   cpu_set_t cpu;
-
-   if (!gframeq.initialised)
-     {
-        int cpunum, set_cpu_affinity = 0;
-
-        cpunum = eina_cpu_count();
-        gframeq.thread_num = cpunum;
-        gframeq.frameq_sz = cpunum * FRAMEQ_SZ_PER_THREAD;
-
-       eina_threads_init();
-
-        for (i = 0; i < gframeq.thread_num; i++)
-          {
-
-             fp_info = calloc(1, sizeof(Evas_Frameq_Thread_Info));
-             fp_info->frameq = &gframeq;
-
-             gframeq.thinfo[i].thread_num = i;
-             gframeq.thinfo[i].fq_info = fp_info;
-
-             pthread_attr_init(&attr);
-             if (set_cpu_affinity)
-               {
-                  CPU_ZERO(&cpu);
-                  CPU_SET((i+1) % cpunum, &cpu);
-                  pthread_attr_setaffinity_np(&attr, sizeof(cpu), &cpu);
-               }
-
-             pthread_create(&(gframeq.thinfo[i].thread_id), &attr,
-                     evas_common_frameq_thread, &(gframeq.thinfo[i]));
-
-             pthread_attr_destroy(&attr);
-             pthread_detach(gframeq.thinfo[i].thread_id);
-          }
-
-          {
-             fp_info = calloc(1, sizeof(Evas_Frameq_Thread_Info));
-             fp_info->frameq = &gframeq;
-
-             gframeq.thinfo[i].thread_num = i;
-             gframeq.thinfo[i].fq_info = fp_info;
-
-             pthread_attr_init(&attr);
-             if (set_cpu_affinity)
-               {
-                  CPU_ZERO(&cpu);
-                  CPU_SET((i+1) % cpunum, &cpu);
-                  pthread_attr_setaffinity_np(&attr, sizeof(cpu), &cpu);
-               }
-
-             pthread_create(&(gframeq.thinfo[i].thread_id), &attr,
-                     evas_common_frameq_thread_post, &(gframeq.thinfo[i]));
-             pthread_attr_destroy(&attr);
-             pthread_detach(gframeq.thinfo[i].thread_id);
-          }
-        gframeq.initialised = 1;       // now worker threads are created.
-
-       INF("initialised");
-       DBG("%d cpus, set_cpu_affinity=%d, frameq_sz=%d",
-           cpunum, set_cpu_affinity, gframeq.frameq_sz);
-     }
-#endif /* BUILD_PTHREAD */
-}
-
-EAPI void
-evas_common_frameq_finish(void)
-{
-   int i;
-   
-   /* 1. cancel all worker threads */
-   for (i = 0; i < gframeq.thread_num; i++)
-     {
-        pthread_cancel(gframeq.thinfo[i].thread_id);
-     }
-     // cancel post-worker thread
-     pthread_cancel(gframeq.thinfo[i].thread_id);
-
-   /* 2. send signal to worker threads so that they enter to the thread cancelation cleanup handler */
-   for (i = 0; i < gframeq.thread_num; i++)
-     {
-        eina_condition_signal(&(gframeq.cond_new));
-     }
-   // send signal to post-worker thread
-   eina_condition_signal(&(gframeq.cond_ready));
-
-   /* all the workers were created and detached before
-    *  so don't need to join them here.
-    */
-
-}
-
-#endif /* EVAS_FRAME_QUEUING */
-
 EAPI void
 evas_common_pipe_flush(RGBA_Image *im)
 {
    if (!im->cache_entry.pipe) return;
-#ifndef EVAS_FRAME_QUEUING
 #ifdef BUILD_PTHREAD
    if (thread_num > 1)
      {
-        /* sync worker threads */
-        pthread_barrier_wait(&(thbarrier[1]));
+       /* sync worker threads */
+       pthread_barrier_wait(&(thbarrier[1]));
      }
    else
 #endif
      {
        RGBA_Pipe *p;
        int i;
-
-        /* process pipe - 1 thead */
-        for (p = im->cache_entry.pipe; p; p = (RGBA_Pipe *)(EINA_INLIST_GET(p))->next)
-          {
-             for (i = 0; i < p->op_num; i++)
-               {
-                  if (p->op[i].op_func)
-                    {
-                       p->op[i].op_func(im, &(p->op[i]), NULL);
-                    }
-               }
-          }
+       
+       /* process pipe - 1 thead */
+       for (p = im->cache_entry.pipe; p; p = (RGBA_Pipe *)(EINA_INLIST_GET(p))->next)
+        {
+          for (i = 0; i < p->op_num; i++)
+            {
+              if (p->op[i].op_func)
+                {
+                  p->op[i].op_func(im, &(p->op[i]), NULL);
+                }
+            }
+        }
      }
-#endif /* !EVAS_FRAME_QUEUING */
+
    evas_common_cpu_end_opt();
    evas_common_pipe_free(im);
 }
@@ -1153,37 +350,11 @@ evas_common_pipe_poly_draw(RGBA_Image *dst, RGBA_Draw_Context *dc,
 static void
 evas_common_pipe_op_text_free(RGBA_Pipe_Op *op)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(op->op.text.font->ref_fq_del);
-   op->op.text.font->ref_fq[1]++;
-   LKU(op->op.text.font->ref_fq_del);
-   eina_condition_signal(&(op->op.text.font->cond_fq_del));
-#else
    evas_common_font_free(op->op.text.font);
-#endif
    evas_common_text_props_content_unref(&(op->op.text.intl_props));
    evas_common_pipe_op_free(op);
 }
 
-#ifdef EVAS_FRAME_QUEUING
-/* flush all op using @fn */
-EAPI void
-evas_common_pipe_op_text_flush(RGBA_Font *fn)
-{
-   if (! evas_common_frameq_enabled())
-      return;
-
-   LKL(fn->ref_fq_add);
-   LKL(fn->ref_fq_del);
-
-   while (fn->ref_fq[0] != fn->ref_fq[1])
-     eina_condition_wait(&(fn->cond_fq_del));
-
-   LKU(fn->ref_fq_del);
-   LKU(fn->ref_fq_add);
-}
-#endif
-
 static void
 evas_common_pipe_text_draw_do(RGBA_Image *dst, RGBA_Pipe_Op *op, RGBA_Pipe_Thread_Info *info)
 {
@@ -1218,13 +389,7 @@ evas_common_pipe_text_draw(RGBA_Image *dst, RGBA_Draw_Context *dc,
    op->op.text.y = y;
    evas_common_text_props_content_copy_and_ref(&(op->op.text.intl_props),
          intl_props);
-#ifdef EVAS_FRAME_QUEUING
-   LKL(fn->ref_fq_add);
-   fn->ref_fq[0]++;
-   LKU(fn->ref_fq_add);
-#else
    fn->references++;
-#endif
    op->op.text.font = fn;
    op->op_func = evas_common_pipe_text_draw_do;
    op->free_func = evas_common_pipe_op_text_free;
@@ -1236,39 +401,14 @@ evas_common_pipe_text_draw(RGBA_Image *dst, RGBA_Draw_Context *dc,
 static void
 evas_common_pipe_op_image_free(RGBA_Pipe_Op *op)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(op->op.image.src->cache_entry.ref_fq_del);
-   op->op.image.src->cache_entry.ref_fq[1]++;
-   LKU(op->op.image.src->cache_entry.ref_fq_del);
-   eina_condition_signal(&(op->op.image.src->cache_entry.cond_fq_del));
-#else
    op->op.image.src->ref--;
    if (op->op.image.src->ref == 0)
      {
         evas_cache_image_drop(&op->op.image.src->cache_entry);
      }
-#endif
    evas_common_pipe_op_free(op);
 }
 
-#ifdef EVAS_FRAME_QUEUING
-EAPI void
-evas_common_pipe_op_image_flush(RGBA_Image *im)
-{
-   if (! evas_common_frameq_enabled())
-      return;
-   
-   LKL(im->cache_entry.ref_fq_add);
-   LKL(im->cache_entry.ref_fq_del);
-
-   while (im->cache_entry.ref_fq[0] != im->cache_entry.ref_fq[1])
-     eina_condition_wait(&(im->cache_entry.cond_fq_del));
-
-   LKU(im->cache_entry.ref_fq_del);
-   LKU(im->cache_entry.ref_fq_add);
-}
-#endif
-
 static void
 evas_common_pipe_image_draw_do(RGBA_Image *dst, RGBA_Pipe_Op *op, RGBA_Pipe_Thread_Info *info)
 {
@@ -1388,44 +528,21 @@ evas_common_pipe_image_draw(RGBA_Image *src, RGBA_Image *dst,
    op->op.image.dy = dst_region_y;
    op->op.image.dw = dst_region_w;
    op->op.image.dh = dst_region_h;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(src->cache_entry.ref_fq_add);
-   src->cache_entry.ref_fq[0]++;
-   LKU(src->cache_entry.ref_fq_add);
-#else
    src->ref++;
-#endif
    op->op.image.src = src;
    op->op_func = evas_common_pipe_image_draw_do;
    op->free_func = evas_common_pipe_op_image_free;
    evas_common_pipe_draw_context_copy(dc, op);
 
-#ifdef EVAS_FRAME_QUEUING
-   /* laod every src image here.
-    * frameq utilize all cpu cores already by worker threads
-    * so another threads and barrier waiting can't be of any benefit.
-    * therefore, not instantiate loader threads.
-    */
-   if (src->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-      evas_cache_image_load_data(&src->cache_entry);
-   evas_common_image_colorspace_normalize(src);
-#else
    evas_common_pipe_image_load(src);
-#endif
 }
 
 static void
 evas_common_pipe_op_map_free(RGBA_Pipe_Op *op)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(op->op.image.src->cache_entry.ref_fq_del);
-   op->op.image.src->cache_entry.ref_fq[1]++;
-   LKU(op->op.image.src->cache_entry.ref_fq_del);
-#else
    op->op.map.src->ref--;
    if (op->op.map.src->ref == 0)
      evas_cache_image_drop(&op->op.map.src->cache_entry);
-#endif
    free(op->op.map.p);
    evas_common_pipe_op_free(op);
 }
@@ -1477,31 +594,14 @@ evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
    op->op.map.npoints = npoints;
    op->op.map.smooth = smooth;
    op->op.map.level = level;
-#ifdef EVAS_FRAME_QUEUING
-   LKL(src->cache_entry.ref_fq_add);
-   src->cache_entry.ref_fq[0]++;
-   LKU(src->cache_entry.ref_fq_add);
-#else
    src->ref++;
-#endif
    op->op.map.src = src;
    op->op.map.p = pts_copy;
    op->op_func = evas_common_pipe_map_draw_do;
    op->free_func = evas_common_pipe_op_map_free;
    evas_common_pipe_draw_context_copy(dc, op);
 
-#ifdef EVAS_FRAME_QUEUING
-   /* laod every src image here.
-    * frameq utilize all cpu cores already by worker threads
-    * so another threads and barrier waiting can't be of any benefit.
-    * therefore, not instantiate loader threads.
-    */
-   if (src->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-      evas_cache_image_load_data(&src->cache_entry);
-   evas_common_image_colorspace_normalize(src);
-#else
    evas_common_pipe_image_load(src);
-#endif
 }
 
 static void
index 9680542..d648626 100644 (file)
@@ -11,81 +11,9 @@ typedef struct _Thinfo
    pthread_t              thread_id;
    pthread_barrier_t     *barrier;
    RGBA_Pipe_Thread_Info *info;
-# ifdef EVAS_FRAME_QUEUING
-   void                         *fq_info;
-#endif
 } Thinfo;
 #endif
 
-#ifdef EVAS_FRAME_QUEUING
-struct _Evas_Surface
-{
-   EINA_INLIST;
-   RGBA_Image *im;
-   int x, y, w, h;
-   int dontpush; // dont push the surface out after drawing done
-};
-typedef struct _Evas_Surface Evas_Surface;
-
-struct _Evas_Frame
-{
-   EINA_INLIST;
-   Evas_Surface *surfaces;
-   void *data;
-   int in_process;
-   int ready;
-   int dont_schedule;
-   struct timeval ready_time;
-
-   void (*output_redraws_next_update_push) (void *data, void *surface, int x, int y, int w, int h);
-   void (*output_flush)  (void *data);
-   void (*output_set_priv)(void *data, void *cur, void *prev);
-};
-typedef struct _Evas_Frame Evas_Frame;
-
-
-struct _Evas_FrameQ
-{
-   int initialised;
-   Evas_Frame   *frames;
-   Eina_Condition cond_new;
-   Eina_Condition cond_ready;
-   Eina_Condition cond_done;
-   LK(mutex);
-
-   int             thread_num;
-   Thinfo          thinfo[TH_MAX];
-   int            frameq_sz;
-
-   Evas_Frame *cur_frame;       
-};
-typedef struct _Evas_FrameQ Evas_FrameQ;
-#define FRAMEQ_SZ_PER_THREAD 2
-
-struct _Evas_Frameq_Thread_Info
-{
-   Evas_FrameQ *frameq;
-};
-typedef struct _Evas_Frameq_Thread_Info Evas_Frameq_Thread_Info;
-
-EAPI Evas_Surface *evas_common_frameq_new_surface(void *surface, int x, int y, int w, int h);
-EAPI void evas_common_frameq_add_surface(Evas_Surface *surface);
-EAPI void evas_common_frameq_set_frame_data(void *data, 
-                                            void (*fn_output_redraws_next_update_push) (void *data, void *surface, int x, int y, int w, int h),
-                                            void (*fn_output_flush)  (void *data),
-                                            void (*fn_output_set_priv)(void *data, void *cur, void *prev));
-EAPI void evas_common_frameq_prepare_frame(void);
-EAPI void evas_common_frameq_ready_frame(void);
-EAPI void evas_common_frameq_init(void);
-EAPI void evas_common_frameq_destroy(void);
-EAPI void evas_common_frameq_flush(void);
-EAPI void evas_common_frameq_flush_ready(void);
-EAPI int evas_common_frameq_get_frameq_sz(void);
-EAPI int evas_common_frameq_enabled(void);
-EAPI void evas_common_frameq_begin(void);
-EAPI void evas_common_frameq_finish(void);
-#endif
-
 /* image rendering pipelines... new optional system - non-immediate and
  * threadable
  */
@@ -104,9 +32,4 @@ EAPI void evas_common_pipe_map_draw(RGBA_Image *src, RGBA_Image *dst,
                                     int smooth, int level);
 EAPI void evas_common_pipe_flush(RGBA_Image *im);
 
-#ifdef EVAS_FRAME_QUEUING
-EAPI void evas_common_pipe_op_text_flush(RGBA_Font *fn);
-EAPI void evas_common_pipe_op_image_flush(RGBA_Image *im);
-#endif
-
 #endif /* _EVAS_PIPE_H */
index 6439144..915507e 100644 (file)
@@ -581,18 +581,9 @@ struct _Image_Entry
    Image_Timestamp        tstamp;
 
    int                    references;
-#ifdef EVAS_FRAME_QUEUING
-   LK(lock_references);   // needed for accessing references
-#endif
 
 #ifdef BUILD_PIPE_RENDER
    RGBA_Pipe           *pipe;
-#ifdef EVAS_FRAME_QUEUING
-   LK(ref_fq_add);
-   LK(ref_fq_del);
-   Eina_Condition cond_fq_del;
-   int ref_fq[2];              // ref_fq[0] is for addition, ref_fq[1] is for deletion
-#endif
 #endif
 
    unsigned char          scale;
@@ -912,12 +903,6 @@ struct _RGBA_Font
    Fash_Int        *fash;
    Font_Hint_Flags  hinting;
    int              references;
-#ifdef EVAS_FRAME_QUEUING
-   int              ref_fq[2]; //ref_fq[0] is for addition, ref_fq[1] is for deletion
-   Eina_Condition   cond_fq_del;
-   LK(ref_fq_add);
-   LK(ref_fq_del);
-#endif
    LK(lock);
    unsigned char    sizeok : 1;
 };
index 4667f6b..89627dd 100644 (file)
@@ -438,11 +438,7 @@ static void
 eng_rectangle_draw(void *data __UNUSED__, void *context, void *surface, int x, int y, int w, int h)
 {
 #ifdef BUILD_PIPE_RENDER
-   if ((cpunum > 1)
-#ifdef EVAS_FRAME_QUEUING
-        && evas_common_frameq_enabled()
-#endif
-        )
+   if ((cpunum > 1))
      evas_common_pipe_rectangle_draw(surface, context, x, y, w, h);
    else
 #endif
@@ -456,11 +452,7 @@ static void
 eng_line_draw(void *data __UNUSED__, void *context, void *surface, int x1, int y1, int x2, int y2)
 {
 #ifdef BUILD_PIPE_RENDER
-   if ((cpunum > 1)
- #ifdef EVAS_FRAME_QUEUING
-        && evas_common_frameq_enabled()
-#endif
-        )
+   if ((cpunum > 1))
     evas_common_pipe_line_draw(surface, context, x1, y1, x2, y2);
    else
 #endif   
@@ -486,11 +478,7 @@ static void
 eng_polygon_draw(void *data __UNUSED__, void *context, void *surface, void *polygon, int x, int y)
 {
 #ifdef BUILD_PIPE_RENDER
-   if ((cpunum > 1)
-#ifdef EVAS_FRAME_QUEUING
-        && evas_common_frameq_enabled()
-#endif
-        )
+   if ((cpunum > 1))
      evas_common_pipe_poly_draw(surface, context, polygon, x, y);
    else
 #endif
@@ -820,11 +808,7 @@ eng_image_draw(void *data __UNUSED__, void *context, void *surface, void *image,
    if (!image) return;
    im = image;
 #ifdef BUILD_PIPE_RENDER
-   if ((cpunum > 1)
-#ifdef EVAS_FRAME_QUEUING
-        && evas_common_frameq_enabled()
-#endif
-        )
+   if ((cpunum > 1))
      {
         evas_common_rgba_image_scalecache_prepare((Image_Entry *)(im), 
                                                   surface, context, smooth,
@@ -903,11 +887,7 @@ eng_image_map_draw(void *data __UNUSED__, void *context, void *surface, void *im
    else
      {
 #ifdef BUILD_PIPE_RENDER
-        if ((cpunum > 1)
-# ifdef EVAS_FRAME_QUEUING
-       && evas_common_frameq_enabled()
-# endif
-        )
+        if ((cpunum > 1))
           evas_common_pipe_map_draw(im, surface, context, npoints, p, smooth, level);
         else
 #endif
@@ -1187,11 +1167,7 @@ static void
 eng_font_draw(void *data __UNUSED__, void *context, void *surface, Evas_Font_Set *font, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, int oh __UNUSED__, const Evas_Text_Props *text_props)
 {
 #ifdef BUILD_PIPE_RENDER
-   if ((cpunum > 1)
-#ifdef EVAS_FRAME_QUEUING
-        && evas_common_frameq_enabled()
-#endif
-        )
+   if ((cpunum > 1))
      evas_common_pipe_text_draw(surface, context, (RGBA_Font *) font, x, y,
            text_props);
    else
index 0a2d2a3..94e78ac 100644 (file)
@@ -93,10 +93,6 @@ struct _Render_Engine
         int dpi;
      } xr;
  */
-#ifdef EVAS_FRAME_QUEUING
-   Evas_Engine_Render_Mode render_mode;
-#endif
-
    void (*outbuf_free)(Outbuf *ob);
    void (*outbuf_reconfigure)(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth);
    int (*outbuf_get_rot)(Outbuf *ob);
@@ -106,9 +102,6 @@ struct _Render_Engine
    void (*outbuf_flush)(Outbuf *ob);
    void (*outbuf_idle_flush)(Outbuf *ob);
    Eina_Bool (*outbuf_alpha_get)(Outbuf *ob);
-#ifdef EVAS_FRAME_QUEUING
-   void (*outbuf_set_priv)(Outbuf *ob, void *cur, void *prev);
-#endif
 };
 
 /* prototypes we will use here */
@@ -483,10 +476,6 @@ eng_setup(Evas *e, void *in)
              re->outbuf_flush = evas_software_xlib_outbuf_flush;
              re->outbuf_idle_flush = evas_software_xlib_outbuf_idle_flush;
             re->outbuf_alpha_get = evas_software_xlib_outbuf_alpha_get;
-# ifdef EVAS_FRAME_QUEUING
-             re->outbuf_set_priv = evas_software_xlib_outbuf_set_priv;
-             re->render_mode = info->render_mode;
-# endif
           }
 #endif
 
@@ -515,10 +504,6 @@ eng_setup(Evas *e, void *in)
              re->outbuf_flush = evas_software_xcb_outbuf_flush;
              re->outbuf_idle_flush = evas_software_xcb_outbuf_idle_flush;
             re->outbuf_alpha_get = evas_software_xcb_outbuf_alpha_get;
-# ifdef EVAS_FRAME_QUEUING
-             re->outbuf_set_priv = evas_software_xcb_outbuf_priv_set;
-             re->render_mode = info->render_mode;
-# endif
           }
 #endif
 
@@ -528,9 +513,6 @@ eng_setup(Evas *e, void *in)
      {
        int ponebuf = 0;
 
-#ifdef EVAS_FRAME_QUEUING
-        evas_common_frameq_flush();
-#endif
        re = e->engine.data.output;
        ponebuf = re->ob->onebuf;
 
@@ -554,9 +536,6 @@ eng_setup(Evas *e, void *in)
                                                  info->info.destination_alpha);
 
              evas_software_xlib_outbuf_debug_set(re->ob, info->info.debug);
-# ifdef EVAS_FRAME_QUEUING
-             re->render_mode = info->render_mode;
-# endif
           }
 #endif
 
@@ -581,9 +560,6 @@ eng_setup(Evas *e, void *in)
                                               info->info.destination_alpha);
 
              evas_software_xcb_outbuf_debug_set(re->ob, info->info.debug);
-#ifdef EVAS_FRAME_QUEUING
-             re->render_mode = info->render_mode;
-#endif
           }
 #endif
        re->ob->onebuf = ponebuf;
@@ -713,112 +689,24 @@ static void
 eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
 {
    Render_Engine *re;
-#ifdef EVAS_FRAME_QUEUING
-   Evas_Surface *e_surface;
-#endif
 
    re = (Render_Engine *)data;
-#if defined(BUILD_PIPE_RENDER) && !defined(EVAS_FRAME_QUEUING)
+#if defined(BUILD_PIPE_RENDER)
    evas_common_pipe_map_begin(surface);
-#endif /* BUILD_PIPE_RENDER  && !EVAS_FRAME_QUEUING*/
-
-#ifdef EVAS_FRAME_QUEUING
-   if (re->render_mode == EVAS_RENDER_MODE_NONBLOCKING)
-     {
-        /* create a new frame if this is the first surface of this frame */
-        evas_common_frameq_prepare_frame();
-        /* add surface into the frame */
-        e_surface = evas_common_frameq_new_surface(surface, x, y, w, h);
-        evas_common_frameq_add_surface(e_surface);
-        return;
-     }
-#endif
-
-   re->outbuf_push_updated_region(re->ob, surface, x, y, w, h);
-   re->outbuf_free_region_for_update(re->ob, surface);
-   evas_common_cpu_end_opt();
-}
-
-#ifdef EVAS_FRAME_QUEUING
-static void *
-eng_image_map_surface_new(void *data , int w, int h, int alpha)
-{
-   void *surface;
-   DATA32 *pixels;
-   Render_Engine *re;
-   Evas_Surface *e_surface;
-
-   re = (Render_Engine *)data;
-
-   surface = 
-     evas_cache_image_copied_data(evas_common_image_cache_get(), w, h, NULL, 
-                                  alpha, EVAS_COLORSPACE_ARGB8888);
-   pixels = evas_cache_image_pixels(surface);
-
-   if (re->render_mode == EVAS_RENDER_MODE_NONBLOCKING)
-     {
-        /* create a new frame if this is the first surface of this frame */
-        evas_common_frameq_prepare_frame();
-
-        /* add surface into the frame */
-        e_surface = evas_common_frameq_new_surface(surface, 0, 0, w, h);
-
-        /* this surface is not going to be pushed to screen */
-        e_surface->dontpush = 1;
-        evas_common_frameq_add_surface(e_surface);
-     }
-   return surface;
-}
+#endif /* BUILD_PIPE_RENDER */
 
-static void
-eng_output_frameq_redraws_next_update_push(void *data, void *surface, int x, int y, int w, int h)
-{
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
    re->outbuf_push_updated_region(re->ob, surface, x, y, w, h);
    re->outbuf_free_region_for_update(re->ob, surface);
    evas_common_cpu_end_opt();
 }
 
 static void
-eng_output_frameq_flush(void *data)
-{
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
-   re->outbuf_flush(re->ob);
-}
-
-static void
-eng_output_frameq_set_priv(void *data, void *cur, void *prev)
-{
-   Render_Engine *re;
-
-   re = (Render_Engine *)data;
-   re->outbuf_set_priv(re->ob, cur, prev);
-}
-#endif
-
-static void
 eng_output_flush(void *data)
 {
    Render_Engine *re;
 
    re = (Render_Engine *)data;
-#ifdef EVAS_FRAME_QUEUING
-   if (re->render_mode == EVAS_RENDER_MODE_NONBLOCKING)
-     {
-        evas_common_frameq_set_frame_data(data,
-                                          eng_output_frameq_redraws_next_update_push,
-                                          eng_output_frameq_flush,
-                                          eng_output_frameq_set_priv);
-        evas_common_frameq_ready_frame();
-        evas_common_frameq_begin();
-     } 
-   else
-#endif
-     re->outbuf_flush(re->ob);
+   re->outbuf_flush(re->ob);
 }
 
 static void
@@ -887,9 +775,6 @@ module_open(Evas_Module *em)
    ORD(output_redraws_next_update_push);
    ORD(output_flush);
    ORD(output_idle_flush);
-#ifdef EVAS_FRAME_QUEUING
-   ORD(image_map_surface_new);
-#endif
 
    /* now advertise out own api */
    em->functions = (void *)(&func);
index 80b71b7..ce60ea7 100644 (file)
@@ -119,11 +119,6 @@ struct _Outbuf
         /* a list of previous frame pending regions to write to the target */
         Eina_List *prev_pending_writes;
 
-# ifdef EVAS_FRAME_QUEUING
-        /* protecting prev_pending_writes */
-        LK(lock);
-# endif
-
         unsigned char mask_dither : 1;
         unsigned char destination_alpha : 1;
         unsigned char debug : 1;
index 49ce721..9136eb5 100644 (file)
@@ -297,13 +297,13 @@ evas_software_xcb_output_buffer_new(xcb_connection_t *conn, xcb_visualtype_t *vi
                        /* Sync only needed for testing */
                        if (try_shm == 2) _xcbob_sync(conn);
 
-#if defined(EVAS_FRAME_QUEUING) && defined(LIBXEXT_VERSION_LOW)
+#if defined(LIBXEXT_VERSION_LOW)
                        if (evas_common_frameq_enabled())
                          xcb_grab_server(conn);
 #endif
                        xcb_shm_attach(conn, xcbob->shm_info->shmseg, 
                                       xcbob->shm_info->shmid, 0);
-#if defined(EVAS_FRAME_QUEUING) && defined(LIBXEXT_VERSION_LOW)
+#if defined(LIBXEXT_VERSION_LOW)
                        if (evas_common_frameq_enabled()) 
                          xcb_ungrab_server(conn);
 #endif
index 71759be..b02df10 100644 (file)
@@ -25,29 +25,17 @@ static int _shmsize = 0;
 static int _shmlimit = (10 * 1024 * 1024);
 static const unsigned int _shmcountlimit = 32;
 
-#ifdef EVAS_FRAME_QUEUING
-static LK(lock_shmpool);
-# define SHMPOOL_LOCK() LKL(lock_shmpool);
-# define SHMPOOL_UNLOCK() LKU(lock_shmpool);
-#else
-# define SHMPOOL_LOCK()
-# define SHMPOOL_UNLOCK()
-#endif
+#define SHMPOOL_LOCK()
+#define SHMPOOL_UNLOCK()
 
 void 
 evas_software_xcb_outbuf_init(void) 
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKI(lock_shmpool);
-#endif
 }
 
 void 
 evas_software_xcb_outbuf_free(Outbuf *buf) 
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(buf->priv.lock);
-#endif
    while (buf->priv.pending_writes) 
      {
         RGBA_Image *im = NULL;
@@ -63,9 +51,6 @@ evas_software_xcb_outbuf_free(Outbuf *buf)
         if (obr->mask) _unfind_xcbob(obr->mask, EINA_FALSE);
         free(obr);
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKU(buf->priv.lock);
-#endif
    evas_software_xcb_outbuf_idle_flush(buf);
    evas_software_xcb_outbuf_flush(buf);
    if (buf->priv.x11.xcb.gc)
@@ -77,9 +62,6 @@ evas_software_xcb_outbuf_free(Outbuf *buf)
                                         buf->priv.x11.xcb.cmap, 
                                         buf->priv.x11.xcb.visual, 
                                         buf->priv.pal);
-#ifdef EVAS_FRAME_QUEUING
-   LKD(buf->priv.lock);
-#endif
    free(buf);
    _clear_xcbob(EINA_FALSE);
 }
@@ -231,10 +213,6 @@ evas_software_xcb_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, xcb_co
    evas_software_xcb_outbuf_drawable_set(buf, draw);
    evas_software_xcb_outbuf_mask_set(buf, mask);
 
-#ifdef EVAS_FRAME_QUEUING
-   LKI(buf->priv.lock);
-#endif
-
    return buf;
 }
 
@@ -470,10 +448,7 @@ evas_software_xcb_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w,
 //        memset(im->image.data, 0, (w * h * sizeof(DATA32)));
      }
 
-#ifdef EVAS_FRAME_QUEUING
-   if (!evas_common_frameq_enabled())
-#endif
-     buf->priv.pending_writes = eina_list_append(buf->priv.pending_writes, im);
+   buf->priv.pending_writes = eina_list_append(buf->priv.pending_writes, im);
 
    return im;
 }
@@ -585,9 +560,6 @@ evas_software_xcb_outbuf_flush(Outbuf *buf)
                                                      buf->priv.x11.xcb.gcm, 
                                                      obr->x, obr->y, 0);
           }
-# ifdef EVAS_FRAME_QUEUING
-        LKL(buf->priv.lock);
-# endif
         while (buf->priv.prev_pending_writes) 
           {
              im = buf->priv.prev_pending_writes->data;
@@ -601,9 +573,6 @@ evas_software_xcb_outbuf_flush(Outbuf *buf)
              free(obr);
           }
         buf->priv.prev_pending_writes = buf->priv.pending_writes;
-# ifdef EVAS_FRAME_QUEUING
-        LKU(buf->priv.lock);
-# endif
         buf->priv.pending_writes = NULL;
         xcb_flush(buf->priv.x11.xcb.conn);
 #else
@@ -648,9 +617,6 @@ evas_software_xcb_outbuf_idle_flush(Outbuf *buf)
      }
    else 
      {
-#ifdef EVAS_FRAME_QUEUING
-        LKL(buf->priv.lock);
-#endif
         if (buf->priv.prev_pending_writes)
           _xcbob_sync(buf->priv.x11.xcb.conn);
         while (buf->priv.prev_pending_writes) 
@@ -668,9 +634,6 @@ evas_software_xcb_outbuf_idle_flush(Outbuf *buf)
              if (obr->mask) _unfind_xcbob(obr->mask, EINA_FALSE);
              free(obr);
           }
-#ifdef EVAS_FRAME_QUEUING
-        LKU(buf->priv.lock);
-#endif
         _clear_xcbob(EINA_FALSE);
      }
 }
@@ -967,13 +930,6 @@ evas_software_xcb_outbuf_debug_show(Outbuf *buf, xcb_drawable_t drawable, int x,
      }
 }
 
-#ifdef EVAS_FRAME_QUEUING
-void 
-evas_software_xcb_outbuf_priv_set(Outbuf *buf, void *cur, void *prev __UNUSED__) 
-{
-   buf->priv.pending_writes = (Eina_List *)cur;
-}
-#endif
 
 /* local functions */
 static Xcb_Output_Buffer *
index b711848..e9f3001 100644 (file)
@@ -23,8 +23,4 @@ Eina_Bool evas_software_xcb_outbuf_alpha_get(Outbuf *buf);
 void evas_software_xcb_outbuf_debug_set(Outbuf *buf, Eina_Bool debug);
 void evas_software_xcb_outbuf_debug_show(Outbuf *buf, xcb_drawable_t drawable, int x, int y, int w, int h);
 
-# ifdef EVAS_FRAME_QUEUING
-void evas_software_xcb_outbuf_priv_set(Outbuf *buf, void *cur, void *prev);
-# endif
-
 #endif
index 594041c..756ffb7 100644 (file)
@@ -305,13 +305,13 @@ evas_software_xlib_x_output_buffer_new(Display *d, Visual *v, int depth, int w,
                                  ph = XSetErrorHandler((XErrorHandler)
                                                        x_output_tmp_x_err);
                               }
-#if defined(EVAS_FRAME_QUEUING) && defined(LIBXEXT_VERSION_LOW)
+#if defined(LIBXEXT_VERSION_LOW)
                     /* workaround for libXext of lower then 1.1.1 */
                     if (evas_common_frameq_enabled())
                        XLockDisplay(d);
 #endif
                            XShmAttach(d, xob->shm_info);
-#if defined(EVAS_FRAME_QUEUING) && defined(LIBXEXT_VERSION_LOW)
+#if defined(LIBXEXT_VERSION_LOW)
                     /* workaround for libXext of lower then 1.1.1 */
                     if (evas_common_frameq_enabled())
                        XUnlockDisplay(d);
index 24c45df..9662bb3 100644 (file)
@@ -29,14 +29,8 @@ static int shmsize = 0;
 static int shmmemlimit = 10 * 1024 * 1024;
 static const unsigned int shmcountlimit = 32;
 
-#ifdef EVAS_FRAME_QUEUING
-static LK(lock_shmpool);
-#define SHMPOOL_LOCK()         LKL(lock_shmpool)
-#define SHMPOOL_UNLOCK()       LKU(lock_shmpool)
-#else
 #define SHMPOOL_LOCK()
 #define SHMPOOL_UNLOCK()
-#endif
 
 static X_Output_Buffer *
 _find_xob(Display *d, Visual *v, int depth, int w, int h, int shm, void *data)
@@ -150,17 +144,11 @@ _clear_xob(int psync)
 void
 evas_software_xlib_outbuf_init(void)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKI(lock_shmpool);
-#endif
 }
 
 void
 evas_software_xlib_outbuf_free(Outbuf *buf)
 {
-#ifdef EVAS_FRAME_QUEUING
-   LKL(buf->priv.lock);
-#endif
    while (buf->priv.pending_writes)
      {
        RGBA_Image *im;
@@ -174,9 +162,6 @@ evas_software_xlib_outbuf_free(Outbuf *buf)
        if (obr->mxob) _unfind_xob(obr->mxob, 0);
        free(obr);
      }
-#ifdef EVAS_FRAME_QUEUING
-   LKU(buf->priv.lock);
-#endif
    evas_software_xlib_outbuf_idle_flush(buf);
    evas_software_xlib_outbuf_flush(buf);
    if (buf->priv.x11.xlib.gc)
@@ -186,9 +171,6 @@ evas_software_xlib_outbuf_free(Outbuf *buf)
    if (buf->priv.pal)
       evas_software_xlib_x_color_deallocate(buf->priv.x11.xlib.disp, buf->priv.x11.xlib.cmap,
                                           buf->priv.x11.xlib.vis, buf->priv.pal);
-#ifdef EVAS_FRAME_QUEUING
-   LKD(buf->priv.lock);
-#endif
    free(buf);
    _clear_xob(0);
 }
@@ -361,9 +343,6 @@ evas_software_xlib_outbuf_setup_x(int w, int h, int rot, Outbuf_Depth depth,
       evas_software_xlib_outbuf_drawable_set(buf, draw);
       evas_software_xlib_outbuf_mask_set(buf, mask);
    }
-#ifdef EVAS_FRAME_QUEUING
-   LKI(buf->priv.lock);
-#endif
    return buf;
 }
 
@@ -636,10 +615,7 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
 //        memset(im->image.data, 0, w * h * sizeof(DATA32));
      }
 
-#ifdef EVAS_FRAME_QUEUING
-   if (!evas_common_frameq_enabled())
-#endif
-      buf->priv.pending_writes = eina_list_append(buf->priv.pending_writes, im);
+   buf->priv.pending_writes = eina_list_append(buf->priv.pending_writes, im);
    return im;
 }
 
@@ -740,9 +716,6 @@ evas_software_xlib_outbuf_flush(Outbuf *buf)
                                                       buf->priv.x11.xlib.gcm,
                                                       obr->x, obr->y, 0);
          }
-#ifdef EVAS_FRAME_QUEUING
-        LKL(buf->priv.lock);
-#endif
        while (buf->priv.prev_pending_writes)
          {
             im = buf->priv.prev_pending_writes->data;
@@ -756,9 +729,6 @@ evas_software_xlib_outbuf_flush(Outbuf *buf)
             free(obr);
          }
        buf->priv.prev_pending_writes = buf->priv.pending_writes;
-#ifdef EVAS_FRAME_QUEUING
-        LKU(buf->priv.lock);
-#endif
        buf->priv.pending_writes = NULL;
        XFlush(buf->priv.x11.xlib.disp);
 #else
@@ -819,9 +789,6 @@ evas_software_xlib_outbuf_idle_flush(Outbuf *buf)
      }
    else
      {
-#ifdef EVAS_FRAME_QUEUING
-        LKL(buf->priv.lock);
-#endif
        if (buf->priv.prev_pending_writes) XSync(buf->priv.x11.xlib.disp, False);
        while (buf->priv.prev_pending_writes)
          {
@@ -838,9 +805,6 @@ evas_software_xlib_outbuf_idle_flush(Outbuf *buf)
             if (obr->mxob) _unfind_xob(obr->mxob, 0);
             free(obr);
          }
-#ifdef EVAS_FRAME_QUEUING
-        LKU(buf->priv.lock);
-#endif
        _clear_xob(0);
      }
 }
@@ -1128,10 +1092,3 @@ evas_software_xlib_outbuf_alpha_get(Outbuf *buf)
    return buf->priv.x11.xlib.mask;
 }
 
-#ifdef EVAS_FRAME_QUEUING
-void
-evas_software_xlib_outbuf_set_priv(Outbuf *buf, void *cur, void *prev __UNUSED__)
-{
-   buf->priv.pending_writes = (Eina_List *)cur;
-}
-#endif
index d70eb8d..8745a1a 100644 (file)
@@ -83,10 +83,5 @@ void         evas_software_xlib_outbuf_debug_show (Outbuf  *buf,
                                                    int      h);
 
 Eina_Bool    evas_software_xlib_outbuf_alpha_get (Outbuf *buf);
-#ifdef EVAS_FRAME_QUEUING
-void         evas_software_xlib_outbuf_set_priv (Outbuf *buf,
-                                                  void *cur,
-                                                  void *prev);
-#endif
 
 #endif