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

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

8 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

8 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

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

8 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%

8 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

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

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

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

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

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

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

8 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

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

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

8 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>
8 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>
8 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>
8 years agoecore_x: don't add a x selection clear event if the time is the same as when selectio...
indefini [Mon, 9 Nov 2015 23:04:27 +0000 (15:04 -0800)]
ecore_x: don't add a x selection clear event if the time is the same as when selection was made.

Summary:
Without this, selection can get cleared when changing focus.
For example, if we have 2 entries:
The first entry is focused and has a selection.
When we focus the second entry, we want to select all the text.
But the old selection gets unfocused and sends a clear signal
to the new focused entry and it gets unselected.

This should fix T2739.

Reviewers: raster, tasn, devilhorns

Subscribers: herdsman, thiepha, cedric

Maniphest Tasks: T2739

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: add common part of savers and loaders.
Bogdan Devichev [Mon, 9 Nov 2015 23:01:54 +0000 (15:01 -0800)]
evas: add common part of savers and loaders.

Summary:
Common part will make savers and loaders shorter and easier for understanding and refactoring.
https://phab.enlightenment.org/T2713 - due to this task.
Should be merged after https://phab.enlightenment.org/D3030

Should be merged to start adding refactored savers and loaders.

Reviewers: Hermet, raster, Oleksander, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: move model save/load from common to common3d.
Bogdan Devichev [Mon, 9 Nov 2015 22:44:36 +0000 (14:44 -0800)]
evas: move model save/load from common to common3d.

Summary:
Move model save/load to common3d.
Here also will be common algorithms  and structures which will be used in all loaders and savers.
See task https://phab.enlightenment.org/T2713.

Reviewers: cedric, Hermet, raster, Oleksander

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: refactor duplicated data structure with eina_matrix.
se.osadchy [Mon, 9 Nov 2015 22:37:42 +0000 (14:37 -0800)]
evas: refactor duplicated data structure with eina_matrix.

Summary: Move data structure and functionality to eina_matrix from evas_mat.

Reviewers: raster, Hermet, cedric

Subscribers: Oleksander, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoevas: API for Convex Hull in Evas.Canvas3d
perepelits.m [Mon, 9 Nov 2015 22:29:44 +0000 (14:29 -0800)]
evas: API for Convex Hull in Evas.Canvas3d

Summary: This API builds vertex and index data of convex hull around the given mesh.

Reviewers: raster, perepelits.m, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: add API eina_strftime
Shilpa Singh [Mon, 9 Nov 2015 20:42:48 +0000 (12:42 -0800)]
eina: add API eina_strftime

Summary:
Add new API eina_strftime API in eina_str

@feature

Test Plan: test case and example also updated

Reviewers: tasn, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoector: move freetype rasterizer library to itw own directory.
Cedric BAIL [Sun, 8 Nov 2015 22:25:31 +0000 (23:25 +0100)]
ector: move freetype rasterizer library to itw own directory.

8 years agoeina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs
Shilpa Singh [Tue, 3 Nov 2015 22:01:51 +0000 (14:01 -0800)]
eina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs

Summary:
Add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs, these APIs create new tmpstr but reuse the input string memory.

@feature

Test Plan: Test case and example updated

Reviewers: tasn, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: fix computation of sqrt near 1.
Cedric BAIL [Thu, 22 Oct 2015 23:55:10 +0000 (16:55 -0700)]
eina: fix computation of sqrt near 1.

This is still not so good below 1.

@fix

8 years agoeina: add test case for eina_strbuf_tolower API.
Srivardhan Hebbar [Thu, 22 Oct 2015 19:26:31 +0000 (12:26 -0700)]
eina: add test case for eina_strbuf_tolower API.

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

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: updated example to add eina_strbuf_tolower.
Srivardhan Hebbar [Wed, 21 Oct 2015 21:04:46 +0000 (14:04 -0700)]
eina: updated example to add eina_strbuf_tolower.

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

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: add API for converting strbuf to lowercase.
Srivardhan Hebbar [Wed, 21 Oct 2015 21:04:43 +0000 (14:04 -0700)]
eina: add API for converting strbuf to lowercase.

Summary:
This API would be used in efl_network_websocket.

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

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoector: remove inline on function pointer.
Cedric BAIL [Tue, 20 Oct 2015 23:38:52 +0000 (16:38 -0700)]
ector: remove inline on function pointer.

8 years agoector: cleanup code convention of the gradient code.
Cedric BAIL [Tue, 20 Oct 2015 23:36:20 +0000 (16:36 -0700)]
ector: cleanup code convention of the gradient code.

8 years agoector: simplify code by avoiding unecessary intermediate function.
Cedric BAIL [Tue, 20 Oct 2015 22:55:32 +0000 (15:55 -0700)]
ector: simplify code by avoiding unecessary intermediate function.

8 years agoector: follow function naming convention.
Cedric BAIL [Tue, 20 Oct 2015 22:30:06 +0000 (15:30 -0700)]
ector: follow function naming convention.

8 years agoedje entry: remove unreachable dead code
Subodh Kumar [Tue, 20 Oct 2015 19:06:00 +0000 (12:06 -0700)]
edje entry: remove unreachable dead code

Summary:
Remove dead code

If anchor sel is not there, code inside
while can not execute.

