Commit Graph

91 Commits

Author SHA1 Message Date
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