platform/upstream/efl.git
10 years agoevas/fb: use stride instead of width.
Gustavo Sverzut Barbieri [Fri, 7 Mar 2014 04:52:11 +0000 (01:52 -0300)]
evas/fb: use stride instead of width.

While most framebuffes use stride = width, some may have stride bigger
than width to provide better alignment. Then we must always use stride.

Thanks to Arjan van de Ven, the one that spotted the issue.

@fix

10 years agoEvas: Reduce verbosity of alpha functions
Jean-Philippe Andre [Fri, 7 Mar 2014 02:00:26 +0000 (11:00 +0900)]
Evas: Reduce verbosity of alpha functions

And remove commented-out code.

10 years agoEvas filters: Reduce verbosity (INF --> DBG)
Jean-Philippe Andre [Fri, 7 Mar 2014 01:59:54 +0000 (10:59 +0900)]
Evas filters: Reduce verbosity (INF --> DBG)

10 years agoEvas filters: Improve detection of the GL engine
Jean-Philippe Andre [Fri, 7 Mar 2014 01:32:47 +0000 (10:32 +0900)]
Evas filters: Improve detection of the GL engine

According to cedric's horrified comment :)

And add a comment in the code. Yes, this IS a temporary solution,
but the GL engineS being what they are (tons of duplicated code),
I think it's still better for now to just make things work.

10 years agoEvas filters: Complete GL support with scaling function
Jean-Philippe Andre [Thu, 6 Mar 2014 09:28:46 +0000 (18:28 +0900)]
Evas filters: Complete GL support with scaling function

Directly use the scale functions from scalecache when
running the GL engine.

With this, and glReadPixels support, the GL engine support is now
100% complete. It will be DAMN SLOW, but ALL filters should work
in both OpenGL and Software rendering.

10 years agoEvas filters: Implement proxy rendering for GL
Jean-Philippe Andre [Fri, 7 Mar 2014 00:36:16 +0000 (09:36 +0900)]
Evas filters: Implement proxy rendering for GL

Make use of glReadPixel to access the source's pixel data.
Use all classic CPU functions to blend and use that data.
Save pointer to the GL image and update it with the latest data
during target render.

Use ENFN's surface_lock, read_pixels, unlock.

Also, add some more error checks to make sure the images are valid,
or return an error at runtime.

10 years agoEvas filters: Allow image copy with the GL engine
Jean-Philippe Andre [Thu, 6 Mar 2014 08:52:57 +0000 (17:52 +0900)]
Evas filters: Allow image copy with the GL engine

For now, this simply uses memcpy.
The SW engine equivalent uses image_draw, which wouldn't work
under the GL engine.

10 years agoEvas gl_x11: Add support for glReadPixels
Jean-Philippe Andre [Thu, 6 Mar 2014 08:42:24 +0000 (17:42 +0900)]
Evas gl_x11: Add support for glReadPixels

This will be needed by the filters for proxy rendering,
for textures and maps (displacement).

Add new engine functions to unleash the (sluggish) power of glReadPixels.
The idea is to be able to bypass glReadPixels later, so 3 new APIs are
added:
- surface_lock
- surface_read_pixels
- surface_unlock
They must be called in that order.

Note (for history):
glReadPixels was always getting the wrong data during first draw,
but the right data during a redraw...
Why? Well simply because for OpenGL itself, the image had never
been drawn in teh first place! Only the Evas GL context knew
about the image drawing, as it was queued somewhere in the pipe.

One line solution: Call evas_gl_common_context_flush before
doing anything else.

10 years agoEvas filters: Minor change (type is void*)
Jean-Philippe Andre [Wed, 5 Mar 2014 09:04:35 +0000 (18:04 +0900)]
Evas filters: Minor change (type is void*)

10 years agogit: ignore generated file.
Cedric BAIL [Fri, 7 Mar 2014 00:36:52 +0000 (09:36 +0900)]
git: ignore generated file.

10 years agoevas: let's still compile when we have no hw accel for DRM.
Cedric BAIL [Fri, 7 Mar 2014 00:35:16 +0000 (09:35 +0900)]
evas: let's still compile when we have no hw accel for DRM.

