In case we fail make sure we error out to allow better debugging.
Also fix some surrounding indent.
CID: 1402693, 1402670
Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11976
regions sometimes produce box sets like:
// +---+
// | |
// +---+ +-------+
// | | | |
// +---+ +-------+---------+
// | |
// | |
// +-----------------+
so the upper-left 2 boxes can be merged into 1 and they have the same
x coords and are flush-aligned one above the other. that is what
this does - find these and merge them to have fewer rects
@fix
we have used a fair bit of cpu to avoid gpu overhead and this tunes
the balance back a bit to throwing more at the gpu and less at the cpu
by reducing the number of pipes and max vertex counts per pipe by
default and only resetting pipe state vars if adding the first pipe
member.
@opt
Summary:
During shutdown we used to call engine_image_free() which was causing some deadlock.
as we have evas_cache which takes care of freeing all the images we just have to
delete the generic cache without freeing the image during shutdown.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11915
this way we can use that list easily in the modules, and keep the list
for later module building.
Differential Revision: https://phab.enlightenment.org/D11897
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.
this is preparation work for efl-one.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
Adding it to all missing places so we can control it from the central
meson.build file.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11855
Summary: .9.png is not 9 patch file, but a png file which name is .9
Test Plan: evas_object_image_file_set(image, "./.9.png", NULL);
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11848
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported
Test Plan: compilation
Reviewers: zmike, raster, jptiz
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11834
Summary:
There was a mistake caused by "2a0eeba evas: fix png regression issue".
The flag is_for_data was close_file before this commit.
_evas_image_load_file_internal_head_png closes file if it is called only for
header. So the close_file does not mean is_for_data.
This patch is changing is_for_data to is_for_head, and make
_evas_image_load_file_internal_head_png use EINA_FILE_SEQUENTIAL
for data decoding.
Reviewers: Hermet, jsuya, herb, raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11783
Summary:
Accidentally commit "382c580 evas: add support for .9.png file to PNG loader."
adding the 9 patch feature with small code refactoring made use of setjmp
incorrectly.
[Problem]
evas_image_load_file_data_png calls _evas_image_load_file_internal_head_png,
and _evas_image_load_file_internal_head_png calls setjmp and returns without
problem. And png_read_row calls longjmp. This causes jumping into a function
which was exited. Problematic png file will be attached.
[Solution]
Save calling environment i.e. call setjmp, after returning from
_evas_image_load_file_internal_head_png.
Test Plan:
Problematic png file
{F3876983}
And example code.
{F3876986}
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11782
Since we moved to floating calculation for msaa, this comparsion
is not working for direct image drawing though it's doable.
To resolve this, we can compare floatings regardless of msaa enable.
we were losing cached chaders and overwriting the cache all the time
when apps finished compiling new shaders and at other points... when
they should have already had a populated shader cache that was all
fine and happy. this fixes that so once the cache is fully populated
it wont write anymore and it wont lose existing shaders in the cache
@fix
Summary:
Static analysis tool reports passing a null pointer 'im->gc' to
_evas_gl_image_cache_add which directly dereferences it, so lets
be sure that 'im->gc' is valid before passing it to cache_add
Reviewers: Hermet, jsuya, herb, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11676
gc width/height indicates the main output size,
if the target surface(fbo) is larger than this, rect won't be drawn.
We should clip this with current context size.
@fix
Summary:
If use ein_str_split, have to free the first element of the array
and free the array.
Test Plan: N/A
Reviewers: Hermet, YOhoho, bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11419
When we allocated s but fail to allocate l we need to make sure to free
the first allocation before erroring out.
CID: 1419874
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11409
The commit fixed a mem leak with freeing one element in the array, which
was never going to work, as only the array is a pointer you can
allocate.
This could have been discovered by simply running ninja test.
Summary:
The clear of the Evas_Thread_Command_Ector_Surface structure is an unmanaged variable.
When ector calls _draw_thread_ector_surface_set and it checks the clear value.
the clear value is garbage value. This can cause the pixels to fail to initialize.
This is why afterimages remain after updating shapes while using ector surfaces.
Test Plan:
./build/src/examples/evas/efl-canvas-vg-simple
1 - Basic Shape test
Scale up 's' or do something
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11278