hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c10dfc3bcad18d8c53375cea6b3e496e9da84ad7
commit c10dfc3bcad18d8c53375cea6b3e496e9da84ad7 Author: JunsuChoi <jsuya.c...@samsung.com> Date: Thu May 9 19:30:37 2019 +0900 ector_software_rasterizer : Move duplicate alloca Summary: Move the alloca() outside of the loop. Test Plan: N/A Reviewers: Hermet, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, smohanty, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8869 --- src/lib/ector/software/ector_software_rasterizer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/ector/software/ector_software_rasterizer.c b/src/lib/ector/software/ector_software_rasterizer.c index 42a5e8ee89..428c067efe 100644 --- a/src/lib/ector/software/ector_software_rasterizer.c +++ b/src/lib/ector/software/ector_software_rasterizer.c @@ -145,9 +145,11 @@ _blend_mask_add(int count, const SW_FT_Span *spans, void *user_data) RGBA_Comp_Func_Solid comp_func = efl_draw_func_solid_span_get(sd->op, color); uint32_t *mbuffer = mask->pixels.u32; + int tsize = sd->raster_buffer->generic->w; + uint32_t *ttarget = alloca(sizeof(uint32_t) * tsize); + while (count--) { - uint32_t *ttarget = alloca(sizeof(uint32_t) * spans->len); memset(ttarget, 0x00, sizeof(uint32_t) * spans->len); uint32_t *mtarget = mbuffer + ((mask->generic->w * spans->y) + spans->x); comp_func(ttarget, spans->len, color, spans->coverage); @@ -234,9 +236,11 @@ _blend_mask_diff(int count, const SW_FT_Span *spans, void *user_data) RGBA_Comp_Func_Solid comp_func = efl_draw_func_solid_span_get(sd->op, color); uint32_t *mbuffer = mask->pixels.u32; + int tsize = sd->raster_buffer->generic->w; + uint32_t *ttarget = alloca(sizeof(uint32_t) * tsize); + while (count--) { - uint32_t *ttarget = alloca(sizeof(uint32_t) * spans->len); memset(ttarget, 0x00, sizeof(uint32_t) * spans->len); uint32_t *mtarget = mbuffer + ((mask->generic->w * spans->y) + spans->x); comp_func(ttarget, spans->len, color, spans->coverage); --