Commit Graph

328 Commits

Author SHA1 Message Date
Cedric BAIL 013b18ea6a evas: removing the ability to load file in Evas_Object_VG for now.
Without events and animation it is not really useful and that can only be
done with a library on top of Ecore.
2015-04-03 16:34:26 +02:00
Cedric BAIL 9cce54d4df evas: fix make distcheck. 2015-04-03 16:33:53 +02:00
Cedric BAIL 9838b98f0b evas: add helper surface for cairo vector rendering. 2015-04-03 16:33:52 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Cedric BAIL dd1cae7329 evas: initial implementation of a dumb SVG parser.
This commit is experimental and may be rebased until usable.
2015-04-03 16:30:56 +02:00
Cedric BAIL 23c34b96d3 evas: add theoric GL backend support. 2015-04-03 16:30:44 +02:00
Cedric BAIL fcbc29f85e ector: move dependency around. Evas now depend on Ector. 2015-04-03 16:21:57 +02:00
Cedric BAIL b50931a5ca evas: actually compile Evas_VG_Shape. 2015-04-03 16:14:50 +02:00
Cedric BAIL 161b7b93e2 evas: add Evas_VG_Image. 2015-04-03 16:13:07 +02:00
Cedric BAIL 45ccb8f6d1 evas: add utility function to build path. 2015-04-03 16:13:00 +02:00
Cedric BAIL 9ba6e1a0ae evas: add initial Evas_Object_VG.
Evas_Object_VG is meant to become an object that can hold a SVG
scenegraph inside of it.
2015-04-03 16:12:59 +02:00
Jean-Philippe Andre a3de2ee3fd Evas GL common: Factorize shader generation code
Remove all individual shaders, factorize everything into
one vertex and one fragment shader. All previous functionality
has been kept as is[*]. Some new features have been added
(new shader types).

This is a first step in simplifying and improving the shaders system.
Next: simplify shader selection

[*] Yeah, that's quite a bold statement here. Maybe I broke everything.
2015-04-03 11:26:13 +09:00
Jean-Philippe ANDRE ad3f4fa5bc Evas 3D: Print SHADERS instead of SHADERS_3D at compile time
This is just a cosmetic change.
2015-03-24 11:47:29 -07:00
Carsten Haitzler 2347c6ff01 evas render2 - restructure it to be an explicit api call - cleaner to do 2015-03-20 18:03:54 +09:00
Chris Michael 3ebe41af18 evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
Summary: This patch set fixes the issue of Evas wayland shm engine
causing crashes when resizing efl apps in the E wayland compositor. It
refactors the evas engine to wait for release events on buffers, and
hooks into frame callbacks so that release events will get triggered
at the appropriate time.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-17 15:49:09 -04:00
Cedric BAIL 8cac4ce5e7 evas: use Emile to decode TGV. 2015-03-17 09:58:18 +01: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
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
Guilherme Lepsch 52152ef757 autotools: fix build with correct VPATH support.
Summary:
The build was failing with "modules/evas/engines/gl_common/shader_3d/gen_shaders_3d.sh not found" on Mac OSX.

The recipe of a rule will execute as written. Changed it to use automatic variables. Ref.: http://www.gnu.org/software/make/manual/make.html#Recipes_002fSearch

Reviewers: q66, herdsman, vtorri

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2002
2015-02-23 18:31:42 +01:00
Dmytro Dadyka 1b142d09d9 evas: Evas_3D - add parallax occlusion shading.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2018
2015-02-23 15:46:25 +01:00
Marcel Hollerbach 38cf426ae2 Evas 3D: Fix distcheck build
Summary:
The new files for the shaders and he header file where not part of
EXTRA_DIST, so they where not found when running make distcheck.

Test Plan: just run make distcheck

Reviewers: cedric, q66

Reviewed By: q66

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1998
2015-02-19 15:29:50 +01:00
Oleksandr Shcherbina d28b82be45 evas: Evas_3D - callbacks for Evas 3D.
Summary:
Add class and type Evas_3D_Callback like wrapper under smart object
Incapsulate Evas_3D_Callback in Evas_3D_Object
Add virtual function register and unregister in Evas_3D_Object
Add function evas_3d_callback_call
Add callbacks clicked and collision for Evas_3D_Node

