Commit Graph

583 Commits

Author SHA1 Message Date
Stefan Schmidt 9434c0992c evas/evas_op_add_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267478, 1267480, 1267482, 1267486
2015-06-09 10:38:40 +02:00
Stefan Schmidt 0da6dbb159 evas/evas_op_mul_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267468, 1267471
2015-06-09 10:38:40 +02:00
Stefan Schmidt 9df111d766 evas/evas_op_mask_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267481, 1267485
2015-06-09 10:38:40 +02:00
Stefan Schmidt 64a60f32a9 evas/evas_op_copy_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267483, 1267484, 1267487, 1267488
2015-06-09 10:38:40 +02:00
Stefan Schmidt c4dd19c2df evas/evas_op_blend_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267469, 1267470, 1267473, 1267474
2015-06-09 10:38:40 +02:00
Stefan Schmidt 85e5e9da5b evas/evas_op_sub_main: Remove superfluous if branch.
We do the same in both branches: return func.

CID: 1267476, 1267477, 1267479, 1267489
2015-06-09 10:38:40 +02:00
Carsten Haitzler cc49c1702b evas - fix yuv support to no longer ignore 709 colorspace params
if yuou use 709 instead of 601 yuv (ycbcr) evas will just be wrong and
use 601. this fixes that and implements 709. it also fixes a scaling
bug for yuv in the gl engine. no one noticed but me, so i won't call
this a bug fix, and it can go into the next efl release - no need to
backport unless it actually bothers peolpe (which it seemingly doesn't)
2015-05-27 20:19:46 +09:00
Carsten Haitzler bd1d996545 evas font draw - fix up some whitespace/indenting/formatting 2015-05-18 17:13:38 +09:00
Yury Usishchev 835c393d17 evas: add support for BUILD_NEON_INTRINSICS to evas_convert_rgb_32.c
Summary: This fixes build for aarch64 when TILE_ROTATE is disabled and BUILD_NEON is enabled(it is enabled by default for aarch64 since https://phab.enlightenment.org/D2309).

Reviewers: cedric, raster

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-13 16:20:22 +02:00
Cedric BAIL 45bba2439d evas: do not cast uint64x1_t to int in evas_common_convert_argb_premul
Summary:
In GCC 5.1 arm_neon header for aarch64 was changed. It is not possible anymore to silently cast uint64x1_t to int.

So replace cast with proper getter function to avoid following error:
lib/evas/common/evas_convert_color.c:50:18: error: incompatible types when assigning to type 'DATA32 {aka unsigned int}' from type 'uint64x1_t'
nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp)));

Reviewers: raster, cedric, devilhorns

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:12 +02:00
Cedric BAIL ad1076525a evas: implement _op_blend_rel_mas_c_dp_neon using NEON intrinsics
Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 2c2983aadb evas: implement _op_blend_rel_{p,pan}_dp_neon using NEON intrinsics
Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 10ece61dbf evas: implement _op_blend_rel_c_dp_neon using NEON intrinsics
Summary: NEON intrinsics can be built both for armv7 and armv8.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL d364cbdadd evas: implement _op_blend_rel_p_c_dp_neon using NEON intrinsics
Summary:
NEON intrinsics can be built both for armv7 and armv8.

There were no NEON variant for this function, so it was added with all copies to init function.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 76a5efe13a evas: implement pixel_color blending functions using NEON intrinsics.
Summary:
NEON intrinsics can be built both for armv7 and armv8.
Implemented functions:
_op_blend_pan_c_dp_neon
_op_blend_p_can_dp_neon
_op_blend_pan_can_dp_neon
_op_blend_p_caa_dp_neon
_op_blend_pan_caa_dp_neon

Reviewers: raster, cedric

Subscribers: cedric

Projects: #efl

Maniphest Tasks: T2341

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:11 +02:00
Cedric BAIL 657d495aa9 evas: implement _op_blend_p_mas_dp_neon and _op_blend_pas_mas_dp_neon in NEON intrinsics.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Cedric BAIL 8fa4d415e4 evas: improve _op_blend_p_dp_neon intrinsics implementation
Summary:
Use vceqq and vbsl instead of twice as much vmovl and vadd instructions.
Replace vaddq_u8 with vaddq_u32.
This allows NEON code to behave exactly like C version.

Reviewers: raster, cedric

Reviewed By: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Yury Usishchev 970afe9bea evas: implement _op_blend_mas_can_dp_neon in NEON intrinsics.
Reviewers: raster, cedric

Reviewed By: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Yury Usishchev be7c7c2c77 evas: implement _op_blend_p_c_dp_neon in NEON intrinsics.
Reviewers: cedric, raster

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:09 +02:00
Yury Usishchev a0d0c98839 evas: improve _op_blend_mas_c_dp_neon intrinsics implementation.
Summary:
Use vceqq and vbsl instead of twice as much vmovl and vadd instructions.
Replace vaddq_u8 with vaddq_u32.
This allows NEON code to behave exactly like C version.

Reviewers: cedric, raster

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:08 +02:00
Yury Usishchev d2c5730b81 evas: implement _op_blend_mas_c_dp_neon in NEON intrinsics.
Reviewers: raster

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D2312
2015-05-07 09:53:08 +02:00
Yury Usishchev 9caa6a3597 evas: implement _op_blend_p_dp_neon and _op_blend_pas_dp_neon in NEON intrinsics.
Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D2311
2015-05-07 09:53:08 +02:00
Yury Usishchev a30481d27b evas: implement _op_blend_c_dp_neon in NEON intrinsics.
Reviewers: raster, cedric

@feature

Reviewed By: cedric

Subscribers: jpeg, cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:08 +02:00
Yury Usishchev 71eec44ccc evas: enable NEON-optimized code for aarch64.
Summary:
Add new define, BUILD_NEON_INTRINSICS to control whether NEON inline code or
NEON intrinsics should be built.

GCC NEON intrinsics can be built both for armv7 and armv8. However NEON inline
code can be built only for armv7.

@feature

Reviewers: raster, stefan_schmidt, cedric

Subscribers: cedric, stefan_schmidt

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-07 09:53:08 +02:00
Tom Hacohen 450ff212e2 Evas text utils: move the non-ot function into the current ifdef.
This function should only be build when OT is off. Move
it to the #else part of the ifdef.
2015-04-22 13:11:58 +01:00
Jean-Philippe Andre 02d94f5e5e Evas tiler: Remove unused functions (clang)
rect_list_add_split_strict is still kept for reference in
eina_tiler.c
2015-04-21 20:46:04 +09:00
Jean-Philippe Andre de567368f8 Evas: Fix clang warning (actually use function)
Those helper functions are barely ever used...
2015-04-21 20:16:21 +09:00
Cedric BAIL 3b46609140 evas: _op_blend_p_dp_neon and _op_blend_pas_dp_neon miscalculation fix
Summary:
When processing random data result of this function differs from C variant in more than 50% cases.
This difference is due to alpha calculation, in C code :

alpha = 256 - (*s >> 24)

in NEON:

"vmvn.u8 q4,q0 \n\t"
// ie ~(*s>>24) === 255 - (*s>>24)

We cant just add "1" as overflow will occur in case (*s>>24) == 0 (we use only 8 bit per channel in vector registers)
So here is the solution:
copy *d right before multiplication and add it to the result of it later.

Same approach as in D455.

Reviewers: raster, cedric, stefan_schmidt

Reviewed By: cedric

Subscribers: cedric

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-10 12:05:05 +02:00
Jean-Philippe Andre 3fd7f199da Evas: Fix use of uninitialized values
Not a meaningful issue, but let's make Coverity happy.
Fixes:
 - CID 1293522
 - CID 1293521
2015-04-10 11:34:50 +09:00
Jean-Philippe Andre 464e6ca987 Evas masking: Avoid potential crashes (SW)
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-04-08 18:17:34 +09:00
ChunEon Park 1e33454772 evas common: make logic same to c code version.
As C version,
It increase alpha value by 1 to avoid loosing of the remains while it divides
values. Neon version does same technique to make same results.
2015-04-07 23:06:43 +09:00
ChunEon Park 51d60e649c evas common: NEON version of evas_common_convert_argb_premul.
This patch reduces power consumption by around 18mA in certain scenarios
(music player list scroll, my files sound list scroll), making
evas_common_convert_argb_premul() ~60% faster (6.2msec->2.6msec).

Take music-player application, make 100 copies of the standard
Over the Horizon” song, scroll up and down to see those
downscaled-from-720x720 thumbnails enter and leave the screen.
Every time a list item enters the screen, the image is re-read
(as evas image cache is not large enough to store more than two
pictures of that size), and one call of _common_convert_argb_premul()
occurs, taking ~6.2msec (which is not much compared to ~60msec
spent in libpng->libz (the biggest bottleneck here),
but still noticeable).

A similar power consumption improvement is observed during
scrolling sounds list of the same files in My Files application
(just with idle level ~100mA lower).

We also checked the new code to be correct on random input data.

all tests are performed based on tizen device.

Signed-Off-By: Artem Dergachev <dergachev.a@samsung.com>
2015-04-07 23:05:40 +09:00
ChunEon Park 7a6eb2ea42 evas/common: improve evas_common_convert_argb_unpremul() computation.
prev logic increased the alpha channel by 1 so the unpremul resulted in the color got too diff from the origin.

We can't avoid losing the rest values while dividing values in premul/unpremul()
but this will recover the value better closed to origin value.
2015-04-06 22:02:49 +09:00
Cedric BAIL c2e75544e1 efl: move mmap API to be part of Efl_File class. 2015-04-03 16:23:13 +02:00
ChunEon Park 2b0fb1ea1d evas/common Fixed incorrect blend pixel color logic in neon.
previously, it had the remaining value issues on blending computation.
The blending color result was in correct.

Signed-Off-By: Vladimir Kuramshin <v.kuramshin@samsung.com>
2015-04-03 19:48:30 +09:00
Carsten Haitzler 377e94263b evas - font - new color bitmap support - rename funcs to match file 2015-03-20 10:49:49 +09:00
Youngbok Shin e197f8804f evas: Support bitmap embedded color font.
Summary:
Add the code for getting bitmap buffers from embedded color font,
And draw the bitmap buffers as images.
For drawing the bitmap buffers as images,
evas_common_draw_context_font_ext_set internal API is changed to
pass additional gl engine functions.
T2139
@feature

Test Plan:
1. Set a bitmap embedded color font to textblock.
2. Set a unicode emoticon text.
3. See the result.

Please check the sample unicode in the following link.
http://www.fileformat.info/info/unicode/char/1f3af/index.htm
http://www.fileformat.info/info/unicode/char/1f555/index.htm
http://www.fileformat.info/info/unicode/char/2600/index.htm
http://www.fileformat.info/info/unicode/char/263a/index.htm

Reviewers: tasn, woohyun, jpeg, raster

Reviewed By: raster

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D2084
2015-03-19 19:02:03 +09:00
Carsten Haitzler 6d5b2b32a0 evas scale sample - fix useage of eina thread queue
pass in ref not &ref (other uses were fine - this single one broken)
2015-02-27 10:35:01 +09:00
Cedric BAIL 1af679dbd5 Revert "Revert "evas: refcounting initialisation and protect things.""
This reverts commit 789633b321.

Now this should be useful since we have refactored the shutdown logic of all engine.
2015-02-23 11:36:03 +01:00
Cedric BAIL 93333ede15 evas: refactor shutdown. 2015-02-23 11:35:29 +01:00
Cedric BAIL 789633b321 Revert "evas: refcounting initialisation and protect things."
This reverts commit 216397bea6.

We do have some engine that are doing partial shutdown outside of the protected
function, leading to a crash.
2015-02-20 17:39:27 +01:00
Cedric BAIL 6bb4ecd65d evas: use two thread when scaling image.
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-20 17:11:44 +01:00
Cedric BAIL 216397bea6 evas: refcounting initialisation and protect things. 2015-02-20 15:10:12 +01:00
Cedric BAIL 552a38cde5 evas: refactor software engine initialisation. 2015-02-20 15:04:52 +01:00
Jean-Philippe Andre 888fc6e93f Evas masking: Fix potential issues with map & masking
These bugs have not been observed but the code logic did not
make sense.

@fix
2015-02-10 11:39:24 +09:00
Jean-Philippe Andre c394479afe Evas masking: Fix some garbage pixels with the SW engine
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-02-10 11:39:24 +09:00
Daniel Zaoui 87d523478b warning-- 2015-01-21 20:42:58 +02:00
Carsten Haitzler d5c3ad97e5 evas map aa - match previous fix.
this matches 83eb1aa3c2 fix in the other
map render func
2015-01-07 21:04:58 +09:00
Jean-Philippe Andre 267b8a5ead Evas map: Fix AA with opaque images
Well... actually this is not exactly a fix.
It just restores the previous behaviour, and allows AA to
work. As in, it won't draw ugly black lines but properly
blend to transparent.

But there is still a problem:

The image map render function changes the alpha flag on the source
image if AA is enabled or if the map has an alpha color. This is
actually wrong as images forcefully set to not have any alpha
(with evas_object_image_alpha_set(0)) will then not be opaque
anymore.

Right now I can't think of a solution (also I don't quite follow
the entire pipeline in evas map...). Changing the flag will
make some opaque areas transparent. Not changing the flag will
produce ugly artifacts where AA blending should happen. Fix one
bug and the other appears, and vice versa.

This can be tested with the example evas-map-aa and adding an
alpha channel to cube1.png (with gimp for instance) but manually
setting alpha to 0 in the code. Weird stuff will happen (try
playing with the map and pressing I to switch to/from image mode).
2015-01-07 20:21:16 +09:00
Jean-Philippe Andre 37f3d00a5c Evas map: Kill build warnings and don't set image flag
Don't change a source image alpha flag at render time.
It doesn't make sense at this point.

Also remove unused int pa.
2015-01-07 17:50:33 +09:00
Carsten Haitzler 83eb1aa3c2 evas map - new aa map has extra overflow with line list - fix it.
this fixes a feature added in this version of efl. as above.
2015-01-07 17:23:24 +09:00
Jean-Philippe Andre b601d89f45 Evas masking: Fix a potential issue with pixman
Untested. Just skip pixman path when there's a mask.
2015-01-07 16:48:39 +09:00
Jean-Philippe Andre 592068108b Evas masking: Fix another set of rendering artifacts 2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 4bff14676e Evas masking: Fix mask blend functions (SW engine)
The selected op func was not performing the correct operation,
thus producing rendering artifacts. These functions should not
be used anywhere except in case of masking... which was not an
available option earlier.

It was doing (wrong):
dst = interp(mask, src, dst)

Instead of (correct):
dst = dst + (1 - mask) * src

NOTE:
This commit also disables MMX, SSE3 & NEON implementations of
pixel_mask blend operations, since they are also broken.
2015-01-07 15:06:03 +09:00
Jaeun Choi 62f3170874 Evas masking: Implement support for map draw (SW) 2015-01-07 15:06:02 +09:00
Jaeun Choi 4eb3a58edd Evas masking: Implement support for polygon draw (SW) 2015-01-07 15:06:02 +09:00
Jaeun Choi 6747fadd9a Evas masking: Implement support for line draw (SW)
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-01-07 15:06:02 +09:00
Jaeun Choi 9af60b1b04 Evas masking: Use alpha mask in SW engine draw functions
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 <jp.andre@samsung.com>
2015-01-07 15:06:02 +09:00
Jean-Philippe Andre a90876c337 Evas fonts: Fix minor deviation in RLE font render
So I've discovered some weird output values after drawing
some text. The destination alpha would become 0xFE even
when the back buffer had a background with 0xFF alpha.

Example:
Dest is 0xff00ff00 (green).
Color is 0xffffffff (white).
Current font alpha is 170 (0xaa).
--> Output was 0xFEaaFEaa instead of 0xFFaaFFaa.

This is because of some slightly invalid calculation
when doing the font masking (mtab[v] = 0x55 above).

Indeed, MUL_256 takes alpha values in the range [1-256]
and not [0-256] as was assumed.
2015-01-06 19:41:10 +09:00
Bogdan Devichev ce36f8f5ad evas: better example of _mmap_set and resources for it are added. 2014-12-23 21:20:21 +01:00
Bogdan Devichev dd60525798 evas: a _mmap version of the file_set is added. 2014-12-23 21:20:21 +01:00
Bogdan Devichev 61aab62be0 evas: entry points to modules is Eina_File. Model_Common_Loader is deleted. 2014-12-23 21:20:20 +01:00
Bogdan Devichev 17baa3fa6f evas: entry points to modules is new struct with Eina_file, not const char *file. 2014-12-23 21:20:20 +01:00
Bogdan Devichev aaddf1a963 evas: Evas_3D_Mesh_File_Type sank into oblivion. Changing entry point to model_save_load. Changing API in examples. 2014-12-23 21:16:07 +01:00
Bogdan Devichev 02c85b9fe8 evas: add lib/evas/common/evas_model_<action>.c. Functions are renamed similar to functions in image_save_load process. 2014-12-23 21:14:52 +01:00
ChunEon Park 74ff95c349 evas/map: fix aa regression bug. 2014-12-19 21:52:06 +09:00
Carsten Haitzler afb7315722 Use NEON intrinsics for mapping instead of inline asm
Summary: Rewrite linline assembly in mapping func using NEON intrinsics.

Reviewers: raster

Differential Revision: https://phab.enlightenment.org/D1740
2014-12-17 15:28:50 +09:00
Jean-Philippe Andre 624787c42a Evas font: Improve RLE rounding alpha8 to alpha44
This should ensure that the difference between the original
pixel value and the rle4 encoded one is <= 8.

The previous fix was a bit stupid as it was not taking into
account the conversion a4 to a8 (which is a8 = (a4 << 4) | a4).
2014-12-09 11:02:01 +09:00
Jean-Philippe Andre 52d117c905 Evas font: Compress font algo should round instead of floor
This is an attempt at having higher quality font rendering
while still using RLE-based font compression.
2014-12-08 18:02:44 +09:00
Carsten Haitzler ac7d7c9cbe Use intrinsics for scaling up instead of inline asm
Summary: Rewrite linline assembly in scaling func using NEON intrinsics.

Reviewers: raster

Differential Revision: https://phab.enlightenment.org/D1666
2014-11-29 15:50:03 +09:00
ChunEon Park b7d5700312 evas/map: correct last 1 pixel handling in spans.
Clipper causes the different rendering result by last 1 pixel on the width.
Because the left edge x range (0 ~ (w - 1)) and right edge x range (0  ~ w) is different.
This fix won't be memory over access problem even if x span position is on the end of the edge.
Because the span width(x2 - x1) will be 0, and it restuls in skipping drawing.
It's hardly find the problem but you can detect the subtle rendering difference when some arbitrary meshes with map is
You can compare image and rectangle map drawing for this.

@fix
2014-11-26 17:39:27 +09:00
ChunEon Park 795f9d6ce3 evas/map: revise draw code.
reverted draw logic and applying aa drawing better safely.
2014-11-26 16:00:59 +09:00
ChunEon Park e3b7d3daed evas/map: removed unnecessary. 2014-11-26 15:17:51 +09:00
ChunEon Park a3b3e1ecad evas/map: support aa in basic c computation. 2014-11-26 15:12:25 +09:00
ChunEon Park 215b52ecc1 evas/map : set antialias context for map rendering. 2014-11-26 12:22:55 +09:00
ChunEon Park d3d306ec5c evas/map: add comments for readability. 2014-11-26 12:07:10 +09:00
ChunEon Park cc115ec786 evas/map: code refactoring.
use array for easier indexing in the coming anti-alias logic code.
2014-11-25 21:35:33 +09:00
Jean-Philippe Andre bbe9425237 Evas: Remove irrelevant comment and disabled code 2014-11-19 17:10:37 +09:00
Jean-Philippe Andre 05aee3e370 Evas: Don't pass whole RGBA_Image to low-level render functions
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-13 12:20:57 +09:00
Jaeun Choi 237fdd3db8 Evas: Improved code consistency
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-11-12 17:26:27 +09:00
Jaeun Choi 11001b3c33 Evas: Fixed indentation
This is a purely cosmetic change.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-11-12 17:16:16 +09:00
Jean-Philippe Andre e21a40de9d Evas: Fix COPY op for mask+color
Also, mark some functions with a FIXME as they look just wrong.
COPY_REL is never used...

