platform/upstream/efl.git
9 years agoeolian_cxx: Add protected methods and events to C++ wrappers and fixes
Vitor Sousa [Mon, 12 Jan 2015 14:00:59 +0000 (12:00 -0200)]
eolian_cxx: Add protected methods and events to C++ wrappers and fixes

Using eina::string_view in eolian generated interfaces (instead of
std::string) to allow lightweight passing of both C strings and C++
std::string.

Also, No longer using eina::optional in generated headers for types
that already implements the concept of null state (like Eo wrappers
and eina_accessor).

Also fix allocating callback objects require by class methods
(i.e. static) in static vectors so the memory will be freed when the
programs exit.

Added a new test case for testing callbacks on class methods.

Moved method definitions and supplementary code from generated C++
wrappers to auxiliary header file (.eo.impl.hh) generated together
with the main ".eo.hh" file. Updated Makefiles to list such files in
the compilation and cleanup processes. Updated .gitignore to include
these new generated files.

Made general adjustments on the documentation of generated C++ wrappers

Added "PREDEFINED" preprocessor macro definition in the Doxyfile.in in
order to make some adjustments for better documentation in the C++
generated headers.  Excluding generation of documentation for classes
in the "eo_cxx" namespace (the namespace for "abstract" eolian C++
wrappers).  Now generating the documentation for the events too.
Hiding some auxiliary code from being documented. Some aesthetic
adjustments for generated white space. Generate documentation for the
main constructor of C++ wrappers and added auxiliary grammars to list
parameters names.

9 years agoeina_cxx: Add eina::string_view class (non owning reference to string)
Vitor Sousa [Mon, 12 Jan 2015 13:57:19 +0000 (11:57 -0200)]
eina_cxx: Add eina::string_view class (non owning reference to string)

Add an implementation of string_view to Eina C++. It is a non owning
reference to a string that allows lightweight argument passing of both
C++ std::string and C strings (const char*) on interfaces.

9 years agoeolian_cxx: Declaring all inherited events on the concrete C++ wrapper
Vitor Sousa [Tue, 6 Jan 2015 17:39:44 +0000 (15:39 -0200)]
eolian_cxx: Declaring all inherited events on the concrete C++ wrapper

Added declaration of all inherited events on the concrete type to
avoid unnecessary type conversion on event callbacks.

Note that when two events happens to have the same name, only the
event of the derived class is declared in the concrete class. Access to
such events should be made through the base class type specification.

Fix on forwarding callback object (changed std::move to std::forward).

Additional line break at the end of event handling methods in the
generated headers to improve readability.

9 years agoefreetd: If we fail to allocate space for subdir_cache, then get out
Chris Michael [Tue, 14 Apr 2015 00:29:53 +0000 (20:29 -0400)]
efreetd: If we fail to allocate space for subdir_cache, then get out

Summary: Fix coverity CID1294212 (potential Null pointer dereference) as
the alloc for subdir_cache Could fail, however if it does we Were
still trying to use it. In the case that it fails, ERR msg and return.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agorelease: Update NEWS and bump version for 1.14.0-beta1 release v1.14.0-beta1
Stefan Schmidt [Mon, 13 Apr 2015 13:51:10 +0000 (15:51 +0200)]
release: Update NEWS and bump version for 1.14.0-beta1 release

9 years agoEctor: Fix distcheck.
Tom Hacohen [Mon, 13 Apr 2015 13:34:45 +0000 (14:34 +0100)]
Ector: Fix distcheck.

The generated Eolian headers should *not* be included in the dist
tarball. This makes autofoo go crazy (why would it? ffs) and is
wrong anyway.

9 years agoEvas object: verify the parent is valid and fail if not.
Tom Hacohen [Mon, 13 Apr 2015 12:50:43 +0000 (13:50 +0100)]
Evas object: verify the parent is valid and fail if not.

It seems like before the switch to Eo, all the object_*_add functions
had magic checks that only allowed non NULL Evas pointers to be passed.
Since we switched to Eo we apparently missed the early failure we used
to have, and we instead fail later. This patch should fix that.

Thanks to jaehwan for reporting.

@fix

9 years agoeina: fix typos in doxygen
Jihoon Kim [Mon, 13 Apr 2015 10:11:13 +0000 (19:11 +0900)]
eina: fix typos in doxygen

9 years agobuild: Make sure the ecore_drm Makefile gets included after its dependencies
Stefan Schmidt [Fri, 10 Apr 2015 15:24:09 +0000 (17:24 +0200)]
build: Make sure the ecore_drm Makefile gets included after its dependencies

This problem have been observed by Scimmia22 on the Arch builds as well as on
the jenkins wayland build job. While compiling works fine the relinking during
make install fails with ecore-drm linking does not find eeze or eldbus as its
deps. This only shows on systems with no efl installed, a build from scratch.