Test Plan: NA

Reviewers: tasn, herdsman, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoedje entry: do not create object if theme source is not available.
Subodh Kumar [Tue, 20 Oct 2015 18:57:17 +0000 (11:57 -0700)]
edje entry: do not create object if theme source is not available.

Summary:
Object not created if theme source is not available.

In many case we dont need or define all the
theme sources for entry, even if the sources are
null, edje object is being created.

Test Plan: NA

Reviewers: tasn, herdsman, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore_cocoa/evas_gl_cocoa: fix indent, remove printf, and add DBG messages
Nicolas Aguirre [Thu, 6 Aug 2015 17:06:34 +0000 (19:06 +0200)]
ecore_cocoa/evas_gl_cocoa: fix indent, remove printf, and add DBG messages

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoemile: deprecate the use of SSLv3 with GNUTLS backend to.
Cedric BAIL [Mon, 9 Nov 2015 18:30:00 +0000 (10:30 -0800)]
emile: deprecate the use of SSLv3 with GNUTLS backend to.

8 years agoecore_con: fix warning on Windows
Vincent Torri [Sat, 7 Nov 2015 13:08:32 +0000 (14:08 +0100)]
ecore_con: fix warning on Windows

The macro ERROR is already defined on Windows, renaming it to ERROR_SSL.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoefreet: fix warning
Vincent Torri [Sat, 7 Nov 2015 13:05:56 +0000 (14:05 +0100)]
efreet: fix warning

Commit 0cd59bb1 introduced the use of basename()
which needs libgen.h (hence winsock2.h before) on Windows.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeolian generator: finalize refactoring main.c
Daniel Kolesa [Fri, 6 Nov 2015 15:08:56 +0000 (15:08 +0000)]
eolian generator: finalize refactoring main.c

8 years agoeolian generator: refactor the main function (remove cruft)
Daniel Kolesa [Fri, 23 Oct 2015 13:43:57 +0000 (14:43 +0100)]
eolian generator: refactor the main function (remove cruft)

8 years agoeolian generator: remove useless --eo argument
Daniel Kolesa [Tue, 13 Oct 2015 13:34:47 +0000 (14:34 +0100)]
eolian generator: remove useless --eo argument

8 years agoRevert "Eo: Optimise event callback call"
Tom Hacohen [Mon, 9 Nov 2015 14:06:39 +0000 (14:06 +0000)]
Revert "Eo: Optimise event callback call"

This reverts commit 4b116627c24a43248abf5a34a391241b1c0cf983.

This can't be done, because the freeze state can change from within the
callbacks so you need to check if events are frozen every time.

8 years agoEo: Optimise event callback call
Jérémy Zurcher [Mon, 9 Nov 2015 14:03:03 +0000 (15:03 +0100)]
Eo: Optimise event callback call

 check if the event is frozen before walking the event list

8 years agoEo do: use the __thread directive when available to manage call stack.
Tom Hacohen [Fri, 16 Oct 2015 14:13:51 +0000 (15:13 +0100)]
Eo do: use the __thread directive when available to manage call stack.

This is faster in most cases, and to be honest, should be much faster
than it is. I don't understand why there's no better directive to mark a
variable as *really* important thread storage that is used all the time.

8 years agoEo: Remove extra paranoid-never could happen safety checks.
Tom Hacohen [Fri, 16 Oct 2015 09:51:19 +0000 (10:51 +0100)]
Eo: Remove extra paranoid-never could happen safety checks.

I was not able to reach those without arbitrary memory corruption, but
in that case we are in trouble anyway.

8 years agoEo: Reorganise some of the code and cleanup.
Tom Hacohen [Fri, 16 Oct 2015 09:08:33 +0000 (10:08 +0100)]
Eo: Reorganise some of the code and cleanup.

This is cleaner and makes more sense.

8 years agoEo: Removed weird unneeded condition.
Tom Hacohen [Thu, 15 Oct 2015 17:38:32 +0000 (18:38 +0100)]
Eo: Removed weird unneeded condition.

8 years agoEo: Move op resolve check to where it belongs (out of hot path).
Tom Hacohen [Thu, 15 Oct 2015 17:03:27 +0000 (18:03 +0100)]
Eo: Move op resolve check to where it belongs (out of hot path).

It was put in the wrong place. It should abort early if it detects we
can't resolve, and shouldn't check it if we already know it's OK.

8 years agoEo unref: Decrease amount of checks and hint branch prediction.
Tom Hacohen [Thu, 15 Oct 2015 16:51:20 +0000 (17:51 +0100)]
Eo unref: Decrease amount of checks and hint branch prediction.

This may look minor, but this is such a hot path, that this actually
speeds things up a bit.

8 years agoEo: Split object checking from class checking and simplify.
Tom Hacohen [Thu, 15 Oct 2015 11:56:15 +0000 (12:56 +0100)]
Eo: Split object checking from class checking and simplify.

The check there was wrong for objects anyway, and was ultra conservative
for classes.

8 years agoEo callback call: Remove redundant safety checks.
Tom Hacohen [Thu, 15 Oct 2015 11:22:14 +0000 (12:22 +0100)]
Eo callback call: Remove redundant safety checks.

This is already being checked by eo_do, no need to duplicate this here.