platform/upstream/efl.git
9 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>
9 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>
9 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.

9 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).

9 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>
9 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>
9 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>
9 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>
9 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.

9 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

9 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

9 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

9 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

9 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)

9 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

9 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.

9 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

9 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.

9 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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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

9 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.

9 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.

9 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.

9 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.

9 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>
9 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>
9 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.

9 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.

9 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.

9 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.

9 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.

9 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!

9 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.

9 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.

9 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>
9 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>
9 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>
9 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

9 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

9 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.

9 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

9 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

9 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

9 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

9 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

9 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

9 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

9 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>
9 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>
9 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

9 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>
9 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>
9 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>
9 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>
9 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>
9 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

9 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>
9 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

9 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.

9 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

9 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

9 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.

9 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)

9 years agoedje_cc: Allow LOSSY compression without quality param
Jean-Philippe Andre [Fri, 30 Oct 2015 05:30:03 +0000 (14:30 +0900)]
edje_cc: Allow LOSSY compression without quality param

LOSSY quality will then default to 90.

9 years agoEvas: Allow edje_decc to work with ETC images
Jean-Philippe Andre [Fri, 30 Oct 2015 07:41:32 +0000 (16:41 +0900)]
Evas: Allow edje_decc to work with ETC images

This reuses the internal function data_get, data_put, image_save
respecting the border information and adding support for ETC
formats.

@fix

9 years agoEdje: Directly embed TGV files inside EDJ when possible
Jean-Philippe Andre [Fri, 30 Oct 2015 07:41:03 +0000 (16:41 +0900)]
Edje: Directly embed TGV files inside EDJ when possible

This checks that the ETC format is the same, and then proceeds
to simply stuff in the TGV file inside the EDJ as an "edje/image/n"

This will save a huge amount of time since now you just need
to encode an image once to TGV (ETC1 or ETC2) and you can reuse it
directly without re-encoding.

To use this, convert images with ecore_evas_convert and then
add them to EDC with the ".tgv" extension and the proper LOSSY format.
The quality argument will then be ignored.

@feature

9 years agoEvas: Add some internal engine APIs
Jean-Philippe Andre [Thu, 29 Oct 2015 12:46:08 +0000 (21:46 +0900)]
Evas: Add some internal engine APIs

- image_file_colorspace_get
   This will be used to determine the best loading format, especially
   targeted at edje_cc / edje_decc so we can avoid ETC re-encoding.

- image_data_has
   Checks whether the image is currently loaded in (CPU) memory,
   and also returns the current colorspace.

9 years agoEvas GL: Optimize out calls to eglGetCurrent from the main loop
Jean-Philippe Andre [Fri, 6 Nov 2015 08:50:22 +0000 (17:50 +0900)]
Evas GL: Optimize out calls to eglGetCurrent from the main loop

This is an optimization for EGL only and for the main loop only.

