platform/upstream/efl.git
8 years agoeolian: more relaxed safety in types API
Daniel Kolesa [Thu, 19 Nov 2015 15:28:48 +0000 (15:28 +0000)]
eolian: more relaxed safety in types API

This changes the checks in eolian type API so that you can use the various
type funcs on incompatible types, getting a NULL in return; this allows
simplified generator logic, with error handling done on generator side,
without getting annoying messages from the Eolian lib.

8 years agoeolian: turn "undefined type" into its own EOLIAN_TYPE
Daniel Kolesa [Thu, 19 Nov 2015 14:04:37 +0000 (14:04 +0000)]
eolian: turn "undefined type" into its own EOLIAN_TYPE

8 years agoector: don't use parent relationship to get access to the surface for freetype backend.
Cedric BAIL [Tue, 17 Nov 2015 00:20:22 +0000 (01:20 +0100)]
ector: don't use parent relationship to get access to the surface for freetype backend.

8 years agoector: don't use eo parent relationship for accessing the surface.
Cedric BAIL [Sun, 15 Nov 2015 23:56:28 +0000 (00:56 +0100)]
ector: don't use eo parent relationship for accessing the surface.

8 years agoector: starting decoralating surface and parent by adding a property to access the...
Cedric BAIL [Sun, 15 Nov 2015 21:57:48 +0000 (22:57 +0100)]
ector: starting decoralating surface and parent by adding a property to access the surface independently.

NOTE: It would be nice to be able to protect independently the setter from the getter in eolian.

8 years agoector: improve uploading of GL texture for vector graphism
Cedric BAIL [Thu, 19 Nov 2015 12:15:51 +0000 (13:15 +0100)]
ector: improve uploading of GL texture for vector graphism

This rely on a faster code path to upload dynamic texture. Once we get support
for gbm, we should see significant performance improvement in speed, but this
first step is already a 5 times improvement (Ok, we get from really bad, to not
really useful...).

8 years agoelua: add eolian_type_aliased_base_get to lua bindings
Daniel Kolesa [Thu, 19 Nov 2015 13:19:22 +0000 (13:19 +0000)]
elua: add eolian_type_aliased_base_get to lua bindings

8 years agoEvas object: Add paragraph_direciton APIs
Youngbok Shin [Thu, 19 Nov 2015 11:37:07 +0000 (11:37 +0000)]
Evas object: Add paragraph_direciton APIs

Summary:
It adds evas_object_paragraph_direction_set, get APIs.
The APIs set or get paragraph direction to/from the given object.
It changes BiDi calculations and affect the direction and aligning of text.
It doesn't have any effect to text without Fribidi library.

The default paragraph direction is EVAS_BIDI_DIRECTION_INHERIT.
If dir is EVAS_BIDI_DIRECTION_INHERIT, paragraph direction is changed
according to smart parent object. If there is no smart parent object,
paragraph direction works as EVAS_BIDI_DIRECTION_NEUTRAL.

@feature

Test Plan:
Test cases included to the following files.
- evas_test_textblock.c
- evas_test_text.c
- evas_test_object_smart.c

Run "make check".

Reviewers: woohyun, raster, herdsman, tasn

Subscribers: c, raster, cedric

Differential Revision: https://phab.enlightenment.org/D1690

8 years agoEfl: eo-ify enum Efl.Gfx.Fill
Jean-Philippe Andre [Thu, 19 Nov 2015 07:10:41 +0000 (16:10 +0900)]
Efl: eo-ify enum Efl.Gfx.Fill

8 years agoedje: revise the explanation for mask_flags attribute
Jee-Yong Um [Thu, 19 Nov 2015 06:33:45 +0000 (15:33 +0900)]
edje: revise the explanation for mask_flags attribute

Reviewers: cedric, raster

Reviewed By: raster

Subscribers: raster

Differential Revision: https://phab.enlightenment.org/D3330

8 years agoecore-wayland: Reduce overhead for maximize/fullscreen set functions
Chris Michael [Wed, 18 Nov 2015 17:56:12 +0000 (12:56 -0500)]
ecore-wayland: Reduce overhead for maximize/fullscreen set functions

This patch just gets the state flags directly from the window rather
than calling "get" functions to return the same parameter.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-wayland: Fix iconified functions for consistency
Chris Michael [Wed, 18 Nov 2015 17:54:00 +0000 (12:54 -0500)]
ecore-wayland: Fix iconified functions for consistency

* sanitize bool params
* enforce window state flag setting
* correctly detect window state using window flag

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-wayland: Add EINA_SAFETY checks to window functions
Chris Michael [Wed, 18 Nov 2015 17:19:17 +0000 (12:19 -0500)]
ecore-wayland: Add EINA_SAFETY checks to window functions

This adds EINA_SAFETY returns for all public facing ecore_wl_window
functions.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoeolian: add eolian_type_aliased_base_get
Daniel Kolesa [Wed, 18 Nov 2015 16:02:15 +0000 (16:02 +0000)]
eolian: add eolian_type_aliased_base_get

