[EGIT] [core/efl] efl-1.14 01/01: Eolian/Generator: fix enums generation

2015-05-07 Thread Daniel Zaoui
jackdanielz pushed a commit to branch efl-1.14.

http://git.enlightenment.org/core/efl.git/commit/?id=6c5d0b6f6be1937b2d00d30e19cac05fb0e7740f

commit 6c5d0b6f6be1937b2d00d30e19cac05fb0e7740f
Author: Daniel Zaoui daniel.za...@samsung.com
Date:   Wed May 6 20:41:59 2015 +0300

Eolian/Generator: fix enums generation

Typedef word was not generated for enums. Camel case was not respected
for type definition.
Tests have been updated to check enums generation.

@fix T2400
---
 src/bin/eolian/types_generator.c| 19 +++
 src/tests/eolian/data/typedef.eo| 17 +
 src/tests/eolian/data/typedef_ref.c | 16 
 3 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/src/bin/eolian/types_generator.c b/src/bin/eolian/types_generator.c
index 6f11be5..15bf535 100644
--- a/src/bin/eolian/types_generator.c
+++ b/src/bin/eolian/types_generator.c
@@ -4,6 +4,7 @@
 
 #include Eina.h
 #include string.h
+#include ctype.h
 
 #include Eolian.h
 #include types_generator.h
@@ -22,7 +23,11 @@ _concat_name(const Eolian_Type *tp)
name = eolian_type_name_get(tp);
if (name) eina_strbuf_append_printf(buf, %s, name);
if (eina_strbuf_length_get(buf))
-  str = eina_strbuf_string_steal(buf);
+ {
+char *tmp = str = eina_strbuf_string_steal(buf);
+*tmp = toupper(*tmp);
+while (*tmp) if (*tmp++ == '_'  *tmp) *tmp = toupper(*tmp);
+ }
eina_strbuf_free(buf);
return str;
 }
@@ -118,14 +123,11 @@ _type_generate(const Eolian_Type *tp, Eina_Bool 
in_typedef, Eina_Bool full)
break;
 }
   char *pre = NULL;
-  eina_strbuf_append_printf(buf, enum %s {\n, name);
+  eina_strbuf_append_printf(buf, typedef enum\n{\n);
   if (eolian_type_enum_legacy_prefix_get(tp))
-{
-   pre = strdup(eolian_type_enum_legacy_prefix_get(tp));
-   free(name);
-}
+pre = strdup(eolian_type_enum_legacy_prefix_get(tp));
   else
-pre = name;
+pre = strdup(name);
   eina_str_toupper(pre);
   Eina_Iterator *members = eolian_type_enum_fields_get(tp);
   Eina_Bool next = eina_iterator_next(members, (void**)member);
@@ -162,10 +164,11 @@ _type_generate(const Eolian_Type *tp, Eina_Bool 
in_typedef, Eina_Bool full)
if (desc) eina_strbuf_append_printf(buf,  /** %s */, 
desc);
eina_strbuf_append(buf, \n);
 }
+  eina_strbuf_append_printf(buf, } %s, name);
   eina_strbuf_free(membuf);
+  free(name);
   free(pre);
   eina_iterator_free(members);
-  eina_strbuf_append(buf, });
   break;
}
   default:
diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo
index 4044740..906ebe4 100644
--- a/src/tests/eolian/data/typedef.eo
+++ b/src/tests/eolian/data/typedef.eo
@@ -1,6 +1,23 @@
 type Evas.Coord: int; /* Simple type definition */
 type List_Objects: own(listEo **); /* A little more complex */
 
+enum Enum.Bar
+{
+   legacy: bar;
+   first_item  = 0,
+   second_item,
+   last_item
+}
+
+enum Elm.Object.Select_mode
+{
+   default = 0,
+   always,
+   none,
+   display_only,
+   max
+}
+
 class Typedef {
methods {
   foo {
diff --git a/src/tests/eolian/data/typedef_ref.c 
b/src/tests/eolian/data/typedef_ref.c
index a47b9c1..791d221 100644
--- a/src/tests/eolian/data/typedef_ref.c
+++ b/src/tests/eolian/data/typedef_ref.c
@@ -15,6 +15,22 @@ typedef int Evas_Coord;
 
 typedef Eina_List *List_Objects;
 
+typedef enum
+{
+  BAR_FIRST_ITEM = 0,
+  BAR_SECOND_ITEM,
+  BAR_LAST_ITEM
+} Enum_Bar;
+
+typedef enum
+{
+  ELM_OBJECT_SELECT_MODE_DEFAULT = 0,
+  ELM_OBJECT_SELECT_MODE_ALWAYS,
+  ELM_OBJECT_SELECT_MODE_NONE,
+  ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY,
+  ELM_OBJECT_SELECT_MODE_MAX
+} Elm_Object_Select_Mode;
+
 
 #endif
 #define TYPEDEF_CLASS typedef_class_get()

-- 




[EGIT] [core/efl] master 23/55: eina: add CRC implementation to Eina module.

2015-05-07 Thread vivek
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a2f2d942c6e49e74990a0c56d38de343cf42d696

commit a2f2d942c6e49e74990a0c56d38de343cf42d696
Author: vivek vivek.el...@samsung.com
Date:   Wed Apr 22 15:34:33 2015 +0200

eina: add CRC implementation to Eina module.

Summary:
Added eina_crc function in eina to calculate crc for the key passed and
added eina_hash_crc function for hashing using crc

Signed-off-by: vivek vivek.el...@samsung.com

Reviewers: Sergeant_Whitespace, cedric

Reviewed By: cedric

Subscribers: Sergeant_Whitespace, cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/Makefile_Eina.am|   6 +-
 src/lib/eina/Eina.h |   1 +
 src/lib/eina/eina_crc.c | 320 
 src/lib/eina/eina_crc.h |  43 +++
 4 files changed, 368 insertions(+), 2 deletions(-)

diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am
index ebde225..160e7a9 100644
--- a/src/Makefile_Eina.am
+++ b/src/Makefile_Eina.am
@@ -87,7 +87,8 @@ lib/eina/eina_cow.h \
 lib/eina/eina_inline_unicode.x \
 lib/eina/eina_thread_queue.h \
 lib/eina/eina_matrix.h \
-lib/eina/eina_quad.h
+lib/eina/eina_quad.h \
+lib/eina/eina_crc.h
 
 lib_eina_libeina_la_SOURCES = \
 lib/eina/eina_abi.c \
@@ -144,7 +145,8 @@ lib/eina/eina_private.h \
 lib/eina/eina_strbuf_common.h \
 lib/eina/eina_thread_queue.c \
 lib/eina/eina_matrix.c \
-lib/eina/eina_quad.c
+lib/eina/eina_quad.c \
+lib/eina/eina_crc.c
 
 # Will be back for developper after 1.2
 # lib/eina/eina_model.c \
diff --git a/src/lib/eina/Eina.h b/src/lib/eina/Eina.h
index 0f6851a..672c094 100644
--- a/src/lib/eina/Eina.h
+++ b/src/lib/eina/Eina.h
@@ -263,6 +263,7 @@ extern C {
 #include eina_cow.h
 #include eina_thread_queue.h
 #include eina_matrix.h
+#include eina_crc.h
 
 #ifdef __cplusplus
 }
diff --git a/src/lib/eina/eina_crc.c b/src/lib/eina/eina_crc.c
new file mode 100644
index 000..29ec08c
--- /dev/null
+++ b/src/lib/eina/eina_crc.c
@@ -0,0 +1,320 @@
+#ifdef HAVE_CONFIG_H
+# include config.h
+#endif
+
+#include stdio.h
+#include stdlib.h
+#include stdint.h
+#include string.h
+
+#include eina_crc.h
+
+#define POLYNOMIAL 0xEDB88320
+
+static const unsigned int table[8][256] =
+{
+   {
+  
0x,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,
+  
0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,
+  
0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,
+  
0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,
+  
0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,
+  
0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,
+  
0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,
+  
0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,
+  
0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433,
+  
0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01,
+  
0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,
+  
0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,
+  
0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,
+  
0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,
+  
0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F,
+  
0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD,
+  
0xEDB88320,0x9ABFB3B6,0x03B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x04DB2615,0x73DC1683,
+  
0xE3630B12,0x94643B84,0x0D6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0x0A00AE27,0x7D079EB1,
+  
0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7,
+  
0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5,
+  
0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B,
+  
0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79,
+  
0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F,
+  
0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D,
+  
0x9B64C2B0,0xEC63F226,0x756AA39C,0x026D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x05005713,
+  
0x95BF4A82,0xE2B87A14,0x7BB12BAE,0x0CB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0x0BDBDF21,
+  
0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,

[EGIT] [core/efl] master 13/55: ecore_con: remove warning when not testing ftp/http push.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=68343123c1c5710da165bb9b1184b2ea53dd078b

commit 68343123c1c5710da165bb9b1184b2ea53dd078b
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Wed Apr 15 17:45:09 2015 +0200

ecore_con: remove warning when not testing ftp/http push.
---
 src/tests/ecore_con/ecore_con_test_ecore_con_url.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/ecore_con/ecore_con_test_ecore_con_url.c 
b/src/tests/ecore_con/ecore_con_test_ecore_con_url.c
index 1732b3f..ec27523 100644
--- a/src/tests/ecore_con/ecore_con_test_ecore_con_url.c
+++ b/src/tests/ecore_con/ecore_con_test_ecore_con_url.c
@@ -11,7 +11,7 @@
 #include unistd.h
 
 #define COOKIEJAR testcookieXX.jar
-#define DEFAULT_LINK www.google.com 
+#define DEFAULT_LINK www.google.com
 
 typedef struct _url_test
 {

-- 




[EGIT] [core/efl] master 03/55: autotools: enable make check per individual modules.

2015-05-07 Thread kabeer khan
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=35119e7bfdc7c13c2041293f3d0b2ebe1fb7c313

commit 35119e7bfdc7c13c2041293f3d0b2ebe1fb7c313
Author: kabeer khan kabeer.k...@samsung.com
Date:   Wed Apr 15 16:58:11 2015 +0200

autotools: enable make check per individual modules.

Currently make check runs tests of whole EFL.Enabled running
of tests of individual modules by make check-modulename

Signed-off-by: kabeer khan kabeer.k...@samsung.com
Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 Makefile.am | 69 +
 src/Makefile_Ecore.am   |  5 +++
 src/Makefile_Ecore_Audio_Cxx.am |  6 
 src/Makefile_Ecore_Con.am   |  6 
 src/Makefile_Ecore_Cxx.am   | 12 +++
 src/Makefile_Ector.am   |  6 
 src/Makefile_Edje.am|  6 
 src/Makefile_Edje_Cxx.am|  6 
 src/Makefile_Eet.am |  6 
 src/Makefile_Eet_Cxx.am |  7 +
 src/Makefile_Eeze.am|  7 +
 src/Makefile_Efreet.am  |  6 
 src/Makefile_Eina.am|  6 
 src/Makefile_Eina_Cxx.am|  6 
 src/Makefile_Eio.am |  6 
 src/Makefile_Eldbus.am  |  6 
 src/Makefile_Eldbus_Cxx.am  |  6 
 src/Makefile_Emile.am   |  6 
 src/Makefile_Eo.am  | 45 +++
 src/Makefile_Eolian.am  |  6 
 src/Makefile_Eolian_Cxx.am  |  6 
 src/Makefile_Evas.am|  6 
 src/Makefile_Evas_Cxx.am|  6 
 23 files changed, 247 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index a756511..4bc6def 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -432,6 +432,75 @@ endif
 if EFL_ENABLE_COVERAGE
@$(MAKE) $(AM_MAKEFLAGS) lcov-report
 endif
+
+check: override DISABLE_SUBTESTS = 1
+check:
+   ifeq($(DISABLE_SUBTESTS), 1)
+   make check-recursive
+   endif
+
+check-eina:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eina
+check-eina-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eina-cxx
+check-ecore:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore
+check-ecore-audio-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-audio-cxx
+check-ecore-con:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-con
+check-ecore-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-cxx
+check-ecore-cxx-compile:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-cxx-compile
+check-ector:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-ector
+check-edje:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-edje
+check-edje-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-edje-cxx
+check-eet:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eet
+check-eet-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eet-cxx
+check-eeze:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eeze
+check-efreet:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-efreet
+check-eio:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eio
+check-eldbus:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eldbus
+check-eldbus-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eldbus-cxx
+check-emile:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-emile
+check-eo:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo
+check-eo-composite-object:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-composite-object
+check-eo-constructors:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-constructors
+check-eo-function-overrides:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-function-overrides
+check-eo-interface:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-interface
+check-eo-mixin:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-mixin
+check-eo-text-access:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-text-access
+check-eo-signals:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-signals
+check-eo-children:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-children
+check-eolian:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eolian
+check-eolian-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-eolian-cxx
+check-evas:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-evas
+check-evas-cxx:
+   $(MAKE) $(AM_MAKEFLAGS) -C src check-evas-cxx
 endif
 
 # benchmark
diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index 738f929..36d84ec 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -257,6 +257,11 @@ if HAVE_ECORE_FB
 tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_fb.c
 endif
 
+check-ecore:
+   check_PROGRAMS=tests/ecore/ecore_suite
+   make check TESTS=tests/ecore/ecore_suite
+
+check-ecore: override DISABLE_SUBTESTS = 0
 endif
 
 EXTRA_DIST += \
diff --git a/src/Makefile_Ecore_Audio_Cxx.am b/src/Makefile_Ecore_Audio_Cxx.am
index d31d3ec..383228f 100644
--- a/src/Makefile_Ecore_Audio_Cxx.am
+++ b/src/Makefile_Ecore_Audio_Cxx.am
@@ -45,6 +45,12 @@ tests_ecore_audio_cxx_cxx_compile_test_CPPFLAGS = \
 

[EGIT] [core/efl] master 11/55: evas: implement _op_blend_p_dp_neon and _op_blend_pas_dp_neon in NEON intrinsics.

2015-05-07 Thread Yury Usishchev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9caa6a3597ce5d6cfcb8c99cc4ada4a88f8ad37c

commit 9caa6a3597ce5d6cfcb8c99cc4ada4a88f8ad37c
Author: Yury Usishchev y.usishc...@samsung.com
Date:   Wed Apr 15 17:24:03 2015 +0200

evas: implement _op_blend_p_dp_neon and _op_blend_pas_dp_neon in NEON 
intrinsics.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D2311
---
 .../common/evas_op_blend/op_blend_pixel_neon.c | 245 ++---
 1 file changed, 219 insertions(+), 26 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
index 3c32790..e81466c 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
@@ -1,17 +1,121 @@
+#ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+#include arm_neon.h
+#endif
+#endif
 /* blend pixel -- dst */
 
 #ifdef BUILD_NEON
 static void
 _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
-   DATA32 *e;
-   int alpha;
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-alpha = 256 - (*s  24);
-*d = *s++ + MUL_256(alpha, *d);
-d++;
- });
+   uint16x8_t alpha00_16x8;
+   uint16x8_t alpha01_16x8;
+   uint16x8_t alpha10_16x8;
+   uint16x8_t alpha11_16x8;
+   uint16x8_t d00_16x8;
+   uint16x8_t d01_16x8;
+   uint16x8_t d10_16x8;
+   uint16x8_t d11_16x8;
+   uint32x4_t alpha0_32x4;
+   uint32x4_t alpha1_32x4;
+   uint32x4_t d0_32x4;
+   uint32x4_t d1_32x4;
+   uint32x4_t s0_32x4;
+   uint32x4_t s1_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t alpha0_8x16;
+   uint8x16_t alpha1_8x16;
+   uint8x16_t d0_8x16;
+   uint8x16_t d1_8x16;
+   uint8x16_t s0_8x16;
+   uint8x16_t s1_8x16;
+   uint8x16_t x1_8x16;
+   uint8x16_t x255_8x16;
+   uint8x8_t alpha00_8x8;
+   uint8x8_t alpha01_8x8;
+   uint8x8_t alpha10_8x8;
+   uint8x8_t alpha11_8x8;
+   uint8x8_t d00_8x8;
+   uint8x8_t d01_8x8;
+   uint8x8_t d10_8x8;
+   uint8x8_t d11_8x8;
+
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   x255_8x16 = vdupq_n_u8(0xff);
+
+   DATA32 *start = d;
+   int size = l;
+   DATA32 *end = start + (size  ~7);
+   while (start  end)
+   {
+  s0_32x4 = vld1q_u32(s);
+  s1_32x4 = vld1q_u32(s+4);
+
+  d0_32x4 = vld1q_u32(start);
+  d1_32x4 = vld1q_u32(start+4);
+
+  alpha0_32x4 = vshrq_n_u32(s0_32x4, 24);
+  alpha1_32x4 = vshrq_n_u32(s1_32x4, 24);
+
+  alpha0_32x4 = vmulq_u32(x1_32x4, alpha0_32x4);
+  alpha1_32x4 = vmulq_u32(x1_32x4, alpha1_32x4);
+
+  alpha0_8x16 = vreinterpretq_u8_u32(alpha0_32x4);
+  alpha1_8x16 = vreinterpretq_u8_u32(alpha1_32x4);
+
+  alpha0_8x16 = vsubq_u8(x255_8x16, alpha0_8x16);
+  alpha1_8x16 = vsubq_u8(x255_8x16, alpha1_8x16);
+
+  alpha10_8x8 = vget_low_u8(alpha1_8x16);
+  alpha11_8x8 = vget_high_u8(alpha1_8x16);
+  alpha00_8x8 = vget_low_u8(alpha0_8x16);
+  alpha01_8x8 = vget_high_u8(alpha0_8x16);
+  d0_8x16 = vreinterpretq_u8_u32(d0_32x4);
+  d1_8x16 = vreinterpretq_u8_u32(d1_32x4);
+  d00_8x8 = vget_low_u8(d0_8x16);
+  d01_8x8 = vget_high_u8(d0_8x16);
+  d10_8x8 = vget_low_u8(d1_8x16);
+  d11_8x8 = vget_high_u8(d1_8x16);
+  alpha00_16x8 = vmull_u8(alpha00_8x8, d00_8x8);
+  alpha01_16x8 = vmull_u8(alpha01_8x8, d01_8x8);
+  alpha10_16x8 = vmull_u8(alpha10_8x8, d10_8x8);
+  alpha11_16x8 = vmull_u8(alpha11_8x8, d11_8x8);
+  d00_16x8 = vmovl_u8(d00_8x8);
+  d01_16x8 = vmovl_u8(d01_8x8);
+  d10_16x8 = vmovl_u8(d10_8x8);
+  d11_16x8 = vmovl_u8(d11_8x8);
+  alpha00_16x8 = vaddq_u16(alpha00_16x8, d00_16x8);
+  alpha01_16x8 = vaddq_u16(alpha01_16x8, d01_16x8);
+  alpha10_16x8 = vaddq_u16(alpha10_16x8, d10_16x8);
+  alpha11_16x8 = vaddq_u16(alpha11_16x8, d11_16x8);
+  alpha00_8x8 = vshrn_n_u16(alpha00_16x8,8);
+  alpha01_8x8 = vshrn_n_u16(alpha01_16x8,8);
+  alpha10_8x8 = vshrn_n_u16(alpha10_16x8,8);
+  alpha11_8x8 = vshrn_n_u16(alpha11_16x8,8);
+  alpha0_8x16 = vcombine_u8(alpha00_8x8, alpha01_8x8);
+  alpha1_8x16 = vcombine_u8(alpha10_8x8, alpha11_8x8);
+  s0_8x16 = vreinterpretq_u8_u32(s0_32x4);
+  s1_8x16 = vreinterpretq_u8_u32(s1_32x4);
+  d0_8x16 = vaddq_u8(s0_8x16, alpha0_8x16);
+  d1_8x16 = vaddq_u8(s1_8x16, alpha1_8x16);
+  d0_32x4 = vreinterpretq_u32_u8(d0_8x16);
+  d1_32x4 = vreinterpretq_u32_u8(d1_8x16);
+
+  vst1q_u32(start, d0_32x4);
+  vst1q_u32(start+4, d1_32x4);
+  s+=8;
+  start+=8;
+   }
+   end += (size  7);
+   while (start   end)
+   {
+  int alpha;
+  alpha = 256 - (*s  24);
+  *start = *s++ + MUL_256(alpha, *start);
+  start++;
+   }
 #else
 

[EGIT] [core/efl] master 24/55: eina: add test case for eina_crc function in eina module.

2015-05-07 Thread vivek
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=48dea342409fffcdd824b5d0ed00a180782b3459

commit 48dea342409fffcdd824b5d0ed00a180782b3459
Author: vivek vivek.el...@samsung.com
Date:   Wed Apr 22 15:37:32 2015 +0200

eina: add test case for eina_crc function in eina module.

Summary:
I added test cases using seed 0x, I was not
able to get crc value for different seeds online. Checked some of the 
links, but they are
using entirely different logic and value was not matching for other seed 
value.

Signed-off-by: vivek vivek.el...@samsung.com

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/Makefile_Eina.am   |  3 ++-
 src/tests/eina/eina_suite.c|  1 +
 src/tests/eina/eina_suite.h|  1 +
 src/tests/eina/eina_test_crc.c | 50 ++
 4 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am
index 160e7a9..6303510 100644
--- a/src/Makefile_Eina.am
+++ b/src/Makefile_Eina.am
@@ -285,7 +285,8 @@ tests/eina/eina_test_barrier.c \
 tests/eina/eina_test_tmpstr.c \
 tests/eina/eina_test_trash.c \
 tests/eina/eina_test_lock.c \
-tests/eina/eina_test_xattr.c
+tests/eina/eina_test_xattr.c \
+tests/eina/eina_test_crc.c
 # tests/eina/eina_test_model.c
 
 
diff --git a/src/tests/eina/eina_suite.c b/src/tests/eina/eina_suite.c
index 6e16d8e..1a08480 100644
--- a/src/tests/eina/eina_suite.c
+++ b/src/tests/eina/eina_suite.c
@@ -79,6 +79,7 @@ static const Eina_Test_Case etc[] = {
 #ifdef XATTR_TEST_DIR
{ Xattr, eina_test_xattr },
 #endif
+   {Crc, eina_test_crc },
{ NULL, NULL }
 };
 
diff --git a/src/tests/eina/eina_suite.h b/src/tests/eina/eina_suite.h
index 433d95a..63d76cd 100644
--- a/src/tests/eina/eina_suite.h
+++ b/src/tests/eina/eina_suite.h
@@ -64,5 +64,6 @@ void eina_test_locking(TCase *tc);
 void eina_test_abi(TCase *tc);
 void eina_test_trash(TCase *tc);
 void eina_test_xattr(TCase *tc);
+void eina_test_crc(TCase *tc);
 
 #endif /* EINA_SUITE_H_ */
diff --git a/src/tests/eina/eina_test_crc.c b/src/tests/eina/eina_test_crc.c
new file mode 100644
index 000..34a00f3
--- /dev/null
+++ b/src/tests/eina/eina_test_crc.c
@@ -0,0 +1,50 @@
+#ifdef HAVE_CONFIG_H
+# include config.h
+#endif
+
+#include stdlib.h
+#include stdio.h
+#include string.h
+
+#include eina_suite.h
+#include Eina.h
+
+START_TEST(eina_crc_simple)
+{
+   unsigned int seed = 0x, i, ret;
+   const char *data[] =
+ {
+Hello World,
+This is to test crc,
+4baAsru=A$re.-,
+=-.^Y@~Lp5e1)b^,
+J(uhX4)!Q#2,jr
+ };
+
+   unsigned int result[] =
+ {
+0x4a17b156,
+0x738bec38,
+0xcd56f3c6,
+0x9732147f,
+0x12c660a3
+ };
+   const char *s1 = Hello ;
+   const char *s2 = World;
+
+   for (i = 0; i  sizeof(data) / sizeof(data[0]); ++i)
+ {
+ret = eina_crc(data[i], strlen(data[i]), seed, EINA_TRUE);
+fail_if(ret != result[i]);
+ }
+
+   ret = eina_crc(s1, strlen(s1), 0x, EINA_TRUE);
+   ret = eina_crc(s2, strlen(s2), ret, EINA_FALSE);
+   fail_if(ret != result[0]);
+}
+END_TEST
+
+void eina_test_crc(TCase *tc)
+{
+   tcase_add_test(tc, eina_crc_simple);
+}

-- 




[EGIT] [core/efl] master 12/55: evas: implement _op_blend_mas_c_dp_neon in NEON intrinsics.

2015-05-07 Thread Yury Usishchev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d2c5730b812f32b1e0a193e0011afead5110fc08

commit d2c5730b812f32b1e0a193e0011afead5110fc08
Author: Yury Usishchev y.usishc...@samsung.com
Date:   Wed Apr 15 17:27:58 2015 +0200

evas: implement _op_blend_mas_c_dp_neon in NEON intrinsics.

Reviewers: raster

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D2312
---
 .../evas_op_blend/op_blend_mask_color_neon.c   | 150 ++---
 1 file changed, 128 insertions(+), 22 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
index dbeb063..0bc8c5c 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
@@ -1,3 +1,8 @@
+#ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+#include arm_neon.h
+#endif
+#endif
 #define NEONDEBUG 0
 
 
@@ -20,28 +25,129 @@
 static void
 _op_blend_mas_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m, DATA32 c, DATA32 *d, 
int l) {
 #ifdef BUILD_NEON_INTRINSICS
-   DATA32 *e;
-   int alpha = 256 - (c  24);
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-DATA32 a = *m;
-switch(a)
-  {
-  case 0:
- break;
-  case 255:
- *d = c + MUL_256(alpha, *d);
- break;
-  default:
-   {
-  DATA32 mc = MUL_SYM(a, c);
-  a = 256 - (mc  24);
-  *d = mc + MUL_256(a, *d);
-   }
- break;
-  }
-m++;  d++;
- });
+   uint16x8_t d0_16x8;
+   uint16x8_t d1_16x8;
+   uint16x8_t m_16x8;
+   uint16x8_t mc0_16x8;
+   uint16x8_t mc1_16x8;
+   uint16x8_t temp0_16x8;
+   uint16x8_t temp1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x2_t c_32x2;
+   uint32x2_t m_32x2;
+   uint32x4_t a_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t m_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t a_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t m_8x16;
+   uint8x16_t mc_8x16;
+   uint8x16_t temp_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t a0_8x8;
+   uint8x8_t a1_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t m0_8x8;
+   uint8x8_t m1_8x8;
+   uint8x8_t m_8x8;
+   uint8x8_t mc0_8x8;
+   uint8x8_t mc1_8x8;
+   uint8x8_t temp0_8x8;
+   uint8x8_t temp1_8x8;
+
+   x1_8x16 = vdupq_n_u8(0x1);
+   x255_16x8 = vdupq_n_u16(0xff);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   c_32x2 = vdup_n_u32(c);
+   c_8x8 = vreinterpret_u8_u32(c_32x2);
+
+   DATA32 *start = d;
+   int size = l;
+   DATA32 *end = start + (size  ~7);
+   while (start  end) {
+  int k = *((int *)m);
+  if (k == 0)
+  {
+ m+=4;
+ start+=4;
+ continue;
+  }
+
+  m_32x2 = vld1_lane_u32((DATA32*)m, m_32x2, 0);
+
+  d_32x4 = vld1q_u32(start);
+
+  m_8x8 = vreinterpret_u8_u32(m_32x2);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_8x16 = vreinterpretq_u8_u16(m_16x8);
+  m_8x8 = vget_low_u8(m_8x16);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_32x4 = vreinterpretq_u32_u16(m_16x8);
+
+  m_32x4 = vmulq_u32(m_32x4, x1_32x4);
+  m_8x16 = vreinterpretq_u8_u32(m_32x4);
+  m0_8x8 = vget_low_u8(m_8x16);
+  m1_8x8 = vget_high_u8(m_8x16);
+
+  mc0_16x8 = vmull_u8(m0_8x8, c_8x8);
+  mc1_16x8 = vmull_u8(m1_8x8, c_8x8);
+
+  mc0_16x8 = vaddq_u16(mc0_16x8, x255_16x8);
+  mc1_16x8 = vaddq_u16(mc1_16x8, x255_16x8);
+
+  mc0_8x8 = vshrn_n_u16(mc0_16x8, 8);
+  mc1_8x8 = vshrn_n_u16(mc1_16x8, 8);
+
+  mc_8x16 = vcombine_u8(mc0_8x8, mc1_8x8);
+  a_8x16 = vmvnq_u8(mc_8x16);
+  a_32x4 = vreinterpretq_u32_u8(a_8x16);
+  a_32x4 = vshrq_n_u32(a_32x4, 24);
+  a_32x4 = vmulq_u32(a_32x4, x1_32x4);
+
+  a_8x16 = vreinterpretq_u8_u32(a_32x4);
+  a0_8x8 = vget_low_u8(a_8x16);
+  a1_8x8 = vget_high_u8(a_8x16);
+
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  d0_16x8 = vmovl_u8(d0_8x8);
+  d1_16x8 = vmovl_u8(d1_8x8);
+
+  temp0_16x8 = vmull_u8(a0_8x8, d0_8x8);
+  temp1_16x8 = vmull_u8(a1_8x8, d1_8x8);
+
+  temp0_16x8 = vaddq_u16(temp0_16x8, d0_16x8);
+  temp1_16x8 = vaddq_u16(temp1_16x8, d1_16x8);
+
+  temp0_8x8 = vshrn_n_u16(temp0_16x8,8);
+  temp1_8x8 = vshrn_n_u16(temp1_16x8,8);
+
+  temp_8x16 = vcombine_u8(temp0_8x8, temp1_8x8);
+
+  d_8x16 = vaddq_u8(mc_8x16, temp_8x16);
+
+  d_32x4 = vreinterpretq_u32_u8(d_8x16);
+
+  vst1q_u32(start, d_32x4);
+
+  

[EGIT] [core/efl] master 40/55: eolian: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c4cb972a83b377ec0e2de0ca63214597850d052e

commit c4cb972a83b377ec0e2de0ca63214597850d052e
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 16:52:22 2015 +0200

eolian: remove the need to order the header correctly for Windows.
---
 src/lib/eolian/Eolian.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index d8c5e90..c2e07c5 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -2033,4 +2033,7 @@ EAPI Eina_Bool eolian_variable_is_extern(const 
Eolian_Variable *var);
 } // extern C {
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 04/04: lz4: Update our internal copy to release r128

2015-05-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4314257d8cf9c367cab2333cfdc7b10b0109de90

commit 4314257d8cf9c367cab2333cfdc7b10b0109de90
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Thu May 7 10:52:54 2015 +0200

lz4: Update our internal copy to release r128

Looking through the git log it is unclear which release we used before as 
nobody
stated it there. :/ We updated after the security issues last year so my 
best
guess is that we have something like r119.

To see what changed I now included the NEWS file and also the LICENSE file 
from
upstream. Upstream in now hosted here: https://github.com/Cyan4973/lz4 and
http://www.lz4.info

I recommend STRONGLY that you check if your distro ships liblz4 as an up to
date library package and use the --enable-liblz4 configure option to use the
system version. I consider making the system version default for upcoming
releases and only carry the internal one as fallback for systems that do not
provide it.

Fix T2374
---
 src/Makefile_Emile.am |   4 +-
 src/static_libs/lz4/LICENSE   |  24 ++
 src/static_libs/lz4/NEWS  | 153 +++
 src/static_libs/lz4/README|   7 -
 src/static_libs/lz4/README.md |  19 +
 src/static_libs/lz4/lz4.c | 918 --
 src/static_libs/lz4/lz4.h | 208 +-
 src/static_libs/lz4/lz4hc.c   | 886 +---
 src/static_libs/lz4/lz4hc.h   | 125 +++---
 9 files changed, 1268 insertions(+), 1076 deletions(-)

diff --git a/src/Makefile_Emile.am b/src/Makefile_Emile.am
index 4d6e43f..fe2515a 100644
--- a/src/Makefile_Emile.am
+++ b/src/Makefile_Emile.am
@@ -58,7 +58,9 @@ if ! ENABLE_LIBLZ4
 lib_emile_libemile_la_LIBADD += @LIBLZ4_LIBS@
 endif
 
-EXTRA_DIST += static_libs/lz4/README \
+EXTRA_DIST += static_libs/lz4/README.md \
+static_libs/lz4/LICENSE \
+static_libs/lz4/NEWS \
 static_libs/lz4/lz4.c \
 static_libs/lz4/lz4.h \
 static_libs/lz4/lz4hc.c \
diff --git a/src/static_libs/lz4/LICENSE b/src/static_libs/lz4/LICENSE
new file mode 100644
index 000..b566df3
--- /dev/null
+++ b/src/static_libs/lz4/LICENSE
@@ -0,0 +1,24 @@
+LZ4 Library
+Copyright (c) 2011-2014, Yann Collet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, 
this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/src/static_libs/lz4/NEWS b/src/static_libs/lz4/NEWS
new file mode 100644
index 000..2eeb948
--- /dev/null
+++ b/src/static_libs/lz4/NEWS
@@ -0,0 +1,153 @@
+r128:
+New   : lz4cli sparse file support
+New   : command -m, to compress multiple files in a single command
+Fixed : Restored lz4hc compression ratio (was slightly lower since r124)
+New   : lz4 cli supports long commands
+New   : lz4frame  lz4cli frame content size support
+New   : lz4frame supports skippable frames
+Changed:Default make install directory is /usr/local
+New   : lz4 cli supports pass-through mode
+New   : datagen can generate sparse files
+New   : scan-build tests
+New   : g++ compatibility tests
+New   : arm cross-compilation test
+Fixed : Fuzzer + frametest compatibility with NetBSD (issue #48)
+Added : Visual project directory
+Updated:Man page  Specification
+
+r127:
+N/A   : added a file on SVN
+
+r126:
+New   : lz4frame API is now integrated into liblz4
+Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski
+Fixed : bug within LZ4 HC streaming mode, reported by James Boyle
+Fixed : older compiler don't like nameless unions, reported by Cheyi Lin
+Changed : lz4 is C90 compatible
+Changed : added -pedantic option, fixed a few mminor warnings
+
+r125:
+Changed : endian and alignment code
+Changed : directory structure : new lib directory
+Updated : lz4io, now 

[EGIT] [core/efl] master 03/04: eet: Remove direct usage of lz4 as we use emile for this now.

2015-05-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6d87ac299158702a6a98f015d2096f8b69fcc06a

commit 6d87ac299158702a6a98f015d2096f8b69fcc06a
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Thu May 7 10:28:58 2015 +0200

eet: Remove direct usage of lz4 as we use emile for this now.

Left over from the point where it got migrated to emile.
---
 src/Makefile_Eet.am | 18 --
 1 file changed, 18 deletions(-)

diff --git a/src/Makefile_Eet.am b/src/Makefile_Eet.am
index 5a86321..d38d0bf 100644
--- a/src/Makefile_Eet.am
+++ b/src/Makefile_Eet.am
@@ -21,13 +21,6 @@ static_libs/rg_etc/rg_etc1.c \
 static_libs/rg_etc/rg_etc2.c \
 static_libs/rg_etc/etc2_encoder.c \
 static_libs/rg_etc/rg_etc1.h
-if ! ENABLE_LIBLZ4
-lib_eet_libeet_la_SOURCES += \
-static_libs/lz4/lz4.c \
-static_libs/lz4/lz4.h \
-static_libs/lz4/lz4hc.c \
-static_libs/lz4/lz4hc.h
-endif
 
 lib_eet_libeet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/static_libs/rg_etc \
@@ -36,21 +29,10 @@ lib_eet_libeet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -DPACKAGE_DATA_DIR=\$(datadir)/eet\ \
 @EET_CFLAGS@ \
 @NEON_CFLAGS@
-if ! ENABLE_LIBLZ4
-lib_eet_libeet_la_CPPFLAGS += \
--I$(top_srcdir)/src/static_libs/lz4
-endif
 lib_eet_libeet_la_LIBADD = @EET_LIBS@ @EVIL_LIBS@
-if ENABLE_LIBLZ4
-lib_eet_libeet_la_LIBADD += @LIBLZ4_LIBS@
-endif
 lib_eet_libeet_la_DEPENDENCIES = @EET_INTERNAL_LIBS@
 lib_eet_libeet_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
 
-if ! ENABLE_LIBLZ4
-EXTRA_DIST += static_libs/lz4/README
-endif
-
 ### Binary
 
 bin_PROGRAMS += bin/eet/eet

-- 




[EGIT] [core/efl] master 19/55: evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture.

2015-05-07 Thread Oleksandr Shcherbina
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d88ccf06a5f6ebcfc68dcc21e55a241f64ff9aa9

commit d88ccf06a5f6ebcfc68dcc21e55a241f64ff9aa9
Author: Oleksandr Shcherbina o.shcherb...@samsung.com
Date:   Wed Apr 22 15:19:02 2015 +0200

evas: use Evas_GL_image for generate texture unit for Evas_3D_Texture.

Summary:
Used engine function for load image/data and use texture unit through
Evas_GL_Image object
Used Evas_ColorSpace format instead Evas_3D_Color/Pixel format
Added transformation matrix for adjusting texture unit coordinates in shader
Added property in Evas_3D_Texture for mark possibility get texture without 
atlas
(see https://phab.enlightenment.org/conpherence/54/, I suppose it will done
after this patch)

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/evas/Evas_Eo.h |  38 
 src/lib/evas/canvas/evas_3d_texture.c  |  84 ++--
 src/lib/evas/canvas/evas_3d_texture.eo |  30 ++-
 src/lib/evas/include/evas_3d_utils.h   |  30 +++
 src/lib/evas/include/evas_private.h|  12 +-
 src/modules/evas/engines/gl_common/evas_gl_3d.c| 230 -
 .../evas/engines/gl_common/evas_gl_3d_common.h |   7 +-
 .../evas/engines/gl_common/evas_gl_3d_private.h|  26 ++-
 .../evas/engines/gl_common/evas_gl_3d_shader.c |  72 +++
 .../gl_common/shader_3d/evas_gl_3d_shaders.x   | 214 ++-
 .../evas/engines/gl_common/shader_3d/include.shd   |  14 +-
 .../shader_3d/parallax_occlusion_frag.shd  |  14 +-
 .../gl_common/shader_3d/shadow_map_frag.shd|  12 +-
 src/modules/evas/engines/gl_generic/evas_engine.c  |  60 ++
 .../evas/engines/software_generic/evas_engine.c|   4 +-
 15 files changed, 467 insertions(+), 380 deletions(-)

diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 1e1fb59..2964442 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -698,44 +698,6 @@ typedef enum _Evas_3D_Comparison
 } Evas_3D_Comparison;
 
 /**
- * Color formats of pixel data
- *
- * @since 1.10
- * @ingroup Evas_3D_Types
- */
-typedef enum _Evas_3D_Color_Format
-{
-   /** Color contains full components, red, green, blue and alpha */
-   EVAS_3D_COLOR_FORMAT_RGBA = 0,
-   /** Color contains only red, green and blue components */
-   EVAS_3D_COLOR_FORMAT_RGB,
-   /** Color contains only alpha component */
-   EVAS_3D_COLOR_FORMAT_ALPHA
-} Evas_3D_Color_Format;
-
-/**
- * Pixel formats
- *
- * @since 1.10
- * @ingroup Evas_3D_Types
- */
-typedef enum _Evas_3D_Pixel_Format
-{
-   /** 8-bit pixel with single component */
-   EVAS_3D_PIXEL_FORMAT_8 = 0,
-   /** 16-bit pixel with three components (5-6-5 bit) */
-   EVAS_3D_PIXEL_FORMAT_565,
-   /** 24-bit pixel with three 8-bit components */
-   EVAS_3D_PIXEL_FORMAT_888,
-   /** 32-bit pixel with four 8-bit components */
-   EVAS_3D_PIXEL_FORMAT_,
-   /** 16-bit pixel with four 4-bit components */
-   EVAS_3D_PIXEL_FORMAT_,
-   /** 16-bit pixel with four components (5-5-5-1 bit) */
-   EVAS_3D_PIXEL_FORMAT_5551
-} Evas_3D_Pixel_Format;
-
-/**
  * Wrap modes
  *
  * @since 1.10
diff --git a/src/lib/evas/canvas/evas_3d_texture.c 
b/src/lib/evas/canvas/evas_3d_texture.c
index 314450c..8b68d81 100644
--- a/src/lib/evas/canvas/evas_3d_texture.c
+++ b/src/lib/evas/canvas/evas_3d_texture.c
@@ -234,7 +234,7 @@ _evas_3d_texture_evas_3d_object_update_notify(Eo *obj, 
Evas_3D_Texture_Data *pd)
  if (e-engine.func-texture_new)
{
   pd-engine_data =
- e-engine.func-texture_new(e-engine.data.output);
+ e-engine.func-texture_new(e-engine.data.output, 
pd-atlas_enable);
}
 
  if (pd-engine_data == NULL)
@@ -308,7 +308,6 @@ evas_3d_texture_material_del(Evas_3D_Texture *texture, 
Evas_3D_Material *materia
  eina_hash_set(pd-materials, material, (const void *)(uintptr_t)(count - 
1));
 }
 
-
 EAPI Evas_3D_Texture *
 evas_3d_texture_add(Evas *e)
 {
@@ -324,6 +323,8 @@ EOLIAN static void
 _evas_3d_texture_eo_base_constructor(Eo *obj, Evas_3D_Texture_Data *pd 
EINA_UNUSED)
 {
eo_do_super(obj, MY_CLASS, eo_constructor());
+   pd-atlas_enable = EINA_TRUE;
+
eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_TEXTURE));
 }
 
@@ -335,37 +336,68 @@ _evas_3d_texture_eo_base_destructor(Eo *obj, 
Evas_3D_Texture_Data *pd  EINA_UNUS
 }
 
 EOLIAN static void
-_evas_3d_texture_data_set(Eo *obj EINA_UNUSED, Evas_3D_Texture_Data *pd, 
Evas_3D_Color_Format color_format,
- Evas_3D_Pixel_Format pixel_format, int w, int h, 
const void *data)
+_evas_3d_texture_data_set(Eo *obj, Evas_3D_Texture_Data *pd,
+  

[EGIT] [core/efl] master 53/55: evil: minor formatting in dlfcn.c

2015-05-07 Thread Vincent Torri
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f2aec7ae4b04e039221ed7b1b8f7eb7e427447c8

commit f2aec7ae4b04e039221ed7b1b8f7eb7e427447c8
Author: Vincent Torri vincent.to...@gmail.com
Date:   Sun Apr 26 16:36:08 2015 +0200

evil: minor formatting in dlfcn.c

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/evil/dlfcn.c | 54 ++--
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/src/lib/evil/dlfcn.c b/src/lib/evil/dlfcn.c
index fec541e..4efc91b 100644
--- a/src/lib/evil/dlfcn.c
+++ b/src/lib/evil/dlfcn.c
@@ -22,13 +22,13 @@
 #include dlfcn.h
 
 
-static char *dl_err = NULL;
-static int dl_err_viewed = 0;
+static char *_dl_err = NULL;
+static int _dl_err_viewed = 0;
 
 static void
-get_last_error(char *desc)
+_dl_get_last_error(char *desc)
 {
-   char  *str;
+   char *str;
size_t l1;
size_t l2;
 
@@ -37,20 +37,20 @@ get_last_error(char *desc)
l1 = strlen(desc);
l2 = strlen(str);
 
-   if (dl_err)
- free(dl_err);
+   if (_dl_err)
+ free(_dl_err);
 
-   dl_err = (char *)malloc(sizeof(char) * (l1 + l2 + 1));
-   if (!dl_err)
- dl_err = strdup(not enough resource);
+   _dl_err = (char *)malloc(sizeof(char) * (l1 + l2 + 1));
+   if (!_dl_err)
+ _dl_err = strdup(not enough resource);
else
  {
-memcpy(dl_err, desc, l1);
-memcpy(dl_err + l1, str, l2);
-dl_err[l1 + l2] = '\0';
+memcpy(_dl_err, desc, l1);
+memcpy(_dl_err + l1, str, l2);
+_dl_err[l1 + l2] = '\0';
  }
free(str);
-   dl_err_viewed = 0;
+   _dl_err_viewed = 0;
 }
 
 void *
@@ -62,7 +62,7 @@ dlopen(const char* path, int mode EVIL_UNUSED)
  {
 module = GetModuleHandle(NULL);
 if (!module)
-  get_last_error(GetModuleHandle returned: );
+  _dl_get_last_error(GetModuleHandle returned: );
  }
else
  {
@@ -75,10 +75,10 @@ dlopen(const char* path, int mode EVIL_UNUSED)
 new_path = (char *)malloc(sizeof(char) * (l + 1));
 if (!new_path)
   {
- if (dl_err)
-   free(dl_err);
- dl_err = strdup(not enough resource);
- dl_err_viewed = 0;
+ if (_dl_err)
+   free(_dl_err);
+ _dl_err = strdup(not enough resource);
+ _dl_err_viewed = 0;
  return NULL;
   }
 for (i = 0; i = l; i++)
@@ -101,7 +101,7 @@ dlopen(const char* path, int mode EVIL_UNUSED)
LOAD_WITH_ALTERED_SEARCH_PATH);
 #endif /* ! UNICODE */
 if (!module)
-  get_last_error(LoadLibraryEx returned: );
+  _dl_get_last_error(LoadLibraryEx returned: );
 
 free(new_path);
  }
