platform/upstream/efl.git
9 years agoEvas GL common: Create OpenGL ES 3.x contexts by default
Jean-Philippe Andre [Thu, 5 Mar 2015 10:21:24 +0000 (19:21 +0900)]
Evas GL common: Create OpenGL ES 3.x contexts by default

Automatically fallback to OpenGL ES 2.0 if OpenGL ES 3 is not supported.
This is a first step in trying to support GLES 3 for Evas GL.

This commit is also a wild test to see whether using GLES 3 contexts
by default will break anything. The theory says that GLES 3 is
backwards compatible with GLESv2.

So, if anything GL breaks for you... scream loudly!
But before reporting any bugs, please set the env variable:
- export EVAS_GL_DISABLE_GLES3=1

This does not add any requirement for GLESv3 support.

9 years agoEvas GL: Fix list of extensions with GLESv1
Jean-Philippe Andre [Thu, 5 Mar 2015 09:16:05 +0000 (18:16 +0900)]
Evas GL: Fix list of extensions with GLESv1

EGL/EvasGL extensions are also valid with GLESv1.
This means evasglCreateImage could be used.

@fix

9 years agoEdje init: fix typo in error message.
Tom Hacohen [Thu, 5 Mar 2015 09:26:01 +0000 (09:26 +0000)]
Edje init: fix typo in error message.

Evas is the one being initiated, not eet.

9 years agoEvas GL: Fix CRI message on shutdown
Jean-Philippe Andre [Thu, 5 Mar 2015 07:16:11 +0000 (16:16 +0900)]
Evas GL: Fix CRI message on shutdown

Just a simple log domain issue (EvasGL was not initialized, so
ERR() would trigger a fatal error). EvasGL is now initialized
on demand when a new GL surface is requested.

9 years agoedje - somehow edje doesn't init evas and this makes edje_decc break...
Carsten Haitzler (Rasterman) [Thu, 5 Mar 2015 01:33:58 +0000 (10:33 +0900)]
edje - somehow edje doesn't init evas and this makes edje_decc break...

@fix

how on earth has everything worked to date? someone must have remved
some evas_init from somewhere int he init codepath. this adds it back
in and edje_decc works again without a segv.

9 years agoee-wl should probably clamp configure event resize to output size for fs wins
Mike Blumenkrantz [Wed, 4 Mar 2015 21:49:19 +0000 (16:49 -0500)]
ee-wl should probably clamp configure event resize to output size for fs wins

fs configures are 0x0, so reuse existing output size here to get accurate sizes

9 years agoecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximized
Mike Blumenkrantz [Wed, 4 Mar 2015 21:46:39 +0000 (16:46 -0500)]
ecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximized

9 years agoecore-wl update window saved.size on any resize instead of just fs/maximize
Mike Blumenkrantz [Wed, 4 Mar 2015 21:45:50 +0000 (16:45 -0500)]
ecore-wl update window saved.size on any resize instead of just fs/maximize

9 years agoecore-drm: Implement edid parsing for Ecore_Drm_Output
Chris Michael [Wed, 4 Mar 2015 19:53:06 +0000 (14:53 -0500)]
ecore-drm: Implement edid parsing for Ecore_Drm_Output

Summary: This implements edid parsing to obtain output make and model
so we can get better output names. This also fixes a false FIXME
statement in ecore_drm_output_physical_size_get function. As it turns
out, we don't need to get these values from edid parsing as they are
already available in the drm connector.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add edid structure to Ecore_Drm_Output
Chris Michael [Wed, 4 Mar 2015 19:52:04 +0000 (14:52 -0500)]
ecore-drm: Add edid structure to Ecore_Drm_Output

Summary: This adds an edid substructure to Ecore_Drm_Output so that
when we parse out EDID information, we have a place to store it

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm
Chris Michael [Wed, 4 Mar 2015 16:48:36 +0000 (11:48 -0500)]
ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm
engine

Summary: This changes the ecore_evas_pointer_xy_get function call (on
drm engine) to use the new ecore_drm_device_pointer_xy_get so we can
center mouse pointer on an output at startup.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Center mouse pointer on an output when it gets created
Chris Michael [Wed, 4 Mar 2015 16:47:42 +0000 (11:47 -0500)]
ecore-drm: Center mouse pointer on an output when it gets created

Summary: This sets the initial mouse pointer position to be at the
center of an output.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
Chris Michael [Wed, 4 Mar 2015 16:46:22 +0000 (11:46 -0500)]
ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device