This adds a new API function that is there mainly for convenience (see doc).
Also added/updated tests as necessary.

@feature

8 years agogitignore: ignore core dumps
Daniel Kolesa [Wed, 18 Nov 2015 12:40:33 +0000 (12:40 +0000)]
gitignore: ignore core dumps

8 years agoEvas text: Fix last up to pos error return value.
Tom Hacohen [Wed, 18 Nov 2015 10:56:48 +0000 (10:56 +0000)]
Evas text: Fix last up to pos error return value.

This commit also simplifies the code a (tiny) bit.

This fixes the bug introduced in:
392df9479f816a641fabbf333326bdab4b9cfc28

8 years agoEvas text: Remove useless FIXME.
Tom Hacohen [Wed, 18 Nov 2015 10:53:29 +0000 (10:53 +0000)]
Evas text: Remove useless FIXME.

8 years agoEvas text: Fix memory leak
Subodh Kumar [Wed, 18 Nov 2015 10:52:34 +0000 (10:52 +0000)]
Evas text: Fix memory leak

Summary:
Fix memory leak

Position is getting returned without
freeing the temporary logical item list.

@fix

Test Plan: NA

Reviewers: tasn, raster

Reviewed By: raster

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D3345

8 years agoEet: remove dead variable assignment.
Tom Hacohen [Wed, 18 Nov 2015 10:11:55 +0000 (10:11 +0000)]
Eet: remove dead variable assignment.

I guess this is what 2a01c4517b5b97c2b988ce590d7dae913ec1f085 was meant to be doing.

8 years agoRevert "eet: removing useless assignment variables."
Stefan Schmidt [Wed, 18 Nov 2015 09:26:25 +0000 (10:26 +0100)]
Revert "eet: removing useless assignment variables."

This reverts commit 2a01c4517b5b97c2b988ce590d7dae913ec1f085.

Declaring these variable void breaks the build with disabled crypto.

Fixes T2855

8 years agoEdje data: Remove redondant array in Evas 3D edd
Jean-Philippe Andre [Wed, 18 Nov 2015 03:06:00 +0000 (12:06 +0900)]
Edje data: Remove redondant array in Evas 3D edd

Since I just broke EDJ ABI, as well clean it up. The same array
was saved twice under two different names.

8 years agoEdje: Fix Evas 3D eet data descriptors
Jean-Philippe Andre [Wed, 18 Nov 2015 02:17:27 +0000 (11:17 +0900)]
Edje: Fix Evas 3D eet data descriptors

Memleak found with valgrind points to this line, where clearly the
edd field name is incorrect. It looks like this feature has no example,
no test case either.

This breaks EDJ ABI!
I do this because I believe there are zero users of this API
at this point, as Evas 3D is still not ready yet.

See also https://phab.enlightenment.org/D2544

@fix

8 years agoEdje data: Fix memory leak in nested data descriptors
Jean-Philippe Andre [Wed, 18 Nov 2015 02:32:37 +0000 (11:32 +0900)]
Edje data: Fix memory leak in nested data descriptors

8 years agoEvas GL: XFreeColormap when window free
sunghyun kim [Tue, 17 Nov 2015 09:36:31 +0000 (18:36 +0900)]
Evas GL: XFreeColormap when window free

When gl window is created, XCreateColormap is called in eng_best_visual_get
but when gl window is freed, Colormap is not freed.

See original patch: D3342.

8 years agoecore-wayland: rewrite maximize/fullscreen set functions for consistency
Mike Blumenkrantz [Tue, 17 Nov 2015 23:24:09 +0000 (18:24 -0500)]
ecore-wayland: rewrite maximize/fullscreen set functions for consistency

* use safety macros for win struct param (should be the case for all fns here)
* sanitize bool params
* enforce window state flag setting
* correctly detect window state using window flag instead of type

@fix

ref T2841

8 years agoecore-wayland: return only the relevant state value for maximize/fullscreen
Mike Blumenkrantz [Tue, 17 Nov 2015 23:23:07 +0000 (18:23 -0500)]
ecore-wayland: return only the relevant state value for maximize/fullscreen

having window types for fullscreen/maximize is not defined by spec and leads
to state mismatches when toggling from api vs receiving events from the compositor

@fix

8 years agoecore-evas wayland: enforce frame/state change triggering before move/resize
Mike Blumenkrantz [Tue, 17 Nov 2015 23:21:11 +0000 (18:21 -0500)]
ecore-evas wayland: enforce frame/state change triggering before move/resize

if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841

8 years agoevas-gl_drm: Remove set but unused variable
Chris Michael [Tue, 17 Nov 2015 21:07:14 +0000 (16:07 -0500)]
evas-gl_drm: Remove set but unused variable