@@ -116,7 +116,7 @@ dlclose(void* handle)
  return 0;
else
  {
-get_last_error(FreeLibrary returned: );
+_dl_get_last_error(FreeLibrary returned: );
 return -1;
  }
 }
@@ -146,7 +146,7 @@ dlsym(void *handle, const char *symbol)
 modules, sizeof(modules), needed))
   return NULL;
 
-for (i = 0; i  (needed /  sizeof(HMODULE)); i++)
+for (i = 0; i  (needed / sizeof(HMODULE)); i++)
   {
 fp = GetProcAddress(modules[i], new_symbol);
 if (fp) break;
@@ -160,7 +160,7 @@ dlsym(void *handle, const char *symbol)
 #endif /* UNICODE */
 
if (!fp)
- get_last_error(GetProcAddress returned: );
+ _dl_get_last_error(GetProcAddress returned: );
 
return fp;
 }
@@ -221,15 +221,15 @@ dladdr (const void *addr EVIL_UNUSED, Dl_info *info)
 char *
 dlerror (void)
 {
-   if (!dl_err_viewed)
+   if (!_dl_err_viewed)
  {
-dl_err_viewed = 1;
-return dl_err;
+_dl_err_viewed = 1;
+return _dl_err;
  }
else
  {
-if (dl_err)
-  free(dl_err);
+if (_dl_err)
+  free(_dl_err);
 return NULL;
  }
 }

-- 




[EGIT] [core/efl] master 54/55: evil: fix mem leak in dlsym() when using UNICODE

2015-05-07 Thread Vincent Torri
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=00a3de5c1f3268c9b7c98e5be39c3947b105ee6e

commit 00a3de5c1f3268c9b7c98e5be39c3947b105ee6e
Author: Vincent Torri vincent.to...@gmail.com
Date:   Sun Apr 26 16:38:10 2015 +0200

evil: fix mem leak in dlsym() when using UNICODE

@fix

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/evil/dlfcn.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/evil/dlfcn.c b/src/lib/evil/dlfcn.c
index 4efc91b..c220003 100644
--- a/src/lib/evil/dlfcn.c
+++ b/src/lib/evil/dlfcn.c
@@ -144,7 +144,13 @@ dlsym(void *handle, const char *symbol)
 /* TODO: use EnumProcessModulesEx() on Windows = Vista */
 if (!EnumProcessModules(GetCurrentProcess(),
 modules, sizeof(modules), needed))
-  return NULL;
+  {
+#ifdef UNICODE
+ _dl_get_last_error(EnumProcessModules returned: );
+ free((void *)new_symbol);
+#endif /* UNICODE */
+ return NULL;
+  }
 
 for (i = 0; i  (needed / sizeof(HMODULE)); i++)
   {

-- 




[EGIT] [core/efl] master 47/55: evas: implement pixel_color blending functions using NEON intrinsics.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=76a5efe13ae76ce44d02e1f5921db9465e8a739b

commit 76a5efe13ae76ce44d02e1f5921db9465e8a739b
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 23:36:04 2015 +0200

evas: implement pixel_color blending functions using NEON intrinsics.

Summary:
NEON intrinsics can be built both for armv7 and armv8.
Implemented functions:
_op_blend_pan_c_dp_neon
_op_blend_p_can_dp_neon
_op_blend_pan_can_dp_neon
_op_blend_p_caa_dp_neon
_op_blend_pan_caa_dp_neon

Reviewers: raster, cedric

Subscribers: cedric

Projects: #efl

Maniphest Tasks: T2341

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../evas_op_blend/op_blend_pixel_color_neon.c  | 654 +++--
 1 file changed, 465 insertions(+), 189 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
index b1bfc25..aec1c86 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
@@ -1,8 +1,3 @@
-#ifdef BUILD_NEON
-#ifdef BUILD_NEON_INTRINSICS
-#include arm_neon.h
-#endif
-#endif
 /* blend pixel x color -- dst */
 #ifdef BUILD_NEON
 
@@ -202,240 +197,521 @@ _op_blend_p_c_dp_neon(DATA32 * __restrict s, DATA8 *m 
EINA_UNUSED, DATA32 c, DAT
 #endif
 }
 
-static void
-_op_blend_pan_can_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 
*d, int l) {
-   DATA32 *e;
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-*d++ = 0xff00 + MUL3_SYM(c, *s);
-s++;
- });
-}
 
 static void
