Commit Graph

47 Commits

Author SHA1 Message Date
Jean-Philippe Andre caf237abdf evas: Fix unlikely crash with image cache
This happened to me when running elm_suite manually, during
elm_shutdown. At this point, cache shouldn't be null, but better
be safe anyway.
2016-09-01 11:57:43 +09:00
Carsten Haitzler 485074df3a evas engine cache - drop useless iff that assert already checked
CID 1267465 pointed this out - assert(eim) already checked this so no
need to do it again - looks confusing
2016-07-11 22:09:12 +09:00
Carsten Haitzler 5fa3815e01 evas update buf - dont ref and unref outbug as an evas image - it's not
we need calls to ref/unref them from engines, but atm it's ok because
they dont get deleted until the flush is done and not used after that...

@fix
2016-07-03 15:45:46 +09:00
jiin.moon cdb7286485 evas: some changes for preload thread dead lock issue
Summary:
Add spin lock to access to new flag can check to
status of the preload

Reviewers: jpeg, cedric, jypark

Subscribers: raster

Differential Revision: https://phab.enlightenment.org/D3775

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-03-15 11:57:25 -07:00
jiin.moon 41b8a320a0 evas: fix preload thread deadlock issue
Summary: Wrong condition makes deadlock issue.

Reviewers: jpeg, jypark

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3742

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-04 16:09:51 -08:00
Minkyoung Kim 25ebd91555 evas/gl : Do not re-preload image data if texture is successfully uploaded with image data.
Summary:
'cached' flag is not enough to check whethere data is loaded and texture is uploaded.
so check more options for prevent re-preload image data on gl-backend.

Test Plan: Local Test (elementary_test : elm images)

Reviewers: jpeg, eunue

Reviewed By: jpeg

Subscribers: cedric, jiin.moon, wonsik, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3446
2015-12-18 16:49:17 +09:00
Minkyoung Kim a9df72f611 evas: Do not preload data if data is cached.
Summary: Summary : If data is cached, need not to reload data.

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: eunue, spacegrapher, cedric, wonsik, jiin.moon

Differential Revision: https://phab.enlightenment.org/D3418
2015-12-11 14:05:12 +09:00
Joogab Yun 25bcf4c64f Evas: Fix bug in evas_cache_image_dirty()
Summary: Code which shouldn't be removed was removed by '800279c23bdb0e925f112c96516dcc96a5487684'

Reviewers: spacegrapher, cedric, jpeg

Reviewed By: jpeg

Subscribers: scholb.kim, dkdk, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D3278
2015-11-11 14:35:24 +09:00
Carsten Haitzler 5b2baf173e efl - set thread names for internally created threads for debugging
@feature
2015-09-10 15:17:08 +09:00
Carsten Haitzler ec6ddf59e2 evas - image core - fix unloading of images to work again
i think this has been disabled for a while. image unloading is broken
- esp with gl enigne as due to async move it was effectively disabled.

this re-enables it. unloading is deferred with a managed list of things
needing unloading and then when any async sw renders are not busy any
more - do the unload then in the mainloop of all pending/flagged
images to unload

@fix
2015-07-07 21:38:21 +09:00
Jaehyun Cho 7812e9afa6 evas: fix typo in evas_cache comment.
Summary: Fix typo in comment

Reviewers: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1599

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-29 22:38:31 +01:00
Carsten Haitzler ff12b4b955 evas cache - fix logically dead code
fix CID 1039928
2014-08-14 18:53:40 +09:00
Carsten Haitzler bd3c2c245d evas cache - fix logically dead code
fixes CID 1039929
2014-08-14 18:53:39 +09:00
Carsten Haitzler cb9a2410af evas cache - fix logically dead code
fixes CID 1039930
2014-08-14 18:53:39 +09:00
Carsten Haitzler 18e2302184 evas cache - fix logically dead code
fixes CID 1039931
2014-08-14 18:53:39 +09:00
Carsten Haitzler d24af520dc evas cache - fix logically dead code
this fixes CID 1039932
2014-08-14 18:53:39 +09:00
Carsten Haitzler cf704cc5a0 evas cache - remove logically dead code
fix CID 1039934
2014-08-14 18:53:39 +09:00
Carsten Haitzler 6b312e9818 evas cache - fix logically dead code
this fixes CID 1039935
2014-08-14 18:53:39 +09:00
Carsten Haitzler eec2daf31b evas preload + locking - fix deadlock
there is a possible deadlock condition where locks are not taken in
the same order (img lock then cancel lock). re-order so this doesn't
happen. this fixes CID 1106339
2014-08-14 18:03:07 +09:00
Jean-Philippe Andre a2de0a0bc9 Evas: Support duplicated borders in surface alloc
Now, the evas loader is supposed to advertise the actual border
size in case of compressed texture formats.

