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

8 years agoEo callback call: Remove redundant refcounting.
Tom Hacohen [Thu, 15 Oct 2015 11:18:34 +0000 (12:18 +0100)]
Eo callback call: Remove redundant refcounting.

We already get refcounting from eo_do, no need to have more refcounting here.

8 years agoEo callback call: Simplify callback desc matching code.
Tom Hacohen [Thu, 15 Oct 2015 11:04:05 +0000 (12:04 +0100)]
Eo callback call: Simplify callback desc matching code.

As part of this change, we also error on adding invalid callbacks.

8 years agoEo callbacks: simplify callback call code a bit.
Tom Hacohen [Thu, 15 Oct 2015 08:21:39 +0000 (09:21 +0100)]
Eo callbacks: simplify callback call code a bit.

We don't need this check because it's already checked in the match function.

8 years agoEo benchmarks: Add basic callbacks benchmarks.
Tom Hacohen [Wed, 14 Oct 2015 14:03:33 +0000 (15:03 +0100)]
Eo benchmarks: Add basic callbacks benchmarks.

8 years agoEo benchmarks: Improve benchmarks.
Tom Hacohen [Wed, 14 Oct 2015 09:54:02 +0000 (10:54 +0100)]
Eo benchmarks: Improve benchmarks.

Add more cases, and tune the number of times we test.

8 years agoEo benchmark: Fix super benchmark.
Tom Hacohen [Wed, 14 Oct 2015 09:28:41 +0000 (10:28 +0100)]
Eo benchmark: Fix super benchmark.

8 years agoEo: Reduce call stack memory footprint.
Tom Hacohen [Mon, 12 Oct 2015 16:58:44 +0000 (17:58 +0100)]
Eo: Reduce call stack memory footprint.

We don't really need the eo_id most of the time, and when we do, it's
very easy to get it. It's better if we just don't save the eo_id on the
stack, and just save if it's an object or a class instead.

8 years agoEo: Remove useless optimisation that is more harm than good.
Tom Hacohen [Mon, 12 Oct 2015 16:20:02 +0000 (17:20 +0100)]
Eo: Remove useless optimisation that is more harm than good.

It seems that the idea behind that optimisation, is to save object data
fetching when calling functions implemented by the object's class inside
functions implemented by the object's class. This should be rare enough
not to worth the upkeep, memory reads and memory writes, especially
since for all cases apart of mixins (for which this optimisation won't
work for anyway), the upkeep is more costly than fetching the data
again.

8 years agoEo: use correct mask when checking if an id is a class
Tom Hacohen [Mon, 12 Oct 2015 15:27:55 +0000 (16:27 +0100)]
Eo: use correct mask when checking if an id is a class

8 years agoEo: Optimise object data fetching a bit more.
Tom Hacohen [Mon, 12 Oct 2015 15:21:19 +0000 (16:21 +0100)]
Eo: Optimise object data fetching a bit more.

Removed safety check that is not necessary. This may seem small,
but this in addition to the previous commit, account for around
2% of CPU usage.

8 years agoEo: Optimise object data fetching (minor).
Tom Hacohen [Mon, 12 Oct 2015 15:12:36 +0000 (16:12 +0100)]
Eo: Optimise object data fetching (minor).

Pre-calculate object data offset for improved performance.

8 years agoconfigure: Switch to dev mode again. Merge window for 1.17 is open now
Stefan Schmidt [Mon, 9 Nov 2015 10:45:24 +0000 (11:45 +0100)]
configure: Switch to dev mode again. Merge window for 1.17 is open now

8 years agorelease: Update NEWS and bump version for 1.16.0 release upstream/1.16.0 v1.16.0
Stefan Schmidt [Mon, 9 Nov 2015 09:46:03 +0000 (10:46 +0100)]
release: Update NEWS and bump version for 1.16.0 release

8 years agopo: update po files before release
Stefan Schmidt [Mon, 9 Nov 2015 09:44:06 +0000 (10:44 +0100)]
po: update po files before release

8 years agodoc: Deprecate filter reference page and link to the wiki
Jean-Philippe Andre [Mon, 9 Nov 2015 07:21:45 +0000 (16:21 +0900)]
doc: Deprecate filter reference page and link to the wiki

8 years agodoc: Fixup EDC doc for Evas 3D stuff
Jean-Philippe Andre [Mon, 9 Nov 2015 07:08:10 +0000 (16:08 +0900)]
doc: Fixup EDC doc for Evas 3D stuff

Use same paragraph title format

8 years agodoc: Add EDC doc for desc.proxy, fix for desc.fill
Jean-Philippe Andre [Mon, 9 Nov 2015 06:47:42 +0000 (15:47 +0900)]
doc: Add EDC doc for desc.proxy, fix for desc.fill

8 years agoecore: remove useless printf in Win32 main loop.
Cedric BAIL [Fri, 6 Nov 2015 18:49:33 +0000 (10:49 -0800)]
ecore: remove useless printf in Win32 main loop.

8 years agoeina/efreet: open file with binary file on Windows
Vincent Torri [Fri, 6 Nov 2015 18:30:57 +0000 (19:30 +0100)]
eina/efreet: open file with binary file on Windows

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore-drm: Remove unused function
Chris Michael [Thu, 5 Nov 2015 14:37:48 +0000 (09:37 -0500)]
ecore-drm: Remove unused function

