Commit Graph

431 Commits

Author SHA1 Message Date
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Carsten Haitzler 65f147aa81 make loaders use "big image" macro to detect an image that is going to just
be way too big to ever allocate. probably code can do with other fixes too.

also make jpeg loader rudametarily understand load regions. very brute-force.
but enough for just this moment to do testing.



SVN revision: 42507
2009-09-16 09:48:05 +00:00
Mikhail Gusarov 226e4e5e16 From: Mikhail Gusarov <dottedmag@dottedmag.net>
Subject: [E-devel] [evas] Add RGBA -> grayscale 64 entries palette conversion

This is needed for E-Ink devices outta there. Names of new files,
configure.ac variables and macros are awful, suggestions are welcome.



SVN revision: 41825
2009-08-17 01:41:07 +00:00
Gustavo Sverzut Barbieri 09bb18e727 need to set trailing NULL as it will not be done automatically.
SVN revision: 41708
2009-08-12 16:02:32 +00:00
Carsten Haitzler c3c692269a Ticket #372 - patch. fix.
SVN revision: 41563
2009-08-03 08:19:12 +00:00
Cedric BAIL 5784d74daa * eina: Add eina_cpu_count.
SVN revision: 41543
2009-07-30 16:45:15 +00:00
Mikhail Gusarov d6af88ef6c patch from: Mikhail Gusarov <dottedmag@dottedmag.net>
evas_common_font_utf8_get_prev currently works correctly only on an
ASCII symbols. For non-ASCII it just returns random garbage somehow
constructed from a string.

Attached patch makes it work according to the comment at the start.



SVN revision: 41292
2009-07-10 06:06:37 +00:00
Cedric BAIL 7a94d9de85 * evas: Try all known modules when testing an unknown file.
SVN revision: 41262
2009-07-07 11:07:43 +00:00
Cedric BAIL 1676145494 * evas: Reduce code duplication.
SVN revision: 41228
2009-07-01 14:05:04 +00:00
Carsten Haitzler e420003d7e add a zero of cpu.. just in case.
SVN revision: 41195
2009-06-25 14:59:12 +00:00
Cedric BAIL 42e610f81b * evas: Reduce malloc/free done by Fribidi use in evas.
Note: More could be done to improve this situation.


SVN revision: 41169
2009-06-23 13:51:41 +00:00
Gustavo Sverzut Barbieri 0567fd7bf2 improve sched_getaffinity() usage.
* handle error code and print out error message, this should remove
   invalid access traces from valgrind.

 * give "0" as pid to get self affinity, this is documented in the man
   page.



SVN revision: 41118
2009-06-20 06:34:20 +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 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
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
Cedric BAIL f63beb3edf * Evas: Remove allocation/free from the critical path.
SVN revision: 41048
2009-06-15 14:34:33 +00:00
Gustavo Sverzut Barbieri 3e04e9ec3f cleanup llvm warnings by michael bouchaud.
By: michael bouchaud.


SVN revision: 41024
2009-06-13 00:04:25 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Iván Briano 5888d62400 Make fribidi truly optional
SVN revision: 40755
2009-05-20 03:14:29 +00:00
Vincent Torri 0c233cfcf3 missing declaration of evas_common_font_query_last_up_to_pos()
patch by Lars Munch (previous one too)


SVN revision: 40729
2009-05-18 17:33:54 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Carsten Haitzler c830f68a06 1. fix scalecache to actually respect env vars set!
2. fix textblock cursor stuff in corner case.



SVN revision: 40617
2009-05-13 12:20:14 +00:00
Carsten Haitzler 47f6f036c1 fix load opts to only unload/reload if opts changed for cserve
SVN revision: 40573
2009-05-10 03:06:49 +00:00
Carsten Haitzler f79b4a4a2f 1. scalecache config env vars an use them
2. more api's related to cserve



SVN revision: 40548
2009-05-08 11:26:25 +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 d92a6d99a7 more cserver work for sharede cache- improvements
SVN revision: 40524
2009-05-06 12:36:06 +00:00
Gustavo Sverzut Barbieri 8ef8b1e15a fix build of cserve with -fvisibility=hidden.
SVN revision: 40486
2009-05-02 15:53:48 +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
Mike Frysinger 0041222bb0 pull in evas_common.h for evas_string_char_len_get() decl
SVN revision: 40428
2009-04-28 05:06:48 +00:00
Iván Briano 554dccdb0b some formatting
SVN revision: 40343
2009-04-24 04:35:52 +00:00
Iván Briano 6c7831c3ab Build against newer Fribidi
SVN revision: 40341
2009-04-24 00:21:26 +00:00
Carsten Haitzler 99ccf484f8 snapworth quality - distchecked. sonames bumped. rev's bumped. tarballs
uploaded.



SVN revision: 40284
2009-04-22 14:07:05 +00:00
Vincent Torri cc2916b58f add evas_intl_utils.h to extra dist (fix make distcheck)
reported by Albin Tonnerre


SVN revision: 40243
2009-04-19 22:06:59 +00:00
Carsten Haitzler 38811d99c5 cleanup on shutdown better
SVN revision: 40242
2009-04-19 20:40:41 +00:00
Iván Briano 994190d144 Don't leak, and be consistent with return values.
SVN revision: 40101
2009-04-16 04:52:33 +00:00
Carsten Haitzler ce6094df3f move fribidi link to main lib
SVN revision: 40082
2009-04-15 12:01:05 +00:00
Carsten Haitzler 2f0458439a and actually enable th RTL code!
SVN revision: 39981
2009-04-11 13:11:10 +00:00
Carsten Haitzler e279ba4bbe more files!
SVN revision: 39974
2009-04-11 08:11:47 +00:00
Carsten Haitzler 02f87aeaf5 and add files!
SVN revision: 39973
2009-04-11 08:06:50 +00:00
Carsten Haitzler c89a71c6c2 TAsn: patch from tasn. use libfribid for Right-to-left text.
this (apparently) makes right-to-left work for display. that means:

hebrew
yiddish
arabic
persian
...

i don't read (or write ... or speak) an of these...

so.. i'll leave it up to others to find bugs/problems and send patches.
thanks a huge amount to TAsn for the patch!



SVN revision: 39972
2009-04-11 07:51:20 +00:00
Carsten Haitzler b0b043f443 scalecache tracks normal cache size etc. etc. etc.
SVN revision: 39907
2009-04-09 13:20:00 +00:00
Carsten Haitzler d5cfffc3c2 add - in theory rgb24+32 666 support (ezx).
SVN revision: 39836
2009-04-03 01:00:54 +00:00
Carsten Haitzler 9c4c129125 hmm some more generous params for sc.
SVN revision: 39808
2009-03-31 04:12:09 +00:00
Carsten Haitzler 44dc876479 remove accounting info not used atm.
SVN revision: 39766
2009-03-28 02:50:19 +00:00
Carsten Haitzler 9dbf47682d oops and fix the flags!
SVN revision: 39762
2009-03-27 14:11:27 +00:00
Carsten Haitzler 28034d840b cover not good speedup case.
SVN revision: 39760
2009-03-27 13:46:53 +00:00
Carsten Haitzler df68d791b5 enable cache again
SVN revision: 39745
2009-03-27 07:34:45 +00:00
Carsten Haitzler 5f0c7389a2 fix non-scalecache mode
SVN revision: 39744
2009-03-27 07:22:46 +00:00
Carsten Haitzler 66cc98b0f4 also be able to free orig data now (and reload)
SVN revision: 39743
2009-03-27 06:06:45 +00:00