10 years agoecore-drm: Add ecore-drm.pc to gitignore
Chris Michael [Thu, 6 Mar 2014 14:46:46 +0000 (14:46 +0000)]
ecore-drm: Add ecore-drm.pc to gitignore

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas/fb: implement evas_fb_outbuf_fb_reconfigure()
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:17:30 +0000 (11:17 -0300)]
evas/fb: implement evas_fb_outbuf_fb_reconfigure()

refactor code used in evas_fb_outbuf_fb_setup_fb() so it can be used
in evas_fb_outbuf_fb_reconfigure().

10 years agoevas/fb: use a copy of fb_var since ioctl() modifies it and we consider it const
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:16:27 +0000 (11:16 -0300)]
evas/fb: use a copy of fb_var since ioctl() modifies it and we consider it const

10 years agoevas/fb: make sure FB_Mode attributes are zeroed.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:15:05 +0000 (11:15 -0300)]
evas/fb: make sure FB_Mode attributes are zeroed.

We may read only geometry or timings, then make sure memory is fully
zeroed by doing a memset on the new array item.

10 years agoecore_fb: @fix use of uninitialized values reported by valgrind.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 14:12:44 +0000 (11:12 -0300)]
ecore_fb: @fix use of uninitialized values reported by valgrind.

10 years agoevas/fb: extensive logs to help solve bugs.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:18:55 +0000 (02:18 -0300)]
evas/fb: extensive logs to help solve bugs.

FrameBuffer can be tricky with all combinations and it's hard to tell
users to send useful information, then print the information we use so
we can get useful bug reports.

10 years agoevas/fb: expose and call fb_freemode() and fb_cleanup()
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:16:03 +0000 (02:16 -0300)]
evas/fb: expose and call fb_freemode() and fb_cleanup()

properly clean memory and restore framebuffer on error conditions.

@fix

10 years agoevas/fb: handle fds using -1 for unset/error.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 05:09:44 +0000 (02:09 -0300)]
evas/fb: handle fds using -1 for unset/error.

clean evas_fb_main.c so it returns -1 to indicate invalid fds, same as
open() and what is written in evas_fb.h example.

call fb_cleanup() in all error conditions and always return -1 in
fb_postinit() if we did call fb_cleanup().

10 years agoevas: @fix convert to 24bits so dst_jump is used properly.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 04:08:44 +0000 (01:08 -0300)]
evas: @fix convert to 24bits so dst_jump is used properly.

in all other convert functions, dst_jump is provided in pixesl and
multiplied by the number of bytes-per-pixel either explicitly or
implicitly by using a different type for dst pointer (DATA16,
DATA32...).

As in 24 bits we use DATA8 we must explicitly multiply dst_jump by 3.

10 years agoevas/fb: avoid crashing it outbuf setup failed.
Gustavo Sverzut Barbieri [Thu, 6 Mar 2014 03:53:08 +0000 (00:53 -0300)]
evas/fb: avoid crashing it outbuf setup failed.

if fb setup fails, then we shouldn't use re->ob as it's NULL.

@fix

10 years agoFix evas compilation and installation.
Tom Hacohen [Thu, 6 Mar 2014 09:13:38 +0000 (09:13 +0000)]
Fix evas compilation and installation.

10 years agoEolian: generation of the first Eo file.
Daniel Zaoui [Wed, 5 Mar 2014 11:54:39 +0000 (13:54 +0200)]
Eolian: generation of the first Eo file.

The first object that we generate with Eolian is Evas_Line, as it is a
simple one.
Two files are generated during build:
- the .eo.c contains the APIs definitions invoking Eo, the Eo functions
extracting the parameters and calling the hand written functions and
Eo structures to define the objects. These hand written functions are
located in e.g evas_object_line.c.
- the .eo.h contains the APIs and Eo prototyes.

We will continue with the other objects. If you note something wrong,
please update us asap:
daniel.zaoui@samsung.com
yossi.kantor@samsung.com

10 years agoEolian/Generator: Switch set/get functions generation.
Daniel Zaoui [Wed, 5 Mar 2014 11:45:14 +0000 (13:45 +0200)]
Eolian/Generator: Switch set/get functions generation.

We want to generate first set properties and then get properties to be
in accordance with the current op ids order.

10 years agoEolian helper: Fixed rule dependency to correctly depend on eolian_gen.
Tom Hacohen [Wed, 5 Mar 2014 10:19:08 +0000 (10:19 +0000)]
Eolian helper: Fixed rule dependency to correctly depend on eolian_gen.

