Commit Graph

41 Commits

Author SHA1 Message Date
Cedric BAIL 575b0579cd * evas: Move to Eina module and make it possible to build a libevas with
everything in it.

	Note: This patch break the module API, so make sure you recompile and install
	every thing.


SVN revision: 41055
2009-06-16 13:01:36 +00:00
Vincent Torri 22969c71ef allow compilation on OS where the cache server can't be built (like Windows...)
SVN revision: 40570
2009-05-09 16:18:31 +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 ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Carsten Haitzler 06e06c4e34 space--
SVN revision: 40087
2009-04-15 14:42:21 +00:00
Carsten Haitzler 215ee3b77b and save makefile.am
SVN revision: 40085
2009-04-15 13:56:42 +00:00
Vincent Torri a659951ced * use the m4 macro EVAS_CHECK_ENGINE to check if an engine is available or not
* group the want_* variables related to engines and loaders at the beginning
   of configure.ac
 * use -no-undefined directly instead of a flag checked wrt the host
 * some clean up in Makefile.am files

Please report any problem


SVN revision: 37784
2008-11-24 06:18:31 +00:00
Vincent Torri 3fe7c5c077 remove useless fnmatch_libs
SVN revision: 37298
2008-10-29 08:36:22 +00:00
Cedric BAIL ad1525e5f9 Make evas depend on eina. No change in the code yet, so just fix your build system and no bug must show up.
SVN revision: 36621
2008-10-13 15:58:56 +00:00
Vincent Torri adb3896f4c link libevas against 16 bits lib when needed
SVN revision: 36177
2008-09-22 20:30:31 +00:00
doursse 2bda662d65 add Evas_Data.h to the headers to be installed
SVN revision: 34975
2008-07-02 04:46:20 +00:00
doursse 56eacad43d Autotools cleaning (not complete)
* formatting
 * put WIN32_CFLAGS in AM_CFLAGS and not AM_CPPFLAGS, as it is where it belongs
 * rename create_shared_lib to lt_no_undefined
 * pass -Wl,--enable-auto-import to libtool when compiling with cegcc
 * add files to EXTRA_DIST only when they are not in _SOURCES or _include_HEADERS (they
   are added anyway)


SVN revision: 34353
2008-04-23 06:55:10 +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
doursse e21fb0f122 autostuff improvements:
* use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE
   and check the required minimal versions.
 * add bzipped distribution archive
 * add AC_LIBTOOL_WIN32_DLL
 * forbid libtool to check fortran
 * compute libtool versioning from the version of the package
 * pass the directories based on ${prefix} to the preoprocessor
   with the -D option
 * replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS
 * remove useless -L flags in *_la_LDFLAGS


SVN revision: 32337
2007-11-04 09:21:50 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00
doursse 2bbb2619f9 add the DirectDraw engine. Evas is now available on Windows (tm)
SVN revision: 30089
2007-05-27 06:43:23 +00:00
tilman 99060c539f evas now uses pkg-config to detect EET. i also reworked the autoconf code for that, IMO it now is MUCH cleaner and easier to read than before. if this causes any trouble, please contact me rather than putting weird code in again. thanks :)
SVN revision: 28838
2007-03-21 02:15:30 +00:00
Carsten Haitzler 6e452edfd4 patches applied as per emails :)
SVN revision: 28302
2007-02-10 17:23:09 +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
stffrdhrn ec8cd4cc08 Add fontconfig to evas for finding fonts
* This can be disabled with --enable-fontconfig=no
 * Test in e17 with "enlightenment_remote -font-default-set title_bar Serif 12"
 * This is just the beginning: TODO: style searching, language reorder bypass


SVN revision: 21394
2006-03-19 04:29:57 +00:00
Carsten Haitzler 1659837796 clean up new modular build to link to the right things, in the right way,
remove usleess extra linkage etc.


SVN revision: 19864
2006-01-17 03:47:35 +00:00
Carsten Haitzler 55172140f9 anmd fix dlopen link detection , actually check for dladdr as it's a gnu
extension etc.


SVN revision: 19777
2006-01-14 12:36:25 +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 f4a8513aa4 an xrender engine. fully complete - but it doesnt support shaped window masks
and destination alpha like software_x11 does so its not a 100% dropin
replacement... yet


SVN revision: 17112
2005-10-02 15:15:44 +00:00
sebastid fd37cb5ac3 Use AC_PATH_GENERIC
SVN revision: 16495
2005-09-03 19:42:28 +00:00
sebastid 3f776d358a Cleanup some headers.
Remove duplicate typedefs and declerations.


SVN revision: 15407
2005-06-18 01:00:32 +00:00
doursse 2b2a800ad6 xcb port
SVN revision: 13822
2005-03-20 23:44:22 +00:00
Carsten Haitzler 17fc7bb20b auto-package for evas and cleanups
SVN revision: 13612
2005-03-04 14:34:35 +00:00
Carsten Haitzler 81715399a1 ldflags
SVN revision: 12127
2004-11-02 03:56:48 +00:00
Carsten Haitzler 0e38160623 buildie cleanies
SVN revision: 11955
2004-10-22 02:40:32 +00:00
Carsten Haitzler 49d92b0277 distcheck
SVN revision: 11947
2004-10-21 08:06:13 +00:00
Carsten Haitzler 24d8ea201a if we dont set LDFLAGs... why not just use the defaults? :)
SVN revision: 11930
2004-10-21 02:42:47 +00:00
Carsten Haitzler 1131ec1e34 and here are the stubs of a cairo engine
SVN revision: 11248
2004-08-17 06:03:39 +00:00
Carsten Haitzler 4b39c2994d -lm added
SVN revision: 10196
2004-05-13 06:49:48 +00:00
Carsten Haitzler fb5af0d025 SOME of the changes needed to support evoak... needs new eet...
SVN revision: 9829
2004-04-21 06:38:24 +00:00
Carsten Haitzler f11447ab8a cross-compile cleanly damnit!
SVN revision: 9002
2004-02-17 07:12:38 +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 bbfaab2ac1 memory buffer engine... not doing everything. api may change... working on it.
SVN revision: 6808
2003-04-02 04:28:27 +00:00
Carsten Haitzler b77e71b077 maybe debians include system might be happier now...
SVN revision: 6532
2002-12-30 00:48:39 +00:00
Carsten Haitzler 56b5e15f26 code move
SVN revision: 6445
2002-11-08 08:02:15 +00:00