Commit Graph

245 Commits

Author SHA1 Message Date
Carsten Haitzler d6a6cc63e8 cserve for evas now has a threaded loader - much better when multiple clients
aare hammering it with load requests



SVN revision: 41293
2009-07-10 06:52:09 +00:00
Vincent Torri 4c09519e99 remove trailing spaces
SVN revision: 41191
2009-06-25 04:20:34 +00:00
Cedric BAIL 5d0a773fef * evas: Use Eina hash improvements.
SVN revision: 41101
2009-06-18 12:14:29 +00:00
Cedric BAIL 6d0ee81526 * evas: Remove Evas_Bool.
SVN revision: 41067
2009-06-17 10:01:52 +00:00
Cedric BAIL 0839ec65ea * Evas: Improve RGBA_Font_* cache using hash and stringshare correctly.
Note: This should not impact font rendering, but if you notice anything
	wrong, please don't hesitate to report this to me.


SVN revision: 41050
2009-06-15 15:07:13 +00:00
Carsten Haitzler 5b7c1be3eb fix a strange issue with re-connect after explicit disconnect to cserve
SVN revision: 40587
2009-05-11 13:09:43 +00:00
Carsten Haitzler 85bff718d6 1. scale cache now allows you to hint at the object if its dynamic, static or
none (ie default) and the engines actually understand it and use it.
2. fixes to scalecache and cserver too. more toto's done and its now been
stress tested by me - and i think cserve is ready to go gold. just enable it
with export EVAS_CSERVE=1 in your env for any eflapps - and run evas_cserve
(cmd-line options avalable plus cmd-line tol to query settings change on the
fly and query statsitics and state)



SVN revision: 40536
2009-05-07 13:29:56 +00:00
Carsten Haitzler 46e8aa1b0d shared cache server++
is it ok?

1. it can be --disabled in evas's configure, but i think it works WITHOUT
disabling it (runtime) as it falls back to the old way of loading
2. it may cause build problems on some platforms - without it being enabled
we won't find out, so enable.
3. it needs enabling runtime to make use of it so it should be safe for now
until you enable it.

what is it?

it is a SHARED cache server - that means images loaded are loaded BY the
cache server (not by the actual process using evas). images are shared via
shared memory segments (shm_open + mmap). this means only 1 copy is in all
ram at any time - no matter how many processes need it , and its only loaded
once. also if another app has already loaded the same data - and its in the
cache or active hash, then another process needing the same stuff will avoid
the loads as it will just get instant replies from the cache of "image already
there". as it runs in its own process it can also time-out images from the
cache too.

right now you enable it by doing 2 things

