Commit Graph

328 Commits

Author SHA1 Message Date
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
Tom Hacohen 1b51bc256b Evas tests: Add canvas free with ref tests.
This should check test for the issue fixed in:
bb4a19b5ad
8bba92fbca
2013-11-26 12:27:31 +00:00
Jean-Philippe Andre 71fdd0d342 evas/cserve2: Add SHM debug tool (CLI)
Prints out the content or the shared index.
Does not need any socket connection to the server, read-only.
2013-10-28 15:47:14 +09:00
Jean-Philippe Andre 07fb7172d5 evas/cserve2: Implement shared index and buffers
Only import the C file for now.
Implement the following features:

- Shared Arrays
Store arrays of elements of fixed size in shm.

- Shared Mempool
Store random sized buffers in shm.
These buffers are indexed in a Shared Array and are
referred to using their index only.

- Shared Strings
Store strings in a shm in a way similar to Eina_Stringshare
(except strings are referred to using an int index).

- Include evas_cserve2_index.c to the compilation.
- Declare shared index functions in header file.
- Call init() and shutdown() on the shared index subsystem.
- Add find and foreach functions
2013-10-28 15:47:12 +09:00
Vincent Torri 3b8b2ac66c evas: add JPEG 2000 loader.
This add finally support for JPEG 2000, but be aware that libopenjpeg
is very badly managed. There is currently only version 1.5.x that does
provide the right files, is usable by a third party and portable. You
can seriously forget any other version.
2013-10-01 16:38:44 +09:00
Jean-Philippe Andre ca5d174568 evas/cserve2: use Evas_Image_Load_Opts directly
Image_Data contained a similar struct to the standard Evas struct,
let's not duplicate it uselessly.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre 344eae9cbd evas: fix build when png12 is not around. 2013-07-03 10:09:31 +09:00
Jean-Philippe Andre 9bdf55da57 evas: fix build
Build may fail when using parallel compilation (-j)
Add EET as a dependency of cserve slave
2013-07-02 19:00:55 +09:00
Jean-Philippe Andre 8db3d4d2bf evas/cserve2: remove dead code (old loaders API).
Remove: cserve-specific loaders and deprecated code.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 26e01c0ff6 evas: build evas_module within cserve slave
Objective: use common loaders from cserve2

Ideally evas_module should be a static library but it would
then require static/dynamic linking to too many modules unused
by cserve2 (eg. engines & savers)

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Cedric Bail d06a0982ef evas: add support for asynchronously uploading GL texture.
NOTE: when using Evas_Object image preload infrastructure the GL texture
upload was uploaded from the main loop during the rendering stage. This
could lead to some frame drop during fast animation due to the time needed
to upload that texture.

This patch fix this problem by uploading a small texture quickly (16x16)
and waiting for going back to the main loop to be able to use the same GL
context from another thread to do the texture upload asynchronously without
blocking the main loop.
2013-06-24 12:04:18 +09:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
Carsten Haitzler 556161783c evas: Standardize autofoo makefile.am for binary loaders to look like the rest format-wise. 2013-06-05 20:08:58 +09:00
Daniel Willmann 173daf6958 evas: fix make distcheck
Follow font rename from DejaVuSans.eet to TestFont.eet in commit e7cd15.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-15 13:23:44 +01:00
Cedric Bail c3f9d3b8b8 evas: Make Evas_Loader API public. 2013-05-08 18:16:59 +09:00
Daniel Willmann 59e011b67c evas loaders: There is no SVG loader any more, remove the options for it
We don't want the build to fail just because someone tried to enable
non-existent support.
2013-05-07 08:29:44 +01:00
Chris Michael e701a13e86 Add outbuf file to drm build.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 07:16:55 +01:00
Chris Michael 54b0a112a4 Add drm engine build infrastructure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-29 12:35:08 +01:00
Daniel Zaoui 57461dc6a1 Evas: rename Evas_Common.h to Evas_Common_Header.h
This change is due to EFL compilation failing in Windows. This file was
conflicting with evas_common.h. Case sensitive issue...
2013-04-28 14:22:21 +03:00
Daniel Zaoui 80e04b2842 Evas: Split Evas headers
Now, Evas.h includes three new files:
- Evas_Eo.h: Eo API functions (functions defines, enums, base id).
- Evas_Legacy.h: contains the API functions related to objects
- Evas_Common.h: common data (structs, enums...) +
functions not related to objects.