MMX and NEON optimizations should be implemented for COPY MASK+COL.
2014-11-12 17:02:26 +09:00
Jean-Philippe Andre 85ecf662d4 Evas: Fix SW rendering COPY function with mask
This does not fix any known bug as there is no known path using this
function.
2014-11-12 17:02:20 +09:00
Jean-Philippe Andre 56e6141013 Evas convert: Remove dead code
Woah coverity...
Fixes CID 1039448
2014-10-28 10:54:51 +09:00
Cedric BAIL 2e1ff6550e evas: let's handle dds also during tests properly. 2014-10-21 23:42:03 +02:00
Mike Blumenkrantz 5375e154fe fix config.h inclusion across the tree 2014-09-23 15:56:46 -04:00
Philippe Coval 8f40c291ca evas: fix build on armv7l.
Summary:
Without compilation will fail on :

  error: unknown type name 'pix_type'
  error: expected identifier or '(' before 'else'

Applies to efl-1.11.0 and later

Bug: https://phab.enlightenment.org/T1620
Bug-Tizen: PTREL-737/part
Change-Id: Idbcb442803ed6559698b2a371d1d6c584ec053e0
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>

Test Plan:
  gbs build -P "profile.tizen_common_armv7l" --arch armv7l --include-all

@fix

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-03 18:24:05 +02:00
Carsten Haitzler 33d39beac6 evas conversion - fix bad rotation handling
coveriity found bad copy & paste in conversion code - 270 rot twice.
fixes CID 1039448
2014-08-27 14:24:08 +09:00
Carsten Haitzler 372b2a256f evas - dither | convert - fix dead code
dead code as paln one checked twice in a row - the grey 16 check was
wrong so move to end and check against greay16 pal type

fix CID 1039449
2014-08-27 14:21:23 +09:00
Carsten Haitzler bb7a7151ec evas - remove logicallly dead code
fixes CID 1039450
2014-08-27 14:16:50 +09:00
Carsten Haitzler 6dfb9b292f evas - remove logicallly dead code
fixes CID 1039451
2014-08-27 14:14:47 +09:00
Carsten Haitzler 6038318851 evas font draw - fix possible custout rect leak found by coverity
fixes CID 1039477
2014-08-25 13:18:51 +09:00
Carsten Haitzler ddac73a5fc evas - scalecache cutouts - fix possible leak coverity found
fixes CID 1039923
2014-08-25 12:49:22 +09:00
Carsten Haitzler 8389e3e6a9 evas - rectangle custouts - fix possible leak coverity found
this fixes CID 1039924
2014-08-25 12:42:56 +09:00
Carsten Haitzler c654b3ef2c evas loaders - fix logically dead code
fix CID 1039447
2014-08-22 20:14:59 +09:00
Carsten Haitzler da45b6ad57 evas sw core - scaler - remove logically dead code
fix CID 1039445 1039446
2014-08-22 20:14:59 +09:00
Carsten Haitzler 2bfc9190d9 Revert "evas scalecache - fix thread deadlock posssibility"
This reverts commit 24a1c444b0.
2014-08-19 08:02:36 +09:00
Carsten Haitzler 029c6847d7 evas render i386 - comment out structurally dead code
this code has bugs, so comment it out rather than just have a return
get rid of it - CID 1039499
2014-08-14 20:17:16 +09:00
Carsten Haitzler d399921724 fix structurally dead code
this cleans up fixing of unused param warnings - fix

CID 1039524 1039504 1039523 1039503 1039522 1039502 1039521 1039501
1039540 1039520 1039539 1039519 1039538 1039537 1039517 1039536
1039516 1039535 1039515 1039534 1039514 1039533 1039513 1039532
1039512 1039531 1039511 1039530 1039510 1039529 1039509 1039528
1039508 1039527 1039507 1039526 1039506 1039525 1039505
2014-08-14 20:17:16 +09:00
Carsten Haitzler 24a1c444b0 evas scalecache - fix thread deadlock posssibility
there is a re-ordering of how locks are taken and this should cover
that deadlock possibility. fixes CID 1106338
2014-08-14 18:10:11 +09:00
Tom Hacohen 5d021658ad Evas bidi: Make code more explicit (silence coverity).
CID1039922.
2014-08-12 10:05:52 +01:00
ChunEon Park fdf71e9a66 evas/map: correct the interpolation in the span calculation.
As far as i tested, this quality will be better in map transformation,
especially in case of the object rotation on z-axis.
2014-08-05 16:40:23 +09:00
Jean-Philippe Andre 48bcf182b4 Evas gl: Add support for ETC1+Alpha textures
Compile-in the required shaders, add support for the
new EVAS_COLORSPACE_ETC1_ALPHA, and upload textures as RGB+A
pairs.

@feature
2014-07-09 09:04:55 +09:00
Wonguk Jeong 1cc23d4ff2 evas: jpeg loader - support flip, transpose, transverse
Summary:
Previously, jpeg image loader support rotation (90°, 180°, 270°) only.
this patch is about supporting flip(vertical, horizontal), transpose, transverse

@feature

Test Plan: I'm going to make tests in src/tests

Reviewers: cedric, raster, jpeg

CC: seoz, cedric

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

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 20:12:31 +02:00
Jean-Philippe Andre b0df307927 Evas gl: Add support for S3TC textures
Add support for DXT1, DXT3 and DXT5 textures (4 formats in total).

@feature Add support for S3TC textures if the GPU supports them
2014-07-03 15:36:22 +09:00
Jean-Philippe Andre a2de0a0bc9 Evas: Support duplicated borders in surface alloc
Now, the evas loader is supposed to advertise the actual border
size in case of compressed texture formats.

The only case where the border was non zero was ETC formats,
from the TGV loader, so I think we don't need to keep the
previous behaviour (auto-calculate borders for ETC).
2014-07-03 11:37:48 +09:00
Carsten Haitzler 12dc40fa3b formatting - convert tabs to whitespace 2014-07-01 19:57:04 +09:00
Carsten Haitzler ac63e3f8b5 whitespace - fixup trailing whitespace 2014-06-17 15:31:57 +09:00
Jean-Philippe Andre d0d9dbfdba Evas: Add encoding parameter to the savers
ecore_evas_convert: Add -e/--encoding option

This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).

@feature
2014-06-13 16:05:48 +09:00
Tom Hacohen 3b70b4f28f Evas textblock: Fix crash when cutting ligatures with formats.
"f<color=#f00>i</color>f" could cause textblock to crash. It doesn't
crash anymore. It doesn't render the colours correctly either, but at
least this is the first step.

This is the start of fixing T1308

@bugfix
2014-06-04 10:14:24 +01:00
ChunEon Park 0650797825 evas/blend: oops, missed a variable declaration.
build error by this commit.

aede29e2d4
2014-05-31 14:43:48 +09:00
ChunEon Park aede29e2d4 evas/blend - disable neon code.
Current neon code is a little buggy, the blend won't be done correctly.
so leave the c code depends on the compiler optimization.
2014-05-31 14:33:55 +09:00
Jean-Philippe Andre f4a0c8054f Win64: Fix a bunch of warnings
Fix invalid casts.
Use printf("%z") where appropriate.
Fix unused variables warnings.

Thanks vtorri for the patch.