Summary: This adds a function (ecore_drm_device_pointer_xy_get) to we
can return the mouse position inside ecore_evas_pointer_xy_get calls.
This is going to be used for centering the mouse when E-Wl starts up.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-drm: Fix formatting
Chris Michael [Wed, 4 Mar 2015 16:20:31 +0000 (11:20 -0500)]
ecore-drm: Fix formatting

Summary: No functional changes, just formatting fixes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoEio: added cmake file
Marcel Hollerbach [Wed, 4 Mar 2015 15:02:22 +0000 (15:02 +0000)]
Eio: added cmake file

Summary: Added cmake config files for Eio

Test Plan: install it and test it with a app with needs eio

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

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

9 years agoedje: code refactoring.
ChunEon Park [Wed, 4 Mar 2015 13:52:12 +0000 (22:52 +0900)]
edje: code refactoring.

use a constant vairable for maintainance.

9 years agolib/edje_util: fix logically wrong here.
ChunEon Park [Wed, 4 Mar 2015 13:44:19 +0000 (22:44 +0900)]
lib/edje_util: fix logically wrong here.

print err message only if edje has a non-fixed textblock.

This dosen't affect any application ui results,
but err message will point out the problem textblock parts exactly.

9 years agoelua: connect the del event on first callback connect
Daniel Kolesa [Wed, 4 Mar 2015 10:31:48 +0000 (10:31 +0000)]
elua: connect the del event on first callback connect

9 years agoEvas GL common: Disable evas gl preload by default
Jean-Philippe Andre [Wed, 4 Mar 2015 08:11:26 +0000 (17:11 +0900)]
Evas GL common: Disable evas gl preload by default

Unfortunately, this "feature" has many problems and does not really
fix those it was supposed to address:

- Elm Photocam becomes horrible to use (the transition from
  low-res to high-res tiles triggers this miniature path).

- Evas async preload callback is called before the full image
  is ready (ie. the texture is not uploaded yet), when really
  the preload callback should be triggered only once the image
  is 100% ready. (TODO)

- Sometimes the miniature image keeps being used even though the
  main image has been uploaded (eg. with E background). Maybe the
  object image is not redrawn when it should.

- This uses a separate thread for the upload, which is both a good
  and bad idea because we need to do a make current. Also, this does
  not upload the full-res image tile by tile, but only in one pass,
  thus blocking the render loop until finished.

This patch changes the env var from "EVAS_GL_NOPRELOAD" to
"EVAS_GL_PRELOAD" (and only "1" will enable).

Sorry Cedric, we can talk later about how to improve this.

9 years agoEvas GL common: Improve quality of miniature image
Jean-Philippe Andre [Wed, 4 Mar 2015 07:37:20 +0000 (16:37 +0900)]
Evas GL common: Improve quality of miniature image

Sample in the middle of the "macro pixels" and fool around with the
borders (usually used to limit linear sampling artifacts) to improve
image quality on the edges.

Those miniatures are still 16x16 but MAAAYYYYYBE they will look a bit
less awful.

NOTE: The first row still doesn't scale properly (interpolates with
      garbage above y=0).

9 years agoEvas GL common: Force smooth scaling on miniature images
Jean-Philippe Andre [Wed, 4 Mar 2015 06:27:21 +0000 (15:27 +0900)]
Evas GL common: Force smooth scaling on miniature images

When evas GL uploads textures, it will first upload a 16x16 miniature
image, and then wait for some idle time in the main loop to upload the
high-res image.

Some images may not have smooth scaling enabled which results in the
miniature scaled with GL_NEAREST, showing big ugly squares. Let's
force smooth scaling instead, for a blur image rather than a
checkerboard.

9 years agoevas/examples: Resolved warning in evas-3d example
kabeer khan [Wed, 4 Mar 2015 04:01:20 +0000 (13:01 +0900)]
evas/examples: Resolved warning in evas-3d example

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

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric

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

9 years agoelua: connect del callback by default
Daniel Kolesa [Tue, 3 Mar 2015 16:38:24 +0000 (16:38 +0000)]
elua: connect del callback by default

9 years agoelua: better callback resource handling
Daniel Kolesa [Tue, 3 Mar 2015 16:28:24 +0000 (16:28 +0000)]
elua: better callback resource handling

9 years agoelua: implement callback disconnect + better error handling
Daniel Kolesa [Tue, 3 Mar 2015 16:16:59 +0000 (16:16 +0000)]
elua: implement callback disconnect + better error handling

9 years agoelua: initial better callback system with indirection
Daniel Kolesa [Tue, 3 Mar 2015 16:08:22 +0000 (16:08 +0000)]
elua: initial better callback system with indirection

