Commit Graph

168 Commits

Author SHA1 Message Date
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Carsten Haitzler 26911649be oopsie. fix.
SVN revision: 51071
2010-08-13 10:39:41 +00:00
Carsten Haitzler 2d3ea36109 more work on egl image direct access.
SVN revision: 51070
2010-08-13 10:34:51 +00:00
Carsten Haitzler 01b7216880 more glue/infra. glue evas api to engine together. gl engine gets stubs.
SVN revision: 51028
2010-08-12 06:11:13 +00:00
Carsten Haitzler 18f7411d9e well well. i broke that. gles enignew builds again.
SVN revision: 50852
2010-08-06 04:37:06 +00:00
Carsten Haitzler 9275e5beb2 re-jig native surface stuff to share the same gl image between
multiple instances of the same pixmap.



SVN revision: 50758
2010-08-03 06:09:53 +00:00
Carsten Haitzler 50649552e3 dont sync if vsync not set...? (good?)
SVN revision: 50735
2010-08-02 06:44:23 +00:00
Carsten Haitzler f20b010d41 now work?
SVN revision: 50635
2010-07-29 06:21:51 +00:00
Tom Hacohen a6d428334f Evas: Changing the font engine to work with Eina_Unicode instead of utf8.
Changing textblock and text objects to work with Eina_Unicode instead of utf8 (internally, API remains intact).
Started relying on new fribidi 0.19.2 instead of the old fribidi.
A lot of fixes to the font engine.
Renaming of evas_common_font_utf8_* to evas_common_encoding_utf8_*
This relies on new Eina changes and types: Eina_Unicode, Eina_UStrbuf and Eina_UStringshare.

SVN revision: 50595
2010-07-28 12:00:41 +00:00
Carsten Haitzler 1a0f8b1c51 try this one
SVN revision: 50589
2010-07-28 08:11:30 +00:00
Carsten Haitzler 1154cf402c add new win before deleting old.
SVN revision: 50584
2010-07-28 06:00:02 +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
Carsten Haitzler 8cc1f752d0 be paranoid about gl context - reset it to "0" every frame.
SVN revision: 49065
2010-05-20 15:24:28 +00:00
Carsten Haitzler 6ebb4a2152 2 more symbosl not exported - there, but hidden if visibility hidde.
SVN revision: 49004
2010-05-19 13:00:08 +00:00
Carsten Haitzler 7bf5eee839 fix symbols! oops.
SVN revision: 48980
2010-05-18 14:45:50 +00:00
Carsten Haitzler cedba3f7d9 handle gl init fialure correctly and dont mess up font init.
SVN revision: 48959
2010-05-18 04:22:33 +00:00
Carsten Haitzler 4fefcad954 if shader compile fails - peroclate error back up to engine info_set so we
know gl engine is useless.



SVN revision: 48956
2010-05-18 03:49:59 +00:00
Carsten Haitzler fa6a067737 gl engine now does rotates (0, 90, 180, 270), like software engines
SVN revision: 48704
2010-05-09 05:15:20 +00:00
Gustavo Sverzut Barbieri 2e4b0fddd8 load ~/.Xdefaults less often, make it shared and free its resources.
SVN revision: 48420
2010-04-29 15:32:47 +00:00
Gustavo Sverzut Barbieri 66475f25c3 Load Xft.dpi from ~/.Xdefaults as well.
Do this for consistency with other applications, some people just set
.Xdefaults but do not have xrdb to load it to screen. This works with
most of the systems, like Gtk and Qt, but not in Evas, so we get
different font sizes as they calculate based on DPI.

HOWEVER, and this may be a big thing, so RASTERMAN take a look, this
might impose a performance hit on window creation... remember that
every E17 popup/tooltip will hit this process of reading the file (if
exists) and then query X server (round trip).
    I'd rather make this a global resource, loaded just once for all
created windows, we can store the mtime to know when it changed and
invalidate the pointer... but as Raster did not keep the
XrmGetDatabase() result as global, I'm not doing it here either.



