Commit Graph

169 Commits

Author SHA1 Message Date
Carsten Haitzler 86a97efeea evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
this changes the internal encoding of font glyphs in evas to use 4bit
uncompressed if small, or 4bit rle (run length encoded) if larger.
this caves at least 50% of memory on fonts - and more if bigger. with
large fonts (40-80pixel size) we can save in the region of 80% of
memory used for glyphs. this also happesn to allow speedups in
rendering too.
2014-01-13 05:15:32 +09:00
Carsten Haitzler fc7fde97a2 evas - remove dead code (comment it out)
removes entirely dead code and keeps it for reference only
2014-01-10 18:48:42 +09:00
Carsten Haitzler f41bf26d7a evas - unbreak gl font rendering with dst pointer checks 2014-01-10 12:54:54 +09:00
Carsten Haitzler 03fccbd543 evas - sw render - protect against null pointer surface access 2014-01-10 12:47:27 +09:00
Carsten Haitzler 555df8f510 Revert "fix allocator sizeof operand mismatch reported by clang"
This reverts commit 955cc579d4.

why? wrong. no. and it breaks actual execution/functioning. segv land
2014-01-09 10:02:26 +09:00
Jihoon Kim 955cc579d4 fix allocator sizeof operand mismatch reported by clang
https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-07-1/report-QL6MiM.html#EndPath
https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-07-1/report-a2l0Ci.html#EndPath
https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build/2014-01-07-1/report-McvqNf.html#EndPath
2014-01-09 09:10:02 +09:00
Cedric BAIL a2d55c2b82 evas: fix build on windows. 2014-01-06 10:39:34 +09:00
Cedric Bail 8c094d1b2d evas: let's use HUGETLB when it makes sense. 2014-01-05 22:44:50 +09:00
Cedric BAIL 39a0ac4315 evas: disable use of mmap on windows for allocating pixels buffer.
We do have mmap provided by Evil, but there is no implementation yet of
an anonymous map support. Also it is not clear how the memory system of
windows does actually work, so not sure this optimization is relevant
to windows at all. Thus we disable it for the time being and unbreak
the windows support.

- cherry-pick me -
2014-01-03 17:53:51 +09:00
Carsten Haitzler 7753144fe9 evas - sw render - map render neon broken for expedite 45/46 disable 2014-01-01 12:56:18 +09:00
Nick Reed 1799ccfd9d evas - fix neon scale code
Summary: evas_scale_smooth would not compile with BUILD_NEON set

Reviewers: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D424
2014-01-01 11:22:40 +09:00
ChunEon Park f7aae1cf25 evas/common - removed white spaces and use eina bool instead of int. 2013-12-31 21:11:58 +09:00
ChunEon Park b4ea1aaa87 evas/common - refactoring code.
removed white spaces.
added some comments.
changed function and variable name to be more descriptive.
2013-12-31 18:32:30 +09:00
ChunEon Park 0d33d30acc evas/common - more elaborated compuatation in interpolation.
we should not +1 in divide but only do it when the quotient is zero.
2013-12-31 18:19:41 +09:00
ChunEon Park c37ad7dfea evas/common - removed white spaces 2013-12-31 13:29:57 +09:00
ChunEon Park 01c11211dc evas/common - fixed a comment typo. 2013-12-31 13:28:57 +09:00
Yury Usishchev 011fb2d10a Blending function rework and speedup
Summary:
_op_blend_mas_c_dp_neon rework:
main loop now process 4 pixels per iteration
fast path when *m == 0

Reviewers: raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D418
2013-12-29 13:29:28 +09:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Cedric BAIL 1a5b7d383d evas: fix compilation issue on Jenkins windows that make me wonder how it does build on Linux. 2013-12-20 16:09:10 +09:00
Yury Usishchev 8fb948bd46 evas: patched evas_map_image.c to use NEON code
Reviewers: cedric, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D397

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-20 15:10:09 +09:00
Carsten Haitzler ed27f52b05 evas - tiler - fix missing clip of first rect to outbuf size
stable release - cherry-pick me!
2013-12-18 20:38:15 +09:00
Carsten Haitzler 3a47fe5fa8 evas common - uninitialized use warning remove 2013-12-14 18:28:56 +09:00
Carsten Haitzler a99bc89331 evas - common - remove useless new as next call allocs if NULL 2013-12-13 21:26:05 +09:00
Carsten Haitzler 9c3682b746 evas - fix overdraw + too many rects problem found in some expedite tests
stable release - cherry-pick me!

there way a problem with software rendering - it rendered some areas
more than once per frame due to overlapping rectangles. it also had
more rectangles to cover the same update area that it should have had.
this fixes this.
2013-12-05 20:04:26 +09:00
Carsten Haitzler 48d3253b45 NEON vectorization: added use of COLSAME define in map routine
Reviewers: raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D341
2013-12-02 16:33:34 +09:00
Carsten Haitzler c12ac143c6 fix freetype header includes to be correct where ft 2.5.1 breaks builds
this should fix T591
2013-12-01 12:16:28 +09:00
Carsten Haitzler 38dd405712 evas - update extension/module loader list to match generic loaders list 2013-11-24 11:48:40 +09:00
Cedric Bail e551f88a09 evas: Let fix the mess in our header instead of sweeping it under the carpet.
This also does fix the build on Windows.