Variable 'osurface' is not actually being used inside the code here,
so remove it.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-wayland: Make ecore_wl_window_maximized_get return proper values
Chris Michael [Tue, 17 Nov 2015 20:57:45 +0000 (15:57 -0500)]
ecore-wayland: Make ecore_wl_window_maximized_get return proper values

This brings ecore_wl_window_maximized_get more inline with
ecore_wl_fullscreen_get function in that it will now check either the
window maximized state, or the window type, to determine if a window
is actually maximized

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-evas-drm: Send fake mouse_move event after registering
Chris Michael [Tue, 17 Nov 2015 20:55:41 +0000 (15:55 -0500)]
ecore-evas-drm: Send fake mouse_move event after registering

This fixes an issue where ecore_drm was sending an initial mouse_move
event too early in the startup process. Instead, we will send the
event from Ecore_Evas after it has been registered with Ecore_Input.
This is done here to address and Fix T2854.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm: Don't send mouse_move event too early
Chris Michael [Tue, 17 Nov 2015 20:54:34 +0000 (15:54 -0500)]
ecore-drm: Don't send mouse_move event too early

We cannot be sending an ecore_event for mouse move here as it is too
early in the startup process for that too happen. Raising the event
here never gets caught because the ecore_evas has not yet registered
for ecore_input listening.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-evas-wl: Fix issue of improper window geometry
Chris Michael [Tue, 17 Nov 2015 18:51:19 +0000 (13:51 -0500)]
ecore-evas-wl: Fix issue of improper window geometry

This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoector: Fix incorrect expression
Chris Michael [Tue, 17 Nov 2015 15:06:55 +0000 (10:06 -0500)]
ector: Fix incorrect expression

Coverity reports that 'obj' is written twice with the same value
here., so fix this with a proper call to eo_do_super_ret

NB: Fixes Coverity CID1339786

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-software-x11: Fix resource leak
Chris Michael [Tue, 17 Nov 2015 15:00:19 +0000 (10:00 -0500)]
evas-software-x11: Fix resource leak

If we end up leaving evas_xlib_image_dri_native_set due to a failure
to allocate memory, we should free the previously allocated
Evas_DRI_Image so that we don't leak

NB: Fixes Coverity CID1339782

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoEvas textblock: fix bad deletion in test case
Daniel Hirt [Sun, 8 Nov 2015 12:24:34 +0000 (14:24 +0200)]
Evas textblock: fix bad deletion in test case

No need to delete this object. It is already being deleted when the
textblock is freed at the end of the test.

8 years agoEvas language: add full locale language getter
Daniel Hirt [Sun, 15 Nov 2015 09:31:32 +0000 (11:31 +0200)]
Evas language: add full locale language getter

evas_common_language_from_locale_get truncates the country letters in
the language. We don't always want that (one example is dictionaries).

8 years agoevas-software-x11: Fix returning NULL pointer
Chris Michael [Tue, 17 Nov 2015 14:07:45 +0000 (09:07 -0500)]
evas-software-x11: Fix returning NULL pointer

evas_xlib_image_dri_native_set should be returning a pointer to an
RGBA_Image on success, or NULL on failure. Returning EINA_FALSE here
leads to an expression which evaluates to zero being treated as a null
pointer constant

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-software-x11: Fix formatting
Chris Michael [Tue, 17 Nov 2015 14:06:51 +0000 (09:06 -0500)]
evas-software-x11: Fix formatting

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-gl: Remove extra parentheses
Chris Michael [Tue, 17 Nov 2015 14:03:53 +0000 (09:03 -0500)]
evas-gl: Remove extra parentheses

clang warns of equality comparison with extraneous parentheses in
these cases. Remove the extra parens as they are not needed anyway

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoector: Add missing EINA_UNUSED for unused function parameter
Chris Michael [Tue, 17 Nov 2015 13:58:58 +0000 (08:58 -0500)]
ector: Add missing EINA_UNUSED for unused function parameter

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoEvas language: Fix language from locale function.
Tom Hacohen [Tue, 17 Nov 2015 12:07:39 +0000 (12:07 +0000)]
Evas language: Fix language from locale function.

This function was trying to infer from the LANG env var, though it should
have just queried the locale all along, as the language we want is the
system's text language, and not necessarily the LANG variable's value.

@fix.

8 years agoEvas text: Remove fixme marker
Subodh Kumar [Tue, 17 Nov 2015 11:24:39 +0000 (11:24 +0000)]
Evas text: Remove fixme marker

Summary:
Remove fixme marker

Algorithm used is good enough to sort
very few number of items, usually 2 to 6
items.

Test Plan: NA

Reviewers: herdsman, cedric, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3312

8 years agoEvas text: Remove tabs for readability
Subodh Kumar [Tue, 17 Nov 2015 11:22:17 +0000 (11:22 +0000)]
Evas text: Remove tabs for readability

Summary: Remove tabs

Test Plan: NA

Reviewers: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3337