SVN revision: 48403
2010-04-28 20:26:04 +00:00
Carsten Haitzler afe65d7c0a add ability to dump engine coontents (if engine supports it). this means
unload images it has loaded from disk, unload fonts, and more. dump dump dump!



SVN revision: 47947
2010-04-12 08:23:53 +00:00
Carsten Haitzler 197e4b7bad some debugging i get to turn on sometimes... off now.
SVN revision: 47618
2010-03-31 09:25:21 +00:00
Carsten Haitzler eb4c4a29b3 actuallyu free gl context//terminate on last gl window gone.
SVN revision: 47361
2010-03-22 05:33:20 +00:00
Cedric BAIL a859e60140 * evas: Make evas_object_move on Evas_Object_Polygon work.
TODO: Make evas_object_resize work also.


SVN revision: 47291
2010-03-16 13:23:37 +00:00
Carsten Haitzler bfd8514063 fix calloc with negative values - missing size set initially!
SVN revision: 46701
2010-03-01 15:51:22 +00:00
Carsten Haitzler 2f1ffe9863 fix ... negative calloc... hrrrm
SVN revision: 46696
2010-03-01 14:37:37 +00:00
Carsten Haitzler 5ae0845c1c begin work on argb window support for gl - glx/gl doesnt work. i think egl/gles
will tho.



SVN revision: 46677
2010-03-01 04:44:23 +00:00
Carsten Haitzler 9dcca83a08 fix alpha set/unset on image obj in gl engine.
SVN revision: 46344
2010-02-21 15:49:44 +00:00
Gustavo Sverzut Barbieri 5777eee064 do not access NULL image data for native surfaces.
This fixes another segv that happens when using composite manager.


SVN revision: 46265
2010-02-18 02:51:27 +00:00
Carsten Haitzler 0a373f4d19 done need egl errors there.
SVN revision: 46241
2010-02-17 07:34:22 +00:00
Carsten Haitzler dc8fdf5e3a lots of gl error catching.. if gl errors happen.
it's a #defined macro so it can be removed.
 


SVN revision: 46233
2010-02-17 04:21:59 +00:00
Carsten Haitzler b933154d21 add checks for vendor etc. too
SVN revision: 46176
2010-02-15 04:12:50 +00:00
Carsten Haitzler cee4d504cf add indirect engine option - and do glsym for glxcreatepixmap and friends.
SVN revision: 46167
2010-02-14 15:12:39 +00:00
Carsten Haitzler c487a6aa70 work on adding copy back -> front partial swaps back in... tho it does
nothing atm.. odd! disabled tho.



