Commit Graph

29278 Commits

Author SHA1 Message Date
Jean-Philippe Andre e531ab9bc0 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.
2015-03-02 19:51:30 +09:00
Jean-Philippe Andre db0f9f4ccd 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.
2015-03-02 19:15:01 +09:00
Dongyeon Kim 753b2b6e78 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>
2015-03-02 16:29:22 +09:00
Dongyeon Kim 80b21a7d3f 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>
2015-03-02 16:22:12 +09:00
Minkyoung Kim de797bbd3b 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>
2015-03-02 16:20:07 +09:00
Dongyeon Kim a32edfaf19 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).
2015-03-02 15:55:47 +09:00
Jean-Philippe Andre 433d24cfa0 Evas GL common: Remove uniform-related stuff
Remove last traces of the uniforms stuff for shaders, that was
removed in the following commits: 6b48c106d3 and cfd337a758.

Don't use uniforms in the evas GL pipeline, at least not like that.
2015-03-02 11:30:34 +09:00
Chris Michael d7a8626f5b 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>
2015-03-01 10:49:10 -05:00
Chris Michael f14a893ce5 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>
2015-03-01 10:45:39 -05:00
ChunEon Park d65714f520 ecore/ecore_audio: fix timer control logically wrong.
@fix
2015-03-01 17:59:52 +09:00
Derek Foreman 95cb1938c2 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
2015-02-27 10:40:38 -05:00
Chris Michael 3bb11b938c 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>
2015-02-27 10:36:58 -05:00
Chris Michael 24c92d8caf 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>
2015-02-27 10:29:06 -05:00
Chris Michael 99e0695e42 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>
2015-02-27 09:44:16 -05:00
Stefan Schmidt 5f1ea9403f 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.
2015-02-27 15:19:34 +01:00
Stefan Schmidt ea0cd3d7c3 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.
2015-02-27 14:22:46 +01:00
Jean-Philippe Andre 2e3ee0e658 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.
2015-02-27 17:56:49 +09:00
Jean-Philippe Andre ab89dc401c 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.
2015-02-27 15:57:36 +09:00
Jean-Philippe Andre 87aed21c05 Evas masking: Remove commented-out code
I shouldn't have pushed this :)
2015-02-27 14:11:59 +09:00
Jean-Philippe Andre 0d794e0b37 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.
2015-02-27 13:33:51 +09:00
Jean-Philippe Andre 0da6278af8 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.
2015-02-27 13:06:09 +09:00
Jean-Philippe Andre fab0d7f9d3 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.
2015-02-27 13:06:09 +09:00
Jean-Philippe Andre fddaf62fcc 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...)
2015-02-27 13:06:09 +09:00
Mike Blumenkrantz f298183d4e 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
2015-02-26 22:30:44 -05:00
Mike Blumenkrantz a57df757a8 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
2015-02-26 21:51:00 -05:00
Carsten Haitzler 6d5b2b32a0 evas scale sample - fix useage of eina thread queue
pass in ref not &ref (other uses were fine - this single one broken)
2015-02-27 10:35:01 +09:00
Dmytro Dadyka d602597ac1 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>
2015-02-26 21:06:38 +01:00
Bogdan Devichev 5eba6ae468 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>
2015-02-26 21:06:38 +01:00
Dmytro Dadyka 179acbdd9b 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>
2015-02-26 21:06:38 +01:00
Daniel Kolesa 72b26fd49b elua: minor eo bindings optimization 2015-02-26 17:07:33 +00:00
Daniel Kolesa b4dee8db54 elua: update eo bindings for lualian generated code 2015-02-26 15:36:15 +00:00
Stefan Schmidt 55ba0dfa4b 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.
2015-02-26 13:51:20 +01:00
Carsten Haitzler 009ec26460 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
2015-02-26 19:47:51 +09:00
Jean-Philippe Andre b815f57078 Evas masking: Simplify map masking shaders.
Use vertex shader for all coordinates computations.
This reduces the number of varyings used.
2015-02-26 17:49:21 +09:00
vivek 053430739e 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>
2015-02-25 17:46:16 +01:00
Daniel Kolesa 244707a3a7 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.
2015-02-25 15:45:47 +00:00
Stefan Schmidt dd6f81ea15 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.
2015-02-25 16:43:35 +01:00
Stefan Schmidt c5879dab4d 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.
2015-02-25 16:43:35 +01:00
Daniel Kolesa 1e83761810 elua: multiple inheritance aware is_a 2015-02-25 15:16:35 +00:00
Daniel Kolesa 212571c406 elua: guarantee multiple inheritance availability on any object 2015-02-25 15:11:52 +00:00
Daniel Kolesa 4ecedc5198 elua: add object system mixin support without interfering with parents 2015-02-25 15:06:10 +00:00
Daniel Kolesa 9593a720c1 elua: correct inheritance system in lualian generator 2015-02-25 14:43:27 +00:00
Daniel Kolesa 7806e79024 elua: better mixin behavior (+ fix bad lookup) 2015-02-25 14:01:45 +00:00
Daniel Kolesa 2255508b0b elua: extra generator info for inheritance handling (and easy lookups) 2015-02-25 13:33:28 +00:00
Daniel Kolesa c18b1704a9 elua: delegative multiple inheritance support in util object system 2015-02-25 13:03:00 +00:00
Daniel Kolesa f0bf599435 elua: slightly less broken mixin behavior 2015-02-25 12:09:16 +00:00
Jean-Philippe Andre 964d6e559f 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
2015-02-25 15:01:45 +09:00
Cedric BAIL 6d6fa6b715 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.
2015-02-24 22:37:53 +01:00
Cedric BAIL a08c59eacf edje: refactor styles add logic. 2015-02-24 22:37:24 +01:00
Sohyun Kim 78ddad3daf 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
2015-02-24 18:26:18 +01:00