This phase is needed for the EFL 1.8 release to disable Eo APIs if we
consider it is not enough mature to be used by applications.
2013-04-25 03:40:45 +03:00
Carsten Haitzler daac3fb794 add a global Efl_Config.h for everyone.
* ned to replicate changes in other .pc.in files
* need to replicate changes in other E*.h installed header files
2013-04-24 23:43:33 +09:00
Carsten Haitzler 9ec8064638 Work around new intel Mesa/xorg bug where alpha
channel in NON-ARGB windows is not filled in with 0xff
even if all the code does things right.
2013-04-14 01:14:58 +09:00
Carsten Haitzler 93dc78216c Add multiple output api support to evas... just "eo infra stubs" right
now.
2013-04-08 20:10:06 +09:00
Tom Hacohen 585ea16d7f Evas tests: Fix TESTS_BUILD_DIR to point to the build dir. 2013-03-26 14:58:19 +00:00
Tom Hacohen 3ba9311c0f Tests: Output XML to build dir, not source dir. 2013-03-12 12:46:06 +00:00
Igor Murzov 7a794f8477 evas: Add WebP image saver 2013-03-09 14:11:35 +04:00
Tom Hacohen 8fc2d1481a Fixed make dist. 2013-03-07 16:06:44 +00:00
Carsten Haitzler 683e5d7d08 Fix evas GL common engine to have a shader to do oversampling on
downscaling. This makes quality much better and "at best"
equates to a 16 point sample (2x2 linear interpolation samples,
where a linear interpolation sample equates to a 2x2 sample).
This will have perfomance impact, but the quality is worth it and
makes it closer to software downscaling in quality. It supports
2x2, 2x1 and 1x2 oversampling. YUV not done, nor image mask
(font shaders not needed).
2013-02-26 22:07:30 +09:00
Tom Hacohen 9696f44a67 Evas text tests: Start shipping DejaVuSans with the test suite.
We can finally rely on having fonts in all cases (even when there's no
fontconfig) and we can also rely on specific sizing.
2013-02-25 14:59:03 +00:00
Christopher Michael cf7153e8df Add new wayland shm engine files to Makefile.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83267
2013-01-24 09:18:26 +00:00
Carsten Haitzler 64c4f34bc0 sorry - have to revert this as this brings the efl tree build to a
grinding halt - it wasn't great before.. but now it's totally broken. :(
e.g.:

/bin/bash ../libtool  --tag=CC   --mode=link ccache gcc -std=gnu99
-O2 -g -pipe -march=native -fvisibility=hidden -ffast-math -W -Wall
-Wextra -Wno-shadow -Wno-unused-but-set-parameter   -o bin/eet/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries    lib/eet/libeet.la

libtool: link: ccache gcc -std=gnu99 -O2 -g -pipe -march=native
-fvisibility=hidden -ffast-math -W -Wall -Wextra -Wno-shadow
-Wno-unused-but-set-parameter -o bin/eet/.libs/eet
bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections
-ffunction-sections -Wl,--gc-sections -fno-strict-aliasing
-Wl,--as-needed -Wl,--no-copy-dt-needed-entries  lib/eet/.libs/libeet.so
/usr/bin/ld: bin/eet/bin_eet_eet-eet_main.o: undefined reference to
symbol 'eina_iterator_next'
/usr/bin/ld: note: 'eina_iterator_next' is defined in DSO
/usr/local/lib/libeina.so.1 so try adding it to the linker command line
/usr/local/lib/libeina.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status



SVN revision: 83112
2013-01-22 23:48:04 +00:00
Gustavo Sverzut Barbieri f7106d372a fix cserve2 module dependencies.
they use evas, not the same libraries as evas.


SVN revision: 83106
2013-01-22 22:18:21 +00:00
Gustavo Sverzut Barbieri c6358ff322 fix evas_cserve2 utils linkage and includes.
they are basic eina apps, not evas (use EINA_CFLAGS), they just use
evas_cs2.h for types and enums.

they also must link with eina.



SVN revision: 82995
2013-01-18 19:30:44 +00:00
Lucas De Marchi 1d295abac0 efl: use autotools testsuite for running tests
Instead of just making our own "check-local" and calling the binaries
ourselves, just append them into "TESTS" variable. Then they run after
all check_PROGRAMS are compiled.

The reasons for changing are:
  1) If we change the test and call "make check" the test is not
  compiled again -- and the only way to compile it is to "make clean".
  2) There's no need to reinvent the wheel here.

