Commit Graph

923 Commits

Author SHA1 Message Date
Cedric BAIL 21971b92a0 evas: fix xcb build.
SVN revision: 59302
2011-05-09 15:18:03 +00:00
Cedric BAIL 849eea718d evas: fix software 16 sdl.
SVN revision: 59290
2011-05-09 10:56:32 +00:00
Cedric BAIL ba96d1220f evas: actually check if loading header was fine.
SVN revision: 59232
2011-05-06 09:01:18 +00:00
Carsten Haitzler 97a12de552 make get program binary able to be disabled via env var and display if
wee find the extn too. tested on gles now too.



SVN revision: 59178
2011-05-04 08:05:46 +00:00
Jiyoun Park 56111d2b69 From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] Evas gl shader use binary shader

I make patch related with evas gl binary shader.
 
The concept of binary shader is  compile shader only once.
 
Some people want to use binary shader because of performance issue.
 
In current evas gl engine, every application have to compile shader each
time. 

But I modify code , so only first running application need compile shader.

Other application use already compiled shader(binary shader)

 
The binary shader is made under HOME/.evas/gl_common_shaders directory. 

Binary shader is created according to GL vendor,GL renderer, GL version and
Module_arch.

The basic flow is
 
1.     First running application which use gl engine check binary shader
directory, but it can't find binary shader. 
2.     After compiling shader, It saves compiled shaders..
3.     Other application checks shader directory, it can use binary
shaders.
 
In mobile target, using binary shader, I can save 150ms. (that time, there
is 11 shaders).

If there is more shaders and more applications, this flow maybe save more
total time. 

(the above is now in, changelog coming, with change to using ~/.cache,
some formatting fixes, make ity do the desktop gl one right with the
retrievable hint parameter ont he program etc. - doesn't break desktop
gl at least. yay. a,so fixes to mke it compile at all).



SVN revision: 59167
2011-05-04 06:15:00 +00:00
Carsten Haitzler 569ca2b315 wrn--
SVN revision: 59139
2011-05-03 03:11:08 +00:00
Tom Hacohen e93f10b8aa Evas font-engine: Remove passing of strings to font_draw.
This is not needed anymore because we have working string objects.

SVN revision: 59133
2011-05-02 15:33:46 +00:00
Sung W. Park bc8af94bfa From: "Sung W. Park" <sungwoo@gmail.com>
Subject: evas_gl_api_get patch.

Here's a patch that simply overrides the GL functions for Evas_GL
except for two functions that I provide on my own.  It may have some symbol
resolving warnings but that'll all go away eventually when we do everything
via dlsym or getProcAddress.
 
You can apply the patch to the latest revision of evas.  (I've just
updated them) I'm also attaching a sample GLES program that uses
evas_gl_api_get. You don't need to link it to -lGL.



SVN revision: 59092
2011-05-02 02:14:00 +00:00
Vincent Torri c7b9d3d14e whitespaces--
SVN revision: 59062
2011-05-01 06:06:56 +00:00
Carsten Haitzler 54f2389187 make generic loader 2 stage (head + data)
SVN revision: 58927
2011-04-26 09:41:07 +00:00
Carsten Haitzler 4af57920a8 fixme++
SVN revision: 58923
2011-04-26 08:45:21 +00:00
Carsten Haitzler 0e57095d06 add generic image loader. allows for GPL loaders, unstable loaders and
more. making a loader is a matter of a binary of a specific name and
evas passes certain input on the cmd-line and your binary produces
output on stdout (and also optionally additionally in a shm or tmp
file).



SVN revision: 58914
2011-04-26 01:03:06 +00:00
Sung W. Park d12e4f28d4 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel] [Review] [Patch] Evas - OpenGL on Evas: surface
texture creation patch

I'm attaching a patch that addresses the awkward usage case. It's something
that didn't bother me initially but the more I look at it, i think
it's a little off. :-)

