diff options
author | Hermet Park <chuneon.park@samsung.com> | 2020-05-07 11:25:13 +0900 |
---|---|---|
committer | Hermet Park <chuneon.park@samsung.com> | 2020-05-07 11:29:08 +0900 |
commit | 98ff237fc12ddbe09ef0db27dd8038d1fc90255d (patch) | |
tree | 4822fdac65e2d2d0db6dab2b006e7c411689d1bf | |
parent | a70b811e8d7b0abd40618e7beba68ea9562f7352 (diff) | |
download | efl-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.c | 13 |
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)) && |