As far as I can see we have all dependencies set correctly in configure as
well as in the Makefile which are working fine even in highly parallel builds.
It was a bit surprising here to me that the include order is still important
with our correct dependencies. Autotools wisdom is welcome here to either
explain to me why this is needed or what the correct fix would be.

The includes all moved before Ecore_Evas because that would use ecore_drm if
enabled.

Fixes T2281

9 years agoEvas GL common: Properly disable texuv3 when only texuv2 is used
Jean-Philippe Andre [Mon, 13 Apr 2015 06:29:52 +0000 (15:29 +0900)]
Evas GL common: Properly disable texuv3 when only texuv2 is used

Yet another vertex array fix (GL crash).

9 years agoEvas GL common: Enable vertex arrays only when requested
Jean-Philippe Andre [Mon, 13 Apr 2015 06:28:16 +0000 (15:28 +0900)]
Evas GL common: Enable vertex arrays only when requested

This should fix Dave's crash with the GL engine.

Indeed the pointer to the color array is passed directly
to the driver, without memcpy. Then, during glDrawArrays, the
driver will try to address it... but it could as well be NULL or
invalid. So, crashes would occur.

Also mark use_vertex as always true. We keep this field only for the
alloc() function.

9 years agoEmile: Fix memory leak
Jean-Philippe Andre [Mon, 13 Apr 2015 05:00:46 +0000 (14:00 +0900)]
Emile: Fix memory leak

The binbuf wrappers were never freed.

9 years agoEvas GL common: Fix size of vertices data buffer
Jean-Philippe Andre [Mon, 13 Apr 2015 04:51:53 +0000 (13:51 +0900)]
Evas GL common: Fix size of vertices data buffer

This actually has more chances of fixing Dave's GL crash.

9 years agoEvas GL common: Only push color VBO for map when required
Jean-Philippe Andre [Mon, 13 Apr 2015 02:13:52 +0000 (11:13 +0900)]
Evas GL common: Only push color VBO for map when required

Since the new shader selection system is able to check the
value of nomul, we can avoid pushing color when they are not
required (color is opaque white).

Hopefully this will fix Dave's crash (mayyyyybe...)

9 years agoevas-software-x11: Fix dereference before null check(s)
Chris Michael [Mon, 13 Apr 2015 01:08:20 +0000 (21:08 -0400)]
evas-software-x11: Fix dereference before null check(s)

Summary: This fixes Coverity CID1270028, CID1270029, CID1270030 where
variables RGBA_Image and Native where dereferencing function input
paramaters Before null checking them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-gl-x11: Fix dereference before null check
Chris Michael [Mon, 13 Apr 2015 01:04:10 +0000 (21:04 -0400)]
evas-gl-x11: Fix dereference before null check

Summary: This fixes Coverity CID1293519 where einfo was being used
Before it was being null checked (which Could have caused a crash if
in fact einfo Was NULL).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoedje: Fix dereference null return value
Chris Michael [Mon, 13 Apr 2015 00:58:59 +0000 (20:58 -0400)]
edje: Fix dereference null return value

Summary: Fix Coverity CID1287154. _alloc function can return null
however 'color' was never checked after call to _alloc and thus Could
be NULL.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-3d: Fix Resource leak from CID1271635
Chris Michael [Mon, 13 Apr 2015 00:55:49 +0000 (20:55 -0400)]
evas-3d: Fix Resource leak from CID1271635

Summary: This fixes a reported resource leak (by coverity).
_pack_meshes_vertex_data allocates memory stored in 'vertices' however
vertices is never free'd unless count > 0

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoector: Fix Coverity CID1293003
Chris Michael [Mon, 13 Apr 2015 00:51:31 +0000 (20:51 -0400)]
ector: Fix Coverity CID1293003

Summary: This fixes an issue of coverity reporting Explicit null
dereference as fetchfunc is defaulted to NULL, yet no check is made
later before calling it.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas: Fix CID1293000 (resource leak)
Chris Michael [Mon, 13 Apr 2015 00:49:10 +0000 (20:49 -0400)]
evas: Fix CID1293000 (resource leak)

Summary: This fixes a resource leak of eina_array in
eng_ector_renderer_draw which would return without freeing an
allocated array.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoefl: Remove dead configure options for drm-hw-accel
Chris Michael [Fri, 10 Apr 2015 13:20:07 +0000 (09:20 -0400)]
efl: Remove dead configure options for drm-hw-accel

Summary: This option Was added originally so that software drm and
hardware drm could be done in the same 'engine'. Since we have drm and
gl_drm now as separate engines, this option is no longer needed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoefreed cache - fix coverity warning on rm cleanup on sanity check
Carsten Haitzler (Rasterman) [Mon, 13 Apr 2015 00:47:24 +0000 (09:47 +0900)]
efreed cache - fix coverity warning on rm cleanup on sanity check

sanity check didnt check return value of ecore_file_recursive_rm(). do
that. coverity should be happy now.