As we no longer have an fd handler to listen on the drm fd, we don't
need this function anymore

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm: Fix issue of hanging in read()
Chris Michael [Thu, 5 Nov 2015 13:59:37 +0000 (08:59 -0500)]
ecore-drm: Fix issue of hanging in read()

Summary: As we already call drmHandleEvent when we pageflip, we don't
need to be using an fd handler to catch them. This should fix T2791

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm: Fix issue of duplicate page flips
Chris Michael [Thu, 5 Nov 2015 13:58:46 +0000 (08:58 -0500)]
ecore-drm: Fix issue of duplicate page flips

Summary: If we already have a pending pageflip scheduled for a given
framebuffer, don't reschedule another one. This also includes a minor
fix when mmap'ing the framebuffer (previously was also mapped
PROT_READ).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas - patch in one more if check for obj layer to avoid shutdown crash
Carsten Haitzler (Rasterman) [Thu, 5 Nov 2015 00:41:35 +0000 (09:41 +0900)]
evas - patch in one more if check for obj layer to avoid shutdown crash

this should fix T2715

8 years agoevas gl-x11: add missing EVAS_NATIVE_SURFACE_WL support
Mike Blumenkrantz [Wed, 4 Nov 2015 19:10:06 +0000 (14:10 -0500)]
evas gl-x11: add missing EVAS_NATIVE_SURFACE_WL support

copy/pasted from other engines, only functional with gles+wayland,
A Thoroughly Tested Calculated Risk™

ref 1dbecbb6764bdd6f477b5cc6624e791a52cfe1d5

8 years agoecore-drm: Check return value of drmHandleEvent and cleanup
Chris Michael [Wed, 4 Nov 2015 17:44:29 +0000 (12:44 -0500)]
ecore-drm: Check return value of drmHandleEvent and cleanup

Summary: drmHandleEvent will return 0 on success, or -1 on error. We
should trap for the error case so that we can cleanup any allocated
callback structures.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-gl-drm: Implement eglSetDamageRegionKHR
Chris Michael [Wed, 4 Nov 2015 16:20:39 +0000 (11:20 -0500)]
evas-gl-drm: Implement eglSetDamageRegionKHR

Summary: In efforts to reduce tearing in the gl_drm engine, implement
support for eglSetDamageRegionKHR to mark parts of a surface as being
damaged.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-gl-drm: Find symlink for eglSetDamageRegionKHR
Chris Michael [Wed, 4 Nov 2015 16:18:25 +0000 (11:18 -0500)]
evas-gl-drm: Find symlink for eglSetDamageRegionKHR

In efforts to reduce tearing in the gl_drm engine, find and link to
the eglSetDamageRegionKHR function so we can mark damaged regions of a
surface

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-evas-gl-drm: Don't create software dumb buffers when using gl
Chris Michael [Wed, 4 Nov 2015 14:43:35 +0000 (09:43 -0500)]
ecore-evas-gl-drm: Don't create software dumb buffers when using gl

Summary: If we are rendering using gl_drm, then we don't need to be
creating extra software dumb buffers.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm: Don't always check fb size against dumb buffer
Chris Michael [Wed, 4 Nov 2015 14:40:54 +0000 (09:40 -0500)]
ecore-drm: Don't always check fb size against dumb buffer

Summary: If we are running using gl_drm, then we don't need to create
software dumb buffers on the drm device. Since we may not have the
dumb buffers (only used in software rendering), then we should not
always be checking the framebuffer size against the dumb buffer size.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-gl-drm: Set Outbuf vsync according to engine
Chris Michael [Wed, 4 Nov 2015 14:24:18 +0000 (09:24 -0500)]
evas-gl-drm: Set Outbuf vsync according to engine

The engine setup code already checks if we are disabling vsync
(defaults to on), so we should be setting the Outbuf vsync according
to what the engine info has

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoEvas: minor whitespace and debug changes
Jean-Philippe Andre [Tue, 3 Nov 2015 09:13:59 +0000 (18:13 +0900)]
Evas: minor whitespace and debug changes

8 years agoEvas Text: avoid SIGSEV while ellipsis recalculation
Vitalii Vorobiov [Wed, 4 Nov 2015 04:58:58 +0000 (13:58 +0900)]
Evas Text: avoid SIGSEV while ellipsis recalculation

Summary:
Fix Segmentation Fault when TEXT part getting resized and when it has
some params (for example ellipsis).

Fix T2640
@fix

Test Plan: Refer to T2640

Reviewers: raster, Hermet, seoz, herdsman, cedric, reutskiy.v.v, NikaWhite

Subscribers: stefan_schmidt, tasn, cedric

Maniphest Tasks: T2640

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

8 years agoeolian: fix function parameter memory leak with value
Daniel Kolesa [Tue, 3 Nov 2015 13:40:17 +0000 (13:40 +0000)]
eolian: fix function parameter memory leak with value

8 years agotests/ecore_con: check saved env variables before setting them again.
Stefan Schmidt [Tue, 3 Nov 2015 11:37:17 +0000 (12:37 +0100)]
tests/ecore_con: check saved env variables before setting them again.

We see segfaults on Jenkins with these two test cases. Better check
before setting them as we had similar problems before on this setup
as XDG_RUNTIME_DIR might never be set.