Commit Graph

1054 Commits

Author SHA1 Message Date
Cedric BAIL b0d3526d89 evas: another improvement part of the previous lock less font rendering patch.
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
2012-05-18 02:16:54 +00:00
Rafael Antognolli ad37a5e7bf evas/cserve2: Use width and horizontal bearing from
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
2012-05-15 21:15:20 +00:00
Rafael Antognolli d94025ca29 evas/cserve2: Split out the glyph rendering code from
glyph_get().
Now it's possible to get a font glyph without needing to render it
(although Evas is not doing so).



SVN revision: 71131
2012-05-15 21:15:08 +00:00
Cedric BAIL f9650433ed evas: apparently i am not the only user of the pipeline rendering.
SVN revision: 71104
2012-05-15 11:11:33 +00:00
Carsten Haitzler ce4a431e4d Fix pixman rendering support if you set alpha flag AFTER
setting image size for custom image data.
                


SVN revision: 70987
2012-05-14 06:56:22 +00:00
Cedric BAIL 4494035fa7 evas: detect properly when we wippe out font information.
SVN revision: 70923
2012-05-11 01:50:40 +00:00
Iván Briano a033707137 And make map work with cserve2
SVN revision: 70858
2012-05-07 19:58:34 +00:00
Iván Briano 15328efb85 evas/cserve2: fix typo that kept cserve2 disabled
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
2012-05-03 21:01:31 +00:00
Cedric BAIL f644afebf0 evas: \o/ My mojo is back, unbork pipeline font rendering.
SVN revision: 70687
2012-05-03 07:31:04 +00:00
Tom Hacohen 6841959b14 Evas font: Fix a compiler warning.
SVN revision: 70555
2012-04-30 11:15:18 +00:00
Cedric BAIL f046fa4c46 evas: remove unused parameter.
SVN revision: 70550
2012-04-30 09:42:42 +00:00
Cedric BAIL 377cc2368a evas: remove EVAS_FRAME_QUEUING.
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
2012-04-26 09:53:03 +00:00
Cedric BAIL 9dbaea6dd1 evas: remove WORD_CACHE and METRIC_CACHE.
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
2012-04-26 09:04:08 +00:00
Cedric BAIL 5965fb4282 evas: remove EVAS_SLI code path, it was to slow and unused for years.
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-04-26 08:41:39 +00:00
Cedric BAIL 0a5c840c48 evas: lock less font rendering.
SVN revision: 70497
2012-04-26 08:18:51 +00:00
Carsten Haitzler 0037f3bf30 minor fix to convert-tiled.
SVN revision: 70363
2012-04-20 13:31:53 +00:00
Carsten Haitzler b56d2a710b fix up missing LKI/LKD which was still pthread. hurts windows port due
to using eina_lock there.



SVN revision: 69498
2012-03-19 06:18:44 +00:00
Carsten Haitzler 396572a355 fix regression during 1.1 dev (towards 1.2) that made evas over-render
way too much! FIXED



SVN revision: 68204
2012-02-21 07:01:39 +00:00
Vincent Torri 4060b7d96e Evas: remove WIN32_CPPFLAGS and WIN32_CFLAGS are there are not used anymore. Move some headers in evas_common.h
SVN revision: 68100
2012-02-18 08:33:00 +00:00
Carsten Haitzler 6ead226a93 while looking into the infintie loop issue - update regions can become
a lot in these pathological cases, so limit them to 24 and if > use
bounding box as a single region.



SVN revision: 67917
2012-02-14 11:45:23 +00:00
Carsten Haitzler b7efefd294 some more debug for surfs
SVN revision: 67758
2012-02-08 12:25:50 +00:00
Carsten Haitzler d279c4e97c add some definable surf debug code... and STORE allocated size on
alloc so cache doesnt overfill!!!!!!!!!!!!!!!



SVN revision: 67757
2012-02-08 12:08:41 +00:00
Carsten Haitzler 767e40227c revert cedricism's. this just creates an infintie evas_image_entry leak.
SVN revision: 67755
2012-02-08 11:22:09 +00:00
Cedric BAIL 7055227957 evas: use evas_image_cache_drop instead of plain wrong call to free.
SVN revision: 67681
2012-02-01 17:28:30 +00:00
Gustavo Sverzut Barbieri 9a47bffc98 fix gcc warnings about set-but-unused and shadows of y1.
NOTE: did not touch mess that is jpeg, someone else can deal with it :-P



