Commit Graph

74 Commits

Author SHA1 Message Date
Derek Foreman baad0d50db static_libs: Add libdrm headers (for wayland_shm)
wayland_shm's dmabuf implementation needs acess to libdrm headers for
doing GPU specific memory allocations.  We search for these libraries
at runtime with dlopen, so we don't need to find them at build time,
however certain struct definitions and defines are still required.
2016-04-19 15:11:10 -04:00
Jean-Philippe Andre d5b0b1e683 Evas: Add SW engine map/unmap functions
Also, fix some of the code using them.
2016-03-28 16:40:01 +09:00
Jean-Philippe Andre 078117d367 draw: Import or implement some colorspace conversion routines
Those and many more will be required for proper map/unmap support.
There will be problems with planar formats:
  YUV, RGB565_A5P, ETC1_ALPHA

The quick solution to this problem is to not support region
conversions, only full-image (so we can assume the location of
the various planes in memory).
2016-03-28 16:40:01 +09:00
Cedric Bail 73895f5249 elementary: remove useless Makefile.am and force file in the correct place. 2016-03-24 11:23:11 -07:00
Cedric BAIL c2a1c49ab2 elementary: move all legacy files to their expected new location. 2016-03-23 13:24:41 -07:00
Tom Hacohen db72b93601 Static deps unibreak: Update to latest version.
This version supports Unicode 8.0 and includes fixes over the previous
version.
Reference version: 03ae8dd7d6ce6d19a38c1e62c70afc6ad82513bc

@feature
2015-12-21 11:10:37 +00:00
Stefan Schmidt 1872c06ff0 lz4: Update our internal copy to release r131
Clang and GCC optimizations and bug fixes. Have a look at the NEWS file for
more details.
2015-12-16 11:53:11 +01:00
Jaehyun Cho f6804ac1c6 Draw: Fix compile error by removing duplicate definition. 2015-12-11 16:58:55 +09:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Jean-Philippe Andre 8f4018b690 Evas filters: Implement mix3 func for rgba masking
This operation was faked by running a mul and a blend ops. Now
they are combined into one. A GL shader should also be able
to do this in a single pass.
2015-12-04 16:10:06 +09:00
Jean-Philippe Andre ecc7da9cba Evas filters: Use Efl.Gfx.Render_Op
Some filters are now broken. Yay for refactoring! Will be fixed
in the following commit.
2015-12-04 16:09:53 +09:00
Jean-Philippe Andre 9457411861 Draw: Add new mask functions
Copy & blend to uint32 with a uint8 mask + color.
2015-12-04 16:09:47 +09:00
Jean-Philippe Andre c09199f0e0 Ector: use uint32_t instead of uint
This fixes the build for Windows. Thanks @vtorri for the report.

I'm not using "unsigned int" as uint was mostly used like DATA32,
ie. color data (one pixel color or a pixel buffer).
2015-12-03 20:28:27 +09:00
Jean-Philippe Andre dc621e2316 Ector: Kill compilation warnings
Remove unimplemented function (no test case yet).
Convert #warning into comments.
2015-12-03 18:42:50 +09:00
Jean-Philippe Andre b5500a8644 Evas: Move alpha functions to static_libs/draw
This is a pretty simple code refactor, moving pixel handling
to the new draw lib.
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
Stefan Schmidt 7b86b1c374 rg_etc: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:27:01 +01:00
Subhransu Mohanty 1aa1bbc131 ector: cleanup freetype raster
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-24 16:04:45 -08:00
Subhransu Mohanty da47b4df13 ector: updated the freetype raster with faster line renderer.
Merged from freetype repo with 'smooth', faster, alternative line renderer.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-24 14:44:22 -08:00
Srivardhan Hebbar 4f24deac44 ecore_con: Moving dns.c and dns.h to static_libs.
Summary:
Took the license file from https://github.com/wahern/dns
The dns.c and dns.h are taken from here.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3314
2015-11-10 14:10:02 -08:00
Srivardhan Hebbar e5a9c7844f ecore_con: add http_parser static lib.
Summary:
This lib would be used in efl_network_websocket.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Reviewed By: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 15:52:15 -08:00
Cedric BAIL 599141a96b ector: move freetype rasterizer library to itw own directory. 2015-11-09 10:42:35 -08:00
Stefan Schmidt d1b414a6ec rg_etc: Correct ifdef to keep function available for debug build
In the nightly builds we have debug enabled and this spotted the case where
rg_etc1_solution_coordinates_block_colors_get is actually still used:

lib/eet/.libs/libeet.so: undefined reference to `rg_etc1_solution_coordinates_block_colors_get'

Showed only after we switched back from release to dev mode.

@fix
2015-05-11 15:00:12 +02:00
Tom Hacohen 7a49d23f90 Static deps unibreak: update to what will soon be version 3.
Version 3 is not yet released, but this is on track to become it.
This is based on commit: a815e11f7ebf35b59278f783227a829ee4692760.

@feature.
2015-05-07 10:54:26 +01:00
Tom Hacohen ba77a837a3 Revert "Static deps: Move unibreak to be an external dep."
Apparently the Debian package, while up to date, for some reason does
not ship the .pc file (according to q66).
According to Stefan, Fedora doesn't even have libunibreak, but only the
previous naming and old version.

Will have to wait a few years more. :(

This reverts commit a2a9f33802.
2015-05-07 10:54:26 +01:00
Stefan Schmidt 4314257d8c lz4: Update our internal copy to release r128
Looking through the git log it is unclear which release we used before as nobody
stated it there. :/ We updated after the security issues last year so my best
guess is that we have something like r119.

To see what changed I now included the NEWS file and also the LICENSE file from
upstream. Upstream in now hosted here: https://github.com/Cyan4973/lz4 and
http://www.lz4.info

I recommend STRONGLY that you check if your distro ships liblz4 as an up to
date library package and use the --enable-liblz4 configure option to use the
system version. I consider making the system version default for upcoming
releases and only carry the internal one as fallback for systems that do not
provide it.

Fix T2374
2015-05-07 11:15:13 +02:00
Tom Hacohen a2a9f33802 Static deps: Move unibreak to be an external dep.
We need any version of libunibreak. The first one has been released in mid 2012.
Even slow distros like ubuntu already have an LTS out with a good enough
version, so I consider this enough to remove the maintenance cost.
This has been discussed on IRC.

@feature
2015-05-07 10:03:26 +01:00
Jean-Philippe Andre 97fd661451 ETC1: Fix more clang warnings
Some of these are a bit pointless (eg. init with {0})
but at least this silences clang and helps reveal more
potentially useful warnings.
2015-04-21 20:11:02 +09:00
Jean-Philippe Andre 565a4da138 ETC1/2: Fix clang warnings
Unused functions.
I keep them around for reference, for whoever wants to work on
improving the encoder.

There are still some warnings. Clang is just crazy.
2015-04-21 20:11:02 +09:00
Mike Blumenkrantz 5375e154fe fix config.h inclusion across the tree 2014-09-23 15:56:46 -04:00
Cedric BAIL 4f45be13cf lz4: fix another security issue on ARM 32bits. 2014-07-14 15:59:06 +02:00
Boris Faure 3d36d65dd8 lz4: fix shadow issue
@fix
2014-06-29 23:11:56 +02:00
Cedric BAIL 2c97212736 lz4: fix possible security issue.
See :
- http://fastcompression.blogspot.fr/2014/06/lets-move-on.html
- http://www.openwall.com/lists/oss-security/2014/06/26/25

@fix
2014-06-29 12:56:56 +02:00
Jean-Philippe Andre 37431fb1a1 Evas ETC2: Remove some useless operations
No need to write out alpha in a RGBA color when only
the RGB values are used by the distance op.

Also, add a comment on the byte order. Maybe I'm wrong
but I believe the operations are fine wrt. byte order :)
2014-06-23 11:20:13 +09:00
Jean-Philippe ANDRE 60895e1a14 Evas ETC2: Remove some C99/GCC extensions code
There is still some C99 code in the file in the form of
  for (int k = 0; ...)

If there's a strong requirement not to use this form, I'll
change it, otherwise I find this specific code style more
readable (k is local to this iteration).

This patch and the previous one even give a ~10% speedup
on the encoding time. Sweet :)
2014-06-22 18:59:52 +09:00
Jean-Philippe ANDRE 4d35471e8e Evas ETC2: Fix horrible warnings in etc2_encoder
So I guess always compiling with debug flags and no
optimizations isn't the best idea as some really bad warnings
can be hidden. Thanks raster for the notice.
2014-06-22 18:57:41 +09:00
Jean-Philippe Andre c79a8b43b6 Evas: Fix ETC2 encoding with RGB images (no alpha) 2014-06-13 15:59:23 +09:00
Jean-Philippe Andre 29770922cf Evas ETC2: Fix etc2 function declaration 2014-06-12 16:53:53 +09:00
Jean-Philippe Andre d6e6d001a3 Evas ETC2: Clean up debug code
Disable flag and disable unused function if DEBUG is not set.
2014-06-10 14:58:28 +09:00
Jean-Philippe Andre 878641f6dc Evas ETC2: Fix alpha encoding with high quality
Use an exhaustive search when encoding alpha at high quality.
This can be very slow if we don't have a perfect solution.
2014-06-10 14:58:28 +09:00
Jean-Philippe Andre 90f58b2a57 Evas ETC2: Implement Planar mode
And this completes the first version of this ETC2 encoder.
It's pretty slow and not exhaustive.

Color selection for T and H modes could probably be optimized
for both performance and quality. As for the planar mode, there
is no selection to speak of, as we just take the values of the
pixels directly (no scan, very fast)

On a sample image with lots of blue, white and noisy gradients,
T+H+Planar mode boost the PNSR from 41.22dB to 42.01dB.
Without planar mode, the PSNR was 41.94dB.

@feature
2014-06-10 14:58:28 +09:00
Jean-Philippe Andre 173b6bebf9 Evas ETC2: Implement H mode encoding
And we gain some more decibels of PSNR :)

@feature
2014-06-10 14:58:28 +09:00
Jean-Philippe Andre 22c5632256 Evas ETC2: Implement T mode encoding
In this mode, two colors are encoded in RGB444, a multiplier and
distance (index) are selected. Two extra colors are extrapolated
from the main base color. As in ETC1 we have 4 base colors to paint
our block.

@feature
2014-06-10 14:58:27 +09: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
Jean-Philippe Andre 69cbfc7530 Evas rg_etc2: Fix Windows build
Use unsigned char/int instead of stdint in the header file.
2014-05-28 12:11:05 +09:00
Jean-Philippe Andre b8f7431b74 Evas rg_etc1: Fix build break (with DEBUG)
Ooops, bad code merge here.
This breaks the nightly builds.
2014-05-28 08:13:30 +09:00
Jean-Philippe Andre 1aa3510666 Evas rg_etc: Show in the doc that we use BGRA now 2014-05-27 12:21:43 +09:00
Jean-Philippe Andre 939b5e47a0 Evas rg_etc2: Small performance fix
Alpha is always 255 otherwise we need to loop around and
clamp the values to 255 anyways.
2014-05-27 12:21:43 +09:00
Jean-Philippe Andre 525bc4117a Evas rg_etc1: Also decode RGBA8 from the TGV loader 2014-05-27 12:21:37 +09:00
Jean-Philippe Andre 03505d1f81 Evas rg_etc2: Complete support for ETC2 with RGBA8_EAC
Add support for alpha in the ETC2 decoder.
2014-05-27 12:21:37 +09:00