The initial version of the evas_gl that I've submitted had the
following use case.

   evasgl = evas_gl_new(e);
   sfc = evas_gl_surface_create(...);
   ctx = evas_gl_context_create(...);

// Make current triggers surface texture and FBO to be created
   evas_gl_make_current(evasgl, sfc, ctx);

// Then you can do a surface_get to retrieve the proper texture and set it
   evas_gl_native_surface_get(evasgl, sfc, &ns);
   evas_object_image_native_surface_set(img_obj, &ns);
   
   The unnatural thing about this use case is that you have to call the make_current
one time in order for evas_gl to generate a surface texture.  This is because
you need a context to create a texture.  Unfortunately, this makes the usage
case really awkward.

So, instead, I've decided to get rid of the need for calling the make_current
by generating a surface texture when evas_gl_surface_create() is called
by using the evas' gl context.  This works because the newly created context
shares resources with evas.  in fact, this is what i'm currently doing with surface
deletion anyway so I thought this solution was reasonable.

Here's how it looks after you get rid of the make_current:

   evasgl = evas_gl_new(e);
   sfc = evas_gl_surface_create(...);
   ctx = evas_gl_context_create(...);

   evas_gl_native_surface_get(evasgl, sfc, &ns);
   evas_object_image_native_surface_set(img_obj, &ns);

The patch is pretty small and straightforward.
            


SVN revision: 58892
2011-04-25 08:41:36 +00:00
Carsten Haitzler 15d22f9c47 warnings--
SVN revision: 58884
2011-04-25 02:36:14 +00:00
Carsten Haitzler 75292cc435 lets have a Makefile.am shall we?
SVN revision: 58882
2011-04-25 02:28:42 +00:00
Cedric BAIL 0cef5e41fe evas: add psd file format support.
Patch from Thierry el Borgi with some rework of myself.

NOTE: I don't have much file to test, so if some don't
contact us with those file and we will fix the loader
if needed.


SVN revision: 58873
2011-04-24 19:45:43 +00:00
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
Christopher Michael 2dce8da128 Evas: Fix typos from 'old mans' recent commit sot hings build again
wrt xcb.



SVN revision: 58804
2011-04-21 15:21:40 +00:00
Carsten Haitzler b1285ae71a add in lots of ptr checks to sw-x11 outbut code... this may only
happen if we ran out of mem and mallocs failed... but we can avoid a
crash.



SVN revision: 58797
2011-04-21 12:33:35 +00:00
Sung W. Park db20d2aeab From: "Sung W. Park" <sungwoo@gmail.com>
(part of the evas-gl work)

the patch basically checks to see if the current context is evas' gl context
and if it is, it'll call evas_gl_common_context_flush().  I think this
is the proper



SVN revision: 58786
2011-04-21 09:23:42 +00:00
Brett Nash 5c88b6c8f2 Evas: filter: Remove warning from evil type things.
SVN revision: 58780
2011-04-21 06:26:49 +00:00
Brett Nash d157c43997 Evas: Mask: Add the part where evas actually uses the mask in GL.
SVN revision: 58778
2011-04-21 06:22:06 +00:00
Carsten Haitzler 7ed47808cb more bad code - why pass in void * image and data? sero point.. and it
totally is out of step with the rest of the api for gl_common.. that
alone would tell you "dont so that". ugh. more filter fixes.



SVN revision: 58746
2011-04-20 08:05:23 +00:00
Carsten Haitzler 18619830c4 oh god. more warning fixes...
SVN revision: 58745
2011-04-20 08:01:04 +00:00
Carsten Haitzler 384892d7fa start fixing shader mess. at least add mask compile to scripts. need
to do filters.



SVN revision: 58743
2011-04-20 07:12:51 +00:00
Brett Nash 9eaea94252 Evas: Filters:
More work, proudly supported by Samsung.  Filters!