@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: artem.popov, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-18 22:42:07 +01:00
Dmytro Dadyka b9b5ced501 evas: Evas_3D - refactor shader system.
Reviewers: Hermet, raster, jpeg, cedric

Subscribers: artem.popov, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-18 22:42:07 +01:00
Dongyeon Kim c0d990c724 evas/software_x11: implement tbm native surface type
Summary:
This native surface type is based on the tbm surface used for the tizen platform.
For the software_x11 backend, image data is retrieved from tbm surface
and color format converted appropriately.
This will only work when libtbm.so is present in the system.
@feature

Test Plan: Local tests

Reviewers: raster, cedric, jpeg, Hermet

Subscribers: wonsik, cedric

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-02-10 14:48:53 +09:00
Dongyeon Kim defcc1f2ac evas/software_x11: implement native surface set for x11 type
Summary:
implement native surface set for EVAS_NATIVE_SURFACE_X11 type
on software_x11 backend.
@feature

Test Plan: local tests on PC

Reviewers: jpeg, cedric, raster, Hermet

Subscribers: wonsik, cedric

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-02-10 14:48:22 +09:00
Dongyeon Kim 72f3e684d9 evas/gl_x11: introduce tbm native surface type
Summary:
This native surface type is based on the tbm surface used for the tizen platform.
EGL_TIZEN_image_native_surface EGL extension is used to map
tbm surface to an egl image
@feature

Reviewers: raster, cedric, jpeg

Subscribers: cedric, wonsik

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-02-10 14:48:22 +09:00
Jean-Philippe Andre 1874ea9890 Evas masking: Fix evas map masking in GL
While this may look like a feature, it's definitely a fix.
2015-01-14 16:35:20 +09:00
Jean-Philippe Andre 21984b1d58 Evas masking: Add some test cases
Here are only 3 very basic test cases.

One is a dumb set/get to check that image objects can
be passed as clippers.

The other one is a pixel verification test with extremely
basic data (NEAREST scaling and just rectangles). It also
compares text clipping and masking.

The last one performs a very basic verification that masks
of masks work.
2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 44387b60a3 Evas masking: Add rectangle masking for GL 2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 6552e8a6cc Evas masking: Add support for YUV, YUY2, NV12 masking in GL
RGB+A masking needs to be implemented, because there's a
clash (only one texture name "texa" is available).
2015-01-07 15:06:03 +09:00
Jean-Philippe Andre a2604956f9 Evas masking: Add support for BGRA/ARGB masking
Also, refactor font & image GL masking.
2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 1fac1dcf57 Evas masking: Font masking for GL 2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 124ab102b7 Evas masking: Implement image masking for GL engines 2015-01-07 15:06:02 +09:00
Cedric BAIL 21707789d7 evas: check for grayscale png and jpeg. 2014-12-28 22:14:05 +01:00
Bogdan Devichev 02c85b9fe8 evas: add lib/evas/common/evas_model_<action>.c. Functions are renamed similar to functions in image_save_load process. 2014-12-23 21:14:52 +01:00
Bogdan Devichev 9b7e22f5a5 evas: replace and rename savers/loaders. 2014-12-23 21:14:30 +01:00
Bogdan Devichev 043055fc8e evas: preparation of places for model_saver_loader separated from image_saver_loader. 2014-12-23 21:13:43 +01:00
Chris Michael feecbd409c Revert "Evas: Stop installing Evas_Engine_Stuff.h"
This reverts commit df3958bb89.

This is getting reverted because it broke building of Enlightenment. E
requires the Evas_Engine_Buffer header file for drawing mouse cursor
using the buffer engine.
2014-12-11 11:11:47 -05:00
Jean-Philippe Andre df3958bb89 Evas: Stop installing Evas_Engine_Stuff.h
Those really are internals shared between ecore and evas.
Considering ecore & evas are just part of EFL, and expedite
now doesn't even rely on these headers anymore, we can safely
remove them from the dist packages.