-_op_blend_pan_caa_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 
*d, int l) {
-#if 1
-   DATA32 *e;
-   DATA32 sc;
-   int alpha;
-   c = 1 + (c  0xff);
-   UNROLL8_PLD_WHILE(d, l, e,
-{
-   sc = MUL_256(c, *s);
-   alpha = 256 - (sc  24);
-   *d = sc + MUL_256(alpha, *d);
-   d++;
-   s++;
-});
-#else // the below neon is buggy!! misses rendering of spans, i think with 
alignment. quick - just disable this.
-#define AP _op_blend_pan_caa_dp_
-   DATA32 *e = d + l, *tmp = (void*)73;
-  asm volatile (
-   .fpu neon  \n\t
-   /* Set up 'c' */
-   vdup.u8 d14, %[c]  \n\t
-   vmov.i8 d15, #1\n\t
-   vaddl.u8   q15, d14, d15   \n\t
-   vshr.u8q15,#1  \n\t
-
-   // Pick a loop
-   andS   %[tmp], %[d], $0xf  \n\t
-   beqAPquadstart   \n\t
-
-   andS   %[tmp], %[d], $0x4  \n\t
-   beqAPdualstart   \n\t
-
-   APsingleloop:  \n\t
-   vld1.32d4[0],  [%[d]]  \n\t
-   vld1.32d0[0],  [%[s]]! \n\t
-
-   // Long version of 'd'
-   vmovl.u8   q8, d4  \n\t
+_op_blend_pan_c_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 *d, 
int l) {
+   uint16x8_t ad0_16x8;
+   uint16x8_t ad1_16x8;
+   uint16x8_t sc0_16x8;
+   uint16x8_t sc1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x4_t ad_32x4;
+   uint32x4_t c_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t mask_32x4;
+   uint32x4_t s_32x4;
+   uint32x4_t sc_32x4;
+   uint8x16_t ad_8x16;
+   uint8x16_t c_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t mask_8x16;
+   uint8x16_t s_8x16;
+   uint8x16_t sc_8x16;
+   uint8x8_t a_8x8;
+   uint8x8_t ad0_8x8;
+   uint8x8_t ad1_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t s0_8x8;
+   uint8x8_t s1_8x8;
+   uint8x8_t sc0_8x8;
+   uint8x8_t sc1_8x8;
+
+   // alpha can only be 0 if color is 0x0. In that case we can just return.
+   // Otherwise we can assume alpha != 0. This allows more optimization in
+   // NEON code.
+
+   if(!c)
+  return;
+
+   unsigned char a;
+   a = ~(c  24) + 1; // 256 - (c  24)
+
+   a_8x8 = vdup_n_u8(a);
+   c_32x4 = vdupq_n_u32(c);
+   c_8x16 = vreinterpretq_u8_u32(c_32x4);
+   c_8x8 = vget_low_u8(c_8x16);
+   x255_16x8 = vdupq_n_u16(0xff);
+   mask_32x4 = vdupq_n_u32(0xff00);
+   mask_8x16 = vreinterpretq_u8_u32(mask_32x4);
+
+   DATA32 *end = d + (l  ~3);
+   while (d  end)
+   {
+  // load 4 elements from d
+  d_32x4 = vld1q_u32(d);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  // multiply MUL_256(a, *d)
+  ad0_16x8 = vmull_u8(a_8x8, d0_8x8);
+  ad1_16x8 = vmull_u8(a_8x8, d1_8x8);
+ 

[EGIT] [core/efl] master 48/55: evas: implement _op_blend_rel_p_c_dp_neon using NEON intrinsics

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d364cbdadd6a4f0d59bcdeead90205e847c84c56

commit d364cbdadd6a4f0d59bcdeead90205e847c84c56
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 23:37:37 2015 +0200

evas: implement _op_blend_rel_p_c_dp_neon using NEON intrinsics

Summary:
NEON intrinsics can be built both for armv7 and armv8.

There were no NEON variant for this function, so it was added with all 
copies to init function.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../evas_op_blend/op_blend_pixel_color_neon.c  | 152 +
 1 file changed, 152 insertions(+)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
index aec1c86..d49562a 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
@@ -808,6 +808,148 @@ init_blend_pixel_color_pt_funcs_neon(void)
 
 #ifdef BUILD_NEON
 
+static void
+_op_blend_rel_p_c_dp_neon(DATA32 *s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 
*d, int l) {
+   uint16x8_t ad0_16x8;
+   uint16x8_t ad1_16x8;
+   uint16x8_t dsc0_16x8;
+   uint16x8_t dsc1_16x8;
+   uint16x8_t sc0_16x8;
+   uint16x8_t sc1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x2_t c_32x2;
+   uint32x4_t ad_32x4;
+   uint32x4_t alpha_32x4;
+   uint32x4_t cond_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t dsc_32x4;
+   uint32x4_t s_32x4;
+   uint32x4_t x0_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t ad_8x16;
+   uint8x16_t alpha_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t dsc_8x16;
+   uint8x16_t s_8x16;
+   uint8x16_t sc_8x16;
+   uint8x16_t x0_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t ad0_8x8;
+   uint8x8_t ad1_8x8;
+   uint8x8_t alpha0_8x8;
+   uint8x8_t alpha1_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t dsc0_8x8;
+   uint8x8_t dsc1_8x8;
+   uint8x8_t s0_8x8;
+   uint8x8_t s1_8x8;
+   uint8x8_t sc0_8x8;
+   uint8x8_t sc1_8x8;
+
+   c_32x2 = vdup_n_u32(c);
+   c_8x8 = vreinterpret_u8_u32(c_32x2);
+   x255_16x8 = vdupq_n_u16(0xff);
+   x0_8x16 = vdupq_n_u8(0x0);
+   x0_32x4 = vreinterpretq_u32_u8(x0_8x16);
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+
+   DATA32 *end = d + (l  ~3);
+   while (d  end)
+   {
+  // load 4 elements from s
+  s_32x4 = vld1q_u32(s);
+  s_8x16 = vreinterpretq_u8_u32(s_32x4);
+  s0_8x8 = vget_low_u8(s_8x16);
+  s1_8x8 = vget_high_u8(s_8x16);
+
+  // load 4 elements from d
+  d_32x4 = vld1q_u32(d);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  // multiply MUL4_SYM(c, *s);
+  sc0_16x8 = vmull_u8(s0_8x8, c_8x8);
+  sc1_16x8 = vmull_u8(s1_8x8, c_8x8);
+  sc0_16x8 = vaddq_u16(sc0_16x8, x255_16x8);
+  sc1_16x8 = vaddq_u16(sc1_16x8, x255_16x8);
+  sc0_8x8 = vshrn_n_u16(sc0_16x8, 8);
+  sc1_8x8 = vshrn_n_u16(sc1_16x8, 8);
+  sc_8x16 = vcombine_u8(sc0_8x8, sc1_8x8);
+
+  // calculate alpha = 256 - (sc  24)
+  alpha_32x4 = vreinterpretq_u32_u8(sc_8x16);
+  alpha_32x4 = vshrq_n_u32(alpha_32x4, 24);
+  alpha_32x4 = vmulq_u32(x1_32x4, alpha_32x4);
+  alpha_8x16 = vreinterpretq_u8_u32(alpha_32x4);
+  alpha_8x16 = vsubq_u8(x0_8x16, alpha_8x16);
+  alpha0_8x8 = vget_low_u8(alpha_8x16);
+  alpha1_8x8 = vget_high_u8(alpha_8x16);
+
+  // multiply MUL_256(alpha, *d);
+  ad0_16x8 = vmull_u8(alpha0_8x8, d0_8x8);
+  ad1_16x8 = vmull_u8(alpha1_8x8, d1_8x8);
+  ad0_8x8 = vshrn_n_u16(ad0_16x8,8);
+  ad1_8x8 = vshrn_n_u16(ad1_16x8,8);
+  ad_8x16 = vcombine_u8(ad0_8x8, ad1_8x8);
+  ad_32x4 = vreinterpretq_u32_u8(ad_8x16);
+
+  // select d when alpha is 0
+  alpha_32x4 = vreinterpretq_u32_u8(alpha_8x16);
+  cond_32x4 = vceqq_u32(alpha_32x4, x0_32x4);
+  ad_32x4 = vbslq_u32(cond_32x4, d_32x4 , ad_32x4);
+
+  // shift (*d  24)
+  dsc_32x4 = vshrq_n_u32(d_32x4, 24);
+  dsc_32x4 = vmulq_u32(x1_32x4, dsc_32x4);
+  dsc_8x16 = vreinterpretq_u8_u32(dsc_32x4);
+  dsc0_8x8 = vget_low_u8(dsc_8x16);
+  dsc1_8x8 = vget_high_u8(dsc_8x16);
+
+  // multiply MUL_256(*d  24, sc);
+  dsc0_16x8 = vmull_u8(dsc0_8x8, sc0_8x8);
+  dsc1_16x8 = vmull_u8(dsc1_8x8, sc1_8x8);
+  dsc0_16x8 = vaddq_u16(dsc0_16x8, x255_16x8);
+  dsc1_16x8 = vaddq_u16(dsc1_16x8, x255_16x8);
+  dsc0_8x8 = vshrn_n_u16(dsc0_16x8, 8);
+  dsc1_8x8 = vshrn_n_u16(dsc1_16x8, 8);
+  dsc_8x16 = vcombine_u8(dsc0_8x8, dsc1_8x8);
+
+  // add up everything
+  dsc_32x4 = vreinterpretq_u32_u8(dsc_8x16);
+  d_32x4 = vaddq_u32(dsc_32x4, ad_32x4);
+
+  // 

[EGIT] [core/efl] master 29/55: ecore: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ce5ccfb5bee5174b168f0df49b75df2ab3849454

commit ce5ccfb5bee5174b168f0df49b75df2ab3849454
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 14:24:48 2015 +0200

ecore: remove the need to order the header correctly for Windows.
---
 src/lib/ecore/Ecore.h  |  4 +++
 src/lib/ecore/ecore_private.h  | 29 +
 src/lib/ecore_audio/Ecore_Audio.h  |  3 +++
 src/lib/ecore_avahi/Ecore_Avahi.h  |  3 +++
 src/lib/ecore_cocoa/Ecore_Cocoa.h  |  6 +++--
 src/lib/ecore_con/Ecore_Con.h  |  3 +++
 src/lib/ecore_drm/Ecore_Drm.h  | 21 +++
 src/lib/ecore_drm/ecore_drm.c  |  1 -
 src/lib/ecore_evas/Ecore_Evas.h|  3 +++
 src/lib/ecore_evas/ecore_evas_private.h| 30 +-
 src/lib/ecore_fb/Ecore_Fb.h|  3 +++
 src/lib/ecore_file/Ecore_File.h|  3 +++
 src/lib/ecore_imf/Ecore_IMF.h  |  3 +++
 src/lib/ecore_imf_evas/Ecore_IMF_Evas.h|  3 +++
 src/lib/ecore_input/Ecore_Input.h  |  3 +++
 src/lib/ecore_input_evas/Ecore_Input_Evas.h|  3 +++
 src/lib/ecore_ipc/Ecore_Ipc.h  |  5 +++-
 src/lib/ecore_psl1ght/Ecore_Psl1ght.h  |  3 +++
 src/lib/ecore_sdl/Ecore_Sdl.h  |  3 +++
 src/lib/ecore_wayland/Ecore_Wayland.h  |  4 +++
 src/lib/ecore_win32/Ecore_Win32.h  |  3 ++-
 src/lib/ecore_x/Ecore_X.h  |  7 +++--
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c| 21 +++
 .../ecore_evas/engines/drm/ecore_evas_drm.c| 22 
 .../ecore_evas/engines/extn/ecore_evas_extn.c  | 22 
 src/modules/ecore_evas/engines/fb/ecore_evas_fb.c  | 22 
 .../engines/psl1ght/ecore_evas_psl1ght.c   | 22 
 .../ecore_evas/engines/sdl/ecore_evas_sdl.c| 22 
 .../engines/wayland/ecore_evas_wayland_egl.c   | 22 
 .../engines/wayland/ecore_evas_wayland_shm.c   | 22 
 .../ecore_evas/engines/win32/ecore_evas_win32.c| 22 
 src/modules/ecore_evas/engines/x/ecore_evas_x.c| 22 
 32 files changed, 352 insertions(+), 13 deletions(-)

diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index a6ac338..e843038 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -361,4 +361,8 @@ extern C {
 #ifdef __cplusplus
 }
 #endif
+
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index afbfeb9..89f6013 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -3,6 +3,32 @@
 
 #include assert.h
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_ECORE_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_ECORE_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 extern int _ecore_log_dom;
 #ifdef  _ECORE_DEFAULT_LOG_DOM
 # undef _ECORE_DEFAULT_LOG_DOM
@@ -422,4 +448,7 @@ extern Eo *_ecore_parent;
 #define ECORE_PARENT_CLASS ecore_parent_class_get()
 const Eo_Class *ecore_parent_class_get(void) EINA_CONST;
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_audio/Ecore_Audio.h 
b/src/lib/ecore_audio/Ecore_Audio.h
index edb9b49..ec1f85b 100644
--- a/src/lib/ecore_audio/Ecore_Audio.h
+++ b/src/lib/ecore_audio/Ecore_Audio.h
@@ -224,4 +224,7 @@ EAPI int ecore_audio_shutdown(void);
  * @}
  */
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_avahi/Ecore_Avahi.h 
b/src/lib/ecore_avahi/Ecore_Avahi.h
index dc70b9a..1ba7443 100644
--- a/src/lib/ecore_avahi/Ecore_Avahi.h
+++ b/src/lib/ecore_avahi/Ecore_Avahi.h
@@ -85,4 +85,7 @@ EAPI const void  *ecore_avahi_poll_get(Ecore_Avahi *handler); 
// return AvahiPol
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_cocoa/Ecore_Cocoa.h 
b/src/lib/ecore_cocoa/Ecore_Cocoa.h
index 3b65001..78d15ce 100644
--- a/src/lib/ecore_cocoa/Ecore_Cocoa.h
+++ b/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -159,15 +159,17 @@ EAPI void 
ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
 int on);
 
 EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
- void *view);
+  void *view);
 
 EAPI int ecore_cocoa_titlebar_height_get(void);
 
 EAPI 

[EGIT] [core/efl] master 45/55: eina: add crc hash function to eina hash module.

2015-05-07 Thread vivek
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1fdc58a58061f044f5a701f8b96af2eb80027b52

commit 1fdc58a58061f044f5a701f8b96af2eb80027b52
Author: vivek vivek.el...@samsung.com
Date:   Tue Apr 28 23:33:56 2015 +0200

eina: add crc hash function to eina hash module.

Summary:
Added eina_hash_crc function in eina hash module to generate hash code
using crc-32.

Signed-off-by: vivek vivek.el...@samsung.com

Reviewers: Sergeant_Whitespace, cedric

Subscribers: Sergeant_Whitespace, cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/eina/eina_hash.h| 11 +++
 src/lib/eina/eina_inline_hash.x | 12 
 2 files changed, 23 insertions(+)

diff --git a/src/lib/eina/eina_hash.h b/src/lib/eina/eina_hash.h
index 460af00..5f953bf 100644
--- a/src/lib/eina/eina_hash.h
+++ b/src/lib/eina/eina_hash.h
@@ -1157,6 +1157,17 @@ static inline int eina_hash_int64(const unsigned long 
long int *pkey,
 static inline int eina_hash_murmur3(const char *key,
int len) EINA_ARG_NONNULL(1);
 
+/**
+ * @brief
+ * Hash function using crc-32 algorithm and and 0xEDB88320 polynomial
+ *
+ * @param key The key to hash
+ * @param len The length of the key
+ * @return The hash value
+ */
+static inline int eina_hash_crc(const char *key,
+   int len) EINA_ARG_NONNULL(1);
+
 #include eina_inline_hash.x
 
 /**
diff --git a/src/lib/eina/eina_inline_hash.x b/src/lib/eina/eina_inline_hash.x
index 630e347..71b0208 100644
--- a/src/lib/eina/eina_inline_hash.x
+++ b/src/lib/eina/eina_inline_hash.x
@@ -19,6 +19,8 @@
 #ifndef EINA_INLINE_HASH_X_
 #define EINA_INLINE_HASH_X_
 
+#include eina_crc.h
+
 EAPI extern unsigned int eina_seed;
 
 /*
@@ -150,4 +152,14 @@ eina_hash_murmur3(const char *key, int len)
 
return _fmix32(h1);
 }
+
+static inline int
+eina_hash_crc(const char *key, int len)
+{
+   unsigned int crc;
+   unsigned int seed = 0x;
+
+   crc = eina_crc(key, len, seed, EINA_TRUE);
+   return (int)crc;
+}
 #endif

-- 




[EGIT] [core/efl] master 42/55: ethumb: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=61e271890731a8563544cc7dfcae40ab00dc35b2

commit 61e271890731a8563544cc7dfcae40ab00dc35b2
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 16:52:48 2015 +0200

ethumb: remove the need to order the header correctly for Windows.
---
 src/lib/ethumb/Ethumb.h   |  7 +--
 src/lib/ethumb_client/Ethumb_Client.h | 12 +++-
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/lib/ethumb/Ethumb.h b/src/lib/ethumb/Ethumb.h
index 5d1fb0c..2e497e1 100644
--- a/src/lib/ethumb/Ethumb.h
+++ b/src/lib/ethumb/Ethumb.h
@@ -565,7 +565,7 @@ EAPI Eina_Bool ethumb_cmp(const Ethumb *e1, const Ethumb 
*e2) EINA_ARG_NONNULL(1
 
 EAPI int ethumb_hash(const void *key, int key_length) EINA_ARG_NONNULL(1) 
EINA_WARN_UNUSED_RESULT EINA_PURE;
 EAPI int ethumb_key_cmp(const void *key1, int key1_length,
-   const void *key2, int key2_length) EINA_ARG_NONNULL(1, 
3) EINA_WARN_UNUSED_RESULT EINA_PURE;
+const void *key2, int key2_length) EINA_ARG_NONNULL(1, 
3) EINA_WARN_UNUSED_RESULT EINA_PURE;
 EAPI unsigned int ethumb_length(const void *key) EINA_PURE 
EINA_WARN_UNUSED_RESULT;
 
   /**
@@ -575,8 +575,11 @@ EAPI unsigned int ethumb_length(const void *key) EINA_PURE 
EINA_WARN_UNUSED_RESU
 /**
  * @}
  */
-
 #ifdef __cplusplus
 }
 #endif
+
+#undef EAPI
+#define EAPI
+
 #endif /* __ETHUMB_H__ */
diff --git a/src/lib/ethumb_client/Ethumb_Client.h 
b/src/lib/ethumb_client/Ethumb_Client.h
index 3c3f95d..1ec8178 100644
--- a/src/lib/ethumb_client/Ethumb_Client.h
+++ b/src/lib/ethumb_client/Ethumb_Client.h
@@ -201,9 +201,9 @@ typedef void (*Ethumb_Client_Async_Error_Cb)(Ethumb_Client 
*ethumbd, void *data)
 typedef struct _Ethumb_Client_Async Ethumb_Client_Async;
 
 EAPI Ethumb_Client_Async *ethumb_client_thumb_async_get(Ethumb_Client *client,
-   
Ethumb_Client_Async_Done_Cb done,
-   
Ethumb_Client_Async_Error_Cb error,
-   const void *data);
+
Ethumb_Client_Async_Done_Cb done,
+
Ethumb_Client_Async_Error_Cb error,
+const void *data);
 EAPI void ethumb_client_thumb_async_cancel(Ethumb_Client *client, 
Ethumb_Client_Async *request);
   /**
  * @}
@@ -212,9 +212,11 @@ EAPI void ethumb_client_thumb_async_cancel(Ethumb_Client 
*client, Ethumb_Client_
 /**
  * @}
  */
-
-
 #ifdef __cplusplus
 }
 #endif
+
+#undef EAPI
+#define EAPI
+
 #endif /* __ETHUMB_CLIENT_H__ */

-- 




[EGIT] [core/efl] master 55/55: evil: fix dladdr() implementation, add 2 unit tests for evil.

2015-05-07 Thread Vincent Torri
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=92ff90ecca98f9e8e66a1f7a3ecf4e46f65913d4

commit 92ff90ecca98f9e8e66a1f7a3ecf4e46f65913d4
Author: Vincent Torri vincent.to...@gmail.com
Date:   Wed Apr 29 10:50:11 2015 +0200

evil: fix dladdr() implementation, add 2 unit tests for evil.

@fix

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/Makefile_Evil.am |  27 ++
 src/lib/evil/dlfcn.c | 173 +++
 src/lib/evil/dlfcn.h |  45 ++
 src/tests/evil/evil_suite.c  | 138 +++
 src/tests/evil/evil_suite.h  |  41 ++
 src/tests/evil/evil_test_dlfcn.c | 132 +
 src/tests/evil/evil_test_main.c  |  37 +
 7 files changed, 545 insertions(+), 48 deletions(-)

diff --git a/src/Makefile_Evil.am b/src/Makefile_Evil.am
index 3c6fd0e..4f9ae3f 100644
--- a/src/Makefile_Evil.am
+++ b/src/Makefile_Evil.am
@@ -113,6 +113,7 @@ bin/evil/evil_test_print.h \
 bin/evil/evil_test_realpath.h \
 bin/evil/evil_test_util.h
 
+
 #suite_SOURCES +=  bin/evil/memcpy_glibc_i686.S # see EXTRA_DIST below!
 
 bin_evil_evil_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EVIL_CFLAGS@
@@ -123,7 +124,33 @@ bin_evil_test_evil_SOURCES = bin/evil/test_evil.c
 bin_evil_test_evil_LDADD = @USE_EVIL_LIBS@
 bin_evil_test_evil_DEPENDENCIES = @USE_EVIL_INTERNAL_LIBS@ @DL_INTERNAL_LIBS@
 
+### Unit tests
+
+if EFL_ENABLE_TESTS
+
+check_PROGRAMS += tests/evil/evil_suite
+TESTS += tests/evil/evil_suite
+
+tests_evil_evil_suite_SOURCES = \
+tests/evil/evil_suite.c \
+tests/evil/evil_suite.h \
+tests/evil/evil_test_dlfcn.c \
+tests/evil/evil_test_main.c
+
+tests_evil_evil_suite_CPPFLAGS = \
+-I$(top_builddir)/src/lib/efl \
+-DTESTS_SRC_DIR=\$(top_srcdir)/src/tests/evil\ \
+-DPACKAGE_BUILD_DIR=\$(abs_top_builddir)/src/tests/evil\ \
+-DTESTS_BUILD_DIR=PACKAGE_BUILD_DIR \
+@CHECK_CFLAGS@ \
+@EVIL_CFLAGS@
+tests_evil_evil_suite_LDADD = @USE_EVIL_LIBS@ @DL_LIBS@ @CHECK_LIBS@
+tests_evil_evil_suite_DEPENDENCIES = @USE_EVIL_INTERNAL_LIBS@ 
@DL_INTERNAL_LIBS@
+
 endif
+
+endif
+
 EXTRA_DIST += \
 lib/evil/regex/regerror.ih \
 lib/evil/regex/engine.ih \
diff --git a/src/lib/evil/dlfcn.c b/src/lib/evil/dlfcn.c
index c220003..ae8687e 100644
--- a/src/lib/evil/dlfcn.c
+++ b/src/lib/evil/dlfcn.c
@@ -171,21 +171,67 @@ dlsym(void *handle, const char *symbol)
return fp;
 }
 
+char *
+dlerror (void)
+{
+   if (!_dl_err_viewed)
+ {
+_dl_err_viewed = 1;
+return _dl_err;
+ }
+   else
+ {
+if (_dl_err)
+  free(_dl_err);
+return NULL;
+ }
+}
+
+#ifdef _GNU_SOURCE
+
+static char _dli_fname[MAX_PATH];
+static char _dli_sname[MAX_PATH]; /* a symbol should have at most 255 char */
+
+static int
+_dladdr_comp(const void *p1, const void *p2)
+{
+   return ( *(int *)p1 - *(int *)p2);
+}
+
 int
 dladdr (const void *addr EVIL_UNUSED, Dl_info *info)
 {
-   TCHAR  tpath[PATH_MAX];
+   TCHAR tpath[PATH_MAX];
MEMORY_BASIC_INFORMATION mbi;
-   char  *path;
+   unsigned char *base;
+   char *path;
size_t length;
-   intret = 0;
+
+   IMAGE_NT_HEADERS *nth;
+   IMAGE_EXPORT_DIRECTORY *ied;
+   DWORD *addresses;
+   WORD *ordinals;
+   DWORD *names;
+   DWORD *tmp;
+   DWORD res;
+   DWORD rva_addr;
+   DWORD i;
 
if (!info)
  return 0;
 
-   length = VirtualQuery(addr, mbi, sizeof(mbi));
-   if (!length)
- return 0;
+   info-dli_fname = NULL;
+   info-dli_fbase = NULL;
+   info-dli_sname = NULL;
+   info-dli_saddr = NULL;
+
+   /* Get the name and base address of the module */
+
+   if (!VirtualQuery(addr, mbi, sizeof(mbi)))
+ {
+_dl_get_last_error(VirtualQuery returned: );
+return 0;
+ }
 
if (mbi.State != MEM_COMMIT)
  return 0;
@@ -193,49 +239,110 @@ dladdr (const void *addr EVIL_UNUSED, Dl_info *info)
if (!mbi.AllocationBase)
  return 0;
 
-   ret = GetModuleFileName((HMODULE)mbi.AllocationBase, (LPTSTR)tpath, 
PATH_MAX);
-   if (!ret)
- return 0;
+   base = (unsigned char *)mbi.AllocationBase;
 
-#ifdef UNICODE
+   if (!GetModuleFileName((HMODULE)base, (LPTSTR)tpath, PATH_MAX))
+ {
+_dl_get_last_error(GetModuleFileName returned: );
+return 0;
+ }
+
+# ifdef UNICODE
path = evil_wchar_to_char(tpath);
-#else
+# else
path = tpath;
-#endif /* ! UNICODE */
+# endif /* ! UNICODE */
 
-   length = strlen (path);
+   length = strlen(path);
if (length = PATH_MAX)
  {
length = PATH_MAX - 1;
path[PATH_MAX - 1] = '\0';
  }
 
-   EVIL_PATH_SEP_UNIX_TO_WIN32(path);
+   memcpy(_dli_fname, path, length + 1);
+   info-dli_fname = (const char *)_dli_fname;
+   info-dli_fbase = base;
 
-   memcpy (info-dli_fname, path, length + 1);
-   info-dli_fbase = NULL;
-   info-dli_sname = NULL;
-   info-dli_saddr = NULL;
+# ifdef UNICODE
+free(path);
+# endif /* ! UNICODE */
 
-#ifdef UNICODE
-   free 

[EGIT] [core/efl] master 35/55: eldbus: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c7d8d83c479f10f67041c6bea7fdeda9bf86045a

commit c7d8d83c479f10f67041c6bea7fdeda9bf86045a
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:13:48 2015 +0200

eldbus: remove the need to order the header correctly for Windows.
---
 src/lib/eldbus/Eldbus.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/eldbus/Eldbus.h b/src/lib/eldbus/Eldbus.h
index 6aeffae..ee11954 100644
--- a/src/lib/eldbus/Eldbus.h
+++ b/src/lib/eldbus/Eldbus.h
@@ -241,4 +241,7 @@ typedef void (*Eldbus_Signal_Cb)(void *data, const 
Eldbus_Message *msg);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 10/55: evas: implement _op_blend_c_dp_neon in NEON intrinsics.

2015-05-07 Thread Yury Usishchev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a30481d27ba5e2dd5ad84cef9f6c55a9c89880a1

commit a30481d27ba5e2dd5ad84cef9f6c55a9c89880a1
Author: Yury Usishchev y.usishc...@samsung.com
Date:   Wed Apr 15 17:22:54 2015 +0200

evas: implement _op_blend_c_dp_neon in NEON intrinsics.

Reviewers: raster, cedric

@feature

Reviewed By: cedric

Subscribers: jpeg, cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../common/evas_op_blend/op_blend_color_neon.c | 92 --
 1 file changed, 86 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
index 2bf14c1..7ba2ffd 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
@@ -1,15 +1,95 @@
+#ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+#include arm_neon.h
+#endif
+#endif
 /* blend color -- dst */
 
 #ifdef BUILD_NEON
 static void
 _op_blend_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 *d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
-DATA32 *e, a = 256 - (c  24);
-UNROLL8_PLD_WHILE(d, l, e,
-  {
- *d = c + MUL_256(a, *d);
- d++;
-  });
+   uint16x8_t temp00_16x8;
+   uint16x8_t temp01_16x8;
+   uint16x8_t temp10_16x8;
+   uint16x8_t temp11_16x8;
+   uint32x4_t temp0_32x4;
+   uint32x4_t temp1_32x4;
+   uint32x4_t c_32x4;
+   uint32x4_t d0_32x4;
+   uint32x4_t d1_32x4;
+   uint8x16_t d0_8x16;
+   uint8x16_t d1_8x16;
+   uint8x16_t temp0_8x16;
+   uint8x16_t temp1_8x16;
+   uint8x8_t alpha_8x8;
+   uint8x8_t d00_8x8;
+   uint8x8_t d01_8x8;
+   uint8x8_t d10_8x8;
+   uint8x8_t d11_8x8;
+   uint8x8_t temp00_8x8;
+   uint8x8_t temp01_8x8;
+   uint8x8_t temp10_8x8;
+   uint8x8_t temp11_8x8;
+
+   // alpha can only be 0 if color is 0x0. In that case we can just return.
+   // Otherwise we can assume alpha != 0. This allows more optimization in
+   // NEON code.
+
+   if(!c)
+  return;
+
+   DATA32 *start = d;
+   int size = l;
+   DATA32 *end = start + (size  ~7);
+
+   unsigned char alpha;
+   alpha = ~(c  24) + 1; // 256 - (c  24)
+   alpha_8x8 = vdup_n_u8(alpha);
+
+   c_32x4 = vdupq_n_u32(c);
+
+   while (start  end)
+   {
+  d0_32x4 = vld1q_u32(start);
+  d1_32x4 = vld1q_u32(start+4);
+  d0_8x16 = vreinterpretq_u8_u32(d0_32x4);
+  d1_8x16 = vreinterpretq_u8_u32(d1_32x4);
+
+  d00_8x8 = vget_low_u8(d0_8x16);
+  d01_8x8 = vget_high_u8(d0_8x16);
+  d10_8x8 = vget_low_u8(d1_8x16);
+  d11_8x8 = vget_high_u8(d1_8x16);
+
+  temp00_16x8 = vmull_u8(alpha_8x8, d00_8x8);
+  temp01_16x8 = vmull_u8(alpha_8x8, d01_8x8);
+  temp10_16x8 = vmull_u8(alpha_8x8, d10_8x8);
+  temp11_16x8 = vmull_u8(alpha_8x8, d11_8x8);
+
+  temp00_8x8 = vshrn_n_u16(temp00_16x8,8);
+  temp01_8x8 = vshrn_n_u16(temp01_16x8,8);
+  temp10_8x8 = vshrn_n_u16(temp10_16x8,8);
+  temp11_8x8 = vshrn_n_u16(temp11_16x8,8);
+
+  temp0_8x16 = vcombine_u8(temp00_8x8, temp01_8x8);
+  temp1_8x16 = vcombine_u8(temp10_8x8, temp11_8x8);
+
+  temp0_32x4 = vreinterpretq_u32_u8(temp0_8x16);
+  temp1_32x4 = vreinterpretq_u32_u8(temp1_8x16);
+
+  d0_32x4 = vaddq_u32(c_32x4, temp0_32x4);
+  d1_32x4 = vaddq_u32(c_32x4, temp1_32x4);
+
+  vst1q_u32(start, d0_32x4);
+  vst1q_u32(start+4, d1_32x4);
+  start+=8;
+   }
+   end += (size  7);
+   while (start   end)
+   {
+  *start = c + MUL_256(alpha, *start);
+  start++;
+   }
 #else
DATA32 *e, *tmp = 0;
 #define AP B_C_DP

-- 




[EGIT] [core/efl] master 04/55: emile: add emile_suite_build function to separate creation of test suite.

2015-05-07 Thread vivek
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a415fa9a7f11db0aa5716772e2a2015d987590e4

commit a415fa9a7f11db0aa5716772e2a2015d987590e4
Author: vivek vivek.el...@samsung.com
Date:   Wed Apr 15 16:59:38 2015 +0200

emile: add emile_suite_build function to separate creation of test suite.

Summary: Signed-off-by: vivek vivek.el...@samsung.com

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/tests/emile/emile_suite.c | 47 ++-
 1 file changed, 28 insertions(+), 19 deletions(-)

diff --git a/src/tests/emile/emile_suite.c b/src/tests/emile/emile_suite.c
index 9ba150f..7d37367 100644
--- a/src/tests/emile/emile_suite.c
+++ b/src/tests/emile/emile_suite.c
@@ -44,7 +44,7 @@ _list_tests(void)
 }
 
 static Eina_Bool
-_use_test(const char *name, int argc, char *argv[])
+_use_test(const char *name, int argc, const char *argv[])
 {
argc--;
argv--;
@@ -58,12 +58,36 @@ _use_test(const char *name, int argc, char *argv[])
return EINA_FALSE;
 }
 
+static Suite *
+emile_suite_build(int argc, const char **argv)
+{
+   TCase *tc;
+   Suite *s;
+   unsigned int i;
+
+   s = suite_create(Emile);
+
+   for (i = 0; i  sizeof(tests) / sizeof(tests[0]); ++i)
+ {
+if (!_use_test(tests[i].name, argc, argv))
+  continue;
+
+tc = tcase_create(tests[i].name);
+tests[i].build(tc);
+suite_add_tcase(s, tc);
+#ifndef _WIN32
+tcase_set_timeout(tc, 0);
+#endif
+ }
+
+   return s;
+}
+
 int
 main(int argc, char *argv[])
 {
SRunner *sr;
Suite *s;
-   unsigned int i;
int failed_count;
int j;
 
@@ -80,24 +104,9 @@ main(int argc, char *argv[])
   return 0;
}
 
-   s = suite_create(Emile);
-
-   for (i = 0; i  sizeof(tests) / sizeof(tests[0]); ++i)
- {
-TCase *tc;
-
-if (!_use_test(tests[i].name, argc, argv))
-  continue;
-
-tc = tcase_create(tests[i].name);
-tests[i].build(tc);
-suite_add_tcase(s, tc);
-#ifndef _WIN32
-tcase_set_timeout(tc, 0);
-#endif
- }
-
+   s = emile_suite_build(argc, (const char **)argv);
sr = srunner_create(s);
+
srunner_set_xml(sr, TESTS_BUILD_DIR /check-results.xml);
srunner_run_all(sr, CK_ENV);
failed_count = srunner_ntests_failed(sr);

-- 




[EGIT] [core/efl] master 51/55: evas: implement _op_blend_rel_mas_c_dp_neon using NEON intrinsics

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ad1076525a519ccc53be8a2a6992c870b857bf4a

commit ad1076525a519ccc53be8a2a6992c870b857bf4a
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 23:40:04 2015 +0200

evas: implement _op_blend_rel_mas_c_dp_neon using NEON intrinsics

Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../evas_op_blend/op_blend_mask_color_neon.c   | 149 +++--
 1 file changed, 136 insertions(+), 13 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
index e492bb0..2c0fad7 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_mask_color_neon.c
@@ -1,8 +1,6 @@
 #ifdef BUILD_NEON
-#ifdef BUILD_NEON_INTRINSICS
 #include arm_neon.h
 #endif
-#endif
 #define NEONDEBUG 0
 
 
@@ -689,19 +687,144 @@ init_blend_mask_color_pt_funcs_neon(void)
 #ifdef BUILD_NEON
 static void
 _op_blend_rel_mas_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m, DATA32 c, DATA32 