1. run evas_cserve (it has cmd-line options to configure cache etc.
2. export EVAS_CSERVE=1 (im the environment of apps that should use the cache
server).

it works (for me) without crashes or problems. except for the following:

1. preloading doesnt work so its disabled if cserve is enabled. thisis
because the load threads interfere withthe unix comms socket causing
problems. this need to really change and have the cserve know about/do
preload and let the select() on the evas async events fd listen for the
unsolicited reply "load done". but it's not broken - simple preloads are
syncronous and forced if cserve is enabled (at build time).
2. if cserve is killed/crashes every app using it will have a bad day. baaad
day. so dont do it. also cserve may be vulnerable to apps crashing on it - it
may also exit with sigpipe. this needs fixing.
3. if the apps load using relative paths - this will break as it doesnt
account for the CWD of the client currently. will be fixed.
4. no way to change cache config runtime (yet)
5. no way to get internal cache state (yet).
6. if cache server exist - it wont clean up the shmem file nodes in /dev/shm
- it will clean on restart (remove the old junk). this needs fixing.

if you fine other issues - let me know.

things for the future:

1. now its a separate server.. the server could do async http etc. loads too
2. as a server it could monitor history of usage of files and images and
auto-pre-load files it knows historically are loaded then whose data is 
immediately accessed.
3. the same infra could be used to share font loads (freetype and/or 
fontconfig data).
4. ultimately being able to share rendered font glyphs will help a lot too.
5. it could, on its own, monitor "free memory" and when free memory runs
load, reduce cache size dynamically. (improving low memory situations).
6. it should get a gui to query cache state/contents and display visually.
this would be awesome to have a list of thumbnails that show whats in the
cache, how many referencesa they have, last active timestamps etc.

blah blah.

please let me know if the build is broken asap though as i will vanish
offline for a bit in about 24hrs...



SVN revision: 40478
2009-05-01 07:11:07 +00:00
Carsten Haitzler e0a8a97b6d now enough logic to know when to unload original... now just need to make
unloaidng possible without instant-reload.



SVN revision: 39742
2009-03-27 03:50:03 +00:00
Carsten Haitzler 1a224311d6 make pipe renderer separate to thread support - off by default.
SVN revision: 39740
2009-03-27 01:48:58 +00:00
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
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
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 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
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 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
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 5b87d765b6 Fix for CPU_* use with evas_pipe.c.
SVN revision: 36673
2008-10-15 14:25:27 +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
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
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
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
Cedric BAIL d102e3db82 * Make RGBA_IMAGE_HAS_ALPHA and RGBA_IMAGE_ALPHA_SPARSE part of
Image_Entry flag structure. This fix a bug with 16 bpp software engine.

        * Change image loader module API to take any Image_Entry. Same goes
        for evas_common_image_premul and evas_common_image_set_alpha_sparse.

        * Use new eet API: eet_data_image_read_to_surface.


SVN revision: 34728
2008-06-03 09:09:39 +00:00
Cedric BAIL 0c85857e57 Fix a typo.
SVN revision: 34701
2008-05-30 13:55:51 +00:00
Cedric BAIL 0ca6c0a0bb Add a private data member to cache image structure.
SVN revision: 34700
2008-05-30 13:33:40 +00:00
doursse 7f47953b78 missing EAPI in front of evas_common_gradient_geometer_get()
other gradient related functions (lines 1138 - 1143) seem to
be used only internally. Maybe we should move them elsewhere.


SVN revision: 34694
2008-05-30 05:56:53 +00:00
doursse 37eed61ee8 put unistd.h after sys/types.h. Seems to be needed for vc++. Thanks to Dmitriy Mazovka
SVN revision: 34691
2008-05-29 05:48:16 +00:00
doursse 5ce3b6752b fix compilation with a c++ compiler, add EAPI in front of all cache function declarations
SVN revision: 34659
2008-05-24 18:26:51 +00:00
Gustavo Sverzut Barbieri a4ed92a1a5 Remove bugs with bitfield usage, make boolean usage clear.
This patch fixes the problem with bitfield of signed types (ie: char),
where the bit would be used for the signal, so 1 is considered -0 and
thus 0.

Move all the single bit fields to Evas_Bool, making it clear and also
avoiding these problems since Evas_Bool is unsigned char.


SVN revision: 34631
2008-05-20 20:56:39 +00:00
Carsten Haitzler 5887bde860 colorspace stuff in cvs.
SVN revision: 34604
2008-05-19 03:13:16 +00:00
Cedric BAIL 5f41def624 Only call the allocation surface when required and correctly handle no_free.
SVN revision: 34480
2008-05-06 11:20:29 +00:00
Carsten Haitzler ae1977a214 cedric's cache changes patch
SVN revision: 34253
2008-04-12 00:32:30 +00:00
doursse 219831980f * Remove Windows code in evas_module.c and use evilness instead
* Allow Windows Mobile to correctly load dll's
 * Use correct scheme for EAPI on Windows and include config.h when necessary
 * add -mwin32 to compiler flags when compiling with cegcc


SVN revision: 34024
2008-03-14 16:49:49 +00:00
Carsten Haitzler 40843fe689 probably long overdue - if stringshare add/del get a null string - safely
return null or just return


SVN revision: 33576
2008-01-24 00:57:20 +00:00
tilman 869d6c468b export evas_common_convert_yuv_420p_601_rgba
SVN revision: 31975
2007-10-05 09:44:41 +00:00
Sebastian Dransfeld 8ef049c3da As cache_key uses evas_stringshare, it should be const.
Don't free stringshare'd strings.
Formatting.


SVN revision: 31291
2007-08-13 05:30:17 +00:00
doursse 0e3414a758 Cedric's fixes
SVN revision: 30867
2007-07-17 08:39:51 +00:00
doursse 93482ff8e7 fix alloca include with mingw, remove trailing spaces
SVN revision: 30850
2007-07-16 07:38:48 +00:00
Carsten Haitzler 9e5d2dfdf8 cedric's const patches for evas
SVN revision: 30847
2007-07-16 07:29:34 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00
Carsten Haitzler 0c4af24a33 save a few bytes by packing structures better... simple savings :)
SVN revision: 30486
2007-06-28 23:22:20 +00:00
Gustavo Sverzut Barbieri ac04de0ffd Name clip structure, make it simple to save and restore clip info.
SVN revision: 30423
2007-06-21 20:10:13 +00:00
Gustavo Sverzut Barbieri 294769b086 Use memory pool for rect_node_t
SVN revision: 30238
2007-06-04 18:32:57 +00:00
Gustavo Sverzut Barbieri 6398a2c6dc Add branch prediction fixes
SVN revision: 30237
2007-06-04 18:31:30 +00:00
Carsten Haitzler c9dd4797f3 patch seems to give a bit of a speedup at fuzz = 32 overall.
SVN revision: 30207
2007-06-03 05:28:12 +00:00
Carsten Haitzler a730b4be5d 1. gustavo';s fuzzy rect implementation for updates. fixed so del's work,
tuned for best performance on my core2 duo desktop - for now. will check
more. also make the yuv colorspace code be a bit more robust and fix leak in
gl engine with shaders.


