hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=98ff237fc12ddbe09ef0db27dd8038d1fc90255d

commit 98ff237fc12ddbe09ef0db27dd8038d1fc90255d
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