*d, int l) {
-   DATA32 *e;
-   int alpha;
+   uint16x8_t dc0_16x8;
+   uint16x8_t dc1_16x8;
+   uint16x8_t m_16x8;
+   uint16x8_t mc0_16x8;
+   uint16x8_t mc1_16x8;
+   uint16x8_t temp0_16x8;
+   uint16x8_t temp1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x2_t c_32x2;
+   uint32x2_t m_32x2;
+   uint32x4_t a_32x4;
+   uint32x4_t ad_32x4;
+   uint32x4_t cond_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t dc_32x4;
+   uint32x4_t m_32x4;
+   uint32x4_t temp_32x4;
+   uint32x4_t x0_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t a_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t dc_8x16;
+   uint8x16_t m_8x16;
+   uint8x16_t mc_8x16;
+   uint8x16_t temp_8x16;
+   uint8x16_t x0_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t a0_8x8;
+   uint8x8_t a1_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t dc0_8x8;
+   uint8x8_t dc1_8x8;
+   uint8x8_t m0_8x8;
+   uint8x8_t m1_8x8;
+   uint8x8_t m_8x8;
+   uint8x8_t mc0_8x8;
+   uint8x8_t mc1_8x8;
+   uint8x8_t temp0_8x8;
+   uint8x8_t temp1_8x8;
 
-   DEBUG_FNCOUNT(not);
+   c_32x2 = vdup_n_u32(c);
+   c_8x8 = vreinterpret_u8_u32(c_32x2);
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   x255_16x8 = vdupq_n_u16(0xff);
+   x0_8x16 = vdupq_n_u8(0x0);
+   x0_32x4 = vreinterpretq_u32_u8(x0_8x16);
 
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-DATA32 mc = MUL_SYM(*m, c);
-alpha = 256 - (mc  24);
-*d = MUL_SYM(*d  24, mc) + MUL_256(alpha, *d);
-d++;
-m++;
- });
+   DATA32 *end = d + (l  ~3);
+   while (d  end)
+   {
+  // load 4 elements from d
+  d_32x4 = vld1q_u32(d);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  // load 4 elements from m
+  m_32x2 = vld1_lane_u32((DATA32*)m, m_32x2, 0);
+  m_8x8 = vreinterpret_u8_u32(m_32x2);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_8x16 = vreinterpretq_u8_u16(m_16x8);
+  m_8x8 = vget_low_u8(m_8x16);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_32x4 = vreinterpretq_u32_u16(m_16x8);
+
+  m_32x4 = vmulq_u32(m_32x4, x1_32x4);
+  m_8x16 = vreinterpretq_u8_u32(m_32x4);
+  m0_8x8 = vget_low_u8(m_8x16);
+  m1_8x8 = vget_high_u8(m_8x16);
+
+  // multiply MUL_SYM(*m, c)
+  mc0_16x8 = vmull_u8(m0_8x8, c_8x8);
+  mc1_16x8 = vmull_u8(m1_8x8, c_8x8);
+  mc0_16x8 = vaddq_u16(mc0_16x8, x255_16x8);
+  mc1_16x8 = vaddq_u16(mc1_16x8, x255_16x8);
+  mc0_8x8 = vshrn_n_u16(mc0_16x8, 8);
+  mc1_8x8 = vshrn_n_u16(mc1_16x8, 8);
+  mc_8x16 = vcombine_u8(mc0_8x8, mc1_8x8);
+
+  // calculate alpha = 256 - (mc  24)
+  a_8x16 = vsubq_u8(x0_8x16, mc_8x16);
+  a_32x4 = vreinterpretq_u32_u8(a_8x16);
+  a_32x4 = vshrq_n_u32(a_32x4, 24);
+  a_32x4 = vmulq_u32(a_32x4, x1_32x4);
+  a_8x16 = vreinterpretq_u8_u32(a_32x4);
+  a0_8x8 = vget_low_u8(a_8x16);
+  a1_8x8 = vget_high_u8(a_8x16);
+
+  // multiply MUL_256(alpha, *d)
+  temp0_16x8 = vmull_u8(a0_8x8, d0_8x8);
+  temp1_16x8 = vmull_u8(a1_8x8, d1_8x8);
+  temp0_8x8 = vshrn_n_u16(temp0_16x8,8);
+  temp1_8x8 = vshrn_n_u16(temp1_16x8,8);
+  temp_8x16 = vcombine_u8(temp0_8x8, temp1_8x8);
+  temp_32x4 = vreinterpretq_u32_u8(temp_8x16);
+
+  // select d where alpha == 0
+  cond_32x4 = vceqq_u32(a_32x4, x0_32x4);
+  ad_32x4 = vbslq_u32(cond_32x4, d_32x4, temp_32x4);
+
+  // shift (*d  24)
+  dc_32x4 = vshrq_n_u32(d_32x4, 24);
+  

[EGIT] [core/efl] master 20/55: evas: improve _op_blend_p_dp_neon intrinsics implementation

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8fa4d415e4e82316bfaecd7f9dbe64131fff345b

commit 8fa4d415e4e82316bfaecd7f9dbe64131fff345b
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Wed Apr 22 15:20:22 2015 +0200

evas: improve _op_blend_p_dp_neon intrinsics implementation

Summary:
Use vceqq and vbsl instead of twice as much vmovl and vadd instructions.
Replace vaddq_u8 with vaddq_u32.
This allows NEON code to behave exactly like C version.

Reviewers: raster, cedric

Reviewed By: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../common/evas_op_blend/op_blend_pixel_neon.c | 196 -
 1 file changed, 108 insertions(+), 88 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
index e81466c..8d70b9d 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_neon.c
@@ -9,29 +9,34 @@
 static void
 _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
-   uint16x8_t alpha00_16x8;
-   uint16x8_t alpha01_16x8;
-   uint16x8_t alpha10_16x8;
-   uint16x8_t alpha11_16x8;
-   uint16x8_t d00_16x8;
-   uint16x8_t d01_16x8;
-   uint16x8_t d10_16x8;
-   uint16x8_t d11_16x8;
+   uint16x8_t ad00_16x8;
+   uint16x8_t ad01_16x8;
+   uint16x8_t ad10_16x8;
+   uint16x8_t ad11_16x8;
+   uint32x4_t ad0_32x4;
+   uint32x4_t ad1_32x4;
uint32x4_t alpha0_32x4;
uint32x4_t alpha1_32x4;
+   uint32x4_t cond0_32x4;
+   uint32x4_t cond1_32x4;
uint32x4_t d0_32x4;
uint32x4_t d1_32x4;
uint32x4_t s0_32x4;
uint32x4_t s1_32x4;
+   uint32x4_t x0_32x4;
uint32x4_t x1_32x4;
+   uint8x16_t ad0_8x16;
+   uint8x16_t ad1_8x16;
uint8x16_t alpha0_8x16;
uint8x16_t alpha1_8x16;
uint8x16_t d0_8x16;
uint8x16_t d1_8x16;
-   uint8x16_t s0_8x16;
-   uint8x16_t s1_8x16;
+   uint8x16_t x0_8x16;
uint8x16_t x1_8x16;
-   uint8x16_t x255_8x16;
+   uint8x8_t ad00_8x8;
+   uint8x8_t ad01_8x8;
+   uint8x8_t ad10_8x8;
+   uint8x8_t ad11_8x8;
uint8x8_t alpha00_8x8;
uint8x8_t alpha01_8x8;
uint8x8_t alpha10_8x8;
@@ -43,7 +48,8 @@ _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, 
int l) {
 
x1_8x16 = vdupq_n_u8(0x1);
x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
-   x255_8x16 = vdupq_n_u8(0xff);
+   x0_8x16 = vdupq_n_u8(0x0);
+   x0_32x4 = vreinterpretq_u32_u8(x0_8x16);
 
DATA32 *start = d;
int size = l;
@@ -56,6 +62,13 @@ _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 
*d, int l) {
   d0_32x4 = vld1q_u32(start);
   d1_32x4 = vld1q_u32(start+4);
 
+  d0_8x16 = vreinterpretq_u8_u32(d0_32x4);
+  d1_8x16 = vreinterpretq_u8_u32(d1_32x4);
+  d00_8x8 = vget_low_u8(d0_8x16);
+  d01_8x8 = vget_high_u8(d0_8x16);
+  d10_8x8 = vget_low_u8(d1_8x16);
+  d11_8x8 = vget_high_u8(d1_8x16);
+
   alpha0_32x4 = vshrq_n_u32(s0_32x4, 24);
   alpha1_32x4 = vshrq_n_u32(s1_32x4, 24);
 
@@ -65,46 +78,43 @@ _op_blend_p_dp_neon(DATA32 *s, DATA8 *m, DATA32 c, DATA32 
*d, int l) {
   alpha0_8x16 = vreinterpretq_u8_u32(alpha0_32x4);
   alpha1_8x16 = vreinterpretq_u8_u32(alpha1_32x4);
 
-  alpha0_8x16 = vsubq_u8(x255_8x16, alpha0_8x16);
-  alpha1_8x16 = vsubq_u8(x255_8x16, alpha1_8x16);
+  alpha0_8x16 = vsubq_u8(x0_8x16, alpha0_8x16);
+  alpha1_8x16 = vsubq_u8(x0_8x16, alpha1_8x16);
+
+  alpha0_32x4 = vreinterpretq_u32_u8(alpha0_8x16);
+  alpha1_32x4 = vreinterpretq_u32_u8(alpha1_8x16);
 
   alpha10_8x8 = vget_low_u8(alpha1_8x16);
   alpha11_8x8 = vget_high_u8(alpha1_8x16);
   alpha00_8x8 = vget_low_u8(alpha0_8x16);
   alpha01_8x8 = vget_high_u8(alpha0_8x16);
-  d0_8x16 = vreinterpretq_u8_u32(d0_32x4);
-  d1_8x16 = vreinterpretq_u8_u32(d1_32x4);
-  d00_8x8 = vget_low_u8(d0_8x16);
-  d01_8x8 = vget_high_u8(d0_8x16);
-  d10_8x8 = vget_low_u8(d1_8x16);
-  d11_8x8 = vget_high_u8(d1_8x16);
-  alpha00_16x8 = vmull_u8(alpha00_8x8, d00_8x8);
-  alpha01_16x8 = vmull_u8(alpha01_8x8, d01_8x8);
-  alpha10_16x8 = vmull_u8(alpha10_8x8, d10_8x8);
-  alpha11_16x8 = vmull_u8(alpha11_8x8, d11_8x8);
-  d00_16x8 = vmovl_u8(d00_8x8);
-  d01_16x8 = vmovl_u8(d01_8x8);
-  d10_16x8 = vmovl_u8(d10_8x8);
-  d11_16x8 = vmovl_u8(d11_8x8);
-  alpha00_16x8 = vaddq_u16(alpha00_16x8, d00_16x8);
-  alpha01_16x8 = vaddq_u16(alpha01_16x8, d01_16x8);
-  alpha10_16x8 = vaddq_u16(alpha10_16x8, d10_16x8);
-  alpha11_16x8 = vaddq_u16(alpha11_16x8, d11_16x8);
-  alpha00_8x8 = vshrn_n_u16(alpha00_16x8,8);
-  alpha01_8x8 = vshrn_n_u16(alpha01_16x8,8);
-  alpha10_8x8 = vshrn_n_u16(alpha10_16x8,8);
-  alpha11_8x8 = vshrn_n_u16(alpha11_16x8,8);
-  

[EGIT] [core/efl] master 39/55: eo: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3dfdafe41c0410dcf6390adbc7813050eb33812a

commit 3dfdafe41c0410dcf6390adbc7813050eb33812a
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 16:52:13 2015 +0200

eo: remove the need to order the header correctly for Windows.
---
 src/lib/eo/Eo.h | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 0825f90..8a271f9 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -1097,9 +1097,11 @@ struct _Eo_Callback_Array_Item
 /**
  * @}
  */
-
 #ifdef __cplusplus
-} 
+}
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 36/55: elua: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e1dee32e2611bac4f4464c2a2f4a275fb5be5e69

commit e1dee32e2611bac4f4464c2a2f4a275fb5be5e69
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:28:24 2015 +0200

elua: remove the need to order the header correctly for Windows.
---
 src/lib/elua/Elua.h | 7 +++
 src/lib/elua/cache.c| 1 -
 src/lib/elua/elua.c | 1 -
 src/lib/elua/elua_private.h | 2 ++
 src/lib/elua/io.c   | 1 -
 5 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/lib/elua/Elua.h b/src/lib/elua/Elua.h
index 3b08779..d960cf5 100644
--- a/src/lib/elua/Elua.h
+++ b/src/lib/elua/Elua.h
@@ -48,10 +48,6 @@
 extern C {
 #endif
 
-#ifdef HAVE_CONFIG_H
-# include config.h
-#endif
-
 /**
  * @page elua_main Elua library (BETA)
  *
@@ -458,4 +454,7 @@ EAPI int elua_util_error_report(const Elua_State *es, int 
status);
 } // extern C {
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/elua/cache.c b/src/lib/elua/cache.c
index b856b0b..99d7b6a 100644
--- a/src/lib/elua/cache.c
+++ b/src/lib/elua/cache.c
@@ -1,4 +1,3 @@
-#include Elua.h
 #include elua_private.h
 
 #include sys/types.h
diff --git a/src/lib/elua/elua.c b/src/lib/elua/elua.c
index 3d34b1f..a7c86f9 100644
--- a/src/lib/elua/elua.c
+++ b/src/lib/elua/elua.c
@@ -1,4 +1,3 @@
-#include Elua.h
 #include elua_private.h
 
 static Eina_Prefix *_elua_pfx = NULL;
diff --git a/src/lib/elua/elua_private.h b/src/lib/elua/elua_private.h
index 01d8e4b..9f62c5f 100644
--- a/src/lib/elua/elua_private.h
+++ b/src/lib/elua/elua_private.h
@@ -28,6 +28,8 @@
 #include lualib.h
 #include lauxlib.h
 
+#include Elua.h
+
 struct _Elua_State
 {
lua_State *luastate;
diff --git a/src/lib/elua/io.c b/src/lib/elua/io.c
index 91eef6f..d5b8a0c 100644
--- a/src/lib/elua/io.c
+++ b/src/lib/elua/io.c
@@ -1,4 +1,3 @@
-#include Elua.h
 #include elua_private.h
 
 /* expand fname to full path name (so that PATH is ignored) plus turn

-- 




[EGIT] [core/efl] master 33/55: efreet: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0b4a911450343896f8c9c7452e6bb6971acf7780

commit 0b4a911450343896f8c9c7452e6bb6971acf7780
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:12:03 2015 +0200

efreet: remove the need to order the header correctly for Windows.
---
 src/lib/efreet/Efreet.h   |  3 +++
 src/lib/efreet/efreet_cache_private.h | 29 +
 src/lib/efreet/efreet_private.h   | 29 +
 3 files changed, 61 insertions(+)

diff --git a/src/lib/efreet/Efreet.h b/src/lib/efreet/Efreet.h
index 419e5ff..e83784d 100644
--- a/src/lib/efreet/Efreet.h
+++ b/src/lib/efreet/Efreet.h
@@ -149,6 +149,9 @@ EAPI int efreet_shutdown(void);
  */
 EAPI void efreet_lang_reset(void);
 
+#undef EAPI
+#define EAPI
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/efreet/efreet_cache_private.h 
b/src/lib/efreet/efreet_cache_private.h
index af178ba..79dbfa0 100644
--- a/src/lib/efreet/efreet_cache_private.h
+++ b/src/lib/efreet/efreet_cache_private.h
@@ -12,6 +12,32 @@
 #define EFREET_CACHE_VERSION __efreet//version
 #define EFREET_CACHE_ICON_FALLBACK __efreet_fallback
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EFREET_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EFREET_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
 EAPI const char *efreet_desktop_util_cache_file(void);
 EAPI const char *efreet_desktop_cache_file(void);
 EAPI const char *efreet_icon_cache_file(const char *theme);
@@ -57,4 +83,7 @@ struct _Efreet_Cache_Desktop
 double check_time; /** Last time we check for disk modification */
 };
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/efreet/efreet_private.h b/src/lib/efreet/efreet_private.h
index 21f7517..9455485 100644
--- a/src/lib/efreet/efreet_private.h
+++ b/src/lib/efreet/efreet_private.h
@@ -1,6 +1,32 @@
 #ifndef EFREET_PRIVATE_H
 #define EFREET_PRIVATE_H
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EFREET_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EFREET_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
 #ifdef ENABLE_NLS
 # include libintl.h
 # define _(str) dgettext(PACKAGE, str)
@@ -224,6 +250,9 @@ EAPI void efreet_fsetowner(int fd);
 
 EAPI extern int efreet_cache_update;
 
+#undef EAPI
+#define EAPI
+
 /**
  * @}
  */

-- 




[EGIT] [core/efl] master 02/02: Eolian/Generator: fix enums generation

2015-05-07 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b0da753aaaee885b4bee15e2729076fb2ee152f1

commit b0da753aaaee885b4bee15e2729076fb2ee152f1
Author: Daniel Zaoui daniel.za...@samsung.com
Date:   Wed May 6 20:41:59 2015 +0300

Eolian/Generator: fix enums generation

Typedef word was not generated for enums. Camel case was not respected
for type definition.
Tests have been updated to check enums generation.

@fix T2400
---
 src/bin/eolian/types_generator.c| 19 +++
 src/tests/eolian/data/typedef.eo| 17 +
 src/tests/eolian/data/typedef_ref.c | 16 
 3 files changed, 44 insertions(+), 8 deletions(-)

diff --git a/src/bin/eolian/types_generator.c b/src/bin/eolian/types_generator.c
index 6f11be5..15bf535 100644
--- a/src/bin/eolian/types_generator.c
+++ b/src/bin/eolian/types_generator.c
@@ -4,6 +4,7 @@
 
 #include Eina.h
 #include string.h
+#include ctype.h
 
 #include Eolian.h
 #include types_generator.h
@@ -22,7 +23,11 @@ _concat_name(const Eolian_Type *tp)
name = eolian_type_name_get(tp);
if (name) eina_strbuf_append_printf(buf, %s, name);
if (eina_strbuf_length_get(buf))
-  str = eina_strbuf_string_steal(buf);
+ {
+char *tmp = str = eina_strbuf_string_steal(buf);
+*tmp = toupper(*tmp);
+while (*tmp) if (*tmp++ == '_'  *tmp) *tmp = toupper(*tmp);
+ }
eina_strbuf_free(buf);
return str;
 }
@@ -118,14 +123,11 @@ _type_generate(const Eolian_Type *tp, Eina_Bool 
in_typedef, Eina_Bool full)
break;
 }
   char *pre = NULL;
-  eina_strbuf_append_printf(buf, enum %s {\n, name);
+  eina_strbuf_append_printf(buf, typedef enum\n{\n);
   if (eolian_type_enum_legacy_prefix_get(tp))
-{
-   pre = strdup(eolian_type_enum_legacy_prefix_get(tp));
-   free(name);
-}
+pre = strdup(eolian_type_enum_legacy_prefix_get(tp));
   else
-pre = name;
+pre = strdup(name);
   eina_str_toupper(pre);
   Eina_Iterator *members = eolian_type_enum_fields_get(tp);
   Eina_Bool next = eina_iterator_next(members, (void**)member);
@@ -162,10 +164,11 @@ _type_generate(const Eolian_Type *tp, Eina_Bool 
in_typedef, Eina_Bool full)
if (desc) eina_strbuf_append_printf(buf,  /** %s */, 
desc);
eina_strbuf_append(buf, \n);
 }
+  eina_strbuf_append_printf(buf, } %s, name);
   eina_strbuf_free(membuf);
+  free(name);
   free(pre);
   eina_iterator_free(members);
-  eina_strbuf_append(buf, });
   break;
}
   default:
diff --git a/src/tests/eolian/data/typedef.eo b/src/tests/eolian/data/typedef.eo
index 4044740..906ebe4 100644
--- a/src/tests/eolian/data/typedef.eo
+++ b/src/tests/eolian/data/typedef.eo
@@ -1,6 +1,23 @@
 type Evas.Coord: int; /* Simple type definition */
 type List_Objects: own(listEo **); /* A little more complex */
 
+enum Enum.Bar
+{
+   legacy: bar;
+   first_item  = 0,
+   second_item,
+   last_item
+}
+
+enum Elm.Object.Select_mode
+{
+   default = 0,
+   always,
+   none,
+   display_only,
+   max
+}
+
 class Typedef {
methods {
   foo {
diff --git a/src/tests/eolian/data/typedef_ref.c 
b/src/tests/eolian/data/typedef_ref.c
index a47b9c1..791d221 100644
--- a/src/tests/eolian/data/typedef_ref.c
+++ b/src/tests/eolian/data/typedef_ref.c
@@ -15,6 +15,22 @@ typedef int Evas_Coord;
 
 typedef Eina_List *List_Objects;
 
+typedef enum
+{
+  BAR_FIRST_ITEM = 0,
+  BAR_SECOND_ITEM,
+  BAR_LAST_ITEM
+} Enum_Bar;
+
+typedef enum
+{
+  ELM_OBJECT_SELECT_MODE_DEFAULT = 0,
+  ELM_OBJECT_SELECT_MODE_ALWAYS,
+  ELM_OBJECT_SELECT_MODE_NONE,
+  ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY,
+  ELM_OBJECT_SELECT_MODE_MAX
+} Elm_Object_Select_Mode;
+
 
 #endif
 #define TYPEDEF_CLASS typedef_class_get()

-- 




[EGIT] [core/efl] master 01/02: Eolian: Add API to retrieve an event of a class by its name

2015-05-07 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2c5ec0b13131306514d578b6f604c00b61b1

commit 2c5ec0b13131306514d578b6f604c00b61b1
Author: Daniel Zaoui daniel.za...@samsung.com
Date:   Tue Apr 28 14:27:01 2015 +0300

Eolian: Add API to retrieve an event of a class by its name

@feature
---
 src/lib/eolian/Eolian.h | 11 +++
 src/lib/eolian/database_event_api.c | 20 
 src/tests/eolian/eolian_parsing.c   |  3 +++
 3 files changed, 34 insertions(+)

diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index d231782..d8c5e90 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -1329,6 +1329,17 @@ EAPI Eolian_Object_Scope eolian_event_scope_get(const 
Eolian_Event *event);
 EAPI Eina_Stringshare *eolian_event_c_name_get(const Eolian_Event *event);
 
 /*
+ * @brief Get an event in a class by its name
+ *
+ * @param[in] klass the class
+ * @param[in] event_name name of the event
+ * @return the Eolian_Event if found, NULL otherwise.
+ *
+ * @ingroup Eolian
+ */
+EAPI const Eolian_Event *eolian_class_event_get_by_name(const Eolian_Class 
*klass, const char *event_name);
+
+/*
  * @brief Indicates if the class constructor has to invoke
  * a non-generated class constructor function.
  *
diff --git a/src/lib/eolian/database_event_api.c 
b/src/lib/eolian/database_event_api.c
index f2c98a7..0a6b22d 100644
--- a/src/lib/eolian/database_event_api.c
+++ b/src/lib/eolian/database_event_api.c
@@ -44,3 +44,23 @@ eolian_event_c_name_get(const Eolian_Event *event)
 while ((tmp = strpbrk(tmp, .,))) *tmp = '_';
 return eina_stringshare_add(buf);
 }
+
+EAPI const Eolian_Event *
+eolian_class_event_get_by_name(const Eolian_Class *klass, const char 
*event_name)
+{
+   Eina_List *itr;
+   Eolian_Event *event = NULL;
+   if (!klass) return NULL;
+   Eina_Stringshare *shr_ev = eina_stringshare_add(event_name);
+
+   EINA_LIST_FOREACH(klass-events, itr, event)
+{
+   if (event-name == shr_ev)
+  goto end;
+}
+
+   event = NULL;
+end:
+   eina_stringshare_del(shr_ev);
+   return event;
+}
diff --git a/src/tests/eolian/eolian_parsing.c 
b/src/tests/eolian/eolian_parsing.c
index f614346..8269c2c 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -129,6 +129,9 @@ START_TEST(eolian_events)
fail_if(strcmp(type_name, Evas_Event_Clicked_Double_Info));
fail_if(eina_iterator_next(iter, dummy));
eina_iterator_free(iter);
+   /* Check eolian_class_event_get_by_name */
+   fail_if(!eolian_class_event_get_by_name(class, clicked,double));
+   fail_if(eolian_class_event_get_by_name(class, clicked,triple));
 
eolian_shutdown();
 }

-- 




[EGIT] [core/efl] master 02/55: ecore_audio: integrate Apple's CoreAudio to play sounds on OS X.

2015-05-07 Thread Jean Guyomarc'h
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=62e29b39f4df40fd3c0a6b17f7a16f0f8fc1d0c9

commit 62e29b39f4df40fd3c0a6b17f7a16f0f8fc1d0c9
Author: Jean Guyomarc'h jean.guyoma...@gmail.com
Date:   Wed Apr 15 16:53:39 2015 +0200

ecore_audio: integrate Apple's CoreAudio to play sounds on OS X.

Summary:
Ecore_Audio now supports Apple's CoreAudio to play sounds read by 
libsndfile.
edje_multisense integrates this new feature to enable PLAY_SAMPLE on OS X.

Test Plan:
Compiles, links and installs fine on OS X.
Run terminology and elementary_test to hear sound played on user input.

Reviewers: raster, naguirre, cedric

Reviewed By: cedric

Subscribers: plamot, cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 configure.ac   |  70 +++-
 src/Makefile_Ecore_Audio.am|  21 +-
 src/lib/ecore_audio/Ecore_Audio.h  |   9 +-
 src/lib/ecore_audio/ecore_audio_core_audio.c   |  44 +++
 .../ecore_audio/ecore_audio_obj_out_core_audio.c   | 358 +
 .../ecore_audio/ecore_audio_obj_out_core_audio.h   |  15 +
 src/lib/ecore_audio/ecore_audio_out_core_audio.eo  |  12 +
 src/lib/ecore_audio/ecore_audio_private.h  |   6 +
 src/lib/edje/edje_multisense.c |  12 +
 9 files changed, 538 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index 45fa102..9eed98c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3208,6 +3208,54 @@ AC_ARG_ENABLE([pulseaudio],
],
[want_pulseaudio=yes])
 
+if test x${have_darwin} = xyes; then
+   want_pulseaudio=no
+   want_alsa=no
+   want_coreaudio=yes
+else
+   want_coreaudio=no
+fi
+
+
+# CoreAudio flags
+if test x${want_coreaudio} = xyes; then
+   coreaudio_ldflags=
+   have_coreaudio=no
+   LIBS_save=$LIBS
+   LIBS=$LIBS -framework CoreAudio
+   AC_LINK_IFELSE(
+  [AC_LANG_PROGRAM(
+[[
+#include CoreAudio/CoreAudio.h
+]],
+[[
+UInt32 size;
+AudioDeviceID dev_id;
+AudioObjectPropertyAddress prop = {
+   kAudioHardwarePropertyDefaultOutputDevice,
+   kAudioObjectPropertyScopeGlobal,
+   kAudioObjectPropertyElementMaster
+};
+size = sizeof(AudioDeviceID);
+AudioObjectGetPropertyData(kAudioObjectSystemObject, prop, 0, NULL,
+  size, dev_id);
+]])],
+[
+ have_coreaudio=yes
+ coreaudio_ldflags=-framework CoreAudio
+],
+[have_coreaudio=no])
+  LIBS=$LIBS_save
+  AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
+  AC_MSG_RESULT([${have_coreaudio}])
+fi
+AC_SUBST(coreaudio_ldflags)
+if test x${have_coreaudio} = xyes; then
+   AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
+else
+   AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
+fi
+
 
 ### Default values
 
@@ -3234,6 +3282,7 @@ EFL_EVAL_PKGS([ECORE_AUDIO])
 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
+EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
 
 ### Checks for header files
 
@@ -3250,6 +3299,7 @@ EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
 EFL_LIB_END_OPTIONAL([Ecore_Audio])
 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test x${want_pulseaudio} = xyes])
 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test x${want_sndfile} = xyes])
+AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test x${want_coreaudio} = 
xyes])
 
  End of Ecore_Audio
 
@@ -4117,7 +4167,7 @@ EFL_LIB_START([Edje])
 ### Additional options to configure
 
 ### Default values
-want_multisense=${want_pulseaudio}
+
 AC_ARG_ENABLE([multisense],
[AS_HELP_STRING([--enable-multisense],[Enable multisense support. 
@:@default=enabled@:@])],
[
@@ -4128,7 +4178,13 @@ AC_ARG_ENABLE([multisense],
CFOPT_WARNING=xyes
 fi
],
-   [want_multisense=${want_pulseaudio}])
+   [
+if test x${want_pulseaudio} = xyes -o x${want_coreaudio} = xyes; 
then
+   want_multisense=yes
+else
+   want_multisense=no
+fi
+   ])
 
 # TODO: should we keep or remove these?
 want_edje_program_cache=no
@@ -4960,11 +5016,12 @@ if test -n $CFOPT_WARNING; then
 echo Reconsider disabling audio.
 echo 
_
   fi
-  if test x${want_pulseaudio} = xno; then
+  if test x${have_darwin} = xno -a x${want_pulseaudio} = xno; then
 echo 
_
-echo The only audio output method supported by Ecore right now is via
-echo Pulseaudio. You have disabled that and likely have broken a whole
-echo bunch of things in the process. Reconsider your configure options.
+echo The only audio output method supported by Ecore right now on your
+echo system is via Pulseaudio. You have 

[EGIT] [core/efl] master 25/55: eina: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0dfb263a28691f70dd4fe385e2bdbe2b65cdbcf9

commit 0dfb263a28691f70dd4fe385e2bdbe2b65cdbcf9
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 14:21:27 2015 +0200

eina: remove the need to order the header correctly for Windows.
---
 src/lib/eina/Eina.h|  3 +++
 src/lib/eina/eina_module.h |  4 ++--
 src/lib/eina/eina_types.h  | 22 ++
 3 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/lib/eina/Eina.h b/src/lib/eina/Eina.h
index 672c094..b0b24ee 100644
--- a/src/lib/eina/Eina.h
+++ b/src/lib/eina/Eina.h
@@ -265,6 +265,9 @@ extern C {
 #include eina_matrix.h
 #include eina_crc.h
 
+#undef EAPI
+#define EAPI
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/eina/eina_module.h b/src/lib/eina/eina_module.h
index 834dfa8..d1030b9 100644
--- a/src/lib/eina/eina_module.h
+++ b/src/lib/eina/eina_module.h
@@ -96,14 +96,14 @@ typedef void (*Eina_Module_Shutdown)(void);
  * declares the given function as the module initializer (__eina_module_init).
  * It must be of signature #Eina_Module_Init
  */
-#define EINA_MODULE_INIT(f) EAPI Eina_Module_Init __eina_module_init = f
+#define EINA_MODULE_INIT(f) EXPORTAPI Eina_Module_Init __eina_module_init = f
 
 /**
  * @def EINA_MODULE_SHUTDOWN
  * declares the given function as the module shutdownializer
  * (__eina_module_shutdown). It must be of signature #Eina_Module_Shutdown
  */
-#define EINA_MODULE_SHUTDOWN(f) EAPI Eina_Module_Shutdown 
__eina_module_shutdown = f
+#define EINA_MODULE_SHUTDOWN(f) EXPORTAPI Eina_Module_Shutdown 
__eina_module_shutdown = f
 
 extern EAPI Eina_Error EINA_ERROR_WRONG_MODULE;
 extern EAPI Eina_Error EINA_ERROR_MODULE_INIT_FAILED;
diff --git a/src/lib/eina/eina_types.h b/src/lib/eina/eina_types.h
index 0c92ae4..2e0c4d7 100644
--- a/src/lib/eina/eina_types.h
+++ b/src/lib/eina/eina_types.h
@@ -61,6 +61,28 @@
 # endif
 #endif
 
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EXPORTAPI __declspec(dllexport)
+# else
+#  define EXPORTAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EXPORTAPI __attribute__ ((visibility(default)))
+#  else
+#   define EXPORTAPI
+#  endif
+# else
+/**
+ * @def EAPI
+ * @brief Used to export functions(by changing visibility).
+ */
+#  define EXPORTAPI
+# endif
+#endif
+
 #include eina_config.h
 
 #ifdef EINA_UNUSED

-- 




[EGIT] [core/efl] master 34/55: eio: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=84ddee331baa446bfa01fd21820b35d49cdbe68f

commit 84ddee331baa446bfa01fd21820b35d49cdbe68f
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:12:42 2015 +0200

eio: remove the need to order the header correctly for Windows.
---
 src/lib/eio/Eio.h   |  2 ++
 src/lib/eio/eio_model.h | 30 ++
 2 files changed, 32 insertions(+)

diff --git a/src/lib/eio/Eio.h b/src/lib/eio/Eio.h
index 8edd4ab..c0d4477 100644
--- a/src/lib/eio/Eio.h
+++ b/src/lib/eio/Eio.h
@@ -1296,5 +1296,7 @@ EAPI const char *eio_monitor_path_get(Eio_Monitor 
*monitor);
 }
 #endif
 
+#undef EAPI
+#define EAPI
 
 #endif