Without this change, bootstrapping doesn't work as well.

10 years agoEolian/Lexer: fix parsing for functions description.
Daniel Zaoui [Wed, 5 Mar 2014 08:06:05 +0000 (10:06 +0200)]
Eolian/Lexer: fix parsing for functions description.

If the first character of the description was not an alphanumeric, it was
not finalizing the parsing of the description and was not inserting it
in the database.
It was occurring when "@since" was the first word in the description of
the function.

10 years agoEolian/Generator: Fix comments generation in headers.
Daniel Zaoui [Wed, 5 Mar 2014 08:04:25 +0000 (10:04 +0200)]
Eolian/Generator: Fix comments generation in headers.

Trailing whitespaces were added in description empty lines.

10 years agoecore-evas: Include Ecore_Drm header
Chris Michael [Thu, 6 Mar 2014 12:38:06 +0000 (12:38 +0000)]
ecore-evas: Include Ecore_Drm header

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoefl: Fix build with drm disabled
Chris Michael [Thu, 6 Mar 2014 12:36:53 +0000 (12:36 +0000)]
efl: Fix build with drm disabled

@bugfix: Drm is optional, so ecore-evas should not internally depend
on it unless ecore-drm is found.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoefl: Fix installing ecore-drm pkgconfig file
Chris Michael [Thu, 6 Mar 2014 12:36:22 +0000 (12:36 +0000)]
efl: Fix installing ecore-drm pkgconfig file

@bugfix: If we build with ecore-drm support, let's install the
pkgconfig file yes ? :)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoMerge branch 'devs/devilhorns/ecore_drm'
Chris Michael [Thu, 6 Mar 2014 11:23:57 +0000 (11:23 +0000)]
Merge branch 'devs/devilhorns/ecore_drm'

10 years agoecore-drm: Add ecore-drm Makefile
Chris Michael [Thu, 6 Mar 2014 11:17:26 +0000 (11:17 +0000)]
ecore-drm: Add ecore-drm Makefile

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add Ecore_Drm to main Makefile
Chris Michael [Thu, 6 Mar 2014 11:17:01 +0000 (11:17 +0000)]
ecore-drm: Add Ecore_Drm to main Makefile

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add code for SPARTACUS !! ;)
Chris Michael [Thu, 6 Mar 2014 11:15:29 +0000 (11:15 +0000)]
ecore-drm: Add code for SPARTACUS !! ;)

@ferature: This adds code for the ecore-drm auth process to open
restricted inputs/cards/etc by the user.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add missing EINA_UNUSED for unused function paramaters.
Chris Michael [Thu, 6 Mar 2014 11:12:23 +0000 (11:12 +0000)]
ecore-drm: Add missing EINA_UNUSED for unused function paramaters.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Comment out Gbm Format
Chris Michael [Thu, 6 Mar 2014 11:10:26 +0000 (11:10 +0000)]
ecore-drm: Comment out Gbm Format

@bugfix: This fixes ecore-drm building since we commented out all the
hardware accel support (for now).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add missing define
Chris Michael [Thu, 6 Mar 2014 11:08:55 +0000 (11:08 +0000)]
ecore-drm: Add missing define

@bugfix: Add missing define for number of framebuffers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Add headers for hardware acceleration
Chris Michael [Thu, 6 Mar 2014 11:02:25 +0000 (11:02 +0000)]
evas-drm: Add headers for hardware acceleration

@bugfix: Add missing headers for egl/gl support in evas-drm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Remove hardware acceleration fields from engine structure
Chris Michael [Thu, 6 Mar 2014 10:59:44 +0000 (10:59 +0000)]
evas-drm: Remove hardware acceleration fields from engine structure

@bugfix: Removed hardware acceleration fields from engine structure.
These are now located inside the buffer management code itself, so no
need for them here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add configure.ac autofoo for ecore-drm
Chris Michael [Thu, 6 Mar 2014 10:03:21 +0000 (10:03 +0000)]
ecore-drm: Add configure.ac autofoo for ecore-drm