SVN revision: 30192
2007-06-02 15:30:59 +00:00
tilman 936b791547 a bunch of constness fixes
SVN revision: 29871
2007-05-06 11:29:37 +00:00
Carsten Haitzler 5ac7b84136 pager urgent popup patch - good
evas clipouts less allocs patch - definite spedusp for when it's used heavily!


SVN revision: 29331
2007-04-04 09:55:40 +00:00
Carsten Haitzler 921304555c now limit stats per any 1 file to STAT_GAP (2 seconds).
SVN revision: 28544
2007-03-03 09:04:47 +00:00
Carsten Haitzler 63a4cbb869 chasing somethnig really bizarre... but this works right now.
SVN revision: 28533
2007-03-02 23:12:10 +00:00
Carsten Haitzler e58afbca6e i've put back timestamp checks - but evas wont stata file more frequently
than once per 2 seconds to avoid overhead.


SVN revision: 28532
2007-03-02 22:27:52 +00:00
Carsten Haitzler 55c06e75ff rotation patches for 180 degrees - thankyoooo! :)
SVN revision: 28527
2007-03-02 14:51:17 +00:00
Carsten Haitzler 6e452edfd4 patches applied as per emails :)
SVN revision: 28302
2007-02-10 17:23:09 +00:00
Carsten Haitzler f83220c857 not complete yet - actually i need help with the fragment shader.
in evas_gl_texture.c i have a frag shader, and it tries to use a set of 3
textures that act as the yuv planes, BUT the u and v textures (Utex and Vtex)
are simply getting values from the Ytex - regardless of what i try. grrr.
what's up with that?


SVN revision: 27495
2006-12-17 15:48:52 +00:00
Carsten Haitzler ccc60306a0 sli is possible- but not optimal.
SVN revision: 27129
2006-11-15 16:44:34 +00:00
Carsten Haitzler 9781eb9b38 1. evas gets a pipeline with deferred rendering ability (sometimes faster,
sometimes slower)
2. --enable-pthreads will enable multi-threaded rendering (current support is
for up to 4 threads so if you have a new fanled quad core or dual cpu dual
core box or whatever you will in theory be able to max moe of its cpu grunt
with the software rendering engine. this can only be done because i added the
pipelines which means almsot entirely lock-free multithreading internally in
evas. the only locks are for fonts but with a little work i might be able to
remove some/most of those too)

for now pthreaded rendering likely will be linux only (it relies on sched.h
for setting scheduler params to force the slave threads to run on separate
cpu's as linux likes to keep them on the same cpu otherwise and thus we get
no speedups at all - only slowdowns).

aso note that it is a bit of a mixed bag. complex ops (like smooth scaling
with alpha blending) get speedups, but simple ops (like blits/fills) slow down.

this all neds examination and tweaking still - but it's a start.


SVN revision: 27098
2006-11-13 23:23:44 +00:00
Carsten Haitzler 41b70e1b8a simply as PLACEHOLDER for a glitz engine. i plan on making it almost
identical to the xrender engine - but xrender and glitz do not map entirely
1:1 api-wise.


SVN revision: 27045
2006-11-11 06:03:13 +00:00
Carsten Haitzler fd60c655b0 i was just playing with adding thread supprot to INTERNALS of evas (ie the
renderer gets threaded). if i thread at the simplest levels (low down in for
example the image scaler code - one of the most expensvie gfx routnes) on an
actual dual core system - performance drops by 40%. this just doesn't work
well at that level. thread creates and joins per render op are just a bad
thing (tm) :) so this really needs to go in much higher up and that presents
problems. :( i will need to clearly define entry and exit points to and from
threaded space (and thus all the locks) - remove all nested calls (where
internal code goes thru the same entry/exit points traditionally so it
deadlocks itself).. anyway - this here has all that code stripepd out i
played with - it is just the autofoo and build stuff so we can turn on/off
thread support at will in the build.


SVN revision: 26817
2006-10-28 03:02:23 +00:00
tilman 4bd6d8870a fixed evas_common_hinting_available so it works properly with both freetype 2.1 and 2.2
SVN revision: 26421
2006-10-08 13:00:26 +00:00
Carsten Haitzler 42aa3066e9 check sparseness when doing eet loads.
SVN revision: 26300
2006-10-02 11:24:26 +00:00
Carsten Haitzler 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
Carsten Haitzler 3115a52684 and i implemented module UNLOADING. given enough cycles of non-use of a
module and no references, it will get.... UNLOADED :)


SVN revision: 25954
2006-09-18 09:40:29 +00:00
sebastid e55f7b27b2 Functions used by modules must be EAPI
SVN revision: 25526
2006-09-06 07:33:40 +00:00
Carsten Haitzler c6164acc18 jpeg loader can use load opts to try pre-scale on load now... :) ie epeg
features directly in evas.


SVN revision: 24892
2006-08-19 01:48:13 +00:00
Carsten Haitzler d5a131c924 fix caching to account for load options
SVN revision: 24890
2006-08-19 00:22:02 +00:00
Carsten Haitzler 0889c589f2 added the ability to set load scaledown, dpi or load size - the svg loader
uses these to know what to render and how (or has defaults if these are not
set)


SVN revision: 24868
2006-08-18 14:45:26 +00:00
Carsten Haitzler 8b1f602f38 being an anally retentive bastard.. i checked if e worked in 8bpp under vnc.
GASP! it didn't. evas's color allocator was screwed. fixed! :)


SVN revision: 24686
2006-08-14 13:50:07 +00:00
Carsten Haitzler 77e35d60a3 jose's software rendering work - slight improvements (about 5-10%). i had to
disable destination alha mmx support for text rendering (mask + color) as it
was broken in tests.


SVN revision: 22440
2006-05-02 07:28:49 +00:00
Stafford Mitchell Horne 88edaa2e02 Add font charmap caching
* TODO: store cache on disc, for faster cache loading (this requires EET to support arrays)