So now you can apply a whole host of cheesy visual effects to objects at
runtime.  This is the first commit, there are a couple of more to come as I
tweak the filters, and fix blur with GL[1].

Please direct bugs to me nash@nash.id.au.

[1] You'd think shaders would be good at this.. but no, generic blur and GL
are like trying to get an apple product to work with Linux.

SVN revision: 58726
2011-04-19 05:47:56 +00:00
Brett Nash 36370ae91e Evas: Filter: Add the shaders - nice and safe change here.
SVN revision: 58725
2011-04-19 05:47:51 +00:00
Carsten Haitzler 7722171b96 fix binary ppm loading. that was odd.
SVN revision: 58681
2011-04-15 07:08:14 +00:00
Tom Hacohen 1dac813ace Evas font-engine: Fix the fallback fribidi shaper.
Just keep the shaped string in the string object if fribidi is used
without harfbuzz.

SVN revision: 58620
2011-04-13 08:37:01 +00:00
Tom Hacohen 682c7dcdc5 Evas font-engine: Fixed *props_info_create to accept a const string.
We don't want to have to alloc just for the engine. We want to be able to
pass our own const copy.

SVN revision: 58618
2011-04-13 08:36:54 +00:00
Tom Hacohen ad3b167e88 Evas font-engine: Added support for runtime-italic/bold.
Now when setting :style=Oblique/Italic/Cursiva/Bold and etc and there's
no matching font found in the system, adjustments will be done on
runtime to support that feature.

Patch by Myoungwoon Roy Kim (roy_kim).

SVN revision: 58584
2011-04-12 09:05:47 +00:00
Carsten Haitzler 578ac6f0b6 simplify tiff loader. hoping 64bit bug goes away. :) can't test right
now.



SVN revision: 58577
2011-04-12 06:20:38 +00:00
Carsten Haitzler 27609d0572 no need to get this.
SVN revision: 58574
2011-04-12 00:06:57 +00:00
Tom Hacohen a8890cff0d Evas sw8: Inherit most of the engine from sw_generic.
SVN revision: 58543
2011-04-11 10:18:13 +00:00
Tom Hacohen 1527652986 Evas sw16: Inherit most of the engine from sw_generic.
SVN revision: 58542
2011-04-11 10:18:10 +00:00
Carsten Haitzler 6b3e820f35 gles warning--
SVN revision: 58514
2011-04-09 04:13:21 +00:00
Tom Hacohen 5d4f6d3cbe Evas font-engine: Remove most of the passing of strings.
We have string objects, we don't really need them. Draw still uses strings
for metric cache, but that will be removed soon as well.

SVN revision: 58460
2011-04-07 16:25:56 +00:00
Carsten Haitzler fe933e7b34 and now REALLY fix that viewport bug...
SVN revision: 58386
2011-04-06 10:11:01 +00:00
Carsten Haitzler 4a982fb26e and handle other make current to "no context" in case.
SVN revision: 58385
2011-04-06 09:40:13 +00:00
Carsten Haitzler dcdd502fd4 fix gles engine bug with > 1 window.. missing viewport transform
fixups on deletion of a window!



SVN revision: 58384
2011-04-06 09:38:39 +00:00
Carsten Haitzler 70bc3602c7 fix scossor clip on 90 degree rots.
SVN revision: 58381
2011-04-06 07:32:33 +00:00
Brett Nash cc34e132be Evas: Mask: Add shader init code.
SVN revision: 58377
2011-04-06 06:15:59 +00:00
Brett Nash f915ba4ef4 Evas: Mask: Fix undeclared warnings.
Also comment out a function.

SVN revision: 58376
2011-04-06 06:10:31 +00:00
Carsten Haitzler 5c994667c2 fixme notice, fix make current context to force if it was changed.
SVN revision: 58375
2011-04-06 05:56:53 +00:00
Brett Nash b96d227334 Masking: Push a bit more arbitrary clipping
This seems to have got lost in my big messup before.  This pushes enough of
mask/arbitrary clip to be somewhat useful.  I need to push a little more soon
for it to be 100% happy, but this is useful level.