With a recent version of Automake, the test output is redirected to log
files. This is good but unexpected for whom was used to the previous
way. So, be warned.



SVN revision: 82841
2013-01-15 20:51:04 +00:00
Tom Hacohen 6a02aaf37b Evas static_libs/libunibreak: Don't build the included file.
Yes, it's name .c but it's included, don't blame me, upstream naming
conventions.

SVN revision: 82823
2013-01-15 16:12:21 +00:00
Gustavo Sverzut Barbieri b1bc5aeb24 efl: simplify automake.
Instead of -I$(top_srcdir)... -I$(top_builddir)... and then do it for
the .la, use the EFL_ macros to generate the contents to be used in
automake files.

There is a nasty bit that libtool will parse Makefile*.am and will not
get _DEPENDENCIES from _LIBADD and _LDADD if these are in
@REPLACEMENT@. To solve this we must explicitly set _DEPENDENCIES. The
contents of this is almost the same as _LIBADD or _LDADD with the
"_INTERNAL_" replacement name.

I hope the code will be result will be shorter and consistent as there
is less places to change when we add/remove dependencies.

Statistics are quite impressive (diffstat):
{{{
37 files changed, 663 insertions(+), 1599 deletions(-)
}}}



SVN revision: 82785
2013-01-14 22:36:23 +00:00
Gustavo Sverzut Barbieri fe0df086f3 efl/evas_cserve2 slave just need -lrt, not whole evas deps/libs
SVN revision: 82732
2013-01-13 23:12:40 +00:00
Carsten Haitzler a7e55676fa add EVAS_LIBS (set by EFL_CHECK_FUNC([EVAS], [shm_open]) which should
thus only contain -lrt if needed)...



SVN revision: 82711
2013-01-13 03:52:09 +00:00
Tom Hacohen 88ab486e63 Efl static_libs: Updated liblinebreak -> libunibreak.
SVN revision: 82652
2013-01-11 18:16:09 +00:00
Lucas De Marchi 56f62b1f5d efl/evas: move cserve2 binaries under MODULE_ARCH dir
SVN revision: 82491
2013-01-09 22:32:08 +00:00
Lucas De Marchi 1eca7272b4 efl/evas: do not install dummy_slave
This slave is for test only and should not be installed.



SVN revision: 82490
2013-01-09 22:32:04 +00:00
Gustavo Sverzut Barbieri 57090b2abb efl: improve X detection by Joel Klinghed.
* Split out ecore_imf_xim to do its own check

* Fixed problem with xcb's makekeys, no rule for
  $(top_builddir)/src/utils/ecore/makekeys$(EXEEXT) exists so make
  used an implicit rule (ignoring any cflags of course)

* Fixed gl_x11 engine to build with either Xlib or XCB (xcb flags were
  missing)

* Added EFL_FIND_X and replace any used of AC_PATH_X{,TRA}.  First
  looks for Xorg pkg-config files then if those arn't found it falls
  back to old AC_PATH_X. Also generalized common header and lib
  checks.  Could probably use some polishing (the AC_CACHE_VAL cruft
  especially) but this is what I have time for tonight.

