path: root/src/lib/evas/common/evas_scale_sample.c (unfollow)
AgeCommit message (Collapse)Author
2015-09-10efl - set thread names for internally created threads for debuggingCarsten Haitzler (Rasterman)
2015-04-10Evas: Fix use of uninitialized valuesJean-Philippe Andre
Not a meaningful issue, but let's make Coverity happy. Fixes: - CID 1293522 - CID 1293521
2015-04-08Evas masking: Avoid potential crashes (SW)Jean-Philippe Andre
Make sure not to sample the mask image outside its boundaries. This is a series of last resort checks. I can not reproduce the crashes but know they have happened. I used EINA_UNLIKELY more for clarity than for compiler optimizations.
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-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-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 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: 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 <>
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-08-22evas sw core - scaler - remove logically dead codeCarsten Haitzler (Rasterman)
fix CID 1039445 1039446
2014-01-10evas - sw render - protect against null pointer surface accessCarsten Haitzler (Rasterman)
2013-06-20evas: Keep sane name for public headerSebastian Dransfeld
Evas_Common.h should be used for the public header, and rather rename evas_common.h internal header to another name. Sa: Evas_Common_Header.h -> Evas_Common.h evas_common.h -> evas_common_private.h Shouldn't have both Evas_Common.h and evas_common.h because of case insensitive filesystems.
2013-02-27evas/common - scale sample code optimizationChunEon Park
2013-02-23evas/common - scale sample code refactoring. simpler and more effcient.ChunEon Park
2013-02-22evas/common - return function as soon as possible.chuneon.park
2013-02-22evas/common - fix indentationchuneon.park
2013-01-16evas/async_render: use image scalecacheUlisses Furquim
SVN revision: 82890
2013-01-11evas/async_render: only get a ref if a thread cmd was issuedUlisses Furquim
This patch should make us get a reference on images, maps and glyphs which are sent in a command to the render thread. Before we were doing some useless ref and unref operations. SVN revision: 82666
2012-12-17evas/common: Prepare soil to land scaling code for threaded renderLeandro Pereira
SVN revision: 81188
2012-12-05efl/evas: remove mask of non-rectangle objects.Gustavo Sverzut Barbieri
it was broken and mostly disabled, so now we do remove it in the hope who does that next time, does it properly. SVN revision: 80252
2012-11-28evas/image: Refactor common code for image drawingPaulo Alcantara
This patch refactors common code for image draws - so that it can be used by other engines and *threaded* X11. Signed-off-by: Paulo Alcantara <> Patch by: Paulo Alcantara <> SVN revision: 79795
2012-11-04merge: and now EvasVincent Torri
I've tested make -j 3 install and it works nicely I've tested expedite with software and opengl xlib, and it works. Not tested other engines, so please report any problems (engines or other) on the ML. TODO: examples and tests, I'll add them later ISSUE: Eina_Unicode size check. It indirectly depends on eina_config.h, which is created at the end of the configure script. So its size is always 0. I don't know how that size is used, so I can't do a lot, for now. SVN revision: 78895
2012-10-16futher option reduction and ifdef removal.Carsten Haitzler
SVN revision: 78029
2012-07-05evas: fix clipping issue with pipe rendering.Cedric BAIL
SVN revision: 73322
2012-07-04evas: add more infrastructure to the prepare stage of pipe rendering.Cedric BAIL
NOTE: this improve some test by 10 to 15% some other are down by 5%. Their is still more tunning and improvement possible now (Particularly with Map), but it will do for now. SVN revision: 73264
2012-04-26evas: remove EVAS_SLI code path, it was to slow and unused for years.Cedric BAIL
NOTE: other things that may join it in the near futur EVAS_FRAME_QUEUE, EVAS_METRIC_CACHE and maybe EVAS_WORD_CACHE also. This is all part of cleaning up our rendering path so we can actually improve it more easily. SVN revision: 70499
2012-01-19fix gcc warnings about set-but-unused and shadows of y1.Gustavo Sverzut Barbieri
NOTE: did not touch mess that is jpeg, someone else can deal with it :-P SVN revision: 67353
2011-12-23From: Sanghee Park <>Sanghee Park
Subject: Drawing objects by pixman * Extend pixman support to allow other operations to use pixman when doing software rendering. On x86 this isn't useful but on ARMv7 with NEON pixman happens to do better with image blending and nearest scale blending. * Add tiled rotator for 32bit display as an option. SVN revision: 66478
2011-04-23nash -> i fixed your mask rendering. interesting you only mask *IF*Carsten Haitzler
you have 1:1 scaling. you could do this with scaled imaged (and unscaled masks) with ease. both smooth and nearest. SVN revision: 58838
2011-04-23comments for nashCarsten Haitzler
SVN revision: 58837
2011-04-22an initial test at trying pixman instead of evas software rendering.Carsten Haitzler
results... in comments. disabled atm unless u --enable it. only replaces 1 operation in 2 cases. SVN revision: 58824
2011-04-06warning--Carsten Haitzler
SVN revision: 58374
2011-04-06Masking: Push a bit more arbitrary clippingBrett Nash
This seems to have got lost in my big messup before. This pushes enough of mask/arbitrary clip to be somewhat useful. I need to push a little more soon for it to be 100% happy, but this is useful level. SVN revision: 58373
2010-08-04FORMATTINGLucas De Marchi
* Remove vim modelines: find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \; find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \; * Remove leading blank lines: find . -name '*.[cxh]' -exec sed -i '/./,$!d' If you use vim, use this in your .vimrc: set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0 SVN revision: 50816
2008-12-02ok - revert scalecache until leak fixed.Carsten Haitzler
SVN revision: 37899
2008-12-02quick - evas scalecache put this in svn do i dont lose my patch. i'll revertCarsten Haitzler
and work on gettign the leak fixed. SVN revision: 37898
2008-07-21 * move blend functions declaration to their own header filesdoursse
* add vim header SVN revision: 35182
2008-07-19remove tons of trailing spacesdoursse
SVN revision: 35171
2008-07-11 * remove trailing spaces in evas_pipe.cdoursse
* move scale function declarations to their own files SVN revision: 35063
Image_Entry flag structure. This fix a bug with 16 bpp software engine. * Change image loader module API to take any Image_Entry. Same goes for evas_common_image_premul and evas_common_image_set_alpha_sparse. * Use new eet API: eet_data_image_read_to_surface. SVN revision: 34728
2008-04-12cedric's cache changes patchCarsten Haitzler
SVN revision: 34253
2007-04-30use alloca - not malloc :)Carsten Haitzler
SVN revision: 29774
2007-04-04pager urgent popup patch - goodCarsten Haitzler
evas clipouts less allocs patch - definite spedusp for when it's used heavily! SVN revision: 29331
2006-11-15sli is possible- but not optimal.Carsten Haitzler
SVN revision: 27129
2006-11-131. evas gets a pipeline with deferred rendering ability (sometimes faster,Carsten Haitzler
sometimes slower) 2. --enable-pthreads will enable multi-threaded rendering (current support is for up to 4 threads so if you have a new fanled quad core or dual cpu dual core box or whatever you will in theory be able to max moe of its cpu grunt with the software rendering engine. this can only be done because i added the pipelines which means almsot entirely lock-free multithreading internally in evas. the only locks are for fonts but with a little work i might be able to remove some/most of those too) for now pthreaded rendering likely will be linux only (it relies on sched.h for setting scheduler params to force the slave threads to run on separate cpu's as linux likes to keep them on the same cpu otherwise and thus we get no speedups at all - only slowdowns). aso note that it is a bit of a mixed bag. complex ops (like smooth scaling with alpha blending) get speedups, but simple ops (like blits/fills) slow down. this all neds examination and tweaking still - but it's a start. SVN revision: 27098
2006-09-06Functions used by modules must be EAPIsebastid
SVN revision: 25526