SVN revision: 58373
2011-04-06 05:38:38 +00:00
Cedric BAIL b0e45e04bc evas: and now, the last one to die today, Evas Xrender backend.
SVN revision: 58364
2011-04-05 14:16:18 +00:00
Cedric BAIL 1b3b01cb4f evas: and now is the death of Qtopia engine.
SVN revision: 58362
2011-04-05 13:45:54 +00:00
Cedric BAIL 30f906aac9 evas: one more death: gl_glew !
SVN revision: 58360
2011-04-05 13:19:20 +00:00
Cedric BAIL cbad6075d7 evas: remove Evas Cairo backend.
SVN revision: 58359
2011-04-05 13:00:23 +00:00
Cedric BAIL ad5a2f59c6 evas: remove Evas Quartz backend.
SVN revision: 58358
2011-04-05 12:25:25 +00:00
Carsten Haitzler 8859f850fb API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes).



SVN revision: 58318
2011-04-04 10:23:12 +00:00
Tom Hacohen 533ef3530e Evas font-engine: Added right_inset_get.
This lets us get the difference between the width and the advance
of a string pretty fast, which means we only need to calculate either
advance or width, because we can now calculate one from the other.

SVN revision: 58181
2011-03-29 13:52:22 +00:00
Carsten Haitzler 6b4d91830e wer can release compiler data if we want when done with glsl compiling.
SVN revision: 58172
2011-03-29 09:10:57 +00:00
Carsten Haitzler f2bf8bbfd9 ok. multi-screen (multihead) support with simultaneous display on 2
screens with the same gl context is more pain than imagined. revert
attempt to handle it. just use xinerama/twinview if u want the
compositor to not suck.



SVN revision: 58050
2011-03-24 01:45:12 +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
Gustavo Sverzut Barbieri 9f0b807db4 Fix build with static modules, thanks Gentoo ;-)
I don't know if this is useful to backport to stable branch, if you
think so please do it as I don't even have that checkout... svn is
annoying :-P



SVN revision: 58012
2011-03-23 02:45:19 +00:00
Carsten Haitzler 3f92c6056c another vendor/renderer example.
SVN revision: 57926
2011-03-21 02:09:09 +00:00
Carsten Haitzler 383f5a91c7 and check extent... FIRST
SVN revision: 57915
2011-03-20 13:25:27 +00:00
Carsten Haitzler 5c45d8fdaf support multiple screens AT the same time... multiple gl contexts -
one is created per screen #. max is 16 screens (0->15). dont know if
this really works yet.



SVN revision: 57912
2011-03-20 08:48:30 +00:00
Carsten Haitzler ac97fb1944 add blacklisting for software gl implementations
SVN revision: 57908
2011-03-20 06:08:53 +00:00
Carsten Haitzler b875f1dda5 turn loose binding off on newer-ish nvidia dreiver versions. this is an
experiment. testing to see if it helps.



SVN revision: 57893
2011-03-19 10:58:34 +00:00
Cedric BAIL 76a0da7a1c evas: rename Evas_GL_Context to Evas_Engine_GL_Context
patch by Sung W. Park <sungwoo@gmail.com>


SVN revision: 57803
2011-03-16 17:32:49 +00:00
Vincent Torri e9a7a23536 Evas: formatting and add ico module building
1) i like alphabetical order (build order of modules and configure output

2) ico module was not built

SVN revision: 57747
2011-03-14 20:33:44 +00:00
Carsten Haitzler 6ae518d6d0 handle 1bit icos properly. oops.
make ico loader more robust for broken ico/cur files. ico/cur is a
broken format... but hey. it has to be dealt with.