Now X11 should be found on non-standard locations by means of xmkmf,
--x-includes/--x-libraries and also pkg-config.



SVN revision: 82475
2013-01-09 16:48:40 +00:00
Sung Park edcb4cf295 Pulled out evas gl backend binary shader file caching code from
evas_gl_shader.c file and made an internal generic caching api in 
evas_gl_common.h for use in other places ie. evas_gl.

Then implemented evas_gl surface cap. caching code in gl backend to
accelerate the engine creation. 



SVN revision: 82321
2013-01-07 06:16:18 +00:00
Gustavo Sverzut Barbieri 2b29626d8d efl: fix make dist.
Carefully compared 'svn export' and 'make dist' results and couple of
files were missing.

Changes:

 * Makefile.am: removed all .pc from EXTRA_DIST, we shouldn't
   distribute them here as they will contain ./configure data such as
   install location.
 * src/Makefile.am: moved all if-endif to files, otherwise EXTRA_DIST
   won't work properly. We must EXTRA_DIST outside of the if-endif
   block.
 * static_libs/liblinebreak: removed couple of unused files.




SVN revision: 82241
2013-01-04 20:55:12 +00:00
Gustavo Sverzut Barbieri 71cf862c95 efl/evas_cserve2: use eina_prefix
SVN revision: 82220
2013-01-04 18:00:12 +00:00
Gustavo Sverzut Barbieri 733425c62c efl: make libraries aware of EFL_RUN_IN_TREE.
this variable tells that the build is being done in tree and we should
not look at install locations.



SVN revision: 82217
2013-01-04 17:19:43 +00:00
Gustavo Sverzut Barbieri 125d308f2c efl: unbreak last commit.
seems that automake will parse LDFLAGS for -module and if it's not
present it will complain about name not starting with 'lib'.

seems my last try was without NOCONFIGURE=1 and autogen continued to
the old ./configure, that printed lots of messages and the error went
unnoticed



SVN revision: 81917
2012-12-31 01:13:47 +00:00
Gustavo Sverzut Barbieri ec863dc17f efl: create macro to simplify libtool module declaration.
SVN revision: 81916
2012-12-31 00:54:48 +00:00
Gustavo Sverzut Barbieri df1b3d30c4 efl: refactor CFLAGS, LIBS, LIBADD and LDADD usage.
- remove EFL_LIBS and EFL_CFLAGS, use per-lib values that inherit
   from EFL (general)

 - add NAME_LDFLAGS and EFL_LDFLAGS for linker flags.

 - LDADD (binaries) now use NAME_LDFLAGS instead of NAME_LIBS, as they
   link to libname.la and that will pull in the libtool dependencies



SVN revision: 81915
2012-12-31 00:46:14 +00:00
Gustavo Sverzut Barbieri 493f9a9ff9 efl: unify LDFLAGS for LTLIBRARIES
SVN revision: 81911
2012-12-30 22:15:29 +00:00
Gustavo Sverzut Barbieri cd3d6653af efl: move -lm to configure.ac variables.
EFL_ADD_LIBS() will add to requirements_libs_NAME and that will end
into NAME_LIBS.



SVN revision: 81910
2012-12-30 21:52:34 +00:00
Gustavo Sverzut Barbieri 8ce53b64da efl: fix valgrind build.
weird enough to build with memcheck.h you just need valgrind's CFLAGS,
not its libraries as they are not supposed to be used like that,
throwing many bgPlain_ errors (vgPlain_tl_pre_clo_init,
vgPlain_free...) from libcoregrind-x86-linux.a



SVN revision: 81901
2012-12-30 13:30:13 +00:00
Gustavo Sverzut Barbieri 16a9372e35 efl/evas_cserve2: don't use libexec
many distros deprecate libexec and it's better to keep our stuff
together inside /usr/lib/evas.

cserve2 binaries now lives in /usr/lib/evas/cserve2/bin



SVN revision: 81897
2012-12-30 11:42:04 +00:00
Gustavo Sverzut Barbieri b57e46b9b9 efl: simplify linkage/usage of evil on windows.
instead of spreading it all around, just define 2 AC_SUBST() that will
do the work.