@fix
2014-05-29 20:02:16 +09:00
Jean-Philippe Andre f62b612797 Evas: Remove invalid cast and fix warning/bug on windows
On Windows, long is 32 even on Win64.
Thanks Vincent for spotting this.

@fix
2014-05-29 17:31:16 +09:00
Jaehyun Cho 9952699820 evas_draw_main: Remove unnecessary conditional expression
Summary: The comparison dc with NULL is not necessary. So remove the unnecessary conditional expression.

Reviewers: Hermet

Reviewed By: Hermet

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D908
2014-05-28 11:24:56 +09:00
Jean-Philippe Andre 86ce491a86 Evas gl_x11: Add ETC2 support to the GL/X11 engine
This should allow texture upload with ETC2 RGB8 or RGBA8 formats.
Untested for now...

@feature
2014-04-25 16:50:29 +09:00
Matvey Konovalov 9fb3aa6549 evas - improve speed of unpremul with redundant pixel data 2014-04-15 19:22:58 +09:00
Jean-Philippe Andre 54fb9b2346 Evas: Use Evas_Colorspace to declare cspace
Why use int when we have a proper type?
All these APIs are internal.
2014-04-15 18:50:37 +09:00
Jean-Philippe Andre 77d0d69c3e Evas: Add support for AGRY88 in image creation functions
- evas_common_rgba_image_from_data
- evas_common_rgba_image_colorspace_set
- evas_common_image_colorspace_normalize
2014-04-04 10:08:08 +09:00
Jean-Philippe Andre 5a1ef2155d Evas: Add support for AGRY88 in evas_common_rgba_image_from_copied_data
This should fix a potential abort().
2014-04-04 10:08:08 +09:00
Cedric BAIL b517ed81d5 evas: always allocate an image.data pixels buffers even YUV content.
fix T1146.
2014-04-02 16:41:41 +09:00
Cedric BAIL eb7071078a evas: handle premultiplying of AGRY88. 2014-04-01 22:00:15 +09:00
Cedric BAIL 516ee8c99e evas: don't forget that we can allocate AGRY8 now. 2014-04-01 22:00:15 +09:00
Cedric BAIL cbf81fddd1 evas: handle allocation of ETC1 color space image surface. 2014-04-01 22:00:15 +09:00
Cedric BAIL 3699ec6883 evas: remove RGBA_IMAGE_ALPHA_ONLY flags and use EVAS_COLORSPACE_GRY8 instead. 2014-04-01 22:00:15 +09:00
Cedric BAIL 05239d8dd2 evas: let loader specify there prefered color space. 2014-04-01 22:00:14 +09:00
Cedric BAIL 0609779f17 evas: add TGV saver module. 2014-04-01 22:00:13 +09:00
Cedric BAIL 961ecab040 evas: add a tgv loader.
The TGV file format is specifically created for Evas. It is designed to allow
region decompression and parallele decompression with a fast path for GPU that
do handle ETC1 compression. Plan for adding other compression method will come
later.
2014-04-01 22:00:13 +09:00
ChunEon Park 4de2059d41 evas/common - initialize only the available blend stuff that cpu is supporting. 2014-03-22 17:25:59 +09:00
Alex-P. Natsios fa2b1b3d30 evas: improve portability for BSD system.
configure: fix prerequisite header issue

Summary:
in some platforms like openBSD <sys/socket.h> must be included before
net/if.h

the canonical way to ensure that with autotools is by providing that
fourth directive.

evas: use MAP_ANON instead of MAP_ANONYMOUS

Stupid unpredictable standards (or not so standard).
MAP_ANON exists and is defined almost anywhere unlike MAP_ANONYMOUS

Let's use that for portability's sake (they are practically identical
anyway)

Reviewers: raster, cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-03-15 19:58:08 +09:00
Cedric BAIL d3bc06ae33 evas: simplify path logic and make backend code more robust.
Fix CID 1039665.
2014-03-13 10:57:38 +09:00
Boris Faure e8c0e71f89 evas: @fix use the correct composite op on lines with pixman 2014-03-11 22:34:35 +01:00
Tom Hacohen d175b8aa69 Evas textblock: Fix clipping issues with some texts with width > advance.
This happens with many texts. The issue occurs when the width of the
last char is larger than it's advance. Before this patch, we didn't the
width into account when calculating width, thus causing clipping issues
in some cases.
2014-03-10 14:58:18 +00:00
Tom Hacohen 4b758f71c1 Evas map: fixed shadow warnings.
evas_map_image_loop is included from within code, so local variables
should not shadow other local variables. I just gave them a more
unique name.
2014-03-10 09:25:21 +00:00
Jean-Philippe Andre 182eaad43d Evas: Reduce verbosity of alpha functions
And remove commented-out code.
2014-03-07 11:07:15 +09:00
Gustavo Sverzut Barbieri e4c5d75993 evas: @fix convert to 24bits so dst_jump is used properly.
in all other convert functions, dst_jump is provided in pixesl and
multiplied by the number of bytes-per-pixel either explicitly or
implicitly by using a different type for dst pointer (DATA16,
DATA32...).

As in 24 bits we use DATA8 we must explicitly multiply dst_jump by 3.
2014-03-06 11:19:12 -03:00
Jean-Philippe Andre ac8140ccd1 Evas filters: Rename RGBA_Image::mask.data into image.data8
The structure should not be changed, despite the union modification.

I am renaming for consistency with older branches that had a mask
field in RGBA_Image. Also, the mask.data or data8 is really just
a way to avoid casting between DATA8 and DATA32 (and it shows
clearly what kind of data you are dealing with).
2014-03-04 12:10:29 +09:00
Snacker (Vladimir) 8e17290f19 @feature - Apply NEON intrisics improvement to rotation 2014-02-28 07:04:52 +09:00
Tom Hacohen 27b1bebea5 Evas text utils: Fixed walking compound clusters.
In some scripts, like Devanagari, clusters can be split across more
than just one glyph. This is now fixed.

Thanks to YoungBok Shin for reporting.
2014-02-19 12:08:56 +00:00
Daniel Kolesa 136cf346e9 evas/common: fix segfaults in evas_map_image_loop.c 2014-02-14 16:30:51 +00:00
Albin Tonnerre 64e153ea7f cleanup - Remove the extra copy of the code and use a define instead
_op_blend_pan_mas_dp is just a duplication of the code in
_op_blend_pas_mas_dp. Remove the extra copy of the code and use a define
instead; this is what the SSE3 code already does.
2014-02-09 19:44:49 +09:00
ChunEon Park f2d554ee4c evas/common - add comments for maintainance 2014-02-09 10:14:05 +09:00
ChunEon Park 180a0aaeaf evas/common - code cleanup
removed white trailing
modified for better readibility.
2014-02-09 10:13:02 +09:00
Albin Tonnerre 259f33679c evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
Summary:
There's nothing SSE3-specific about that macro, let's use a more generic name
for it. Since that's just a generic macro, we can also allow non-SSE (eg.
NEON) code to use it if they want to

