pierre lamot [Fri, 30 Jan 2015 17:21:14 +0000 (18:21 +0100)]
ecore_evas: rewrite render loop to conform with other engines.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
pierre lamot [Fri, 30 Jan 2015 16:42:09 +0000 (17:42 +0100)]
evas: make current context on lockFocus for gl_cocoa backend.
make current context on lockFocus as suggested by (following best practice):
https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide
@fix
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
pierre lamot [Fri, 30 Jan 2015 16:15:55 +0000 (17:15 +0100)]
ecore_cocoa: release resources on window close event
@fix this patch:
catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)
/!\ this patch is currently incomplete and leads to a segv when
closing the last window
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Jean-Philippe Andre [Tue, 17 Mar 2015 03:21:00 +0000 (12:21 +0900)]
Evas GL: Fallback to safe GL configs with GLX as well
Jean-Philippe Andre [Tue, 17 Mar 2015 03:12:19 +0000 (12:12 +0900)]
Evas GL: Fallback to safe values of depth, stencil & msaa if not supported
Depth32, Stencil16 and MSAA are known to be unsupported on many platforms.
While applications should try not to request them, we can try to fallback
nicely and still render using depth24+stencil8 (which is often supported),
or reducing the number of MSAA samples (until 0 if not supported at all).
Cedric BAIL [Tue, 17 Mar 2015 08:59:16 +0000 (09:59 +0100)]
Merge branch 'devs/cedric/emile'
Here come a major code refactoring. There is still work to be done, especially on Ecore_Con_SSl
and also image compression, but it is already an improvement over current situation. Further
development should happen in master.
Emile does provide a library to put together serialization, compression and ciphering. It is a
low level library and can be use by anything above Eina.
Cedric BAIL [Tue, 17 Mar 2015 07:51:01 +0000 (08:51 +0100)]
emile: fix coding style with ecrustify.
Cedric BAIL [Tue, 17 Mar 2015 07:50:58 +0000 (08:50 +0100)]
emile: add a note regarding useless structure member.
Cedric BAIL [Tue, 17 Mar 2015 07:50:57 +0000 (08:50 +0100)]
ecore_con: fix build with -DISCOMFITOR and OpenSSL.
Cedric BAIL [Tue, 17 Mar 2015 07:50:56 +0000 (08:50 +0100)]
ecore_con: remove deprecated use of Eina_Binbuf functions.
Cedric BAIL [Tue, 17 Mar 2015 07:50:55 +0000 (08:50 +0100)]
edje: remove deprecated use of Eina_Binbuf functions.
Cedric BAIL [Tue, 17 Mar 2015 07:50:54 +0000 (08:50 +0100)]
eet: remove use of deprecated Eina_Binbuf functions.
Cedric BAIL [Tue, 17 Mar 2015 07:50:53 +0000 (08:50 +0100)]
emile: remove use of deprecated eina binbuf function.
Cedric BAIL [Tue, 17 Mar 2015 07:50:52 +0000 (08:50 +0100)]
eina: provide a generic eina_binbuf_manage_new.
eina_binbuf_manage_new provide the functionnality of both eina_binbuf_manage_new_length
and eina_binbuf_manage_read_only_new_length. Those function get deprecated.
Cedric BAIL [Tue, 17 Mar 2015 07:50:51 +0000 (08:50 +0100)]
emile: make sure given boolean are really boolean.
Cedric BAIL [Tue, 17 Mar 2015 07:50:50 +0000 (08:50 +0100)]
emile: remove binbuf from emile compression functions.
Cedric BAIL [Tue, 17 Mar 2015 07:50:49 +0000 (08:50 +0100)]
emile: use Eina_Log for Jpeg error message.
Cedric BAIL [Tue, 17 Mar 2015 07:50:49 +0000 (08:50 +0100)]
ecore_con: unbreak GNUTLS support.
Cedric BAIL [Tue, 17 Mar 2015 07:50:48 +0000 (08:50 +0100)]
emile: update to latest GNUTLS/GCRYPT API.
Vincent Torri [Tue, 17 Mar 2015 07:50:47 +0000 (08:50 +0100)]
emile: fix some warnings in gnutls component
Vincent Torri [Tue, 17 Mar 2015 07:50:46 +0000 (08:50 +0100)]
emile: ERROR is a macro already defined on Windows
Vincent Torri [Tue, 17 Mar 2015 07:50:45 +0000 (08:50 +0100)]
emile: fix emile_binbuf_sha1() signature when no cipher is used
Vincent Torri [Tue, 17 Mar 2015 07:50:44 +0000 (08:50 +0100)]
emile: fix array count
Cedric BAIL [Tue, 17 Mar 2015 07:50:44 +0000 (08:50 +0100)]
emile: cleanup comments and internal functions name.
Cedric BAIL [Tue, 17 Mar 2015 07:50:43 +0000 (08:50 +0100)]
emile: cleanup private header.
Cedric BAIL [Tue, 17 Mar 2015 07:50:42 +0000 (08:50 +0100)]
emile: cleanup header from useless cruft.
Cedric BAIL [Tue, 17 Mar 2015 07:50:42 +0000 (08:50 +0100)]
emile: follow convention for Emile_Compressor_Level.
Cedric BAIL [Tue, 17 Mar 2015 07:50:41 +0000 (08:50 +0100)]
emile: normalize compression header.
Cedric BAIL [Tue, 17 Mar 2015 07:50:40 +0000 (08:50 +0100)]
emile: normalize version number to 1.14.
Cedric BAIL [Tue, 17 Mar 2015 07:50:40 +0000 (08:50 +0100)]
emile: implement emile_cipher_module_get in a useful way.
Cedric BAIL [Tue, 17 Mar 2015 07:50:39 +0000 (08:50 +0100)]
emile: document the stable cipher function.
Cedric BAIL [Tue, 17 Mar 2015 07:50:38 +0000 (08:50 +0100)]
emile: actually this set of function are neat enough to be a public API.
Cedric BAIL [Tue, 17 Mar 2015 07:50:37 +0000 (08:50 +0100)]
emile: change the API to allow supporting other cipher in the future.
Cedric BAIL [Tue, 17 Mar 2015 07:50:36 +0000 (08:50 +0100)]
emile: mark ssl layer as a beta API for now.
Cedric BAIL [Tue, 17 Mar 2015 07:50:36 +0000 (08:50 +0100)]
eet: use Emile type for encoding.
Cedric BAIL [Tue, 17 Mar 2015 07:50:35 +0000 (08:50 +0100)]
emile: document Emile_Image.
Cedric BAIL [Tue, 17 Mar 2015 07:50:34 +0000 (08:50 +0100)]
emile: reduce code duplication between gnutls and openssl backend.
Add a visible emile_binbuf_sha1 implementation and deduplicate
emile_pbkdf2_sha1 (but does not explicitely expose it).
Cedric BAIL [Tue, 17 Mar 2015 07:50:33 +0000 (08:50 +0100)]
emile: remove ambiguity especially for Windows platform.
Thanks Vincent Torri for the review.
Cedric BAIL [Tue, 17 Mar 2015 07:50:33 +0000 (08:50 +0100)]
emile: add documentation for compression function.
Cedric BAIL [Tue, 17 Mar 2015 07:50:32 +0000 (08:50 +0100)]
emile: use an enum for level instead of just an int.
Cedric BAIL [Tue, 17 Mar 2015 07:50:31 +0000 (08:50 +0100)]
emile: update documentation version.
Cedric BAIL [Tue, 17 Mar 2015 07:50:30 +0000 (08:50 +0100)]
emile: split headers.
Cedric BAIL [Tue, 17 Mar 2015 07:50:29 +0000 (08:50 +0100)]
emile: fix crash when cspaces is left unchanged.
Cedric BAIL [Tue, 17 Mar 2015 07:50:29 +0000 (08:50 +0100)]
emile: build examples after adding emile.
Cedric BAIL [Tue, 17 Mar 2015 07:50:28 +0000 (08:50 +0100)]
eet: encode lossy image with AGRY88 or GRY8 whenever possible.
Cedric BAIL [Tue, 17 Mar 2015 07:50:27 +0000 (08:50 +0100)]
eet: refactoring jpeg encoding.
Cedric BAIL [Tue, 17 Mar 2015 07:50:26 +0000 (08:50 +0100)]
eet: handle AGRY88 encoding for JPEG encoded image.
The alpha and the grey being encoded in two separated grey JPEG.
Cedric BAIL [Tue, 17 Mar 2015 07:50:25 +0000 (08:50 +0100)]
emile: handle AGRY88 for JPEG image.
Cedric BAIL [Tue, 17 Mar 2015 07:50:24 +0000 (08:50 +0100)]
eet: fix error handling when decoding TGV file format.
Cedric BAIL [Tue, 17 Mar 2015 07:50:23 +0000 (08:50 +0100)]
eet: use Emile to decode jpeg.
Cedric BAIL [Tue, 17 Mar 2015 07:50:22 +0000 (08:50 +0100)]
emile: decode GRAY JPEG as GRY8.
Cedric BAIL [Tue, 17 Mar 2015 07:50:21 +0000 (08:50 +0100)]
emile: simplify error handling for jpeg data decoding.
Cedric BAIL [Tue, 17 Mar 2015 07:50:21 +0000 (08:50 +0100)]
evas: use emile to decompress JPEG files.
Cedric BAIL [Tue, 17 Mar 2015 07:50:20 +0000 (08:50 +0100)]
evas: simplify structure.
Cedric BAIL [Tue, 17 Mar 2015 07:50:19 +0000 (08:50 +0100)]
emile: add JPEG support.
Cedric BAIL [Tue, 17 Mar 2015 07:50:18 +0000 (08:50 +0100)]
eet: use Emile to decode TGV image section.
Cedric BAIL [Tue, 17 Mar 2015 07:50:17 +0000 (08:50 +0100)]
emile: remove use of custom structure and prefer Eina_Rectangle.
Get rid of warning inside of the jpeg loader that result of it. I do believe
this is not an ABI break on the loader API. If you disagree, please raise your
voice.
Cedric BAIL [Tue, 17 Mar 2015 07:50:16 +0000 (08:50 +0100)]
evas: use Emile to decode TGV.
Cedric BAIL [Tue, 17 Mar 2015 07:50:15 +0000 (08:50 +0100)]
evas: use Emile for defining all possible loader API.
Cedric BAIL [Tue, 17 Mar 2015 07:50:15 +0000 (08:50 +0100)]
emile: initial addition of emile image support.
Cedric BAIL [Tue, 17 Mar 2015 07:50:14 +0000 (08:50 +0100)]
eet: use eina_binbuf and emile to manipulate TGV compressed data.
Cedric BAIL [Tue, 17 Mar 2015 07:50:13 +0000 (08:50 +0100)]
emile: trying to fix security.
Cedric BAIL [Tue, 17 Mar 2015 07:50:13 +0000 (08:50 +0100)]
emile: Add SSL support.
Cedric BAIL [Tue, 17 Mar 2015 07:50:12 +0000 (08:50 +0100)]
build: display crypto system as a feature of Emile.
Cedric BAIL [Tue, 17 Mar 2015 07:50:10 +0000 (08:50 +0100)]
emile: remove left over #ifdef
Cedric BAIL [Tue, 17 Mar 2015 07:50:09 +0000 (08:50 +0100)]
emile: make the initialization part of backend cipher file to.
Cedric BAIL [Tue, 17 Mar 2015 07:50:08 +0000 (08:50 +0100)]
emile: with Emile and as long as you don't use any cipher, it will be just fine.
Cedric BAIL [Tue, 17 Mar 2015 07:50:07 +0000 (08:50 +0100)]
emile: split OpenSSL, GNUTLS and no cipher into separate file as a first step toward module.
Cedric BAIL [Tue, 17 Mar 2015 07:50:06 +0000 (08:50 +0100)]
emile: make it cross platform.
Cedric BAIL [Tue, 17 Mar 2015 07:50:05 +0000 (08:50 +0100)]
eet: initialize emile on demand.
Cedric BAIL [Tue, 17 Mar 2015 07:50:04 +0000 (08:50 +0100)]
ecore_con: initialize emile cipher support on demand.
Cedric BAIL [Tue, 17 Mar 2015 07:50:03 +0000 (08:50 +0100)]
emile: make cipher initialization optional.
Cedric BAIL [Tue, 17 Mar 2015 07:50:03 +0000 (08:50 +0100)]
eet: use Emile instead of Zlib and LZ4 directly.
Cedric BAIL [Tue, 17 Mar 2015 07:50:02 +0000 (08:50 +0100)]
emile: add compress/uncompress logic.
Cedric BAIL [Tue, 17 Mar 2015 07:50:01 +0000 (08:50 +0100)]
eet: move to use emile for ciphering logic.
Cedric BAIL [Tue, 17 Mar 2015 07:50:00 +0000 (08:50 +0100)]
emile: expose cipher/uncipher block logic.
Cedric BAIL [Tue, 17 Mar 2015 07:49:59 +0000 (08:49 +0100)]
ecore_con: depend on emile for initializing crypto library.
Cedric BAIL [Tue, 17 Mar 2015 07:49:58 +0000 (08:49 +0100)]
emile: move GNUTLS and OpenSSL initialization logic from Eet to Emile.
Cedric BAIL [Tue, 17 Mar 2015 07:49:57 +0000 (08:49 +0100)]
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
Cedric BAIL [Tue, 17 Mar 2015 07:49:56 +0000 (08:49 +0100)]
efl: autotools - move Eet section after Eo.
Cedric BAIL [Tue, 17 Mar 2015 07:49:54 +0000 (08:49 +0100)]
Revert "Add --disable-gui."
This reverts commit
3ed4f745907d3e842e64b341e2426c0c99cf3297.
Daniel Zaoui [Tue, 17 Mar 2015 07:32:54 +0000 (09:32 +0200)]
Eolian: add filename to error message
Carsten Haitzler (Rasterman) [Tue, 17 Mar 2015 03:04:10 +0000 (12:04 +0900)]
efl - bring back symlink complaint regardless of env vars
@fix
Dongyeon Kim [Tue, 17 Mar 2015 02:40:04 +0000 (11:40 +0900)]
Evas GL: use texture for native surface in glx backend
Summary:
EVAS_NATIVE_SURFACE_EVASGL uses egl image, but egl image is
not supported in glx backend, so use texture instead.
Test Plan: Local tests on pc
Reviewers: jpeg
Subscribers: cedric, mer.kim, mythri, wonsik
Differential Revision: https://phab.enlightenment.org/D2174
jpeg: fixed casts
Minkyoung Kim [Tue, 17 Mar 2015 02:17:26 +0000 (11:17 +0900)]
evas/gl_x11: Optimize out calls to make current
Summary: Reducing the number of calling eglMakeCurrent.
Reviewers: jpeg
Subscribers: wonsik, cedric, spacegrapher
Differential Revision: https://phab.enlightenment.org/D2094
Youngbok Shin [Tue, 17 Mar 2015 02:02:04 +0000 (11:02 +0900)]
evas/clip: If the clipper is image or has color, clipped area should be redrawn.
Summary:
If the clipper is image or has color, it affects to its clipees.
Even if we unset the clipper or change the clipper to another object,
it seems the clipper is not changed.
Test Plan:
Make two clipper objects and one clipee object.
And make clip the clipee according to following example
ex) Clipee object -> inner_clipper -> clipper
evas_object_clip_set(clipee, inner_clipper);
evas_object_clip_set(inner_clipper, clipper);
After checking the result and hide inner_clipper.
evas_object_clip_set(clipee, clipper);
evas_object_hide(inner_clipper);
See the result.
Reviewers: raster, cedric, Hermet, jpeg
Subscribers: woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D2112
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Note: Technically we should not check the color of the fact that
the clipper is a mask and not a simple rect. But because of
real-life performance issues, damage_add was disabled so we're
trying to keep the perf in most cases while being correct in
cases where the clipper is visually important.
Daniel Zaoui [Mon, 16 Mar 2015 15:04:44 +0000 (17:04 +0200)]
Eolian: add API to return the class from a function.
@feature
Jean-Philippe Andre [Mon, 16 Mar 2015 08:42:07 +0000 (17:42 +0900)]
Evas GL: Fix GL_X11 engine when using GLX
eglGetProcAddress is obviously not supported in that case.
Jean-Philippe Andre [Mon, 16 Mar 2015 08:19:37 +0000 (17:19 +0900)]
Evas GL: Fallback to depth24, stencil8 if GL_GLES is used
If depth32 or stencil16 are requested, those are most likely to
fail with GLES. In that case, fallback automatically to 24+8.
Jean-Philippe Andre [Mon, 16 Mar 2015 07:58:37 +0000 (16:58 +0900)]
Evas GL: Add more debug logs
Print some INFormation for app developers.
Jean-Philippe Andre [Mon, 16 Mar 2015 07:09:47 +0000 (16:09 +0900)]
Fix a previous commit: remove binary files and garbage in src/
When rebasing the commits, I have been lazy and did a git add src/ that
actually added the files that were not ignored. My bad, sorry about that.
The original patch was fine.
Thanks sung.
Dongyeon Kim [Fri, 13 Mar 2015 07:31:54 +0000 (16:31 +0900)]
Evas GL: Adjust function naming and remove macros
Summary:
Change function and variable names to more suitable ones.
Remove FBO_FUNC macros.
Little tidying up from previous commit.
Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0
Reviewers: jpeg
Subscribers: cedric, mer.kim, mythri, wonsik
Differential Revision: https://phab.enlightenment.org/D2126
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Dongyeon Kim [Mon, 9 Mar 2015 11:41:58 +0000 (20:41 +0900)]
Evas GL: Fix build errors for glx backend
Summary:
Fix build errors for glx backend made from previous commit
Revert parameter naming
Test Plan: Local Evas GL tests for 1.1, 2.0, and 3.0
Reviewers: jpeg
Subscribers: mythri, wonsik, cedric, mer.kim
Differential Revision: https://phab.enlightenment.org/D2117
Dongyeon Kim [Mon, 9 Mar 2015 08:25:20 +0000 (17:25 +0900)]
Evas GL: Use EGL image to share between Evas GL and GL backend
Summary:
When the context version between Evas GL and GL backend differs,
we cannot share texture between them.
So, when the driver has support for KHR_gl_texture_2D_image extension,
use EGL image to share between Evas GL and GL backend
Test Plan: Local Evas GL tests for 1.1, 2.0 and 3.0
Reviewers: jpeg
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2115
Dongyeon Kim [Mon, 9 Mar 2015 08:17:19 +0000 (17:17 +0900)]
Evas GL: change function naming and small bug fixes
Summary:
Remove gles1 prefixes for functions that are also used by gles3.
Refactor evgl_make_current a little bit.
Destroy indirect context properly.
Some log message changes and typo fixes.
Test Plan: Local tests on desktop PC
Reviewers: jpeg
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2104
Jean-Philippe Andre [Thu, 5 Mar 2015 08:20:57 +0000 (17:20 +0900)]
Evas GL: Fix logic in debug check
Jean-Philippe Andre [Thu, 5 Mar 2015 06:57:14 +0000 (15:57 +0900)]
Evas GL: Fix build errors and warnings from previous commit
mythri.venugopal [Thu, 5 Mar 2015 06:36:35 +0000 (15:36 +0900)]
Evas GL: Add support for Evas GL 3.0
Summary:
This should enable applications to use GLES 3.0 through evas gl.
Todo: Fix indirect rendering issue occuring because texture objects
cannot be shared between different version of GLES contexts.
Todo: extension pointers need to be updated for GLES 3.0
Reviewers: wonsik, spacegrapher, jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2017
@feature
Jean-Philippe Andre [Mon, 16 Mar 2015 05:55:40 +0000 (14:55 +0900)]
Evas GL: Remove excessive debug
- Check debug flag before warning that a surface is not direct
- Remove notes about surface reconfigure, as this will not be implemented
(see previous commit).
Wonsik Jung [Mon, 16 Mar 2015 04:57:09 +0000 (13:57 +0900)]
evas_gl: Add feature to set depth/stencil/msaa bit to window surface.
Summary:
When Evas GL runs with direct rendering, it can not set depth, stencil and msaa to Window surface.
This patch is possible to use "option" input paramater of ecore_evas_gl_x11_options_new.
So, new API is not needed.
The other patch is in elementary. The elementary patch will be used this patch.
Test Plan: Test elm gl veiw in elementary_test and JP's test app.
Reviewers: spacegrapher, cedric, raster, jpeg
Reviewed By: jpeg
Subscribers: cedric, mer.kim
Differential Revision: https://phab.enlightenment.org/D2144
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Note: jpeg changed the original patch a bit (fix style and depth value)