Commit Graph

3950 Commits

Author SHA1 Message Date
Carsten Haitzler b3a893c78c oops - didnt mean to commit that. that was just an example.
SVN revision: 58897
2011-04-25 09:42:49 +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 c517bb20ee evas: use eina_lock.
NOTE: now when preload and ecore_thread are not running all lock
are disabled inside evas.


SVN revision: 58878
2011-04-24 20:25:34 +00:00
Cedric BAIL c708610cbc evas: remove a few shadow variable.
SVN revision: 58874
2011-04-24 20:21:07 +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
Mike Blumenkrantz 4386f8fb35 hmmm actually this wasn't the cause. but someone definitely broke something here...
SVN revision: 58846
2011-04-23 22:37:42 +00:00
Mike Blumenkrantz 4ebe4bec94 okay who's the joker that broke evas build? freetype 9.3.0 is definitely not a valid dependency :/
SVN revision: 58845
2011-04-23 22:32:06 +00:00
Carsten Haitzler fa309e5069 nash -> i fixed your mask rendering. interesting you only mask *IF*
you have 1:1 scaling. you could do this with scaled imaged (and
unscaled masks) with ease. both smooth and nearest.



SVN revision: 58838
2011-04-23 02:02:45 +00:00
Carsten Haitzler 8cca4234c4 comments for nash
SVN revision: 58837
2011-04-23 01:22:17 +00:00
Carsten Haitzler 6282cc0a6d wrn-- -> my bad.
SVN revision: 58836
2011-04-23 00:35:42 +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
Tom Hacohen 902d94afb9 Evas textblock: Added a temp fix for repch until implemented nicely.
This fix is just until we finally split to scripts and cache fi all
the time, i.e in all the possible paths (regular, fribidi and harfbuzz).

SVN revision: 58806
2011-04-21 15:34:44 +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
Tom Hacohen 48d0603e5d Evas harfbuzz: Adjust evas to work with Harfbuzz >= 3.0
SVN revision: 58802
2011-04-21 14:04:53 +00:00
Tom Hacohen 3f86ed9349 Evas textblock: Clean repch code a bit. No logic changes.
SVN revision: 58801
2011-04-21 14:04:46 +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
Carsten Haitzler a570e2580c and tho the header has that func.. evas doesn't. remove it. seems this
api wasnt removed from the public h before release. it can't have
worked anyway so not a break.



SVN revision: 58785
2011-04-21 09:18:45 +00:00
Tom Hacohen 543a0da0d8 Evas font-engine: Fixed kerning issue and a major rendering bug.
Kerning: We are walking the string visually so we don't need to do
anything special for kerning when in rtl, freetype works with "left" and
"right" which we automatically get.

Rendering bug: Cedric found that in some cases there were missing
characters. This was caused because I forgot to convert the kerning from
16.6 fixed point to int.

SVN revision: 58783
2011-04-21 08:47:16 +00:00
Carsten Haitzler 22671d41d9 neon asm is not working. even after some typo fixes.
SVN revision: 58782
2011-04-21 08:18:38 +00:00
Brett Nash 5c88b6c8f2 Evas: filter: Remove warning from evil type things.
SVN revision: 58780
2011-04-21 06:26:49 +00:00
Carsten Haitzler 6152914dd5 fix some nasty image cache issues i've found like double-frees, leaks
etc. etc. in corner-cases. it also re-factors the image cache code to
be much more manageable and understandable with cache/list management
doing the right thing in the internal calls.



SVN revision: 58779
2011-04-21 06:24:27 +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 794f1c56cd warning--
SVN revision: 58777
2011-04-21 06:21:51 +00:00
Brett Nash aaf036eec9 Evas: Filter: Avoid a double free.
I just don't know why.

SVN revision: 58776
2011-04-21 06:01:59 +00:00
Brett Nash 3bbe4023d0 Evas: Filter: Don't leak keys either.
SVN revision: 58775
2011-04-21 06:01:56 +00:00
Brett Nash 52a1e85d86 Evas: Filter: More aggresively avoid allocing filter data.
SVN revision: 58774
2011-04-21 06:01:53 +00:00
Brett Nash 97a442eaf1 Evas: Filter: No need to allocate on a getter.
Just return the default.