@feature: This adds necessary dependencies for ecore_drm library to
build.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add package config file
Chris Michael [Thu, 6 Mar 2014 10:03:00 +0000 (10:03 +0000)]
ecore-drm: Add package config file

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-drm: Add Ecore_Drm code
Chris Michael [Thu, 6 Mar 2014 09:43:48 +0000 (09:43 +0000)]
ecore-drm: Add Ecore_Drm code

@feature: Add Ecore_Drm library code for setting up drm card, outputs,
virtual terminals, framebuffers, and input for use with ecore_evas drm
code.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoefl: Use actual destination dirs in warning about using non-standard prefix
Joel Klinghed [Thu, 6 Mar 2014 10:18:50 +0000 (19:18 +0900)]
efl: Use actual destination dirs in warning about using non-standard prefix

Summary:
Instead of relying on ${prefix}/share to be the default for ${datadir} or
${dbusservicedir} use the actual paths where the files will be placed.

Somewhat tricky because of autoconfs desire to keep prefix changeable but
continuously evaluating the variables until they don't change work.

Reviewers: raster, englebass

Reviewed By: raster

CC: cedric, stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D581

10 years agoedje/edje_edit: Check for NULL
se.osadchy [Thu, 6 Mar 2014 09:26:51 +0000 (18:26 +0900)]
edje/edje_edit: Check for NULL

Summary: Add check for NULL to the edje_edit_state_external_param_set function

@fix

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D584

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoedje/edje_edit: fix part add bug
Vyacheslav Reutskiy [Thu, 6 Mar 2014 09:22:15 +0000 (18:22 +0900)]
edje/edje_edit: fix part add bug

Summary:
Invert the check of the ed->file. If the ed->file is NULL then return
EINA_FALSE.

@fix

Reviewers: raster, cedric, seoz

CC: cedric
Differential Revision: https://phab.enlightenment.org/D603

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoevas-drm: Add buffer management file
Chris Michael [Thu, 6 Mar 2014 07:36:39 +0000 (07:36 +0000)]
evas-drm: Add buffer management file

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Add buffer manager file to build order
Chris Michael [Thu, 6 Mar 2014 07:36:15 +0000 (07:36 +0000)]
evas-drm: Add buffer manager file to build order

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Fix requirements when building for drm hw accel
Chris Michael [Thu, 6 Mar 2014 07:35:39 +0000 (07:35 +0000)]
evas-drm: Fix requirements when building for drm hw accel

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoedje: add AUTHORS and more than one license file to Edje.
Cedric BAIL [Thu, 6 Mar 2014 07:33:06 +0000 (16:33 +0900)]
edje: add AUTHORS and more than one license file to Edje.

@feature

10 years agoeina: make Eina_Error thread safe.
Cedric BAIL [Thu, 6 Mar 2014 05:26:30 +0000 (14:26 +0900)]
eina: make Eina_Error thread safe.

@feature

10 years agoecore_evas: remove warning.
Cedric BAIL [Thu, 6 Mar 2014 05:24:56 +0000 (14:24 +0900)]
ecore_evas: remove warning.

10 years agotests: remove warnings.
Cedric BAIL [Thu, 6 Mar 2014 05:24:25 +0000 (14:24 +0900)]
tests: remove warnings.

10 years agoEdje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
Jihoon Kim [Thu, 6 Mar 2014 02:17:34 +0000 (11:17 +0900)]
Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.

Key events which ecore_imf_context_filter_event function returns EINA_TRUE should be not propagated.

@fix

10 years agoeo: replace composite_objects Eina_List with an array of Eo_Object*
Jérémy Zurcher [Wed, 5 Mar 2014 22:57:39 +0000 (23:57 +0100)]
eo: replace composite_objects Eina_List with an array of Eo_Object*

as we don't support multiple composites of the same class,
and know at class elaboration how many composites we should have,
we can create the composites array and pack it at the end of the object.

10 years agoeo: memory waste at mixin class elaboration
Jérémy Zurcher [Wed, 5 Mar 2014 21:44:21 +0000 (22:44 +0100)]
eo: memory waste at mixin class elaboration

@fix

mixins data offsets are stored in Eo_Extension_Data_Offset[],
if the constructed class is a mixin, do not reserve space for its
private data, the class is in mixins list and will be handled at
Eo_Extension_Data_Offset computation.

see  _eo_data_scope_get(...) for private data retrieval