This will allow us to break this seemingly internal API/ABI.
2014-12-11 14:11:25 +09:00
Jean Guyomarc'h 682d7fab54 autotools: fix compiling/linking gl engines on OSX.
Summary:
Until now, it was necessary to set global LDFLAGS and CFLAGS to allow
compiling (and linking) engines using OpenGL.
gl_generic used to complained about missing headers or unkown libraries.
A problem on OSX is that there is CGL (Apple's Core OpenGL) on which the whole system
relies on and GLX, when X11 is installed; and they cohabit together.
When gl_cocoa is enabled, gl_generic is now linked against CGL.
When it is not, gl_generic is compiled with and linked against GLX as a fallback.

@fix

Test Plan:
With --enable-cocoa: software_x11, opengl_x11 and opengl_cocoa are working as expected.
With --disable-cocoa: software_x11 and opengl_x11 are also working as expected.
No compiling nor linking problems have been issued.

Reviewers: cedric, raster, raoulh

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-12-03 09:58:02 +01:00
ChunEon Park a3b3e1ecad evas/map: support aa in basic c computation. 2014-11-26 15:12:25 +09:00
Bogdan Devichev d896dfb342 evas: Evas_3D - add .ply export/import.
Summary:
.ply format is important for relation blender and EFl, because in blender exist only two mesh export API: bpy.ops.import_mesh.ply and bpy.ops.import_mesh.stl. One of them is necessary for .edc 3D generator. Which I writing now.
Sorry, it isn't like image loader. Refactoring of import/export will be soon.

Reviewers: Oleksander, artem.popov, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:11:15 +01:00
Jean-Philippe Andre e18886a2a3 Evas GL: Fix list of shaders to distribute
Some shader files (shd) were not included in EXTRA_DIST. This didn't break
the build because the .x file was correctly generated.
I guess the missing files in previous releases also had no impact because
the .h files would be generated and shipped.

Also generate the enum automagically. New shaders need to be added
to Makefile_Evas.am.
2014-11-14 10:01:30 +09:00
Jean-Philippe Andre ae4f7f4e61 Evas shaders: Auto-generate the shaders from Makefile
Let's regenerate the shaders when a SHD file changes.
I've removed the Git commit id because only touching a file
would insert a code change.
2014-11-12 16:28:56 +09:00
Stefan Schmidt 9f753a7736 evas/gl_drm: Add eeze dependency to fix build race condition
Like the evas drm engine the evas gl_drm engine now depends on eeze for
backlight. Make sure it is setup to find eeze like the drm engine already
does.
2014-10-29 16:30:23 +01:00
Cedric BAIL eb11a157ec autotools: fix build with NEON support. 2014-10-29 00:12:06 +01:00
Stefan Schmidt e72c446c8f evas/cserve2_slave: Fix build race with linking to eo but not depending on it.
I have not been able to reproduce this myself but I have seen a build log where
the binary tries to link to libeo and fails due to the missing file.
A similar problem was "fixed" in 0e4b847deb, but
this really makes me wonder where the linking against eo comes from for cserve2
which is not using eo as far as I can see.
2014-10-23 14:45:07 +02:00
Cedric BAIL f7e07b4914 evas: tests more file format loader.
NOTE: It seems that the xpm one is broken. If somebody could give it
a better look and check if it work for him or not, before opening a bug
in phab.
2014-10-21 23:42:03 +02:00
Stefan Schmidt 2ac6c4accf tests/evas: Add missing files to EXTRA_DIST and remove duplicates
Various files form the tgv and 3d tests have been missing in EXTRA_DIST
and thus failing make distcheck. On the other hand we had duplicates in
the list. Clear this all up.
2014-10-21 10:31:56 +02:00
Jean-Philippe Andre 4315537820 Evas GL: Add support for OpenGL-ES 1.1 (part 2)
Add version param to context_create.
Add support for 1.1 contexts in the GL_X11 engine, and checks
for version in all other engines (return NULL).
Add API wrappers for all OpenGL-ES 1.1 APIs (normal and debug
modes).
2014-10-20 12:16:08 +09:00
Bogdan Devichev 5d004c80f7 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.

Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander

@feature

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-06 16:47:25 +02:00
Daniel Kolesa f33101ea8c elua/autotools: generate .eo.lua files out of all eo files at build time
Also change the generator a bit so that it doesn't rely on lib name information
and fix the runtime to properly source lua files within tree.
2014-10-06 13:28:09 +01:00
Tom Hacohen 23143148f1 Build system: Clean up the generation of sources from eolian.
This cleans up a lot of the build system. This makes everything
consistent, clean, less redundant and also fixes the issue of make clean
not cleaning up generated files.
2014-10-02 16:54:08 +01:00
Carsten Haitzler 43e8aeee1b efl build - fix parallel builds with new branch merge from dh
fix tha broken stuff like missing dependencies and links for drm
engine module that cause parallel build breaks!
2014-09-24 09:07:57 +09:00
ChunEon Park 3e8ddb1bfb Revert "evas: Evas_3D - add .eet export/import"
This reverts commit 9ebb28e3d6.

I didn't mean pushing this patch...
sorry.
2014-09-03 21:30:17 +09:00
ChunEon Park bf1ac534d3 Merge branch 'master' of ssh://git.enlightenment.org/core/efl 2014-09-03 10:57:38 +09:00
Cedric BAIL 09a517812f autotools: missing cflags for building NEON support. 2014-09-02 12:54:34 +02:00
Bogdan Devichev 9ebb28e3d6 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added.

Reviewers: Hermet, raster, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1307
2014-09-01 22:43:16 +09:00
Stefan Schmidt 3fe554e0b6 build: Allow to use external liblz4 instead of embedded copy
While we are likely will keep the embedded copy for a while to avoid a really
new dependency we allow now to use the external liblz4. You need at least
revision r120 and a package that ships the pc file for it.

Personally I would like to get rid of it rather sooner than later due to the
security implications and a bunch of code we ship but have no idea about.
Reality is that it will need some time until this new lib is actually
packaged and shipped with releases for a a majority of people.

This patch was co-worked with Doug Newgard <scimmia22@outlook.com>
2014-08-22 16:27:28 +02:00
Tom Hacohen 0e4b847deb Evas dummy_slave: Fix build race condition (failure to build).
For some reason dummy links against libeo but doesn't depend on it.
I have no idea what dummy_slave is and why it behaves in such an odd way.
Maybe there's even a more serious issue somewhere, but for now, this seems
to fix build.
2014-08-21 13:19:21 +01:00
Mun, Gwan-gyeong f5b8109397 evas: add evas gl-drm engine
Summary: This is the first step to introduce a gl-drm backend.

Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature

Reviewers: raster, Hermet, cedric, devilhorns

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Mun Gwan-gyeong ac4074c4fa evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
Summary:
@fix
Segfault in wayland_egl engine is casused by illegal library linking.
Fix this by linking to GLESv2 and EGL libraries.

Test Plan: N/A

Reviewers: devilhorns, raster, cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1332
2014-08-15 09:24:20 -04:00
Gwanglim Lee c4a1d26832 build/drm: Fix broken build from scratch and add missing library dependency for evas_drm engine
Summary:
This patch fixes following two problems:

1. libevas.so library has a dependency with ecore_drm if '--enable-drm' configure
option is given. This problem is due to 'EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore-drm])'
in m4/evas_check_engine.m4 file. A dependency with ecore_drm should be moved to evas
drm engine not libevas.so. And also this macro makes an error while installation of evas.
 $ make uninstall; ./configure --enable-drm; make && make install

2. missing ecore_drm dependency for evas drm engine.
USE_ECORE_DRM_LIBS macro should be used for building evas drm engine with ecore_drm
library. ECORE_DRM_LIBS macro doesn't have 'libecore_drm.la'. It is used for building
ecore_drm library.
@fix

Fixes T1473

Test Plan:
1. Remove EFL libraries in installation path: $ make uninstall
2. Configure with --enable-drm: $ ./autogen.sh --enable-drm
3. $ make && make install
4. Check module.so of evas drm engine whether it has a library dependency with ecore_drm
  $ readelf -a $EFL_GIT/src/modules/evas/engines/drm/.libs/module.so | grep NEEDED
  $ readelf -a $INSTALL_PATH/lib/evas/modules/engines/drm/v-1.11/module.so | grep NEEDED

Reviewers: stefan_schmidt, devilhorns, raster

Subscribers: cedric, torori

Differential Revision: https://phab.enlightenment.org/D1271
2014-08-05 15:29:56 +02:00
Stefan Schmidt 67df734ead evas/engine_gl_generic: Make sure we epend on the needed header for compiling.
Fixup for a3a15b1986 which removed the header
from installation. We need to have it in SOURCES now during distcheck.
2014-07-29 17:05:30 +02:00
Tom Hacohen a3a15b1986 Evas GL Generic: Don't install an internal header.
I'm not 100% sure this header is internal, but it depends on internal
headers, so it should either be internal or massively re-worked.
Anyhow, it has no business being installed until the includes are
fixed.
2014-07-29 10:06:33 +01:00
Cedric BAIL 3c179cdb87 evas: move to SDL2 and use GL_Generic infrastructure. 2014-07-25 20:24:29 +02:00
Cedric BAIL a95f4657b2 autotools: missing files for make check in a make dist tarball. 2014-07-22 12:52:18 +02:00
Savio Sena b1df4791d5 modules/evas/gl_common: Distribute rgb_a_pair_*.{h,shd}.
Added missing files to the list of distributed files.
2014-07-22 05:12:28 -03:00
Carsten Haitzler f5221b9cfb evas - work on evas render2 and begin making it work at all 2014-07-16 20:43:32 +09:00
Stefan Schmidt 18989020d7 evas/drm: Make use of ecore_drm for opening DRM device
We use this functionality already from ecore_drm. The evas version does
not even use udev to acquire the device which means we could not support
hotplugging. The only missing feature was the capability check for
DUMB_BUFFER which I added to ecore_drm now.

This is the second iteration of this patch. Thsi time also taking expedite
runs of he evas drm engine in account.
2014-07-16 08:53:43 +02:00
Stefan Schmidt b9da47eccf m4/evas_check_engine: Link evas drm engine to ecore-drm instead libdrm
We now longer use libdrm directly in the evas drm engine thus we switch
linking to ecore-drm.
2014-07-16 08:53:36 +02:00
Cedric BAIL 79ea41b205 autotools: turn on build for gl_generic backend. 2014-07-11 15:32:51 +02:00
Chris Michael ea8ffdf433 Revert "evas/drm: Make use of ecore_drm for opening DRM device"
This reverts commit 31ad73efa9.

Conflicts:
	src/modules/evas/engines/drm/evas_engine.c

Revert this commit as these functions are needed to run evas engine
standalone (expedite) on drm
2014-07-08 12:09:31 -04:00
Alex-P. Natsios 8fa59040de evas: gl_common fix make dist
Summary:
This fixes a breakage in make dist.
There were a few stale entries from the recent removal of shader masking
code.

@fix

Thanks to Simotek for reporting

Reviewers: raster, cedric, Hermet

CC: simotek, cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 13:50:44 +02:00
Jean-Philippe Andre 18e969f644 Evas DDS: Implement DXT1 to RGBA decoding 2014-07-03 11:37:48 +09:00
Jean-Philippe Andre c424153867 Evas: Add DDS image file loader
@feature: Add a Micrsoft DirectDraw Surface file loader
2014-07-03 11:37:48 +09:00
Savio Sena 073b666022 autotools: Fixed 'make examples' and 'make examples-install'
It was broken in set-ups with ($(builddir) != $(srcdir)) && ($(builddir) !=
$(srcdir)/build)
2014-07-02 20:01:09 -03:00
Tom Hacohen 7f3a44894b Evas canvas eolian: Fix namespace and class name for the evas canvas. 2014-06-30 17:47:06 +01:00
Stefan Schmidt 31ad73efa9 evas/drm: Make use of ecore_drm for opening DRM device
We use this functionality already from ecore_drm. The evas version does
not even use udev to acquire the device which means we could not support
hotplugging. The only missing feature was the capability check for
DUMB_BUFFER which I added to ecore_drm now.
2014-06-30 10:13:43 +02:00
Wonguk Jeong 573f477272 jpeg laoder: exif orientation test added
Summary:
currently, normal orientation tests are only added.
I'm going to add flipped orientation tests as well after I put related code in jpeg loader (currently it's not supported)