eglGetCurrent{Display,Context,Surface} are expensive calls (they
shouldn't be, but they are). eglMakeCurrent is also very expensive,
so we want as much as possible to avoid calling those functions.
Store the pointers for the main loop as static variables.

Valgrind stats for a quick scrolling session in elm_test:

Before this patch:
 - eglGetCurrentContext ~ 0.4%
 - eglGetCurrentDisplay ~ 0.4%

After this patch:
 - evas_eglGetCurrentContext ~ 0.02%
 - evas_eglGetCurrentDisplay ~ 0.02%

9 years agoEvas GL: Save all binary shaders during idle_flush
Jean-Philippe Andre [Fri, 6 Nov 2015 08:06:17 +0000 (17:06 +0900)]
Evas GL: Save all binary shaders during idle_flush

9 years agoEvas GL: Precompile common shaders
Jean-Philippe Andre [Fri, 6 Nov 2015 07:35:41 +0000 (16:35 +0900)]
Evas GL: Precompile common shaders

The whole list contains 238 shaders. That's a bit too many, but they
really just take up only ~270K on disk (24Mb of uncompressed data).

9 years agoEvas GL: Delete shaders after linking programs
Jean-Philippe Andre [Fri, 6 Nov 2015 06:33:08 +0000 (15:33 +0900)]
Evas GL: Delete shaders after linking programs

The shaders eat up some memory and we don't need them after linking
the shader program.

9 years agoEvas GL: Fix linking to 'context_restore_set'
Jean-Philippe Andre [Fri, 6 Nov 2015 06:28:12 +0000 (15:28 +0900)]
Evas GL: Fix linking to 'context_restore_set'

There was a terribly complex mechanism to call this function
from the gl_x11 engine to gl_common (evas gl core)... and it
simply didn't work because the function pointer would be NULL.

9 years agoEvas GL: Release shader compiler during evas_render_idle_flush
Jean-Philippe Andre [Fri, 6 Nov 2015 05:53:33 +0000 (14:53 +0900)]
Evas GL: Release shader compiler during evas_render_idle_flush

It is safe to release the compiler at any time since the next
call to glCompileShader will restore it. This may even be a no-op
for all we know (this is driver-dependent).

9 years agoEvas GL: Implement runtime generation and load of shaders
Jean-Philippe Andre [Thu, 5 Nov 2015 06:39:32 +0000 (15:39 +0900)]
Evas GL: Implement runtime generation and load of shaders

Instead of generating the shaders at compile-time, do this at
runtime. Also load only the required shaders in memory.

This saves 25000 LOC, lots of strings inside the .so files
and save a non negligible amount of memory since those shader
binaries can weigh a few megabytes in total.

The current shader selection mechanism is a bit complex and
uses eina_hash_int32 but this can be optimized later if it's
deemed too slow.

9 years agoefl - fix eina after misnaming of piblic api
Carsten Haitzler (Rasterman) [Tue, 10 Nov 2015 02:56:01 +0000 (11:56 +0900)]
efl - fix eina after misnaming of piblic api

this fixes 3d77f55f910a844b45019238ed458bf62e6c1c20 which added
eina_normal3_matrix_get in the headers as the api, but the actual func
was eina_normal_matrix3_get.

9 years agoefl: fix build out of tree
Gustavo Lima Chaves [Tue, 10 Nov 2015 02:34:37 +0000 (00:34 -0200)]
efl: fix build out of tree

@fix

9 years agoevas: fix inverted texture coordinate in Evas.Canvas3d.
Oleksandr Shcherbina [Tue, 10 Nov 2015 00:26:57 +0000 (16:26 -0800)]
evas: fix inverted texture coordinate in Evas.Canvas3d.

Summary: Fix T2820

Reviewers: cedric, raster, Hermet

Maniphest Tasks: T2820

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: add test case for file statat function.
Vivek Ellur [Tue, 10 Nov 2015 00:26:21 +0000 (16:26 -0800)]
eina: add test case for file statat function.

Summary:
Added test case for eina_file_statat function

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

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: add test case for eina list search function.
Vivek Ellur [Tue, 10 Nov 2015 00:22:21 +0000 (16:22 -0800)]
eina: add test case for eina list search function.

Summary:
Added test case for eina_list_search_sorted function

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

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoecore_con: adding test case for ecore_con_url_status_code_get.
Srivardhan Hebbar [Tue, 10 Nov 2015 00:21:42 +0000 (16:21 -0800)]
ecore_con: adding test case for ecore_con_url_status_code_get.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoecore_con: updating example with ecore_con_url_status_code_get function.
Srivardhan Hebbar [Tue, 10 Nov 2015 00:20:59 +0000 (16:20 -0800)]
ecore_con: updating example with ecore_con_url_status_code_get function.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: add test case for list data idx function.
Vivek Ellur [Tue, 10 Nov 2015 00:19:43 +0000 (16:19 -0800)]
eina: add test case for list data idx function.

Summary:
Added test case for eina_list_data_idx function

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

Subscribers: cedric

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

9 years agoeina: add test cases for eina list move functions
Vivek Ellur [Tue, 10 Nov 2015 00:18:58 +0000 (16:18 -0800)]
eina: add test cases for eina list move functions

Summary:
Added test cases for eina_list_move and eina_list_move_list functions

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

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: add test case for list demote function
Vivek Ellur [Tue, 10 Nov 2015 00:18:03 +0000 (16:18 -0800)]
eina: add test case for list demote function

Summary:
Added test case for eina_list_demote_list function

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

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: add test case for eina list reverse iterator
Vivek Ellur [Tue, 10 Nov 2015 00:17:24 +0000 (16:17 -0800)]
eina: add test case for eina list reverse iterator

Summary:
Added test case for eina_list_iterator_reversed_new function

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

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: added test case for matrix4 transpose function
Vivek Ellur [Tue, 10 Nov 2015 00:16:05 +0000 (16:16 -0800)]
eina: added test case for matrix4 transpose function

Summary:
Added test case for eina_matrix4_transpose function

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

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevil: avoid SIGSEV while using strlen function
Yeshwanth Reddivari [Tue, 10 Nov 2015 00:10:59 +0000 (16:10 -0800)]
evil: avoid SIGSEV while using strlen function

Summary: Assertion of (fp!=NULL) should be done before passing fp to strlen funcion

Reviewers: singh.amitesh, Hermet, alok25, mvsovani, vtorri

Subscribers: sachin.dev, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeet: add check for realloc fail.
Srivardhan Hebbar [Tue, 10 Nov 2015 00:10:14 +0000 (16:10 -0800)]
eet: add check for realloc fail.

Summary:
Thought, if realloc fails, its better to fail the test case than
continue.

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

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: preventing unlikely memory leak.
Srivardhan Hebbar [Tue, 10 Nov 2015 00:08:53 +0000 (16:08 -0800)]
evas: preventing unlikely memory leak.

Summary:
Returning from default would result in memory leak of f. Now the memory
is not leaked.

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

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: preventing possible NULL dereference in evas xcb backend.
Srivardhan Hebbar [Tue, 10 Nov 2015 00:07:59 +0000 (16:07 -0800)]
evas: preventing possible NULL dereference in evas xcb backend.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoecore_con: add http_parser static lib.
Srivardhan Hebbar [Mon, 9 Nov 2015 23:52:11 +0000 (15:52 -0800)]
ecore_con: add http_parser static lib.

Summary:
This lib would be used in efl_network_websocket.

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

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoeina: fix wrong API since documentation.
Cedric BAIL [Mon, 9 Nov 2015 23:44:32 +0000 (15:44 -0800)]
eina: fix wrong API since documentation.

9 years agoeina: add an API for base64 encoding.
Srivardhan Hebbar [Mon, 9 Nov 2015 23:43:26 +0000 (15:43 -0800)]
eina: add an API for base64 encoding.

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

Reviewers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: fix some indentation and formatting in textblock.
Subodh Kumar [Mon, 9 Nov 2015 23:39:10 +0000 (15:39 -0800)]
evas: fix some indentation and formatting in textblock.

Summary: Fix some indentation and formatting.

Reviewers: herdsman, tasn

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: unification of color pick mechanism.
Oleksandr Shcherbina [Mon, 9 Nov 2015 23:07:15 +0000 (15:07 -0800)]
evas: unification of color pick mechanism.

Summary:
Use same way using color pick under GLES and not:
 Use GL_RGBA texture insted of GL_RED
 Generate and pass to engine 3 components color of mesh
See T2761

Reviewers: cedric, Hermet

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>