int *xp, xap, yap, pos;
//int dyy, dxx;
int w = dst_clip_w;
+#ifdef EVAS_SLI
+ int ysli = dst_clip_y;
+#endif
dptr = dst_ptr;
pos = (src_region_y * src_w) + src_region_x;
{
while (dst_clip_h--)
{
- while (dst_clip_w--)
- {
- Cx = *xapp >> 16;
- xap = *xapp & 0xffff;
- pix = *yp + *xp + pos;
-
- a = (A_VAL(pix) * xap) >> 10;
- r = (R_VAL(pix) * xap) >> 10;
- g = (G_VAL(pix) * xap) >> 10;
- b = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- a += (A_VAL(pix) * Cx) >> 10;
- r += (R_VAL(pix) * Cx) >> 10;
- g += (G_VAL(pix) * Cx) >> 10;
- b += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- a += (A_VAL(pix) * j) >> 10;
- r += (R_VAL(pix) * j) >> 10;
- g += (G_VAL(pix) * j) >> 10;
- b += (B_VAL(pix) * j) >> 10;
- }
- if ((yap = *yapp) > 0)
- {
- pix = *yp + *xp + src_w + pos;
- aa = (A_VAL(pix) * xap) >> 10;
- rr = (R_VAL(pix) * xap) >> 10;
- gg = (G_VAL(pix) * xap) >> 10;
- bb = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- aa += (A_VAL(pix) * Cx) >> 10;
- rr += (R_VAL(pix) * Cx) >> 10;
- gg += (G_VAL(pix) * Cx) >> 10;
- bb += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- aa += (A_VAL(pix) * j) >> 10;
- rr += (R_VAL(pix) * j) >> 10;
- gg += (G_VAL(pix) * j) >> 10;
- bb += (B_VAL(pix) * j) >> 10;
- }
- a += ((aa - a) * yap) >> 8;
- r += ((rr - r) * yap) >> 8;
- g += ((gg - g) * yap) >> 8;
- b += ((bb - b) * yap) >> 8;
- }
- *pbuf++ = ARGB_JOIN(((a + (1 << 3)) >> 4),
- ((r + (1 << 3)) >> 4),
- ((g + (1 << 3)) >> 4),
- ((b + (1 << 3)) >> 4));
- xp++; xapp++;
- }
+#ifdef EVAS_SLI
+ if (((ysli) % dc->sli.h) == dc->sli.y)
+#endif
+ {
+ while (dst_clip_w--)
+ {
+ Cx = *xapp >> 16;
+ xap = *xapp & 0xffff;
+ pix = *yp + *xp + pos;
- func(buf, NULL, dc->mul.col, dptr, w);
+ a = (A_VAL(pix) * xap) >> 10;
+ r = (R_VAL(pix) * xap) >> 10;
+ g = (G_VAL(pix) * xap) >> 10;
+ b = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ a += (A_VAL(pix) * Cx) >> 10;
+ r += (R_VAL(pix) * Cx) >> 10;
+ g += (G_VAL(pix) * Cx) >> 10;
+ b += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ a += (A_VAL(pix) * j) >> 10;
+ r += (R_VAL(pix) * j) >> 10;
+ g += (G_VAL(pix) * j) >> 10;
+ b += (B_VAL(pix) * j) >> 10;
+ }
+ if ((yap = *yapp) > 0)
+ {
+ pix = *yp + *xp + src_w + pos;
+ aa = (A_VAL(pix) * xap) >> 10;
+ rr = (R_VAL(pix) * xap) >> 10;
+ gg = (G_VAL(pix) * xap) >> 10;
+ bb = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ aa += (A_VAL(pix) * Cx) >> 10;
+ rr += (R_VAL(pix) * Cx) >> 10;
+ gg += (G_VAL(pix) * Cx) >> 10;
+ bb += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ aa += (A_VAL(pix) * j) >> 10;
+ rr += (R_VAL(pix) * j) >> 10;
+ gg += (G_VAL(pix) * j) >> 10;
+ bb += (B_VAL(pix) * j) >> 10;
+ }
+ a += ((aa - a) * yap) >> 8;
+ r += ((rr - r) * yap) >> 8;
+ g += ((gg - g) * yap) >> 8;
+ b += ((bb - b) * yap) >> 8;
+ }
+ *pbuf++ = ARGB_JOIN(((a + (1 << 3)) >> 4),
+ ((r + (1 << 3)) >> 4),
+ ((g + (1 << 3)) >> 4),
+ ((b + (1 << 3)) >> 4));
+ xp++; xapp++;
+ }
- pbuf = buf;
- dptr += dst_w; dst_clip_w = w;
- yp++; yapp++;
- xp = xpoints;// + dxx;
- xapp = xapoints;// + dxx;
+ func(buf, NULL, dc->mul.col, dptr, w);
+ }
+#ifdef EVAS_SLI
+ ysli++;
+#endif
+ pbuf = buf;
+ dptr += dst_w; dst_clip_w = w;
+ yp++; yapp++;
+ xp = xpoints;// + dxx;
+ xapp = xapoints;// + dxx;
}
}
else
while (dst_clip_h--)
{
pbuf = dptr;
-
- while (dst_clip_w--)
+#ifdef EVAS_SLI
+ if (((ysli) % dc->sli.h) == dc->sli.y)
+#endif
{
- Cx = *xapp >> 16;
- xap = *xapp & 0xffff;
- pix = *yp + *xp + pos;
+ while (dst_clip_w--)
+ {
+ Cx = *xapp >> 16;
+ xap = *xapp & 0xffff;
+ pix = *yp + *xp + pos;
- r = (R_VAL(pix) * xap) >> 10;
- g = (G_VAL(pix) * xap) >> 10;
- b = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- r += (R_VAL(pix) * Cx) >> 10;
- g += (G_VAL(pix) * Cx) >> 10;
- b += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- r += (R_VAL(pix) * j) >> 10;
- g += (G_VAL(pix) * j) >> 10;
- b += (B_VAL(pix) * j) >> 10;
- }
- if ((yap = *yapp) > 0)
- {
- pix = *yp + *xp + src_w + pos;
- rr = (R_VAL(pix) * xap) >> 10;
- gg = (G_VAL(pix) * xap) >> 10;
- bb = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- rr += (R_VAL(pix) * Cx) >> 10;
- gg += (G_VAL(pix) * Cx) >> 10;
- bb += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- rr += (R_VAL(pix) * j) >> 10;
- gg += (G_VAL(pix) * j) >> 10;
- bb += (B_VAL(pix) * j) >> 10;
- }
- r += ((rr - r) * yap) >> 8;
- g += ((gg - g) * yap) >> 8;
- b += ((bb - b) * yap) >> 8;
- }
- *pbuf++ = ARGB_JOIN(0xff,
- ((r + (1 << 3)) >> 4),
- ((g + (1 << 3)) >> 4),
- ((b + (1 << 3)) >> 4));
- xp++; xapp++;
+ r = (R_VAL(pix) * xap) >> 10;
+ g = (G_VAL(pix) * xap) >> 10;
+ b = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ r += (R_VAL(pix) * Cx) >> 10;
+ g += (G_VAL(pix) * Cx) >> 10;
+ b += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ r += (R_VAL(pix) * j) >> 10;
+ g += (G_VAL(pix) * j) >> 10;
+ b += (B_VAL(pix) * j) >> 10;
+ }
+ if ((yap = *yapp) > 0)
+ {
+ pix = *yp + *xp + src_w + pos;
+ rr = (R_VAL(pix) * xap) >> 10;
+ gg = (G_VAL(pix) * xap) >> 10;
+ bb = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ rr += (R_VAL(pix) * Cx) >> 10;
+ gg += (G_VAL(pix) * Cx) >> 10;
+ bb += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ rr += (R_VAL(pix) * j) >> 10;
+ gg += (G_VAL(pix) * j) >> 10;
+ bb += (B_VAL(pix) * j) >> 10;
+ }
+ r += ((rr - r) * yap) >> 8;
+ g += ((gg - g) * yap) >> 8;
+ b += ((bb - b) * yap) >> 8;
+ }
+ *pbuf++ = ARGB_JOIN(0xff,
+ ((r + (1 << 3)) >> 4),
+ ((g + (1 << 3)) >> 4),
+ ((b + (1 << 3)) >> 4));
+ xp++; xapp++;
+ }
}
-
+#ifdef EVAS_SLI
+ ysli++;
+#endif
+
dptr += dst_w; dst_clip_w = w;
yp++; yapp++;
xp = xpoints;// + dxx;
{
while (dst_clip_h--)
{
- while (dst_clip_w--)
- {
- Cx = *xapp >> 16;
- xap = *xapp & 0xffff;
- pix = *yp + *xp + pos;
+#ifdef EVAS_SLI
+ if (((ysli) % dc->sli.h) == dc->sli.y)
+#endif
+ {
+ while (dst_clip_w--)
+ {
+ Cx = *xapp >> 16;
+ xap = *xapp & 0xffff;
+ pix = *yp + *xp + pos;
- r = (R_VAL(pix) * xap) >> 10;
- g = (G_VAL(pix) * xap) >> 10;
- b = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- r += (R_VAL(pix) * Cx) >> 10;
- g += (G_VAL(pix) * Cx) >> 10;
- b += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- r += (R_VAL(pix) * j) >> 10;
- g += (G_VAL(pix) * j) >> 10;
- b += (B_VAL(pix) * j) >> 10;
- }
- if ((yap = *yapp) > 0)
- {
- pix = *yp + *xp + src_w + pos;
- rr = (R_VAL(pix) * xap) >> 10;
- gg = (G_VAL(pix) * xap) >> 10;
- bb = (B_VAL(pix) * xap) >> 10;
- for (j = (1 << 14) - xap; j > Cx; j -= Cx)
- {
- pix++;
- rr += (R_VAL(pix) * Cx) >> 10;
- gg += (G_VAL(pix) * Cx) >> 10;
- bb += (B_VAL(pix) * Cx) >> 10;
- }
- if (j > 0)
- {
- pix++;
- rr += (R_VAL(pix) * j) >> 10;
- gg += (G_VAL(pix) * j) >> 10;
- bb += (B_VAL(pix) * j) >> 10;
- }
- r += ((rr - r) * yap) >> 8;
- g += ((gg - g) * yap) >> 8;
- b += ((bb - b) * yap) >> 8;
- }
- *pbuf++ = ARGB_JOIN(0xff,
- ((r + (1 << 3)) >> 4),
- ((g + (1 << 3)) >> 4),
- ((b + (1 << 3)) >> 4));
- xp++; xapp++;
- }
-
- func(buf, NULL, dc->mul.col, dptr, w);
+ r = (R_VAL(pix) * xap) >> 10;
+ g = (G_VAL(pix) * xap) >> 10;
+ b = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ r += (R_VAL(pix) * Cx) >> 10;
+ g += (G_VAL(pix) * Cx) >> 10;
+ b += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ r += (R_VAL(pix) * j) >> 10;
+ g += (G_VAL(pix) * j) >> 10;
+ b += (B_VAL(pix) * j) >> 10;
+ }
+ if ((yap = *yapp) > 0)
+ {
+ pix = *yp + *xp + src_w + pos;
+ rr = (R_VAL(pix) * xap) >> 10;
+ gg = (G_VAL(pix) * xap) >> 10;
+ bb = (B_VAL(pix) * xap) >> 10;
+ for (j = (1 << 14) - xap; j > Cx; j -= Cx)
+ {
+ pix++;
+ rr += (R_VAL(pix) * Cx) >> 10;
+ gg += (G_VAL(pix) * Cx) >> 10;
+ bb += (B_VAL(pix) * Cx) >> 10;
+ }
+ if (j > 0)
+ {
+ pix++;
+ rr += (R_VAL(pix) * j) >> 10;
+ gg += (G_VAL(pix) * j) >> 10;
+ bb += (B_VAL(pix) * j) >> 10;
+ }
+ r += ((rr - r) * yap) >> 8;
+ g += ((gg - g) * yap) >> 8;
+ b += ((bb - b) * yap) >> 8;
+ }
+ *pbuf++ = ARGB_JOIN(0xff,
+ ((r + (1 << 3)) >> 4),
+ ((g + (1 << 3)) >> 4),
+ ((b + (1 << 3)) >> 4));
+ xp++; xapp++;
+ }
- pbuf = buf;
- dptr += dst_w; dst_clip_w = w;
- yp++; yapp++;
- xp = xpoints;// + dxx;
- xapp = xapoints;// + dxx;
+ func(buf, NULL, dc->mul.col, dptr, w);
+ }
+#ifdef EVAS_SLI
+ ysli++;
+#endif
+
+ pbuf = buf;
+ dptr += dst_w; dst_clip_w = w;
+ yp++; yapp++;
+ xp = xpoints;// + dxx;
+ xapp = xapoints;// + dxx;
}
}
}