Commit Graph

60 Commits

Author SHA1 Message Date
Carsten Haitzler b9225fd710 ector - fix meson build with sse3 on ix86 (32bit) 2018-11-16 00:08:47 +00:00
Mike Blumenkrantz 492814bf2f tests: unbreak PACKAGE_BUILD_DIR usage in makefiles
for some reason, a few projects changed this from the expected value of
abs_top_builddir for their test suites, breaking the usage of this define
within those tests

fix T6812

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05 11:10:27 +02:00
Jean-Philippe Andre 2ef8d6f39a evas filters: Refactor ector and gfx filters A LOT
Alright, so this is a massive patch that is the result of
trying to get rid of unused or poorly implemented classes in
ector. Originally ector was meant to support VG but extend to
things like filters as well. At the moment, ector's design
makes it quite hard to plug in the filters.

For now I think it's easier to implement the GL support for
the filters directly in the engine, where I hope to interfere
as little as possible.

This massive patch keeps only the required minimum to support
a versatile gl buffer that can be mapped, drawn or rendered to (FBO).
It's extremely inefficient as it relies on glReadPixels and lots
of texture uploads, as well as conversions between ARGB and Alpha.

Another type of GL buffer is a wrap around an existing GL image,
but that one is read-only (map or draw: no write map, no FBO).

No, all the filters run fine, and the high-level implementation
(evas_filters.c) does not need to know whether the underlying engine
is SW or GL. One problem though appears with the blending or blurring
of some Alpha buffers, the colors are wrong.

This patch removes more lines than it adds so it must be good ;)
2017-04-14 11:26:43 +09:00
Gustavo Sverzut Barbieri 525d1e0629 cmake: add EFL_SUPPORT_LIB() and simplify/speedup its usage.
generate a static library for src/static_libs and use that as
LIBRARIES for the actual library, for those such as rg_etc that are
used multiple times will even speed up the final build by compiling
only once.

Although not used, they can be made into shared libraries that would
go inside /usr/lib/efl/support/v-1.19/libname.so
2017-01-27 12:52:14 -02:00
Gustavo Sverzut Barbieri 28960d7851 cmake: add ector. 2017-01-27 10:56:02 -02:00
Stefan Schmidt 502f10880a build: ector: make sure the triangular header files end up in dist
In commit 98b0408a4e the new triangulator
static_lib was introduced with ector as user. The ector Makefiles missed to
also include the header files as deps so they never ended up in the dist
failing distcheck.
2016-11-30 11:10:11 +01:00
Subhransu Mohanty 98b0408a4e triangulator: add a static_lib for triangulation. idea is to keep all the algorithm for triangulation in one place 1. shape outline triangulation using triangle strips. 2. shape filling using curve flattning and polygon triangulation.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3896
2016-11-28 11:35:27 -08:00
Stefan Schmidt 00227b81f4 build: do not dist now longer available files
Another cleanup for commit dd1d3f0d2d. These
makefiles are now longer available better not try to dist them.
2016-08-02 08:32:13 +02:00
Stefan Schmidt f24a2b67f4 build: fix last bash occurance in use with gen_shader.sh
We switched all the other ones from bash to sh already and raster ported the
script itself.
2016-06-15 11:16:04 +02:00
Stefan Schmidt 93eadd76d6 build: split EXTRA_DIST files in src/ off from DISTFILES and handle separately
This is again to avoid the "Argument list too long" error we are hitting more and
more now. Given we just merged elementary, emotion generic players, evas generic
loaders and elm_code it is not surprising we are hitting it again.

This time the number of files being hold in DISTFILES has just grown to big so a
make dist was no longer possible. If one looks at what the DISTFILES variable
from automake holds you can image it grows a lot with all the source files plus
generated files we have in tree now.

DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)

To cut off a big chunk but still keep all the other automagic in place for
SOURCE files I went and renamed the EXTRA_DIST in src/ to EXTRA_DIST2 and handle
the files in a dist-hook now.

