raster pushed a commit to branch efl-1.24. http://git.enlightenment.org/core/efl.git/commit/?id=2e5e6247023550f7aba2d8aad4a43a9ccca6e48c
commit 2e5e6247023550f7aba2d8aad4a43a9ccca6e48c Author: Hermet Park <[email protected]> Date: Thu May 7 11:25:13 2020 +0900 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. --- src/modules/evas/engines/gl_generic/evas_engine.c | 13 ++++++------- 1 file 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)) && --