Reviewers: raster, cedric, jpeg

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1098
2014-06-29 13:04:16 +02:00
Cedric BAIL c1aab3e51a autotools: remove forgotten BUILD_SAVER_JPEG 2014-06-20 10:43:12 +02:00
Cedric BAIL 301b672b3a evas: fix build of jpeg saver on Windows. 2014-06-20 09:47:06 +02:00
Raoul Hecky 35cea9fd66 evas_cocoa: build gl_common 2014-06-18 11:34:07 +02:00
Cedric BAIL 3e3fde5db9 evas: add possibility for engine to also inherit part of the Render_Engine from software generic. 2014-06-18 11:34:06 +02:00
Jean-Philippe Andre 6fc4c1da74 Evas ETC2: Add ETC2 encoder skeletton
Implement Alpha encoding, brute force way, but doesn't scan
all possibilities either (only based on average alpha).

RGB encoding is still entirely left to the rg-etc1 encoder.
T, H and Planar mode will come in the next commits.

@feature: Implement an ETC2 encoder from scratch for RGB8 and RGBA8
2014-06-10 14:58:27 +09:00
Bogdan Devichev 700f4396e1 evas: Evas_3D - add .obj export/import.
@feature

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-06-05 20:49:26 +02:00
Tom Hacohen 0fc3279db9 Efl: Update code to use the new class names generated by eolian. 2014-06-03 11:28:01 +01:00
Jean-Philippe Andre 5582ee016e Evas rg_etc2: Add ETC2 decoding routines
Simple implementation of the OpenGL ES 3.0 specification, annex C.1.
2014-05-27 12:21:30 +09:00
Jean-Philippe Andre 5faa53d27f rg_etc: Add README to EXTRA_DIST 2014-05-07 19:59:18 +09:00
ChunEon Park 433699e976 evas/evas3d: cleanup docs and removed unncessary files.
Conflicts:

	src/lib/evas/Evas_Legacy.h