SVN revision: 81477
2012-12-20 19:25:51 +00:00
Vincent Torri ef2ca5b931 cleaning: remove unneeded $(top_builddir)
SVN revision: 81324
2012-12-19 07:17:32 +00:00
Leandro Pereira 9b2b121e6f evas: Add thread threaded render queue
SVN revision: 81280
2012-12-18 16:21:03 +00:00
Carsten Haitzler 7470edfa5a sorry vincent. i know you dont like thus, but with this commit efl
tree simply is broken and doesnt compile. error here:

...
src/Makefile_Evas.am:1809: unterminated conditionals: HAVE_WINDOWS_TRUE
src/Makefile.am:24:   src/Makefile_Evas.am' included from here
src/Makefile.am:128: unterminated conditionals: HAVE_WINDOWS_TRUE
src/Makefile.am: installing ./depcomp'
automake: ####################
automake: ## Internal Error ##
automake: ####################
automake: undefined condition TRUE' for RECURSIVE_TARGETS'
automake: RECURSIVE_TARGETS:
automake:   {
automake:     HAVE_WINDOWS => {
automake:       type: +=
automake:       where: /usr/share/automake-1.11/am/texinfos.am:
automake:       comment:
automake:       value: dvi-recursive html-recursive info-recursive
pdf-recursive ps-recursive \
automake:   install-dvi-recursive \
automake:   install-html-recursive \
automake:   install-info-recursive \
automake:   install-pdf-recursive \
automake:   install-ps-recursive all-recursive check-recursive
installcheck-recursive
automake:       owner: Automake
automake:     }
automake:   }
automake:
automake: Please contact <bug-automake@gnu.org>.
 at /usr/share/automake-1.11/Automake/Channels.pm line 657
         Automake::Channels::msg('automake', '', 'undefined condition
TRUE\' for RECURSIVE_TARGETS\'\x{a}RECURSIV...') called at
/usr/share/automake-1.11/Automake/ChannelDefs.pm line 208
        Automake::ChannelDefs::prog_error('undefined condition TRUE\'
for RECURSIVE_TARGETS\'\x{a}RECURSIV...') called at
/usr/share/automake-1.11/Automake/Item.pm line 94
        Automake::Item::rdef('Automake::Variable=HASH(0x38cbe20)',
'Automake::Condition=HASH(0x2832a48)') called at /usr/bin/automake
line 4102
        Automake::handle_subdirs() called at /usr/bin/automake line 8305
                Automake::generate_makefile('src/Makefile.am',
'src/Makefile.in') called at /usr/bin/automake line 8602
        Automake::handle_makefile('src/Makefile.in') called at
/usr/bin/automake line 8616
        Automake::handle_makefiles_serial() called at
/usr/bin/automake line 8769
autoreconf: automake failed with exit status: 255
...

