Summary: This fixes especially the execution of edje_cc on Windows
Test Plan: execution of edje_cc
Reviewers: cedric, raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7834
Summary:
alpha_texture need to be set EINA_TRUE to support ETC1+Alpha
@fix
Test Plan:
Create an EDC file with png image with Alpha.
compress image with ETC1 and ETC2.
Observe Alpha is properly applied in both case.
Reviewers: jpeg, Hermet, cedric
Reviewed By: cedric
Subscribers: conr2d
Differential Revision: https://phab.enlightenment.org/D4307
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Typos, lack of NULL check, excessive sizeof(type) not matching
the object type, no border set, etc... This all lead to a crash
and then no render (with an error message and then without...).
This also simplifies the implicit loading of ETC1 as ETC2 when
supported by the driver.
@fix
@fix
this fixes T1987 - the commit that broke it was:
commit 18d494489c
Author: Cedric BAIL <cedric.bail@samsung.com>
Date: Fri Jan 3 16:20:53 2014 +0900
eet: use eina_swap*() function instead of custom slower one.
there are possible security implications by not checking values of
size fields to see if they are within the data range AND are not 0 or
negative. so do this.
@fix
Macros should be surrounded with do {} while() statements,
otherwise there can be issues, like the macro not requiring a semicolon
after the statement or etc.
@fix
Commit 101dee79b0 introduced critical errors, as standard
error callbacks now fail.
Apparently, these error callbacks depend on the installed version
of libjpeg (8 vs. 9).
I couldn't start E without this commit.
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>
The TGV file format and GL engine now support ETC1 encoding
with alpha using an extra texture.
This commit adds similar support to the Eet encoder/decoder.
@feature
Due to some invalid geometry considerations, there was a
1 pixel distortion in images, varying with the lz4 compressed
macro-block size.
Anyhow, I couldn't wrap my head around Cedric's code. So I rewrote
the whole thing instead, fixed it and improved the block size
selection (based on the image size, to optimize lz4 compression).
There were a few critical issues:
- Invalid pointer arithmetics on the input data (char vs. int)
- Invalid logic in the pixel duplication code
All of these due to bad copy and paste :(
Also, use LZ4HC instead of LZ4 when compression is enabled.
ETC1 encoding is so damn slow you won't see the difference between
LZ4 and LZ4HC compression times.