caro [Sat, 5 Nov 2011 16:51:13 +0000 (16:51 +0000)]
Evas: fix use of __always_inline__ attribute
Fix multiple storage bug.
* __forceinline is the equivalent of __always_inline__ on Windows. It has
'extern' as storage, so static must not be used with it
* use __always_inline__ and not always_inline as attribute value instead.
No need to add storage class with __always_inline__ too.
* static inline is fine
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64767
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Sat, 5 Nov 2011 11:58:41 +0000 (11:58 +0000)]
evas: always retrieve the latest available pixels for a video.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64755
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Nov 2011 22:08:54 +0000 (22:08 +0000)]
Evas: efl_attributes.m4
NEVER define a macro whose name is the name of the attribute, it breaks compilation on some platforms
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64749
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Nov 2011 21:04:49 +0000 (21:04 +0000)]
Evas: efl_attribute.m4 : put definition in the prologue
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64748
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 4 Nov 2011 20:28:56 +0000 (20:28 +0000)]
AM_PROG_CC_STDC is deprecated
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64742
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
jypark [Thu, 3 Nov 2011 15:20:30 +0000 (15:20 +0000)]
Currently, only software engine checks animation flag during rendering.
I add animation check code to gl engine.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64704
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Wed, 2 Nov 2011 20:54:31 +0000 (20:54 +0000)]
Evas: fix eina version check
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64664
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
captainigloo [Wed, 2 Nov 2011 20:15:42 +0000 (20:15 +0000)]
evas: gl_cocoa fix installation of Evas_Engine_Gl_Cocoa header
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64663
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
captainigloo [Wed, 2 Nov 2011 20:05:22 +0000 (20:05 +0000)]
evas: Add changelog and add my name to authors list.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64659
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
captainigloo [Wed, 2 Nov 2011 18:34:22 +0000 (18:34 +0000)]
evas: Add missing file
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64655
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
captainigloo [Wed, 2 Nov 2011 18:23:54 +0000 (18:23 +0000)]
evas: Add gl_cocoa engine
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64653
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Tue, 1 Nov 2011 01:41:09 +0000 (01:41 +0000)]
evas - trivial changes.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64595
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Mon, 31 Oct 2011 14:50:00 +0000 (14:50 +0000)]
evas - supplemented more cases for object_freeze_events completion.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64564
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Mon, 31 Oct 2011 13:36:43 +0000 (13:36 +0000)]
evas/evas_object_polygon - removed whitespaces and fixed indent.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64561
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Mon, 31 Oct 2011 10:30:39 +0000 (10:30 +0000)]
evas/evas_object_polygon - fixed wrong.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64553
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Mon, 31 Oct 2011 10:16:18 +0000 (10:16 +0000)]
evas/evas_stack - just removed white spaces and fixed indentations
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64552
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 30 Oct 2011 05:02:05 +0000 (05:02 +0000)]
declare the variables at the beginning of the block
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64516
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 30 Oct 2011 02:04:50 +0000 (02:04 +0000)]
add missing variable from r64139
direct all spankies to raster and Sung W. Park
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64514
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 28 Oct 2011 11:08:23 +0000 (11:08 +0000)]
From: "Sung W. Park" <sungwoo@gmail.com>
Subject: [E-devel] [E-Devel][Patch] Evas GL Color Format Enum change
(and ElmGLview changes accordingly)
I'm submitting a patch that changes the color format for Evas GL.
When I first wrote Evas_GL, I just had EVAS_GL_RGB_8 and EVAS_GL_RGBA_8 and etc
but it was misleading for some people. It was more of a filler since I couldn't decide on
a name. I'm finally changing it to make it more clear.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64491
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Thu, 27 Oct 2011 13:19:52 +0000 (13:19 +0000)]
evas - updated Changelog and @since for evas_object_freeze_events_set/get
Thank you Vincent.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64434
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Thu, 27 Oct 2011 10:36:09 +0000 (10:36 +0000)]
evas - added new API evas_object_freeze_events_set/get
and will handle for the key events also soon.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64432
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 27 Oct 2011 09:39:18 +0000 (09:39 +0000)]
and fix evas map used as mapbuf with clipping and stuff! ugh! the
forever shifting bug! evas_render needs a rewrite
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64429
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Wed, 26 Oct 2011 14:33:51 +0000 (14:33 +0000)]
Evas font: Removed double ;.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64414
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 26 Oct 2011 13:33:25 +0000 (13:33 +0000)]
fix clip-out issue after making mapped objs opque fix was in.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64413
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 26 Oct 2011 08:33:41 +0000 (08:33 +0000)]
we can't limit sizes on load because of "i'm just loading the header
to find out the size" tricks. :(
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64410
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 12:25:15 +0000 (12:25 +0000)]
warning--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64390
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 12:20:53 +0000 (12:20 +0000)]
warn--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64389
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 12:14:48 +0000 (12:14 +0000)]
warn--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64388
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 12:07:56 +0000 (12:07 +0000)]
warning--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64387
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 12:01:44 +0000 (12:01 +0000)]
disable getting of xft.dpi - always been an option but it just leads
to inconsistent rendering.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64386
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 09:27:54 +0000 (09:27 +0000)]
oh dear.. lewft and right pixle duplication for interpolation had the
WRONG PIXELS!!! amazing it never crashed! fix fix! (also handle
opengls that doesnt support unpack row length)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64377
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Tue, 25 Oct 2011 08:37:43 +0000 (08:37 +0000)]
evas/evas_object_smart - trivial changes
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64375
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 25 Oct 2011 05:03:50 +0000 (05:03 +0000)]
From: EunMi Lee <eunmi15.lee@samsung.com>
Subject: [E-devel] [Patch] [Evas] Patch to provide information of
touched points
Hello,
I made a new patch to get information of current touched point instead
of Touch Event.
I added touch_points (Eina_List) to the Evas structure and it maintains touched points on the evas.
New touched point is added to the touch_points when we get Mouse_Down and Multi_Down,
touched point is updated when we get Mouse_Move and Mult_Move,
and touched point is removed when we get Mouse_Up and Multi_Up.
The each touch point has coordinate, id and state information as follows:
id - identifier. 0 for Mouse Event and device id for Multi Event. coordinate - (x, y) coordinate of point.
state - state of point. type is Evas_Touch_Point_State enum.
(EVAS_TOUCH_POINT_DOWN, EVAS_TOUCH_POINT_UP, EVAS_TOUCH_POINT_MOVE,
EVAS_TOUCH_POINT_STILL, EVAS_TOUCH_POINT_CANCEL)
There are 4 new APIs to get touch point's information as follows:
unsigned int evas_touch_point_list_count(Evas *e);
void evas_touch_point_list_nth_xy_get(Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y);
int evas_touch_point_list_nth_id_get(Evas *e, unsigned int n);
Evas_Touch_Point_State evas_touch_point_list_nth_state_get(Evas *e, unsigned int n);
I added APIs to get each information instead of exposing whole
structure to make it easy to expand in the future as you mentioned in
the below e-mail :)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64373
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Tue, 25 Oct 2011 02:26:51 +0000 (02:26 +0000)]
Evas - Modified field names in Evas structure to be more clear.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64371
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 23 Oct 2011 06:59:40 +0000 (06:59 +0000)]
emacs users don't like trailing white spaces
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64319
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sun, 23 Oct 2011 03:51:41 +0000 (03:51 +0000)]
annoy vim users with spaces at the start of blank lines. :)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64317
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
mike_m [Sat, 22 Oct 2011 23:33:23 +0000 (23:33 +0000)]
evas: Fix a warning
CC evas_cserve_tool.o
evas_cserve_main.c: In function ‘message’:
evas_cserve_main.c:993:14: warning: braces around scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
Signed-off-by: Mike McCormack <mikem@ring3k.org>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64310
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 22 Oct 2011 19:39:56 +0000 (19:39 +0000)]
Evas: bump libpng version to 1.2.10.
libpng 1.2.8 does not have the symbol png_set_expand_gray_1_2_4_to_8.
It seems that 1.2.10 has no problem, so we check for libpng >= 1.2.10
and we drop libpng 1.0.*
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64303
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 22 Oct 2011 05:42:48 +0000 (05:42 +0000)]
and fix chglog and @since for max img size api
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64290
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 22 Oct 2011 03:56:36 +0000 (03:56 +0000)]
and zero out previous rect info on clear.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64289
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 22 Oct 2011 03:36:39 +0000 (03:36 +0000)]
and fix tiler to do full resolution. yes - more mem, some more
overhead, but fewer bugs.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64288
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Sat, 22 Oct 2011 02:40:52 +0000 (02:40 +0000)]
oh dear. debugging snuck in in my other fixes. remove.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64287
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 17:14:03 +0000 (17:14 +0000)]
oh this one was a doosey to find. objects still having map applied BUT
map is the same as a normal display (no mapping at all) are not
considered opaque. fix!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64264
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
antognolli [Fri, 21 Oct 2011 16:21:09 +0000 (16:21 +0000)]
evas/fb: use virtual sizes to describe the fb mode geometry.
This was causing the fb engine to draw incorrectly when the virtual size
was different from the size (xres != xres_virtual). For example, it
happens an additional monitor is plugged into a notebook.
Patch for SiT.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64259
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Fri, 21 Oct 2011 14:06:42 +0000 (14:06 +0000)]
evas: coorectly dirty YUV data.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64254
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 12:03:41 +0000 (12:03 +0000)]
hmm gles doesnt have internal format fetching.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64253
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 10:25:35 +0000 (10:25 +0000)]
and NOW fix obscure object handling properly.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64252
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Fri, 21 Oct 2011 10:10:47 +0000 (10:10 +0000)]
evas/evas_inline - indent!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64251
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 10:03:17 +0000 (10:03 +0000)]
note on detecting texture alloc fail. need to percolate that back
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64250
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 10:00:03 +0000 (10:00 +0000)]
and disable invalidate optimization
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64249
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 09:59:13 +0000 (09:59 +0000)]
debug for future. for now found the problem.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64248
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Fri, 21 Oct 2011 09:53:26 +0000 (09:53 +0000)]
evas/evas_events - trivial changes
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64247
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 08:58:00 +0000 (08:58 +0000)]
have evas engine also to update rect math so we can exclude useless
updates when obscured objects change
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64246
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 08:17:14 +0000 (08:17 +0000)]
add call to get maximum image size (eg max texture size)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64244
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 06:10:15 +0000 (06:10 +0000)]
if image biger than max texture size... report allocation errors.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64241
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 21 Oct 2011 05:50:05 +0000 (05:50 +0000)]
nicer formatting of async events
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64240
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Thu, 20 Oct 2011 12:21:41 +0000 (12:21 +0000)]
evas/evas_events.c - removed duplicated lines
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64198
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Thu, 20 Oct 2011 11:02:22 +0000 (11:02 +0000)]
evas/evas_events - removed useless lines since we support multi downs
but looks bad to keep the only one point in evas.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64197
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 19 Oct 2011 09:50:55 +0000 (09:50 +0000)]
we dont need the dirty at the end either.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64173
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 19 Oct 2011 09:04:34 +0000 (09:04 +0000)]
From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] Add scale down decoding feature to evas png loader
I add scale down decoding feature to evas png loader. 5515X3986 size png image need 80~90M memory,
but scale down(scale num=2) option can reduce memory to 25~30M.
I use down sample method for scale down.
(there is more efficient algorithm for scale down, I'll add this to my
todo list)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64170
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 19 Oct 2011 09:04:18 +0000 (09:04 +0000)]
evas: simplify code at the same time.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64169
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 19 Oct 2011 08:59:29 +0000 (08:59 +0000)]
nono - we dont dirty images when we set data...
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64168
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 19 Oct 2011 06:36:28 +0000 (06:36 +0000)]
From: Jiyoun Park <jy0703.park@samsung.com>
Subject: Re: [E-devel] [Patch] Implement scale down decoding feature of bmp loader
I implement scale down decoding feature of bmp loader using down sample algorithm.
Desktop have low risk to go wrong memory problem during big image decoding,
but mobile device is different.
Raster said it is life (meet memory problem during big image decoding),
and it is enough to return decoding fail.
But I think it seems a bit harsh, because 2 or 3 bmp image (5000X5000 size: for example)
can cause application close because of memory lack.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64163
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Tue, 18 Oct 2011 09:58:49 +0000 (09:58 +0000)]
Evas font: Oops, hb_fonts should be per font instance, not source.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64144
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 18 Oct 2011 09:10:26 +0000 (09:10 +0000)]
From: Jiyoun Park <jy0703.park@samsung.com>
Subject: [E-devel] [Patch] modify gl engine's animated function
related with cache entry
I modified the gl engine code related with animated images
This is very trivial. Evas image object passes images to the engine.
In the software engine, it is a cache entry , but in the GL engine, it is
an Evas_GL Image. So I modified the gl engine code to get the cache entry
from the gl image.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64143
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 18 Oct 2011 08:32:03 +0000 (08:32 +0000)]
for now - revers eumni touch events patch until we get press state
"getter" api patch. :)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64140
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 18 Oct 2011 08:13:23 +0000 (08:13 +0000)]
From: "Sung W. Park" <sungwoo@gmail.com>
Subject: Re: [E-devel] [E-Devel][Review][Patch] Evas GL Extensions + a
bug fix
Here's an initial attempt at the GL extensions issue for Evas GL.
I have been in discussion with a few EFL developers regarding how we should
provide extensions. Essentially, there are two ways to go about doing this.
1. provide evas_gl_proc_address_get() function as it is done in other
glue layers
2. provide all the extension functions in the EVAS_GL_API struct.
#1 approach is how it's done in other glue layers and the driver implementor can
provide new extensions easily. It is however pretty annoying to get the
function prototypes right and use the function pointers and etc.
#2 approach provides all the extension functions in the struct so it's
definitely easier to use. Adding new extensions can be a pain as people may
have to wait for new version releases.
For now, we thought it was OK to just throw them in the struct as in
#2 and try it out. So, I've implemented this approach. As for the extensions,
I've basically included all the extensions in gl2ext.h as EvasGL currently
provides all the GLES 2.0 functions. In order to display the right
information, I had to override glGetString() with GL_EXTENSIONS as parameter to properly
display the supported extensions.
Also, I've added a few EGL extensions that have been
modified for EvasGL use. For example, eglCreateImage/eglDestroyImage has been
defined as folllows.
EvasGLImage (*evasglCreateImage) (int target, void* buffer, int*
attrib_list); void
(*evasglDestroyImage)
(EvasGLImage image);
const char *evas_gl_string_query() function was added to return a string of
supported EvasGL extensions. So essentially, a user can search this string to see
if the desired extension is supported. if it is, he can use the functions. He can
always check if the function pointers are NULL as well.
Take a look at the pach and let me know what you think.
______________
While I was adding the extension code, I've added a few fixes/ changes
to the EvasGL.
1. glDeletBuffers bug
- When I wad destroying evasgl context, I was deleting the context FBO with
glDeleteBuffers instead of glDeleteFramebuffers. This code in effect was
deleting BOs in other contexts and we had some funky behaviors as a
result. The
bug has been fixed.
2. make_current
- I've made some changes to the make current code and also added a resource
context to the engine data. the resource context is used for creating surface
texture/ fbos when surface/ context is created. Before, i was using evas'
context but thought it'd be a good idea to use a separate context.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64139
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Mon, 17 Oct 2011 14:24:49 +0000 (14:24 +0000)]
Evas font: Cache Harfbuzz font structure for fonts we use.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64136
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Mon, 17 Oct 2011 12:18:57 +0000 (12:18 +0000)]
Evas textblock: Beautify the DRAW_FORMAT_DASHED macro a bit.
Patch by Shilpa Singh.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64135
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Mon, 17 Oct 2011 12:18:53 +0000 (12:18 +0000)]
Revert "evas: Deal with harfbuzz API breakage"
Sorry mate, but they broke API without bumping version, that's why I
didn't do this myself. You should probably add your version of harfbuzz.
This reverts commit 64057.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64134
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Mon, 17 Oct 2011 10:43:42 +0000 (10:43 +0000)]
Evas textblock: Cleaned up DRAW_FORMAT/_DASHED macros.
Fixed compiler warnings.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64132
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Mon, 17 Oct 2011 10:43:08 +0000 (10:43 +0000)]
Evas textblock: Added dashed underline support.
Patch by Shilpa Singh
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64131
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 17 Oct 2011 05:22:08 +0000 (05:22 +0000)]
sorry. we can't depend on svnrev in versions. wish we could. we can't :(
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64121
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 16 Oct 2011 15:48:29 +0000 (15:48 +0000)]
svn:ignore
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64117
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 16 Oct 2011 15:46:28 +0000 (15:46 +0000)]
svn:ignore
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64116
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Sun, 16 Oct 2011 15:45:28 +0000 (15:45 +0000)]
require recent eina
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64115
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
kakaroto [Sat, 15 Oct 2011 09:31:04 +0000 (09:31 +0000)]
Evas: Check for dlsym and disable gl engines if not found
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64091
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
kakaroto [Sat, 15 Oct 2011 09:30:33 +0000 (09:30 +0000)]
Evas: Remove a useless ifdef that was causing dead code.
You can't compile a gl_common .c file based on whether or not the SDL
header was included. The .c file will result in only one .o and since
the Evas_Engine_Sdl.h is not included by evas_gl_context.c itself, then
that ifdef will never be true.
gl_common should request a callback function pointer from the evas engine
for doing symbol resolution. This needs a refactor.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64086
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
devilhorns [Sat, 15 Oct 2011 01:02:55 +0000 (01:02 +0000)]
Evas: Fix compiler warnings wrt uninitialized variables.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64079
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
mike_m [Fri, 14 Oct 2011 02:52:50 +0000 (02:52 +0000)]
evas: Deal with harfbuzz API breakage
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64057
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 13 Oct 2011 09:23:42 +0000 (09:23 +0000)]
evas: only draw the hole when it's needed.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64047
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 13 Oct 2011 06:55:12 +0000 (06:55 +0000)]
Evas: faster "lround"
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64036
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 13 Oct 2011 06:36:22 +0000 (06:36 +0000)]
round negatives right.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64035
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Thu, 13 Oct 2011 06:15:28 +0000 (06:15 +0000)]
lets just fal back to "stoopid" mode rounding for non-lround platforms
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64033
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
mike_m [Thu, 13 Oct 2011 02:22:29 +0000 (02:22 +0000)]
evas: Use clists to store the render recalculation list
Rather than trying to avoid removing the list element that is
currently being processed, keep two lists and move elements
to the processed list before recalculating them.
Remove items from the list head only, and always append them
to the tail.
Use the fact that an item can be removed from a clist without
needing to know which list it is in.
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64030
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 23:22:26 +0000 (23:22 +0000)]
fix use of invalid program id IF viewport changed - also disable
GLERR. this can really hurt performance.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64027
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 10:27:17 +0000 (10:27 +0000)]
fix gl pipeline problem with textures and map and the wrong program id
being set/restored.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64014
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 10:15:35 +0000 (10:15 +0000)]
fixme--
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64013
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 03:28:53 +0000 (03:28 +0000)]
more sse3 bugs!
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64006
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 02:59:44 +0000 (02:59 +0000)]
make more bug notes.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64005
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 12 Oct 2011 02:54:06 +0000 (02:54 +0000)]
all vert shaders always highp on gles.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@64004
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 11 Oct 2011 12:32:21 +0000 (12:32 +0000)]
some nasty hackery to get affine transform mapping to be "pixel
perfect" with 90 degree rotations. i really should have actually
special cased them, for for now i made the generic routine try and punt
out the right numbers.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63986
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 11 Oct 2011 11:51:54 +0000 (11:51 +0000)]
disable buggy sse3 routine! test showed it in ello.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63985
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 11 Oct 2011 11:30:37 +0000 (11:30 +0000)]
fix off-by-one update region calc in map.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63984
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 11 Oct 2011 06:06:11 +0000 (06:06 +0000)]
use lround() for map coord rounding to avoid silly things like
15.
999999999999999998 rounding down to 15... whihc leads to
sometimes... odd off-by-1 expected results.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63978
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Tue, 11 Oct 2011 01:51:49 +0000 (01:51 +0000)]
oops - typo.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63967
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Mon, 10 Oct 2011 10:08:29 +0000 (10:08 +0000)]
adapt to SEC direct texture access changes for the last time.
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63959
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
hermet [Mon, 10 Oct 2011 08:52:08 +0000 (08:52 +0000)]
evas/evas_events - trivial changes
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63953
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 9 Oct 2011 19:28:40 +0000 (19:28 +0000)]
Evas: big mistake in efl_attribute.m4. My bad
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63935
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 8 Oct 2011 07:16:36 +0000 (07:16 +0000)]
Evas: Add GL_EET_CFLAGS tp CPPFLAGS so that Eet.h is found. Patch by JGMiller, fix ticket #874
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@63922
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33