9 years agoelua: eo_class_addr_get -> eo_obj_addr_get
Daniel Kolesa [Tue, 3 Mar 2015 15:59:16 +0000 (15:59 +0000)]
elua: eo_class_addr_get -> eo_obj_addr_get

9 years agoelua: callback stubs for basic event handling
Daniel Kolesa [Tue, 3 Mar 2015 15:43:02 +0000 (15:43 +0000)]
elua: callback stubs for basic event handling

9 years agoelua: callback updates in eo bindings
Daniel Kolesa [Tue, 3 Mar 2015 15:29:50 +0000 (15:29 +0000)]
elua: callback updates in eo bindings

Priority is now supported. Some initial infra for disconnect
has been added.

9 years agoelua: unregister all classes on eo.lua shutdown
Daniel Kolesa [Tue, 3 Mar 2015 14:05:36 +0000 (14:05 +0000)]
elua: unregister all classes on eo.lua shutdown

9 years agoedje/edje_util: code refactoring.
ChunEon Park [Tue, 3 Mar 2015 13:36:26 +0000 (22:36 +0900)]
edje/edje_util: code refactoring.

change internal variables to more descriptive ones.

no logic change.

9 years agoEvas GL: Fix build error on some systems w/o Wayland
Jean-Philippe Andre [Tue, 3 Mar 2015 11:57:59 +0000 (20:57 +0900)]
Evas GL: Fix build error on some systems w/o Wayland

Thanks Mythri for the report.
wl_display and wl_resource is declared in eglmesaext.h but older
systems may not have that.

9 years agoEvas GL: Kill runtime warnings caused by auto fallback
Jean-Philippe Andre [Tue, 3 Mar 2015 11:08:16 +0000 (20:08 +0900)]
Evas GL: Kill runtime warnings caused by auto fallback

The previous commit modifies the concept of direct rendering
vs. indirect rendering, so some runtime checks (in debug mode
only) will fail.

This commit introduces two new engine functions:
 - gl_get_pixels_pre
 - gl_get_pixels_post

The latter will be used in a later patch for optimization.

9 years agoEvas GL: Automatic fallback to indirect rendering when the scene has
Jean-Philippe Andre [Tue, 3 Mar 2015 07:38:52 +0000 (16:38 +0900)]
Evas GL: Automatic fallback to indirect rendering when the scene has
not changed.

Automatically fallback to indirect rendering on FBO or X11 Pixmap
if the Evas Object Image is not marked as dirty. This should
improve the performance and/or power consumption in those
rare cases where this area of the canvas needs to be redrawn
but the GL content has not changed.

@feature

9 years agoevas-3d: recycling of resources for .ply import/export example
Bogdan Devichev [Tue, 3 Mar 2015 02:44:40 +0000 (11:44 +0900)]
evas-3d: recycling of resources for .ply import/export example

Summary: Smaller resources for .ply example.

Test Plan: run evas-3d-ply.c

Reviewers: cedric, Hermet, raster

Subscribers: cedric

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

9 years ago[Evas: Evas_3D] Fix mesh API.
Dmytro Dadyka [Tue, 3 Mar 2015 02:28:56 +0000 (11:28 +0900)]
[Evas: Evas_3D] Fix mesh API.

Reviewers: cedric

Subscribers: cedric

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

9 years agoevas-3d: recycling of resources for mmap example
Bogdan Devichev [Tue, 3 Mar 2015 02:23:54 +0000 (11:23 +0900)]
evas-3d: recycling of resources for mmap example

Summary: Models for mmap example are more than tan times smaller.

Test Plan: run evas-3d-mmap-set.c

Reviewers: cedric, raster, Hermet

Subscribers: cedric

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

9 years agoevas-3d: deleted some unneccesary resources and moon-space example
Bogdan Devichev [Tue, 3 Mar 2015 01:58:58 +0000 (10:58 +0900)]
evas-3d: deleted some unneccesary resources and moon-space example

Summary: This example is deprecated. We have another (pick) to show functionality of it.

Test Plan: Need merged D2044 to run pick example.

Reviewers: cedric, raster, Hermet

Subscribers: cedric

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

9 years agoecore-wl: Send xdg_surface_set_window_geometry when we update window
Chris Michael [Mon, 2 Mar 2015 17:24:34 +0000 (12:24 -0500)]
ecore-wl: Send xdg_surface_set_window_geometry when we update window
size/position

Summary: We should be implementing xdg_surface_set_window_geometry for
efl apps, so this commit adds the function call to that.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoelua: take __tostring from object metatable on robjects
Daniel Kolesa [Mon, 2 Mar 2015 16:10:32 +0000 (16:10 +0000)]
elua: take __tostring from object metatable on robjects