8 years agoector: disable NEON build.
Cedric BAIL [Tue, 17 Nov 2015 09:32:25 +0000 (10:32 +0100)]
ector: disable NEON build.

There is more problem with this code, better disable it for now.

@fix

T2851

8 years agoEvas GL: Remove invalid call inside make current pbuffer
Jean-Philippe Andre [Tue, 17 Nov 2015 08:57:18 +0000 (17:57 +0900)]
Evas GL: Remove invalid call inside make current pbuffer

There was some confusion as color_buf is a texture but it was used
as an fbo. Not sure was this call was for.

@fix

8 years agoEvas GL: Ignore compilation warning
Jean-Philippe Andre [Tue, 17 Nov 2015 08:34:23 +0000 (17:34 +0900)]
Evas GL: Ignore compilation warning

Desktop OpenGL doesn't care about the version here (GLES 2 or 3)

8 years agoEvas GL: Fix BadMatch with pbuffer make current
Jean-Philippe Andre [Tue, 17 Nov 2015 08:18:57 +0000 (17:18 +0900)]
Evas GL: Fix BadMatch with pbuffer make current

This is the kind of horrible things you'll encounter when working
with GL. The surface and context need to have matching configuration
otherwise make current will fail, and the only way to get a matching
config is to reuse the config selected to create the context. Gah.

This is the same fix as for EGL. More a hack than a fix, to be honest.

@fix

8 years agoeolian: fix build after removal of --eo option.
Cedric BAIL [Sun, 15 Nov 2015 21:56:15 +0000 (22:56 +0100)]
eolian: fix build after removal of --eo option.

8 years agoecore-evas drm: null global device pointer after free
Mike Blumenkrantz [Mon, 16 Nov 2015 19:10:52 +0000 (14:10 -0500)]
ecore-evas drm: null global device pointer after free

ref T2844

@fix

8 years agoEvas GL: Fix failing make check test case
Jean-Philippe Andre [Mon, 16 Nov 2015 10:43:16 +0000 (19:43 +0900)]
Evas GL: Fix failing make check test case

The version field was not properly set for GLES 1 and 3 (but not tested),
double free() could happen on the API structs, and empty API structs
could be returned.

8 years agoecore-evas wayland: use correct values when updating wayland window size
Mike Blumenkrantz [Fri, 13 Nov 2015 20:09:03 +0000 (15:09 -0500)]
ecore-evas wayland: use correct values when updating wayland window size

by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix

8 years agoemotion webcam: fix check for v4l2 video capture device capability
Stefan Schmidt [Fri, 13 Nov 2015 13:05:25 +0000 (14:05 +0100)]
emotion webcam: fix check for v4l2 video capture device capability

The negation should be uses after checking the capability bit with the &.
Better use parenthesis  to make this work.

Thankls to the sparse sematic parser for spotting this.

8 years agoeina_thread_queue: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:30:42 +0000 (13:30 +0100)]
eina_thread_queue: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.

8 years agoevas polygon: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:29:03 +0000 (13:29 +0100)]
evas polygon: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.

8 years agoecore_evas x engine: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:26:19 +0000 (13:26 +0100)]
ecore_evas x engine: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.

8 years agoevas buffer engine: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:22:16 +0000 (13:22 +0100)]
evas buffer engine: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.
Fix the indent where needed as well.

8 years agoevas textblock: fixed ascent/descent calculation
Minwoo, Lee [Fri, 13 Nov 2015 12:17:37 +0000 (12:17 +0000)]
evas textblock: fixed ascent/descent calculation

Summary:
If textblock has linegap and multi language, ascent/descent calculation is
incorrect.
In _layout_format_ascent_descent_adjust(), descent is accumulated.
(for example, for a line gap of 50, the first line gap is more than 100)

Test Plan:
Textblock has "linegap=50" and multi language (ex.
        "This is a test suite for line gap -
        ഈ ലൈൻ വിടവ് ടെസ്റ്റ് ടെസ്റ്റ് ടെസ്റ്റ് ടെസ്റ്റ് ഒരു പരീക്ഷണ വെയര് ")
Added test suite in evas_test_textblock.c file.

Reviewers: tasn

Subscribers: subodh6129, cedric

Differential Revision: https://phab.enlightenment.org/D3311

8 years agoecore_ipc: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:20:10 +0000 (13:20 +0100)]
ecore_ipc: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.

8 years agogif loader: use Eina_Bool for one-bit bitfield
Stefan Schmidt [Fri, 13 Nov 2015 12:00:04 +0000 (13:00 +0100)]
gif loader: use Eina_Bool for one-bit bitfield

Make sure we are using a unsigned var here. Best go with a Eina_Bool directly.

8 years agoRevert "efl: Fix configure help message for cserve"
Jean-Philippe Andre [Fri, 13 Nov 2015 02:45:42 +0000 (11:45 +0900)]
Revert "efl: Fix configure help message for cserve"