SVN revision: 57721
2011-03-13 04:41:30 +00:00
Carsten Haitzler 710630d074 Evas: add ico loader!
SVN revision: 57693
2011-03-11 15:07:25 +00:00
Carsten Haitzler 1f2163eeba ok - finally - biran wang... you get your hacky bmp loader.
SVN revision: 57668
2011-03-10 12:11:42 +00:00
Sung W. Park 37c3f59341 From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel] Evas - OpenGL and Image Object -
evas_object_image_native_surface_set()

Fix bug with yinvert handling of native surfaces.



SVN revision: 57658
2011-03-10 08:23:39 +00:00
Carsten Haitzler 36a0d2587b and now with some testing... actually fix the swapintervals fun :)
SVN revision: 57596
2011-03-08 15:56:39 +00:00
Carsten Haitzler e4b877f45d 2 different sync apis with differetn ext's. fix.
SVN revision: 57569
2011-03-08 11:20:49 +00:00
Mike Blumenkrantz 63638f7393 _evas_gl_common_viewport_set segv fix: ROUND 2!
SVN revision: 57561
2011-03-08 01:00:21 +00:00
Carsten Haitzler ccfe91cc58 REVERT! hell no. glu is not going to become a dependency. it never
was. you broke gl-es support and didnt link to glu either. it's a
separate lib. no no no no no.



SVN revision: 57558
2011-03-07 19:11:18 +00:00
Mike Blumenkrantz ea5e9b6773 fix weird segv I found when trying opengl mode in comp module on my desktop, waiting for someone to give me the "good job you did it correctly" before I backport since I probably didn't
SVN revision: 57546
2011-03-07 05:41:49 +00:00
Vincent Torri e1f359a127 whitespaces--
SVN revision: 57362
2011-02-27 10:04:19 +00:00
Vincent Torri 62ff67f365 Evas jpeg saver: don't build and fix static build on Windows (jpeg saver does not compile)
SVN revision: 57361
2011-02-27 10:02:59 +00:00
Mike Frysinger 981da7524b evas: fix building with libpng-1.5
this should work with libpng-1.[245].x; dont know about older versions

SVN revision: 57178
2011-02-20 01:21:33 +00:00
Jeonghyun Yun 2c428c4c15 From: Jeonghyun Yun <jh0506.yun@samsung.com>
Subject: Re: [E-devel] [Patch] evas_image_load_bmp small patch

When I tested some bmp files on evas, I found one bmp file is not displayed.
But this bmp file is displayed on windows and linux gimp and etc.
So I checked this bmp file, this file have 208 data per line despite 207
pixel per line!!

I fixed code to skip the data when data is more than width instead of
break. I think this is not bug but evas policy problem.



SVN revision: 57076
2011-02-16 05:44:01 +00:00
Mike Blumenkrantz 97f30a8b6d missing semicolon. you never cease to amaze me, edev.
SVN revision: 57004
2011-02-14 05:21:17 +00:00
Carsten Haitzler d0ac8d8601 fix up gl side image cache to cleanly ref/deref and shadow image
cache. yes - changelog - this is just fixing up whats already
changelogged.