2014-04-25 17:34:11 +09:00
ChunEon Park 60e703bc24 evas/evas3d: filled up missed eo headers to be installed.
Conflicts:

	src/Makefile_Evas.am
2014-04-25 17:21:30 +09:00
ChunEon Park 16888f3e49 evas/evas3d: don't occur build break.
the declared t3d_scene api names are not matched exactly between header and code.
these name should be just "3d_scene"

and still there was a Evas_3D.h reference in evas Makefile.
2014-04-25 17:20:05 +09:00
subhransu ac7cea1eb8 Evas_3D : Eolian change for Evas_3D_Object.
Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 17:01:04 +09:00
subhransu e84e28fc22 Evas_3D : Eolian change
Conflicts:

	src/Makefile_Evas.am
	src/lib/evas/Evas_3D.h
	src/lib/evas/Evas_Eo.h
2014-04-25 16:58:47 +09:00
Taekyun Kim 8fda631730 Evas: 3D: Introducing 3D scene rendering features
Enable 3D features using --enable-evas-3d=yes when configuring.
APIs are exposed through Evas_3D.h.
Currently, evas-3d is being supported only on gl_x11 engine.

Conflicts:

	src/lib/evas/Evas_Eo.h
2014-04-25 16:15:41 +09:00
Yossi Kantor edd4f14f00 Eolian: Legacy integration of Evas class 2014-04-23 16:14:12 +03:00
Yossi Kantor e791050383 Eolian: Legacy integration of Evas Box and Evas Out 2014-04-23 16:14:12 +03:00
Yossi Kantor 334db73866 Eolian: Legacy integration of Evas Image 2014-04-23 16:14:12 +03:00
Yossi Kantor d9855e9a3d Eolian: Legacy integration of Evas Grid 2014-04-23 16:14:12 +03:00
Yossi Kantor cf1ed77c7d Eolian: Legacy integration of Evas Object 2014-04-23 16:14:12 +03:00
Yossi Kantor f1e1a79822 Eolian: Legacy integration of Evas Common Interface 2014-04-23 16:14:12 +03:00
Yossi Kantor 33cf815737 Eolian: Legacy partial integration of Evas Smart 2014-04-23 16:13:58 +03:00
Jean-Philippe Andre 70cdfc44aa Evas ETC1: Use LZ4HC for higher compression ratios
LZ4HC has a higher compression ratio than LZ4 but basically the
same decompression speed.

