Commit Graph

180 Commits

Author SHA1 Message Date
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
Carsten Haitzler 4b73f639d2 fix booboo
SVN revision: 52482
2010-09-20 01:32:05 +00:00
Carsten Haitzler ccb4dbd91b fix gl stride
SVN revision: 52432
2010-09-19 00:28:58 +00:00
Gustavo Sverzut Barbieri d89ebf341b cleanup: internal image information is now unsigned.
There is no meaning in negative values for image loading, marking as
dirty or size, so image internals (cache, entry) were changed to
unsigned, reducing possible errors, particularly with overflow.

engines were converted to the new way, but any 3rd party modules will
still work as they should be using values >= 0 only anyway.

please review.

new cases introduced by "comparison between signed and unsigned" were
fixed in the modules that used cache_entry or Image_Entry dimensions.



SVN revision: 52428
2010-09-18 23:16:25 +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
Carsten Haitzler 6f4d152810 fix actually supporting clip for maps in gl.
SVN revision: 52415
2010-09-18 14:23:20 +00:00
Carsten Haitzler 8df657a51a be less agressive performance-wise but clear up some gl sync issues
that have been lurking.



SVN revision: 52414
2010-09-18 13:49:56 +00:00
Lucas De Marchi 85815e306c Fix common misspellings
Following misspellings were fixed:

accomodate->accommodate
achive->achieve
beacuse->because
caluclate->calculate
cant->can't
carefull->careful
convertion->conversion
dependancy->dependency
dependant->dependent
doesnt->doesn't
existant->existent
extention->extension
fucntion->function
impliment->implement
inital->initial
lenght->length
occured->occurred
occuring->occurring
onyl->only
positon->position
possibilty->possibility
postion->position
proccessing->processing
proccess->process
propogate->propagate
recieve->receive
sucessive->successive
teh->the
ther->there
throught->through
thsi->this
wasnt->wasn't
whcih->which
wheras->whereas




SVN revision: 51965
2010-09-08 03:51:24 +00:00
Carsten Haitzler efb72afbc1 be able to free and alloc gl surface when asked to dump
SVN revision: 51654
2010-08-26 09:40:48 +00:00
Carsten Haitzler 86eb3374d4 remove segv in ghl engine with native surfaces if data is null!
SVN revision: 51635
2010-08-25 09:29:56 +00:00
Carsten Haitzler a0d8db000e and make dynamic hint actually work when we have zero-copy texture
support. fully ok now for argb8888.



SVN revision: 51380
2010-08-19 05:18:17 +00:00
Carsten Haitzler 83b73046ed fix 2 unimplemented bits in dynamic texture stuff.
SVN revision: 51378
2010-08-19 03:30:47 +00:00
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