9 years agoefreetd - fix loading of extra_icons.dirs and icon.exts to not lose char
Carsten Haitzler (Rasterman) [Mon, 13 Apr 2015 00:38:35 +0000 (09:38 +0900)]
efreetd - fix loading of extra_icons.dirs and icon.exts to not lose char

efreetd was losing the last char on every line of extra_icon.dirs and
icon.exts thus resulting in gradual degredation of these files as more
and more changes happen to have things like:

.jpeg
.jpe
.jp
.j
.

etc. for extension or dirs like

/home/raster/.e/e/icons
/home/raster/.e/e/icon
/home/raster/.e/e/ico
...
/home/ras
/home/ra
/home/r
...
/ho
/h
/

.. you get the idea. before long the list of extra icon dirs (and
extensions) was massigve and caued all sorts of filesystem rummaging.
this fixes that to no longer degrade these files. this also changes
their names to force new files to be used instead of the broken old
ones.

9 years agoefreetd - cache generators - dont unlink then rename - fix
Carsten Haitzler (Rasterman) [Sun, 12 Apr 2015 13:18:48 +0000 (22:18 +0900)]
efreetd - cache generators - dont unlink then rename - fix

if you unlink then rename, there is a gap between the unlink and
rename - no file is there. the point of the rename is to be atomic.
either old file OR new file. nothing in between. this fixes that race.

9 years agoefreetd - startup slowness fix for recursing directories
Carsten Haitzler (Rasterman) [Sun, 12 Apr 2015 12:55:28 +0000 (21:55 +0900)]
efreetd - startup slowness fix for recursing directories

this fixes major slowness in things like enlightenment login. when
enlightenment starts, efreetd is started. efreetd takes a long time to
start because it is scanning lots of directories recursively. it is
early in code freeze, so i think this can go in as a fix, even though
it is more of an optimization, but as such it has a fairly major speed
impact, so i consider this fixing a core performance problem for
things like logging in. The solution is a cache file containing all
the sub directories in a directory tree. we still have to stat every
directory, but this avoids a lot of stating of all files as well and
avoids any readirs etc. so it is much faster. on an ssd this comes out
to 4 times faster for efreetd to start up. on an hdd it's about 2x
faster to start uncached.

this should bea good fix for startup times - on my systems thats a 1
second speedup on ssd (out of about 8 seconds boot time) and 3 seconds
on hdd (out of about 39 seconds boot). so w save 1 and 3 seconds
respecively in boot + login.

now can we get this to 0 or close? that's a matter of designing
something like a deferred scan + monitor add so we wait until "startup
is done" then set up in the bg for a bit. that might shave another 3
seconds off boot time for hdd's but for ssd's wil barely blip (maybe
save 0.1 sec). so leave that till normal dev mode.

@fix

9 years agoefreetd - improve sanity checking for recursive icon monitoring
Carsten Haitzler (Rasterman) [Sun, 12 Apr 2015 03:09:07 +0000 (12:09 +0900)]
efreetd - improve sanity checking for recursive icon monitoring

i found my efreetd was not just monitoring a small set of dirs but
literally $HOME - recursively. this explains a lot of performance
issues i have seen on spinning hdd's vs ssd's. i never knew if was in
efreetd though... until now. for whatever reason my efret cache caused
efreet to try monitro a list like:

/
/h
/ho
/hom
/home
/home/
/home/r
... etc.

when trying to monitor something like:

/home/raster/.local/share/icons

that means it ended up trying $HOME as wellas a vast range of dirs it
just shouldn't sensibly ever try. i have no idea how my cache ended up
this way, but deleting it and re-populating it fixed it. so this ads
code to detect such insanity (as wellas give actual complaints on deep
recursion so we can see things better later). not a bug fix as such,
but a major improvement to detecting bugs which is what we want for
stability.

I also noticed that one legacy pixmaps dir is not recursively
monitored, but another is - so be consistent and recurs both.

Also apply checks to desktop file monitoring too.

9 years agoevas - gl common engine - dont complain on every surace opt fetch
Carsten Haitzler (Rasterman) [Sun, 12 Apr 2015 02:36:28 +0000 (11:36 +0900)]
evas - gl common engine - dont complain on every surace opt fetch

this causes a complint every single frame - not a good idea.

9 years agoecore x vsync - ensure drm fb is set to close on exec - intended
Carsten Haitzler (Rasterman) [Sat, 11 Apr 2015 00:45:26 +0000 (09:45 +0900)]
ecore x vsync - ensure drm fb is set to close on exec - intended

@fix - minor - fixes T2138 as muc as efl can (dri card0 file)

9 years agoeio-model: Fixed concurrent access to filter_cb and monitoring empty directories
Felipe Magno de Almeida [Fri, 10 Apr 2015 20:22:37 +0000 (17:22 -0300)]
eio-model: Fixed concurrent access to filter_cb and monitoring empty directories