10 years agoecore-evas-x: Fix resource leak from eina_str_split_full usage
Chris Michael [Wed, 5 Mar 2014 14:36:39 +0000 (14:36 +0000)]
ecore-evas-x: Fix resource leak from eina_str_split_full usage

@bugfix: This fixes Coverity CID 1188012

Coverity reported resource leak from eina_str_split_full return which
was only being freed if the number was > 0. This is incorrect as
eina_str_split_full will still allocate the array and thus it should
be freed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore-evas-x: Fix formatting
Chris Michael [Wed, 5 Mar 2014 14:31:22 +0000 (14:31 +0000)]
ecore-evas-x: Fix formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Fix setting cached image alpha flag
Chris Michael [Wed, 5 Mar 2014 14:11:36 +0000 (14:11 +0000)]
evas-drm: Fix setting cached image alpha flag

@bugfix: Set cached image alpha flag properly

This fixes issue where cached image alpha flag was not set properly.
Set it according to the outbuf's destination alpha flag.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Check buffer validity in swap function
Chris Michael [Wed, 5 Mar 2014 07:09:19 +0000 (07:09 +0000)]
evas-drm: Check buffer validity in swap function

@bugfix: Check (and set) buffer validity before calling
framebuffer_send. This fixes an issue where buffer was not valid,
causing next_update_get to do full Copies.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoevas-drm: Don't call framebuffer set from within send function
Chris Michael [Wed, 5 Mar 2014 07:07:57 +0000 (07:07 +0000)]
evas-drm: Don't call framebuffer set from within send function

@bugfix: We cannot call framebuffer_set from within the send function
because if we are not vsync'd then framebuffer_set would never be
called and thus the buffer would not be marked as valid, causing full
Copies to happen.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
10 years agoecore_evas/fb: implement screen_geometry_get()
Gustavo Sverzut Barbieri [Wed, 5 Mar 2014 13:00:29 +0000 (10:00 -0300)]
ecore_evas/fb: implement screen_geometry_get()

Sometimes it is useful to query screen geometry (more often size) to
do some metrics as finding the proper theme in my case. As this call
works for X11 and others, let's make it work for framebuffer as well.

10 years agoedje: let's allow to reset escaped text to NULL.
Cedric BAIL [Wed, 5 Mar 2014 06:12:17 +0000 (15:12 +0900)]
edje: let's allow to reset escaped text to NULL.

@fix T821.

10 years agodoc: remove deprecated setting SYMBOL_CACHE_SIZE
Jeff Grimshaw [Wed, 5 Mar 2014 05:11:56 +0000 (14:11 +0900)]
doc: remove deprecated setting SYMBOL_CACHE_SIZE

Summary:
The setting SYMBOL_CACHE_SIZE has been deprecated and will
generate a warning when Doxygen runs.  This change comments out that
configuration setting to prevent the warning.

Test Plan: make doc 2> doxyerr.log

CC: cedric
Differential Revision: https://phab.enlightenment.org/D599

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
10 years agoeio: make it possible to limit the amount of memory used by threads.
Cedric BAIL [Wed, 5 Mar 2014 05:06:39 +0000 (14:06 +0900)]
eio: make it possible to limit the amount of memory used by threads.

Eio does need to allocate memory from the thread, transmit it to the
main loop where it is processed and later on freed. If the main loop
is to slow to handle the stream of incoming data, a huge peak of
memory can happen. Some people may want to limit the amount of memory
used at peak time and so this new infrastructure make that possible.

@feature

10 years agoeio: remove warning.
Cedric BAIL [Wed, 5 Mar 2014 05:06:27 +0000 (14:06 +0900)]
eio: remove warning.

10 years agoedje: fix edje_watch to not pass the '\n' to eio_monitor.
Cedric BAIL [Wed, 5 Mar 2014 03:14:40 +0000 (12:14 +0900)]
edje: fix edje_watch to not pass the '\n' to eio_monitor.

Eina_File line iterator does give the length of the line including the '\n'.
We did previously ignore that and passed the '\n' down to eio_monitor. Obviously
it would fail to monitor a PATH that finished with a '\n' and edje_watch did
stop working. I guess nobody did any real testing with edje watch in the past
year.

@fix

10 years agoeio: let's report the path we didn't found.
Cedric BAIL [Wed, 5 Mar 2014 02:46:12 +0000 (11:46 +0900)]
eio: let's report the path we didn't found.

10 years agoeio: factorize code to have one place where data are pushed.
Cedric BAIL [Wed, 5 Mar 2014 01:41:37 +0000 (10:41 +0900)]
eio: factorize code to have one place where data are pushed.

10 years agoeio: improve log when monitoring files.
Cedric BAIL [Wed, 5 Mar 2014 01:40:55 +0000 (10:40 +0900)]
eio: improve log when monitoring files.

10 years agoEcore suite: Don't fail if PulseAudio is not running
Jean-Philippe ANDRE [Tue, 4 Mar 2014 13:31:02 +0000 (22:31 +0900)]
Ecore suite: Don't fail if PulseAudio is not running

In a previous commit I mentionned that make check would fail
if PulseAudio is not running. Well, this is a bit excessive,
especially for buildbots where it doesn't have to be running.
So let's check that PulseAudio is running before failing.

Other errors should still be caught.

A simple "pulseaudio --check" should do the trick.

10 years agoEolian: Fix build for Windows
Daniel Zaoui [Tue, 4 Mar 2014 09:21:47 +0000 (11:21 +0200)]
Eolian: Fix build for Windows

The definition of EAPI was missing in Eolian.h.

Spank on you, Tom! I expect you to be perfect and to tell me those
things before I push all the stuff ;-)

10 years agoEcore suite: Fix hangs when PulseAudio is not present
Jean-Philippe Andre [Tue, 4 Mar 2014 06:56:19 +0000 (15:56 +0900)]
Ecore suite: Fix hangs when PulseAudio is not present

EFL can be built with PulseAudio support even if PA is
not present on the system. In that case, ecore_suite will
hang forever. Let's just catch the error instead.

Note: make check will fail if PA is not available (but not hang)

This is not related to Tom's recent mail (but yeah it reminded me
of this bug^^)

Fixes T732.

10 years agoEvas filters: Add return value in filter callback
Jean-Philippe Andre [Tue, 4 Mar 2014 06:17:11 +0000 (15:17 +0900)]
Evas filters: Add return value in filter callback

This will inform the client whether an asynchronous filter properly
rendered or not.

I actually don't know any case where rendering can fail at runtime.

10 years agoEvas cserve2: Fix excessive warnings during shutdown
Jean-Philippe Andre [Tue, 4 Mar 2014 05:46:13 +0000 (14:46 +0900)]
Evas cserve2: Fix excessive warnings during shutdown

The global index for fonts will be freed after cserve2 shutdown
but Evas keeps trying to free all its fonts after that.

10 years agoEvas filters: Fix errors in Evas_Object::destructor
Jean-Philippe Andre [Tue, 4 Mar 2014 05:14:15 +0000 (14:14 +0900)]
Evas filters: Fix errors in Evas_Object::destructor

Remove invalid call to source_unset and call the appropriate
Eo evas_obj_text_filter_source_set in case of Evas_Text with
proxy sources.

10 years agoEvas filters: Clean up some duplicate includes
Jean-Philippe Andre [Tue, 4 Mar 2014 04:58:30 +0000 (13:58 +0900)]
Evas filters: Clean up some duplicate includes

No functional change

10 years agoEvas filters: Rename RGBA_Image::mask.data into image.data8
Jean-Philippe Andre [Tue, 4 Mar 2014 03:05:44 +0000 (12:05 +0900)]
Evas filters: Rename RGBA_Image::mask.data into image.data8

The structure should not be changed, despite the union modification.

I am renaming for consistency with older branches that had a mask
field in RGBA_Image. Also, the mask.data or data8 is really just
a way to avoid casting between DATA8 and DATA32 (and it shows
clearly what kind of data you are dealing with).

10 years agoEvas filters: Fix a typo (wrong value checked)
Jean-Philippe Andre [Tue, 4 Mar 2014 02:50:35 +0000 (11:50 +0900)]
Evas filters: Fix a typo (wrong value checked)

This was all a bad copy and paste :)

10 years agoEvas filters: Minor fix for consistency (clip_to_target)
Jean-Philippe Andre [Tue, 4 Mar 2014 02:44:19 +0000 (11:44 +0900)]
Evas filters: Minor fix for consistency (clip_to_target)

