Now evas will in all case do the layout during the prepare stage. It will do that
once and as long as the text didn't change. This does improve by a factor of at
least 2.3 in all expedite test case except the text change that only get a 30%
increase (I expect a drop in performance on non pipe rendering for text change
expedite test only, but this case is not common in real life).
This also fix the issue that show random size glyph when using pipe rendering.
SVN revision: 71220
glyph metrics.
Instead of having to render the glyph to get the width and horizontal
bearing of it, it's possible to get this information from the glyph
metrics (which are available on the glyph slot).
This change now allows Evas to only render the glyph at the rendering
phase, instead of having to render it during layout phase.
SVN revision: 71132
now seriously...
Introducing Cache Serve 2.
This cache server will initially load images for clients connected to
it. It starts slave processes to load these images, and share the loaded
images through shm with the clients. All the connection done between
clients and the server goes through sockets.
The cserve2 build option is turned on by default, while the old cserve
was disabled, but in order to make clients use it, the environment
variable EVAS_CSERVE2 must be set, and a server must be running.
Clients will try to find the socket on a specified location using the
environment variable EVAS_CSERVE2_SOCKET. If it's not defined, then the
XDG_RUNTIME_DIR path should be used, and finally HOME, TMPDIR and /tmp.
SVN revision: 70699
NOTE: This should be part of evas_render itself and not
delegated to the engine. So cleaning things to make it easier
during evas_render rewrite.
SVN revision: 70503
Note: this two were broken. Current plan to bring
that feature back in, is to attach this information
to Evas_Text_Prop during the prepare stage. This
would improve both single and multiple core rendering
without increasing the number of lock and the complexity
of the code.
SVN revision: 70501
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
On macosx i386, that code fails because even though __VEC__ is defined,
the compiler doesn't understand the 'vector' keyword (that macro is
irrelevent here). So there was no way to make evas compile for ppc if
altivec was not supported by the compiler.
SVN revision: 66966
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
Subject: Fix Neon build with Thumb-2
In assembly part of function evas_common_convert_rgba_to_32bpp_rgb_8888_rot_90:
Don't use 3-operand add instructions (e.g. add r2, r5, #2) as this is
not supported in unified syntax.
SVN revision: 65768
Fix multiple storage bug.
* __forceinline is the equivalent of __always_inline__ on Windows. It has
'extern' as storage, so static must not be used with it
* use __always_inline__ and not always_inline as attribute value instead.
No need to add storage class with __always_inline__ too.
* static inline is fine
SVN revision: 64767
Sorry mate, but they broke API without bumping version, that's why I
didn't do this myself. You should probably add your version of harfbuzz.
This reverts commit 64057.
SVN revision: 64134