Added a spinlock, since contetion should be non-existant. And removed wrong if.

9 years agoeio_monitor: Removed unnecessary eio_file_direct_stat
Felipe Magno de Almeida [Fri, 10 Apr 2015 20:11:41 +0000 (17:11 -0300)]
eio_monitor: Removed unnecessary eio_file_direct_stat

Removed unnecessary asynchronous stat, which could make eio_monitor to
lose events between the monitor creation and stat completion.

9 years agoeio-model: Fixed crash when files are created in the temporary dir
Felipe Magno de Almeida [Fri, 10 Apr 2015 20:09:07 +0000 (17:09 -0300)]
eio-model: Fixed crash when files are created in the temporary dir

Fixed a crash when temporary files were created before the tested file, causing a dereference of a NULL pointer.

9 years agoEdje: Edje_Edit - new part addition should initialise threshold as -1
Vitalii Vorobiov [Fri, 10 Apr 2015 14:36:28 +0000 (17:36 +0300)]
Edje: Edje_Edit - new part addition should initialise threshold as -1

After adding new part all draggable fields should contain default values.

@fix

9 years agoecore_file tests: Added new tests in ecore_file
kabeer khan [Fri, 10 Apr 2015 12:38:24 +0000 (14:38 +0200)]
ecore_file tests: Added new tests in ecore_file

Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric

Subscribers: cedric

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

9 years agoecore_evas: remove unwanted binary.
Cedric BAIL [Fri, 10 Apr 2015 12:00:19 +0000 (14:00 +0200)]
ecore_evas: remove unwanted binary.

This binary should have been removed before merging the branch. It did
sleep in for no good reason, removing now.

9 years agoevas_object_box: add MAGIC_CHECK when it is added.
Jaehwan Kim [Fri, 10 Apr 2015 10:29:40 +0000 (19:29 +0900)]
evas_object_box: add MAGIC_CHECK when it is added.

@fix

9 years agoecore_con: fix stack overflow in ecore_con_url_timer issue.
Srivardhan Hebbar [Fri, 10 Apr 2015 09:27:17 +0000 (11:27 +0200)]
ecore_con: fix stack overflow in ecore_con_url_timer issue.

Summary:
last_ms is not needed at all. If curl_multi_timeout returns non zero, then its error, if it returns zero, then its fine. If ms is zero, then call curl_multi_perform immediately.

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

Subscribers: cedric

Maniphest Tasks: T2200

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: _op_blend_p_dp_neon and _op_blend_pas_dp_neon miscalculation fix
Cedric BAIL [Fri, 10 Apr 2015 09:22:33 +0000 (11:22 +0200)]
evas: _op_blend_p_dp_neon and _op_blend_pas_dp_neon miscalculation fix

Summary:
When processing random data result of this function differs from C variant in more than 50% cases.
This difference is due to alpha calculation, in C code :

alpha = 256 - (*s >> 24)

in NEON:

"vmvn.u8 q4,q0 \n\t"
// ie ~(*s>>24) === 255 - (*s>>24)

We cant just add "1" as overflow will occur in case (*s>>24) == 0 (we use only 8 bit per channel in vector registers)
So here is the solution:
copy *d right before multiplication and add it to the result of it later.

Same approach as in D455.

Reviewers: raster, cedric, stefan_schmidt

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoecore_audio: include libgen.h on FreeBSD to define basename(3)
Conrad Meyer [Fri, 10 Apr 2015 09:15:57 +0000 (11:15 +0200)]
ecore_audio: include libgen.h on FreeBSD to define basename(3)

Summary:
Fixes warning:

    lib/ecore_audio/ecore_audio_obj_out_pulse.c:275:60: warning: implicit declaration of function 'basename' is invalid in C99
      [-Wimplicit-function-declaration]
       class_vars.context = pa_context_new(class_vars.api, basename(argv[0]));
                                                           ^
    lib/ecore_audio/ecore_audio_obj_out_pulse.c:275:60: warning: incompatible integer to pointer conversion passing 'int' to parameter of
      type 'const char *' [-Wint-conversion]
       class_vars.context = pa_context_new(class_vars.api, basename(argv[0]));
                                                           ^~~~~~~~~~~~~~~~~
    /usr/local/include/pulse/context.h:174:67: note: passing argument to parameter 'name' here
    pa_context *pa_context_new(pa_mainloop_api *mainloop, const char *name);
                                                                  ^

Test Plan: It now compiles without warning.

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoautotools: use bash for gen_shaders*.sh
Conrad Meyer [Fri, 10 Apr 2015 09:13:36 +0000 (11:13 +0200)]
autotools: use bash for gen_shaders*.sh

Summary:
Fixes src-on-NFS builds on FreeBSD, especially when the current shell is
not bash.

