Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9948 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/BitmapScaleBench.cpp b/bench/BitmapScaleBench.cpp
index 45ea1b4..14d9fc0 100644
--- a/bench/BitmapScaleBench.cpp
+++ b/bench/BitmapScaleBench.cpp
@@ -28,10 +28,10 @@
}
protected:
-
+
SkBitmap fInputBitmap, fOutputBitmap;
SkMatrix fMatrix;
-
+
virtual const char* onGetName() {
return fName.c_str();
}
@@ -39,15 +39,15 @@
int inputSize() const {
return fInputSize;
}
-
+
int outputSize() const {
return fOutputSize;
}
-
+
float scale() const {
return float(outputSize())/inputSize();
}
-
+
SkIPoint onGetSize() SK_OVERRIDE {
return SkIPoint::Make( fOutputSize, fOutputSize );
}
@@ -55,17 +55,17 @@
void setName(const char * name) {
fName.printf( "bitmap_scale_%s_%d_%d", name, fInputSize, fOutputSize );
}
-
+
virtual void onPreDraw() {
fInputBitmap.setConfig(SkBitmap::kARGB_8888_Config, fInputSize, fInputSize);
fInputBitmap.allocPixels();
fInputBitmap.eraseColor(SK_ColorWHITE);
fInputBitmap.setIsOpaque(true);
-
+
fOutputBitmap.setConfig(SkBitmap::kARGB_8888_Config, fOutputSize, fOutputSize);
fOutputBitmap.allocPixels();
fOutputBitmap.setIsOpaque(true);
-
+
fMatrix.setScale( scale(), scale() );
}
@@ -95,9 +95,9 @@
virtual void doScaleImage() SK_OVERRIDE {
SkCanvas canvas( fOutputBitmap );
SkPaint paint;
-
+
paint.setFlags( SkPaint::kHighQualityFilterBitmap_Flag | SkPaint::kFilterBitmap_Flag );
-
+
canvas.drawBitmapMatrix( fInputBitmap, fMatrix, &paint );
}
private:
diff --git a/gm/arcofzorro.cpp b/gm/arcofzorro.cpp
index 1e38130..f1f1195 100644
--- a/gm/arcofzorro.cpp
+++ b/gm/arcofzorro.cpp
@@ -10,7 +10,7 @@
namespace skiagm {
-// This GM draws a lot of arcs in a 'Z' shape. It particularly exercises
+// This GM draws a lot of arcs in a 'Z' shape. It particularly exercises
// the 'drawArc' code near a singularly of its processing (i.e., near the
// edge of one of its underlying quads).
class ArcOfZorroGM : public GM {
diff --git a/gm/gradientDirtyLaundry.cpp b/gm/gradientDirtyLaundry.cpp
index adf59b6..ff6864a 100644
--- a/gm/gradientDirtyLaundry.cpp
+++ b/gm/gradientDirtyLaundry.cpp
@@ -63,7 +63,7 @@
typedef SkShader* (*GradMaker)(const SkPoint pts[2], const GradData& data,
SkShader::TileMode tm, SkUnitMapper* mapper);
static const GradMaker gGradMakers[] = {
- MakeLinear, MakeRadial, MakeSweep,
+ MakeLinear, MakeRadial, MakeSweep,
};
///////////////////////////////////////////////////////////////////////////////
diff --git a/gm/scalebitmap.cpp b/gm/scalebitmap.cpp
index 5d08ba8..c015062 100644
--- a/gm/scalebitmap.cpp
+++ b/gm/scalebitmap.cpp
@@ -11,15 +11,15 @@
#include "SkStream.h"
class ScaleBitmapGM : public skiagm::GM {
-
+
public:
-
+
ScaleBitmapGM(const char filename[], float scale)
: fFilename(filename), fScale(scale)
{
this->setBGColor(0xFFDDDDDD);
fName.printf("scalebitmap_%s_%f", filename, scale);
-
+
SkString path(skiagm::GM::gResourcePath);
path.append("/");
path.append(fFilename);
@@ -43,15 +43,15 @@
}
protected:
-
-
+
+
SkBitmap fBM;
SkString fName;
SkString fFilename;
int fSize;
float fScale;
-
-
+
+
virtual SkString onShortName() SK_OVERRIDE {
return fName;
}
@@ -65,7 +65,7 @@
dst.setConfig(SkBitmap::kARGB_8888_Config, fBM.width() * fScale, fBM.height() * fScale);
dst.allocPixels();
fBM.scale(&dst);
-
+
canvas->drawBitmap(dst, 0, 0);
}
@@ -75,7 +75,7 @@
class ScaleBitmapMipmapGM: public ScaleBitmapGM {
SkMatrix fMatrix;
-
+
public:
ScaleBitmapMipmapGM(const char filename[], float scale)
: INHERITED(filename, scale)
@@ -87,12 +87,12 @@
protected:
virtual void onDraw(SkCanvas *canvas) SK_OVERRIDE {
SkPaint paint;
-
+
paint.setFilterBitmap(true);
canvas->drawBitmapMatrix(fBM, fMatrix, &paint);
}
private:
- typedef ScaleBitmapGM INHERITED;
+ typedef ScaleBitmapGM INHERITED;
};
//////////////////////////////////////////////////////////////////////////////
@@ -111,4 +111,3 @@
DEF_GM( return new ScaleBitmapMipmapGM("nature.jpg", 0.25f); )
DEF_GM( return new ScaleBitmapMipmapGM("nature.jpg", 0.125f); )
DEF_GM( return new ScaleBitmapMipmapGM("nature.jpg", 0.0625f); )
-
diff --git a/include/core/SkBitmap.h b/include/core/SkBitmap.h
index d7f4327..d5277c6 100644
--- a/include/core/SkBitmap.h
+++ b/include/core/SkBitmap.h
@@ -538,7 +538,7 @@
by calling copyTo().
*/
bool canCopyTo(Config newConfig) const;
-
+
/**
* DEPRECATED -- will be replaced with API on SkPaint
*/
@@ -702,17 +702,17 @@
int extractMipLevel(SkBitmap* dst, SkFixed sx, SkFixed sy);
bool hasMipMap() const;
void freeMipMap();
-
+
/** Make a scaled copy of this bitmap into the provided destination.
* The caller is responsible for having set the width and height of the
- * provided destination bitmap, and also having allocated its pixel
+ * provided destination bitmap, and also having allocated its pixel
* memory.
- *
- * This function is temporary and for testing purposes only; it will
- * likely move once it has been properly plumbed into the bitmap
+ *
+ * This function is temporary and for testing purposes only; it will
+ * likely move once it has been properly plumbed into the bitmap
* shader infrastructure.
*/
-
+
void scale(SkBitmap *dst) const;
friend struct SkBitmapProcState;
diff --git a/samplecode/SamplePathUtils.cpp b/samplecode/SamplePathUtils.cpp
index d194363..09ab773 100644
--- a/samplecode/SamplePathUtils.cpp
+++ b/samplecode/SamplePathUtils.cpp
@@ -25,10 +25,10 @@
static const uint8_t gBits[][16] = {
{ 0x18, 0x00, 0x3c, 0x00, 0x7e, 0x00, 0xdb, 0x00,
0xff, 0x00, 0x24, 0x00, 0x5a, 0x00, 0xa5, 0x00 },
-
+
{ 0x20, 0x80, 0x91, 0x20, 0xbf, 0xa0, 0xee, 0xe0,
0xff, 0xe0, 0x7f, 0xc0, 0x20, 0x80, 0x40, 0x40 },
-
+
{ 0x0f, 0x00, 0x7f, 0xe0, 0xff, 0xf0, 0xe6, 0x70,
0xff, 0xf0, 0x19, 0x80, 0x36, 0xc0, 0xc0, 0x30 }
};
@@ -38,8 +38,8 @@
public:
static const int fNumBits = 3;
static const int fH = 8, fW = 12;
- static const size_t fRowBytes = 2;
- static const int fNumChars = fH * fRowBytes;
+ static const size_t fRowBytes = 2;
+ static const int fNumChars = fH * fRowBytes;
SkPaint fBmpPaint;
SkScalar fPhase;
@@ -47,7 +47,7 @@
SamplePathUtils() {
fBmpPaint.setAntiAlias(true); // Black paint for bitmap
fBmpPaint.setStyle(SkPaint::kFill_Style);
-
+
fPhase = 0.0f; // to animate the dashed path
}
@@ -77,13 +77,13 @@
canvas->scale(10.0f, 10.0f); // scales up
for (int i = 0; i < fNumBits; ++i) {
- canvas->save();
+ canvas->save();
for (size_t j = 0; j < SK_ARRAY_COUNT(gBitsToPath_fns); ++j) {
SkPath path;
gBitsToPath_fns[j](&path, (char*) &gBits[i], fW, fH, fRowBytes);
//draw skPath and outline
- canvas->drawPath(path, fBmpPaint);
+ canvas->drawPath(path, fBmpPaint);
canvas->translate(1.5f * fW, 0); // translates past previous bitmap
canvas->drawPath(path, outlinePaint);
canvas->translate(1.5f * fW, 0); // translates past previous bitmap
diff --git a/src/core/SkBitmapFilter.cpp b/src/core/SkBitmapFilter.cpp
index 79c0a98..441ad05 100644
--- a/src/core/SkBitmapFilter.cpp
+++ b/src/core/SkBitmapFilter.cpp
@@ -29,23 +29,23 @@
int sx = SkScalarFloorToInt(srcPt.fX);
int sy = SkScalarFloorToInt(srcPt.fY);
-
+
SkFixed weight = 0;
SkFixed fr = 0, fg = 0, fb = 0, fa = 0;
-
+
int y0 = SkClampMax(int(ceil(sy-s.getBitmapFilter()->width() + 0.5f)), maxY);
int y1 = SkClampMax(int(floor(sy+s.getBitmapFilter()->width() + 0.5f)), maxY);
int x0 = SkClampMax(int(ceil(sx-s.getBitmapFilter()->width() + 0.5f)), maxX);
int x1 = SkClampMax(int(floor(sx+s.getBitmapFilter()->width() + 0.5f)), maxX);
-
+
for (int src_y = y0; src_y <= y1; src_y++) {
SkFixed yweight = s.getBitmapFilter()->lookup((srcPt.fY - src_y));
-
+
for (int src_x = x0; src_x <= x1 ; src_x++) {
SkFixed xweight = s.getBitmapFilter()->lookup((srcPt.fX - src_x));
-
+
SkFixed combined_weight = SkFixedMul(xweight, yweight);
-
+
SkPMColor c = *s.fBitmap->getAddr32(src_x, src_y);
fr += combined_weight * SkGetPackedR32(c);
fg += combined_weight * SkGetPackedG32(c);
@@ -75,9 +75,9 @@
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;
@@ -129,7 +129,7 @@
*colors++ = SkPackARGB32(a, r, g, b);
x++;
- }
+ }
}
SK_CONF_DECLARE(const char *, c_bitmapFilter, "bitmap.filter", "mitchell", "Which bitmap filter to use [mitchell, sinc, gaussian, triangle, box]");
@@ -148,7 +148,7 @@
} else {
SkASSERT(!!!"Unknown filter type");
}
-
+
return NULL;
}
@@ -176,11 +176,11 @@
if (0xFF != paint.getAlpha()) {
return NULL;
}
-
+
if (fInvType & (SkMatrix::kAffine_Mask | SkMatrix::kScale_Mask)) {
fBitmapFilter = allocateBitmapFilter();
}
-
+
if (fInvType & SkMatrix::kAffine_Mask) {
return highQualityFilter;
} else if (fInvType & SkMatrix::kScale_Mask) {
@@ -213,10 +213,10 @@
float sx = x / scale - 0.5f;
int x0 = SkClampMax(int(ceil(sx-filter->width() + 0.5f)), src->width()-1);
int x1 = SkClampMax(int(floor(sx+filter->width() + 0.5f)), src->width()-1);
-
+
SkFixed total_weight = 0;
SkFixed fr = 0, fg = 0, fb = 0, fa = 0;
-
+
for (int src_x = x0 ; src_x <= x1 ; src_x++) {
SkFixed weight = filter->lookup(sx - src_x);
SkPMColor c = *src->getAddr32(src_x,y);
@@ -244,22 +244,22 @@
static void downScaleHoriz(const SkBitmap *src, SkBitmap *dst, float scale, SkBitmapFilter *filter) {
SkFixed *sums = SkNEW_ARRAY(SkFixed, dst->width() * dst->height() * 4);
SkFixed *weights = SkNEW_ARRAY(SkFixed, dst->width() * dst->height());
-
+
SkAutoTDeleteArray<SkFixed> ada1(sums);
SkAutoTDeleteArray<SkFixed> ada2(weights);
memset(sums, 0, dst->width() * dst->height() * sizeof(SkFixed) * 4);
memset(weights, 0, dst->width() * dst->height() * sizeof(SkFixed));
-
+
for (int y = 0 ; y < src->height() ; y++) {
for (int x = 0 ; x < src->width() ; x++) {
// splat each source pixel into the destination image
float dx = (x + 0.5f) * scale;
int x0 = SkClampMax(int(ceil(dx-filter->width() + 0.5f)), dst->width()-1);
int x1 = SkClampMax(int(floor(dx+filter->width() + 0.5f)), dst->width()-1);
-
+
SkPMColor c = *src->getAddr32(x,y);
-
+
for (int dst_x = x0 ; dst_x <= x1 ; dst_x++) {
SkFixed weight = filter->lookup(dx - dst_x);
sums[4*(y*dst->width() + dst_x) + 0] += weight*SkGetPackedR32(c);
@@ -270,7 +270,7 @@
}
}
}
-
+
divideByWeights(sums, weights, dst);
}
@@ -280,10 +280,10 @@
float sy = y / scale - 0.5f;
int y0 = SkClampMax(int(ceil(sy-filter->width() + 0.5f)), src->height()-1);
int y1 = SkClampMax(int(floor(sy+filter->width() + 0.5f)), src->height()-1);
-
+
SkFixed total_weight = 0;
SkFixed fr = 0, fg = 0, fb = 0, fa = 0;
-
+
for (int src_y = y0 ; src_y <= y1 ; src_y++) {
SkFixed weight = filter->lookup(sy - src_y);
SkPMColor c = *src->getAddr32(x,src_y);
@@ -311,7 +311,7 @@
static void downScaleVert(const SkBitmap *src, SkBitmap *dst, float scale, SkBitmapFilter *filter) {
SkFixed *sums = SkNEW_ARRAY(SkFixed, dst->width() * dst->height() * 4);
SkFixed *weights = SkNEW_ARRAY(SkFixed, dst->width() * dst->height());
-
+
SkAutoTDeleteArray<SkFixed> ada1(sums);
SkAutoTDeleteArray<SkFixed> ada2(weights);
@@ -337,21 +337,21 @@
}
}
}
-
+
divideByWeights(sums, weights, dst);
}
void SkBitmap::scale(SkBitmap *dst) const {
-
+
SkBitmap horiz_temp;
-
+
horiz_temp.setConfig(SkBitmap::kARGB_8888_Config, dst->width(), height());
horiz_temp.allocPixels();
-
+
SkBitmapFilter *filter = allocateBitmapFilter();
-
+
float horiz_scale = float(dst->width()) / width();
-
+
if (horiz_scale == 1) {
this->copyPixelsTo(horiz_temp.getPixels(), getSize());
} else if (horiz_scale > 1) {
@@ -359,9 +359,9 @@
} else if (horiz_scale < 1) {
downScaleHoriz(this, &horiz_temp, horiz_scale, filter);
}
-
+
float vert_scale = float(dst->height()) / height();
-
+
if (vert_scale == 1) {
horiz_temp.copyPixelsTo(dst->getPixels(), dst->getSize());
} else if (vert_scale > 1) {
@@ -369,6 +369,6 @@
} else if (vert_scale < 1) {
downScaleVert(&horiz_temp, dst, vert_scale, filter);
}
-
+
SkDELETE(filter);
}
diff --git a/src/core/SkBitmapFilter.h b/src/core/SkBitmapFilter.h
index bb14290..c6fee2c 100644
--- a/src/core/SkBitmapFilter.h
+++ b/src/core/SkBitmapFilter.h
@@ -24,23 +24,23 @@
: fWidth(width), fInvWidth(1.f/width) {
precomputed = false;
}
-
+
SkFixed lookup( float x ) const {
if (!precomputed) {
precomputeTable();
}
int filter_idx = int(fabsf(x * invWidth() * SKBITMAP_FILTER_TABLE_SIZE));
return fFilterTable[ SkTMin(filter_idx, SKBITMAP_FILTER_TABLE_SIZE-1) ];
- }
-
+ }
+
float lookupFloat( float x ) const {
if (!precomputed) {
precomputeTable();
}
int filter_idx = int(fabsf(x * invWidth() * SKBITMAP_FILTER_TABLE_SIZE));
return fFilterTableFloat[ SkTMin(filter_idx, SKBITMAP_FILTER_TABLE_SIZE-1) ];
- }
-
+ }
+
float width() const { return fWidth; }
float invWidth() const { return fInvWidth; }
virtual float evaluate(float x) const = 0;
@@ -48,7 +48,7 @@
protected:
float fWidth;
float fInvWidth;
-
+
mutable bool precomputed;
mutable SkFixed fFilterTable[SKBITMAP_FILTER_TABLE_SIZE];
mutable float fFilterTableFloat[SKBITMAP_FILTER_TABLE_SIZE];
@@ -69,9 +69,9 @@
class SkMitchellFilter: public SkBitmapFilter {
public:
SkMitchellFilter(float b, float c, float width=2.0f)
- : SkBitmapFilter(width), B(b), C(c) {
+ : SkBitmapFilter(width), B(b), C(c) {
}
-
+
virtual float evaluate(float x) const SK_OVERRIDE {
x = fabsf(x);
if (x > 2.f) {
@@ -92,9 +92,9 @@
class SkGaussianFilter: public SkBitmapFilter {
public:
SkGaussianFilter(float a, float width=2.0f)
- : SkBitmapFilter(width), alpha(a), expWidth(expf(-alpha * width * width)) {
+ : SkBitmapFilter(width), alpha(a), expWidth(expf(-alpha * width * width)) {
}
-
+
virtual float evaluate(float x) const SK_OVERRIDE {
return SkTMax(0.f, float(expf(-alpha*x*x) - expWidth));
}
@@ -105,9 +105,9 @@
class SkTriangleFilter: public SkBitmapFilter {
public:
SkTriangleFilter(float width=1)
- : SkBitmapFilter(width) {
+ : SkBitmapFilter(width) {
}
-
+
virtual float evaluate(float x) const SK_OVERRIDE {
return SkTMax(0.f, fWidth - fabsf(x));
}
@@ -117,9 +117,9 @@
class SkBoxFilter: public SkBitmapFilter {
public:
SkBoxFilter(float width=0.5f)
- : SkBitmapFilter(width) {
+ : SkBitmapFilter(width) {
}
-
+
virtual float evaluate(float x) const SK_OVERRIDE {
return 1;
}
@@ -130,9 +130,9 @@
class SkSincFilter: public SkBitmapFilter {
public:
SkSincFilter(float t, float width=3.f)
- : SkBitmapFilter(width), tau(t) {
+ : SkBitmapFilter(width), tau(t) {
}
-
+
virtual float evaluate(float x) const SK_OVERRIDE {
x = sk_float_abs(x * fInvWidth);
if (x < 1e-5f) return 1.f;
diff --git a/src/core/SkBitmapProcState.h b/src/core/SkBitmapProcState.h
index 69de2ca..1f75533 100644
--- a/src/core/SkBitmapProcState.h
+++ b/src/core/SkBitmapProcState.h
@@ -114,7 +114,7 @@
// are ignored
ShaderProc32 getShaderProc32() const { return fShaderProc32; }
ShaderProc16 getShaderProc16() const { return fShaderProc16; }
-
+
SkBitmapFilter* getBitmapFilter() const { return fBitmapFilter; }
#ifdef SK_DEBUG
@@ -142,7 +142,7 @@
MatrixProc chooseMatrixProc(bool trivial_matrix);
bool chooseProcs(const SkMatrix& inv, const SkPaint&);
ShaderProc32 chooseShaderProc32();
-
+
void buildFilterCoefficients(SkFixed dst[4], float t) const;
SkBitmapFilter *fBitmapFilter;
@@ -206,6 +206,6 @@
SkPMColor *SK_RESTRICT colors, int count);
void highQualityFilter(const SkBitmapProcState &s, int x, int y,
SkPMColor *SK_RESTRICT colors, int count);
-
+
#endif
diff --git a/src/core/SkGeometry.cpp b/src/core/SkGeometry.cpp
index a12f961..cd6aa2e 100644
--- a/src/core/SkGeometry.cpp
+++ b/src/core/SkGeometry.cpp
@@ -1208,7 +1208,7 @@
/* given a quad-curve and a point (x,y), chop the quad at that point and place
the new off-curve point and endpoint into 'dest'. The new end point is used
(rather than (x,y)) to compensate for numerical inaccuracies.
- Should only return false if the computed pos is the start of the curve
+ Should only return false if the computed pos is the start of the curve
(i.e. root == 0)
*/
static bool truncate_last_curve(const SkPoint quad[3], SkScalar x, SkScalar y, SkPoint* dest)
diff --git a/src/opts/SkBitmapFilter_opts_SSE2.cpp b/src/opts/SkBitmapFilter_opts_SSE2.cpp
index fe0a242..685ec77 100644
--- a/src/opts/SkBitmapFilter_opts_SSE2.cpp
+++ b/src/opts/SkBitmapFilter_opts_SSE2.cpp
@@ -29,7 +29,7 @@
static inline void print128i_8(__m128i value) {
unsigned char *v = (unsigned char*) &value;
- printf("%.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u\n",
+ printf("%.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u %.3u\n",
v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7],
v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]
);
@@ -49,10 +49,10 @@
void highQualityFilter_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;
-
+
while (count-- > 0) {
SkPoint srcPt;
s.fInvProc(*s.fInvMatrix, SkIntToScalar(x),
@@ -62,33 +62,33 @@
int sx = SkScalarFloorToInt(srcPt.fX);
int sy = SkScalarFloorToInt(srcPt.fY);
-
+
__m128 weight = _mm_setzero_ps();
__m128 accum = _mm_setzero_ps();
-
+
int y0 = SkTMax(0, int(ceil(sy-s.getBitmapFilter()->width() + 0.5f)));
int y1 = SkTMin(maxY, int(floor(sy+s.getBitmapFilter()->width() + 0.5f)));
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 = s.getBitmapFilter()->lookupFloat( (srcPt.fY - src_y) );
-
+
for (int src_x = x0; src_x <= x1 ; src_x++) {
float xweight = s.getBitmapFilter()->lookupFloat( (srcPt.fX - src_x) );
-
+
float combined_weight = xweight * yweight;
SkPMColor color = *s.fBitmap->getAddr32(src_x, src_y);
-
+
__m128i c = _mm_cvtsi32_si128( color );
c = _mm_unpacklo_epi8(c, _mm_setzero_si128());
c = _mm_unpacklo_epi16(c, _mm_setzero_si128());
-
+
__m128 cfloat = _mm_cvtepi32_ps( c );
-
+
__m128 weightVector = _mm_set1_ps(combined_weight);
-
+
accum = _mm_add_ps(accum, _mm_mul_ps(cfloat, weightVector));
weight = _mm_add_ps( weight, weightVector );
}
@@ -96,16 +96,16 @@
accum = _mm_div_ps(accum, weight);
accum = _mm_add_ps(accum, _mm_set1_ps(0.5f));
-
+
__m128i accumInt = _mm_cvtps_epi32( accum );
-
+
int localResult[4];
_mm_storeu_si128((__m128i *) (localResult), accumInt);
int a = SkClampMax(localResult[0], 255);
int r = SkClampMax(localResult[1], a);
int g = SkClampMax(localResult[2], a);
int b = SkClampMax(localResult[3], a);
-
+
*colors++ = SkPackARGB32(a, r, g, b);
x++;
@@ -116,67 +116,67 @@
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 = s.getBitmapFilter()->lookupFloat( (srcPt.fY - src_y) );
-
+
for (int src_x = x0; src_x <= x1 ; src_x++) {
float xweight = s.getBitmapFilter()->lookupFloat( (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),
+
+ __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);
-
- }
+
+ }
}
diff --git a/src/opts/SkBitmapFilter_opts_SSE2.h b/src/opts/SkBitmapFilter_opts_SSE2.h
index 974b008..c511acc 100644
--- a/src/opts/SkBitmapFilter_opts_SSE2.h
+++ b/src/opts/SkBitmapFilter_opts_SSE2.h
@@ -16,5 +16,5 @@
SkPMColor *SK_RESTRICT colors, int count);
void highQualityFilter_SSE2(const SkBitmapProcState &s, int x, int y,
SkPMColor *SK_RESTRICT colors, int count);
-
+
#endif