diff --git a/src/lib/eio/eio_model.h b/src/lib/eio/eio_model.h
index 1c46d77..e28870b 100644
--- a/src/lib/eio/eio_model.h
+++ b/src/lib/eio/eio_model.h
@@ -33,6 +33,32 @@
 #include Efl.h
 #include Eio.h
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EIO_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EIO_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #ifdef __cplusplus
 extern C {
 #endif
@@ -42,4 +68,8 @@ extern C {
 #ifdef __cplusplus
 }
 #endif
+
+#undef EAPI
+#define EAPI
+
 #endif //_EMODEL_EIO_H

-- 




[EGIT] [core/efl] master 41/55: ephysics: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=24b14b408e26fb215af884b2b5d3f0430e23749d

commit 24b14b408e26fb215af884b2b5d3f0430e23749d
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 16:52:32 2015 +0200

ephysics: remove the need to order the header correctly for Windows.
---
 src/lib/ephysics/EPhysics.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/ephysics/EPhysics.h b/src/lib/ephysics/EPhysics.h
index e7c7743..f1c3424 100644
--- a/src/lib/ephysics/EPhysics.h
+++ b/src/lib/ephysics/EPhysics.h
@@ -4725,10 +4725,11 @@ EAPI void ephysics_constraint_del(EPhysics_Constraint 
*constraint);
 /**
  * @}
  */
-
-
 #ifdef __cplusplus
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [bindings/python/python-efl] annotated tag v1.14.0 created (now 7bf2cd5)

2015-05-07 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

kuuko pushed a change to annotated tag v1.14.0
in repository bindings/python/python-efl.

at  7bf2cd5   (tag)
   tagging  1011cb76df9adf516be79426bbee298eb962ae3e (commit)
  replaces  v1.13.0
 tagged by  Kai Huuhko
on  Thu May 7 12:16:14 2015 +0300

- Log -
Python-EFL release 1.14.0
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAABAgAGBQJVSy2vAAoJEMVq7z9spx7H3tMQAKIZOhNfbXRaaCLHEqVHopW3
ezeaqlihbL1IvVk/GahsIgD4cuX28jHEHXzviMEkDQPJbZ4gKbdcQPqRnCRNuyuz
qv8Z7kZSeTKyhrKBqtsIo5sb9CNE0YF82L33lCdmaKDPmYzsW5M9qlEqCQNfMZYL
wv3ekiXOF/AxGP9aPVySpktleCToBLuo48xKlnbPTxkYRCSLXi05TqiS1WT1i7Xc
F6o/euMzfa6BiD3xLoVyoow1fBuJUkCT9k2+bkck9LtX+vNhoEyyeTvtqpxKVweh
uWoYfkwY3gv0h5i/5XlkzkQE26mptPAzGoR8zqYw7I9QxCXIe/wibTnvZsKTQ3sm
nkSZTyZhUv2ul2jrQf3uvhW5EIPTtO6iDQY48gTIn0GsZqXDSZfKzveBxButxItx
U7pBtpHynDBKPgrvZR14ZrWQCtHYSqNpZ8a98X7PG5s9hhgQBtyMaKPBN8g+dMRW
9Op+QJO39ZfVyWb9/zr77+uiC9+6VUJZVJAFf7/iww6qYLH07wb84oMEwxwDEN58
gRyyO/l9q4K2/GuHhzCcCchckNiSK1nmZYnRLZ3/uwu3Bx5tXC5BstVFzzW6D7SR
9sTstvqqCmCGr15EzyXoFzfQEKfrQDuW+/KPLpJUZ8W3JSCpx3xJGRrP39vfmH9N
ZMYo5UdgEaRko8zeihx5
=3g54
-END PGP SIGNATURE-

Dave Andreoli (28):
  Now start the 1.14 development cycle
  Fix the signature of the un/highlight List callback to include the item.
  Remove a wrong line from the previous commit
  Use consistent indentation style with the rest of the code
  Image.memfile_set: do not raise exceptions.
  Correct commit count
  Fix for cython 0.22
  Fix Scroller doc
  Fix Photocam.internal_image to actually work
  Fix code to conform to recent Eo changes.
  Some tests for SmartObject callbacks
  New 1.14 property: Evas.Image.orient
  New 1.14 function: Elm.Transit.go_in()
  New 1.14 API: elm.Photocam.image_orient
  Test Elm.Image: use new EVAS_ORIENT_* enums
  New 1.14 API: 
elm.Configuration.window_auto_focus_enable/window_auto_focus_animate
  New 1.14 API: elm.Slider.indicator_visible_mode
  New 1.14 API: file_get for Video and Layout
  Fix elm.Video test to work again
  New 1.14 API: elm.Scroller.loop
  New 1.14 API: edje.text_class_get() and edje.Edje.text_class_get()
  New 1.14 API: item,longressed signal for Multibuttonentry
  New 1.14 signal: Colorselector changed,user
  Release: 1.14.0-beta1
  Update Changelog with recent fixes
  Changed slideshow to use new-style item data.
  Updated Changelog
  Add the data property for SlideshowItem

Kai Huuhko (90):
  Elementary.image: Add memfile support
  Elementary: Add module systray
  Examples.elementary: Update fs_entry/btn tests
  Evas: Rename Object.parent_get to smart_parent_get
  Remove tests that were infact wrong.
  Elementary.systray: Follow Eo changes
  Elementary.window: Improve documentation of Window constructor
  tests.evas: Add a valid, failing test for Rect.intercepts
  Evas.Rect: Rename intercepts to intersects, correct the algorithm
  Tests: Change test names to reflect the change from last commit
  Evas.Rect: Optimizations
  Evas: Optimize rect getters class initialization
  Elementary.box: Add an iterator for Box's children
  Elementary.scroller: Documentation fixes
  Elementary.scroller: Make ScrollerWidget private
  Documentation: Add some functional coloring and visual cues
  Documentation: Switch syntax highlighting (pygments) style to monokai
  Elementary: Documentation fixes
  Evas: Bring back SmartObject
  Evas.SmartObject: rewrite because of changes in Cython 0.21.1
  Evas.SmartObject: Change tests and examples in accordance to new API
  Evas.SmartObject: Fix issues in the new API implementation
  Evas: Remove now redundant SmartObject metaclass
  Evas.SmartObject: Fix crash when Smart is re-used
  Evas.SmartObject: Add smart_get, commented out parent getter
  Evas.SmartObject: Use the correct function when deleting data
  Evas.SmartObject: Allow callback calls even when obj is NULL
  Evas.SmartObject: Add unicode/py3k safety to callback methods
  Evas.SmartObject: Switch to using C implementation of ClippedSO
  Evas: Copy SO methods member_add/del to Object.smart_member_add/del
  Evas.SmartObject: Move documentation to right places
  Make Evas.SO iterator a generic Eo iterator and move to efl.eo
  Evas.SmartObject: Trivial changes
  Evas.SmartObject: Handle object deletion in a saner way
  Move smart callback handling from elm Object to evas SO and inherit
  Evas.SmartObject: changed smart event callback add/del methods to cdef
  Evas.SmartObject: Simplify callback handler code
  Evas.SmartObject: Keep refs in a list
  Evas: Change SmartCb event_info conversions into C functions
  Evas.SmartObject: Revert SmartCb add/del mechanism partially
  

[EGIT] [core/efl] master 02/02: Static deps unibreak: update to what will soon be version 3.

2015-05-07 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7a49d23f90f41c478db9b7beb9763aa0cd74ae46

commit 7a49d23f90f41c478db9b7beb9763aa0cd74ae46
Author: Tom Hacohen t...@stosb.com
Date:   Thu May 7 10:53:11 2015 +0100

Static deps unibreak: update to what will soon be version 3.

Version 3 is not yet released, but this is on track to become it.
This is based on commit: a815e11f7ebf35b59278f783227a829ee4692760.

@feature.
---
 src/Makefile_Evas.am   |   4 +
 src/static_libs/libunibreak/ChangeLog  | 164 +
 src/static_libs/libunibreak/LICENCE|   5 +-
 src/static_libs/libunibreak/{README = README.md}  |   0
 src/static_libs/libunibreak/linebreak.c| 179 --
 src/static_libs/libunibreak/linebreak.h|  29 +--
 src/static_libs/libunibreak/linebreakdata.c| 171 ++
 src/static_libs/libunibreak/linebreakdef.c |   8 +-
 src/static_libs/libunibreak/linebreakdef.h |  32 +---
 src/static_libs/libunibreak/unibreakbase.c |  41 +
 .../libunibreak/{linebreak.h = unibreakbase.h}|  44 ++---
 src/static_libs/libunibreak/unibreakdef.c  | 159 
 src/static_libs/libunibreak/unibreakdef.h  |  80 
 src/static_libs/libunibreak/wordbreak.c|  76 ++--
 src/static_libs/libunibreak/wordbreak.h|  12 +-
 src/static_libs/libunibreak/wordbreakdata.c| 201 +
 src/static_libs/libunibreak/wordbreakdef.h |  21 +--
 17 files changed, 894 insertions(+), 332 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 381a148..072cffa 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -90,6 +90,8 @@ lib/evas/canvas/evas_vg_private.h
 # Linebreak
 
 noinst_HEADERS += \
+static_libs/libunibreak/unibreakbase.h \
+static_libs/libunibreak/unibreakdef.h \
 static_libs/libunibreak/linebreak.h \
 static_libs/libunibreak/linebreakdef.h \
 static_libs/libunibreak/wordbreakdef.h \
@@ -98,6 +100,8 @@ static_libs/libunibreak/wordbreakdata.c
 
 # Linebreak
 lib_evas_libevas_la_SOURCES = \
+static_libs/libunibreak/unibreakbase.c \
+static_libs/libunibreak/unibreakdef.c \
 static_libs/libunibreak/linebreak.c \
 static_libs/libunibreak/linebreakdata.c \
 static_libs/libunibreak/linebreakdef.c \
diff --git a/src/static_libs/libunibreak/ChangeLog 
b/src/static_libs/libunibreak/ChangeLog
index feb830b..44b56ea 100644
--- a/src/static_libs/libunibreak/ChangeLog
+++ b/src/static_libs/libunibreak/ChangeLog
@@ -1,3 +1,167 @@
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   * LICENCE: Update copyright information.
+
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   * src/linebreakdata2.tmp: Remove the unnecessary inclusion of
+   linebreak.h.
+   * src/linebreakdata.c: Ditto.
+
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   Use extended regexp to simplify expressions.
+   * src/LineBreak1.sed: Simplify with extended regexp.
+   * src/LineBreak2.sed: Ditto.
+   * src/Makefile.am: Add `-E' to the command line of sed.
+
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   Make further clean-up for the 3.0 release.
+   * configure.ac (AC_INIT): Change the library version to `3.0'.
+   * Doxyfile (PROJECT_NUMBER): Change to `3.0'.
+   (EXCLUDE): Add the missing `src/' before `filter_dup.c'.
+   * src/wordbreakdata1.tmpl: Remove the inclusion of linebreak.h.
+   * src/wordbreakdata.c: Ditto.
+
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   * src/wordbreakdef.h: Include unibreakdef.h.
+
+2015-04-19  Wu Yongwei  wuyong...@gmail.com
+
+   * purge: Make it remove `compile'.
+
+2015-04-18  Wu Yongwei  wuyong...@gmail.com
+
+   * src/unibreakdef.c: New file.
+   * src/unibreakdef.h: New file.
+   * src/wordbreak.c: Rename reference to `lb_get_next_char...' to
+   `ub_get_next_char...'.
+   * src/linebreak.c: Ditto.
+   (lb_get_next_char_utf8): Remove definition.
+   (lb_get_next_char_utf16): Ditto.
+   (lb_get_next_char_utf32): Ditto.
+   * src/linebreakdef.h: Include unibreakdef.h.
+   (EOS): Remove definition.
+   (get_next_char_t): Remove typedef.
+   (lb_get_next_char_utf8): Remove declaration.
+   (lb_get_next_char_utf16): Ditto.
+   (lb_get_next_char_utf32): Ditto.
+   * src/Makefile.am (include_HEADERS): Add `unibreakdef.h'.
+   (libunibreak_la_SOURCES): Add `unibreakdef.c'.
+   (libunibreak_la_CFLAGS): Define to `-W -Wall'.
+
+2015-04-18  Wu Yongwei  wuyong...@gmail.com
+
+   * src/unibreakbase.c: New file.
+   * src/unibreakbase.h: New file.
+   * src/linebreak.c (linebreak_version): Remove definition.
+   * src/linebreak.h: Include unibreakbase.h.
+   (linebreak_version): Remove declaration.
+   (LINEBREAK_VERSION): Remove definition.
+   (utf8_t): Remove 

[EGIT] [core/efl] master 01/04: docs: Fix access to main elocation page from front page

2015-05-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=eef094c661284865fc2744a7adf514d9137b5855

commit eef094c661284865fc2744a7adf514d9137b5855
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Thu May 7 09:38:12 2015 +0200

docs: Fix access to main elocation page from front page
---
 doc/main.dox  | 2 +-
 src/lib/elocation/Elocation.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/main.dox b/doc/main.dox
index 5db1577..6ab3071 100644
--- a/doc/main.dox
+++ b/doc/main.dox
@@ -24,7 +24,7 @@
  * @li @ref evil_main microsoft windows portability layer.
  * @li @ref eolian_main an EO file parser and code generator.
  * @li @ref eina_cxx_main Eina C++ bindings.
- * @li @ref Location awareness library.
+ * @li @ref elocation_main awareness library.
  *
  */
 
diff --git a/src/lib/elocation/Elocation.h b/src/lib/elocation/Elocation.h
index 5bb2772..60002c0 100644
--- a/src/lib/elocation/Elocation.h
+++ b/src/lib/elocation/Elocation.h
@@ -6,6 +6,7 @@
  */
 
 /**
+ * @page elocation_main Elocation (BETA)
  *
  * @section intro Elocation Use Cases
  *

-- 




[EGIT] [core/efl] master 09/19: ecore-drm: Add some debug code to spit out planes and plane properties

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0341d08831436faa6d280ec8b040654c417491a2

commit 0341d08831436faa6d280ec8b040654c417491a2
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 09:33:17 2015 -0400

ecore-drm: Add some debug code to spit out planes and plane properties

Summary: This adds a debug function to spit out planes and their
properties while debugging rotation support

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_output.c | 124 +++
 1 file changed, 124 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index fbd2a2a..5a1f531 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -706,6 +706,123 @@ next:
  }
 }
 
+static void
+_ecore_drm_output_planes_get(Ecore_Drm_Device *dev)
+{
+   drmModePlaneRes *pres;
+   unsigned int i = 0, j = 0;
+   int k = 0;
+
+   pres = drmModeGetPlaneResources(dev-drm.fd);
+   if (!pres) return;
+
+   for (; i  pres-count_planes; i++)
+ {
+drmModePlane *plane;
+drmModeObjectPropertiesPtr props;
+int type = -1;
+
+plane = drmModeGetPlane(dev-drm.fd, pres-planes[i]);
+if (!plane) continue;
+
+props = drmModeObjectGetProperties(dev-drm.fd, plane-plane_id,
+   DRM_MODE_OBJECT_PLANE);
+if (!props) goto free_plane;
+
+DBG(Plane %u Properties:, plane-plane_id);
+
+for (j = 0; type == -1  j  props-count_props; j++)
+  {
+ drmModePropertyPtr prop;
+
+ prop = drmModeGetProperty(dev-drm.fd, props-props[j]);
+ if (!prop) continue;
+
+ if (!strcmp(prop-name, type))
+   {
+  type = props-prop_values[j];
+  DBG(\tType: %d, type);
+  for (k = 0; k  prop-count_enums; k++)
+{
+   DBG(\t\t%s=%llu, prop-enums[k].name,
+   prop-enums[k].value);
+}
+   }
+
+ drmModeFreeProperty(prop);
+  }
+
+DBG(\tFormats:);
+for (j = 0; j  plane-count_formats; j++)
+  DBG(\t\t%4.4s, (char *)plane-formats[j]);
+
+for (j = 0; j  props-count_props; j++ )
+  {
+ drmModePropertyPtr prop;
+
+ prop = drmModeGetProperty(dev-drm.fd, props-props[j]);
+ if (!prop) continue;
+
+ DBG(\tProperty Name: %s, prop-name);
+
+ if (prop-flags  DRM_MODE_PROP_RANGE)
+   {
+  DBG(\t\tRange Property);
+  for (k = 0; k  prop-count_values; k++)
+DBG(\t\t\t%PRIu64, prop-values[k]);
+   }
+ if (prop-flags  DRM_MODE_PROP_ENUM)
+   {
+  DBG(\t\tEnum Property);
+  for (k = 0; k  prop-count_enums; k++)
+DBG(\t\t\t%s=%llu, prop-enums[k].name,
+prop-enums[k].value);
+   }
+ if (prop-flags  DRM_MODE_PROP_BITMASK)
+   {
+  DBG(\t\tBitmask Property);
+  for (k = 0; k  prop-count_enums; k++)
+DBG(\t\t\t%s=0x%llx, prop-enums[k].name,
+(1LL  prop-enums[k].value));
+   }
+
+ if (!strcmp(prop-name, rotation))
+   {
+  DBG(\t\tSupported Rotations:);
+  for (k = 0; k  prop-count_enums; k++)
+{
+   if (!strcmp(prop-enums[k].name, rotate-0))
+ DBG(\t\t\tRotate 0);
+   else if (!strcmp(prop-enums[k].name, rotate-90))
+ DBG(\t\t\tRotate 90);
+   else if (!strcmp(prop-enums[k].name, rotate-180))
+ DBG(\t\t\tRotate 180);
+   else if (!strcmp(prop-enums[k].name, rotate-270))
+ DBG(\t\t\tRotate 270);
+   else if (!strcmp(prop-enums[k].name, reflect-x))
+ DBG(\t\t\tReflect X);
+   else if (!strcmp(prop-enums[k].name, reflect-y))
+ DBG(\t\t\tReflect Y);
+   else
+ DBG(\t\t\t%s, prop-enums[k].name);
+}
+   }
+
+ drmModeFreeProperty(prop);
+  }
+
+DBG(\tCurrent Crtc: %d, plane-crtc_id);
+DBG(\tPossible Crtcs: 0x%08x, plane-possible_crtcs);
+
+drmModeFreeObjectProperties(props);
+
+free_plane:
+drmModeFreePlane(plane);
+ }
+
+   drmModeFreePlaneResources(pres);
+}
+
 /* public functions */
 
 /**
@@ -752,6 +869,12 @@ ecore_drm_outputs_create(Ecore_Drm_Device *dev)
dev-max_width = res-max_width;
   

[EGIT] [core/efl] master 01/01: Revert autotools: enable make check per individual modules.

2015-05-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d48c5accea091b023baed93add79d88adbc64fb6

commit d48c5accea091b023baed93add79d88adbc64fb6
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Thu May 7 20:50:56 2015 +0200

Revert autotools: enable make check per individual modules.

This reverts commit 35119e7bfdc7c13c2041293f3d0b2ebe1fb7c313.

Reverted to bring make check back in a working state. Also the way we
want to handle a more modular testing needs discussion.
---
 Makefile.am | 69 -
 src/Makefile_Ecore.am   |  5 ---
 src/Makefile_Ecore_Audio_Cxx.am |  6 
 src/Makefile_Ecore_Con.am   |  6 
 src/Makefile_Ecore_Cxx.am   | 12 ---
 src/Makefile_Ector.am   |  6 
 src/Makefile_Edje.am|  6 
 src/Makefile_Edje_Cxx.am|  6 
 src/Makefile_Eet.am |  6 
 src/Makefile_Eet_Cxx.am |  7 -
 src/Makefile_Eeze.am|  7 -
 src/Makefile_Efreet.am  |  6 
 src/Makefile_Eina.am|  6 
 src/Makefile_Eina_Cxx.am|  6 
 src/Makefile_Eio.am |  6 
 src/Makefile_Eldbus.am  |  6 
 src/Makefile_Eldbus_Cxx.am  |  6 
 src/Makefile_Emile.am   |  6 
 src/Makefile_Eo.am  | 45 ---
 src/Makefile_Eolian.am  |  6 
 src/Makefile_Eolian_Cxx.am  |  6 
 src/Makefile_Evas.am|  6 
 src/Makefile_Evas_Cxx.am|  6 
 23 files changed, 247 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 4bc6def..a756511 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -432,75 +432,6 @@ endif
 if EFL_ENABLE_COVERAGE
@$(MAKE) $(AM_MAKEFLAGS) lcov-report
 endif
-
-check: override DISABLE_SUBTESTS = 1
-check:
-   ifeq($(DISABLE_SUBTESTS), 1)
-   make check-recursive
-   endif
-
-check-eina:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eina
-check-eina-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eina-cxx
-check-ecore:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore
-check-ecore-audio-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-audio-cxx
-check-ecore-con:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-con
-check-ecore-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-cxx
-check-ecore-cxx-compile:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ecore-cxx-compile
-check-ector:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-ector
-check-edje:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-edje
-check-edje-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-edje-cxx
-check-eet:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eet
-check-eet-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eet-cxx
-check-eeze:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eeze
-check-efreet:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-efreet
-check-eio:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eio
-check-eldbus:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eldbus
-check-eldbus-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eldbus-cxx
-check-emile:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-emile
-check-eo:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo
-check-eo-composite-object:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-composite-object
-check-eo-constructors:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-constructors
-check-eo-function-overrides:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-function-overrides
-check-eo-interface:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-interface
-check-eo-mixin:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-mixin
-check-eo-text-access:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-text-access
-check-eo-signals:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-signals
-check-eo-children:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eo-children
-check-eolian:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eolian
-check-eolian-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-eolian-cxx
-check-evas:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-evas
-check-evas-cxx:
-   $(MAKE) $(AM_MAKEFLAGS) -C src check-evas-cxx
 endif
 
 # benchmark
diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index 36d84ec..738f929 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -257,11 +257,6 @@ if HAVE_ECORE_FB
 tests_ecore_ecore_suite_SOURCES += tests/ecore/ecore_test_ecore_fb.c
 endif
 
-check-ecore:
-   check_PROGRAMS=tests/ecore/ecore_suite
-   make check TESTS=tests/ecore/ecore_suite
-
-check-ecore: override DISABLE_SUBTESTS = 0
 endif
 
 EXTRA_DIST += \
diff --git a/src/Makefile_Ecore_Audio_Cxx.am b/src/Makefile_Ecore_Audio_Cxx.am
index 383228f..d31d3ec 100644
--- a/src/Makefile_Ecore_Audio_Cxx.am
+++ b/src/Makefile_Ecore_Audio_Cxx.am
@@ -45,12 +45,6 @@ tests_ecore_audio_cxx_cxx_compile_test_CPPFLAGS = \
 tests_ecore_audio_cxx_cxx_compile_test_LDADD = @CHECK_LIBS@ 

[EGIT] [core/enlightenment] master 01/02: make e_acpi_lid_is_closed function callable from wl_drm module

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=8039ecb9b7e2616bb294ec7ea5f660d73cfea0e8

commit 8039ecb9b7e2616bb294ec7ea5f660d73cfea0e8
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 15:44:22 2015 -0400

make e_acpi_lid_is_closed function callable from wl_drm module

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/e_acpi.c | 2 +-
 src/bin/e_acpi.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_acpi.c b/src/bin/e_acpi.c
index ef67151..0429a46 100644
--- a/src/bin/e_acpi.c
+++ b/src/bin/e_acpi.c
@@ -192,7 +192,7 @@ e_acpi_lid_status_get(void)
return E_ACPI_LID_UNKNOWN;
 }
 
-EINTERN Eina_Bool
+EAPI Eina_Bool
 e_acpi_lid_is_closed(void)
 {
if (lid_is_closed == -1)
diff --git a/src/bin/e_acpi.h b/src/bin/e_acpi.h
index edf42d3..9dac1e8 100644
--- a/src/bin/e_acpi.h
+++ b/src/bin/e_acpi.h
@@ -72,7 +72,7 @@ EINTERN int e_acpi_init(void);
 EINTERN int e_acpi_shutdown(void);
 
 EINTERN E_Acpi_Lid_Status e_acpi_lid_status_get(void);
-EINTERN Eina_Bool e_acpi_lid_is_closed(void);
+E_API Eina_Bool e_acpi_lid_is_closed(void);
 E_API void e_acpi_events_freeze(void);
 E_API void e_acpi_events_thaw(void);
 

-- 




[EGIT] [core/efl] master 01/19: ecore-drm: Add API function to return screen size range

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=29362040b2a01e731d0dd7e3f52300a1d5ad8836

commit 29362040b2a01e731d0dd7e3f52300a1d5ad8836
Author: Chris Michael cp.mich...@samsung.com
Date:   Mon May 4 13:25:15 2015 -0400

ecore-drm: Add API function to return screen size range

Summary: This adds new API function to return the min  max width 
height of valid screen range for an Ecore_Drm_Device

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 14 ++
 src/lib/ecore_drm/ecore_drm_device.c | 11 +++
 2 files changed, 25 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index feb48f8..157d0b8 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -761,6 +761,20 @@ EAPI void ecore_drm_device_pointer_xy_get(Ecore_Drm_Device 
*dev, int *x, int *y)
  */
 EAPI const Eina_List *ecore_drm_devices_get(void);
 
+/**
+ * Get the minimum and maximum screen size range
+ *
+ * @param dev The Ecore_Drm_Device to get screen size range from
+ * @param *minw The parameter in which smallest width is stored
+ * @param *minh The parameter in which smallest height is stored
+ * @param *maxw The parameter in which largest width is stored
+ * @param *maxh The parameter in which largest height is stored
+ *
+ * @ingroup Ecore_Drm_Device_Group
+ * @since 1.15
+ */
+EAPI void ecore_drm_screen_size_range_get(Ecore_Drm_Device *dev, int *minw, 
int *minh, int *maxw, int *maxh);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 2646483..bc28205 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -530,3 +530,14 @@ ecore_drm_device_output_find(Ecore_Drm_Device *dev, int x, 
int y)
 
return NULL;
 }
+
+EAPI void
+ecore_drm_screen_size_range_get(Ecore_Drm_Device *dev, int *minw, int *minh, 
int *maxw, int *maxh)
+{
+   EINA_SAFETY_ON_NULL_RETURN(dev);
+
+   if (minw) *minw = dev-min_width;
+   if (minh) *minh = dev-min_height;
+   if (maxw) *maxw = dev-max_width;
+   if (maxh) *maxh = dev-max_height;
+}

-- 




[EGIT] [core/enlightenment] master 02/02: wl-drm: Start on making the RandR config dialog usable in drm

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=6d2c8c46dabf0952a7ce6cb98112f140fc62de6d

commit 6d2c8c46dabf0952a7ce6cb98112f140fc62de6d
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 15:44:50 2015 -0400

wl-drm: Start on making the RandR config dialog usable in drm

NB: 'Apply' does not function yet, needs another API or 2 in ecore_drm

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/wl_drm/e_mod_main.c | 381 ++--
 1 file changed, 250 insertions(+), 131 deletions(-)

diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c
index 9779dd9..0bf5186 100644
--- a/src/modules/wl_drm/e_mod_main.c
+++ b/src/modules/wl_drm/e_mod_main.c
@@ -87,175 +87,185 @@ _e_mod_drm_cb_ee_resize(Ecore_Evas *ee EINA_UNUSED)
e_comp_canvas_update();
 }
 
-static E_Randr2_Mode *
-_mode_get(drmModeModeInfo *info)
+static Ecore_Drm_Output_Mode *
+_e_mod_drm_mode_screen_find(E_Randr2_Screen *s, Ecore_Drm_Output *output)
 {
-   E_Randr2_Mode *mode;
-   uint64_t refresh;
-
-   mode = malloc(sizeof(E_Randr2_Mode));
-
-   mode-w = info-hdisplay;
-   mode-h = info-vdisplay;
-
-   refresh = (info-clock * 100LL / info-htotal + info-vtotal / 2) / 
info-vtotal;
-   if (info-flags  DRM_MODE_FLAG_INTERLACE)
- refresh *= 2;
-   if (info-flags  DRM_MODE_FLAG_DBLSCAN)
- refresh /= 2;
-   if (info-vscan  1)
- refresh /= info-vscan;
-
-   mode-refresh = refresh;
-   mode-preferred = (info-type  DRM_MODE_TYPE_PREFERRED);
-
-   return mode;
-}
-
-static char *
-_get_edid(Ecore_Drm_Device *dev, drmModeConnector *conn)
-{
-   int i;
-   drmModePropertyBlobPtr blob = NULL;
-   drmModePropertyPtr prop;
-   char *ret;
+   Ecore_Drm_Output_Mode *mode, *m = NULL;
+   const Eina_List *l;
+   int diff, distance = 0x7fff;
 
-   for (i = 0; i  conn-count_props; i++)
+   EINA_LIST_FOREACH(ecore_drm_output_modes_get(output), l, mode)
  {
-if (!(prop = drmModeGetProperty(dev-drm.fd, conn-props[i])))
-  continue;
-if ((prop-flags  DRM_MODE_PROP_BLOB) 
-(!strcmp(prop-name, EDID)))
+diff = (100 * abs(s-config.mode.w - mode-width)) + 
+  (100 * abs(s-config.mode.h - mode-height)) + 
+  abs((100 * s-config.mode.refresh) - (100 * mode-refresh));
+if (diff  distance)
   {
- blob = drmModeGetPropertyBlob(dev-drm.fd,
-   conn-prop_values[i]);
- drmModeFreeProperty(prop);
- break;
+ m = mode;
+ distance = diff;
   }
-drmModeFreeProperty(prop);
- }
-   if (!blob) return NULL;
-   ret = (char*)eina_memdup(blob-data, blob-length, 1);
-   drmModeFreePropertyBlob(blob);
-   return ret;
-}
-
-static Eina_Bool
-_backlight_get(const char *devpath, uint32_t conn_type)
-{
-   Eina_List *devs, *l;
-   const char *device;
-   Eina_Bool found;
-
-   if (!(devs = eeze_udev_find_by_filter(backlight, NULL, devpath)))
- devs = eeze_udev_find_by_filter(leds, NULL, devpath);
-
-   if (!devs) return EINA_FALSE;
-
-   EINA_LIST_FOREACH(devs, l, device)
- {
-if ((conn_type == DRM_MODE_CONNECTOR_LVDS) ||
-(conn_type == DRM_MODE_CONNECTOR_eDP) ||
-eeze_udev_syspath_check_sysattr(device, type, raw))
-  found = EINA_TRUE;
-if (found) break;
  }
 
-   E_FREE_LIST(devs, eina_stringshare_del);
-
-   return found;
+   return m;
 }
 
 static E_Randr2 *
 _drm_randr_create(void)
 {
Ecore_Drm_Device *dev;
-   const Eina_List *l;
-   E_Randr2 *r;
+   Ecore_Drm_Output *output;
+   const Eina_List *l, *ll;
+   E_Randr2 *r = NULL;
+   const char *conn_types[] =
+ {
+None, VGA, DVI-I, DVI-D, DVI-A,
+Composite, S-Video, LVDS, Component, DIN,
+DisplayPort, HDMI-A, HDMI-B, TV, eDP, Virtual,
+DSI, UNKNOWN
+ };
+   E_Randr2_Connector rtype[] =
+ {
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_DVI,
+E_RANDR2_CONNECTOR_DVI,
+E_RANDR2_CONNECTOR_DVI,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_DISPLAY_PORT,
+E_RANDR2_CONNECTOR_HDMI_A,
+E_RANDR2_CONNECTOR_HDMI_B,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_DISPLAY_PORT,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+E_RANDR2_CONNECTOR_UNDEFINED,
+ };
+   unsigned int type;
+
+   printf(DRM RRR: . info get!\n);
 
r = E_NEW(E_Randr2, 1);
+   if (!r) return NULL;
+
EINA_LIST_FOREACH(ecore_drm_devices_get(), l, dev)
  {
-drmModeRes *res;
-int o;
-
-res = drmModeGetResources(dev-drm.fd);
-

[EGIT] [core/efl] master 08/19: ecore-drm: Add API function to return output modes

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1ab4975491f184f11b4c6407218669805a29894e

commit 1ab4975491f184f11b4c6407218669805a29894e
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue May 5 09:12:25 2015 -0400

ecore-drm: Add API function to return output modes

Summary: This adds a new API function to return a list of modes
supported on a given output

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h | 24 ++--
 src/lib/ecore_drm/ecore_drm_output.c  |  9 +
 src/lib/ecore_drm/ecore_drm_private.h |  8 
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index e2b79a0..2177b3f 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -153,8 +153,14 @@ struct _Ecore_Drm_Event_Output
 /* opaque structure to represent a drm device */
 typedef struct _Ecore_Drm_Device Ecore_Drm_Device;
 
-/* opaque structure to represent a drm output mode */
-typedef struct _Ecore_Drm_Output_Mode Ecore_Drm_Output_Mode;
+/* structure to represent a drm output mode */
+typedef struct _Ecore_Drm_Output_Mode
+{
+   unsigned int flags;
+   int width, height;
+   unsigned int refresh;
+   drmModeModeInfo info;
+} Ecore_Drm_Output_Mode;
 
 /* opaque structure to represent a drm output */
 typedef struct _Ecore_Drm_Output Ecore_Drm_Output;
@@ -836,6 +842,20 @@ EAPI Eina_Bool 
ecore_drm_output_backlight_get(Ecore_Drm_Output *output);
  */
 EAPI char *ecore_drm_output_edid_get(Ecore_Drm_Output *output);
 
+/**
+ * Get a list of the modes supported on a given output
+ *
+ * @param output The Ecore_Drm_Output to get the modes for
+ *
+ * @return An Eina_List of the modes supported for this output
+ *
+ * @note The returned list should not be freed
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI Eina_List *ecore_drm_output_modes_get(Ecore_Drm_Output *output);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index b6c44cc..fbd2a2a 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1137,3 +1137,12 @@ ecore_drm_output_edid_get(Ecore_Drm_Output *output)
 
return strdup(output-edid_blob);
 }
+
+EAPI Eina_List *
+ecore_drm_output_modes_get(Ecore_Drm_Output *output)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output-modes, NULL);
+
+   return output-modes;
+}
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 3bacef2..8a2ca3c 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -87,14 +87,6 @@ typedef struct _Ecore_Drm_Pageflip_Callback
int count;
 } Ecore_Drm_Pageflip_Callback;
 
-struct _Ecore_Drm_Output_Mode
-{
-   unsigned int flags;
-   int width, height;
-   unsigned int refresh;
-   drmModeModeInfo info;
-};
-
 typedef enum _Ecore_Drm_Backlight_Type
 {
ECORE_DRM_BACKLIGHT_RAW,

-- 




[EGIT] [core/efl] master 05/19: ecore-drm: Add API function to return the connector type of a given output

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4d2290847fa921e3cb42a9fe45c1978c7c2d9eef

commit 4d2290847fa921e3cb42a9fe45c1978c7c2d9eef
Author: Chris Michael cp.mich...@samsung.com
Date:   Mon May 4 14:26:47 2015 -0400

ecore-drm: Add API function to return the connector type of a given output

Summary: This adds a new API function to return the connector type of
an Ecore_Drm_Output

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 12 
 src/lib/ecore_drm/ecore_drm_output.c |  8 
 2 files changed, 20 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index e5c2972..319d007 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -800,6 +800,18 @@ EAPI void ecore_drm_screen_size_range_get(Ecore_Drm_Device 
*dev, int *minw, int
  */
 EAPI Eina_Bool ecore_drm_output_connected_get(Ecore_Drm_Output *output);
 
+/**
+ * Get the connector type of a given Ecore_Drm_Output
+ *
+ * @param output The Ecore_Drm_Output to get the connector type of
+ *
+ * @return An unsigned integer representing the type of connector for this 
output
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI unsigned int ecore_drm_output_connector_type_get(Ecore_Drm_Output 
*output);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index a767b31..78882d6 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1110,3 +1110,11 @@ ecore_drm_output_connected_get(Ecore_Drm_Output *output)
 
return output-connected;
 }
+
+EAPI unsigned int
+ecore_drm_output_connector_type_get(Ecore_Drm_Output *output)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, 0);
+
+   return output-conn_type;
+}

-- 




[EGIT] [core/efl] master 17/19: ecore-drm: Add API function to find an output given a name

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2145cb18c296b4269d52b57c000a9495ce8b71e1

commit 2145cb18c296b4269d52b57c000a9495ce8b71e1
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 11:31:46 2015 -0400

ecore-drm: Add API function to find an output given a name

Summary: This adds a new API function to find an Ecore_Drm_Output
which matches a given name.

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 16 
 src/lib/ecore_drm/ecore_drm_device.c | 16 
 2 files changed, 32 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index d0e97b5..ad2ae4a 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -880,6 +880,22 @@ EAPI Ecore_Drm_Output 
*ecore_drm_output_primary_get(Ecore_Drm_Device *dev);
  */
 EAPI void ecore_drm_output_crtc_size_get(Ecore_Drm_Output *output, int *width, 
int *height);
 
+/**
+ * Find an Ecore_Drm_Output which has the given name
+ *
+ * This function will loop all the existing outputs in Ecore_Drm_Device and 
+ * return an output if one exists that matches the given name.
+ *
+ * @param dev The Ecore_Drm_Device to search
+ * @param name The Ecore_Drm_Output matching this name
+ *
+ * @return An Ecore_Drm_Output if one exists at these coordinates or NULL
+ *
+ * @ingroup Ecore_Drm_Device_Group
+ * @since 1.15
+ */
+EAPI Ecore_Drm_Output *ecore_drm_device_output_name_find(Ecore_Drm_Device 
*dev, const char *name);
+
 # ifdef __cplusplus
 }
 # endif
diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 81636c6..2a29b0e 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -545,3 +545,19 @@ ecore_drm_screen_size_range_get(Ecore_Drm_Device *dev, int 
*minw, int *minh, int
if (maxw) *maxw = dev-max_width;
if (maxh) *maxh = dev-max_height;
 }
+
+EAPI Ecore_Drm_Output *
+ecore_drm_device_output_name_find(Ecore_Drm_Device *dev, const char *name)
+{
+   Ecore_Drm_Output *output;
+   Eina_List *l;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(dev, NULL);
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(name, NULL);
+
+   EINA_LIST_FOREACH(dev-outputs, l, output)
+ if ((output-name)  (!strcmp(name, output-name)))
+   return output;
+
+   return NULL;
+}

-- 




[EGIT] [core/efl] master 19/19: Merge branch 'devs/devilhorns/ecore_drm'

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ba58920fbef048d9e8082f004909efc0ffcd7b60

commit ba58920fbef048d9e8082f004909efc0ffcd7b60
Merge: d48c5ac 958b15c
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 15:40:38 2015 -0400

Merge branch 'devs/devilhorns/ecore_drm'

Summary: Merge new 1.15 API functions for ecore_drm which will be used
in the E RandR config dialog.

NB: This is basically a set of API functions that are needed for
working with the new e_randr2 codebase in E. This makes the dialog
'usable' in E, however there is no API yet for applying those
settings changes. That will come shortly.

@feature

 src/lib/ecore_drm/Ecore_Drm.h | 161 +--
 src/lib/ecore_drm/ecore_drm_device.c  |  31 ++
 src/lib/ecore_drm/ecore_drm_output.c  | 202 +-
 src/lib/ecore_drm/ecore_drm_private.h |  13 +--
 4 files changed, 390 insertions(+), 17 deletions(-)

-- 




[EGIT] [core/efl] master 16/19: ecore-drm: Fix formatting

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=03a242f263fecc7178928aa7bdb989335495b6a3

commit 03a242f263fecc7178928aa7bdb989335495b6a3
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 09:24:15 2015 -0400

ecore-drm: Fix formatting

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 0003ef5..d0e97b5 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -29,9 +29,9 @@
 #  endif // ifdef __GNUC__
 # endif // ifdef _MSC_VER
 
-#ifdef __cplusplus
+# ifdef __cplusplus
 extern C {
-#endif
+# endif
 
 typedef enum _Ecore_Drm_Evdev_Capabilities
 {
@@ -880,11 +880,11 @@ EAPI Ecore_Drm_Output 
*ecore_drm_output_primary_get(Ecore_Drm_Device *dev);
  */
 EAPI void ecore_drm_output_crtc_size_get(Ecore_Drm_Output *output, int *width, 
int *height);
 
-#ifdef __cplusplus
+# ifdef __cplusplus
 }
-#endif
+# endif
 
-#undef EAPI
-#define EAPI
+# undef EAPI
+# define EAPI
 
 #endif

-- 




[EGIT] [core/efl] master 11/19: ecore-drm: Cleanup plane debug output

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7df68b484b2cdfc8bcfa3c6d11c692867dc08cbc

commit 7df68b484b2cdfc8bcfa3c6d11c692867dc08cbc
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 11:31:25 2015 -0400

ecore-drm: Cleanup plane debug output

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_output.c | 32 ++--
 1 file changed, 2 insertions(+), 30 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 2e91909..32249cb 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -740,15 +740,7 @@ _ecore_drm_output_planes_get(Ecore_Drm_Device *dev)
  if (!prop) continue;
 
  if (!strcmp(prop-name, type))
-   {
-  type = props-prop_values[j];
-  DBG(\tType: %d, type);
-  for (k = 0; k  prop-count_enums; k++)
-{
-   DBG(\t\t%s=%llu, prop-enums[k].name,
-   prop-enums[k].value);
-}
-   }
+   type = props-prop_values[j];
 
  drmModeFreeProperty(prop);
   }
@@ -787,27 +779,7 @@ _ecore_drm_output_planes_get(Ecore_Drm_Device *dev)
 (1LL  prop-enums[k].value));
}
 
- if (!strcmp(prop-name, rotation))
-   {
-  DBG(\t\tSupported Rotations:);
-  for (k = 0; k  prop-count_enums; k++)
-{
-   if (!strcmp(prop-enums[k].name, rotate-0))
- DBG(\t\t\tRotate 0);
-   else if (!strcmp(prop-enums[k].name, rotate-90))
- DBG(\t\t\tRotate 90);
-   else if (!strcmp(prop-enums[k].name, rotate-180))
- DBG(\t\t\tRotate 180);
-   else if (!strcmp(prop-enums[k].name, rotate-270))
- DBG(\t\t\tRotate 270);
-   else if (!strcmp(prop-enums[k].name, reflect-x))
- DBG(\t\t\tReflect X);
-   else if (!strcmp(prop-enums[k].name, reflect-y))
- DBG(\t\t\tReflect Y);
-   else
- DBG(\t\t\t%s, prop-enums[k].name);
-}
-   }
+ DBG(\t\tValue: %PRIu64, props-prop_values[j]);
 
  drmModeFreeProperty(prop);
   }

-- 




[EGIT] [core/efl] master 18/19: ecore-drm: Add new API function to mark an output as primary

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=958b15c2077214b3349e9102dd486bc5bef929d7

commit 958b15c2077214b3349e9102dd486bc5bef929d7
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 11:37:54 2015 -0400

ecore-drm: Add new API function to mark an output as primary

Summary: This adds a new API function which we can use to mark a given
Ecore_Drm_Output as being the primary output.

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 10 ++
 src/lib/ecore_drm/ecore_drm_device.c |  2 +-
 src/lib/ecore_drm/ecore_drm_output.c | 16 
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index ad2ae4a..481da42 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -869,6 +869,16 @@ EAPI Eina_List 
*ecore_drm_output_modes_get(Ecore_Drm_Output *output);
 EAPI Ecore_Drm_Output *ecore_drm_output_primary_get(Ecore_Drm_Device *dev);
 
 /**
+ * Set a given output as primary
+ *
+ * @param output The Ecore_Drm_Output to set as primary
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI void ecore_drm_output_primary_set(Ecore_Drm_Output *output);
+
+/**
  * Get the size of the crtc for a given output
  *
  * @param output The Ecore_Drm_Output to get the crtc size of
diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 2a29b0e..b902c19 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -553,7 +553,7 @@ ecore_drm_device_output_name_find(Ecore_Drm_Device *dev, 
const char *name)
Eina_List *l;
 
EINA_SAFETY_ON_NULL_RETURN_VAL(dev, NULL);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(name, NULL);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(name, NULL);
 
EINA_LIST_FOREACH(dev-outputs, l, output)
  if ((output-name)  (!strcmp(name, output-name)))
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 8b4369e..2596538 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1265,6 +1265,22 @@ ecore_drm_output_primary_get(Ecore_Drm_Device *dev)
 }
 
 EAPI void
+ecore_drm_output_primary_set(Ecore_Drm_Output *output)
+{
+   const Eina_List *l;
+   Ecore_Drm_Output *out;
+
+   EINA_SAFETY_ON_NULL_RETURN(output);
+
+   /* unmark all outputs as primary */
+   EINA_LIST_FOREACH(output-dev-outputs, l, out)
+ out-primary = EINA_FALSE;
+
+   /* mark this output as primary */
+   output-primary = EINA_TRUE;
+}
+
+EAPI void
 ecore_drm_output_crtc_size_get(Ecore_Drm_Output *output, int *width, int 
*height)
 {
if (width) *width = 0;

-- 




[EGIT] [core/efl] master 06/19: ecore-drm: Add API function to return if a given output has a backlight

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=130ad6d60fa7e67c50db7aeffa3fab37b92de404

commit 130ad6d60fa7e67c50db7aeffa3fab37b92de404
Author: Chris Michael cp.mich...@samsung.com
Date:   Mon May 4 14:41:18 2015 -0400

ecore-drm: Add API function to return if a given output has a backlight

Summary: This adds a new API function to call so we can check if a
given Ecore_Drm_Output has a backlight

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 12 
 src/lib/ecore_drm/ecore_drm_output.c |  7 +++
 2 files changed, 19 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 319d007..d0a2c36 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -812,6 +812,18 @@ EAPI Eina_Bool 
ecore_drm_output_connected_get(Ecore_Drm_Output *output);
  */
 EAPI unsigned int ecore_drm_output_connector_type_get(Ecore_Drm_Output 
*output);
 
+/**
+ * Get if a given output has a backlight
+ *
+ * @param output The Ecore_Drm_Output to get the backlight of
+ *
+ * @return EINA_TRUE if this output has a backlight, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI Eina_Bool ecore_drm_output_backlight_get(Ecore_Drm_Output *output);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 78882d6..3ffc131 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1118,3 +1118,10 @@ ecore_drm_output_connector_type_get(Ecore_Drm_Output 
*output)
 
return output-conn_type;
 }
+
+EAPI Eina_Bool
+ecore_drm_output_backlight_get(Ecore_Drm_Output *output)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
+   return (output-backlight != NULL);
+}

-- 




[EGIT] [core/efl] master 12/19: ecore-drm: Set drm client capabilities to support universal planes

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c79922f392d01102cd6a9eb9db58565d149b3134

commit c79922f392d01102cd6a9eb9db58565d149b3134
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 11:31:57 2015 -0400

ecore-drm: Set drm client capabilities to support universal planes

Summary: If we do not set client capabilities to support universal
planes, then libdrm does not expose the primary or cursor planes so
this adds a quick call to set DRM_CLIENT_CAP_UNIVERSAL_PLANES

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_device.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index bc28205..81636c6 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -281,6 +281,10 @@ ecore_drm_device_open(Ecore_Drm_Device *dev)
 
DBG(Opened Device %s : %d, dev-drm.name, dev-drm.fd);
 
+   /* set client capabilities to 'universal planes' so drm core will expose
+* the full universal plane list (including primary  cursor planes) */
+   drmSetClientCap(dev-drm.fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
+
if (!drmGetCap(dev-drm.fd, DRM_CAP_TIMESTAMP_MONOTONIC, caps))
  {
 if (caps == 1)

-- 




[EGIT] [core/efl] master 10/19: ecore-drm: Set output connected property in the creation function

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e8754ee9d2c68f616eb7e5e9e9a79488c6e70336

commit e8754ee9d2c68f616eb7e5e9e9a79488c6e70336
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 09:41:03 2015 -0400

ecore-drm: Set output connected property in the creation function

Summary: Makes more sense to set the output's connected property
inside the function which creates outputs.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_output.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 5a1f531..2e91909 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -422,6 +422,7 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
output-model = eina_stringshare_add(UNKNOWN);
output-name = eina_stringshare_add(UNKNOWN);
 
+   output-connected = (conn-connection == DRM_MODE_CONNECTED);
output-conn_type = conn-connector_type;
if (conn-connector_type  ALEN(conn_types))
  type = conn_types[conn-connector_type];
@@ -888,8 +889,6 @@ ecore_drm_outputs_create(Ecore_Drm_Device *dev)
   _ecore_drm_output_create(dev, res, conn, x, y, EINA_FALSE)))
   goto next;
 
-output-connected = (conn-connection == DRM_MODE_CONNECTED);
-
 x += output-current_mode-width;
 
 next:

-- 




[EGIT] [core/efl] master 13/19: ecore-drm: Add support for a Primary Output

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=94adf30b93e7a1bc2f7d77ea98beddc81bffdd06

commit 94adf30b93e7a1bc2f7d77ea98beddc81bffdd06
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 12:15:56 2015 -0400

ecore-drm: Add support for a Primary Output

Summary: As 'primary' output support is not implemented in hardware,
we need to support this feature via software. For now, the first
output returned via libdrm will be marked as 'primary' until user
changes it via config

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/ecore_drm_output.c  | 8 
 src/lib/ecore_drm/ecore_drm_private.h | 1 +
 2 files changed, 9 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 32249cb..9ce8641 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -507,6 +507,13 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
 
dev-outputs = eina_list_append(dev-outputs, output);
 
+   /* NB: 'primary' output property is not supported in HW, so we need to
+* implement it via software. As such, the First output which gets
+* listed via libdrm will be assigned 'primary' until user changes
+* it via config */
+   if (eina_list_count(dev-outputs) == 1)
+ output-primary = EINA_TRUE;
+
DBG(Created New Output At %d,%d, output-x, output-y);
DBG(\tCrtc Pos: %d %d, output-crtc-x, output-crtc-y);
DBG(\tCrtc: %d, output-crtc_id);
@@ -515,6 +522,7 @@ _ecore_drm_output_create(Ecore_Drm_Device *dev, drmModeRes 
*res, drmModeConnecto
DBG(\tModel: %s, output-model);
DBG(\tName: %s, output-name);
DBG(\tCloned: %d, output-cloned);
+   DBG(\tPrimary: %d, output-primary);
 
EINA_LIST_FOREACH(output-modes, l, mode)
  {
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 8a2ca3c..063ac06 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -135,6 +135,7 @@ struct _Ecore_Drm_Output
 
Ecore_Drm_Backlight *backlight;   
 
+   Eina_Bool primary : 1;
Eina_Bool connected : 1;
Eina_Bool enabled : 1;
Eina_Bool cloned : 1;

-- 




[EGIT] [core/efl] master 15/19: ecore-drm: Add API function to get an output's crtc size

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=49de7d0ee8180de6d8d0692cbf718f11f874e5ef

commit 49de7d0ee8180de6d8d0692cbf718f11f874e5ef
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed May 6 13:19:08 2015 -0400

ecore-drm: Add API function to get an output's crtc size

Summary: This adds a new API function to return an output's crtc size.
This is mainly used for drm RandR config in E

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h| 12 
 src/lib/ecore_drm/ecore_drm_output.c | 12 
 2 files changed, 24 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index fcf784b..0003ef5 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -868,6 +868,18 @@ EAPI Eina_List 
*ecore_drm_output_modes_get(Ecore_Drm_Output *output);
  */
 EAPI Ecore_Drm_Output *ecore_drm_output_primary_get(Ecore_Drm_Device *dev);
 
+/**
+ * Get the size of the crtc for a given output
+ *
+ * @param output The Ecore_Drm_Output to get the crtc size of
+ * @param *width The parameter in which width is stored
+ * @param *height The parameter in which height is stored
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI void ecore_drm_output_crtc_size_get(Ecore_Drm_Output *output, int *width, 
int *height);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index d9283f1..8b4369e 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1263,3 +1263,15 @@ ecore_drm_output_primary_get(Ecore_Drm_Device *dev)
 
return NULL;
 }
+
+EAPI void
+ecore_drm_output_crtc_size_get(Ecore_Drm_Output *output, int *width, int 
*height)
+{
+   if (width) *width = 0;
+   if (height) *height = 0;
+
+   EINA_SAFETY_ON_NULL_RETURN(output);
+
+   if (width) *width = output-crtc-width;
+   if (height) *height = output-crtc-height;
+}

-- 




[EGIT] [enlightenment/modules/wallpaper2] master 01/01: wallpaper2: Make wallpaper2 function again with EFL/E from git

2015-05-07 Thread Chris Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/wallpaper2.git/commit/?id=c55d5f31d60d798b9edd672c530632ef515d250e

commit c55d5f31d60d798b9edd672c530632ef515d250e
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu May 7 15:32:54 2015 -0400

wallpaper2: Make wallpaper2 function again with EFL/E from git

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/e_mod_main.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 006ce93..ee8493f 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -10,13 +10,13 @@ static E_Int_Menu_Augmentation *maug = NULL;
 //static E_Fm2_Mime_Handler *import_hdl = NULL;
 
 /* module setup */
-EAPI E_Module_Api e_modapi =
+E_API E_Module_Api e_modapi =
 {
E_MODULE_API_VERSION,
  Settings - Wallpaper 2
 };
 
-EAPI void *
+E_API void *
 e_modapi_init(E_Module *m)
 {
bindtextdomain(PACKAGE, LOCALEDIR);
@@ -43,7 +43,7 @@ e_modapi_init(E_Module *m)
return m;
 }
 
-EAPI int
+E_API int
 e_modapi_shutdown(E_Module *m EINA_UNUSED)
 {
 //   E_Config_Dialog *cfd;
@@ -71,7 +71,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
return 1;
 }
 
-EAPI int
+E_API int
 e_modapi_save(E_Module *m EINA_UNUSED)
 {
return 1;

-- 




[EGIT] [core/efl] master 03/19: ecore-drm: Add API function to return output connected state

2015-05-07 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c4461ac5d80508da2e542026d7578df2e7390b7b

commit c4461ac5d80508da2e542026d7578df2e7390b7b
Author: Chris Michael cp.mich...@samsung.com
Date:   Mon May 4 14:13:21 2015 -0400

ecore-drm: Add API function to return output connected state

Summary: This adds a new API function to check if a given output is 
connected or not.

@feature

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_drm/Ecore_Drm.h | 12 
 src/lib/ecore_drm/ecore_drm_output.c  | 12 +++-
 src/lib/ecore_drm/ecore_drm_private.h |  1 +
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 54e252e..e5c2972 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -788,6 +788,18 @@ EAPI const Eina_List *ecore_drm_devices_get(void);
  */
 EAPI void ecore_drm_screen_size_range_get(Ecore_Drm_Device *dev, int *minw, 
int *minh, int *maxw, int *maxh);
 
+/**
+ * Get if a given output is connected
+ *
+ * @param output The Ecore_Drm_Output to get the connected status of
+ *
+ * @return EINA_TRUE if output is connected, EINA_FALSE otherwise
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI Eina_Bool ecore_drm_output_connected_get(Ecore_Drm_Output *output);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index 614abea..f04a890 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -754,13 +754,15 @@ ecore_drm_outputs_create(Ecore_Drm_Device *dev)
 if (!(conn = drmModeGetConnector(dev-drm.fd, res-connectors[i])))
   continue;
 
-if (conn-connection != DRM_MODE_CONNECTED) goto next;
+/* if (conn-connection != DRM_MODE_CONNECTED) goto next; */
 
 /* create output for this connector */
 if (!(output =
   _ecore_drm_output_create(dev, res, conn, x, y, EINA_FALSE)))
   goto next;
 
+output-connected = (conn-connection == DRM_MODE_CONNECTED);
+
 x += output-current_mode-width;
 
 next:
@@ -1099,3 +1101,11 @@ ecore_drm_output_name_get(Ecore_Drm_Output *output)
 
return strdup(output-name);
 }
+
+EAPI Eina_Bool
+ecore_drm_output_connected_get(Ecore_Drm_Output *output)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
+
+   return output-connected;
+}
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 75e103a..c7b9c2f 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -140,6 +140,7 @@ struct _Ecore_Drm_Output
 
Ecore_Drm_Backlight *backlight;   
 
+   Eina_Bool connected : 1;
Eina_Bool enabled : 1;
Eina_Bool cloned : 1;
Eina_Bool need_repaint : 1;

-- 




[EGIT] [core/efl] master 49/55: evas: implement _op_blend_rel_c_dp_neon using NEON intrinsics

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=10ece61dbf6d77d0a42df05c88742114c0ad6ef2

commit 10ece61dbf6d77d0a42df05c88742114c0ad6ef2
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 23:38:34 2015 +0200

evas: implement _op_blend_rel_c_dp_neon using NEON intrinsics

Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../common/evas_op_blend/op_blend_color_neon.c | 98 --
 1 file changed, 89 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
index 7ba2ffd..076bad9 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
@@ -1,8 +1,6 @@
 #ifdef BUILD_NEON
-#ifdef BUILD_NEON_INTRINSICS
 #include arm_neon.h
 #endif
-#endif
 /* blend color -- dst */
 
 #ifdef BUILD_NEON
@@ -278,13 +276,95 @@ init_blend_color_pt_funcs_neon(void)
 #ifdef BUILD_NEON
 static void
 _op_blend_rel_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 *d, int l) {
-   DATA32 *e;
-   int alpha = 256 - (c  24);
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-*d = MUL_SYM(*d  24, c) + MUL_256(alpha, *d);
-d++;
- });
+   uint16x8_t ad0_16x8;
+   uint16x8_t ad1_16x8;
+   uint16x8_t dc0_16x8;
+   uint16x8_t dc1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x2_t c_32x2;
+   uint32x4_t ad_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t dc_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t ad_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t dc_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t ad0_8x8;
+   uint8x8_t ad1_8x8;
+   uint8x8_t alpha_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t dc0_8x8;
+   uint8x8_t dc1_8x8;
+
+   // alpha can only be 0 if color is 0x0. In that case we can just return.
+   // Otherwise we can assume alpha != 0. This allows more optimization in
+   // NEON code.
+
+   if(!c)
+  return;
+
+   unsigned char alpha;
+   alpha = ~(c  24) + 1; // 256 - (c  24)
+
+   alpha_8x8 = vdup_n_u8(alpha);
+   c_32x2 = vdup_n_u32(c);
+   c_8x8 = vreinterpret_u8_u32(c_32x2);
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   x255_16x8 = vdupq_n_u16(0xff);
+
+   DATA32 *end = d + (l  ~3);
+   while (d  end)
+   {
+  // load 4 elements from d
+  d_32x4 = vld1q_u32(d);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  // multiply MUL_256(alpha, *d);
+  ad0_16x8 = vmull_u8(alpha_8x8, d0_8x8);
+  ad1_16x8 = vmull_u8(alpha_8x8, d1_8x8);
+  ad0_8x8 = vshrn_n_u16(ad0_16x8,8);
+  ad1_8x8 = vshrn_n_u16(ad1_16x8,8);
+  ad_8x16 = vcombine_u8(ad0_8x8, ad1_8x8);
+  ad_32x4 = vreinterpretq_u32_u8(ad_8x16);
+
+  // shift (*d  24)
+  dc_32x4 = vshrq_n_u32(d_32x4, 24);
+  dc_32x4 = vmulq_u32(x1_32x4, dc_32x4);
+  dc_8x16 = vreinterpretq_u8_u32(dc_32x4);
+  dc0_8x8 = vget_low_u8(dc_8x16);
+  dc1_8x8 = vget_high_u8(dc_8x16);
+
+  // multiply MUL_256(*d  24, sc);
+  dc0_16x8 = vmull_u8(dc0_8x8, c_8x8);
+  dc1_16x8 = vmull_u8(dc1_8x8, c_8x8);
+  dc0_16x8 = vaddq_u16(dc0_16x8, x255_16x8);
+  dc1_16x8 = vaddq_u16(dc1_16x8, x255_16x8);
+  dc0_8x8 = vshrn_n_u16(dc0_16x8, 8);
+  dc1_8x8 = vshrn_n_u16(dc1_16x8, 8);
+  dc_8x16 = vcombine_u8(dc0_8x8, dc1_8x8);
+
+  // add up everything
+  dc_32x4 = vreinterpretq_u32_u8(dc_8x16);
+  d_32x4 = vaddq_u32(dc_32x4, ad_32x4);
+
+  // save result
+  vst1q_u32(d, d_32x4);
+
+  d+=4;
+   }
+
+   end += (l  3);
+   while (d  end)
+   {
+  *d = MUL_SYM(*d  24, c) + MUL_256(alpha, *d);
+  d++;
+   }
 }
 
 #define _op_blend_rel_caa_dp_neon _op_blend_rel_c_dp_neon

-- 




[EGIT] [core/efl] master 09/55: evas: enable NEON-optimized code for aarch64.

2015-05-07 Thread Yury Usishchev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=71eec44ccc9ab43e728ba986fadce6c6cfd2ff7c

commit 71eec44ccc9ab43e728ba986fadce6c6cfd2ff7c
Author: Yury Usishchev y.usishc...@samsung.com
Date:   Wed Apr 15 17:21:33 2015 +0200

evas: enable NEON-optimized code for aarch64.

Summary:
Add new define, BUILD_NEON_INTRINSICS to control whether NEON inline code or
NEON intrinsics should be built.

GCC NEON intrinsics can be built both for armv7 and armv8. However NEON 
inline
code can be built only for armv7.

@feature

Reviewers: raster, stefan_schmidt, cedric

Subscribers: cedric, stefan_schmidt

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 configure.ac   | 18 +
 src/lib/evas/common/evas_blit_main.c   |  8 
 src/lib/evas/common/evas_cpu.c |  9 +
 .../common/evas_op_blend/op_blend_color_neon.c | 10 -
 .../evas_op_blend/op_blend_mask_color_neon.c   | 47 ++
 .../evas_op_blend/op_blend_pixel_color_neon.c  | 14 ++-
 .../common/evas_op_blend/op_blend_pixel_neon.c | 33 ++-
 .../evas/common/evas_op_copy/op_copy_color_neon.c  |  9 +
 8 files changed, 145 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 9eed98c..63cc54d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -576,6 +576,21 @@ case $host_cpu in
CFLAGS=${CFLAGS_save}
 fi
 ;;
+  aarch64*)
+if test x${want_neon} = xyes; then
+   build_cpu_neon=yes
+   AC_MSG_CHECKING([whether to use NEON instructions])
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include arm_neon.h]], 
[[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
+   AC_MSG_RESULT([yes])
+   AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
+   AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
+   build_cpu_neon=yes
+],[
+  AC_MSG_RESULT([no])
+   build_cpu_neon=no
+])
+fi
+;;
 esac
 
 AC_SUBST([ALTIVEC_CFLAGS])
@@ -4741,6 +4756,9 @@ case $host_cpu in
   arm*)
 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
 ;;
+  aarch64*)
+EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
+;;
 esac
 
 if test ${have_linux} = yes; then
diff --git a/src/lib/evas/common/evas_blit_main.c 
b/src/lib/evas/common/evas_blit_main.c
index 7f8faa1..4da4034 100644
--- a/src/lib/evas/common/evas_blit_main.c
+++ b/src/lib/evas/common/evas_blit_main.c
@@ -132,6 +132,9 @@ evas_common_copy_rev_pixels_c(DATA32 *src, DATA32 *dst, int 
len)
 static void
 evas_common_copy_pixels_rev_neon(DATA32 *src, DATA32 *dst, int len)
 {
+#ifdef BUILD_NEON_INTRINSICS
+evas_common_copy_pixels_rev_c(src, dst, len);
+#else
uint32_t *tmp = (void *)37;
 #define AP evas_common_copy_rev_pixels_neon_
asm volatile (
@@ -228,6 +231,7 @@ evas_common_copy_pixels_rev_neon(DATA32 *src, DATA32 *dst, 
int len)
);
 #undef AP
 
+#endif
 }
 #endif
 
@@ -324,6 +328,9 @@ evas_common_copy_pixels_mmx2(DATA32 *src, DATA32 *dst, int 
len)
 #ifdef BUILD_NEON
 static void
 evas_common_copy_pixels_neon(DATA32 *src, DATA32 *dst, int len){
+#ifdef BUILD_NEON_INTRINSICS
+evas_common_copy_pixels_c(src, dst, len);
+#else
uint32_t *e,*tmp = (void *)37;
e = dst + len;
 #define AP evas_common_copy_pixels_neon_
@@ -410,6 +417,7 @@ evas_common_copy_pixels_neon(DATA32 *src, DATA32 *dst, int 
len){
);
 #undef AP
 
+#endif
 }
 #endif /* BUILD_NEON */
 
diff --git a/src/lib/evas/common/evas_cpu.c b/src/lib/evas/common/evas_cpu.c
index 4139098..0f83258 100644
--- a/src/lib/evas/common/evas_cpu.c
+++ b/src/lib/evas/common/evas_cpu.c
@@ -2,6 +2,11 @@
 #ifdef BUILD_MMX
 #include evas_mmx.h
 #endif
+#ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+#include arm_neon.h
+#endif
+#endif
 #if defined BUILD_SSE3
 #include immintrin.h
 #endif
@@ -92,6 +97,9 @@ evas_common_cpu_neon_test(void)
 {
 //#if defined(__ARM_ARCH__)  (__ARM_ARCH__ = 70)
 #ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+   volatile uint32x4_t temp = vdupq_n_u32(0x1);
+#else
asm volatile (
.fpu neon   \n\t
  vqadd.u8 d0, d1, d0\n
@@ -101,6 +109,7 @@ evas_common_cpu_neon_test(void)
  d0, d1
  );
 #endif
+#endif
 //#endif
 }
 
diff --git a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
index 9e94298..2bf14c1 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_color_neon.c
@@ -3,6 +3,14 @@
 #ifdef BUILD_NEON
 static void
 _op_blend_c_dp_neon(DATA32 *s EINA_UNUSED, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 *d, int l) {
+#ifdef BUILD_NEON_INTRINSICS
+DATA32 *e, a = 256 - (c  

[EGIT] [core/efl] master 15/55: evas: implement _op_blend_p_c_dp_neon in NEON intrinsics.

2015-05-07 Thread Yury Usishchev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=be7c7c2c77c7b61f569532be7abb07858490bae6

commit be7c7c2c77c7b61f569532be7abb07858490bae6
Author: Yury Usishchev y.usishc...@samsung.com
Date:   Thu Apr 16 19:25:29 2015 +0200

evas: implement _op_blend_p_c_dp_neon in NEON intrinsics.

Reviewers: cedric, raster

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../evas_op_blend/op_blend_pixel_color_neon.c  | 116 +++--
 1 file changed, 106 insertions(+), 10 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
index c47ec7c..b1bfc25 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c
@@ -1,3 +1,8 @@
+#ifdef BUILD_NEON
+#ifdef BUILD_NEON_INTRINSICS
+#include arm_neon.h
+#endif
+#endif
 /* blend pixel x color -- dst */
 #ifdef BUILD_NEON
 
@@ -8,16 +13,107 @@
 static void
 _op_blend_p_c_dp_neon(DATA32 * __restrict s, DATA8 *m EINA_UNUSED, DATA32 c, 
DATA32 * __restrict d, int l) {
 #ifdef BUILD_NEON_INTRINSICS
-   DATA32 *e;
-   int alpha;
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-DATA32 sc = MUL4_SYM(c, *s);
-alpha = 256 - (sc  24);
-*d = sc + MUL_256(alpha, *d);
-d++;
-s++;
- });
+   uint16x8_t ad0_16x8;
+   uint16x8_t ad1_16x8;
+   uint16x8_t sc0_16x8;
+   uint16x8_t sc1_16x8;
+   uint16x8_t x255_16x8;
+   uint32x2_t c_32x2;
+   uint32x4_t ad_32x4;
+   uint32x4_t alpha_32x4;
+   uint32x4_t cond_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t s_32x4;
+   uint32x4_t sc_32x4;
+   uint32x4_t x0_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t ad_8x16;
+   uint8x16_t alpha_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t s_8x16;
+   uint8x16_t sc_8x16;
+   uint8x16_t x0_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t ad0_8x8;
+   uint8x8_t ad1_8x8;
+   uint8x8_t alpha0_8x8;
+   uint8x8_t alpha1_8x8;
+   uint8x8_t c_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t s0_8x8;
+   uint8x8_t s1_8x8;
+   uint8x8_t sc0_8x8;
+   uint8x8_t sc1_8x8;
+
+   c_32x2 = vdup_n_u32(c);
+   c_8x8 = vreinterpret_u8_u32(c_32x2);
+   x255_16x8 = vdupq_n_u16(0xff);
+   x0_8x16 = vdupq_n_u8(0x0);
+   x0_32x4 = vreinterpretq_u32_u8(x0_8x16);
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   DATA32 *start = d;
+   int size = l;
+   DATA32 *end = start + (size  ~3);
+   while (start  end)
+   {
+
+  s_32x4 = vld1q_u32(s);
+  s_8x16 = vreinterpretq_u8_u32(s_32x4);
+
+  d_32x4 = vld1q_u32(start);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  s0_8x8 = vget_low_u8(s_8x16);
+  s1_8x8 = vget_high_u8(s_8x16);
+
+  sc0_16x8 = vmull_u8(s0_8x8, c_8x8);
+  sc1_16x8 = vmull_u8(s1_8x8, c_8x8);
+  sc0_16x8 = vaddq_u16(sc0_16x8, x255_16x8);
+  sc1_16x8 = vaddq_u16(sc1_16x8, x255_16x8);
+  sc0_8x8 = vshrn_n_u16(sc0_16x8, 8);
+  sc1_8x8 = vshrn_n_u16(sc1_16x8, 8);
+  sc_8x16 = vcombine_u8(sc0_8x8, sc1_8x8);
+
+  alpha_32x4 = vreinterpretq_u32_u8(sc_8x16);
+  alpha_32x4 = vshrq_n_u32(alpha_32x4, 24);
+  alpha_32x4 = vmulq_u32(x1_32x4, alpha_32x4);
+  alpha_8x16 = vreinterpretq_u8_u32(alpha_32x4);
+  alpha_8x16 = vsubq_u8(x0_8x16, alpha_8x16);
+  alpha0_8x8 = vget_low_u8(alpha_8x16);
+  alpha1_8x8 = vget_high_u8(alpha_8x16);
+
+  ad0_16x8 = vmull_u8(alpha0_8x8, d0_8x8);
+  ad1_16x8 = vmull_u8(alpha1_8x8, d1_8x8);
+  ad0_8x8 = vshrn_n_u16(ad0_16x8,8);
+  ad1_8x8 = vshrn_n_u16(ad1_16x8,8);
+  ad_8x16 = vcombine_u8(ad0_8x8, ad1_8x8);
+  ad_32x4 = vreinterpretq_u32_u8(ad_8x16);
+
+  alpha_32x4 = vreinterpretq_u32_u8(alpha_8x16);
+  cond_32x4 = vceqq_u32(alpha_32x4, x0_32x4);
+  ad_32x4 = vbslq_u32(cond_32x4, d_32x4 , ad_32x4);
+
+  sc_32x4 = vreinterpretq_u32_u8(sc_8x16);
+  d_32x4 = vaddq_u32(sc_32x4, ad_32x4);
+
+  vst1q_u32(start, d_32x4);
+
+  s+=4;
+  start+=4;
+   }
+   end += (size  3);
+   while (start   end)
+   {
+  DATA32 sc = MUL4_SYM(c, *s);
+  DATA32 alpha = 256 - (sc  24);
+  *start = sc + MUL_256(alpha, *start);
+  start++;
+  s++;
+   }
 #else
 #define AP blend_p_c_dp_
asm volatile (

-- 




[EGIT] [core/efl] master 44/55: eina: add benchmark for crc hash in eina benchmark

2015-05-07 Thread vivek
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=eec4a7bd0caa7d52bff6cc524ca12efa16d1445b

commit eec4a7bd0caa7d52bff6cc524ca12efa16d1445b
Author: vivek vivek.el...@samsung.com
Date:   Tue Apr 28 23:29:18 2015 +0200

eina: add benchmark for crc hash in eina benchmark

Summary:
The code added is actually benchmarking all hash function key with various 
length (8, 32, 256 bytes).

Signed-off-by: vivek vivek.el...@samsung.com

Reviewers: Sergeant_Whitespace, cedric

Reviewed By: cedric

Subscribers: Sergeant_Whitespace, cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/benchmarks/eina/Makefile.am   |   1 +
 src/benchmarks/eina/eina_bench.c  |   3 +
 src/benchmarks/eina/eina_bench.h  |   5 +
 src/benchmarks/eina/eina_bench_crc_hash.c | 279 ++
 4 files changed, 288 insertions(+)

diff --git a/src/benchmarks/eina/Makefile.am b/src/benchmarks/eina/Makefile.am
index 9f64d46..da6ceb9 100644
--- a/src/benchmarks/eina/Makefile.am
+++ b/src/benchmarks/eina/Makefile.am
@@ -18,6 +18,7 @@ eina_bench_SOURCES = \
 eina_bench.c \
 eina_bench_sort.c \
 eina_bench_hash.c \
+eina_bench_crc_hash.c \
 eina_bench_stringshare.c \
 eina_bench_convert.c \
 eina_bench_mempool.c \
diff --git a/src/benchmarks/eina/eina_bench.c b/src/benchmarks/eina/eina_bench.c
index dec210e..1ca7e51 100644
--- a/src/benchmarks/eina/eina_bench.c
+++ b/src/benchmarks/eina/eina_bench.c
@@ -37,6 +37,9 @@ struct _Eina_Benchmark_Case
 
 static const Eina_Benchmark_Case etc[] = {
{ Hash, eina_bench_hash, EINA_TRUE },
+   { Hash_Short_Key, eina_bench_crc_hash_short, EINA_TRUE },
+   { Hash_Medium_Key, eina_bench_crc_hash_medium, EINA_TRUE },
+   { Hash_Large_key, eina_bench_crc_hash_large, EINA_TRUE },
{ Array vs List vs Inlist, eina_bench_array, EINA_TRUE },
{ Stringshare, eina_bench_stringshare, EINA_TRUE },
{ Convert, eina_bench_convert, EINA_TRUE },
diff --git a/src/benchmarks/eina/eina_bench.h b/src/benchmarks/eina/eina_bench.h
index d575822..f076d41 100644
--- a/src/benchmarks/eina/eina_bench.h
+++ b/src/benchmarks/eina/eina_bench.h
@@ -21,7 +21,12 @@
 
 #include eina_benchmark.h
 
+int key_size;
+
 void eina_bench_hash(Eina_Benchmark *bench);
+void eina_bench_crc_hash_short(Eina_Benchmark *bench);
+void eina_bench_crc_hash_medium(Eina_Benchmark *bench);
+void eina_bench_crc_hash_large(Eina_Benchmark *bench);
 void eina_bench_array(Eina_Benchmark *bench);
 void eina_bench_stringshare(Eina_Benchmark *bench);
 void eina_bench_convert(Eina_Benchmark *bench);
diff --git a/src/benchmarks/eina/eina_bench_crc_hash.c 
b/src/benchmarks/eina/eina_bench_crc_hash.c
new file mode 100644
index 000..b673448
--- /dev/null
+++ b/src/benchmarks/eina/eina_bench_crc_hash.c
@@ -0,0 +1,279 @@
+#ifdef HAVE_CONFIG_H
+# include config.h
+#endif
+
+#include stdlib.h
+#include stdio.h
+#include string.h
+#include time.h
+
+#ifdef EINA_BENCH_HAVE_GLIB
+# include glib.h
+#endif
+
+#include Eina.h
+#include Evas_Data.h
+#include Ecore_Data.h
+
+#include eina_hash.h
+#include eina_array.h
+#include eina_bench.h
+#include eina_rbtree.h
+#include eina_convert.h
+
+#ifdef CITYHASH_BENCH
+// Hash function for a byte array.
+uint64_t CityHash64(const char *buf, size_t len);
+#endif
+
+char *key_str=NULL;
+
+void repchar(int n)
+{
+   key_str = (char *)malloc(n);
+   int i;
+
+   for (i = 0; i  n; i++)
+  key_str[i] = 'a';
+}
+
+static void
+eina_bench_murmur_hash(int request)
+{
+   unsigned int i;
+
+   for (i = 0; i  (unsigned int)request; ++i)
+ {
+char tmp_key[key_size];
+
+eina_convert_itoa(i, tmp_key);
+eina_strlcat(tmp_key, key_str, key_size);
+
+eina_hash_murmur3(tmp_key, key_size);
+ }
+}
+
+#ifdef CITYHASH_BENCH
+static void
+eina_bench_cityhash(int request)
+{
+   unsigned int i;
+
+   for (i = 0; i  (unsigned int)request; ++i)
+ {
+char tmp_key[key_size];
+
+eina_convert_itoa(i, tmp_key);
+eina_strlcat(tmp_key, key_str, key_size);
+
+CityHash64(tmp_key, key_size);
+ }
+}
+#endif
+
+static void
+eina_bench_superfast_hash(int request)
+{
+   unsigned int i;
+
+   for (i = 0; i  (unsigned int)request; ++i)
+ {
+char tmp_key[key_size];
+
+eina_convert_itoa(i, tmp_key);
+eina_strlcat(tmp_key, key_str, key_size);
+
+eina_hash_superfast(tmp_key, key_size);
+ }
+}
+
+static void
+eina_bench_crchash(int request)
+{
+   unsigned int i;
+
+   for (i = 0; i  (unsigned int)request; ++i)
+ {
+char tmp_key[key_size];
+
+eina_convert_itoa(i, tmp_key);
+eina_strlcat(tmp_key, key_str, key_size);
+
+eina_hash_crc(tmp_key, key_size);
+ }
+}
+
+static void
+eina_bench_djb2_hash(int request)
+{
+   unsigned int i;
+
+   for (i = 0; i  (unsigned int)request; ++i)
+ {
+

[EGIT] [core/efl] master 30/55: edje: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=59fb53c4cc41434da051626c75b5ffa4569d7c0d

commit 59fb53c4cc41434da051626c75b5ffa4569d7c0d
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:09:11 2015 +0200

edje: remove the need to order the header correctly for Windows.
---
 src/lib/edje/Edje.h |  3 +++
 src/lib/edje/edje_private.h | 28 
 2 files changed, 31 insertions(+)

diff --git a/src/lib/edje/Edje.h b/src/lib/edje/Edje.h
index ccace36..c13292f 100644
--- a/src/lib/edje/Edje.h
+++ b/src/lib/edje/Edje.h
@@ -261,4 +261,7 @@ extern C {
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 4abc5eb..5d9592b 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -58,6 +58,31 @@
 #endif
 
 #include Edje.h
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EDJE_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EDJE_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
 
 EAPI extern int _edje_default_log_dom ;
 
@@ -2800,4 +2825,7 @@ typedef Eina_Bool (*MULTISENSE_FACTORY_INIT_FUNC) 
(Edje_Multisense_Env *);
 typedef RemixBase* (*MULTISENSE_SOUND_PLAYER_GET_FUNC) (Edje_Multisense_Env *);
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 22/55: evas: primitives - Changed enum for types of Evas_3D_Mesh primitives

2015-05-07 Thread Bogdan Devichev
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=04038dfaefa81e39988b3dc90b84da73dfea5e1f

commit 04038dfaefa81e39988b3dc90b84da73dfea5e1f
Author: Bogdan Devichev b.devic...@samsung.com
Date:   Wed Apr 22 15:27:49 2015 +0200

evas: primitives - Changed enum for types of Evas_3D_Mesh primitives

Summary:
**`Creating API for primitives.`**

//What should be in the end://

- Class evas_3d_primitive inherited from eo.base
- Unificated API of mesh for setting data from primitives
- API's of primitives to get/set precision, ratio, type, tex_scale etc.
- code of primitives in separated modules

//Steps://

**1.) Enum for types of primitives**
2.) Copies of primitives in modules
3.) Eo and c files for class of primitive
4.) In common create picker of module
5.) API function in mesh.c
6.) Binding of new realization
7.) Rewriting of examples
8.) Deleting of old files for primitives

//Also this commit will be usable in parsing EDC by edje//

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/evas/Evas_Eo.h | 20 +---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 2964442..8850a45 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -721,12 +721,26 @@ typedef enum _Evas_3D_Wrap_Mode
  */
 typedef enum _Evas_3D_Mesh_Primitive
 {
+   /** An empty space */
EVAS_3D_MESH_PRIMITIVE_NONE = 0,
-   EVAS_3D_MESH_PRIMITIVE_CUBE = 1,
-   EVAS_3D_MESH_PRIMITIVE_SPHERE = 2
+   /** One sided square */
+   EVAS_3D_MESH_PRIMITIVE_SQUARE,
+   /** Cube */
+   EVAS_3D_MESH_PRIMITIVE_CUBE,
+   /** Cylinder (can use precision and texture scale) */
+   EVAS_3D_MESH_PRIMITIVE_CYLINDER,
+   /** Cone (can use precision and texture scale) */
+   EVAS_3D_MESH_PRIMITIVE_CONE,
+   /** Sphere (can use precision and texture scale) */
+   EVAS_3D_MESH_PRIMITIVE_SPHERE,
+   /** Torus (can use ratio, precision and texture scale) */
+   EVAS_3D_MESH_PRIMITIVE_TORUS,
+   /** Custom surface (can use pointer to users function, precision and 
texture scale) */
+   EVAS_3D_MESH_PRIMITIVE_SURFACE,
+   /** Terrain as surface with pointer to Perlin's noise function */
+   EVAS_3D_MESH_PRIMITIVE_TERRAIN
 } Evas_3D_Mesh_Primitive;
 
-
 /**
  * Texture filters
  *

-- 




[EGIT] [core/efl] master 21/55: evas: implement _op_blend_p_mas_dp_neon and _op_blend_pas_mas_dp_neon in NEON intrinsics.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=657d495aa9607774409206099d809a1a737b736a

commit 657d495aa9607774409206099d809a1a737b736a
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Wed Apr 22 15:24:13 2015 +0200

evas: implement _op_blend_p_mas_dp_neon and _op_blend_pas_mas_dp_neon in 
NEON intrinsics.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../evas_op_blend/op_blend_pixel_mask_neon.c   | 384 ++---
 1 file changed, 337 insertions(+), 47 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c
index 0c1029b..317e7d5 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_neon.c
@@ -1,62 +1,352 @@
+#ifdef BUILD_NEON
+#include arm_neon.h
+#endif
 /* blend pixel x mask -- dst */
 
-// FIXME: These functions most likely don't perform the correct operation.
-// Test them with masks and images.
-
 #ifdef BUILD_NEON