Test Plan:
Before:

      SHADERS  modules/evas/engines/gl_common/shader/evas_gl_shaders.x
    gmake[4]: modules/evas/engines/gl_common/shader/gen_shaders.sh: Command not found
    Makefile:34122: recipe for target 'modules/evas/engines/gl_common/shader/evas_gl_shaders.x' failed
    gmake[4]: *** [modules/evas/engines/gl_common/shader/evas_gl_shaders.x] Error 127

Even manually adjusting path doesn't fix it (and the file is clearly `+x`):

    $ ls -l src/modules/evas/engines/gl_common/shader/gen_shaders.sh
    -rwxrwxrwx  1 1000  1000  1848 Apr  8 17:01 src/modules/evas/engines/gl_common/shader/gen_shaders.sh
    $ export PATH="$PATH:$(pwd)/src"
    $ modules/evas/engines/gl_common/shader/gen_shaders.sh
    zsh: no such file or directory: modules/evas/engines/gl_common/shader/gen_shaders.sh

After patch:

     SHADERS  modules/evas/engines/gl_common/shader/evas_gl_shaders.x
     CC       modules/evas/engines/software_x11/modules_evas_engines_software_x11_module_la-evas_x_egl.lo
     CC       modules/evas/engines/software_x11/modules_evas_engines_software_x11_module_la-evas_xlib_swapbuf.lo
     ...

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoector: don't apply transformation on clips in Cairo backend.
Subhransu Mohanty [Tue, 7 Apr 2015 04:47:34 +0000 (13:47 +0900)]
ector: don't apply transformation on clips in Cairo backend.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas-drm: Add back in the r, g, b masks for conversion
Chris Michael [Wed, 8 Apr 2015 18:37:53 +0000 (14:37 -0400)]
evas-drm: Add back in the r, g, b masks for conversion

Summary: This is a big oopsie !! Should not have been removed during
previous commit.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Remove evas_drm file from build order
Chris Michael [Wed, 8 Apr 2015 18:02:57 +0000 (14:02 -0400)]
evas-drm: Remove evas_drm file from build order

Summary: The Evas Drm engine makes use of Ecore_Drm functions now so
we no longer need private versions of the same code

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Make evas drm engine use new ecore_drm functions
Chris Michael [Wed, 8 Apr 2015 18:01:18 +0000 (14:01 -0400)]
evas-drm: Make evas drm engine use new ecore_drm functions

Summary: As we already have Ecore_Drm which handles all things drm
related, let's make use of it in the Evas Drm Engine. This modifies
the 'meat' of the Evas Drm engine to use Ecore_Drm functions rather
than keeping private versions of the same code.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Cleanup drm engine code
Chris Michael [Wed, 8 Apr 2015 17:59:24 +0000 (13:59 -0400)]
evas-drm: Cleanup drm engine code

Summary: With the evas drm engine refactor, some of the fields in the
Render_Engine structure are unused so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Cleanup evas_engine header file
Chris Michael [Wed, 8 Apr 2015 17:57:58 +0000 (13:57 -0400)]
evas-drm: Cleanup evas_engine header file

Summary: With the evas drm engine refactor, a lot of these fields in
the Outbuf structure are unused so remove them. This also removes
unused private function declarations.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Cleanup Engine Info structure
Chris Michael [Wed, 8 Apr 2015 17:56:15 +0000 (13:56 -0400)]
evas-drm: Cleanup Engine Info structure

Summary: A few of these engine fields are no longer needed or were
unused in the Evas Drm engine so remove them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
Chris Michael [Wed, 8 Apr 2015 17:54:48 +0000 (13:54 -0400)]
ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output

Summary: This makes use of the newly added Ecore_Drm API functions to
get information about the output so we can setup the Evas engine
properly

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
Chris Michael [Wed, 8 Apr 2015 17:52:46 +0000 (13:52 -0400)]
ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs

Summary: As requested by stefan, change newly added APIs to be @since
1.15

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
Chris Michael [Wed, 8 Apr 2015 17:50:50 +0000 (13:50 -0400)]
ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks

Summary: This modifies the ecore_drm_device pageflip function to make
use of the ecore_drm_fb callbacks passed into the ecore_drm_fb_send
function

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add private structure used during pageflip calls
Chris Michael [Wed, 8 Apr 2015 17:41:57 +0000 (13:41 -0400)]
ecore-drm: Add private structure used during pageflip calls

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add 2 new API functions for setting and sending framebuffers
Chris Michael [Wed, 8 Apr 2015 17:41:35 +0000 (13:41 -0400)]
ecore-drm: Add 2 new API functions for setting and sending framebuffers

Summary: This adds 2 new API functions we can use from within the evas
drm engine to set framebuffers as current, and to call a pageflip on
given buffers.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add an API function to return the connector id of an output
Chris Michael [Wed, 8 Apr 2015 15:01:52 +0000 (11:01 -0400)]
ecore-drm: Add an API function to return the connector id of an output

