X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arm%2Fneon_eagle2x.Sinc;h=f2d130c692dbf6af67024a88afe9775c5554974c;hb=HEAD;hp=74133129595eab4757b8f4a8112ba8ca65e7e454;hpb=7fc3ac8a09642992b62a9c3ab5df0f52ac4e8fee;p=libpicofe.git diff --git a/arm/neon_eagle2x.Sinc b/arm/neon_eagle2x.Sinc index 7413312..f2d130c 100644 --- a/arm/neon_eagle2x.Sinc +++ b/arm/neon_eagle2x.Sinc @@ -527,6 +527,11 @@ vld1.16 {d27[3]}, [\reg1] @ S3prev[7] = src[2 * (counter & 7) - 2 + srcstride] .endif + #ifdef DO_BGR_TO_RGB + bgr1555_to_rgb565 q14, q15, q8, q9, q10, \reg1 + bgr1555_to_rgb565 q6, q7, q8, q9, q10, \reg1 + #endif + ubfx \reg1, \counter, #0, #3 @ reg1 = counter & 7 lsl \reg1, #2 @@ -629,6 +634,12 @@ vbsl q6, \qY, q12 @ E3 = < (X == Y && X == V) ? Y : C > vbsl q7, \qY, q12 @ E4 = < (Z == Y && Z == W) ? Y : C > + + #ifdef DO_BGR_TO_RGB + bgr1555_to_rgb565 q14, q15, q0, q1, q2, \reg1 + bgr1555_to_rgb565 q6, q7, q0, q1, q2, \reg1 + #endif + vst2.16 {q14-q15}, [\aldst1]! @ [dst] = E1,E2; dst1 += 2*2*8 cmp \counter, #8 @@ -721,6 +732,12 @@ vbsl q6, \qY, q12 @ E3 = < (X == Y && X == V) ? Y : C > vbsl q7, \qY, q12 @ E4 = < (Z == Y && Z == W) ? Y : C > + + #ifdef DO_BGR_TO_RGB + bgr1555_to_rgb565 q14, q15, q8, q9, q10, \reg1 + bgr1555_to_rgb565 q6, q7, q8, q9, q10, \reg1 + #endif + vst2.16 {q14-q15}, [\aldst1]! @ [dst] = E1,E2; dst1 += 2*2*8 vst2.16 {q6-q7}, [\aldst2]! @ [dst + dststride] = E3,E4; dst2 += 2*2*8 @@ -751,9 +768,9 @@ .else .ifeq \dstalign32 - _neon_eagle2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1:128, \src2:128, \src3:128, \dst1, \dst2 + _neon_eagle2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1 A128, \src2 A128, \src3 A128, \dst1, \dst2 .else - _neon_eagle2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1:128, \src2:128, \src3:128, \dst1:256, \dst2:256 + _neon_eagle2x_16_16_line_\part \src1, \src2, \src3, \counter, \dst1, \dst2, \reg1, \src1 A128, \src2 A128, \src3 A128, \dst1 A256, \dst2 A256 .endif .endif