Reviewers: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D528
2014-02-09 09:42:52 +09:00
ChunEon Park 28ee00c8c3 evas/common - removed unnecessary handling.
Actually the range checking will be accomplished when u, v is decided.
just duplicated.
2014-02-08 19:15:09 +09:00
ChunEon Park ef83a81750 evas/common - removed unused vars.
my fault. they were not intended to push in.
2014-02-08 18:40:32 +09:00
ChunEon Park 8775e0e58d evas/common - fix indentation 2014-02-08 18:36:18 +09:00
ChunEon Park f0b1854d10 evas/common - code clean up
add better descriptive comments.
modify the code for better readibility.
2014-02-08 18:16:09 +09:00
ChunEon Park 738bcb07ff evas/common - more useful comment. 2014-02-08 16:32:52 +09:00
ChunEon Park 72d90c0768 evas/common - code clean up
removed unncessary backet depth in.
2014-02-08 16:26:01 +09:00
ChunEon Park 0541d1ebe6 evas/common - code clean up
one if-else if compare is enough. don't try compare twice.
2014-02-07 22:37:53 +09:00
ChunEon Park fff4661095 evas/common - don't compare if twice. one is enough. 2014-02-07 22:32:35 +09:00
ChunEon Park de8362defe evas/common - code clean up for more readability. 2014-02-07 20:35:35 +09:00
ChunEon Park 4f905edca3 evas/common - code cleanup
useless to consider this optimization on these days
this just make people read code much awkward.

And actually the code have been unused.
2014-02-07 19:19:19 +09:00
Jean-Philippe Andre 4c4b44a575 Evas fitlers: Implement SLOW font draw to alpha targets
Well, raster did some great job at optimizing font draw... but only
to RGBA32 targets. In this font effects case, we also want to render
text on ALPHA buffers.

For now, reuse the existing alpha blending & glyph decompress
functions. It's MUCH easier, and works. Definitely slower than
decompressing on-the-fly and optimizing everything. But for now,
this will not even be the performance bottleneck in an effect
(blur will be a lot slower).
2014-02-07 17:33:17 +09:00
Jean-Philippe Andre 9adbbe0bd1 Evas fonts: Pass RGBA_Image instead of DATA32 buffer
Since we want to be able to draw to alpha buffers, it's
easier if we pass the whole image struct instead of just
the data pointer.
2014-02-07 15:38:43 +09:00
Jean-Philippe Andre 160d012559 Evas text utils: Check syntax in color parse
If the color string is not correct (ie. not #RRGGBBAA, #RGBA, #RGB, #RRGGBB),
return an error.
2014-02-07 15:38:42 +09:00
Jean-Philippe Andre 2928a2d2da Evas: Move _format_color_parse to common file
This (simple) code should be shared between Textblock and Filters.
2014-02-07 15:38:42 +09:00
Jean-Philippe Andre d8301fae6e Evas: Add support for Alpha buffers
Evas is an RGBA only engine, BUT we also use some alpha masks,
especially in the font rendering pipeline.
This commit adds basic support for alpha buffer operations
(blend and copy).

RGBA_Image can then point to either alpha-only data, if
its colorspace is grey.
2014-02-07 15:38:42 +09:00
ChunEon Park 5efa4f9305 evas/common - code refactoring.
tiny change for readibility.
2014-02-07 13:39:11 +09:00
Tom Hacohen 17d028f944 Evas font: Added support for font fallback for eet/edje fonts.
This is a long awaited feature that has been requested years ago.
Fontconfig finally added the support needed to make it happen, so here
it is.

I added a fontconfig query to look for similar fonts in case we loaded a
font from eet/edje/file(no fontconfig). This now works quite well.

Still missing: if you load a bold/italic/whatever font directly (set the file)
without putting ":weight=bold" you will not get run-time emboldenment if
only non-bold fonts are found.

This unfortunately depends on very recent fontconfig version (#ifed out
when unavailable), so only people with fontconfig >= 2.11 will enjoy
this feature.
2014-02-04 10:44:11 +00:00
Daniel Kolesa 871597f8c2 fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios) 2014-01-29 10:00:29 +00:00
Jean-Philippe Andre cc8fa1da45 Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx()
This function does the following operation:
COPY pixel x mask --> dst

But it wasn't iterating over the source. So it was repeating
the value of the first pixel over and over again.

Is this even used anywhere? RGBA + alpha mask function!?
2014-01-21 15:43:10 +09:00
Carsten Haitzler 1a9ebc02c0 _op_blend_c_dp_neon miscalculation fix
Summary:
When processing random data result of this function differs from C variant in more than 50% cases.
This difference is due to alpha calculation, in C code :

 a = 256 - (c >> 24)

in NEON:

"vmvn.u8  q7,q6       \n\t"
// ie (8 bit)~(c>>24)    ===   255 - (c>>24)

We cant just add "1" as overflow will occur in case (c>>24) ==  0  (we use only 8 bit per channel in vector registers)
So here is the solution:
copy *d right before multiplication and add it to the result of it later.

This makes the function slower by 20-30% but it is still at least 2 times faster then C code.

Reviewers: raster

Differential Revision: https://phab.enlightenment.org/D455
2014-01-21 08:50:34 +09:00
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
Cedric Bail 54ef511197 evas: handle error case by properly deallocating memory. 2013-09-02 12:33:21 +09:00
Carsten Haitzler 42a46214c4 other async render issue - sync ALL rendering canvases, not just one 2013-08-29 21:18:04 +09:00
Cedric Bail 62a759de43 evas: define MAP_HUGETLB when it is not defined. 2013-08-29 09:54:34 +09:00
Cedric Bail ebdc7a9952 evas: use mmap/munmap on system that have it for image data. 2013-08-28 17:17:35 +09:00
Carsten Haitzler 175335ae08 evas - restore ability for evas_render_dump() to dump out referenced data 2013-08-28 16:44:31 +09:00
Tom Hacohen 041e3af3e5 Evas bidi: Fixed a bug causing BiDi not to work in some cases.
This issue cause non-letter RTL characters not to be detected as RTL
which in turn turned off bidi for those strings.
Example broken text: <RLM><LRO>[PAS<RLO>[--DES<PDF><PDF>.

Thanks to Yakov Goldberg for reporting this issue.
2013-08-27 14:11:16 +01:00
Yury Usischev bd6de4ba8c Add neon for upscaling and map routines in evas. 2013-08-02 18:06:55 +09:00
Carsten Haitzler f325a38632 evas sw map render - make more optimal (but compiler already did it)
as pointed out by y.usishchev@samsung.com - this code is copy & paste
badness, but the compiler optimizer fixed it up already, so it made no
difference in real life.
2013-07-19 18:32:57 +09:00
Carsten Haitzler 0d83feaa79 fix clang allocator size mistmatch (by casting - clang is wrong) 2013-07-16 19:24:44 +09:00
Chris Michael a9d0f3a919 Fix missing FTUNLOCK
Since we locked the font_draw mutex earlier, we should unlock it
before we return.

NB: Fixes Coverity CID1039382

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:15:41 +01:00
Chris Michael a231b7ed26 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:15:24 +01:00
Chris Michael eabc1482f9 Fix memleak reported by Coverity.
NB: Fixes Coverity CID1039657

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 08:35:33 +01:00
Jean-Philippe Andre bb4e7fb869 evas: fix compilation warning in evas_font_draw.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre 90d8647c02 evas/cserve2: fix crash with YUV tests in expedite.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Chris Michael 694d1600e8 We should free glyph_out also (as that gets malloc'd too) on error.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:13:09 +01:00
Chris Michael dd136b82e2 Fix klockwork memleak: If we allocate space for a Font Glyph (through
evas_common_font_int_cache_glyph_get), then we should free that
allocation when we have an error.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 14:02:00 +01:00
Daniel Willmann f24dea2a90 evas_convert_colorspace: Remove printf in e_c_convert_yuv_422_601_to()
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 18:53:08 +01:00
Daniel Willmann 2df506feed evas_convert_colorspace: Be nice and actually return the converted data
Fixes a memory leaks in evas_common_convert_yuv_42* and actually makes
these functions more useful. It's a win-win.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-26 18:53:08 +01:00
Jean-Philippe Andre 1f298139d8 evas: fix crash after font rehint 2013-06-24 14:52:54 +02:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
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-06-20 12:53:29 +02:00
Jean-Philippe Andre d2c3b67a72 cserve2: fix minor memleaks with fonts
Leaks happen when fonts fail to load
2013-06-20 17:42:07 +09:00
Carsten Haitzler 1914148446 evas: optimization - handle if c1 == c2 for map interplated lines 2013-06-14 21:32:56 +09:00
Carsten Haitzler ae2f824413 evas: fix possible seg with font glyphs from font instance in glyph array with no refcounting. 2013-06-14 19:57:18 +09:00
Tom Hacohen 3137e18962 Revert "continuation of ascent/descent fix by tom - make textblock work too."
This reverts commit 9473c4a9a5.

This commit is not correct. It just goes through every font in the
fontset, which is usually all the fonts in the system and tries to get
their ascent/descent and by that getting the max ascent/descent. This
won't work nicely.

The solution is to properly fix textblock, if you think there's
something lacking (I.e in the same way I did text).

However, my changes did not change previous behaviour, but were just
wrappers, so I don't see why extra changes would be needed. Please
elaborate.

I'm reverting this because:
1. I don't think it's correct.
2. It severly broke e in some cases (reference:
      http://www.enlightenment.org/ss/e-51b5d5e98cd387.04568822.png ).
2013-06-10 14:52:10 +01:00
Tom Hacohen d7db12f196 Revert "fix slowdown as a result of fixing text ascent/descent for fontsets from tom."
This reverts commit 9ecc87713d.
2013-06-10 14:51:38 +01:00
Daniel Willmann c1cba92f8b evas_font_load: Remove duplicate include of evas_font_ot.h
Because it defines USE_HARFBUZZ we need to include it before testing for
this define.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-06 10:54:57 +01:00
Tom Hacohen 0d1ba652f0 Evas font: Fixed hb_font_destroy related warning.
Thanks to Daniel Willmann.
2013-06-06 10:42:06 +01:00
Jean-Philippe Andre 5836f503e1 evas/cserve2: fix crash in cserve2's font loading mechanism.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:16 +09:00
Jean-Philippe Andre e973be52f9 evas/cserve2: fix memory leak when changing font hinting.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-06-04 20:21:15 +09:00
Cedric Bail d1bed386bd evas: correctly detect if loader support asynchronous preloading.
This is an astonishing bug, I wonder since how long it has been there. It
is basically due to the use of void * and a wrong cast. Type checking is
clearly useful, let's use it more !
2013-06-04 11:22:13 +09:00
Carsten Haitzler 9ecc87713d fix slowdown as a result of fixing text ascent/descent for fontsets from tom. 2013-05-31 20:09:41 +09:00
Carsten Haitzler 9473c4a9a5 continuation of ascent/descent fix by tom - make textblock work too. 2013-05-31 19:08:35 +09:00
Tom Hacohen 311dab3fee Evas language: Handle signed wchar_t in a nicer way. 2013-05-16 09:56:17 +01:00
Carsten Haitzler b77016ad02 fix cedric's image property code... that broke load opt downscaling...
CEDRIC... it WAS YOU!... YOU BROKE ETHUMB!... i was.. RIGHT! :) well
done. your borking skills are pretty good. :) you broke load opt
downscaling for jpegs in general.. it just happened to turn up in
ethumb.
2013-05-13 08:19:02 +09:00
Tom Hacohen cc4cf77865 Evas font/text: Fixed an issue with asc/desc calculation in text object.
Added font_int asc/desc getters in order to achieve that.

Thanks to MinSu Seo for reporting.
2013-05-10 17:48:26 +01:00
Cedric Bail d833244100 evas: add infrastructure to open from Eina_File. 2013-05-08 18:17:00 +09:00
Cedric Bail c3f9d3b8b8 evas: Make Evas_Loader API public. 2013-05-08 18:16:59 +09:00
Carsten Haitzler 2a35811c9d fix seg on image del if loader is null. 2013-05-07 14:28:07 +09:00
Cedric Bail 0d2c6481b8 evas: final cleanup of the API, should be ready to make it public by now. 2013-05-06 19:02:05 +09:00
Cedric Bail 6929386895 evas: now move eina_file also out of the frame_duration API. 2013-05-06 19:02:05 +09:00
Cedric Bail 7d83e42046 evas: move evas cache API outside of the image data loader API. 2013-05-06 19:02:04 +09:00
Cedric Bail 6f802ab234 evas: start work on making the loader module a public API.
Goal is to be able to remove all internal Evas call from inside all
loader module. To do so we are going to open and hold a reference to the
file from outside of the module, read the header, create the image data,
load the data, close that reference.

Once that done, the next step is to let the file remain open as soon as
the filename/key is set and add an API to set an Eina_File directly. This
way edje can maintain the same file open as it use for an edje object,
keeping things in sync and avoid rendering glitch during update.
2013-05-06 19:02:04 +09:00
Cedric Bail c5b0d28d73 evas: move flags and attribute around. 2013-05-06 19:02:04 +09:00
Carsten Haitzler ab0fdf5916 it is possible with wchart_t to have it signed.. so unicode can be <
0... dont crash.
2013-04-30 23:11:01 +09:00
Tom Hacohen 9e96e8f122 Evas font: Fixed use-after-free. 2013-04-15 10:42:58 +01:00
Carsten Haitzler 7fd0cf1731 this is not a big change - not worth changelog, but allow gl partial
updates to be rounded up to specific tile sizes (and make it 16x16 by
default).
2013-04-11 21:24:06 +09:00
Cedric Bail 7df05ed287 evas: use a hash for the image scale cache. 2013-04-11 18:07:09 +09:00
Tom Hacohen 920c1b2af8 Evas font: Fixed a bug with cluster sizes and ligatures.
This casused cursor position (among other things) to look wrong with texts
ending with ligatures.

Thanks to Yakov Goldberg for reporting.
2013-04-08 13:31:09 +01:00
Jiyoun Park 810f1ca972 Evas font: fix font source have wrong current size. 2013-04-05 13:05:25 +09:00
Tom Hacohen 2da15ced65 Evas font: Disable run-time emboldment in some cases.
If OS/2 table is available and the font is demi-bold, don't do runtime
emboldment.
2013-04-04 16:05:42 +01:00
Yakov Goldberg d55c3f2bb7 evas/font: fix handling querying char at coords (click on gap)
If query at x coord, which points to rigth half of LTR char,
      next position will be returned. The same for left half of RTL char.

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-04 13:10:22 +03:00
Tom Hacohen 26a5cdc63b Evas language: Fixed compiler warning about unsigned comparison.
comparison of unsigned expression >= 0 is always true.

Thanks to vtorri for the report.
2013-03-12 11:17:17 +00:00
Carsten Haitzler b121520955 small improvement to pixman support - no need to create color image in
context unless font or rect or line or poly used.
2013-03-12 15:30:03 +09:00
Tom Hacohen 23264ae09c Evas textblock: Fixed coord (int) overflow.
X advance coords can be bigger than the limits of short.
2013-03-11 15:33:28 +00:00
Igor Murzov 7a794f8477 evas: Add WebP image saver 2013-03-09 14:11:35 +04:00
Tom Hacohen 5a55e5e56c Evas textblock: Added proper size adjustments for "high" shaped texts.
This adjusts the starting coords of the textblock to fit the shaped char of
the first line.
2013-02-28 16:26:09 +00:00
ChunEon Park 4e0b7d7bca evas/common - scale sample code optimization 2013-02-27 22:36:36 +09:00
ChunEon Park 8e3671eab7 evas/common - declare a var in function head. 2013-02-27 14:43:34 +09:00
ChunEon Park 53fa4cd2d8 evas/common - scale sample code refactoring. simpler and more effcient. 2013-02-23 21:45:10 +09:00
chuneon.park 1a0ee8cb87 evas/common - return function as soon as possible. 2013-02-22 22:42:48 +09:00
chuneon.park e79cb473a8 evas/common - fix indentation 2013-02-22 22:40:34 +09:00
Tom Hacohen 4fc694978b Evas font: Fixed font run detection for some cases.
There were issues for specific cases with 2 different fonts in the middle
of a run.
2013-02-21 15:00:57 +00:00
Tom Hacohen d6dababe78 Evas text: Fixed bug with the text object direction detection. 2013-02-21 13:39:37 +00:00
Ulisses Furquim 34cc6a1b15 evas/async_render: fix refcount handling of scaled image entries
SVN revision: 82961
2013-01-17 22:14:05 +00:00
Cedric BAIL 58291fb022 efl: let's use text_prop cache properly.
Now evas_object_textgrid_render account for 1% of the benchmark.


SVN revision: 82928
2013-01-17 10:28:18 +00:00
Cedric BAIL 6e9c28c147 efl: this function are used in evas canvas object.
SVN revision: 82917
2013-01-17 04:06:22 +00:00
Ulisses Furquim d8b2bce148 evas/async_render: fix scalecache integration
Note: scalecache is really crazy stuff, we should rewrite it or get rid of it.



SVN revision: 82912
2013-01-16 22:32:39 +00:00
Ulisses Furquim 09f342fdeb evas/async_render: use image scalecache
SVN revision: 82890
2013-01-16 16:07:46 +00:00
Carsten Haitzler b86a5cd30f fix pixman wrappers where image size and alloc size differ.
SVN revision: 82856
2013-01-16 06:32:34 +00:00
Cedric BAIL ffafb3602e efl: let's do less memcpy.
SVN revision: 82855
2013-01-16 06:31:32 +00:00
Paulo Alcantara b557bd9e0d efl/engines: Introduce multi_font_draw() function
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.

This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82832
2013-01-15 17:35:11 +00:00
Tom Hacohen c8e1fe4c9f Evas font: Add missing header.
SVN revision: 82826
2013-01-15 17:15:06 +00:00
Tom Hacohen c7dc78c98b Evas text props: Fixed bug with no-harfbuzz bidi.
SVN revision: 82814
2013-01-15 14:49:31 +00:00
Carsten Haitzler b2034671b7 as pointed out by avind - missing bidi dir changes.
SVN revision: 82710
2013-01-13 02:58:00 +00:00
Carsten Haitzler 440bb7c23c cut down textprop size a bit... 72 -> 64bytes. if we can wrap
tp->start/len/text_offset/text_len read/wrtie in access funcs. so we
can special case where:

1. start == text_offset == 0 && len == text_len == 1
2. start == text_offset == 0 && len == text_len < 65536
3. start == text_offset == 0 && len == text_len < 256
 


SVN revision: 82692
2013-01-12 08:40:46 +00:00
Ulisses Furquim 48c15aaa74 evas/async_render: only get a ref if a thread cmd was issued
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
2013-01-11 19:57:09 +00:00
Ulisses Furquim f0f9f7b7a6 evas/text: remove misleading comments on glyphs array refs
SVN revision: 82665
2013-01-11 19:56:49 +00:00
Ulisses Furquim b9f05341c3 evas/async_render: skip early if text_props with no glyphs
This is intended to preserve old behavior now that we have
evas_common_font_draw_cb() to handle both sync and async callbacks.
However, we need to check where why we end up with no glyphs in a
text_props even after calling evas_common_font_draw_prepare().



SVN revision: 82664
2013-01-11 19:56:32 +00:00
Leandro Pereira a868276f11 evas: Try to reuse glyph array if possible
This sould bring back a little bit of text rendering performance, while at
the same time decreasing memory usage and fragmentation.

Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82660
2013-01-11 19:49:15 +00:00
Leandro Pereira 468b44c444 evas: Do not use an Eina_Lock for glyph array
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82659
2013-01-11 19:48:28 +00:00
Paulo Alcantara 5eaba08284 efl/font: Avoid passing NULL glyphs arrays on unref
evas_common_font_glyphs_unref() *should* be called with valid glyphs
arrays.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82658
2013-01-11 19:48:00 +00:00
Cedric BAIL 451abe47f5 efl: only compute font clip when relevant.
SVN revision: 82611
2013-01-11 05:21:54 +00:00
Cedric BAIL 4c64334b9d evas: remove duplicated piece of code.
SVN revision: 82601
2013-01-11 01:52:46 +00:00
Paulo Alcantara cf46337e17 efl/font: Dispatch font load request once sent to server
Patch by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 82482
2013-01-09 21:37:34 +00:00
Ulisses Furquim d53f43abaf evas/common/thread_render: fix queue cache handling
Fixed queue cache handling to let enqueue and process happen at the same
time, even though this is not our use case yet. This also solves a race
with the assignment of cache variables outside the queue lock and
remembers to free the cache when shutting down.



SVN revision: 82296
2013-01-06 02:01:53 +00:00