Summary: This adds an API function to return the connector id of a
given output.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Whitespace removal
Chris Michael [Wed, 8 Apr 2015 15:00:10 +0000 (11:00 -0400)]
ecore-drm: Whitespace removal

Summary: No functional changes, just removing whitespace

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to return an output's crtc id
Chris Michael [Wed, 8 Apr 2015 14:59:35 +0000 (10:59 -0400)]
ecore-drm: Add API function to return an output's crtc id

Summary: This adds an API function to return the crtc id of an output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to return an output crtc buffer id
Chris Michael [Wed, 8 Apr 2015 14:49:46 +0000 (10:49 -0400)]
ecore-drm: Add API function to return an output crtc buffer id

Summary: This adds an API function to return an output's crtc buffer id

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to find an output at given coordinates
Chris Michael [Wed, 8 Apr 2015 14:41:26 +0000 (10:41 -0400)]
ecore-drm: Add API function to find an output at given coordinates

Summary: This commit adds an API function that can be used to find an
output given an x/y coordinate pair.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Move doxygen documentation to main Ecore_Drm header
Chris Michael [Wed, 8 Apr 2015 14:29:29 +0000 (10:29 -0400)]
ecore-drm: Move doxygen documentation to main Ecore_Drm header

Summary: This moves all doxygen to the main Ecore_Drm header to match
rest of efl.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Remove unused API function that should not have been committed
Chris Michael [Wed, 8 Apr 2015 14:20:07 +0000 (10:20 -0400)]
ecore-drm: Remove unused API function that should not have been committed

Summary: This API was added in the header while testing a theory, and
should not have been committed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Move drm headers to Ecore_Drm
Chris Michael [Tue, 7 Apr 2015 19:18:30 +0000 (15:18 -0400)]
ecore-drm: Move drm headers to Ecore_Drm

Summary: Since we only create one drm context in the drm_device
structure now, we need the drm headers to be included in Ecore_Drm.h

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Create drmEventContext Once during device open
Chris Michael [Tue, 7 Apr 2015 18:30:43 +0000 (14:30 -0400)]
ecore-drm: Create drmEventContext Once during device open

Summary: This changes allows us to reuse the same drmEventContext once
so that when we get drm events, we are not constantly recreating the
drmEventContext.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Skip repaints if we are VT switched away
Chris Michael [Tue, 7 Apr 2015 18:24:46 +0000 (14:24 -0400)]
ecore-drm: Skip repaints if we are VT switched away

Summary: This allows us to skip output rendering if we are VT switched
away.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Update device active state on VT switch and use new output_disable function
Chris Michael [Tue, 7 Apr 2015 18:22:59 +0000 (14:22 -0400)]
ecore-drm: Update device active state on VT switch and use new output_disable function

Summary: This marks an Ecore_Drm_Device as active or not when we VT
switch. We do this so we can skip rendering if we are not active.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to disable an output
Chris Michael [Tue, 7 Apr 2015 18:21:30 +0000 (14:21 -0400)]
ecore-drm: Add API function to disable an output

Summary: This adds a new API function we can call to disable an Ecore_Drm_Output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-evas-drm: Setup Ecore_Drm_Device for software rendering
Chris Michael [Tue, 7 Apr 2015 18:10:41 +0000 (14:10 -0400)]
ecore-evas-drm: Setup Ecore_Drm_Device for software rendering

Summary: If we are using the software version of ecore_evas_drm, then
make API call to setup the Ecore_Drm_Device for software rendering.
This creates the dumb buffers on the Ecore_Drm_Device.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Update drm device & output code to remove per-output dumb buffers
Chris Michael [Tue, 7 Apr 2015 18:07:12 +0000 (14:07 -0400)]
ecore-drm: Update drm device & output code to remove per-output dumb buffers

Summary: Since we now create the dumb buffers in the ecore_drm_device
structure, we don't need them on a per-output basis. This commit fixes
the output & device code to adjust to this.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API to setup the drm device for software rendering
Chris Michael [Tue, 7 Apr 2015 18:06:07 +0000 (14:06 -0400)]
ecore-drm: Add API to setup the drm device for software rendering

Summary: This adds an API we can call from ecore_evas to setup the
device for software rendering which will cause dumb buffers to be
created in the Ecore_Drm_Device structure.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Remove per-output framebuffers
Chris Michael [Tue, 7 Apr 2015 18:05:10 +0000 (14:05 -0400)]
ecore-drm: Remove per-output framebuffers

Summary: No real need for each output to have its own framebuffers as
we can just create dumb buffers in the drm device structure

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
Chris Michael [Tue, 7 Apr 2015 17:10:35 +0000 (13:10 -0400)]
ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs

Summary: When we make the call to outputs_geometry_get, we should NOT
include cloned outputs in the final size.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Delay destroy of output if there is a pending flip
Chris Michael [Tue, 7 Apr 2015 17:03:28 +0000 (13:03 -0400)]
ecore-drm: Delay destroy of output if there is a pending flip