Another thing to note here is that this also only happens as we have the one big
Makefile with includes. If we go back to per directory Makefiles this problem
should vanish as well. In any case we need a solution for 1.18 now and this is
what I have to offer. If you have a cleaner solution in mind feel welcome to
test it out and if everything we need keeps working (make, make examples,
make check, make benchmark, make dist and make distcheck) go ahead.
2016-06-10 13:04:18 +02:00
Cedric BAIL 2ea85a2075 ector: variable in _SOURCES do not work.
This fix the left over etc .deps during make distcheck.
2016-06-03 11:10:27 -07:00
Stefan Schmidt 9fdbbfa7a6 build: keep our CLEANFILES tidy to avoid argument list too long during clean
This is a new incarnation of 0a03e63350. Our list
has grown to big again as people insist of adding the generated eolian files to
DISTCLEAN while BUILT_SOURCES will get removed durign the clean anyway.

Adding this file list twice will just make the argument list for rm to long to
work.
2016-06-01 17:51:56 +02:00
Tom Hacohen 28a2d34ae2 Ector generic: Remove .Generic and .Base (hack no longer needed). 2016-05-11 12:57:55 +01:00
Tom Hacohen 1c0ec6788f Ector renderer cairo: Remove the no longer needed .Base hack. 2016-05-11 12:57:55 +01:00
Tom Hacohen 9f15b9fbe7 Ector renderer gl: Remove the no longer needed .Base hack. 2016-05-11 12:57:55 +01:00
Tom Hacohen 718033886a Ector renderer software: Remove the no longer needed .Base hack. 2016-05-11 12:57:55 +01:00
Cedric BAIL aa614fa023 ector: rg_etc is always needed for color conversion. 2016-04-18 14:43:48 -07:00
Cedric Bail fdaedf2bff autotools: fix make distcheck. 2016-04-15 11:07:02 -07:00
Cedric BAIL b9bd922816 ector: do not put ector_types.eot into the list of to be cleaned files. 2016-03-28 15:17:54 -07:00
Tom Hacohen 2583246997 Ector: add ector_types.eot for ector type definitions.
This fixes the GLShort duplicate declaration.
2016-03-23 15:00:16 +00:00
Vincent Torri f2111102cf build: fix duplicated use of the variable in multiple Makefile_*.am.
GL_SHADERS_GEN is defined in the Makefile.am of Ector and Evas. As these
Mafile_*.am are included in the same Makefile.am, there is a warning with
multiple defined triggered by automake. So this patch rename these 2 variables

Test Plan: autogen.sH

Reviewers: jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-02-18 13:37:31 -08:00
Jean-Philippe Andre 52a281fd22 Ector: Do not install any header file
Also fix spelling in .pc file
2016-01-06 17:30:58 +09:00
Jean-Philippe Andre 454220ba65 Ector: Move ector_buffer.h along ector_surface.h
This makes it an installed header for now.
I still believe no Ector header should be installed.
2016-01-06 16:33:11 +09:00
Tom Hacohen b4eac7879e Ector gl: Ship gl eo headers dependend by the public header. 2016-01-05 15:56:22 +00:00
Jean-Philippe Andre e3a7f657d9 ector: add Ector.GL.Buffer.* support. 2016-01-05 15:43:44 +09:00
Cedric BAIL 116fe3c65c ector: initial implementation of our own Ector GL backend. 2016-01-05 15:43:44 +09:00
Cedric BAIL e3238c5620 ector: add an abstraction to get GL function. 2016-01-05 15:43:43 +09:00
Vincent Torri 47ed848a87 Evil: integrate the dlfcn code into Evil
This will remove some incompatibilities with other packages,
especially for win-builds
2015-12-29 22:13:58 +09:00
Jean-Philippe Andre 4bcea3eada Ector: Move cairo surface back to ector
The original plan was to have two different surfaces for GL and SW,
but this is probably not going to happen anytime soon. So, move
the implementation back to lib/ector. This avoid a file duplication.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 52ec3d2d7e Ector: Rename C files to match their EO counterparts 2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 615b2442b7 Ector: Move drawhelper to static_libs
Rename a few things:
 - draw helper -> efl_draw
 - Ector_Rop -> Efl.Gfx.Render_Op
 - ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops)
 - ector_memfill -> draw_memset32 (and invert arg order to match memset)

