Remove dead code in SkBitmapFilter_opts_SSE2.h/cpp
BUG=skia: R=mtklein@google.com, humper@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/530673002
This commit is contained in:
parent
2e9176c348
commit
a695514ced
@ -108,74 +108,6 @@ void highQualityFilter_SSE2(const SkBitmapProcState& s, int x, int y,
|
||||
}
|
||||
}
|
||||
|
||||
void highQualityFilter_ScaleOnly_SSE2(const SkBitmapProcState &s, int x, int y,
|
||||
SkPMColor *SK_RESTRICT colors, int count) {
|
||||
const int maxX = s.fBitmap->width() - 1;
|
||||
const int maxY = s.fBitmap->height() - 1;
|
||||
|
||||
SkPoint srcPt;
|
||||
s.fInvProc(s.fInvMatrix, SkIntToScalar(x),
|
||||
SkIntToScalar(y), &srcPt);
|
||||
srcPt.fY -= SK_ScalarHalf;
|
||||
int sy = SkScalarFloorToInt(srcPt.fY);
|
||||
|
||||
int y0 = SkTMax(0, int(ceil(sy-s.getBitmapFilter()->width() + 0.5f)));
|
||||
int y1 = SkTMin(maxY, int(floor(sy+s.getBitmapFilter()->width() + 0.5f)));
|
||||
|
||||
while (count-- > 0) {
|
||||
srcPt.fX -= SK_ScalarHalf;
|
||||
srcPt.fY -= SK_ScalarHalf;
|
||||
|
||||
int sx = SkScalarFloorToInt(srcPt.fX);
|
||||
|
||||
float weight = 0;
|
||||
__m128 accum = _mm_setzero_ps();
|
||||
|
||||
int x0 = SkTMax(0, int(ceil(sx-s.getBitmapFilter()->width() + 0.5f)));
|
||||
int x1 = SkTMin(maxX, int(floor(sx+s.getBitmapFilter()->width() + 0.5f)));
|
||||
|
||||
for (int src_y = y0; src_y <= y1; src_y++) {
|
||||
float yweight = SkScalarToFloat(s.getBitmapFilter()->lookupScalar(srcPt.fY - src_y));
|
||||
|
||||
for (int src_x = x0; src_x <= x1 ; src_x++) {
|
||||
float xweight = SkScalarToFloat(s.getBitmapFilter()->lookupScalar(srcPt.fX - src_x));
|
||||
|
||||
float combined_weight = xweight * yweight;
|
||||
|
||||
SkPMColor color = *s.fBitmap->getAddr32(src_x, src_y);
|
||||
|
||||
__m128 c = _mm_set_ps((float)SkGetPackedB32(color),
|
||||
(float)SkGetPackedG32(color),
|
||||
(float)SkGetPackedR32(color),
|
||||
(float)SkGetPackedA32(color));
|
||||
|
||||
__m128 weightVector = _mm_set1_ps(combined_weight);
|
||||
|
||||
accum = _mm_add_ps(accum, _mm_mul_ps(c, weightVector));
|
||||
weight += combined_weight;
|
||||
}
|
||||
}
|
||||
|
||||
__m128 totalWeightVector = _mm_set1_ps(weight);
|
||||
accum = _mm_div_ps(accum, totalWeightVector);
|
||||
accum = _mm_add_ps(accum, _mm_set1_ps(0.5f));
|
||||
|
||||
float localResult[4];
|
||||
_mm_storeu_ps(localResult, accum);
|
||||
int a = SkClampMax(int(localResult[0]), 255);
|
||||
int r = SkClampMax(int(localResult[1]), a);
|
||||
int g = SkClampMax(int(localResult[2]), a);
|
||||
int b = SkClampMax(int(localResult[3]), a);
|
||||
|
||||
*colors++ = SkPackARGB32(a, r, g, b);
|
||||
|
||||
x++;
|
||||
|
||||
s.fInvProc(s.fInvMatrix, SkIntToScalar(x),
|
||||
SkIntToScalar(y), &srcPt);
|
||||
}
|
||||
}
|
||||
|
||||
// Convolves horizontally along a single row. The row data is given in
|
||||
// |src_data| and continues for the num_values() of the filter.
|
||||
void convolveHorizontally_SSE2(const unsigned char* src_data,
|
||||
|
@ -11,8 +11,6 @@
|
||||
#include "SkBitmapProcState.h"
|
||||
#include "SkConvolver.h"
|
||||
|
||||
void highQualityFilter_ScaleOnly_SSE2(const SkBitmapProcState &s, int x, int y,
|
||||
SkPMColor *SK_RESTRICT colors, int count);
|
||||
void highQualityFilter_SSE2(const SkBitmapProcState &s, int x, int y,
|
||||
SkPMColor *SK_RESTRICT colors, int count);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user