summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-05-07 11:25:13 +0900
committerHermet Park <chuneon.park@samsung.com>2020-05-07 11:29:08 +0900
commit98ff237fc12ddbe09ef0db27dd8038d1fc90255d (patch)
tree4822fdac65e2d2d0db6dab2b006e7c411689d1bf
parenta70b811e8d7b0abd40618e7beba68ea9562f7352 (diff)
downloadefl-98ff237fc12ddbe09ef0db27dd8038d1fc90255d.tar.gz
canvas map: draw direct image as possible.
Since we moved to floating calculation for msaa, this comparsion is not working for direct image drawing though it's doable. To resolve this, we can compare floatings regardless of msaa enable.
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index c0b0dca539..414856794f 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1319,13 +1319,12 @@ eng_image_map_draw(void *engine EINA_UNUSED, void *data, void *context, void *su
evas_gl_common_context_target_surface_set(gl_context, surface);
gl_context->dc = context;
- if (!gl_context->msaa &&
- (m->pts[0].x == m->pts[3].x) &&
- (m->pts[1].x == m->pts[2].x) &&
- (m->pts[0].y == m->pts[1].y) &&
- (m->pts[3].y == m->pts[2].y) &&
- (m->pts[0].x <= m->pts[1].x) &&
- (m->pts[0].y <= m->pts[2].y) &&
+ if (fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
+ fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON &&
+ fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON &&
+ fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON &&
+ (m->pts[0].fx <= m->pts[1].fx) &&
+ (m->pts[0].fy <= m->pts[2].fy) &&
(m->pts[0].u == 0) &&
(m->pts[0].v == 0) &&
(m->pts[1].u == (gim->w << FP)) &&