hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9a4b6728d5ee0cc8716f6358c508f044fac259d2

commit 9a4b6728d5ee0cc8716f6358c508f044fac259d2
Author: Hermet Park <hermetp...@gmail.com>
Date:   Fri Aug 30 17:13:31 2019 +0900

    ector gradient: ++ optmization.
    
    we know what size will be used for every span,
    this graident buffer will be overwritten with new one,
    
    So it doesn't need to clear every spans.
---
 src/lib/ector/software/ector_software_rasterizer.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/ector/software/ector_software_rasterizer.c 
b/src/lib/ector/software/ector_software_rasterizer.c
index 447598c1d5..62c3eac723 100644
--- a/src/lib/ector/software/ector_software_rasterizer.c
+++ b/src/lib/ector/software/ector_software_rasterizer.c
@@ -318,13 +318,13 @@ _blend_gradient_alpha(int count, const SW_FT_Span *spans, 
void *user_data)
      {
         uint32_t *target = buffer + ((sd->raster_buffer->generic->w * 
spans->y) + spans->x);
         uint32_t *mtarget = mbuffer + ((mask->generic->w * spans->y) + 
spans->x);
-        uint32_t *temp = gbuffer;
         int length = spans->len;
-        memset(temp, 0x00, sizeof(uint32_t) * spans->len);
+
         while (length)
           {
              int l = MIN(length, BLEND_GRADIENT_BUFFER_SIZE);
-             fetchfunc(temp, sd, spans->y, spans->x, l);
+             fetchfunc(gbuffer, sd, spans->y, spans->x, l);
+             uint32_t *temp = gbuffer;
 
              for (int i = 0; i < l; i++)
                {
@@ -366,13 +366,13 @@ _blend_gradient_alpha_inv(int count, const SW_FT_Span 
*spans, void *user_data)
      {
         uint32_t *target = buffer + ((sd->raster_buffer->generic->w * 
spans->y) + spans->x);
         uint32_t *mtarget = mbuffer + ((mask->generic->w * spans->y) + 
spans->x);
-        uint32_t *temp = gbuffer;
         int length = spans->len;
-        memset(temp, 0x00, sizeof(uint32_t) * spans->len);
+
         while (length)
           {
              int l = MIN(length, BLEND_GRADIENT_BUFFER_SIZE);
-             fetchfunc(temp, sd, spans->y, spans->x, l);
+             fetchfunc(gbuffer, sd, spans->y, spans->x, l);
+             uint32_t *temp = gbuffer;
 
              for (int i = 0; i < l; i++)
                {

-- 


Reply via email to