SVN revision: 58773
2011-04-21 06:01:50 +00:00
Brett Nash f19bea3bf1 Evas: Filter: Use some ARGB joins.
SVN revision: 58772
2011-04-21 06:01:48 +00:00
Brett Nash 9862b4bf5d Evas: Fix broken [ARGB]_VAL macros.
And no one ever noticed til now?

SVN revision: 58770
2011-04-21 02:30:34 +00:00
Brett Nash b17702d7d8 Evas: Filter: Remove last vestiges of alpha/red/green/blue macros
Using the [ARGB]_VAL ones intead.  Also means need to change to use pointer
instead of array syntax to the all macro.

SVN revision: 58769
2011-04-21 02:30:32 +00:00
Brett Nash e410651d24 Evas: Filter: Fix filter length assignment.
Fun fact... this works on 64 bit systems... well mine anyway, but falls over
in a horrible mess on 32bit systems.

SVN revision: 58763
2011-04-20 14:44:32 +00:00
Brett Nash 8809ce8a12 Evas: Filter: Whitespace fixes
SVN revision: 58762
2011-04-20 14:44:29 +00:00
Brett Nash 044b02ce0e Evas: Filter: Handle memory alloc error a little more gracefully
In this case, just set the filter type to none.

SVN revision: 58761
2011-04-20 14:44:26 +00:00
Tom Hacohen cb19804054 Evas bidi: Fixed spelling errors: NATURAL -> NEUTRAL (Macro name).
SVN revision: 58760
2011-04-20 14:35:37 +00:00
Tom Hacohen 57665ebf34 Evas font: Removed a deprecated macro.
SVN revision: 58759
2011-04-20 14:21:00 +00:00
Tom Hacohen 6609b1d7ba Evas font: Removed LOGICAL_WALK and updated last_up_to_pos accondingly.
SVN revision: 58758
2011-04-20 14:20:57 +00:00
Tom Hacohen b59156c788 Evas text/textblock: Change item size calculation to use advance again.
We don't need to do any tricks anymore because size calculation is now
very fast, as fast as the tricks we did, so it's best to just do what
we really want to do.

SVN revision: 58757
2011-04-20 14:20:54 +00:00
Tom Hacohen 543c0cafc0 Evas font-engine: Cache pen position instead of advance.
We only really use adavnce for calculating the pen position, so it makes more
sense to just cache the pen_position instead and calculate advance from
that if ever needed.
This means size/advance calculations are now O(1) because we don't need to
walk the strings anymore.

SVN revision: 58756
2011-04-20 14:20:51 +00:00
Tom Hacohen 2f86580227 Evas font-engine: Fix drawing of replacement char when not using Harfbuzz.
SVN revision: 58755
2011-04-20 14:20:48 +00:00
Carsten Haitzler b44bf7f8ff filter: handle malloc failers without crashing.
SVN revision: 58752
2011-04-20 08:28:40 +00:00
Carsten Haitzler 8da6f52bfd lets properly document filter calls and return sane values
SVN revision: 58751
2011-04-20 08:24:56 +00:00
Carsten Haitzler 649cba4e45 and lets have getters for setters shall we - if we go implement 1 of
them.. lets implement alll shall we?



SVN revision: 58750
2011-04-20 08:20:36 +00:00
Carsten Haitzler 2598499970 and fix filter api to be consistent with evas.. letalone all of efl.
VERB AT END!!!! (get/set/whatever)



SVN revision: 58749
2011-04-20 08:13:33 +00:00
Carsten Haitzler ce8297e04b more formatting fixes after filter commit.
SVN revision: 58748
2011-04-20 08:09:30 +00:00
Carsten Haitzler 6720d96208 and fix more filter messups. o->fitler will be leaked on obj deletion
as there was no cleanup.. and the method of exposing
evas_filter_key_get() was so out of step with any other code i have
ever seen.. letalong evas... fix.



SVN revision: 58747
2011-04-20 08:06:59 +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