Commit Graph

95 Commits

Author SHA1 Message Date
Vincent Torri 860fc287c2 free correctly each buffer in XCB engine
The xcb_image dependency should be removed and replaced
by direct calls of the request XPutImage


SVN revision: 39024
2009-02-15 11:14:12 +00:00
Carsten Haitzler fb85d912b6 vtorri's merge of xcb and x11 software engines.
SVN revision: 38173
2008-12-17 08:13:49 +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 b7d5746e0d * remove module_la_DEPENDENCIES useless variable
* add -fno-rtti and -fno-exceptions when c++ is used (in Windows engines)
 * fix glew engine compilation
 * minor formatting


SVN revision: 37369
2008-11-01 09:46:51 +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 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
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
Carsten Haitzler ae1977a214 cedric's cache changes patch
SVN revision: 34253
2008-04-12 00:32:30 +00:00
Carsten Haitzler c1fb45dcea poosible segv - but never gets run so it never happens
SVN revision: 33964
2008-03-09 09:35:12 +00:00
Carsten Haitzler e076a78519 cedric's eet and edje patches to use eet dictionaries for strings.
SVN revision: 33873
2008-03-01 06:38:09 +00:00
doursse d84ab190e6 disable the creation and installation of the static lib of
the modules by passing the disable-static tag to libtool


SVN revision: 33739
2008-02-13 07:55:24 +00:00
Christopher Michael 865f8ada56 Comment out unused variable. Seems the functions that were supposed to use
it are commented out, but the variable was left. Fixed.


SVN revision: 33659
2008-02-01 01:50:56 +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
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 9432a9ef47 formatting
SVN revision: 31929
2007-10-02 03:41:19 +00:00
Carsten Haitzler 2ea744bc1b working on optimising software-x11 with the one-buffer persistence idea that
software-16 uses. it works and in some cases gets massive speedups (70%+) but
in a few its slowdowns (30% down) in expedite tests - why, i don't know. it
should be the same or better in all tests. disabled for now - also not
complete. < 32bpp wont' work and not sure rotation works and masks don't work
either.


SVN revision: 31928
2007-10-02 03:40:14 +00:00
Gustavo Sverzut Barbieri e2e7567a78 Do not free NULL graphic context.
By: Brett Nash (freegc-crash.patch)


SVN revision: 31692
2007-09-13 13:43:38 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00
Carsten Haitzler 9023997158 remove a flush - should be empty
SVN revision: 30368
2007-06-17 08:26:42 +00:00
Carsten Haitzler c303f04048 add an engine idle flush
SVN revision: 30355
2007-06-17 02:56:59 +00:00
Carsten Haitzler d9d4d5ee8e dont overrun mask buffers!
SVN revision: 30315
2007-06-12 13:12:17 +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
Carsten Haitzler 7b392c8ce3 gustavo's patch on free an empty/unused evas.
SVN revision: 29777
2007-04-30 04:23:47 +00:00
Carsten Haitzler 55c06e75ff rotation patches for 180 degrees - thankyoooo! :)
SVN revision: 28527
2007-03-02 14:51:17 +00:00
Sebastian Dransfeld edde5b3088 Remove unused variables.
SVN revision: 27590
2006-12-28 12:45:32 +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 5564c2a722 been doing instrumentation. i'm cuttong down on startup time - a little here
and there - noticing lots of excessive io and stat and what not junk.
trimming out.


SVN revision: 26729
2006-10-21 10:28:01 +00:00
Carsten Haitzler 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
doursse a5c5e9699a do not free buf if no available buf
SVN revision: 25694
2006-09-10 16:06:51 +00:00
sebastid ec72116e3c Exported module functions must be EAPI
SVN revision: 25524
2006-09-06 07:28:46 +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
doursse c4dff4d193 i've forgotten to remove that :)
SVN revision: 21173
2006-03-10 19:12:57 +00:00
doursse 1f3549a60b xrender xcb engine
SVN revision: 21172
2006-03-10 19:10:07 +00:00
Carsten Haitzler 7e5f9cf26e ARGB targets for sw engine supported
SVN revision: 21119
2006-03-09 03:51:27 +00:00
Carsten Haitzler c7fc7cd9c8 add a dst alpha flag
SVN revision: 21104
2006-03-08 15:35:05 +00:00
Carsten Haitzler 0a1b835592 software engines all now totally inherit from software_generic and
xrender_x11 now partially inherits.


SVN revision: 20909
2006-03-02 09:16:46 +00:00
Carsten Haitzler 46c7d3b025 1. new engine inheritance scheme - its recursive if u want it to be, and so
far buffer, software_x11 and fb engines use it. need to make allother
software enignes use it next then the gl, cairo, xrender engines, then dfb.
it cuts out a LOT of duplicate code. makes writign a new engine or engine
variant much simpler


SVN revision: 20908
2006-03-02 08:06:10 +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 82742c35f2 clean up new modular build to link to the right things, in the right way,
remove usleess extra linkage etc.


SVN revision: 19865
2006-01-17 03:47:40 +00:00
David Walter Seikel 0e3bbc475d Presenting the Indian Rope Trick. Watch in awe as these young files climb
up the rope and disappear into thin air!


SVN revision: 19847
2006-01-16 03:57:33 +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
doursse ff8397da6c fix includes
SVN revision: 19807
2006-01-14 20:28:37 +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