SVN revision: 46077
2010-02-11 14:41:44 +00:00
Carsten Haitzler 7fb7677794 printf--
SVN revision: 46044
2010-02-10 13:36:33 +00:00
Carsten Haitzler 5c236def11 more work on compositing
SVN revision: 46043
2010-02-10 13:36:06 +00:00
Carsten Haitzler 22bcb163f2 compositing ok on glx - need this for more testing and dev!
SVN revision: 46035
2010-02-10 06:24:21 +00:00
Carsten Haitzler 353f4bb6ec reduce binds when things get clipped and split.
SVN revision: 45928
2010-02-06 08:38:26 +00:00
Carsten Haitzler ee6abe9ca0 disable
SVN revision: 45828
2010-02-03 04:36:05 +00:00
Carsten Haitzler 0ee6420e42 move to eglwaitnative - still doesnt help tho:(
SVN revision: 45802
2010-02-02 11:50:49 +00:00
Carsten Haitzler 466fb263ac clean up gl text-from-pixmap a bit
SVN revision: 45796
2010-02-02 07:00:10 +00:00
Carsten Haitzler 2087f9468c fix! broek egl compositing. fixed now.
SVN revision: 45792
2010-02-02 05:30:19 +00:00
Carsten Haitzler a022e49d82 more complete gl-texture-pixmap handling, but still is broken on fglrx. hmmm.
SVN revision: 45750
2010-01-31 02:50:01 +00:00
Carsten Haitzler 2b33ec0988 put in little vsync option and section. not turned on by anything yet.
SVN revision: 45708
2010-01-29 17:14:50 +00:00
Carsten Haitzler 0aec2b4dcd oops - missed name.
SVN revision: 45697
2010-01-29 08:20:58 +00:00
Carsten Haitzler 325da4619c some build fixes... oops.
SVN revision: 45693
2010-01-29 06:33:10 +00:00
Carsten Haitzler dcd3b345e5 gles - update on t2pixmap
SVN revision: 45681
2010-01-29 05:32:51 +00:00
Carsten Haitzler be64dad971 debug--
SVN revision: 45555
2010-01-25 14:44:02 +00:00
Carsten Haitzler 7d25128c3d more debug
SVN revision: 45554
2010-01-25 14:29:30 +00:00
Carsten Haitzler 47ad18fafc more debugging
SVN revision: 45551
2010-01-25 14:02:14 +00:00
Carsten Haitzler 0948ee7e20 1. depth buf+ stencil buf explicityl zero for both glx and egl.
2. some debugging - havving issues. will revert debug stuff soon



SVN revision: 45550
2010-01-25 13:42:57 +00:00
Carsten Haitzler c12557d8f0 add pre/post swap callbacks. need them! :(
SVN revision: 45514
2010-01-24 11:01:20 +00:00
Carsten Haitzler e4200ef02b oops - need to enable it for htings to work
SVN revision: 45509
2010-01-24 05:41:53 +00:00
Carsten Haitzler b06b71050a ok. work on native pixmap suppport. have problmes - not sure why. see
comments (create/destory glx pixmap needed for updates to work, but this
makes rendering dead-slow. without it rendering is fast, but updates dont
happen (useless).

anyone know why glxcreatepixmap is needed as well as bindteximage+release
(and destroy pixmap) vs just bind/unbind?



SVN revision: 45508
2010-01-24 05:11:54 +00:00
Carsten Haitzler b2f0971068 fix variable
SVN revision: 45427
2010-01-22 05:55:46 +00:00
Carsten Haitzler 33ba2279fc some more cleanups - issed protecting 1 or 2 calls. gl still doesnt work tho
:) not on fglrx.



SVN revision: 45388
2010-01-21 12:43:53 +00:00
Carsten Haitzler dbf33fc10a some protection against playing with native surfaces (setting image size
doent re-alloc for example)



SVN revision: 45385
2010-01-21 09:42:26 +00:00
Carsten Haitzler ad2b33c0bb native surface support lives - for GL (GLX) only. it works - or seemingly
does in my test casses. doesn't work for compositing though! don't know why.



SVN revision: 45383
2010-01-21 08:44:11 +00:00
Carsten Haitzler aad9a0113f dont destroy db - it's shared and initted on startup etc.
SVN revision: 44968
2010-01-08 07:51:30 +00:00
Carsten Haitzler d2a217d775 fix - destroy properly
SVN revision: 44967
2010-01-08 07:48:18 +00:00
Carsten Haitzler 45d79a15cb allow x11 engines to get x resource that sets dpi.
SVN revision: 44965
2010-01-08 07:10:53 +00:00
Carsten Haitzler fa435074e0 1. line support in gl engine - as if anyone uses lines
2. fix clipping for gl maps - was setting them when it shouldnt.



SVN revision: 44782
2009-12-30 11:35:40 +00:00
Carsten Haitzler c3f6caa568 gl -> polygons now work. slow - but does it matter?
SVN revision: 44724
2009-12-27 00:40:25 +00:00
Gustavo Sverzut Barbieri 51c00c6526 fix evas image loading error reporting.
Evas image load was always reporint "generic" error, since it was
disconnected from actual loader modules.

This commit will break the module loader API (as it's restricted to
inside Evas, this should be no problem). The return was turned into
"Eina_Bool" for clarity, while an extra "int *error" is responsible to
report errors. This approach was choosen to force compiler warnings
and to try avoid mistakes as EINA_FALSE == EVAS_LOAD_ERROR_NONE and
thus we'd get opposite behavior if something slips.

Most loaders play well, except by eet that does not provide means to
know if the file open failed due missing file, incorrect format or
corrupted file :-(

Please report any issues. I added eina_log debugging to loader
functions, just run your Evas application as:

     EINA_LOG_LEVELS=evas_main:4 your_app




SVN revision: 44666
2009-12-22 23:11:57 +00:00
Cedric BAIL a27c701f27 * evas: Remove lot's of warning.
SVN revision: 44629
2009-12-21 15:52:12 +00:00
Carsten Haitzler bfd91eb67f remove excess tex update on dirty. some formattign and naming too.
SVN revision: 44592
2009-12-20 06:23:13 +00:00
Carsten Haitzler b5d5817a88 fix some valgrind issues
SVN revision: 43657
2009-11-13 08:28:47 +00:00
Carsten Haitzler e3fcdd8b48 render-to-texture now is used for evas maps... but only simple cases seem to
work. (in ello) elementary stuff seems... less happy. will work on it! also
havent done the gles bits. just desktop gl (first port of call for
doing/testing). the #ifdefs are ther waiting with fixme's



SVN revision: 43653
2009-11-13 07:22:31 +00:00
Carsten Haitzler 6e22b36451 step 1. some map support! images only right now. next. render-to-texture.
invasive change right now.



SVN revision: 43611
2009-11-11 11:39:25 +00:00
Carsten Haitzler 3fa1906514 better text perf - less geometry data for complex text drawing.
simpler yuv with matrix.



SVN revision: 43487
2009-11-06 11:32:23 +00:00
Carsten Haitzler 5cc7803ef9 the start of other objects being able to map! text objects work.. tested.
SVN revision: 43323
2009-10-28 08:59:01 +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
Carsten Haitzler 8cf88e6b18 and flush there too
SVN revision: 43091
2009-10-15 03:25:22 +00:00
Carsten Haitzler 0b3d755ce9 more work putting shared bits in shared. but context seems to be a big problem.
:(



SVN revision: 43048
2009-10-13 09:40:39 +00:00
Carsten Haitzler 46996c95d3 mini-speedups!
SVN revision: 43037
2009-10-12 15:22:38 +00:00
Carsten Haitzler 37b66e806b new gl engine. no one uses it anyway. not 100% complete, but much better than
the old. and it ALSO does GLES2.0 as well asn GL.



SVN revision: 42982
2009-10-09 12:10:27 +00:00
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Cedric BAIL 443fe5fc8e * evas: gl_x11 window can't support alpha, as drawing rect with
alpha=0 is not possible.


SVN revision: 41769
2009-08-14 17:11:08 +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 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
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 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 373d55b48e remove trailing spaces
SVN revision: 39117
2009-02-21 08:19:58 +00:00
Carsten Haitzler 7a74942b41 1. make software font draw code actually use cutouts.
2. make gl engine able to use cutouts - in some cases its faster, some
slower. it's a mixed bag. not sure what to make of it. it's #defined to be
disabled atm.



SVN revision: 39114
2009-02-21 03:13:49 +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 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
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 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 8433ddf94a wrong gradient call
SVN revision: 31156
2007-08-04 07:04:45 +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 9dc3984a39 fix nul update on swap
SVN revision: 28556
2007-03-04 17:06:13 +00:00
doursse 1f1337d3a2 Add some missing const
SVN revision: 28555
2007-03-04 16:19:32 +00:00
Carsten Haitzler 188eb8931d just look at the comments to know what this is about.
SVN revision: 28545
2007-03-03 16:05:15 +00:00
Carsten Haitzler b51bdcbc1e colorspace work mostly. not complete.
SVN revision: 27630
2006-12-29 03:32:46 +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