The performance cost during encoding is actually still pretty low
considering how expensive ETC1 compression can be (even at medium
quality).
2014-04-15 18:50:37 +09:00
Yossi Kantor 58afcdc9ed Eolian: Legacy integration of Evas Table 2014-04-13 11:30:58 +03:00
Yossi Kantor 1563181922 Eolian: Legacy integration of Evas Rectangle, Polygon, Line, Textgrid and Textblock 2014-04-11 09:26:15 +03:00
Stefan Schmidt 0196da9a85 build: Give correct path for test files
Another breakage coming in with the rg_etc changes. Image files
have been missing the correct location to pick them up for distcheck.
2014-04-08 11:19:08 +02:00
Stefan Schmidt 97a8b8518b build: Fix make distcheck for tgv saver
Classical copy and paste bug in Makefle.am. The saver src dir only has
the *save* code.
2014-04-08 11:19:08 +02:00
Jean-Philippe Andre 634034af46 Evas filters: Add template optimizable files for box blur
The new files (i386, sse3 and neon) are basically empty and fallback
to the C version. This is just to pave the way for full low-level
optimization... if someone has the time and skills to do it :)

Add both Alpha and RGBA template files.
2014-04-02 14:53:00 +09:00
Cedric BAIL 52a36461b8 evas: add infrastructure and basic tests for loading image. 2014-04-01 22:00:14 +09:00
Cedric BAIL 0609779f17 evas: add TGV saver module. 2014-04-01 22:00:13 +09:00
Cedric BAIL 961ecab040 evas: add a tgv loader.
The TGV file format is specifically created for Evas. It is designed to allow
region decompression and parallele decompression with a fast path for GPU that
do handle ETC1 compression. Plan for adding other compression method will come
later.
2014-04-01 22:00:13 +09:00
Yossi Kantor 0311cb6091 Eolian: Integration of Evas Box 2014-03-18 11:08:55 +02:00
Yossi Kantor 5994846a34 Eolian: Integration of Evas Zoomable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 2e9772b11c Eolian: Integration of Evas Selectable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 730a403046 Eolian: Integration of Evas Scrollable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 7c9ce7dcf1 Eolian: Integration of Evas Clickable Interface 2014-03-16 09:24:05 +02:00
Yossi Kantor 0a6cce196c Eolian: Integration of Evas Draggable Interface 2014-03-16 09:24:05 +02:00
Tom Hacohen d52faf7d31 Eolian: Set eolian_flags in .pc files and ship .eo files. 2014-03-13 09:55:29 +00:00
Yossi Kantor 7e6c21c44b Eolian: Integration of Evas Out 2014-03-13 09:14:14 +02:00
Yossi Kantor 2219b5434c Eolian: Integration of Evas Image 2014-03-13 09:14:14 +02:00
Yossi Kantor 2a90b4f23d Eolian: Integration of Evas Grid 2014-03-12 10:57:28 +02:00
Daniel Zaoui 103e89a04a Eolian: Integration of Evas 2014-03-12 10:57:28 +02:00
Daniel Zaoui f22bd9e6ee Eolian: Integration of Evas Object.
const have been added in object parameter of two legacy APIs to fit
Eolian generated files.
Since these functions retrieve information from object, it is logic that
the object would be const.
2014-03-12 10:57:28 +02:00
Jean-Philippe Andre 4e249143a5 Evas filters: Prepare optimization paths for BOX blur
Actually, there is a very nice trick with BOX blur.
Pass BOX blur 3 times and you can approximate a GAUSSIAN
blur with up to 3% accuracy. This is way more than enough
for just a simple graphical effect.

