Commit Graph

42 Commits

Author SHA1 Message Date
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 adab71dcfd fix engines to match engine func changes with font stuff (R to L)
SVN revision: 40782
2009-05-22 21:11:45 +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 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 b0b043f443 scalecache tracks normal cache size etc. etc. etc.
SVN revision: 39907
2009-04-09 13:20:00 +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
Carsten Haitzler e0a8a97b6d now enough logic to know when to unload original... now just need to make
unloaidng possible without instant-reload.



SVN revision: 39742
2009-03-27 03:50:03 +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
Carsten Haitzler a3f68ea9d9 1. a bunch of neon asm infra and some asm, but only the neon that works is
enabled. the blending is not working/complete. the neon for fills and copies
isnt actually faster though currently :(
2. scalecache infra - disabled for now. working on it.



SVN revision: 39723
2009-03-26 07:14:08 +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
Cedric BAIL 5621e47f1c Correctly cancel each image object and not all at once.
SVN revision: 38658
2009-01-20 14:56:37 +00:00
Carsten Haitzler a2cd677cdc ok - revert scalecache until leak fixed.
SVN revision: 37899
2008-12-02 02:33:09 +00:00
Carsten Haitzler 72c25fd2fc quick - evas scalecache put this in svn do i dont lose my patch. i'll revert
and work on gettign the leak fixed.



SVN revision: 37898
2008-12-02 02:32:22 +00:00
Carsten Haitzler 9705e3c741 hmmm after some talking - for now put the transform patch on hold - we need
tyo fix up some of these breaks first and there isn't a lot of time devoted
to this. so revert this. it's in svn history so we can dig it out any time we
like.



SVN revision: 37453
2008-11-04 09:19:35 +00:00
Carsten Haitzler 3e984fee34 jose's transform patches. some things to note:
1. nearest scaling is now broken - it's always linear interpolation. this
will lead to slowdowns. i need to fix this - a must.
2. i think it's time i put in a transformed image cache that can cache an
image object at a transform (and share it) automatically.
3. transforms in non-software-engines will not work - broken. need to at
least do xrender and gl engines.

any volunteers to help?



SVN revision: 37447
2008-11-03 22:50:54 +00:00
Vincent Torri 5be63df7c0 fix constness and wrong type parameters
SVN revision: 37368
2008-11-01 07:55:33 +00:00
Cedric BAIL bd2c5d6648 Add image preloading support.
This should work without performance impact for all engine.


SVN revision: 36018
2008-09-16 14:52:57 +00:00
Carsten Haitzler c1fe72d7e4 jose has some new gradient work - these are his patches. nice work joseg! yes
- some enignes break as they dont have the stubbed out functions, and
xrender/gl engines dont even implement the drawing and need to (but are
stubbed out).



SVN revision: 35677
2008-08-26 05:45:04 +00:00
Cedric BAIL 7711f12d8e Use directly Image_Entry when possible.
SVN revision: 34792
2008-06-10 09:22:27 +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 d6f9cc797e adrunko's precise event patch
SVN revision: 30939
2007-07-23 14:22:57 +00:00
Carsten Haitzler 6c167c3a6d cedric's sdl patch.
SVN revision: 30845
2007-07-16 07:25:35 +00:00
Carsten Haitzler c303f04048 add an engine idle flush
SVN revision: 30355
2007-06-17 02:56:59 +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 3bb50b9b24 fix buffer canvas resizes :)
SVN revision: 27521
2006-12-19 15:06:33 +00:00
Carsten Haitzler 9e27a0d98c fix color modulation for gl surfaces. also fix segvs tat can happen. xrender
engine is behind now though. can't do yuv surfaces (yet)


SVN revision: 27518
2006-12-19 14:12:40 +00:00
Carsten Haitzler 7c357ef3fe fix segv added in
SVN revision: 27499
2006-12-17 16:46:30 +00:00
Carsten Haitzler f83220c857 not complete yet - actually i need help with the fragment shader.
in evas_gl_texture.c i have a frag shader, and it tries to use a set of 3
textures that act as the yuv planes, BUT the u and v textures (Utex and Vtex)
are simply getting values from the Ytex - regardless of what i try. grrr.
what's up with that?


SVN revision: 27495
2006-12-17 15:48:52 +00:00
Carsten Haitzler 2058cfd58b 1. add new api calls to 1. set a "native surface" for image objects. this
currently does nothing and i have kept it VEEERY generic it's a pointer to a
native surface which can be just about anything - each engine will probably
define a format of its own you need to use VIA the native surface type.
2. add calls to set/get colorspace - moving this down into the engine level.
so far engines do nothing at all with it - but api is there.
3. clean up gl engine a bit - make it more standard.


SVN revision: 27389
2006-12-09 08:52:08 +00:00
Carsten Haitzler f80a02f999 a few things.
1. disable viewports other than 1:1 at 0,0
2. remove output space coorsds for pointer.
3. remove geom caching
4. make threaded pipelined engine a runtime detect if u have > 1 cpu.
5. pthread build default if u have pthread.h and sched.h


SVN revision: 27131
2006-11-16 03:20:24 +00:00
Carsten Haitzler e99a611e98 fix --enable-ptrhead and poly render symbol - oops
SVN revision: 27121
2006-11-15 11:57:42 +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
Carsten Haitzler 0889c589f2 added the ability to set load scaledown, dpi or load size - the svg loader
uses these to know what to render and how (or has defaults if these are not
set)


SVN revision: 24868
2006-08-18 14:45:26 +00:00
Carsten Haitzler d7eee7eee6 patches that i said were in - commit. (see my reply emails)
also finish off a TODO item or 2


SVN revision: 23267
2006-06-07 23:30:15 +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 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