The main rasterizer file is now draw.h in static_libs/draw
This is a non functional change, simple code refactor.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre bad7911cd0 Ector: Use Ector Buffer inside SW and Cairo renderers
Ector Surface now inherits from Ector Buffer, and the current
two renderers (SW and Cairo SW) use Ector.Software.Buffer
implementations for pixel surfaces.

Basic pixel handling is merged and will allow easy extension
(color conversion, etc...).

Buffer classes are Mixins to be fully implemented by the final
class, such as: Ector.Software.Buffer, Ector.Software.Surface
or Ector.Cairo.Surface.

This is a large ugly commit. Sorry.
The code is quite a mess right now.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre 0cf5719e52 Ector: Implement pixel buffer support
The objective of this patch is to propose a standardized
format for pixel buffers to use within Ector and Evas.

The basic EO API provided here is not meant to be the
fastest path for all operations, simply the most convenient
to generalize. Performance will be achieved by implementing
(or porting) custom draw functions.

This implements support for:
- Generic pixel buffers
- Generic buffer renderer to draw images with ector
- Software engine pixel buffers, ie. malloc buffers
- Software buffer renderer

Cairo support has not been implemented yet.

The only renderer is still extremely limited, as it does not
support Fill modes, Scaling, etc... yet.

Not a single line from this patch has been tested yet.
It compiles. That's pretty damn good for a start!

@feature
2015-12-03 18:42:50 +09:00
Gustavo Lima Chaves f74ab7f7d2 efl: fix build out of tree
@fix
2015-11-10 00:34:37 -02:00
Cedric BAIL 599141a96b ector: move freetype rasterizer library to itw own directory. 2015-11-09 10:42:35 -08:00
ChunEon Park 83a0aed87a ector: freetype -> default software 2015-08-20 16:30:10 +09:00
Subhransu Mohanty bed8325e3c ector: add NEON support for composition function in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:11:06 +02:00
Subhransu Mohanty 74dcf5ed15 ector: add sse2 support for composition function in software backend.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:09:16 +02:00
Subhransu Mohanty 2766ce57ce ector: refactored software drawing backend to use composition function.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 15:07:36 +02:00
Stefan Schmidt d48c5accea Revert "autotools: enable make check per individual modules."
This reverts commit 35119e7bfd.

Reverted to bring make check back in a working state. Also the way we
want to handle a more modular testing needs discussion.
2015-05-07 20:50:56 +02:00
kabeer khan 35119e7bfd autotools: enable make check per individual modules.
Currently make check runs tests of whole EFL.Enabled running
of tests of individual modules by make check-<modulename>

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:07 +02:00
Tom Hacohen 71d9c6639c Ector: Fix distcheck.
The generated Eolian headers should *not* be included in the dist
tarball. This makes autofoo go crazy (why would it? ffs) and is
wrong anyway.
2015-04-13 14:34:45 +01:00
Tom Hacohen c1c471de9c Ector: clean up makefile a bit. 2015-04-09 23:11:35 +01:00
Tom Hacohen a23ff0d9a3 Ector: Ship missing headers.
These headers are being included from public headers (Ector.h),
so they need to be available.

That's what happens when you push in code that's not actually used
by anyone.

@fix
2015-04-07 15:56:42 +01:00
Cedric BAIL 67beb8d250 ector: fix make distcheck. 2015-04-03 16:33:52 +02:00
Jose Gonzalez 472f3a72ff ector: correct implementation for color multiplication. 2015-04-03 16:33:01 +02:00
Subhransu Sekhar Mohanty b5c0b676e2 ector: build FreeType software backend. 2015-04-03 16:31:47 +02:00
Cedric BAIL e99774946c ector: implementation of some common code in Ector.Renderer.Cairo.Base.
This require to make some class mixin instead of interface or abstract. So a lot
of class renaming is also necessary here.
2015-04-03 16:31:44 +02:00
Cedric BAIL fdf3942aa0 ector: first implementation of a Cairo surface. 2015-04-03 16:22:01 +02:00
Cedric BAIL 33d538643a ector: add a base interface for all cairo renderer. 2015-04-03 16:22:00 +02:00