Commit Graph

261 Commits

Author SHA1 Message Date
Carsten Haitzler 29216b4a78 for now... enable scalecache. i havent seen it crash e or expedite or
elementary nor leak... so .. let's see. not 100% done yet. but good.



SVN revision: 39724
2009-03-26 12:47:44 +00:00
Carsten Haitzler a3f68ea9d9 1. a bunch of neon asm infra and some asm, but only the neon that works is
enabled. the blending is not working/complete. the neon for fills and copies
isnt actually faster though currently :(
2. scalecache infra - disabled for now. working on it.



SVN revision: 39723
2009-03-26 07:14:08 +00:00
Vincent Torri b61328192f API break (well, kind of...)
* evas_engine_info_set() returns now an int, to inform if
   an error occured or not when setting the info of the engine.
 * in the Evas_Func structure, the setup() method returns an int
 * all the engines are updated

I'll fix ecore_evas and ewl later (the compilation is still fine).

Gustavo: should I add EINA_WARN_UNUSED_RESULT at the end of the
evas_engine_info_set() function ?



SVN revision: 39670
2009-03-24 09:05:32 +00:00
Gustavo Sverzut Barbieri 8347690e99 evas now use eina attribute macros.
let's stop replicating these macros over and over again, also flag
evas functions with attributes to help with optimizations.

TODO:

 * move functions returning "int" as boolean to Eina_Bool

 * move api entry to EINA_SAFETY_*

 * document api



SVN revision: 39598
2009-03-20 01:03:15 +00:00
Carsten Haitzler eba0aaffd6 preliminary neon asm support. do NOT use!
SVN revision: 39474
2009-03-14 06:48:25 +00:00
Carsten Haitzler 6bc4266805 patch from Tiago Falcão - unroll loops in evas a bit.
SVN revision: 39467
2009-03-13 15:18:39 +00:00
Carsten Haitzler 9062c9050a and support obscured rects for clip-out if middle of bordered image set to
solid. speedup.



SVN revision: 39051
2009-02-17 04:53:03 +00:00
Cedric BAIL b70ae3c927 * evas/src/lib/include/evas_common.h,
* evas/src/lib/engines/common/evas_font.h,
	* evas/src/lib/engines/common/evas_font_draw.c,
	* evas/src/lib/engines/common/evas_font_load.c,
	* evas/src/lib/engines/common/evas_font_query.c: Add cache for font kerning.

This patch give something around 2% for all tests around text in expedite,
except for Textblock Intl where it give a 3 times boost.

Regarding text rendering speed, something is strange when used by evas_pipe.
All tests using Styles are around 40% faster without evas_pipe. 30% faster
for Text Change. But Text Basic 7% slower. So it should be possible to have
faster rendering when using evas_pipe for font rendering.


SVN revision: 38993
2009-02-10 15:53:17 +00:00
Cedric BAIL 5621e47f1c Correctly cancel each image object and not all at once.
SVN revision: 38658
2009-01-20 14:56:37 +00:00
Cedric BAIL 011bc06ecc * evas/src/lib/cache/evas_cache_image.c,
* evas/src/lib/include/evas_common.h: Now you should receive a async call for each image object that does async preload.


SVN revision: 38643
2009-01-19 14:06:09 +00:00
Gustavo Sverzut Barbieri 68bd5fb68b Possible last try to fix async imagre preload race conditions.
1 - use inlist as regular list uses non-thread safe mempool;
 2 - lock around image loading, so if main thread requests pixels right
     before worker thread is loading them, you don't get ie->info.module
     to NULL while it would be used (triggered from engines/common).
     Maybe this should be handled by a global mutex elsewhere instead of
     per-image mutex, but it has more granularity now.
 3 - emit "preloaded" callback if it was canceled to be loaded from main
     thread.

Please someone review these changes.



SVN revision: 38312
2008-12-23 23:07:48 +00:00
Gustavo Sverzut Barbieri 4821dcf1f8 always call image preloaded callback.
if image was already preloaded, inform user.

regular use case is to have image hidden, ask for preload and then
show image on callback, if there is no callback, image is never shown.



SVN revision: 38236
2008-12-19 21:56:31 +00:00
Cedric BAIL 2b278b9419 Remove use of evas_hash from evas and use directly eina.
SVN revision: 38066
2008-12-09 17:56:31 +00:00
Carsten Haitzler a2cd677cdc ok - revert scalecache until leak fixed.
SVN revision: 37899
2008-12-02 02:33:09 +00:00
Carsten Haitzler 72c25fd2fc quick - evas scalecache put this in svn do i dont lose my patch. i'll revert
and work on gettign the leak fixed.



SVN revision: 37898
2008-12-02 02:32:22 +00:00
Carsten Haitzler ad5c292def fix #defines for arm - 5e on supports pld! :)
SVN revision: 37874
2008-12-01 03:56:34 +00:00
Carsten Haitzler 7e6fb27b4c make scale set apply immediately on objects that do scaling...
SVN revision: 37656
2008-11-15 10:39:46 +00:00
Carsten Haitzler 9705e3c741 hmmm after some talking - for now put the transform patch on hold - we need
tyo fix up some of these breaks first and there isn't a lot of time devoted
to this. so revert this. it's in svn history so we can dig it out any time we
like.



SVN revision: 37453
2008-11-04 09:19:35 +00:00
Carsten Haitzler 3e984fee34 jose's transform patches. some things to note:
1. nearest scaling is now broken - it's always linear interpolation. this
will lead to slowdowns. i need to fix this - a must.
2. i think it's time i put in a transformed image cache that can cache an
image object at a transform (and share it) automatically.
3. transforms in non-software-engines will not work - broken. need to at
least do xrender and gl engines.

any volunteers to help?



SVN revision: 37447
2008-11-03 22:50:54 +00:00
Cedric BAIL cdf08d5696 Fix bug when shutting down all engine and still have some font in the cache.
Draw back: When we are destroying an Evas canvas, we loose all cached font
that are not used anymore.

A correct fix would be to link Fndat to the Evas that provide and use them.
And only delete them when no more Evas reference them.


SVN revision: 37353
2008-10-31 10:46:46 +00:00
Sebastian Dransfeld 88c695c2ad Only unix should depend on signal.h
SVN revision: 37043
2008-10-24 06:49:44 +00:00
Cedric BAIL 465b76a017 Remove Evas_List from Evas.
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Cedric BAIL c99824328f Move from Evas_Object_List to Eina_Inlist and completly remove Evas_Object_List.
SVN revision: 36750
2008-10-17 11:23:18 +00:00
Cedric BAIL e692738d22 Remove Evas_Array.
SVN revision: 36716
2008-10-16 12:27:07 +00:00
Cedric BAIL 1cec65e922 Switch evas internal use of evas_stringshare to eina_stringshare.
SVN revision: 36674
2008-10-15 14:38:34 +00:00
Cedric BAIL 5b87d765b6 Fix for CPU_* use with evas_pipe.c.
SVN revision: 36673
2008-10-15 14:25:27 +00:00
Carsten Haitzler 07447cf079 add align, weight and padding hints for evas objects.
SVN revision: 36429
2008-10-04 16:11:23 +00:00
Cedric BAIL bd2c5d6648 Add image preloading support.
This should work without performance impact for all engine.


SVN revision: 36018
2008-09-16 14:52:57 +00:00
Cedric BAIL 665ee944ee When you know what you do, it could make sense to remove all magic check
from Evas and win some speed boost. Use really carefully.

Still turn MAGIC_DEBUG on by default.


SVN revision: 35965
2008-09-12 13:14:08 +00:00
Carsten Haitzler d06c5e9efb and add a scale factor per object. right now text and textblock use it.
that's about it. a bit hacky - but works and frankly.. the idea is that u'd
set a scale factor once really and not change it per obj... most likely.




SVN revision: 35896
2008-09-09 14:14:26 +00:00
Gustavo Sverzut Barbieri 58a49c2f69 Add calculate callback to Evas_Smart_Class.
Some people is using it for some time now without problems, so I'm
adding it to SVN to get some broader use. Remember to recompile ALL
libraries that depend on Evas as it will change the
EVAS_SMART_CLASS_VERSION and old classes will fail to load.

This will also change Edje so it will postpone _edje_recalc() to
render time, calculate() callback, however some methods will force
early recalculation.



SVN revision: 35860
2008-09-07 01:25:49 +00:00
Carsten Haitzler d73b8c5d7b updated patches from jose!
SVN revision: 35756
2008-08-31 02:04:31 +00:00
Carsten Haitzler c1fe72d7e4 jose has some new gradient work - these are his patches. nice work joseg! yes
- some enignes break as they dont have the stubbed out functions, and
xrender/gl engines dont even implement the drawing and need to (but are
stubbed out).



SVN revision: 35677
2008-08-26 05:45:04 +00:00
doursse 9c58ab7087 * move blend functions declaration to their own header files
* add vim header


SVN revision: 35182
2008-07-21 16:10:48 +00:00
doursse 60391e746d * move draw functions declaration to their own file
* add missing headers


SVN revision: 35181
2008-07-21 15:52:09 +00:00
doursse 3f28e61186 * move image declaration funtions to their own header file
* add vim header


SVN revision: 35173
2008-07-19 18:32:32 +00:00
doursse 83c733fbf7 * move line, polygon, rectangle API to their own files
* add vim header


SVN revision: 35172
2008-07-19 18:05:54 +00:00
doursse 261189e2e2 * move font and gradient declarations to their own files
* add vim headers
 * remove some trailing spaces


SVN revision: 35170
2008-07-19 17:13:42 +00:00
Carsten Haitzler 986b3ded31 fix build. build properly.
SVN revision: 35163
2008-07-18 14:17:05 +00:00
doursse 21a5e030f2 not needed anymore as they are in their source file, now
SVN revision: 35156
2008-07-18 11:11:04 +00:00
doursse 47e866557d add cast for c++ compilers. Patch from Dmitriy Mazovka
SVN revision: 35138
2008-07-17 07:45:42 +00:00
doursse 0fd75a462a move pipe function declarations to their own file
SVN revision: 35064
2008-07-11 08:21:25 +00:00
doursse 493eb069a3 * remove trailing spaces in evas_pipe.c
* move scale function declarations to their own files


SVN revision: 35063
2008-07-11 06:36:30 +00:00
doursse 739be5c6b7 move evas_convert_main.h to evas_common.h
SVN revision: 35062
2008-07-11 05:50:56 +00:00
doursse 2679ced73b move evas_object_list declaration from evas_common.h to Evas_Data.h
SVN revision: 35061
2008-07-11 05:42:44 +00:00
doursse fb9313c024 * move convert function declarations to their own header file
* add vim header in the files I modified
 * fix minor warnings

i think i don't break compilation on that commit :)


SVN revision: 35058
2008-07-10 22:53:33 +00:00
doursse 9b35bc26f3 * move evas_mempool from main.c to it's own file in data/ as it's only
used by evas_list
 * add a header files for evas_cache, evas_path and evas_module
 * remove trailing spaces in evas_list.c


SVN revision: 35052
2008-07-10 16:38:54 +00:00
doursse 993697fec7 * move _Evas_Object_List and _Evas_Hash structures to Evas_Data.h
* move Evas_Array_Hash and Evas_Object_List declarations to Evas_Data.h
 * move evas_array_hash.c from engines/common/ to data/
 * remove Evas_Array_Double_Hash declaration (not used)


SVN revision: 35042
2008-07-09 16:50:33 +00:00
Carsten Haitzler 3242217c16 cedric rect + arrays patch for reducing allocs
SVN revision: 35024
2008-07-07 21:29:29 +00:00
doursse a9e090a81b * move Evas_Hash_El from evas_common.h to evas_hash.c as
it is not used outside evas_hash.c
 * move data types api from Evas.h to Evas_Data.h


SVN revision: 34974
2008-07-02 04:44:38 +00:00