Commit Graph

23 Commits

Author SHA1 Message Date
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 0ca6c0a0bb Add a private data member to cache image structure.
SVN revision: 34700
2008-05-30 13:33:40 +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
Christopher Michael 355b22f3a7 Add missing prototype for _evas_cache_image_entry_delete because it was
being used before the function was defined.


SVN revision: 34516
2008-05-09 19:04:49 +00:00
Cedric BAIL d31b0db3ca Fix a bug when a file change when it's still in use. Thanks to Adriano Rezende for helping tracking the bug.
SVN revision: 34513
2008-05-09 16:18:18 +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
Cedric BAIL 47c7f1aa08 Fix a bug caused by duplicated entry in the activ and dirty cache list.
SVN revision: 34302
2008-04-17 15:30:03 +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
Gustavo Sverzut Barbieri 1def3acd63 Missing const to callback parameter.
SVN revision: 33712
2008-02-08 20:54:18 +00:00
Gustavo Sverzut Barbieri 7cb7216314 Add const: evas_hash.c
As agreed on IRC, evas_hash_foreach() now takes const, to make clear
that hash shouldn't be changed. If one wants to change he must do a
cast and return 0.  However this will require users to be updated in
applications.


SVN revision: 33708
2008-02-08 19:55:03 +00:00
Carsten Haitzler c1441e1c3a e:
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system  - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.

ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape

evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).


SVN revision: 33448
2008-01-11 07:33:57 +00:00
Carsten Haitzler 0112fdc383 patches, caching fixes, zone dynamic creation/deletion handling, stuff.
SVN revision: 33127
2007-12-14 05:57:16 +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 f5c14b41ee actually - 0 by default.
SVN revision: 32002
2007-10-07 11:17:09 +00:00
Carsten Haitzler afdefa4305 4mb imge cache by default - stupid to have it unlimited.
SVN revision: 32001
2007-10-07 11:10:19 +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
Carsten Haitzler f23f99bf84 and actively remove images when they are KNOWN to have been removed from disk
or the cached copies have 0 refs and are too old (thus wasting cache space).


SVN revision: 31243
2007-08-11 12:22:43 +00:00
Carsten Haitzler c28878389d and use timestamp (mtime) for cache
SVN revision: 31242
2007-08-11 12:14:17 +00:00
Carsten Haitzler ee6e3e6a9a \use direct hash - doesnt strdup the string key. also stringshare the img key
- just in case.


SVN revision: 31232
2007-08-09 14:44:36 +00:00
Carsten Haitzler 14024931d1 fix cache accounting
SVN revision: 31230
2007-08-09 12:21:21 +00:00
Carsten Haitzler 287d8779fb fix the cache code - it was basically broken and wouldnt free things from
cache. it also didnt account cache USAGE (cache is ref == 0 count images
speculatively hanging around in case theyare needed).


SVN revision: 31227
2007-08-08 23:41:31 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00