The only case where the border was non zero was ETC formats,
from the TGV loader, so I think we don't need to keep the
previous behaviour (auto-calculate borders for ETC).
2014-07-03 11:37:48 +09:00
Jean-Philippe Andre 54fb9b2346 Evas: Use Evas_Colorspace to declare cspace
Why use int when we have a proper type?
All these APIs are internal.
2014-04-15 18:50:37 +09:00
Cedric BAIL 05239d8dd2 evas: let loader specify there prefered color space. 2014-04-01 22:00:14 +09:00
Carsten Haitzler 540d7f789c evas - cserve2 - avoid segv accessing im->cache 2014-01-13 08:50:52 +09:00
Cedric Bail 6dcffec491 evas: Use Eina_Spinlock for Evas_Scalecache, Evas_Async_Events and Image_Entry. 2013-10-11 11:08:17 +09:00
Carsten Haitzler 175335ae08 evas - restore ability for evas_render_dump() to dump out referenced data 2013-08-28 16:44:31 +09:00
Chris Michael da275a76b1 Check for Image_Entry being valid before calling evas_cache_image_drop.
NB: Image_Entry passed in to this function Could be NULL (hence the
previous if ie check above. Do not call evas_cache_image_drop on a
NULL Image_Entry as evas_cache_image_drop does not validity checking.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 12:32:00 +01:00
Cedric Bail 75639bea49 evas: don't forget to remove image from the lru when they are back to active. 2013-06-25 16:20:46 +09:00
Cedric Bail 406cdbd686 evas: one LRU for both image open with filename or Eina_File to fix infinite increase of cache. 2013-06-25 11:45:42 +09:00
Rajeev Ranjan 12458544d1 evas: add mutex locking before signalling for the condition variable and releasing afterwards.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-24 12:04:18 +09:00
Cedric Bail d06a0982ef evas: add support for asynchronously uploading GL texture.
NOTE: when using Evas_Object image preload infrastructure the GL texture
upload was uploaded from the main loop during the rendering stage. This
could lead to some frame drop during fast animation due to the time needed
to upload that texture.

This patch fix this problem by uploading a small texture quickly (16x16)
and waiting for going back to the main loop to be able to use the same GL
context from another thread to do the texture upload asynchronously without
blocking the main loop.
2013-06-24 12:04:18 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Cedric Bail 1073084807 evas: change cache API to forward Eo object. 2013-06-14 16:38:18 +09:00
Chris Michael 28c3b24593 Fix segfault: Don't try to printf a debug message if we don't have a cache.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Cedric Bail d1bed386bd evas: correctly detect if loader support asynchronous preloading.
This is an astonishing bug, I wonder since how long it has been there. It
is basically due to the use of void * and a wrong cast. Type checking is
clearly useful, let's use it more !
2013-06-04 11:22:13 +09:00
Cedric Bail ad5d75dfcd evas: add support for engine specific extention during thread task. 2013-06-04 11:20:25 +09:00
Cedric Bail 232c9f17ba evas: reorder cache destruction. 2013-05-09 09:57:37 +09:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Cedric Bail c3f9d3b8b8 evas: Make Evas_Loader API public. 2013-05-08 18:16:59 +09:00
Cedric Bail c5b0d28d73 evas: move flags and attribute around. 2013-05-06 19:02:04 +09:00
ChunEon Park 2af4cc2687 * evas/cache: remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly. 2013-02-25 16:56:25 +09:00
ChunEon Park 0920a8e182 evas/cache - formatting 2013-02-25 16:24:08 +09:00
Paulo Alcantara c6f907a9f4 efl/cache: Set loaded flag properly with loaded pixels
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 82481
2013-01-09 21:36:03 +00:00
Gustavo Sverzut Barbieri 7c19e1b34d efl/evas_cache: copied images should be considered loaded.
Whenever we copy an image, making it write-able
(evas_object_image_data_get(o, 1)) or just start painting a pristine
buffer (evas_object_image_size_set(o, w, h)), we must mark the image
as loaded to avoid trying to load it (and failing, marking the whole
thing as EVAS_LOAD_ERROR_GENERIC).



SVN revision: 81409
2012-12-19 22:36:13 +00:00
Leandro Pereira 645dcff9d2 evas: Add function to ref an Image_Entry
SVN revision: 81281
2012-12-18 16:22:47 +00:00
Mike McCormack 1eac4b2f47 efl: Fix warning
lib/evas/cache/evas_cache_image.c:573:4: warning: missing braces around initializer [-Wmissing-braces]

Signed-off-by: Mike McCormack <mikem@atratus.org>

SVN revision: 79987
2012-12-02 20:33:55 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
I've tested make -j 3 install and it works nicely

I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.

TODO: examples and tests, I'll add them later

ISSUE: Eina_Unicode size check. It indirectly depends on
       eina_config.h, which is created at the end of the
       configure script. So its size is always 0. I don't
       know how that size is used, so I can't do a lot,
       for now.


SVN revision: 78895
2012-11-04 11:51:42 +00:00