SVN revision: 56949
2011-02-11 06:23:10 +00:00
Tom Hacohen 6e68ec8b42 Evas font-engine: Fixed inset to use the string objects instead of strings.
SVN revision: 56895
2011-02-10 09:03:14 +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
Carsten Haitzler 1e58115de6 make font cache flush 0 out font cache size first
SVN revision: 56890
2011-02-10 06:12:09 +00:00
Christopher Michael 0bee0601e1 Evas: Fixed a few 'implicit declaration' warnings.
Add missing evas_object_image_source functions.
      (was giving nasty 'implicit declarations' prior to this change)
    Add UNUSED to evas_common_map_rgba for npoints variable
      (wasn't used in that function)
    Fixed a little formatting in evas_object_main.c
    Add UNUSED to the eng_image_map_draw function of the gl_x11 engine.
      (npoints variable not used there)
    Fixed a little formatting in gl_x11 engine.



SVN revision: 56869
2011-02-09 18:39:54 +00:00
Brett Nash 8b90ca9676 Hardcode directfb and sdl to use 4 point maps.
SVN revision: 56828
2011-02-09 01:07:52 +00:00
Carsten Haitzler c743e4f56c methinks nash you missed doing the pipe pipeline for map changes.
SVN revision: 56805
2011-02-08 12:10:58 +00:00
Carsten Haitzler 7881c0b849 improvement to gl engine wrt. caching.
SVN revision: 56801
2011-02-08 11:41:38 +00:00
Carsten Haitzler 40b908c869 oops somehow missed this commit - part of adding wbmp support. limit
image size macro used. (so no point with a changelog - part of existing).



SVN revision: 56791
2011-02-07 23:06:22 +00:00
Brett Nash aa59164001 Support for Proxy Objects (and others)
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times.  One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.

This is complete.

Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).

SVN revision: 56777
2011-02-06 23:52:17 +00:00
Tom Hacohen 94b5a536f0 Evas font/textblock/text: Started using string objects instead of
strings in most of the font engine (everywhere except draw).
Haven't removed the paramteres yet, but did mark them as UNUSED.
Removing them will be part of a future change.
Removed run-time OT toggling support, OT is now fast, no need for that.
Renamed all of the intl_props->text_props (because it really changed purpose now)
Fixed spliting/merging of text_props to be fast and good, not hacky and
complex like before.
Note to reviewers: Most of the changes are indentation related, sorry
for the mess, but I had to do it all in one commit, splitting was not
trivial (at least not in retrospect). The important parts are
evas_font_default_walk.x and text_utils.c. query and draw were just
adjusted a bit and the rest were only adjusted to conform to renaming or
were renaming on their own.

SVN revision: 56629
2011-02-01 12:17:52 +00:00
Carsten Haitzler 573103fd34 formatting of wbmp loader code fix.
SVN revision: 56625
2011-02-01 09:40:30 +00:00
Carsten Haitzler 75bb165f29 Thanks to samsung - added WBMP loader.
SVN revision: 56624
2011-02-01 09:38:48 +00:00
Tom Hacohen cdb54ed92d Revert "Snapshot." - didn't mean to commit this :(
This reverts commit 521198281e4ac616fee48d27aae9e6983d5950c3.

SVN revision: 56556
2011-01-30 13:58:06 +00:00
Tom Hacohen d6feccdebb Snapshot.
SVN revision: 56552
2011-01-30 13:55:04 +00:00
Tom Hacohen ff18fa8399 Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.

SVN revision: 56455
2011-01-30 10:36:39 +00:00
Tom Hacohen 952ba44f0b Evas font engine: Added evas_common_font_query_pen_coords.
SVN revision: 56432
2011-01-30 10:34:07 +00:00
Carsten Haitzler 3613caf8a5 warning--. ppl been removing headers eh?
SVN revision: 56183
2011-01-16 08:08:13 +00:00
Carsten Haitzler 1b89a7ac5f change map points to use double and floats to reduce perspective
correction adjustment seams in gl engine. almost all gone.



SVN revision: 56180
2011-01-16 07:49:49 +00:00
Carsten Haitzler b8398f5035 remove useless statement
SVN revision: 56178
2011-01-16 06:51:03 +00:00
Carsten Haitzler e7bd084847 in case we access other footer elements in future - align it.
SVN revision: 56174
2011-01-16 06:00:12 +00:00
Mike Blumenkrantz 64fcf02198 close file on error
SVN revision: 56103
2011-01-14 06:50:32 +00:00
Mike Blumenkrantz d46942090d unless I'm going insane, this should return here to avoid an immediate null deref with configs[i]
SVN revision: 56099
2011-01-14 06:35:03 +00:00