This reverts commit e83fae696056fb3e4b08484224cf215faa6274a5.

cserve2 is enabled by default at build time. It's disabled by
default at runtime. Basically it's always built but never used.

8 years agoector: do get symbol at object construction time.
Cedric BAIL [Thu, 12 Nov 2015 00:08:17 +0000 (16:08 -0800)]
ector: do get symbol at object construction time.

This make it part of the object initialization and will prevent the construction
of the object if the needed cairo function are not fund. So if Ector can create
the object, it can display them.

8 years agoefl: Fix configure help message for multisense
Chris Michael [Thu, 12 Nov 2015 17:42:16 +0000 (12:42 -0500)]
efl: Fix configure help message for multisense

By default, multisense is disabled. The configure help message for
multisense was incorrect because it stated that multisense was enabled
by default

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoefl: Fix configure help message for cserve
Chris Michael [Thu, 12 Nov 2015 17:39:45 +0000 (12:39 -0500)]
efl: Fix configure help message for cserve

By default, cserve2 is disabled. The configure help message for
cserve2 was incorrect in that is said cserve2 was enabled by default.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoEvas text: Change bitfield bool types to Eina_Bool.
Tom Hacohen [Thu, 12 Nov 2015 15:43:43 +0000 (15:43 +0000)]
Evas text: Change bitfield bool types to Eina_Bool.

This is really just a safety measure, as we always just check if the value
is true. However, with char the potential values are -1 and 0, and with
Eina_Bool they are 1 and 0, so fixing that.

Thanks to the "sparse semantic parser" for detecting that, and to Stefan
for reporting.

8 years agoecore_con: fix another case where files have been moved and sitcheck benn broken
Stefan Schmidt [Thu, 12 Nov 2015 14:11:50 +0000 (15:11 +0100)]
ecore_con: fix another case where files have been moved and sitcheck benn broken

This time the move of dns to static_libs in
4f24deac448c648d0b514acefd8bbb8721c9fe04 broke distcheck as the header file was
never shipped with the tarball. I would really appreciate if author and reviewer
would pay more attention.

8 years agoevas: add forgotten file to SOURCES to fix distcheck
Stefan Schmidt [Thu, 12 Nov 2015 14:00:07 +0000 (15:00 +0100)]
evas: add forgotten file to SOURCES to fix distcheck

Added in 8ab190daec637892465f2c5ea08298b3fafc4e98 but forgotten to be added
to the SOURCES.

8 years agoevas/gl_generic: Check for errors when calling tbm surface map/unmap
Dongyeon Kim [Thu, 12 Nov 2015 08:30:53 +0000 (17:30 +0900)]
evas/gl_generic: Check for errors when calling tbm surface map/unmap

tbm_surface_map/unmap might fail and return error, so we need to check
the return value of these APIs.

8 years agoevas/gl: Bind texture with external target for tbm surface
Dongyeon Kim [Thu, 12 Nov 2015 04:56:17 +0000 (13:56 +0900)]
evas/gl: Bind texture with external target for tbm surface

egl images created using tbm surface for native surface set use
GL_TEXTURE_EXTERNAL_OES as texture target, so we should bind to
this target when rendering.
Dynamic hint set using tbm surface also creates egl images, but
as we only use RGB* colorspace for this we can use GL_TEXTURE_2D.
So, keep track of texture target in shader array, and bind to the
appropriate one.
This also fixes the bug that image_data_get only worked when BOTH
sec_image_map and sec_tbm_surface extensions are supported.

8 years agoevas/gl: Do not check for egl errors with glEGLImageTargetTexture2DOES
Dongyeon Kim [Thu, 12 Nov 2015 01:03:10 +0000 (10:03 +0900)]
evas/gl: Do not check for egl errors with glEGLImageTargetTexture2DOES

Summary:
glEGLImageTargetTexture2DOES is a GL extension API, so we need to use
glGetError instead of eglGetError!

8 years agoevas/gl_common: Enable dynamic hint set using tbm surface only when egl extension...
Dongyeon Kim [Wed, 11 Nov 2015 08:06:44 +0000 (17:06 +0900)]
evas/gl_common: Enable dynamic hint set using tbm surface only when egl extension is supported

Summary:
Dynamic hint set using tbm surface can only be used when EGL_TIZEN_image_native_surface
extension is supported by the driver. So check for both tbm surface and egl extension.

8 years agoRevert "Evas GL: Fix crash with dynamic hint set using tbm surface"
Dongyeon Kim [Wed, 11 Nov 2015 07:15:24 +0000 (16:15 +0900)]
Revert "Evas GL: Fix crash with dynamic hint set using tbm surface"

Upcoming patch will fix this crash issue in a more proper way, so I revert this patch here.

This reverts commit 8b1b8d5cf04f5e176cc4de6c04790e90eeac4ff2.