Summary: If an output has a pending page flip, we cannot destroy it
until the page flip has completed. This commit adds support to delay
destroying an output until the page flip is completed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
Chris Michael [Tue, 7 Apr 2015 16:41:43 +0000 (12:41 -0400)]
evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty

Summary: This removes an internal evas drm engine function and instead
uses the new ecore_drm_fb_dirty function call to mark the framebuffer
as dirty

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to mark a Framebuffer as dirty
Chris Michael [Tue, 7 Apr 2015 16:41:07 +0000 (12:41 -0400)]
ecore-drm: Add API function to mark a Framebuffer as dirty

Summary: This adds an API function used to mark a framebuffer as dirty

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add API function to set output gamma
Chris Michael [Tue, 7 Apr 2015 16:24:07 +0000 (12:24 -0400)]
ecore-drm: Add API function to set output gamma

Summary: This commit adds new API for setting gamma of an Ecore_Drm_Output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Improve drm output creation, mode detection, and cloning support
Chris Michael [Tue, 7 Apr 2015 16:13:32 +0000 (12:13 -0400)]
ecore-drm: Improve drm output creation, mode detection, and cloning support

Summary: This refactors the output creation code to support better
mode detection, cloning of hotplugged outputs, and initial support for
setting of output gamma (API to follow)

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add support for DPMS on an output
Chris Michael [Tue, 7 Apr 2015 15:41:21 +0000 (11:41 -0400)]
ecore-drm: Add support for DPMS on an output

Summary: This commit adds support for setting DPMS level of an output.
This adds a new API function 'ecore_drm_output_dpms_set' to set the
level.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoEvas image: Return proper path even with mmap
Jean-Philippe Andre [Fri, 10 Apr 2015 07:18:54 +0000 (16:18 +0900)]
Evas image: Return proper path even with mmap

Since we're using a union (u.{f,file} we can't just
return u.file when the file was set as an mmap source.

@fix

9 years agoEvas GL: Add missing dlopen for GLX 1.x version
Dongyeon Kim [Fri, 10 Apr 2015 07:13:31 +0000 (16:13 +0900)]
Evas GL: Add missing dlopen for GLX 1.x version

Summary:
For GLX backend, we should dlopen libGL.so*
@fix

Test Plan: Evas GL 1.x test cases

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: mythri, mer.kim, wonsik, cedric

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

9 years agoEvas GL: remove direct surfaces hash
Dongyeon Kim [Fri, 10 Apr 2015 07:13:22 +0000 (16:13 +0900)]
Evas GL: remove direct surfaces hash

Summary:
Evas GL surface buffers are allocated at make current time now
rather than surface creation time, and since we pass evas gl surface handle
to the backend, we do not need direct surfaces hash anymore.

Test Plan: elementary test and evas gl test cases

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, mythri, mer.kim, wonsik

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

9 years agoEvas GL: reset current surface to NULL when it is destroyed
Dongyeon Kim [Fri, 10 Apr 2015 07:13:04 +0000 (16:13 +0900)]
Evas GL: reset current surface to NULL when it is destroyed

Summary:
Hopefully this will fix some of the multiple windows issues for elm glview but not all.
@fix

Test Plan: elementary glview tests

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric

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