i looked at the HAVE_WINDOWS if's and it seems fine to me - i couldnt
find what was missing, so i had to resort to a revert instead of fix :(
sorry :(



SVN revision: 81267
2012-12-18 15:41:06 +00:00
Vincent Torri 7b944729bb no need to search headers in builddir
SVN revision: 81258
2012-12-18 15:11:51 +00:00
Gustavo Sverzut Barbieri 7d41d6ace2 efl: valgrind is also in evas
SVN revision: 80463
2012-12-07 14:17:09 +00:00
Gustavo Sverzut Barbieri 65bd780c3b efl: turn cpu extensions detection into generic section, simplify a bit.
* remove EVAS_ prefix as it may be used by other libs some day.

 * SSE3 is detected at runtime if x86.

 * remove AC_SUBST([altivec_cflags]) as it was not being used anywhere.

 * moved to top of file (maybe position is not optimal, let's wait
   vtorri to review)

 * simplified single-line summary that is as informative as before.



SVN revision: 80284
2012-12-05 23:18:59 +00:00
Gustavo Sverzut Barbieri 545057d0b1 efl/evas/filters: say goodbye.
This task wasn't completed and it was all disabled in code, then
remove it so it doesn't add cruft to be looked at.



SVN revision: 80240
2012-12-05 13:03:51 +00:00
Gustavo Sverzut Barbieri dfe93a7f0a directfb says bye...
After agreement in the mail list, core developers agree to remove this
engine that was not being supported for a long time.

Given that most operations Evas uses are not accelerated in DirectFB,
or at least hardware that exclusively supports DirectFB, it's better
for those people to just use Evas/Ecore software (buffer) rendering
and expose DirectFB's framebuffer as destination surface.



SVN revision: 80232
2012-12-05 12:24:01 +00:00
Vincent Torri 9e8e98f736 Evas: fix static gl engines compilation, and maybe others too
SVN revision: 80085
2012-12-03 16:54:10 +00:00
Vincent Torri 7d6010b12c merge: add escape ecore, fix several bugs
SVN revision: 79995
2012-12-02 22:35:45 +00:00
Paulo Alcantara f8f79f8599 evas/cserve2: Add scalecache support
Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 79754
2012-11-27 18:23:25 +00:00
Carsten Haitzler 2f2ef8042b oops eet not evas!
SVN revision: 79492
2012-11-21 04:47:01 +00:00
Carsten Haitzler dbf3dfadc0 no eet link for cserve2 loader module!
SVN revision: 79490
2012-11-21 04:19:42 +00:00
Carsten Haitzler fac8ec4ca7 this is the START of something.. disabled at runtime for now - the
swapper infra is intended to have the ability to map pixels of
backbuffers right in for total zero-copy updates.



SVN revision: 79452
2012-11-19 13:43:48 +00:00
Vincent Torri 4ae8b8cf86 merge: do not use recursive make for unit tests
SVN revision: 79413
2012-11-18 07:12:38 +00:00
Vincent Torri 16b4384529 merge: i should have compiled first...
SVN revision: 79063
2012-11-09 20:15:50 +00:00
Vincent Torri 758d52861e merge: clean gcno files
SVN revision: 79062
2012-11-09 19:44:17 +00:00
Lucas De Marchi 230f8ad8f3 efl/evas: Fix using sse3 for all files
We need to pass -sse3 to compile only in the file that checks for SSE3.
Otherwise even for plain C compiler is free to use sse3 instructions. But they
won't work if the CPU doesn't support it and therefore will SIGILL.




SVN revision: 78973
2012-11-07 17:37:35 +00:00
Vincent Torri c163de7b32 merge: fix compilation on Windows
SVN revision: 78952
2012-11-06 23:07:05 +00:00
Vincent Torri e47bd2a9a5 merge: evas
* remove magic debug output in evas part
 * always use version for pc file, it's actually safe
 * fix compilation of gl-sdl
 * avoid circular dependency of libevas on itself


SVN revision: 78935
2012-11-05 23:48:30 +00:00
Rafael Antognolli db1ef2dad7 evas: Fix wayland-egl build on merged efl tree.
SVN revision: 78920
2012-11-05 11:08:37 +00:00
Vincent Torri 8091219f10 merge: evas fixes
* gl engines were checking for eet module, which does not
   exist when we install first the efl package.
 * fix pkgconfig values for static linking
 * add Evas output to configure


SVN revision: 78918
2012-11-05 09:25:44 +00:00
Vincent Torri 741703b11d merge: some more. I'll simplify all that later
SVN revision: 78901
2012-11-04 14:34:42 +00:00
Vincent Torri 184dce8d7b merge: fix compilation outside the treee and maybe also some DSO problems
SVN revision: 78900
2012-11-04 13:40:18 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
I've tested make -j 3 install and it works nicely

I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.

TODO: examples and tests, I'll add them later

ISSUE: Eina_Unicode size check. It indirectly depends on
       eina_config.h, which is created at the end of the
       configure script. So its size is always 0. I don't
       know how that size is used, so I can't do a lot,
       for now.


SVN revision: 78895
2012-11-04 11:51:42 +00:00