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)) &&

-- 


Reply via email to