9 years ago[evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
Oleksandr Shcherbina [Fri, 10 Apr 2015 05:26:55 +0000 (14:26 +0900)]
[evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader

Summary:
@fix
During execution example evas-3d-obj, part of 3D objects showed with red ripple.
The reason is not completely initialize component vector gl_FragColor

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

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

9 years ago[evas/evas_3D] Some fixes in evas-3d-shadows example
Oleksandr Shcherbina [Fri, 10 Apr 2015 05:20:34 +0000 (14:20 +0900)]
[evas/evas_3D] Some fixes in evas-3d-shadows example

Summary:
Regard to this https://phab.enlightenment.org/D2250 improve view of 3D objects
Improve bug with incorect changing shade mode for billboard

Reviewers: Hermet, cedric

Subscribers: cedric

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

9 years agoDelete whitespaces for header and eo files
woochan lee [Fri, 10 Apr 2015 05:13:11 +0000 (14:13 +0900)]
Delete whitespaces for header and eo files

Summary: Fix whitespaces, indentation, wrap in eina headers.

Reviewers: cedric, jeffrey.w.grimshaw, Hermet

Reviewed By: Hermet

Subscribers: cedric

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

Conflicts:

src/lib/eina/eina_thread_queue.h

9 years agoDelete whitespaces, fix indentation in header, eo files
woochan lee [Fri, 10 Apr 2015 05:01:08 +0000 (14:01 +0900)]
Delete whitespaces, fix indentation in header, eo files

Summary: Delete whitespaces, fix indentation in header, eo files

Reviewers: cedric, raster, Hermet

Subscribers: cedric

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

9 years agoeina: Add NULL check for eina_threadqueue_free
Jean-Philippe Andre [Fri, 10 Apr 2015 01:49:02 +0000 (10:49 +0900)]
eina: Add NULL check for eina_threadqueue_free

@fix

9 years agoEvas: Fix use of uninitialized values
Jean-Philippe Andre [Fri, 10 Apr 2015 01:49:39 +0000 (10:49 +0900)]
Evas: Fix use of uninitialized values

Not a meaningful issue, but let's make Coverity happy.
Fixes:
 - CID 1293522
 - CID 1293521

9 years agoeio-model: Fix Eio model races in tests
Felipe Magno de Almeida [Fri, 10 Apr 2015 01:46:24 +0000 (22:46 -0300)]
eio-model: Fix Eio model races in tests

Removed sleep and implemented a deterministic way to test if the test has really finished.

9 years agoefreetd: temporarily blacklist saving and monitoring root directory
Mike Blumenkrantz [Fri, 10 Apr 2015 00:08:17 +0000 (20:08 -0400)]
efreetd: temporarily blacklist saving and monitoring root directory

ref T2280

9 years agoecore-file: use hash for finding monitors
Mike Blumenkrantz [Thu, 9 Apr 2015 23:52:08 +0000 (19:52 -0400)]
ecore-file: use hash for finding monitors

this should hugely improve the speed of file monitor event processing;
in my test case, 800,000+ monitors were present and the application was
entirely unable to process them

9 years agoEctor: clean up makefile a bit.
Tom Hacohen [Thu, 9 Apr 2015 22:11:18 +0000 (23:11 +0100)]
Ector: clean up makefile a bit.

9 years agoeio model: Removed non-existent emodel.la library linking
Felipe Magno de Almeida [Thu, 9 Apr 2015 20:43:05 +0000 (17:43 -0300)]
eio model: Removed non-existent emodel.la library linking

The library emodel.la doesn't exist. Emodel is now efl model interface. No need to link to it.

9 years agoevas-3d: Fix example compilation of evas_3d_blending
Felipe Magno de Almeida [Thu, 9 Apr 2015 20:41:34 +0000 (17:41 -0300)]
evas-3d: Fix example compilation of evas_3d_blending

9 years agoemile: Fix eina examples compilation when using a different build directory
Felipe Magno de Almeida [Thu, 9 Apr 2015 20:25:20 +0000 (17:25 -0300)]
emile: Fix eina examples compilation when using a different build directory

The Makefile.am added only include dirs for top_builddir. Added for top_srcdir as well so it can find the headers.

9 years agoecore-drm: Fix output_geometry_get function
Chris Michael [Tue, 7 Apr 2015 16:32:15 +0000 (12:32 -0400)]
ecore-drm: Fix output_geometry_get function

Summary: This fixes an issue where heights of all outputs would get
added, thus causing the ecore_evas to be created at the wrong size.
Now, the height will be whichever output is larger.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Remove debug line from launcher
Chris Michael [Tue, 7 Apr 2015 16:31:25 +0000 (12:31 -0400)]
ecore-drm: Remove debug line from launcher

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Set mode flag for preferred if this is the preferred mode
Chris Michael [Tue, 7 Apr 2015 16:26:19 +0000 (12:26 -0400)]
ecore-drm: Set mode flag for preferred if this is the preferred mode

Summary: This fixes a minor oversight in ecore_drm_output_mode_add
which was not setting the mode->flag to preferred if this is a
preferred mode.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
Chris Michael [Tue, 7 Apr 2015 15:50:35 +0000 (11:50 -0400)]
ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also

Summary: If we unplug an output, we should still be sending this event
so that the compositor can remove any unplugged outputs

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Better output name format
Chris Michael [Tue, 7 Apr 2015 15:26:06 +0000 (11:26 -0400)]
ecore-drm: Better output name format

Summary: Make output names match format reported from kernel

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Fix formatting
Chris Michael [Tue, 7 Apr 2015 15:24:17 +0000 (11:24 -0400)]
ecore-drm: Fix formatting

Summary: NO functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Fix issue with edid_parse_string truncating strings
Chris Michael [Tue, 7 Apr 2015 15:22:54 +0000 (11:22 -0400)]
ecore-drm: Fix issue with edid_parse_string truncating strings

Summary: We should only truncate the string if it's greater than 4

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add more connector types
Chris Michael [Tue, 7 Apr 2015 15:22:12 +0000 (11:22 -0400)]
ecore-drm: Add more connector types

Summary: libdrm has support for Virtual and DSI connector types, so
add those to the connector types

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Fix formatting
Chris Michael [Tue, 7 Apr 2015 15:18:18 +0000 (11:18 -0400)]
ecore-drm: Fix formatting

Summary: NO functional changes, just formatting.

Signed-off-by: Chris Michael <cp.michael@samsung.com>