SVN revision: 67353
2012-01-19 16:49:47 +00:00
Sebastian Dransfeld 7f9dc64529 evas: correct notation to indicate unused variable
SVN revision: 67305
2012-01-18 23:34:05 +00:00
Sebastian Dransfeld c9abcf691d evas: Remove unused variables
SVN revision: 67302
2012-01-18 23:33:33 +00:00
Youness Alaoui 8c91b5b493 Evas: Do not build altivec feature if disabled in configure
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
2012-01-08 07:22:01 +00:00
Cedric BAIL b39ff33ff7 evas: disable dead code.
SVN revision: 66867
2012-01-04 11:46:39 +00:00
Cedric BAIL 1400dc9892 evas: forgotten inclusion of config.h.
SVN revision: 66866
2012-01-04 11:45:22 +00:00
Sanghee Park 550b8417c7 From: Sanghee Park <sh15.park@samsung.com>
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-12-23 11:50:29 +00:00
Cedric BAIL e94feaf21b evas: now that we use eina_lock, we don't need this #ifdef.
SVN revision: 66466
2011-12-22 16:54:44 +00:00
Carsten Haitzler 7e8ff5311b fix buggy sse3 solid color + text bak blend when dest alpha exists.
SVN revision: 66273
2011-12-16 07:47:07 +00:00
Cedric BAIL dfe1ef0fc6 evas: include stdlib.h as required.
SVN revision: 65962
2011-12-06 16:07:59 +00:00
Rafal Krypa 20896e3c14 From: Rafal Krypa <r.krypa@samsung.com>
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
2011-12-01 10:00:44 +00:00
Carsten Haitzler e6cf094c9d remove internal rect list declarations that are never used outside of
evas_tiler.c



SVN revision: 65145
2011-11-14 07:15:38 +00:00
Tom Hacohen 52ca712a14 Evas font: Fix clang errors.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-09/report-qpiPpZ.html#EndPath

SVN revision: 65019
2011-11-10 12:11:17 +00:00
Jiyoun Park 5d65b627a6 remove white space
SVN revision: 64979
2011-11-09 08:01:00 +00:00
Tom Hacohen 4b5e727023 Evas textblock: Fix clang error.
Shouldn't ever happen, but whatever.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-kOFp88.html#EndPath

SVN revision: 64977
2011-11-09 07:51:11 +00:00
Tom Hacohen 789b487da2 Evas textblock: Fixed 1 more clang error.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-XA8yiy.html#EndPath

SVN revision: 64976
2011-11-09 07:36:50 +00:00
Tom Hacohen 3fea444dce Evas font: Fixed a clang error and gcc compiler warnings.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-SsIayB.html#EndPath

SVN revision: 64975
2011-11-09 07:30:34 +00:00
Carsten Haitzler deb93c0d4a to make up for not using xft.dpi anymore that was a fix essentially
to buffer engine rendering, allow env var for evas font dpi.



SVN revision: 64970
2011-11-09 05:58:19 +00:00
Vincent Torri 3de60c77b4 Evas: fix use of __always_inline__ attribute
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
2011-11-05 16:51:13 +00:00
Vincent Torri e7d87f2539 Evas: efl_attributes.m4
NEVER define a macro whose name is the name of the attribute, it breaks compilation on some platforms


SVN revision: 64749
2011-11-04 22:08:54 +00:00
Tom Hacohen 962d8c85c8 Evas font: Removed double ;.
SVN revision: 64414
2011-10-26 14:33:51 +00:00
Carsten Haitzler 9e08e27995 and zero out previous rect info on clear.
SVN revision: 64289
2011-10-22 03:56:36 +00:00
Carsten Haitzler c52bc1cdb9 and fix tiler to do full resolution. yes - more mem, some more
overhead, but fewer bugs.



SVN revision: 64288
2011-10-22 03:36:39 +00:00
Tom Hacohen eca175dbe5 Evas font: Oops, hb_fonts should be per font instance, not source.
SVN revision: 64144
2011-10-18 09:58:49 +00:00
Tom Hacohen 4906d50afc Evas font: Cache Harfbuzz font structure for fonts we use.
SVN revision: 64136
2011-10-17 14:24:49 +00:00
Tom Hacohen 58602fb861 Revert "evas: Deal with harfbuzz API breakage"
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
2011-10-17 12:18:53 +00:00