9 years agoelua: readonly object __dtor support
Daniel Kolesa [Mon, 2 Mar 2015 16:02:23 +0000 (16:02 +0000)]
elua: readonly object __dtor support

9 years agoecore-imf: Add check for environment variable to enable show/hide of input panel
Chris Michael [Mon, 2 Mar 2015 15:46:38 +0000 (10:46 -0500)]
ecore-imf: Add check for environment variable to enable show/hide of input panel

Summary: Allow ecore_imf input panel to be shown/hidden via the master
'enabled' switch or via an environment variable. This is required for
Tizen in order that 3rd party apps can still show input_panel even if
master switch is disabled (as per discussion with Carsten).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoelua: add transparent destructor support to elua objects
Daniel Kolesa [Mon, 2 Mar 2015 13:51:22 +0000 (13:51 +0000)]
elua: add transparent destructor support to elua objects

9 years agoEvas masking: Use mask_smooth to differentiate "shaders"
Jean-Philippe Andre [Mon, 2 Mar 2015 11:38:41 +0000 (20:38 +0900)]
Evas masking: Use mask_smooth to differentiate "shaders"

If mask_smooth changes, it should trigger a flush of
the pipeline (and call glDrawArrays).

This may or may not fix some potential bugs with masking.

9 years agoedje: apply scale prior to rotation
ChunEon Park [Mon, 2 Mar 2015 11:19:49 +0000 (20:19 +0900)]
edje: apply scale prior to rotation

As my experience, this tranform is likely expected by user.

9 years agoedje: Adding the zoom effect of map to edje
jiin.moon [Mon, 2 Mar 2015 11:19:01 +0000 (20:19 +0900)]
edje: Adding the zoom effect of map to edje

Summary:
Support zoom effect of map in edje
@feature

Reviewers: Hermet

Subscribers: cedric

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

9 years agoEvas GL: Use Eina_Strbuf for the extensions list
Jean-Philippe Andre [Mon, 2 Mar 2015 10:51:30 +0000 (19:51 +0900)]
Evas GL: Use Eina_Strbuf for the extensions list

The usage of strcat/strncat was not safe, and even Coverity reported
about it.

