Commit Graph

153 Commits

Author SHA1 Message Date
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
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 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 f631394f18 gl engine build
SVN revision: 24905
2006-08-19 11:59:55 +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
Carsten Haitzler b69d9fe78b turn off vsync
SVN revision: 22494
2006-05-09 11:40:10 +00:00
Carsten Haitzler ea998ce647 gl engine fixes patch from jose, and fix non mmx/sse system build
SVN revision: 22456
2006-05-04 11:52: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 21e63c83b9 move engine headers into engine dirs - and removes lots of useless old headers.
SVN revision: 22344
2006-04-25 04:00:21 +00:00
Carsten Haitzler a75ccf9e64 fix color multiply whiel blend (ergh! need temporary image! yuk!)
SVN revision: 22163
2006-04-16 17:04:36 +00:00
Carsten Haitzler f8a6f603f5 umm... handle rgba dest properly...
SVN revision: 21090
2006-03-08 08:02:34 +00:00
Carsten Haitzler cbdc20a142 oops - soemoen changed the other symbols around while i changed the first set
SVN revision: 21063
2006-03-07 02:44:16 +00:00
Carsten Haitzler 1dcdaeec81 fix symbols
SVN revision: 21055
2006-03-07 00:02:16 +00:00