SVN revision: 22294
2006-04-22 11:08:01 +00:00
Stafford Mitchell Horne 8f207f622f Evas on-demand font loading
* When fonts are added from files we will only load the details
 * The first font is always loaded
 * I know there is a patch for this on the list but this way seems better to me


SVN revision: 21964
2006-04-09 00:02:47 +00:00
Carsten Haitzler cbdc20a142 oops - soemoen changed the other symbols around while i changed the first set
SVN revision: 21063
2006-03-07 02:44:16 +00:00
Carsten Haitzler e8bf4cdcbb make hinting an engine api thnig - engine apis need to be mroe easily updated
SVN revision: 20850
2006-02-28 04:07:49 +00:00
Carsten Haitzler 10d6748b56 evas lets you choose font hinting - in theory. :)
SVN revision: 20823
2006-02-27 14:03:27 +00:00
Carsten Haitzler d410036b81 removes some unused struct members (should remove more though) and fixes up
modular loaders


SVN revision: 19814
2006-01-15 06:21:05 +00:00
Carsten Haitzler f435375b19 initial import fo loadable engine modules for evas - from jorge zappie :)
SVN revision: 19775
2006-01-14 12:13:38 +00:00
Carsten Haitzler 0f9188f1d2 vis -> off
SVN revision: 19683
2006-01-10 07:36:51 +00:00
Carsten Haitzler d3f2867668 move headers
SVN revision: 19675
2006-01-09 13:29:15 +00:00
sebastid 3e41ec2fbd Remove EAPI warnings.
Remove duplicate defines.


SVN revision: 19579
2006-01-06 23:05:17 +00:00
Carsten Haitzler 7554f8ee36 actually make symbol hiding work!
SVN revision: 19314
2005-12-27 17:17:31 +00:00
Carsten Haitzler a0ceee8b51 i have to back out all of jose's blend changes - musch faster than
debugging/fixing and likely int he end the exact same result of fixing them.
yes - we lose performance - but it actually is correct now :) if we want to
do such radical changes- i sugegst moving to premultiplied alpha and makign a
tonne of externally tested routines in a test harness first to compare
correctness and speed in an isolated environment.


SVN revision: 18947
2005-12-11 04:55:20 +00:00
Carsten Haitzler 1b272aec90 joses's gradient work - gradient look nice. one problem jose.. USE BRACKETS!
do NOT depend on order operation precedence. it broke scaling. laos other
completely bizarre mmx things were going wrong with mm7 ending up not 0 so
i've had to force it to be 0.


SVN revision: 18811
2005-12-03 09:27:53 +00:00
Carsten Haitzler 7ea7bdf610 disable stringshare... something fishy.
SVN revision: 18698
2005-11-29 09:02:51 +00:00
Carsten Haitzler aaf6e303bd use stringshare. saves a few hundred allocs... if we start doing lots of text
:)


SVN revision: 18679
2005-11-28 15:18:01 +00:00
Carsten Haitzler 6f24506e8b 1. diable a bunch of engines from auto-detecting stuff. you have to manually
--enable gl, qtopia and directfb enigines - they are either incomplete, buggy
or simply used so little that its not worth building unless the user REALLY
wants the support.


SVN revision: 18424
2005-11-11 06:09:46 +00:00
sebastid 1e376a2135 Move macros to separate header file.
SVN revision: 16805
2005-09-20 17:01:03 +00:00
sebastid fd5a41f525 Move freetype include along with the others, and use freetype define.
SVN revision: 16633
2005-09-07 02:31:30 +00:00
Carsten Haitzler acc0701e10 1. id3 album cover loader patches
2. i reduced list note memory usage by 20% - shoudl work better with malloc
as ti is now a power of 2 as well
3. optimised evas internals to make use of event freezes to make e17'sw menu
popups a LOT snappier
4. fixed using last member of list nodes - bad - shoudl use api as this is
private stuff really
5. added config profile stuff to e17  u can literally maintain multiple
config profiles and choose which one at any time etc.