Fixes CID 1256197:
CID 1256197 (#1 of 2): Buffer not null terminated (BUFFER_SIZE_WARNING)
1. buffer_size_warning: Calling strncpy with a maximum size argument
of 10240 bytes on destination array _gl_ext_string of size 10240 bytes
might leave the destination string unterminated.

9 years agoEvas GL: Fix value of GL_COVERAGE_SAMPLES_NV
Jean-Philippe Andre [Mon, 2 Mar 2015 10:15:01 +0000 (19:15 +0900)]
Evas GL: Fix value of GL_COVERAGE_SAMPLES_NV

Use the Khronos version from extension EGL_NV_coverage_sample.
In the extension multisample_coverage version 4 (since 3/7/2013),
there is an explicite note about the name conflict.

9 years agoEvas GL: remove evgl_init in gl_get_pixels_set
Dongyeon Kim [Mon, 2 Mar 2015 07:24:50 +0000 (16:24 +0900)]
Evas GL: remove evgl_init in gl_get_pixels_set

Summary:
gl_get_pixels_set is called in evas_object_image_render
even when evas gl is not used.
As gl_get_pixels_set does not actually call evas gl functions,
we can safely remove evgl_init macro here.

Reviewers: raster, cedric, jpeg, Hermet

Subscribers: cedric, mer.kim, wonsik

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
9 years agoevas/gl_x11: fix duplicated egl error check
Dongyeon Kim [Mon, 2 Mar 2015 07:21:22 +0000 (16:21 +0900)]
evas/gl_x11: fix duplicated egl error check

Summary:
When egl window surface creation fails, eglGetError() is called twice,
thus removing error state.

Reviewers: cedric, Hermet, jpeg

Reviewed By: jpeg

Subscribers: mer.kim, wonsik, cedric

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
9 years agoEvas GL: Fix abnormal extension name.
Minkyoung Kim [Mon, 2 Mar 2015 07:16:32 +0000 (16:16 +0900)]
Evas GL: Fix abnormal extension name.

Summary: Fix abnormal extension name.

Test Plan: local test.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric, spacegrapher

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
9 years agoevas/gl: implement dynamic hint set using tbm surface
Dongyeon Kim [Mon, 2 Mar 2015 05:40:12 +0000 (14:40 +0900)]
evas/gl: implement dynamic hint set using tbm surface

Summary:
Currently dynamic hint set is implemented using eglMapImageSEC extension,
which is no longer supported by any drivers (should be deprecated)
This patch implements dynamic hint set using Khronos extension EGL_TIZEN_image_native_surface.
Since tbm surface library is required for this, libtbm.so is queried at context new.

Test Plan: Local tests

Reviewers: raster, Hermet, cedric, jpeg

Subscribers: mer.kim, wonsik, cedric

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
jpeg: I also fixed a few minor style issues and two warnings (bad function
names, glsym instead of secsym).

9 years agoEvas GL common: Remove uniform-related stuff
Jean-Philippe Andre [Mon, 2 Mar 2015 02:30:34 +0000 (11:30 +0900)]
Evas GL common: Remove uniform-related stuff

Remove last traces of the uniforms stuff for shaders, that was
removed in the following commits: 6b48c106d3261 and cfd337a758a.

Don't use uniforms in the evas GL pipeline, at least not like that.

9 years agoevas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
Chris Michael [Sun, 1 Mar 2015 15:49:10 +0000 (10:49 -0500)]
evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed

Summary: This fixes compile for the gl_drm engine if
--with-opengl=full is passed on the cmd line. These changes are
based on the diff provided by spotrh in the above ticket.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-gl-drm: Cleanup compiler warnings for dbg/err messages
Chris Michael [Sun, 1 Mar 2015 15:45:39 +0000 (10:45 -0500)]
evas-gl-drm: Cleanup compiler warnings for dbg/err messages

Summary: This commit compiles out the debug messages that were
generating compiler warnings during build. You can reenable these
messages if you uncomment GL_DRM_DBG in evas_engine.h

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore/ecore_audio: fix timer control logically wrong.
ChunEon Park [Sun, 1 Mar 2015 08:59:52 +0000 (17:59 +0900)]
ecore/ecore_audio: fix timer control logically wrong.

@fix

9 years agoUse doubles to store libinput's mouse motion
Derek Foreman [Fri, 27 Feb 2015 15:40:38 +0000 (10:40 -0500)]
Use doubles to store libinput's mouse motion

Summary:
Using can result in motion being completely discarded.  Since we
only need integer data, we also only actually forward on an event
when the mouse moves more than a full unit.

Reviewers: zmike, devilhorns

Subscribers: cedric

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

9 years agoevas-software-x11: Provide TBM Native Surface support for xcb engine
Chris Michael [Fri, 27 Feb 2015 15:33:30 +0000 (10:33 -0500)]
evas-software-x11: Provide TBM Native Surface support for xcb engine

Summary: This adds support for native surfaces in xcb. Previously when
the TBM Native Surface support was added, it broke the xcb build.
These commits fix that issue.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoevas-software-x11: Remove improper EINA_UNUSED for function parameter
Chris Michael [Fri, 27 Feb 2015 15:29:06 +0000 (10:29 -0500)]
evas-software-x11: Remove improper EINA_UNUSED for function parameter

Summary: In the _native_bind_cb function, the data parameter is
actually used inside here, so having EINA_UNUSED on the function
parameter is incorrect.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore-xcb: Fix 'variable set but not used' message
Chris Michael [Fri, 27 Feb 2015 14:44:16 +0000 (09:44 -0500)]
ecore-xcb: Fix 'variable set but not used' message

Summary: As we do not use the returned Ecore_Event here, there is no
need to assign it

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
9 years agoecore_x/xcb: Remove xcb-xprint code to get the root window list and use fallback
Stefan Schmidt [Fri, 27 Feb 2015 14:19:34 +0000 (15:19 +0100)]
ecore_x/xcb: Remove xcb-xprint code to get the root window list and use fallback

This was the only user of xcb-xprint and we already have a fallback in place for
it. I talked to Chris about it and he was fine with it before his morning coffee.
More serious this should be ok and we can get rid of this part which starts to
make trouble in distros by now. E.g. gentoo is disabling it completely and many
others just ship upstream which means no pc file. Arch seems to patch it in but
we are on the safe side with just using the fallback.

9 years agobuild: Remove pkg-config for xcb-xprint as the pc file is now longer shipped.
Stefan Schmidt [Fri, 27 Feb 2015 13:17:23 +0000 (14:17 +0100)]
build: Remove pkg-config for xcb-xprint as the pc file is now longer shipped.

xcb no longer ships the xcp-print.pc file and thus pkg-config is not able to
detect it. Some distros might patch over it as the source files seem still to
be shipped but we cannot rely on this.
http://lists.freedesktop.org/archives/xcb/2013-November/008907.html

As the above commit mentions the xprint support was actually removed from the
Xorg server in 2008 (1.11 release) which means none of our code actually has
any server side it can talk to for some years now. :) Our xcb-xprint code is
actually ifdef'ed already so we might want to remove it alltogether.