-#if 0
 static void
 _op_blend_pas_mas_dp_neon(DATA32 *s, DATA8 *m, DATA32 c EINA_UNUSED, DATA32 
*d, int l) {
-   DATA32 *e;
+   uint16x8_t m_16x8;
+   uint16x8_t ms0_16x8;
+   uint16x8_t ms1_16x8;
+   uint16x8_t temp0_16x8;
+   uint16x8_t temp1_16x8;
+   uint16x8_t x255_16x8;
+   uint32_t m_32;
+   uint32x2_t m_32x2;
+   uint32x4_t a_32x4;
+   uint32x4_t ad_32x4;
+   uint32x4_t cond_32x4;
+   uint32x4_t d_32x4;
+   uint32x4_t m_32x4;
+   uint32x4_t ms_32x4;
+   uint32x4_t s_32x4;
+   uint32x4_t temp_32x4;
+   uint32x4_t x0_32x4;
+   uint32x4_t x1_32x4;
+   uint8x16_t a_8x16;
+   uint8x16_t d_8x16;
+   uint8x16_t m_8x16;
+   uint8x16_t ms_8x16;
+   uint8x16_t s_8x16;
+   uint8x16_t temp_8x16;
+   uint8x16_t x0_8x16;
+   uint8x16_t x1_8x16;
+   uint8x8_t a0_8x8;
+   uint8x8_t a1_8x8;
+   uint8x8_t d0_8x8;
+   uint8x8_t d1_8x8;
+   uint8x8_t m0_8x8;
+   uint8x8_t m1_8x8;
+   uint8x8_t m_8x8;
+   uint8x8_t ms0_8x8;
+   uint8x8_t ms1_8x8;
+   uint8x8_t s0_8x8;
+   uint8x8_t s1_8x8;
+   uint8x8_t temp0_8x8;
+   uint8x8_t temp1_8x8;
+
+   x1_8x16 = vdupq_n_u8(0x1);
+   x1_32x4 = vreinterpretq_u32_u8(x1_8x16);
+   x255_16x8 = vdupq_n_u16(0xff);
+   x0_8x16 = vdupq_n_u8(0x0);
+   x0_32x4 = vreinterpretq_u32_u8(x0_8x16);
+
+   DATA32 *end = d + (l  ~3);
+   while (d  end)
+   {
+  unsigned int k = *((unsigned int *)m);
+  // shortcut if *m==0
+  if (k == 0)
+  {
+ m+=4;
+ d+=4;
+ s+=4;
+ continue;
+  }
+  // shortcut if *m==0xff
+  if (~k == 0)
+  {
+ // load 4 elements from s
+ s_32x4 = vld1q_u32(s);
+ s_8x16 = vreinterpretq_u8_u32(s_32x4);
+
+ // load 4 elements from d
+ d_32x4 = vld1q_u32(d);
+ d_8x16 = vreinterpretq_u8_u32(d_32x4);
+ d0_8x8 = vget_low_u8(d_8x16);
+ d1_8x8 = vget_high_u8(d_8x16);
+
+ // substract 256 - *s
+ a_8x16 = vsubq_u8(x0_8x16, s_8x16);
+ a_32x4 = vreinterpretq_u32_u8(a_8x16);
+
+ // shift alpha24 and place it into every 8bit element
+ a_32x4 = vshrq_n_u32(a_32x4, 24);
+ a_32x4 = vmulq_u32(a_32x4, x1_32x4);
+ a_8x16 = vreinterpretq_u8_u32(a_32x4);
+ a0_8x8 = vget_low_u8(a_8x16);
+ a1_8x8 = vget_high_u8(a_8x16);
+
+ // multiply MUL_256(a, *d)
+ temp0_16x8 = vmull_u8(a0_8x8, d0_8x8);
+ temp1_16x8 = vmull_u8(a1_8x8, d1_8x8);
+ temp0_8x8 = vshrn_n_u16(temp0_16x8,8);
+ temp1_8x8 = vshrn_n_u16(temp1_16x8,8);
+ temp_8x16 = vcombine_u8(temp0_8x8, temp1_8x8);
+ temp_32x4 = vreinterpretq_u32_u8(temp_8x16);
+
+ // if alpha is 0, replace a*d with d
+ cond_32x4 = vceqq_u32(a_32x4, x0_32x4);
+ ad_32x4 = vbslq_u32(cond_32x4, d_32x4, temp_32x4);
+
+ // add *s
+ d_32x4 = vaddq_u32(s_32x4, ad_32x4);
+
+ // save result
+ vst1q_u32(d, d_32x4);
+ m+=4;
+ d+=4;
+ s+=4;
+ continue;
+  }
+  // load 4 elements from m
+  m_32 = k;
+  m_32x2 = vset_lane_u32(m_32, m_32x2, 0);
+
+  // load 4 elements from s
+  s_32x4 = vld1q_u32(s);
+  s_8x16 = vreinterpretq_u8_u32(s_32x4);
+  s0_8x8 = vget_low_u8(s_8x16);
+  s1_8x8 = vget_high_u8(s_8x16);
+
+  // load 4 elements from d
+  d_32x4 = vld1q_u32(d);
+  d_8x16 = vreinterpretq_u8_u32(d_32x4);
+  d0_8x8 = vget_low_u8(d_8x16);
+  d1_8x8 = vget_high_u8(d_8x16);
+
+  // make m 32 bit wide
+  m_8x8 = vreinterpret_u8_u32(m_32x2);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_8x16 = vreinterpretq_u8_u16(m_16x8);
+  m_8x8 = vget_low_u8(m_8x16);
+  m_16x8 = vmovl_u8(m_8x8);
+  m_32x4 = 

[EGIT] [core/efl] master 26/55: emile: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fe6f394dabe5db0cb739ac852b9f3f36247a0885

commit fe6f394dabe5db0cb739ac852b9f3f36247a0885
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 14:22:38 2015 +0200

emile: remove the need to order the header correctly for Windows.
---
 src/lib/emile/Emile.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/emile/Emile.h b/src/lib/emile/Emile.h
index 88e2c62..486acc3 100644
--- a/src/lib/emile/Emile.h
+++ b/src/lib/emile/Emile.h
@@ -114,4 +114,7 @@ EAPI int emile_shutdown(void);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 17/55: edje: add align 3d support.

2015-05-07 Thread perepelits.m
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=83bb3b5b5180bbe96d6ea8da1f3b82071b6a01c9

commit 83bb3b5b5180bbe96d6ea8da1f3b82071b6a01c9
Author: perepelits.m perepelit...@samsung.com
Date:   Thu Apr 16 19:29:01 2015 +0200

edje: add align 3d support.

Summary: Adding of Z axis to be aligned

Reviewers: cedric, raster, Hermet

Subscribers: cedric, artem.popov

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/bin/edje/edje_cc_handlers.c | 23 +--
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 41da0f2..fe11ddb 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6377,6 +6377,9 @@ ob_collections_group_parts_part_description(void)
ed-minmul.have = 1;
ed-minmul.w = FROM_INT(1);
ed-minmul.h = FROM_INT(1);
+   ed-align_3d.x = FROM_DOUBLE(0.5);
+   ed-align_3d.y = FROM_DOUBLE(0.5);
+   ed-align_3d.z = FROM_DOUBLE(0.5);
 }
 
 static void
@@ -6870,7 +6873,7 @@ st_collections_group_parts_part_description_limit(void)
 @property
 align
 @parameters
-[X axis] [Y axis]
+[X axis] [Y axis] ([Z axis])
 @effect
 When the displayed object's size is smaller (or bigger) than
 its container, this property moves it relatively along both
@@ -6878,16 +6881,24 @@ st_collections_group_parts_part_description_limit(void)
 the object touching container's respective ones, while @c
 1.0 stands for right/bottom edges of the object (on
 horizonal/vertical axis, respectively). The default value is
-@c 0.5 0.5.
+@c 0.5 0.5. There is one more parametr for Z axis in case
+of MESH_NODE.
 @endproperty
 */
 static void
 st_collections_group_parts_part_description_align(void)
 {
-   check_arg_count(2);
-
-   current_desc-align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
-   current_desc-align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+   if (get_arg_count() == 2)
+ {
+current_desc-align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
+current_desc-align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+ }
+   else if (get_arg_count() == 3)
+ {
+current_desc-align_3d.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
+current_desc-align_3d.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+current_desc-align_3d.z = FROM_DOUBLE(parse_float_range(2, 0.0, 1.0));
+ }
 }
 
 /**

-- 




[EGIT] [core/efl] master 31/55: eeze: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e2f69adcf08b2967cfad08b1c0295d9333262925

commit e2f69adcf08b2967cfad08b1c0295d9333262925
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:09:59 2015 +0200

eeze: remove the need to order the header correctly for Windows.
---
 src/lib/eeze/Eeze.h | 3 +++
 src/lib/eeze/Eeze_Net.h | 9 ++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/lib/eeze/Eeze.h b/src/lib/eeze/Eeze.h
index 0ad8a29..39096a0 100644
--- a/src/lib/eeze/Eeze.h
+++ b/src/lib/eeze/Eeze.h
@@ -705,4 +705,7 @@ EAPI void*eeze_udev_watch_del(Eeze_Udev_Watch 
*watch);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/eeze/Eeze_Net.h b/src/lib/eeze/Eeze_Net.h
index aa58deb..25bc27f 100644
--- a/src/lib/eeze/Eeze_Net.h
+++ b/src/lib/eeze/Eeze_Net.h
@@ -1,6 +1,9 @@
 #ifndef EEZE_NET_H
 #define EEZE_NET_H
 
+#include Eina.h
+#include Ecore.h
+
 #ifdef EAPI
 # undef EAPI
 #endif
@@ -15,9 +18,6 @@
 # define EAPI
 #endif
 
-#include Eina.h
-#include Ecore.h
-
 /**
  * @file Eeze_Net.h
  * @brief Network manipulation
@@ -62,4 +62,7 @@ EAPI Eina_List  *eeze_net_list(void);
 #endif
 /** @} */
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 32/55: efl: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=04d290c35022b9add5ef8de9cd22fdf7dd69d930

commit 04d290c35022b9add5ef8de9cd22fdf7dd69d930
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 15:11:20 2015 +0200

efl: remove the need to order the header correctly for Windows.
---
 src/lib/efl/Efl.h | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 2de7680..f8eb8eb 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -2,8 +2,7 @@
 #define _EFL_H
 
 #if defined ( __cplusplus )
-extern C
-{
+extern C {
 #endif
 
 #include Eo.h
@@ -171,4 +170,7 @@ EAPI extern const Eo_Event_Description 
_EFL_GFX_PATH_CHANGED;
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/efl] master 38/55: emotion: remove the need to order the header correctly for Windows.

2015-05-07 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f193b91fd8aa16d377476137a7a84ea1fc6682b9

commit f193b91fd8aa16d377476137a7a84ea1fc6682b9
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Tue Apr 28 16:51:57 2015 +0200

emotion: remove the need to order the header correctly for Windows.
---
 src/lib/emotion/Emotion.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/emotion/Emotion.h b/src/lib/emotion/Emotion.h
index a776084..09c88e1 100644
--- a/src/lib/emotion/Emotion.h
+++ b/src/lib/emotion/Emotion.h
@@ -1347,4 +1347,7 @@ EAPI const char  *emotion_webcam_device_get(const 
Emotion_Webcam *ew);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif

-- 




[EGIT] [core/elementary] master 01/01: elm_genlist: Emitting signal when content or text is set in genlist item

2015-05-07 Thread Jee-Yong Um
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=26277620c0a073a21d078ef2706c352242b2f89b

commit 26277620c0a073a21d078ef2706c352242b2f89b
Author: Jee-Yong Um jc9...@samsung.com
Date:   Thu May 7 16:21:57 2015 +0900

elm_genlist: Emitting signal when content or text is set in genlist item

Summary:
There could be a demand for providing subtle different item styles
according to the existence of icon or text swallowed in genlist item.
For example, if icon exists, genlist item shows icon, or show rectangle
where icon should be placed.
One style can have various form with this signal.

Reviewers: Hermet

Subscribers: Hermet

Differential Revision: https://phab.enlightenment.org/D2348
---
 src/lib/elm_genlist.c | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index f6e66e0..c41115f 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -307,6 +307,7 @@ _item_text_realize(Elm_Gen_Item *it,
const Eina_List *l;
const char *key;
char *s;
+   char buf[256];
 
if (!it-itc-func.text_get) return;
 
@@ -323,6 +324,9 @@ _item_text_realize(Elm_Gen_Item *it,
   {
  edje_object_part_text_escaped_set(target, key, s);
  free(s);
+
+ snprintf(buf, sizeof(buf), elm,state,%s,visible, key);
+ edje_object_signal_emit(target, buf, elm);
   }
 else
   {
@@ -342,6 +346,7 @@ _item_content_realize(Elm_Gen_Item *it,
 {
Eina_Bool tmp;
Evas_Object *content;
+   char buf[256];
 
if (!parts)
  {
@@ -384,6 +389,9 @@ _item_content_realize(Elm_Gen_Item *it,
  elm_widget_sub_object_add(WIDGET(it), content);
  if (eo_do_ret(EO_OBJ(it), tmp, elm_wdg_item_disabled_get()))
elm_widget_disabled_set(content, EINA_TRUE);
+
+ snprintf(buf, sizeof(buf), elm,state,%s,visible, key);
+ edje_object_signal_emit(target, buf, elm);
   }
  }
 }

-- 




[EGIT] [core/efl] master 01/01: elua: use a minimal app to avoid loading eolian at runtime

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b1eb5b56a627929f1f43ebd167c92e76eefe0847

commit b1eb5b56a627929f1f43ebd167c92e76eefe0847
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 11:56:59 2015 +0100

elua: use a minimal app to avoid loading eolian at runtime

Otherwise it would fail on systems with no Eolian installed.

@fix
---
 src/Makefile_Elua.am  | 4 +++-
 src/tests/elua/data/apps/test.lua | 2 ++
 src/tests/elua/elua_lib.c | 4 ++--
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/Makefile_Elua.am b/src/Makefile_Elua.am
index a053053..b889a45 100644
--- a/src/Makefile_Elua.am
+++ b/src/Makefile_Elua.am
@@ -123,7 +123,7 @@ tests_elua_elua_suite_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 -DELUA_BINDINGS_DIR=\$(ELUA_BINDINGS_DIR)\ \
 -DELUA_CORE_DIR=\$(ELUA_CORE_DIR)\ \
 -DELUA_MODULES_DIR=\$(ELUA_MODULES_DIR)\ \
--DELUA_APPS_DIR=\$(ELUA_APPS_DIR)\ \
+-DELUA_APPS_DIR=\$(top_srcdir)/src/tests/elua/data/apps\ \
 @CHECK_CFLAGS@ \
 @ELUA_CFLAGS@
 
@@ -140,4 +140,6 @@ tests_elua_elua_suite_DEPENDENCIES = 
@USE_ELUA_INTERNAL_LIBS@
 
 endif
 
+EXTRA_DIST += tests/elua/data/apps/test.lua
+
 endif
diff --git a/src/tests/elua/data/apps/test.lua 
b/src/tests/elua/data/apps/test.lua
new file mode 100644
index 000..2e9bab1
--- /dev/null
+++ b/src/tests/elua/data/apps/test.lua
@@ -0,0 +1,2 @@
+-- test elua app
+return true
diff --git a/src/tests/elua/elua_lib.c b/src/tests/elua/elua_lib.c
index 8285727..bd959ca 100644
--- a/src/tests/elua/elua_lib.c
+++ b/src/tests/elua/elua_lib.c
@@ -18,7 +18,7 @@ START_TEST(elua_api)
 int fd;
 char *cargv[2];
 char arg1[] = test;
-char arg2[] = lualian;
+char arg2[] = test;
 int quit = 0;
 cargv[0] = arg1;
 cargv[1] = arg2;
@@ -69,7 +69,7 @@ START_TEST(elua_api)
 fail_if(!elua_util_require(st, util));
 fail_if(!elua_util_string_run(st, return 1337, foo));
 fail_if(elua_util_string_run(st, foo bar, foo)); /* invalid code */
-fail_if(elua_util_app_load(st, lualian));
+fail_if(elua_util_app_load(st, test));
 fail_if(lua_type(lst, -1) != LUA_TFUNCTION);
 lua_pop(lst, 1);
 fail_if(!elua_util_app_load(st, non_existent_app));

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Open up development for 1.15

2015-05-07 Thread Kai Huuhko
kuuko pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d571c49e6f1e01ea8d5d6c24a676742bd4befd03

commit d571c49e6f1e01ea8d5d6c24a676742bd4befd03
Author: Kai Huuhko kai.huu...@gmail.com
Date:   Thu May 7 13:10:20 2015 +0300

Open up development for 1.15
---
 ChangeLog   | 16 +++-
 efl/__init__.py |  4 ++--
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5cbe152..7e48b13 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,20 @@
+===
+2015-08-03  v1.15.0
+===
+
+Fixes:
+
+Improvements:
+
+Changes:
+
+Additions:
+
+Deprecation:
+
 
 ===
-2015-05-04  v1.14.0
+2015-05-07  v1.14.0
 ===
 
 Fixes:
diff --git a/efl/__init__.py b/efl/__init__.py
index de34739..480cbbe 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: 1.13.0-beta1 ( 1, 13, 0 )
 # release: 1.13.0 ( 1, 13, 0 )
 
-__version__ = 1.14.0
-__version_info__ = ( 1, 14, 0 )
+__version__ = 1.14.99
+__version_info__ = ( 1, 14, 99 )

-- 




[EGIT] [core/efl] master 02/03: ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting

2015-05-07 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=38faeacee1a1aa10eabebb52edfaf91e2a2c158b

commit 38faeacee1a1aa10eabebb52edfaf91e2a2c158b
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Tue May 5 19:28:14 2015 +0900

ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting

if select gets interrupted it just waits again from the start because
it uses loop time not now time. this is wrong and makes timeout
waits possibly hang if enough things interrupt select without reading
data. this fixes that.

@fix
---
 src/lib/ecore/ecore_pipe.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/ecore_pipe.c b/src/lib/ecore/ecore_pipe.c
index 23b80d1..823f07d 100644
--- a/src/lib/ecore/ecore_pipe.c
+++ b/src/lib/ecore/ecore_pipe.c
@@ -438,7 +438,7 @@ _ecore_pipe_wait(Ecore_Pipe *p,
FD_SET(p-fd_read, rset);
 
if (wait = 0.0)
- end = ecore_loop_time_get() + wait;
+ end = ecore_time_get() + wait;
timeout = wait;
 
while (message_count  0  (timeout  0.0 || wait = 0.0))
@@ -493,7 +493,7 @@ _ecore_pipe_wait(Ecore_Pipe *p,
   }
 
 if (wait = 0.0)
-  timeout = end - ecore_loop_time_get();
+  timeout = end - ecore_time_get();
  }
 
return total;

-- 




[EGIT] [core/efl] master 01/03: efl - emotion modules - unbreak due to EAPI changes

2015-05-07 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7485c41cf45903c2653058180a500e69948440aa

commit 7485c41cf45903c2653058180a500e69948440aa
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Fri May 8 14:12:29 2015 +0900

efl - emotion modules - unbreak due to EAPI changes

emotion relied on Emotion.h's EAPI defs... now they have been removed
fix!
---
 src/lib/emotion/emotion_modules.h | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/src/lib/emotion/emotion_modules.h 
b/src/lib/emotion/emotion_modules.h
index 03fb7db..0ff2065 100644
--- a/src/lib/emotion/emotion_modules.h
+++ b/src/lib/emotion/emotion_modules.h
@@ -3,6 +3,32 @@
 
 #include Emotion.h
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EMOTION_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EMOTION_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ = 4
+#   define EAPI __attribute__ ((visibility(default)))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #define META_TRACK_TITLE 1
 #define META_TRACK_ARTIST 2
 #define META_TRACK_GENRE 3

-- 




[EGIT] [core/efl] master 01/01: Check a key repeat using xkb ruled keycode

2015-05-07 Thread jhyuni.kang
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5c5f4580d2ed5208b4b8342aaa8d33e9d6953baa

commit 5c5f4580d2ed5208b4b8342aaa8d33e9d6953baa
Author: jhyuni.kang jhyuni.k...@samsung.com
Date:   Thu May 7 09:24:54 2015 -0400

Check a key repeat using xkb ruled keycode

Summary:
ecore_wayland get a key information using libxkbcommon's functions.
 Also generate key repeat check xkb keymap's information using 
xkb_keymap_key_repeats().
 But xkb rules reflect X broken keycodes, so offset by 8.
 In ecore_wayland backend, other xkb funtions using offset keycode
 but only use default keycode to check key repeat.
 So I fix it to use xkb ruled keycode.

Test Plan: Long press a key and watch repeated key events generate well

Reviewers: devilhorns, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2475
---
 src/lib/ecore_wayland/ecore_wl_input.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_wayland/ecore_wl_input.c 
b/src/lib/ecore_wayland/ecore_wl_input.c
old mode 100644
new mode 100755
index 1792d7f..b0297e9
--- a/src/lib/ecore_wayland/ecore_wl_input.c
+++ b/src/lib/ecore_wayland/ecore_wl_input.c
@@ -829,7 +829,7 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct 
wl_keyboard *keyboard EINA_UN
else
  ecore_event_add(ECORE_EVENT_KEY_UP, e, NULL, NULL);
 
-   if (!xkb_keymap_key_repeats(input-xkb.keymap, keycode)) return;
+   if (!xkb_keymap_key_repeats(input-xkb.keymap, code)) return;
 
if ((!state)  (keycode == input-repeat.key))
  {

-- 




[EGIT] [core/efl] master 01/01: eolian: allow the new property syntax

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e126911ba0d34542fc3378971ced63f40851e198

commit e126911ba0d34542fc3378971ced63f40851e198
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 14:57:46 2015 +0100

eolian: allow the new property syntax
---
 src/lib/eolian/eo_parser.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 8c21a3f..9ed3deb 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1630,7 +1630,15 @@ parse_methods(Eo_Lexer *ls)
line = ls-line_number, col = ls-column;
check_next(ls, '{');
while (ls-t.token != '}')
- parse_method(ls);
+ {
+if (ls-t.kw == KW_at_property)
+  {
+ eo_lexer_get(ls);
+ parse_property(ls);
+ continue;
+  }
+parse_method(ls);
+ }
check_match(ls, '}', '{', line, col);
 }
 

-- 




[EGIT] [core/enlightenment] master 01/01: Fix misspelling in e_randr2.c

2015-05-07 Thread Yomi
discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=aa56794304d814dbac62d2d1e932fcf0033f9ee4

commit aa56794304d814dbac62d2d1e932fcf0033f9ee4
Author: Yomi abyo...@gmail.com
Date:   Thu May 7 18:41:10 2015 -0400

Fix misspelling in e_randr2.c

Summary: Fix misspelling in e_randr2.c

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2476
---
 src/bin/e_randr2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_randr2.c b/src/bin/e_randr2.c
index ddf8c60..f5b17a5 100644
--- a/src/bin/e_randr2.c
+++ b/src/bin/e_randr2.c
@@ -535,7 +535,7 @@ _cb_screen_change_delay(void *data EINA_UNUSED)
   }
 printf(RRR: change = %i\n, change);
 // we plugged or unplugged some monitor - re-apply config so
-// known screens can be coonfigured
+// known screens can be configured
 if (change) e_randr2_config_apply();
  }
// update screen info after the above apply or due to external changes

-- 




[EGIT] [core/efl] master 01/01: eolian: change all EFL .eo files to use new syntax for properties

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ed0988a22d9439934a5213f4fa96cb7db76c71e3

commit ed0988a22d9439934a5213f4fa96cb7db76c71e3
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 16:36:45 2015 +0100

eolian: change all EFL .eo files to use new syntax for properties
---
 src/examples/eolian_cxx/colourable.eo  |  6 +-
 src/examples/eolian_cxx/colourablesquare.eo|  6 +-
 src/lib/ecore/ecore_exe.eo |  7 +--
 src/lib/ecore/ecore_mainloop.eo|  6 +-
 src/lib/ecore/ecore_poller.eo  |  4 +-
 src/lib/ecore/ecore_timer.eo   |  8 +--
 src/lib/ecore_audio/ecore_audio.eo | 14 ++---
 src/lib/ecore_audio/ecore_audio_in.eo  | 20 +++---
 src/lib/ecore_con/ecore_con_base.eo| 16 +++--
 src/lib/ecore_con/ecore_con_client.eo  |  4 +-
 src/lib/ecore_con/ecore_con_server.eo  | 10 +--
 src/lib/ecore_con/ecore_con_url.eo |  4 +-
 src/lib/ector/cairo/ector_cairo_surface.eo |  6 +-
 src/lib/ector/ector_generic_surface.eo |  8 +--
 src/lib/ector/ector_renderer_generic_base.eo   | 16 +++--
 src/lib/ector/ector_renderer_generic_shape.eo  |  8 +--
 src/lib/ector/software/ector_software_surface.eo   |  6 +-
 src/lib/edje/edje_object.eo| 46 +++---
 src/lib/efl/interfaces/efl_control.eo  |  6 +-
 src/lib/efl/interfaces/efl_file.eo | 10 ++-
 src/lib/efl/interfaces/efl_gfx_base.eo | 12 ++--
 src/lib/efl/interfaces/efl_gfx_fill.eo |  6 +-
 src/lib/efl/interfaces/efl_gfx_gradient_base.eo|  6 +-
 src/lib/efl/interfaces/efl_gfx_gradient_linear.eo  |  6 +-
 src/lib/efl/interfaces/efl_gfx_gradient_radial.eo  |  8 +--
 src/lib/efl/interfaces/efl_gfx_shape.eo| 26 
 src/lib/efl/interfaces/efl_gfx_stack.eo| 10 ++-
 src/lib/efl/interfaces/efl_gfx_view.eo |  4 +-
 src/lib/efl/interfaces/efl_image.eo| 10 +--
 src/lib/efl/interfaces/efl_model_base.eo   | 14 ++---
 src/lib/efl/interfaces/efl_player.eo   | 18 +++---
 src/lib/efl/interfaces/efl_text.eo |  4 +-
 src/lib/efl/interfaces/efl_text_properties.eo  |  6 +-
 src/lib/emotion/emotion_object.eo  |  6 +-
 src/lib/eo/eo_base.eo  | 12 ++--
 src/lib/evas/canvas/efl_vg_base.eo | 10 ++-
 src/lib/evas/canvas/efl_vg_shape.eo|  8 +--
 src/lib/evas/canvas/evas_3d_light.eo   | 13 ++--
 src/lib/evas/canvas/evas_3d_material.eo|  8 +--
 src/lib/evas/canvas/evas_3d_mesh.eo| 21 +++
 src/lib/evas/canvas/evas_3d_node.eo| 17 +++--
 src/lib/evas/canvas/evas_3d_scene.eo   |  6 +-
 src/lib/evas/canvas/evas_3d_texture.eo |  8 +--
 src/lib/evas/canvas/evas_box.eo| 10 ++-
 src/lib/evas/canvas/evas_canvas.eo | 53 
 src/lib/evas/canvas/evas_common_interface.eo   |  4 +-
 src/lib/evas/canvas/evas_grid.eo   | 10 ++-
 src/lib/evas/canvas/evas_image.eo  | 72 +++---
 src/lib/evas/canvas/evas_line.eo   |  4 +-
 src/lib/evas/canvas/evas_object.eo | 62 +--
 src/lib/evas/canvas/evas_object_smart.eo   | 16 +++--
 src/lib/evas/canvas/evas_out.eo|  6 +-
 src/lib/evas/canvas/evas_table.eo  | 18 +++---
 src/lib/evas/canvas/evas_text.eo   | 40 ++--
 src/lib/evas/canvas/evas_textblock.eo  | 28 -
 src/lib/evas/canvas/evas_textgrid.eo   | 10 ++-
 src/lib/evas/canvas/evas_vg.eo |  4 +-
 .../gl_generic/ector_cairo_software_surface.eo |  4 +-
 .../ector_cairo_software_surface.eo|  4 +-
 src/tests/eolian/data/base.eo  |  6 +-
 src/tests/eolian/data/class_funcs.eo   |  8 +--
 src/tests/eolian/data/class_simple.eo  |  8 +--
 src/tests/eolian/data/complex_type.eo  |  6 +-
 src/tests/eolian/data/consts.eo|  6 +-
 src/tests/eolian/data/nmsp1_nmsp11_class2.eo   |  4 +-
 src/tests/eolian/data/object_impl.eo   |  8 +--
 src/tests/eolian/data/object_impl_add.eo   |  4 +-
 src/tests/eolian/data/override.eo  | 10 ++-
 src/tests/eolian/data/scope.eo | 10 ++-
 src/tests/eolian_cxx/generic.eo|  8 +--
 70 files changed, 393 insertions(+), 480 deletions(-)

diff --git a/src/examples/eolian_cxx/colourable.eo 
b/src/examples/eolian_cxx/colourable.eo
index 3693818..b50bf3c 100644
--- a/src/examples/eolian_cxx/colourable.eo
+++ b/src/examples/eolian_cxx/colourable.eo
@@ -19,9 +19,7 @@ class Colourable 

[EGIT] [editors/jedit-configs] master 01/01: eo update

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/editors/jedit-configs.git/commit/?id=54b749e948b23a5aa1b1473e8d10a9413937004f

commit 54b749e948b23a5aa1b1473e8d10a9413937004f
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 16:38:17 2015 +0100

eo update
---
 eo/eo.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/eo/eo.xml b/eo/eo.xml
index c1eda3b..215523d 100644
--- a/eo/eo.xml
+++ b/eo/eo.xml
@@ -148,6 +148,7 @@
 KEYWORD3void/KEYWORD3
 
 KEYWORD2@auto/KEYWORD2
+KEYWORD2@beta/KEYWORD2
 KEYWORD2@class/KEYWORD2
 KEYWORD2@const/KEYWORD2
 KEYWORD2@empty/KEYWORD2
@@ -160,6 +161,7 @@
 KEYWORD2@optional/KEYWORD2
 KEYWORD2@out/KEYWORD2
 KEYWORD2@private/KEYWORD2
+KEYWORD2@property/KEYWORD2
 KEYWORD2@protected/KEYWORD2
 KEYWORD2@virtual/KEYWORD2
 KEYWORD2@warn_unused/KEYWORD2

-- 




[EGIT] [editors/jedit-configs] master 01/01: remove unused keyword

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/editors/jedit-configs.git/commit/?id=6043509df43ed4f6a8ee2ed0bb771bbea25d07ed

commit 6043509df43ed4f6a8ee2ed0bb771bbea25d07ed
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 17:36:35 2015 +0100

remove unused keyword
---
 eo/eo.xml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eo/eo.xml b/eo/eo.xml
index 215523d..93fb353 100644
--- a/eo/eo.xml
+++ b/eo/eo.xml
@@ -92,7 +92,6 @@
 KEYWORD1methods/KEYWORD1
 KEYWORD1mixin/KEYWORD1
 KEYWORD1params/KEYWORD1
-KEYWORD1properties/KEYWORD1
 KEYWORD1set/KEYWORD1
 KEYWORD1type/KEYWORD1
 KEYWORD1values/KEYWORD1

-- 




[EGIT] [core/efl] master 01/01: eolian: remove old property syntax support

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b5a7a9b556e3966cccbdeece396ea48f0b4d84e9

commit b5a7a9b556e3966cccbdeece396ea48f0b4d84e9
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 17:35:33 2015 +0100

eolian: remove old property syntax support
---
 src/lib/eolian/eo_lexer.h  |  4 ++--
 src/lib/eolian/eo_parser.c | 17 -
 2 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index 3aee446..83638da 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -28,8 +28,8 @@ enum Tokens
 KW(destructor), KW(eo), KW(eo_prefix), KW(events), KW(free), \
 KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
 KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
-KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
-KWAT(beta), KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), \
+KW(set), KW(type), KW(values), KW(var), KWAT(auto), KWAT(beta), \
+KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), \
 KWAT(const_set), KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), \
 KWAT(inout), KWAT(nonull), KWAT(nullable), KWAT(optional), KWAT(out), \
 KWAT(private), KWAT(property), KWAT(protected), KWAT(virtual), \
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 9ed3deb..4a19c00 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1643,18 +1643,6 @@ parse_methods(Eo_Lexer *ls)
 }
 
 static void
-parse_properties(Eo_Lexer *ls)
-{
-   int line, col;
-   eo_lexer_get(ls);
-   line = ls-line_number, col = ls-column;
-   check_next(ls, '{');
-   while (ls-t.token != '}')
- parse_property(ls);
-   check_match(ls, '}', '{', line, col);
-}
-
-static void
 parse_implements(Eo_Lexer *ls, Eina_Bool iface)
 {
int line, col;
@@ -1698,7 +1686,6 @@ parse_class_body(Eo_Lexer *ls, Eolian_Class_Type type)
Eina_Bool has_legacy_prefix = EINA_FALSE,
  has_eo_prefix = EINA_FALSE,
  has_data  = EINA_FALSE,
- has_properties= EINA_FALSE,
  has_methods   = EINA_FALSE,
  has_implements= EINA_FALSE,
  has_constructors  = EINA_FALSE,
@@ -1742,10 +1729,6 @@ parse_class_body(Eo_Lexer *ls, Eolian_Class_Type type)
 eo_lexer_get(ls);
 check_next(ls, ';');
 break;
-  case KW_properties:
-CASE_LOCK(ls, properties, properties definition)
-parse_properties(ls);
-break;
   case KW_methods:
 CASE_LOCK(ls, methods, methods definition)
 parse_methods(ls);

-- 




[EGIT] [core/efl] master 01/01: eolian: reserve @beta and @property

2015-05-07 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=95a79d5f3bf3558fc671aad7b2c54f18a94b9f8c

commit 95a79d5f3bf3558fc671aad7b2c54f18a94b9f8c
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu May 7 11:35:14 2015 +0100

eolian: reserve @beta and @property
---
 src/lib/eolian/eo_lexer.h | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index 5203045..3aee446 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -29,10 +29,11 @@ enum Tokens
 KW(get), KW(implements), KW(interface), KW(keys), KW(legacy), \
 KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), \
 KW(properties), KW(set), KW(type), KW(values), KW(var), KWAT(auto), \
-KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), KWAT(const_set), \
-KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), KWAT(inout), 
KWAT(nonull), \
-KWAT(nullable), KWAT(optional), KWAT(out), KWAT(private), KWAT(protected), 
\
-KWAT(virtual), KWAT(warn_unused), \
+KWAT(beta), KWAT(c_only), KWAT(class), KWAT(const), KWAT(const_get), \
+KWAT(const_set), KWAT(empty), KWAT(extern), KWAT(free), KWAT(in), \
+KWAT(inout), KWAT(nonull), KWAT(nullable), KWAT(optional), KWAT(out), \
+KWAT(private), KWAT(property), KWAT(protected), KWAT(virtual), \
+KWAT(warn_unused), \
 \
 KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \
 KW(long), KW(ulong), KW(llong), KW(ullong), \

-- 




[EGIT] [website/www-content] master 01/01: Wiki page download-latest changed with summary [Bump Python-EFL version] by Kai Huuhko

2015-05-07 Thread Kai Huuhko
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=c205fb81199d808e03eaac909e1068c504954ad6

commit c205fb81199d808e03eaac909e1068c504954ad6
Author: Kai Huuhko kai.huu...@gmail.com
Date:   Thu May 7 03:33:59 2015 -0700

Wiki page download-latest changed with summary [Bump Python-EFL version] by 
Kai Huuhko
---
 pages/download-latest.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index 979671e..01bd4fa 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -3,7 +3,7 @@ efl_v = 1.14.0
 elm_v = 1.14.0
 emotion_generic_players_v = 1.14.0
 evas_generic_loaders_v= 1.14.0
-python_efl_v  = 1.13.0
+python_efl_v  = 1.14.0
 
 enlightenment_v   = 0.19.5
 terminology_v = 0.8.0

--