SVN revision: 15864
2005-07-22 10:28:11 +00:00
sebastid 3f776d358a Cleanup some headers.
Remove duplicate typedefs and declerations.


SVN revision: 15407
2005-06-18 01:00:32 +00:00
Carsten Haitzler 46e02cf8bb whitespace
SVN revision: 14889
2005-05-22 02:49:50 +00:00
Carsten Haitzler feb36e23b7 let the configre/options determine mmx buildability
SVN revision: 13940
2005-03-28 02:27:16 +00:00
Carsten Haitzler 792762f2d5 use engine add's
SVN revision: 13807
2005-03-20 16:41:49 +00:00
Carsten Haitzler 7462681dad werd to my homies... this had to happen sooner or later.... evas supports
FONTSETS!

so u can do
Vera,Kochi,Blah ... etc.
as the font name
it will fall back font by font until it finds a char or finally fails.

this is for internationalisation support...

WHERD!


SVN revision: 13804
2005-03-20 15:57:55 +00:00
Carsten Haitzler 5366148b3f include ctype.h
SVN revision: 13765
2005-03-17 06:43:55 +00:00
Carsten Haitzler 111aa2936a fix shaped output (rgba dest rendering)
SVN revision: 13308
2005-02-11 05:33:44 +00:00
Carsten Haitzler ee21eb81ca more work on textblocks! :)
SVN revision: 13263
2005-02-09 16:10:56 +00:00
Carsten Haitzler 6fe1274808 centralise tile size to a #define.. move to 8... :)
SVN revision: 13195
2005-02-05 04:21:25 +00:00
Carsten Haitzler e79e53e35b i worked on a regionbuf set of code (exact rectangles). i THINK it has some
bugs... but its disabled right now and it didnt speed anything up :( but it's
there for perusal and later work anyway...


SVN revision: 13193
2005-02-05 02:30:13 +00:00
Carsten Haitzler 10707730c1 forgot a line from my testing stuff for perfromance
SVN revision: 13182
2005-02-03 07:28:31 +00:00
Carsten Haitzler f7da483fcc optimise... THIS! BIATCH! :)
SVN revision: 13181
2005-02-03 07:28:07 +00:00
Carsten Haitzler 44f0d70286 span lists were a failure. sloweer than the current brute force method - and
slower to boot.

ooh.. found i was fuckign up the memcpy's. fixed :) and much faster too :)


SVN revision: 13103
2005-01-27 10:05:41 +00:00
Carsten Haitzler 2b34d43044 well it was an interesting experiment. but the blender code is already so
optimal... we dont gain much at all. :(


SVN revision: 13102
2005-01-26 16:42:31 +00:00
Carsten Haitzler f39f6f9840 useless data files removed... making room for improvements in the engine.
chnaged some images. need to update evas_*_test at some point to not be ugly
and be able to test everything.


SVN revision: 13101
2005-01-26 07:49:57 +00:00
Carsten Haitzler e2725f4690 lean down memory usage per process - now it doesnt use up 64kb it doesnt need
to... :)


SVN revision: 10153
2004-05-10 06:40:51 +00:00
Carsten Haitzler 95355ffdc1 split up nasty smooth scaler code to separate parts - they are #included
though for speed reasons, but this makes it more maintainable.


SVN revision: 8726
2004-01-30 05:46:57 +00:00
Carsten Haitzler 00d0dd777a and fix the sizing bug!!!!! all happy now!
SVN revision: 8666
2004-01-26 08:21:00 +00:00
Carsten Haitzler 6022da9101 2 problems fixed.
1. evas line draws of 2 pixelin size work now. oops!
2. font faces are shared between multiple sizes without a performance hit! yay!


SVN revision: 8660
2004-01-26 03:31:40 +00:00
Carsten Haitzler 8523421b7c added in loading froms from memory buffers at the engine level, and now an
api to set a font "source" (blank is normal filing system) but the source can
be a device or file etc. in this case it currently supports eet files as the
source and then the font name is used as a key in th eet file as to where to
find the font - edb support would be trivial to add. :) if the font is not
found in the "source" it falls back to the font path etc.


