Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/engines/common Modified Files: evas_blend_alpha_color_pixel.c evas_blend_color_pixel.c evas_blend_ops.h evas_blend_pixel_cmod_pixel.c evas_blend_pixel_mul_pixel.c evas_blend_pixel_pixel.c evas_line_main.c Log Message: optimise... THIS! BIATCH! :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_alpha_color_pixel.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_blend_alpha_color_pixel.c 10 May 2004 06:40:50 -0000 1.7 +++ evas_blend_alpha_color_pixel.c 3 Feb 2005 07:28:06 -0000 1.8 @@ -34,6 +34,7 @@ *dst_ptr = col; break; default: + BLEND_ALPHA_SETUP(aa, tmp); BLEND_COLOR(aa, R_VAL(dst_ptr), R_VAL(&col), R_VAL(dst_ptr), tmp); @@ -111,7 +112,7 @@ punpckhdq_r2r(mm3, mm3); psrlw_i2r(1, mm3); - psrlq_i2r(16, mm3); +// psrlq_i2r(16, mm3); punpcklbw_r2r(mm4, mm1); punpcklbw_r2r(mm4, mm2); @@ -162,6 +163,7 @@ BLEND_COLOR(aa, A_VAL(dst_ptr), 255, A_VAL(dst_ptr), tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(&col), R_VAL(dst_ptr), tmp); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_color_pixel.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_blend_color_pixel.c 10 May 2004 06:40:50 -0000 1.7 +++ evas_blend_color_pixel.c 3 Feb 2005 07:28:06 -0000 1.8 @@ -20,6 +20,7 @@ { DATA32 tmp; + BLEND_ALPHA_SETUP(A_VAL(&src), tmp); BLEND_COLOR(A_VAL(&src), R_VAL(dst_ptr), R_VAL(&src), R_VAL(dst_ptr), tmp); @@ -54,7 +55,7 @@ punpckhdq_r2r(mm3, mm3); psrlw_i2r(1, mm3); - psrlq_i2r(16, mm3); +// psrlq_i2r(16, mm3); while (dst_ptr < dst_end_ptr) { @@ -99,6 +100,7 @@ BLEND_COLOR(A_VAL(&src), A_VAL(dst_ptr), 255, A_VAL(dst_ptr), tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(&src), R_VAL(dst_ptr), tmp); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_ops.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_blend_ops.h 10 May 2004 06:40:50 -0000 1.3 +++ evas_blend_ops.h 3 Feb 2005 07:28:06 -0000 1.4 @@ -12,6 +12,7 @@ BLEND_COLOR(A_VAL(src), A_VAL(dst), \ 255, A_VAL(dst), \ __tmp); \ + BLEND_ALPHA_SETUP(__a, __tmp); \ BLEND_COLOR(__a, R_VAL(dst), \ R_VAL(src), R_VAL(dst), \ __tmp); \ @@ -30,6 +31,7 @@ \ if (A_VAL(src)) /* hmmm - do we need this? */ \ { \ + BLEND_ALPHA_SETUP(A_VAL(src), __tmp); \ BLEND_COLOR(A_VAL(src), R_VAL(dst), \ R_VAL(src), R_VAL(dst), \ __tmp); \ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_cmod_pixel.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- evas_blend_pixel_cmod_pixel.c 10 May 2004 06:40:50 -0000 1.6 +++ evas_blend_pixel_cmod_pixel.c 3 Feb 2005 07:28:06 -0000 1.7 @@ -33,6 +33,7 @@ B_VAL(dst_ptr) = bmod[B_VAL(src_ptr)]; break; default: + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), tmp); @@ -80,6 +81,7 @@ a = _evas_pow_lut[(aa << 8) | A_VAL(dst_ptr)]; BLEND_COLOR(aa,A_VAL(dst_ptr), 255,A_VAL(dst_ptr),tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), rmod[R_VAL(src_ptr)], R_VAL(dst_ptr), tmp); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_mul_pixel.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_blend_pixel_mul_pixel.c 10 May 2004 06:40:50 -0000 1.7 +++ evas_blend_pixel_mul_pixel.c 3 Feb 2005 07:28:06 -0000 1.8 @@ -35,6 +35,7 @@ *dst_ptr = *src_ptr; break; default: + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(src_ptr), R_VAL(dst_ptr), tmp); @@ -68,6 +69,7 @@ B_VAL(dst_ptr) = ((B_VAL(src_ptr) * (B_VAL(&mul_color) + 1)) >> 8); break; default: + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8), R_VAL(dst_ptr), tmp); @@ -150,7 +152,7 @@ punpckhdq_r2r(mm3, mm3); psrlw_i2r(1, mm3); - psrlq_i2r(16, mm3); +// psrlq_i2r(16, mm3); punpcklbw_r2r(mm4, mm1); punpcklbw_r2r(mm4, mm2); @@ -205,6 +207,7 @@ BLEND_COLOR(aa, A_VAL(dst_ptr), 255, A_VAL(dst_ptr), tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(src_ptr), R_VAL(dst_ptr), tmp); @@ -244,6 +247,7 @@ BLEND_COLOR(aa, A_VAL(dst_ptr), 255, A_VAL(dst_ptr), tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), ((R_VAL(src_ptr) * (R_VAL(&mul_color) + 1)) >> 8), R_VAL(dst_ptr), tmp); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_blend_pixel_pixel.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- evas_blend_pixel_pixel.c 29 Jan 2005 16:28:18 -0000 1.13 +++ evas_blend_pixel_pixel.c 3 Feb 2005 07:28:06 -0000 1.14 @@ -34,6 +34,7 @@ *dst_ptr = *src_ptr; break; default: + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(src_ptr), R_VAL(dst_ptr), tmp); @@ -74,28 +75,28 @@ *dst_ptr = *src_ptr; break; default: - movd_m2r(src_ptr[0], mm1); - movd_m2r(dst_ptr[0], mm2); + movd_m2r(src_ptr[0], mm1); // mm1 = [ ][ ][AR][GB] (SRC) + movd_m2r(dst_ptr[0], mm2); // mm2 = [ ][ ][ar][gb] (DST) - movq_r2r(mm1, mm3); - punpcklbw_r2r(mm3, mm3); - punpckhwd_r2r(mm3, mm3); - punpckhdq_r2r(mm3, mm3); - psrlw_i2r(1, mm3); + movq_r2r(mm1, mm3); // mm3 = [ ][ ][AR][GB] + punpcklbw_r2r(mm3, mm3); // mm3 = [AA][RR][GG][BB] + punpckhwd_r2r(mm3, mm3); // mm3 = [AA][AA][RR][RR] + punpckhdq_r2r(mm3, mm3); // mm3 = [AA][AA][AA][AA] + psrlw_i2r(1, mm3); // mm3 = [AA/2][AA/2][AA/2][AA/2] - psrlq_i2r(16, mm3); +// psrlq_i2r(16, mm3); // mm3 = [00][AA/2][AA/2][AA/2] - punpcklbw_r2r(mm4, mm1); - punpcklbw_r2r(mm4, mm2); + punpcklbw_r2r(mm4, mm1); // mm1 = [0A][0R][0G][0B] + punpcklbw_r2r(mm4, mm2); // mm2 = [0a][0r][0g][0b] - psubw_r2r(mm2, mm1); - psllw_i2r(1, mm1); - paddw_r2r(mm5, mm1); - pmulhw_r2r(mm3, mm1); - paddw_r2r(mm1, mm2); - - packuswb_r2r(mm4, mm2); - movd_r2m(mm2, dst_ptr[0]); + psubw_r2r(mm2, mm1); // mm1 = [A-a][R-r][G-g][B-b] + psllw_i2r(1, mm1); // mm1 = [A*2][R*2][G*2][B*2] + paddw_r2r(mm5, mm1); // mm1 = [A+1][R+1][G+1][B+1] + pmulhw_r2r(mm3, mm1); // mm1 = [A*0][(R*AA)>>16][(G*AA)>>16][(B*AA)>>16] + paddw_r2r(mm1, mm2); // mm2 = [0a][R-r][G-g][B-b] + + packuswb_r2r(mm4, mm2); // mm2 = [ ][ ][AR][GB] + movd_r2m(mm2, dst_ptr[0]); // DST = mm2 break; } src_ptr++; @@ -132,6 +133,7 @@ BLEND_COLOR(aa, A_VAL(dst_ptr), 255, A_VAL(dst_ptr), tmp); + BLEND_ALPHA_SETUP(a, tmp); BLEND_COLOR(a, R_VAL(dst_ptr), R_VAL(src_ptr), R_VAL(dst_ptr), tmp); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_line_main.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_line_main.c 10 May 2004 06:40:50 -0000 1.7 +++ evas_line_main.c 3 Feb 2005 07:28:06 -0000 1.8 @@ -59,6 +59,7 @@ BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr), 255, A_VAL(ptr), __blend_tmp); + BLEND_ALPHA_SETUP(__blend_a, __blend_tmp); BLEND_COLOR(__blend_a, R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); @@ -74,6 +75,7 @@ DATA32 __blend_tmp; ptr = dst->image->data + (y1 * dst->image->w) + x1; + BLEND_ALPHA_SETUP(A_VAL(&(col)), __blend_tmp); BLEND_COLOR(A_VAL(&(col)), R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); @@ -152,6 +154,7 @@ BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr), 255, A_VAL(ptr), __blend_tmp); + BLEND_ALPHA_SETUP(__blend_a, __blend_tmp); BLEND_COLOR(__blend_a, R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); @@ -191,6 +194,7 @@ BLEND_COLOR(A_VAL(&(col)), A_VAL(ptr), 255, A_VAL(ptr), __blend_tmp); + BLEND_ALPHA_SETUP(__blend_a, __blend_tmp); BLEND_COLOR(__blend_a, R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); @@ -227,6 +231,7 @@ { DATA32 __blend_tmp; + BLEND_ALPHA_SETUP(A_VAL(&(col)), __blend_tmp); BLEND_COLOR(A_VAL(&(col)), R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); @@ -260,6 +265,7 @@ { DATA32 __blend_tmp; + BLEND_ALPHA_SETUP(A_VAL(&(col)), __blend_tmp); BLEND_COLOR(A_VAL(&(col)), R_VAL(ptr), R_VAL(&(col)), R_VAL(ptr), __blend_tmp); ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs