Commit Graph

57 Commits

Author SHA1 Message Date
Carsten Haitzler c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Gustavo Sverzut Barbieri 7502b7fe0b Don't create useless modules dir if we're not going to install modules.
SVN revision: 58014
2011-03-23 03:33:55 +00:00
Carsten Haitzler aaad5f7319 fix most of nash's mess. 2 added aborts that nash has to fix.
SVN revision: 56891
2011-02-10 06:52:53 +00:00
Gustavo Sverzut Barbieri 379b546adf better logging.
* log domains in lower-case only please. let's make it a standard so
   we don't have to look at the code everytime to figure out the name...

 * logs do NOT require trailing newline (\n), it's automatic!

 * do NOT add newline inside log messages!

 * add gl_common logging.

NOTE: I tried to compile all modules, but there are clear broken
      modules such as cairo and qtopia. Other modules like gl_sdl are
      broken as they were not updated to new gl_common api (resize
      method AFAIR).



SVN revision: 53174
2010-10-07 23:46:42 +00:00
Gustavo Sverzut Barbieri 19f0eebd27 cleanup: simple clean of "comparison between signed and unsigned errors"
not much to see here, please review but these are simple changes.



SVN revision: 52426
2010-09-18 23:07:31 +00:00
Gustavo Sverzut Barbieri e37c1c7a0a cleanup: fix some "unused" errors from -Wextra.
As we're heading for a release we better remove as much errors as
possible and as the first step I'm removing warnings due unused
parameters, variables and functions. These tend to pollute real errors
spotted by -Wall and clang/llvm.

This does not fixes all, just the clear that could be set to
__UNUSED__, particularly to do (and I'd like some help from the
authors):

 * src/lib/engines/common/evas_font_{draw,query}.c (tasn):
   intl_props is just used while doing BIDI, but also used in other
   #ifdef blocks :-/

 * evas_map_* (raster):
   huge amount of warnings, code is quite confusing and thus I'm not
   touching it. I have no idea whenever the commented blocks or extra
   parameters are intended to be used or no.

 * src/modules/engines/fbevas_fb_main.c (raster?):
   is fb_setvt() to be used? If not do you mind removing it?

 * src/modules/engines/gl_{common,x11} (raster):
   huge amount of warnings, code is quite nested and full of #ifdefs
   that does not help to give a clear picture of what's going on.

 * src/bin/evas_cserve_main.c (raster):
   I could have ignored most of the errors, but is the code correct? I
   mean, there is no unload of images being applied. If you confirm
   none of those warnings are harmful I can flag them as unused.

 * src/lib/engines/common_8 (dottedmag):
   lots of unused functions that were acquired from common_16, they
   are unused and if they will not, then they should be removed.



SVN revision: 52421
2010-09-18 19:17:41 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Christopher Michael fefbc09a63 Move Evas (and associated headers) to their own dir (ie: the 'eet.h'
move).



SVN revision: 50141
2010-07-09 06:10:55 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Vincent Torri 4a54173b20 remove useless include
SVN revision: 47838
2010-04-08 17:39:26 +00:00
Cedric BAIL 1a51c662bf * evas: make map work with threaded rendering.
SVN revision: 47429
2010-03-24 16:39:39 +00:00
Vincent Torri f60b381333 Fix some warnings. I don't touch gl engines for now
SVN revision: 43221
2009-10-22 22:33:06 +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 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 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 1a224311d6 make pipe renderer separate to thread support - off by default.
SVN revision: 39740
2009-03-27 01:48:58 +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
Gustavo Sverzut Barbieri 74ece51f0b warnings--
SVN revision: 39593
2009-03-19 19:29:05 +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
Gustavo Sverzut Barbieri b814a5e2be buffer: reorder destroy-recreate sequence to avoid cache to be destroyed.
users of buffer engine (ie: e_thumb_main.c) were broken since when
they resize the canvas they would implicitly call engine->setup()
again, which would destroy output and create it again. However the
cache could be destroyed and images using it would be bogus.

This does not happen if the process have other cache users, but
e_thumb is just one canvas live at time.

By reordering, we have the cache reference to go to 2 and then back to
1, not destroying it.



SVN revision: 38739
2009-01-23 15:28:43 +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 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
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 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
Carsten Haitzler 23416631c1 only 0 on init if image has alpha
SVN revision: 33537
2008-01-20 04:15:31 +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 bb28443e9a printf--
SVN revision: 31971
2007-10-05 04:54:45 +00:00
Carsten Haitzler a5d3f7ddc0 1. default object size to 0x0
2. remove some float numbers (were cast anyway)
3. make smart object mmove/resize only called if the obj changes


SVN revision: 31968
2007-10-05 04:52:10 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00
Carsten Haitzler 0a4199c841 add mroe ifdle flush
SVN revision: 30356
2007-06-17 03:02:22 +00:00
Carsten Haitzler c303f04048 add an engine idle flush
SVN revision: 30355
2007-06-17 02:56:59 +00:00
Carsten Haitzler 6e452edfd4 patches applied as per emails :)
SVN revision: 28302
2007-02-10 17:23:09 +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 8c93e825a8 same as previous commit.
SVN revision: 26236
2006-09-30 10:18:37 +00:00
sebastid ec72116e3c Exported module functions must be EAPI
SVN revision: 25524
2006-09-06 07:28:46 +00:00
sebastid a17c875ddc Add const.
Remove unused variables.


SVN revision: 23027
2006-05-31 18:33:46 +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
Carsten Haitzler 28dc440e17 ok- actually handle dest buf if there is no back buf
SVN revision: 21756
2006-04-03 03:29:10 +00:00
Carsten Haitzler 82f8e24b2c bleh--
SVN revision: 21754
2006-04-02 23:52:26 +00:00
Carsten Haitzler d6690d7514 support all advertised formats
SVN revision: 21713
2006-04-02 07:47:31 +00:00
Carsten Haitzler 866b591619 cvlear ALL dst buffers for buffer engine
SVN revision: 21710
2006-04-02 07:25:03 +00:00
Carsten Haitzler d7c7836097 zero out alpha only if we have it - and add an initial memset to 0.
SVN revision: 21695
2006-04-02 01:33:00 +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