Ouch, that was nasty! src/lib/cache/evas_cache_image.c was assuming
all Image_Entry were RGBA_Image (why?!?!?), thus doing the cast and
having mutexes and other to operate on garbage (possibly crashing due
segv). This happened to be the case with Soft16_Image used by
software_16 engines.
I'm not sure, but this may fix problems that people noticed with
async-render hanging their systems even if not explicitly enabled
during runtime.
I also found it quite strange the number of locks required by this
code! Clearly we could use macros to simplify and avoid bugs, but
maybe some atomic_inc/dec code should be used to remove half of the
mutexes in that code?
/me wonders what kinds of bug more we can expect from this code :-/
SVN revision: 50300
Just set the EVAS_CPU_NO_NEON environment var if you want to disable Neon.
The same is done for other specific CPU codes, such as MMX, MMX2, SSE, etc.
SVN revision: 50271
The new wordcache option is an environment variable called:
EVAS_WORD_CACHE_MAX_WORDS
set this to a number between 1-500 to change the cache size.
Larger values (40+) fix regressions in a few of the expedite tests.
SVN revision: 50047
If you are having any problems with Arabic shaping please make sure you have FriBiDi version 0.19.2 installed at the time of compilation. If your distro doesn't have that version yet, make them upgrade, it's an year and a half old.
SVN revision: 49949
imlib2 bmp loader, but it was imcomplete compared to the bmp
standards, so i actually ended up reading the file format definitions
on line i could find and using lots of test images... wrote a new one.
you can at least view bmp files now. note - i found 1 bmp file that
claims to have an alpha channel (amask is non-empty) and then proceeds
to provide an image with pixels - all alpha 0. so its transparent when
it shouldnt be. beats me but looks like a broken bmp file to me when
it compes to specs.
SVN revision: 49324
rendering. to turn on:
1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)
the kind of results you get on a desktop:
http://www.rasterman.com/files/evas-async-vs-none.html
SVN revision: 49087
Samsung Electronics just allowed me to release the first set of ARM neon
patches under the Evas licence. They are silently helping improve EFL and
this another product of their help.
These patches have been tested on a Cortex A8 and show consistent improvement
across the board. For expedite some tests up to 100% improvements, and
practical real world examples show that rendering limited applications show
similar improvements. For instance in one application from 17fps->30fps or
for another 40->63fps.
The patches are pure neon code (intrinsics tend to generate worse code). To
build under GCC you will need a recent GCC and the following C flags:
-mfloat-abi=softfp -mfpu=neon
I also recommend -O2 and -ffast-math.
If you have any problems please let me know.
SVN revision: 48733