Make sure sx and sy are properly set.
No need to backport as the function actually expect these values to
be initialized to 0 in the first place.

10 years agoEvas filters: fix clip to target calculation
Jean-Philippe Andre [Mon, 3 Mar 2014 08:45:15 +0000 (17:45 +0900)]
Evas filters: fix clip to target calculation

It was possible to keep negative values for dx,dy which would
then draw pixels out of bounds (= crash).

Make check crashed after the previous commit.

@fix

10 years agoEvas filters: Fallback to normal rendering in case of error
Jean-Philippe Andre [Mon, 3 Mar 2014 07:58:18 +0000 (16:58 +0900)]
Evas filters: Fallback to normal rendering in case of error

If the filters fail to render at runtime (that is, parsing went fine
but a command failed to run properly), fallback to normal rendering.
This should prevent text from disappearing when using proxies and
the OpenGL engine (for now).

10 years agoEvas filters: Avoid potential memory leaks
Jean-Philippe Andre [Mon, 3 Mar 2014 07:22:40 +0000 (16:22 +0900)]
Evas filters: Avoid potential memory leaks

Properly free the buffers when they are not in the current context list.

10 years agoEvas filters: fix random cases of 'dancing text'
Jean-Philippe ANDRE [Sun, 2 Mar 2014 09:39:08 +0000 (18:39 +0900)]
Evas filters: fix random cases of 'dancing text'

In some situations, text with filters would be rendered in an invalid
position (somewhere too high).
I am not entirely sure of the reason why the original code with BLEND
doesn't work, but this new version is simpler as GL and SW have more
similar behaviours:

- render text to our 'output' buffer
- draw this buffer as an image onto the set target

Thanks zmike for reporting the issue.
And thanks A LOT for using the filters :D

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
10 years agoEvas filters: fix black squares with the GL engine
Jean-Philippe ANDRE [Sun, 2 Mar 2014 10:08:22 +0000 (19:08 +0900)]
Evas filters: fix black squares with the GL engine

If a text object changes regularily, there might be cases where
the object will be rendered as a simple black rectangle for just
one frame.

It seems that the previous output buffer is deleted before being
actually rendered on screen. This patch will delay the deletion
of the previous buffer until the current one has been rendered
to the target surface.

And again, thanks zmike for reporting.

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
10 years agoEvas filters: Avoid CRI message when using the GL engine
Jean-Philippe ANDRE [Sun, 2 Mar 2014 05:55:42 +0000 (14:55 +0900)]
Evas filters: Avoid CRI message when using the GL engine

A CRItical message was always displayed when setting a filter
on a text object, saying that proxy rendering is not supported on GL.

Reduce CRI to ERR and skip proxy rendering altogether if there are
no proxy sources.

This @fix needs to be backported.

Thanks zmike for reporting this.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
10 years agoEvas filters: Improve RGBA to alpha conversion (visual quality)
Jean-Philippe Andre [Mon, 24 Feb 2014 04:54:30 +0000 (13:54 +0900)]
Evas filters: Improve RGBA to alpha conversion (visual quality)

Add weights to the R,G,B components when converting to greyscale.
The weights are those used in the RGB to YCbCr conversion formula.

10 years agoEvas filters: Implement mapped blend for alpha buffers
Jean-Philippe Andre [Fri, 21 Feb 2014 07:46:04 +0000 (16:46 +0900)]
Evas filters: Implement mapped blend for alpha buffers

Allow repeat fillmode in blend() for:
alpha --> alpha
alpha --> rgba
rgba --> alpha

Alpha scaling is not implemented yet, but it is not actually
required. Indeed, only proxies can have a different size and
proxies are RGBA images, not alpha.

Alpha scaling may or may not become a requirement in the future,
or for other purposes, but not yet.

10 years agoEolian: Valgrind fixes
Daniel Zaoui [Mon, 3 Mar 2014 16:01:53 +0000 (18:01 +0200)]
Eolian: Valgrind fixes

10 years agoEolian: remove Ecore_File dependency
Daniel Zaoui [Mon, 3 Mar 2014 16:00:45 +0000 (18:00 +0200)]
Eolian: remove Ecore_File dependency

