fix valgrind complaint - indeed corner case.
SVN revision: 49414
This commit is contained in:
parent
eb4b780754
commit
3a5502362e
|
@ -8,7 +8,7 @@
|
||||||
for (y = ystart; y <= yend; y++)
|
for (y = ystart; y <= yend; y++)
|
||||||
{
|
{
|
||||||
int x, w, ww;
|
int x, w, ww;
|
||||||
FPc u, v, ud, vd, dv;
|
FPc u, v, ud, vd, dv, ue, ve;
|
||||||
DATA32 *d, *s;
|
DATA32 *d, *s;
|
||||||
#ifdef COLMUL
|
#ifdef COLMUL
|
||||||
FPc cv, cd, cc; // col
|
FPc cv, cd, cc; // col
|
||||||
|
@ -39,9 +39,19 @@
|
||||||
|
|
||||||
ww = w;
|
ww = w;
|
||||||
u = span->u[0] << FPI;
|
u = span->u[0] << FPI;
|
||||||
|
if (u < 0) u = 0;
|
||||||
|
else if (u >= swp) u = swp - 1;
|
||||||
v = span->v[0] << FPI;
|
v = span->v[0] << FPI;
|
||||||
ud = ((span->u[1] << FPI) - u) / w;
|
if (v < 0) v = 0;
|
||||||
vd = ((span->v[1] << FPI) - v) / w;
|
else if (v >= shp) v = shp - 1;
|
||||||
|
ue = span->u[1] << FPI;
|
||||||
|
if (ue < 0) ue = 0;
|
||||||
|
else if (ue >= swp) ue = swp - 1;
|
||||||
|
ve = span->v[1] << FPI;
|
||||||
|
if (ve < 0) ve = 0;
|
||||||
|
else if (ve >= shp) ve = shp - 1;
|
||||||
|
ud = (ue - u) / w;
|
||||||
|
vd = (ve - v) / w;
|
||||||
tl = (long long)ud * (w << FP);
|
tl = (long long)ud * (w << FP);
|
||||||
tl = tl / dv;
|
tl = tl / dv;
|
||||||
ud = tl;
|
ud = tl;
|
||||||
|
@ -113,7 +123,7 @@
|
||||||
for (y = ystart; y <= yend; y++)
|
for (y = ystart; y <= yend; y++)
|
||||||
{
|
{
|
||||||
int x, w, ww;
|
int x, w, ww;
|
||||||
FPc u, v, ud, vd;
|
FPc u, v, ud, vd, ue, ve;
|
||||||
DATA32 *d, *s;
|
DATA32 *d, *s;
|
||||||
#ifdef COLMUL
|
#ifdef COLMUL
|
||||||
FPc cv, cd, cc; // col
|
FPc cv, cd, cc; // col
|
||||||
|
@ -135,12 +145,19 @@
|
||||||
if (w <= 0) continue;
|
if (w <= 0) continue;
|
||||||
ww = w;
|
ww = w;
|
||||||
u = span->u[0] << FPI;
|
u = span->u[0] << FPI;
|
||||||
|
if (u < 0) u = 0;
|
||||||
|
else if (u >= swp) u = swp - 1;
|
||||||
v = span->v[0] << FPI;
|
v = span->v[0] << FPI;
|
||||||
ud = ((span->u[1] << FPI) - u) / w;
|
if (v < 0) v = 0;
|
||||||
vd = ((span->v[1] << FPI) - v) / w;
|
else if (v >= shp) v = shp - 1;
|
||||||
if (ud < 0) u -= 1;
|
ue = span->u[1] << FPI;
|
||||||
if (vd < 0) v -= 1;
|
if (ue < 0) ue = 0;
|
||||||
|
else if (ue >= swp) ue = swp - 1;
|
||||||
|
ve = span->v[1] << FPI;
|
||||||
|
if (ve < 0) ve = 0;
|
||||||
|
else if (ve >= shp) ve = shp - 1;
|
||||||
|
ud = (ue - u) / w;
|
||||||
|
vd = (ve - v) / w;
|
||||||
if (direct)
|
if (direct)
|
||||||
d = dst->image.data + (y * dst->cache_entry.w) + x;
|
d = dst->image.data + (y * dst->cache_entry.w) + x;
|
||||||
else
|
else
|
||||||
|
|
|
@ -106,7 +106,7 @@ FUNC_NAME(RGBA_Image *src, RGBA_Image *dst,
|
||||||
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, cw, dc->render_op);
|
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, cw, dc->render_op);
|
||||||
src->cache_entry.flags.alpha = pa;
|
src->cache_entry.flags.alpha = pa;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!havecol)
|
if (!havecol)
|
||||||
{
|
{
|
||||||
#undef COLMUL
|
#undef COLMUL
|
||||||
|
|
|
@ -93,10 +93,10 @@
|
||||||
{
|
{
|
||||||
# ifdef COLMUL
|
# ifdef COLMUL
|
||||||
DATA32 val1, cval; // col
|
DATA32 val1, cval; // col
|
||||||
# endif
|
# endif
|
||||||
# ifdef COLBLACK
|
# ifdef COLBLACK
|
||||||
*d = 0xff000000; // col
|
*d = 0xff000000; // col
|
||||||
# else
|
# else
|
||||||
s = sp + ((v >> (FP + FPI)) * sw) +
|
s = sp + ((v >> (FP + FPI)) * sw) +
|
||||||
(u >> (FP + FPI));
|
(u >> (FP + FPI));
|
||||||
# ifdef COLMUL
|
# ifdef COLMUL
|
||||||
|
@ -104,12 +104,12 @@
|
||||||
cval = INTERP_256((cv >> 16), c2, c1); // col
|
cval = INTERP_256((cv >> 16), c2, c1); // col
|
||||||
*d = MUL4_SYM(cval, val1);
|
*d = MUL4_SYM(cval, val1);
|
||||||
cv += cd; // col
|
cv += cd; // col
|
||||||
# else
|
# else
|
||||||
*d = *s;
|
*d = *s;
|
||||||
# endif
|
# endif
|
||||||
u += ud;
|
u += ud;
|
||||||
v += vd;
|
v += vd;
|
||||||
# endif
|
# endif
|
||||||
d++;
|
d++;
|
||||||
ww--;
|
ww--;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue