path: root/src/lib/evas/common (follow)
AgeCommit message (Collapse)Author
2015-02-27evas scale sample - fix useage of eina thread queueCarsten Haitzler (Rasterman)
pass in ref not &ref (other uses were fine - this single one broken)
2015-02-23Revert "Revert "evas: refcounting initialisation and protect things.""Cedric BAIL
This reverts commit 789633b321dbb0669b93ba2da3bbaaede3de6233. Now this should be useful since we have refactored the shutdown logic of all engine.
2015-02-23evas: refactor shutdown.Cedric BAIL
2015-02-20Revert "evas: refcounting initialisation and protect things."Cedric BAIL
This reverts commit 216397bea635d93266aca73f9e724979375f2e3b. We do have some engine that are doing partial shutdown outside of the protected function, leading to a crash.
2015-02-20evas: use two thread when scaling image.Cedric BAIL
This is for now just a small experiment. It was based on the experiment made with OpenMP. I prefered to only use Eina here as we have already all the infrastructure to do this nicely and simply. As a result I get a 65% speed improved on average for the involved scaling operation. The secondary CPU is on my laptop running with a load of 75% percent. I don't have right now the time to do power consumption analysis, but I think it shouldn't be to bad. I am also not throwing more core at this as we are not able to use the second core at its max already, so additional core may result in a bigger energy loss without enough gain.
2015-02-20evas: refcounting initialisation and protect things.Cedric BAIL
2015-02-20evas: refactor software engine initialisation.Cedric BAIL
2015-02-10Evas masking: Fix potential issues with map & maskingJean-Philippe Andre
These bugs have not been observed but the code logic did not make sense. @fix
2015-02-10Evas masking: Fix some garbage pixels with the SW engineJean-Philippe Andre
A rare case of garbage data would happen if smooth scaling was called with a mask and 1:1 scaling. Use the proper render_op to COPY for the first pass. @fix
2015-01-21warning--Daniel Zaoui
2015-01-07evas map aa - match previous fix.Carsten Haitzler (Rasterman)
this matches 83eb1aa3c2e15568c89546048d72d7cae071ee42 fix in the other map render func
2015-01-07Evas map: Fix AA with opaque imagesJean-Philippe Andre
Well... actually this is not exactly a fix. It just restores the previous behaviour, and allows AA to work. As in, it won't draw ugly black lines but properly blend to transparent. But there is still a problem: The image map render function changes the alpha flag on the source image if AA is enabled or if the map has an alpha color. This is actually wrong as images forcefully set to not have any alpha (with evas_object_image_alpha_set(0)) will then not be opaque anymore. Right now I can't think of a solution (also I don't quite follow the entire pipeline in evas map...). Changing the flag will make some opaque areas transparent. Not changing the flag will produce ugly artifacts where AA blending should happen. Fix one bug and the other appears, and vice versa. This can be tested with the example evas-map-aa and adding an alpha channel to cube1.png (with gimp for instance) but manually setting alpha to 0 in the code. Weird stuff will happen (try playing with the map and pressing I to switch to/from image mode).
2015-01-07Evas map: Kill build warnings and don't set image flagJean-Philippe Andre
Don't change a source image alpha flag at render time. It doesn't make sense at this point. Also remove unused int pa.
2015-01-07evas map - new aa map has extra overflow with line list - fix it.Carsten Haitzler (Rasterman)
this fixes a feature added in this version of efl. as above.
2015-01-07Evas masking: Fix a potential issue with pixmanJean-Philippe Andre
Untested. Just skip pixman path when there's a mask.
2015-01-07Evas masking: Fix another set of rendering artifactsJean-Philippe Andre
2015-01-07Evas masking: Fix mask blend functions (SW engine)Jean-Philippe Andre
The selected op func was not performing the correct operation, thus producing rendering artifacts. These functions should not be used anywhere except in case of masking... which was not an available option earlier. It was doing (wrong): dst = interp(mask, src, dst) Instead of (correct): dst = dst + (1 - mask) * src NOTE: This commit also disables MMX, SSE3 & NEON implementations of pixel_mask blend operations, since they are also broken.
2015-01-07Evas masking: Implement support for map draw (SW)Jaeun Choi
2015-01-07Evas masking: Implement support for polygon draw (SW)Jaeun Choi
2015-01-07Evas masking: Implement support for line draw (SW)Jaeun Choi
Signed-off-by: Jean-Philippe Andre <>
2015-01-07Evas masking: Use alpha mask in SW engine draw functionsJaeun Choi
Work done by Jaeun Choi, rebased & squashed by jpeg. This commit introduces changes to the low-level draw functions of the SW engine considering the existence of an alpha mask image. Features: - Font masking (TEXT, TEXTBLOCK), - Rectangle masking, - Image masking (all image scaling functions should be handled). The mask image itself is not yet set in the draw context (see following commits). @feature Signed-off-by: Jean-Philippe Andre <>
2015-01-06Evas fonts: Fix minor deviation in RLE font renderJean-Philippe Andre
So I've discovered some weird output values after drawing some text. The destination alpha would become 0xFE even when the back buffer had a background with 0xFF alpha. Example: Dest is 0xff00ff00 (green). Color is 0xffffffff (white). Current font alpha is 170 (0xaa). --> Output was 0xFEaaFEaa instead of 0xFFaaFFaa. This is because of some slightly invalid calculation when doing the font masking (mtab[v] = 0x55 above). Indeed, MUL_256 takes alpha values in the range [1-256] and not [0-256] as was assumed.
2014-12-23evas: better example of _mmap_set and resources for it are added.Bogdan Devichev
2014-12-23evas: a _mmap version of the file_set is added.Bogdan Devichev
2014-12-23evas: entry points to modules is Eina_File. Model_Common_Loader is deleted.Bogdan Devichev
2014-12-23evas: entry points to modules is new struct with Eina_file, not const char ↵Bogdan Devichev
2014-12-23evas: Evas_3D_Mesh_File_Type sank into oblivion. Changing entry point to ↵Bogdan Devichev
model_save_load. Changing API in examples.
2014-12-23evas: add lib/evas/common/evas_model_<action>.c. Functions are renamed ↵Bogdan Devichev
similar to functions in image_save_load process.
2014-12-19evas/map: fix aa regression bug.ChunEon Park
2014-12-17Use NEON intrinsics for mapping instead of inline asmCarsten Haitzler (Rasterman)
Summary: Rewrite linline assembly in mapping func using NEON intrinsics. Reviewers: raster Differential Revision:
2014-12-09Evas font: Improve RLE rounding alpha8 to alpha44Jean-Philippe Andre
This should ensure that the difference between the original pixel value and the rle4 encoded one is <= 8. The previous fix was a bit stupid as it was not taking into account the conversion a4 to a8 (which is a8 = (a4 << 4) | a4).
2014-12-08Evas font: Compress font algo should round instead of floorJean-Philippe Andre
This is an attempt at having higher quality font rendering while still using RLE-based font compression.
2014-11-29 Use intrinsics for scaling up instead of inline asmCarsten Haitzler (Rasterman)
Summary: Rewrite linline assembly in scaling func using NEON intrinsics. Reviewers: raster Differential Revision:
2014-11-26evas/map: correct last 1 pixel handling in spans.ChunEon Park
Clipper causes the different rendering result by last 1 pixel on the width. Because the left edge x range (0 ~ (w - 1)) and right edge x range (0 ~ w) is different. This fix won't be memory over access problem even if x span position is on the end of the edge. Because the span width(x2 - x1) will be 0, and it restuls in skipping drawing. It's hardly find the problem but you can detect the subtle rendering difference when some arbitrary meshes with map is You can compare image and rectangle map drawing for this. @fix
2014-11-26evas/map: revise draw code.ChunEon Park
reverted draw logic and applying aa drawing better safely.
2014-11-26evas/map: removed unnecessary.ChunEon Park
2014-11-26evas/map: support aa in basic c computation.ChunEon Park
2014-11-26evas/map : set antialias context for map rendering.ChunEon Park
2014-11-26evas/map: add comments for readability.ChunEon Park
2014-11-25evas/map: code refactoring.ChunEon Park
use array for easier indexing in the coming anti-alias logic code.
2014-11-19Evas: Remove irrelevant comment and disabled codeJean-Philippe Andre
2014-11-13Evas: Don't pass whole RGBA_Image to low-level render functionsJean-Philippe Andre
Idea originated from Cedric the b0rker. This is a big fat search-and-replace commit. This commit also introduces space changes... Sorry for the mix. NOTE: This commit may have one side effect as there was some very dubious code chaning the dst image's alpha flag in the Gfx get functions. Logically this didn't make sense (at draw time the dst alpha should already be well defined), so it should be safe.
2014-11-12Evas: Improved code consistencyJaeun Choi
Signed-off-by: Jean-Philippe Andre <>
2014-11-12Evas: Fixed indentationJaeun Choi
This is a purely cosmetic change. Signed-off-by: Jean-Philippe Andre <>
2014-11-12Evas: Fix COPY op for mask+colorJean-Philippe Andre
Also, mark some functions with a FIXME as they look just wrong. COPY_REL is never used... MMX and NEON optimizations should be implemented for COPY MASK+COL.
2014-11-12Evas: Fix SW rendering COPY function with maskJean-Philippe Andre
This does not fix any known bug as there is no known path using this function.
2014-10-28Evas convert: Remove dead codeJean-Philippe Andre
Woah coverity... Fixes CID 1039448
2014-10-21evas: let's handle dds also during tests properly.Cedric BAIL
2014-09-23fix config.h inclusion across the treeMike Blumenkrantz
2014-09-03evas: fix build on armv7l.Philippe Coval
Summary: Without compilation will fail on : error: unknown type name 'pix_type' error: expected identifier or '(' before 'else' Applies to efl-1.11.0 and later Bug: Bug-Tizen: PTREL-737/part Change-Id: Idbcb442803ed6559698b2a371d1d6c584ec053e0 Signed-off-by: Philippe Coval <> Test Plan: gbs build -P "profile.tizen_common_armv7l" --arch armv7l --include-all @fix Reviewers: cedric Subscribers: cedric Differential Revision: Signed-off-by: Cedric BAIL <>