So, despite the crappy quality of BOX blur, we should
optimize it a lot so we can replace large GAUSSIAN blurs
with series of BOX blurs instead.

Source: Wikipedia's page on box blur :)

This commit also moves around some duplicated definitions.
2014-03-12 14:08:02 +09:00
Jean-Philippe Andre cb69700389 Evas filters: Add optimizable blur function
Prepare optimization paths for blur operations, as they are VERY
costly. This simple change, when using gcc -O3 flag, boosts
horizontal blur performance by > 50%, because STEP is 1 (and
so, memory accesses, increments, etc... are all very simple)

The objective is to have support for NEON, MMX, SSE, too, with
runtime detection.
2014-03-12 14:08:01 +09:00
Yossi Kantor 1b2f732d2a Eolian: Integration of Evas Table 2014-03-11 07:37:48 +02:00
Daniel Zaoui e203ec008e Eolian: Integration of Evas Smart Clipped 2014-03-11 07:37:48 +02:00
Daniel Zaoui 44f9da675c Eolian: Integration of Evas Smart 2014-03-11 07:37:47 +02:00
Daniel Zaoui c8dc39c9ae Eolian: fix for nightly make distcheck.
Hmm, I forgot to add some .eo files to the EXTRA_DIST so they have not been
added inside the archive.
Eolian couldn't generate C files because of these missing files.
2014-03-10 16:59:46 +02:00
Daniel Zaoui 2fe6c88cf0 Eolian: Integration of Evas Text Grid 2014-03-10 13:28:03 +02:00
Daniel Zaoui ee7541e202 Eolian: Integration of Evas Text Block 2014-03-10 13:28:03 +02:00
Daniel Zaoui 9b8f036beb Eolian: Integration of Evas Text 2014-03-09 13:18:57 +02:00
Daniel Zaoui b545750bee Eolian: Integration of Evas Rectangle 2014-03-09 13:18:41 +02:00
Daniel Zaoui 1de10ce9fe Eolian: Integration of Evas Polygon 2014-03-09 13:18:17 +02:00
Tom Hacohen 84e9eba24f Evas line: Don't include generated headers in make dist.
This fixes make distcheck.
2014-03-07 13:48:13 +00:00
Tom Hacohen 9110d490e3 Fix evas compilation and installation. 2014-03-06 15:12:51 +02:00
Daniel Zaoui a3e38d7884 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
2014-03-06 15:12:51 +02:00
Chris Michael bdee3c1ed6 evas-drm: Add buffer manager file to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 09:26:03 +00:00
Chris Michael e870bca601 evas-drm: Add Evas_Engine_Drm header to source files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-02-28 13:11:54 +00:00
Chris Michael b36adec952 evas-drm: Add evas_drm to build order for Evas drm engine
@feature: Add evas-drm engine to Evas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-02-28 13:08:00 +00:00
Snacker (Vladimir) 8e17290f19 @feature - Apply NEON intrisics improvement to rotation 2014-02-28 07:04:52 +09:00
Jean-Philippe Andre 18a7939f41 Evas filters: Add render test cases with pixel verification
Force render into an Ecore_Evas, and check that the pixels
are valid:
- Not all transparent (can't really happen)
- Not all black (since there's a black rect behind the text)
- All valid premultiplied values (A >= R,G,B)

Yes, it's a bit slow. But at least it really checks something :)
2014-02-20 13:27:43 +09:00
Jean-Philippe Andre 78c7931575 Evas filters: Add test cases for the script parser
Basic syntax checks and instructions coverage.
2014-02-20 13:27:42 +09:00
Carsten Haitzler 3fe36441ef fix distckeck for filter 2014-02-08 12:03:44 +09:00
Jean-Philippe Andre d9fb0cdc34 Evas filters: Add transform filter
This is the simplest solution I can come up with for "mirror" effects.
Displacement maps are HARD to generate and use properly, since the buffer
size is unknown until runtime.
Even if we align the map to the text itself (using the padding information),
it's still hard to describe properly how to apply the displacement map, and
to generate it... So let's just add a simple flip operation.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 7000907cd3 Evas filters: Move scaling to a common file
NOTE: Alpha scaling is NOT supported.
It could be faked in 3 expensive steps:
1. Draw to RGBA
2. Scale RGBA
3. Draw to Alpha.
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 98f745d140 Evas filters: Add all filters to Makefile
Compile the following evas_filter files:
- evas_filter.c
- blend.c
- blur.c
- bump.c
- curve.c
- displace.c
- mask.c
- parser.c
2014-02-07 17:33:16 +09:00
Jean-Philippe Andre d8301fae6e Evas: Add support for Alpha buffers
Evas is an RGBA only engine, BUT we also use some alpha masks,
especially in the font rendering pipeline.
This commit adds basic support for alpha buffer operations
(blend and copy).

RGBA_Image can then point to either alpha-only data, if
its colorspace is grey.
2014-02-07 15:38:42 +09:00
Carsten Haitzler 86a97efeea evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
this changes the internal encoding of font glyphs in evas to use 4bit
uncompressed if small, or 4bit rle (run length encoded) if larger.
this caves at least 50% of memory on fonts - and more if bigger. with
large fonts (40-80pixel size) we can save in the region of 80% of
memory used for glyphs. this also happesn to allow speedups in
rendering too.
2014-01-13 05:15:32 +09:00
Carsten Haitzler eed4526003 first steps to rewriting evas render... a long path. 2013-12-19 22:49:43 +09:00