Commit Graph

72 Commits

Author SHA1 Message Date
Vincent Torri 30a413d330 Fix a crash in the xcb engine
It is still broken when shm is used. I don't know why
Fix other possible issues when shapes are used


SVN revision: 44940
2010-01-07 06:42:42 +00:00
Cedric BAIL 8984a75799 * evas: Cleanup move to eina log.
Patch from Mathieu Taillefumier.


SVN revision: 43200
2009-10-22 15:22:22 +00:00
Cedric BAIL ef2d2ddfda * evas: Remove some llvm warning.
SVN revision: 42938
2009-10-07 12:47:01 +00:00
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Vincent Torri ea9c39e2f7 masks should be correctly rotated in the xcb engine, now
remove a few unused parameters and unused variables


SVN revision: 41975
2009-08-25 16:21:09 +00:00
Vincent Torri 86dab3bef7 we should try if shm is available
SVN revision: 41974
2009-08-25 15:23:15 +00:00
Vincent Torri 12751954d1 remove uneeded declaration (to be symetric with xcb code)
SVN revision: 41523
2009-07-28 09:55:08 +00:00
Vincent Torri da292c1f29 * rename 'x11' to 'xlib' when it makes sense
* allow the build of evas without xlib installed (for OpenInkpot guys)
 * add big fat warning when at least a module is linked statically (try it !)

more patches will follow now (ecore, e, rage and ewl)
I let pyton and c++ bindings maintainer to do the rename


SVN revision: 41329
2009-07-14 21:16:08 +00:00
Cedric BAIL a7f2974e13 * evas: break engine API !!!
Improvements: Now evas rendering loop is the one responsible to
	initialize the surface to 0 correctly (taking into account surface
	alpha and object opacity). This will reduce the number of memset
	we do.

	Note: Current software_x11 (xlib and xcb) are buggy. They are
	copying too much data when the surface use a mask. That's why
	two memset are left in their code. They could be removed, but
	we should fix the surface we copy on change (look at mxob user
	and evas_software_xlib_x_output_buffer_paste).


SVN revision: 41206
2009-06-26 13:26:52 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00
Vincent Torri 324fd7b2ca do not segv when no pallete in xcb engine too.
SVN revision: 41122
2009-06-20 06:53:48 +00:00
Gustavo Sverzut Barbieri 728b003fee do not segv when no pallete.
spotted this bug when I disabled all converters in a config mistake :-)



SVN revision: 41116
2009-06-20 05:55:37 +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
Carsten Haitzler 63e4b4e564 fix softwared x11 xlib engine to generate masks when rotated too
SVN revision: 40523
2009-05-06 12:35:38 +00:00
Vincent Torri 899b8d13dc * better fix for -no-undefined
* remove test with icl


SVN revision: 40313
2009-04-23 03:47:28 +00:00
booleanlabel b0d7b37388 From: booleanlabel@gmail.com
cygwin fixes.



SVN revision: 40303
2009-04-23 01:15:11 +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
Vincent Torri 98e76f6280 use unsigned int for bit fields, as suggested by Gustavo
SVN revision: 39677
2009-03-24 11:44:19 +00:00
Vincent Torri b61328192f API break (well, kind of...)
* evas_engine_info_set() returns now an int, to inform if
   an error occured or not when setting the info of the engine.
 * in the Evas_Func structure, the setup() method returns an int
 * all the engines are updated

I'll fix ecore_evas and ewl later (the compilation is still fine).

Gustavo: should I add EINA_WARN_UNUSED_RESULT at the end of the
evas_engine_info_set() function ?



SVN revision: 39670
2009-03-24 09:05:32 +00:00
Vincent Torri 8b7a4fd16e Use an enum for the backend
SVN revision: 39664
2009-03-24 07:36:46 +00:00
Vincent Torri 9ed772fd35 mask is a pixmap, not a drawable
SVN revision: 39404
2009-03-07 07:45:05 +00:00
Vincent Torri 5b5282ec3e remove trailing spaces
SVN revision: 39403
2009-03-07 07:00:29 +00:00
Vincent Torri fd3ec295bd remove hack about unused parameter and use __UNUSED__ instead
SVN revision: 39402
2009-03-07 06:56:42 +00:00
Vincent Torri c5e64e50b7 fix comment
SVN revision: 39280
2009-02-28 13:02:17 +00:00
Vincent Torri 6696a9c87b * remove 'unused parameter' warnings
* i didn't touch glitz engine as it will certainly be disabled later
 * i'll update windows engines later


SVN revision: 39274
2009-02-28 10:08:45 +00:00
Vincent Torri 725d8b4bfb use pm instead of PAL_MODE_RGB666 when allocating colors
SVN revision: 39188
2009-02-25 07:24:53 +00:00
Vincent Torri 0af29b19d6 sync when needed
SVN revision: 39171
2009-02-24 07:06:14 +00:00
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