9 years agoEvas masking: Fix double free() with scaled images
Jean-Philippe Andre [Fri, 27 Feb 2015 08:56:49 +0000 (17:56 +0900)]
Evas masking: Fix double free() with scaled images

The function image_scaled_update() frees() the old scaled image
passed as input if it doesn't match the old dimensions. This commit
will avoid double frees.

9 years agoEvas masking: Check fill properties to consider image as filled
Jean-Philippe Andre [Fri, 27 Feb 2015 06:57:36 +0000 (15:57 +0900)]
Evas masking: Check fill properties to consider image as filled

Edje may not set the filled flag on an image even if its fill
properties make it fill the whole object. For masking, it can
then be considered as a filled image.

9 years agoEvas masking: Remove commented-out code
Jean-Philippe Andre [Fri, 27 Feb 2015 05:11:59 +0000 (14:11 +0900)]
Evas masking: Remove commented-out code

I shouldn't have pushed this :)

9 years agoEvas masking: Skip GL fast path if image has fill options
Jean-Philippe Andre [Fri, 27 Feb 2015 04:32:50 +0000 (13:32 +0900)]
Evas masking: Skip GL fast path if image has fill options

If the image is not "filled", then we can't assume its image
source geometry is the same as its texture geometry.

Note: Implementing a fast path for non-filled images would
      require a hell of a lot more work (need to cut the render
      into a lot more triangles) for little real-life use.

9 years agoEvas masking: Fix masking of maps in GL
Jean-Philippe Andre [Thu, 26 Feb 2015 11:42:45 +0000 (20:42 +0900)]
Evas masking: Fix masking of maps in GL

This completes the transition to auto-scaled mask images when
using the GL engine. Now the shaders do the work on-the-fly of
resizing the mask.

9 years agoEvas masking: Simplify previous commit
Jean-Philippe Andre [Thu, 26 Feb 2015 06:36:09 +0000 (15:36 +0900)]
Evas masking: Simplify previous commit

Call object's function to get the private engine_data (here, the
image object). Thanks Dongyeon for your patch which inspired me to
do that instead of forcing pre_render.

9 years agoEvas masking: Add fast path for image-only masks in GL.
Jean-Philippe Andre [Wed, 25 Feb 2015 10:05:12 +0000 (19:05 +0900)]
Evas masking: Add fast path for image-only masks in GL.

This will currently optimize most of the masks when using the
GL engine[1].

This is a very special case that adds a highly optimized path
for masking in GL. It works by creating a virtual image, containing
a pointer to the original image and a new geometry[2].

Instead of creating a new FBO-based surface (image_map_surface),
we refer to the original image and adjust the mask geometry on
the fly.

KNOWN BUGS:
- masking a map with such a scaled image is now broken.

[1] Right now all masks are simple Evas Object Image, so that means
    all cases of masking, except masks of masks, or masks of maps,
    will be optimized with this new method.

[2] This virtual image mechanism is still quite hackish and may
    be improved (for memory usage, refcounting, etc...)

9 years agoecore-wl fullscreen state is based on either window type or attribute
Mike Blumenkrantz [Fri, 27 Feb 2015 03:30:44 +0000 (22:30 -0500)]
ecore-wl fullscreen state is based on either window type or attribute

fixes fullscreen state detection when being set to fullscreen by the compositor

@fix

9 years agoecore-drm modifier updating is now functional
Mike Blumenkrantz [Fri, 27 Feb 2015 02:51:00 +0000 (21:51 -0500)]
ecore-drm modifier updating is now functional

when dealing with non-kbd devices, the seat can be iterated to locate a keyboard

this may or may not accurately set depressed, latched, locked, group values

9 years agoevas scale sample - fix useage of eina thread queue
Carsten Haitzler (Rasterman) [Fri, 27 Feb 2015 01:35:01 +0000 (10:35 +0900)]
evas scale sample - fix useage of eina thread queue

pass in ref not &ref (other uses were fine - this single one broken)

9 years agoevas: Evas_3D - add terrain mesh.
Dmytro Dadyka [Thu, 26 Feb 2015 19:42:36 +0000 (20:42 +0100)]
evas: Evas_3D - add terrain mesh.

Reviewers: Hermet, Oleksander, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas-3d: fix incorrect reading of .obj file which had an empty line before data in...
Bogdan Devichev [Thu, 26 Feb 2015 19:27:11 +0000 (20:27 +0100)]
evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.

