Commit Graph

19 Commits

Author SHA1 Message Date
Hermet Park d5551bdda3 evas map: remove redundant code.
Remove old anti-alias code since high quality map is replaced with new one.
New anti-aliasing is logically same but having a regression bug,
it should be stablized.
2019-04-08 14:56:42 +09:00
Hermet Park 84e162b01f canvas map: introduce a new texture mapping for better quality.
Summary:
This new implementation of evas map texture mapping
 is designed for high quality rendering same level to GL.

If you use a high-end device, performance is not too bad, you can turn this on.
You might have practical image quality even in software rendering.

Since this implementation still have a few optimization points (+simd)
and stablizings, it may be useful in somewhat limited envrionments right now.
However the functionality definitely works fine, so please turn this on by
demand (anti_alias + smooth) for a while.

{F3667773} {F3667776} {F3667778}

Reviewers: #committers, devilhorns, raster

Reviewed By: #committers, raster

Subscribers: raster, devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8106
2019-04-08 13:21:08 +09:00
Hermet Park 63b6d9c17f evas: fix Evas Map AA changes the alpha flag of an image issue.
Evas map supports anti-alias(aa) rendering on sw backened.
When aa is toggled on, map forcely turns alpha channel on while it draws on the surface.
Actually, it was intended to blend polygon edges with destination,
but it breaks one case if the original source image alpha channel were turned off.

Simply, it fixed the issue, new implmentation removes the alpha channel switching,
instead fill the alpha values with 255 when map + aa + alpha_off is drawing on it.

@fix T1975
2018-04-03 19:23:52 +09:00
Hermet Park cbd9ab686d evas - remove wrong flag.
obviously, this parameter is being used.
2018-04-02 20:25:22 +09: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
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
Jaeun Choi 62f3170874 Evas masking: Implement support for map draw (SW) 2015-01-07 15:06:02 +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
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
ChunEon Park 5efa4f9305 evas/common - code refactoring.
tiny change for readibility.
2014-02-07 13:39:11 +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 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
Leandro Pereira aa03e70141 evas/common: Prepare soil to land map code for threaded render
SVN revision: 81189
2012-12-17 21:30:07 +00:00
Vincent Torri c15e9c6575 merge: and now Evas
I've tested make -j 3 install and it works nicely

I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.

TODO: examples and tests, I'll add them later

ISSUE: Eina_Unicode size check. It indirectly depends on
       eina_config.h, which is created at the end of the
       configure script. So its size is always 0. I don't
       know how that size is used, so I can't do a lot,
       for now.


SVN revision: 78895
2012-11-04 11:51:42 +00:00