8 years agoecore_con: remove last occurence of EMILE_SSLv3
Vincent Torri [Wed, 11 Nov 2015 14:05:33 +0000 (15:05 +0100)]
ecore_con: remove last occurence of EMILE_SSLv3

This fixes compilation on Windows

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevil: remove useless vc++ code
Vincent Torri [Wed, 11 Nov 2015 14:04:37 +0000 (15:04 +0100)]
evil: remove useless vc++ code

vc++ is not supported anymore

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevil: fix warnings when mingw-w64 4.* is installed
Vincent Torri [Mon, 26 Oct 2015 07:07:57 +0000 (08:07 +0100)]
evil: fix warnings when mingw-w64 4.* is installed

mingw-w64 4.* adds several macros and functions compared to the 3.* version,
so make sure that Evil does not redeclare them

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeo generator: better output whitespace handling with pointers
Daniel Kolesa [Wed, 11 Nov 2015 15:15:08 +0000 (15:15 +0000)]
eo generator: better output whitespace handling with pointers

8 years agoEvas: import Evas types inside canvas Eo file
Daniel Zaoui [Wed, 11 Nov 2015 13:20:39 +0000 (15:20 +0200)]
Evas: import Evas types inside canvas Eo file

8 years agoEvas GL: Minimize internal resource creation
Dongyeon Kim [Thu, 30 Jul 2015 00:14:08 +0000 (09:14 +0900)]
Evas GL: Minimize internal resource creation

Summary:
Evas GL maintains internal resource (XWindow, EGL Window Surface, EGL Context)
per thread to be used for make current when indirect rendering is used.
Currently this internal resource is created regardless of current rendering mode,
and always created when a new Evas GL thread is created by the application.
Internal resource created in a new thread is not freed until evas shuts down
in the main thread, so this causes memory/fd leak.
This can be fixed by creating internal resource only in necessary cases (ie. indirect rendering),
and adding tls resource destructor to be called when thread exits.

8 years agoedje - signal match code - clean up function readablity and fix crash
Carsten Haitzler (Rasterman) [Wed, 11 Nov 2015 05:38:17 +0000 (14:38 +0900)]
edje - signal match code - clean up function readablity and fix crash

this just clens up the _edje_signal_callback_push() to be simpler and
less wordy with the same actual logic, just pointless things like
return; at end of func removed, use tmp instead of gp->matches
everywhere and not just in one section etc.

also set hashed bool to eina true/false i as opposed to sometimes 0,
sometimes eina true/false and also track it religiously as well as
matches array when freed - hunting bug

for whatever reason after these cleanups i can't reproduce a signal
crash i had which seemed to find freed matches in the hash that should
not have been there. (a hash find walking a bucket found freed memory
for the match in the hash entry - should not have been though reading
the code).

@fix

8 years agoEvas GL: Fix crash with dynamic hint set using tbm surface
Joogab Yun [Wed, 11 Nov 2015 05:29:55 +0000 (14:29 +0900)]
Evas GL: Fix crash with dynamic hint set using tbm surface