Summary:
For example of a bug, part of .obj file:
vn 0.5536 -0.7200 -0.4185\n
vn -0.5536 -0.7200 -0.4185\n
\# 239 vertex normals\n
\n
vt 0.4998 0.2618 0.0000\n(lines like this were ignored)
vt 0.5205 0.2550 0.0000\n
vt 0.5249 0.2618 0.0000\n

@fix

Test Plan: Run colorpick example. Before and after this update. ("M15.obj" has fixed places.)

Reviewers: cedric, Hermet, raster

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoevas: Evas_3D - fix coding style
Dmytro Dadyka [Thu, 26 Feb 2015 19:25:43 +0000 (20:25 +0100)]
evas: Evas_3D - fix coding style

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoelua: minor eo bindings optimization
Daniel Kolesa [Thu, 26 Feb 2015 17:07:33 +0000 (17:07 +0000)]
elua: minor eo bindings optimization

9 years agoelua: update eo bindings for lualian generated code
Daniel Kolesa [Thu, 26 Feb 2015 15:36:15 +0000 (15:36 +0000)]
elua: update eo bindings for lualian generated code

9 years agobuild: Workaround an automake limitation during parallel install relinking
Stefan Schmidt [Thu, 26 Feb 2015 11:35:50 +0000 (12:35 +0100)]
build: Workaround an automake limitation during parallel install relinking

With this commit I'm finally able to use -j10 for make install on my machine.

During install libtool does some relinking which can result in to broken linking
if the dependencies are not handled correctly. Sadly automake has a problem with
the automatic dependency handling during install with LTLIBRARIES which we use
for all our modules. For the details please see this 4.5 years old bug report:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328

We are now setting the dependency manually to force automake to the right decision
during install relinking.

Speed improvement itself is not that high (make -j 1 compared to -j10):
real 0m21.410s  vs. real 0m17.066s

The bigger benefit is the unified use of MAKEOPTS or normal -j X in all our
build targets. I have seen quite some bug reports where -j was used for install
target when it was used in the build target. Last but not least it helps me to
unify some parts of the jenkins jobs and finally allows me to run distcheck
with -j Which uses install internally and failed before. Which goes down from
real 12m50.349s to real 5m52.120s.

9 years agoeina + ecore - fix main loop thread id tracking on fork
Carsten Haitzler (Rasterman) [Thu, 26 Feb 2015 10:45:53 +0000 (19:45 +0900)]
eina + ecore - fix main loop thread id tracking on fork

if you fork and even if you do ecore_fork_reset() a thread calling
ecore_main_loop_thread_safe_call_async(0 for example eill end up
resetting the mainloop thread id to itself (a non mainlopo thread) via
calling eina_main_loop_is() since pid changed. there is little point
in doing this so remove the pid tracking from eina and ensure mainloop
thread id is updated in ecore's fork reset.

@fix

9 years agoEvas masking: Simplify map masking shaders.
Jean-Philippe Andre [Thu, 26 Feb 2015 08:19:07 +0000 (17:19 +0900)]
Evas masking: Simplify map masking shaders.

Use vertex shader for all coordinates computations.
This reduces the number of varyings used.

9 years agoeina: add test case for eina_memdup in eina str
vivek [Wed, 25 Feb 2015 16:26:03 +0000 (17:26 +0100)]
eina: add test case for eina_memdup in eina str

Summary:
Added test case for eina_memdup function in eina_str test module

Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
9 years agoelua: completely revamped object system
Daniel Kolesa [Wed, 25 Feb 2015 15:45:18 +0000 (15:45 +0000)]
elua: completely revamped object system

These changes now allow us to do proper __tostring overrides and require
fewer method references, as everything shares a single metatable.

9 years agobuild: Ensure we have $(DESTDIR)$(libdir) during parallel install
Stefan Schmidt [Wed, 25 Feb 2015 13:20:16 +0000 (14:20 +0100)]
build: Ensure we have $(DESTDIR)$(libdir) during parallel install

While install-exec-hook gets normally executed after install and
thus we would have this we need to ensure it here when we want to
be safe regarding parallel install.

9 years agobuild: Unify use of $(MKDIR_P) for creating a dir within the build system
Stefan Schmidt [Wed, 25 Feb 2015 13:05:42 +0000 (14:05 +0100)]
build: Unify use of $(MKDIR_P) for creating a dir within the build system

While we used different variation of mkdir -p all over we also had spots
where we did not use the option. This is one step in trying to make our
build system ready for parallel install. Using something like -j 10 even
for the install should help to speed up our jenkins jobs as well as distcheck.

9 years agoelua: multiple inheritance aware is_a
Daniel Kolesa [Wed, 25 Feb 2015 15:16:35 +0000 (15:16 +0000)]
elua: multiple inheritance aware is_a

9 years agoelua: guarantee multiple inheritance availability on any object
Daniel Kolesa [Wed, 25 Feb 2015 15:11:52 +0000 (15:11 +0000)]
elua: guarantee multiple inheritance availability on any object

9 years agoelua: add object system mixin support without interfering with parents
Daniel Kolesa [Wed, 25 Feb 2015 15:06:10 +0000 (15:06 +0000)]
elua: add object system mixin support without interfering with parents

9 years agoelua: correct inheritance system in lualian generator
Daniel Kolesa [Wed, 25 Feb 2015 14:43:27 +0000 (14:43 +0000)]
elua: correct inheritance system in lualian generator

9 years agoelua: better mixin behavior (+ fix bad lookup)
Daniel Kolesa [Wed, 25 Feb 2015 14:01:45 +0000 (14:01 +0000)]
elua: better mixin behavior (+ fix bad lookup)

9 years agoelua: extra generator info for inheritance handling (and easy lookups)
Daniel Kolesa [Wed, 25 Feb 2015 13:33:28 +0000 (13:33 +0000)]
elua: extra generator info for inheritance handling (and easy lookups)

9 years agoelua: delegative multiple inheritance support in util object system
Daniel Kolesa [Wed, 25 Feb 2015 13:03:00 +0000 (13:03 +0000)]
elua: delegative multiple inheritance support in util object system

9 years agoelua: slightly less broken mixin behavior
Daniel Kolesa [Wed, 25 Feb 2015 12:09:16 +0000 (12:09 +0000)]
elua: slightly less broken mixin behavior

9 years agoEvas GL: Fix leak of surfaces with GLES 1.1
Jean-Philippe Andre [Wed, 25 Feb 2015 05:58:19 +0000 (14:58 +0900)]
Evas GL: Fix leak of surfaces with GLES 1.1

When destroying a GLES 1.1 surface, it is necessary to also
destroy and remove the main surface from the list.

This issue probably never really showed up because people
don't:
- use GLES 1.1
- constantly create & destroy new Evas GL surfaces
- but mostly no one cares about 1.1 anymore :)