This reverts commit 86c08e6985.
2013-11-22 11:06:07 +09:00
Tom Hacohen 86c08e6985 Revert "evas: this headers order are seriously insane..."
Perhaps they are insane, but as the comments imply it defines
USE_HARFBUZZ which is needed afterwards. You just broke everything. I
know it's a mess there, but it's a mess that works. Your change doesn't.

This reverts commit d4b9e3b287.
2013-11-21 10:55:37 +00:00
Cedric Bail d4b9e3b287 evas: this headers order are seriously insane, hope that one fix the last breakage. 2013-11-21 18:26:29 +09:00
Cedric Bail 63c01cbb2a evas: reduce numbers of call to eet_init/eet_shutdown. 2013-11-21 10:50:48 +09:00
Carsten Haitzler deec62c9b6 evas - fix neon blend code used for text rendering to not leave dirty end 2013-11-15 19:17:01 +09:00
Carsten Haitzler 6c28aff7a0 evas - animated images. fix leak in not freeing the list of frames itself 2013-10-30 18:18:08 +09:00
Jean-Philippe Andre c8e6f9e5f9 evas/cserve2: Fix font reloading after cserve2 restart.
Well it LOOKS like it's working properly.
Clients can safely keep running after cserve2 crashed and
restarted.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 6b6e33e262 evas/cserve2: Fix refcount for glyphs & glyph buffers
Maybe a little overkill on the iterations (ref/unref),
but at least we can really track down which glyphs are
currently being used.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre e74cac57e4 evas/cserve2: Reconnect to cserve2 in case of server crash
Try to reconnect to cserve2 if the socket connection was lost.
Resend some messages if necessary.

Images reload seems to be working.
Actually, the images don't change over time, so the clients just
keep the previous references to their images.

FONT RELOAD IS NOT WORKING:
- Crashes
- Invalid glyph data
- Infinite loop in _glyph_map_remap_check()

Root cause:
When new glyphs are requested from the server, they are added to
the mempool. So it is necessary to remap the font.
Unfortunately, in case of server reboot, we did not keep the mempool
so the old glyphs that were not requested again will not be valid.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 9bb52372bd evas/cserve2: Fix animated Gifs support with cs2
cserve2 does not support animated Gifs, as the animated icon
logic doesn't match cserve2 logic.
Also, there is probably no need to cache these into shared
buffers anyways :)

Solution: fallback to normal cache (and delete current entry in
the client)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 1e82480c9a evas/cserve2: Use scalecache with cserve2
Let's reuse the logic from scalecache and call cserve2
functions when the scalecache should be used.
So, now, cserve2 server will not scale any image... This is
too computationally intensive for the server's main thread.

This is not optimal but makes a hell of a lot more sense for
the moment. (since cserve2 manages the SHM segments)
2013-10-28 15:47:15 +09:00
Carsten Haitzler c4a45c75b1 evas gl engine related - fix elm image example 01 (T182).
this fixes https://phab.enlightenment.org/T182 as it is an issue with a
surface alloc overwriting an already allocated surface entirely inside
the general software image infra.
2013-10-26 21:09:17 +09:00
Cedric BAIL 15b9a640ac evas: fix CID 1102547 - Resource leak
If all rectangle are clipped out, it is perfectly possible to return
no rectangle, this would lead to a possible leak.
2013-10-14 13:37:50 +02:00
Jean Guyomarc'h dd2f6b1370 evas: fix build for Mac OS X.
Reviewers: cedric, michael.bouchaud

CC: cedric

Differential Revision: https://phab.enlightenment.org/D242

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-10-14 12:10:19 +09:00
Cedric Bail 6dcffec491 evas: Use Eina_Spinlock for Evas_Scalecache, Evas_Async_Events and Image_Entry. 2013-10-11 11:08:17 +09:00
Tom Hacohen fca131d6fa Evas font: Added functions to query the underline properties.
This will let us query the position and thickness as requested by the font.
2013-10-02 11:46:25 +01:00
Carsten Haitzler 6a2aafeac3 evas - more deadlocks found. fixed. 2013-10-02 17:06:26 +09:00
Carsten Haitzler 48a3f299b0 evas - fix deadlock in preload that we seemm to never have hit before... 2013-10-02 16:32:33 +09:00
Carsten Haitzler 32514b7271 evas - clean up tiler code a lot and remove old commented out stuff 2013-10-01 20:57:39 +09:00
Vincent Torri 3b8b2ac66c evas: add JPEG 2000 loader.
This add finally support for JPEG 2000, but be aware that libopenjpeg
is very badly managed. There is currently only version 1.5.x that does
provide the right files, is usable by a third party and portable. You
can seriously forget any other version.
2013-10-01 16:38:44 +09:00
Cedric BAIL 5f630e8653 evas: let's inline data to get a little speedup when matching kerning. 2013-09-29 13:43:46 +02:00
Tom Hacohen 933998b93d Evas image: Moved a variable decl into the ifdef.
This variable is only ever used in the ifdef so there it should
reside.
2013-09-26 16:57:37 +01:00
Ulisses Furquim 063f076aed evas/async_render: remove block/unblock of render thread.
This reverts commit 42a46214c4.
2013-09-02 20:01:37 -03:00