Summary:
if device support sec_tbm_surface, but doesn't support the EGL_NATIVE_SURFACE_TIZEN
then below api called cause crash!
evas_object_image_content_hint_set(o, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
evas_object_image_alpha_set(o, 0);

1. evas_object_image_content_hint_set(o, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);

 [evas_gl_image.c]
        if (im->im)
          {
             if (evas_cache2_image_cached(&im->im->cache_entry))
               evas_cache2_image_close(&im->im->cache_entry);
             else
               evas_cache_image_drop(&im->im->cache_entry);
             im->im = NULL;  // im->im now NULL!!!
          }

        im->tex = evas_gl_common_texture_dynamic_new(im->gc, im); // im->tex also NULL!!

im->text also NULL!! because If driver does not support the EGL_NATIVE_SURFACE_TIZEN
then below code return NULL at _pool_tex_dynamic_new();

  pt->dyn.img = secsym_eglCreateImage(egldisplay,
                                      EGL_NO_CONTEXT,
                                      EGL_NATIVE_SURFACE_TIZEN,
                                      pt->dyn.buffer, attr);

2. evas_object_image_alpha_set(o, 0);

 [gl_generic/evas_engine.c]
static void * eng_image_alpha_set()
{
  now im->im and im->tex are null so crash happend at eng_image_alpha_set()
}

bug fixed in case of the tbm surface create fails so device cannot support the dynamic hit set,

Test Plan: experdite

Reviewers: jpeg, cedric, spacegrapher

Subscribers: dkdk, scholb.kim, wonsik

Differential Revision: https://phab.enlightenment.org/D3318

8 years agoEvas software_x11: add DRI2-x11 support at image_native_set()
Joogab Yun [Wed, 11 Nov 2015 05:19:11 +0000 (14:19 +0900)]
Evas software_x11: add DRI2-x11 support at image_native_set()

Summary: add DRI2-x11 feature at image_native_set() on Software-x11

This is based on TBM, which means Tizen platform.

Reviewers: spacegrapher, wonsik, raster, jpeg

Subscribers: scholb.kim, dkdk, cedric

Differential Revision: https://phab.enlightenment.org/D3291

8 years agoEvas sw_generic/x11: Fix calls to native_bind_cb/unbind_cb
Wonsik Jung [Wed, 11 Nov 2015 04:22:25 +0000 (13:22 +0900)]
Evas sw_generic/x11: Fix calls to native_bind_cb/unbind_cb

Summary:
In Evas-SW-Generic/X11, native_unbind_cb is not called sometimes, although
native_bind_cb was called.
Some native surface's cases, both native_bind_cb and native_unbind_cb should
be called for mapping and unmapping, eg. with tbm_surface.

@fix

Test Plan:
Evas Native Surface with pixmap sample.
Evas Native Surface with tbm(this sample can work in Tize Device)
elementary_test

Reviewers: raster, jpeg, cedric, spacegrapher

Subscribers: JoogabYun, scholb.kim, dkdk

Differential Revision: https://phab.enlightenment.org/D3317

8 years agoEvasGL: Add error handling for GL_OES_EGL_image/EGL_Image_KHR
Wonsik Jung [Wed, 11 Nov 2015 02:38:29 +0000 (11:38 +0900)]
EvasGL: Add error handling for GL_OES_EGL_image/EGL_Image_KHR

Summary:
Add code for exception case for GL_OES_EGL_image/EGL_Image_KHR
These EvasGL's extension functions does not have the code for exception case.
e.g. EvasGLImage is NULL.

Test Plan: Native Pixmap surface's example is created and changed EvasGLImage's value(e.g. valid data or NULL)

Reviewers: raster, spacegrapher, jpeg

Subscribers: scholb.kim, JoogabYun, dkdk, cedric

Differential Revision: https://phab.enlightenment.org/D3284

8 years agoEvas GL: implement GLES2/GLES3 wrapper functions
DaeKwang Ryu [Wed, 11 Nov 2015 02:36:42 +0000 (11:36 +0900)]
Evas GL: implement GLES2/GLES3 wrapper functions

Summary:
I found some bugs in EvasGL with OpenGL ES conformance test.

6 wrapper functions are added for GLES2,
(glDeleteFramebuffers, glFramebufferRenderbuffer
glFramebufferTexture2D, glGetError
glGetFloatv, glGetFramebufferAttachmentParameteriv)

3 wrapper fucntions are added for GLES3.
(glDrawbuffers, glGetStringi, glReadBuffer)

Test Plan:
GLES3 sample app,
EvasGL(OpenGL ES CTS) for 2.0 is passed.
For 3.0, 10 TCs are failed (Total : 2994TCs).

Reviewers: wonsik, spacegrapher, jpeg

Subscribers: cedric, JoogabYun, scholb.kim

Maniphest Tasks: T2621

Differential Revision: https://phab.enlightenment.org/D3301

8 years agoEvas: Fix bug in evas_cache_image_dirty()
Joogab Yun [Wed, 11 Nov 2015 02:35:49 +0000 (11:35 +0900)]
Evas: Fix bug in evas_cache_image_dirty()

Summary: Code which shouldn't be removed was removed by '800279c23bdb0e925f112c96516dcc96a5487684'

Reviewers: spacegrapher, cedric, jpeg

Reviewed By: jpeg

Subscribers: scholb.kim, dkdk, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D3278

8 years agoevas: add possibility to render current 3D scene to texture in Evas.Canvas3d
Oleksandr Shcherbina [Tue, 10 Nov 2015 23:10:09 +0000 (15:10 -0800)]
evas: add possibility to render current 3D scene to texture in Evas.Canvas3d

Summary:
Refactoring code of functions e3d_drawable_scene_render,
e3d_drawable_scene_render_to_texture,_shadowmap_render to have possibility
render in scene to additional texture
See T2761

Reviewers: Hermet, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3142

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: updated example to include eina_strbuf_substr_get.
Srivardhan Hebbar [Tue, 10 Nov 2015 23:04:19 +0000 (15:04 -0800)]
eina: updated example to include eina_strbuf_substr_get.

Summary:
Depends on D3224

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3226

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: Added API to get substring from Eina_Strbuf.
Srivardhan Hebbar [Tue, 10 Nov 2015 23:04:17 +0000 (15:04 -0800)]
eina: Added API to get substring from Eina_Strbuf.

Summary:
This API is analogous to c++ substr. It returns a Eina_Strbuf with
substring of passed buf.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D3224

8 years agoeina: add test case for eina_strbuf_substr_get.
Srivardhan Hebbar [Tue, 10 Nov 2015 22:58:35 +0000 (14:58 -0800)]
eina: add test case for eina_strbuf_substr_get.

Summary:
Depends on D3224

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3225

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoedje: initialize map.zoom values to fix old *.edj compatibility issues.
Youngbok Shin [Tue, 10 Nov 2015 22:52:57 +0000 (14:52 -0800)]
edje: initialize map.zoom values to fix old *.edj compatibility issues.

Summary:
The initial values for map.zoom.x(y) should be [1.0]: it means 100%.
The values from newly builded edj has been set properly.
But, if a part from old *.edj turns on map feature, map.zoom.x(y) will be set [0.0]: it means 0%.
So, the part will be invisible. We need to initialize these values.
@fix

Test Plan:
1. Build a *.edc file which has a part with [description.map.on: 1;] in EFL 1.13.
2. See it works well in EFL 1.13.
3. Install EFL 1.14 or laters.
4. See the part is disappear.

Reviewers: Hermet, jpeg, cedric

Reviewed By: cedric

Subscribers: jiin.moon

Differential Revision: https://phab.enlightenment.org/D3302

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: add test case for binbuf append function
Vivek Ellur [Tue, 10 Nov 2015 22:44:14 +0000 (14:44 -0800)]
eina: add test case for binbuf append function

Summary:
Added test case for eina_binbuf_append_buffer function

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3304

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: fix error checking of eglBindAPI.
Joogab Yun [Tue, 10 Nov 2015 22:42:58 +0000 (14:42 -0800)]
evas: fix error checking of eglBindAPI.

Summary:
if eglGetError sequencially called, second eglGetError() doesn't give
the information of real Error.

Reviewers: jpeg, spacegrapher, cedric

Reviewed By: cedric

Subscribers: wonsik, scholb.kim, cedric, dkdk

Differential Revision: https://phab.enlightenment.org/D3305

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: fix bug in evas_canvas3d_camera.
se.osadchy [Tue, 10 Nov 2015 22:10:38 +0000 (14:10 -0800)]
evas: fix bug in evas_canvas3d_camera.

Summary: Change Eina_Quaternion to Evas_Vec4.

Reviewers: cedric, Hermet, raster

Differential Revision: https://phab.enlightenment.org/D3313

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore_con: Moving dns.c and dns.h to static_libs.
Srivardhan Hebbar [Tue, 10 Nov 2015 22:01:03 +0000 (14:01 -0800)]
ecore_con: Moving dns.c and dns.h to static_libs.

Summary:
Took the license file from https://github.com/wahern/dns
The dns.c and dns.h are taken from here.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3314

8 years agoecore: thread - need to null check of function pointer
Shinwoo Kim [Tue, 10 Nov 2015 21:45:37 +0000 (13:45 -0800)]
ecore: thread - need to null check of function pointer

Summary: you can meet a segmentation fault without this patch

Test Plan:
please use the following snippet
   Ecore_Thread  *th;
   th = ecore_thread_feedback_run(_heavy_cb, _notify_cb, NULL, NULL, obj, EINA_TRUE);
   ecore_thread_wait(th, 1.0);

Reviewers: raster, Hermet, jaehwan, woohyun, cedric

Reviewed By: cedric

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D3315

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeolian generator: fix test reference files
Daniel Kolesa [Tue, 10 Nov 2015 16:07:41 +0000 (16:07 +0000)]
eolian generator: fix test reference files

8 years agoecore_drm: pass NULL to mmap() instead 0 for address
Stefan Schmidt [Tue, 10 Nov 2015 15:31:36 +0000 (16:31 +0100)]
ecore_drm: pass NULL to mmap() instead 0 for address

The second find of these. The other one was in evas generic loaders.
mmap() expects a void * as address here. If we want to let the kernel
choose the address we should really pass in NULL instead of the
integer 0.

Thanks goes to the sparse semantic parser for pointing this out.

8 years agoeo generator: remove unneeded/harmful code
Daniel Kolesa [Tue, 10 Nov 2015 11:53:02 +0000 (11:53 +0000)]
eo generator: remove unneeded/harmful code

8 years agoEvas GL: Fix oopsie in the shaders selection
Jean-Philippe Andre [Tue, 10 Nov 2015 11:07:46 +0000 (20:07 +0900)]
Evas GL: Fix oopsie in the shaders selection

Thanks @raster

8 years agoEina: Micro-optimize eina_main_loop_is
Jean-Philippe Andre [Fri, 6 Nov 2015 09:34:50 +0000 (18:34 +0900)]
Eina: Micro-optimize eina_main_loop_is

This is useful when Eo calls it to get the current frame stack.
This improves the performance of this function by ~50% which meant
from ~3% total CPU time to ~1.5% CPU time (if called at each eo_do).

Now this patch is a bit irrelevant since eo uses __thread instead.

This optimization is still useful for evas_eglGetCurrentXXX.

8 years agoEfl.h: Add minor comment (doc)
Jean-Philippe Andre [Tue, 3 Nov 2015 03:02:56 +0000 (12:02 +0900)]
Efl.h: Add minor comment (doc)