SVN revision: 8625
2004-01-23 02:14:45 +00:00
tsauerbeck d573ecc0f4 added evas_common_image_init()/shutdown()
SVN revision: 8527
2004-01-17 16:27:58 +00:00
Carsten Haitzler dca0de96c2 till's shutdown patch - this is good (tm). :)
SVN revision: 8371
2004-01-13 02:24:03 +00:00
tsauerbeck 9c22413aa8 free the freetype handle after we're done with it.
SVN revision: 8356
2004-01-12 18:12:41 +00:00
rbdpngn 513caedd40 Hopefully fix build for solaris.
SVN revision: 8144
2003-12-18 08:36:21 +00:00
rbdpngn 02cfd3ee28 Don't access static variables from inline functions.
SVN revision: 8078
2003-12-10 04:10:55 +00:00
Carsten Haitzler 58d0647f41 yuv pixel import api (well arbitary pixel format import api) for doing media
sreams (video) via image objects


SVN revision: 8068
2003-12-10 01:12:13 +00:00
Carsten Haitzler 1bf34243f6 move co-ordinates to be their own type. this is a good thing, because ti
allows me to be able to virtualize he canvas co-ordinate system. right now
it's doubles. i can now move to floats, int's etc. with a recompile (and well
recompile all depending apps too). it's still ACTUALLY doubles, just all
typedef'ed now. i've also changed booleans to actual boolean types (not an
int), all code will keep working - but i'd highly suggest moving your code to
use these types if interacting with evas.


SVN revision: 7644
2003-10-18 03:34:00 +00:00
Carsten Haitzler 3b808bac45 1. mmx2 pixel copy and cleanup of pixel copy routines
2. gl engine cleanups. working on it.


SVN revision: 7436
2003-09-10 08:52:18 +00:00
Carsten Haitzler 246fd31846 open gl is fulyl functional now - it coudl defnitely do with optimizations
with texture upload. it does NOt check error returns anywhere from gl... this
may mean issues with LOTs of images, LARGE images etc. need to fix that later


SVN revision: 7432
2003-09-09 05:51:03 +00:00
Carsten Haitzler bac314fd93 GL engine goes in... its not 100% complete. fonts are sub-optimal. i quickly
hooked them in to work at all...


SVN revision: 7408
2003-09-04 07:40:34 +00:00
Carsten Haitzler 8982b4f4ad ipaq build stuff :)
SVN revision: 7124
2003-07-10 13:13:25 +00:00
Carsten Haitzler 0495a7540b new calls to help string processing for programs - these walk up and down 1
utf8 character (sicne thats evas's standard string format). this lets apps do
character processing AND still be utf8-safe.


SVN revision: 6976
2003-06-05 06:08:43 +00:00
rbdpngn b6ae92d827 Generic runtime cpu feature testing. This is not used much yet, and shouldn't
break anything. Please review and shout if you see problems.


SVN revision: 6761
2003-03-11 04:39:58 +00:00
Carsten Haitzler 07af96e2c9 symbol fixup :) (conflict with imlib2)
SVN revision: 6604
2003-01-20 23:04:38 +00:00
Carsten Haitzler 3f207b8c08 const-ify lots of things...
SVN revision: 6558
2003-01-10 04:58:51 +00:00
Carsten Haitzler 8e3e8c5848 resolve symlinks...
SVN revision: 6556
2003-01-10 02:05:37 +00:00
Carsten Haitzler 3dc1dcbd32 the big internal function call renaming happened... and it was good.
SVN revision: 6449
2002-11-14 05:38:10 +00:00
Carsten Haitzler 7096a69a1e code code...
SVN revision: 6448
2002-11-14 05:23:54 +00:00
Carsten Haitzler 56b5e15f26 code move
SVN revision: 6445
2002-11-08 08:02:15 +00:00