@fix

9 years agoedje: optimize style matching.
Cedric BAIL [Tue, 24 Feb 2015 21:37:53 +0000 (22:37 +0100)]
edje: optimize style matching.

Most of the time the style string will come from the eet file directly, so
thanks to the dictionnary build in they should be pointing to the same string.
We still need to keep strcmp case for Edje_Edit case, but that shouldn't be
a real issue as the worst case is when it match. When it doesn't match strcmp
should return quite fast on average.

9 years agoedje: refactor styles add logic.
Cedric BAIL [Tue, 24 Feb 2015 21:37:24 +0000 (22:37 +0100)]
edje: refactor styles add logic.

9 years agoedje: Add edje to text_class_member_hash properly.
Sohyun Kim [Tue, 24 Feb 2015 17:26:18 +0000 (18:26 +0100)]
edje: Add edje to text_class_member_hash properly.

Summary:
When textblock styles have text_classes, all edjes in the files were added
to text_class_member_hash even if the edjes didn't use the textblock styles. It
makes time long to update text_class.
This will add the edje using the textblock style which has a text_class to
text_class_member_hash.

Reviewers: cedric, raster

Subscribers: cedric

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

9 years agoevil: fix gecos field of struct pw
Vincent Torri [Tue, 24 Feb 2015 14:17:29 +0000 (15:17 +0100)]
evil: fix gecos field of struct pw

@fix

9 years agoEo: Add eo_do_super_ret.
Tom Hacohen [Tue, 24 Feb 2015 14:23:15 +0000 (14:23 +0000)]
Eo: Add eo_do_super_ret.

This is the equivalent of eo_do_ret for super calls.

9 years agoEvas GL: Restore viewport and scissor test for GLESv1
Jean-Philippe Andre [Tue, 24 Feb 2015 13:18:53 +0000 (22:18 +0900)]
Evas GL: Restore viewport and scissor test for GLESv1

This is necessary when switching back to direct rendering.
But I suspect there are other corner cases that we didn't spot.

9 years agoEvas GL: Fix support for GLES 1.1 indirect rendering
Jean-Philippe Andre [Tue, 24 Feb 2015 11:54:55 +0000 (20:54 +0900)]
Evas GL: Fix support for GLES 1.1 indirect rendering

This requires a special context that matches the configuration
required for GLES 1.1. Otherwise eglMakeCurrent() would fail
miserably with EGL_BAD_MATCH in case of indirect rendering
(at least on some drivers).