10 years agoevas-drm: Fix evas drawing delay for cedric
Chris Michael [Mon, 3 Mar 2014 16:07:18 +0000 (16:07 +0000)]
evas-drm: Fix evas drawing delay for cedric

@bugfix: Draw to the front buffer first, instead of the back buffer.

Frenchie says this improves the "initial rendering delay" of expedite
tests. Originally, we were drawing to the back buffer first, then
flipping it onto the crtc when drawing was done. This presented a
"perceived" rendering delay when running expedite tests as it would
wait for the back buffer to be drawn before presenting it. Personally,
I think it is not good to draw directly to the front buffer first as
it may get presented "incomplete" ... but cedric says it draws fine so
we'll leave it starting on the front buffer (for now).

Signed-off-by: Chris Michael <devilhorns@comcast.net>
10 years agoeina_list: Optimize eina_list_nth() call in case of index 0.
Daniel Juyung Seo [Mon, 3 Mar 2014 15:01:48 +0000 (00:01 +0900)]
eina_list: Optimize eina_list_nth() call in case of index 0.

Check null and return the list data directly if the index 'n' is 0.

10 years agoedje: add support of last input entered in password mode to be always visible in...
Amitesh Singh [Mon, 3 Mar 2014 12:29:34 +0000 (09:29 -0300)]
edje: add support of last input entered in password mode to be always visible in entry.

@feature

Requirement: Last input entered in password mode should be always visible in
entry. e.g. **a -> ***b.

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric
Differential Revision: https://phab.enlightenment.org/D589

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
10 years agoEolian: fix warnings.
Daniel Zaoui [Mon, 3 Mar 2014 12:28:30 +0000 (14:28 +0200)]
Eolian: fix warnings.

Don't want Stefan to be angry ;-)

10 years agoEolian: Merge of Eolian C generator
Daniel Zaoui [Mon, 3 Mar 2014 12:15:34 +0000 (14:15 +0200)]
Eolian: Merge of Eolian C generator

This patchset includes the parser for the meta-data (.eo) files and
the generator of C and H files.
.eo files are not included and will be added one after the other during
the splitting of the C files.
The APIs supplied by Eolian are beta APIs. Expect changes.

10 years agoEolian: New features/bugs fixes
Yossi Kantor [Tue, 25 Feb 2014 15:27:38 +0000 (17:27 +0200)]
Eolian: New features/bugs fixes

  1) Include files now have include guards
  2) --gh option generates legacy header with --legacy flag and eo header
  without --legacy flag
  3) EOLIAN keyword is introduced to mark functions used by generated
  file.
  4) * for comments when comment text is empty

10 years agoEolian: Updated Eolian_Helper.
Tom Hacohen [Wed, 26 Feb 2014 15:42:15 +0000 (15:42 +0000)]
Eolian: Updated Eolian_Helper.

In order to use, you need to do as follows:
Add
include /src/Makefile_Eolian_Helper.am
To the Makefile.am that uses it.
Put .eo files in extra dist, e.g:
EXTRA_DIST = elm_code.eo
Add all the files you'd like to generate in BUILT_SOURCES, e.g:
BUILT_SOURCES = elm_code.eo.c elm_code.eo.h elm_code.eo.legacy.h

10 years agoEolian: New generation feature tested and bugs fixed
Yossi Kantor [Thu, 20 Feb 2014 12:47:46 +0000 (14:47 +0200)]
Eolian: New generation feature tested and bugs fixed

  1) Underscore for static global names
  2) Escape special characters for in-code descriptions
  3) Proper spaces for generated lines

10 years agoEolian: support non null parameters.
Daniel Zaoui [Sun, 23 Feb 2014 09:19:14 +0000 (11:19 +0200)]
Eolian: support non null parameters.

The generation is only needed in legacy headers.

10 years agoEolian: Fixed pc file to correctly generate.
Tom Hacohen [Fri, 21 Feb 2014 13:01:12 +0000 (13:01 +0000)]
Eolian: Fixed pc file to correctly generate.

First of all, it's now correctly generated, unlike before.
Second of all, it now lists eoincludedir, the directory for all
of the .eo include files.

10 years agoEolian/Generator: fix data type for implement function
Daniel Zaoui [Thu, 20 Feb 2014 14:46:23 +0000 (16:46 +0200)]
Eolian/Generator: fix data type for implement function