Simplify calculations in AADistanceFieldPathBatch::writePathVertices.

No API changes.

BUG=skia:4632
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1715063002
TBR=reed

Review URL: https://codereview.chromium.org/1715063002
This commit is contained in:
benjaminwagner 2016-02-22 11:10:33 -08:00 committed by Commit bot
parent f47b9a3b88
commit 01e5838076
4 changed files with 7 additions and 27 deletions

View File

@ -60,10 +60,6 @@ private:
};
MipMapsStatus fMipMapsStatus;
// These two shift a fixed-point value into normalized coordinates
// for this texture if the texture is power of two sized.
int fShiftFixedX;
int fShiftFixedY;
friend class GrTexturePriv;

View File

@ -91,9 +91,6 @@ GrTexture::GrTexture(GrGpu* gpu, LifeCycle lifeCycle, const GrSurfaceDesc& desc)
GrTexturePriv::ComputeScratchKey(desc, &key);
this->setScratchKey(key);
}
// only make sense if alloc size is pow2
fShiftFixedX = 31 - SkCLZ(fDesc.fWidth);
fShiftFixedY = 31 - SkCLZ(fDesc.fHeight);
}
void GrTexturePriv::ComputeScratchKey(const GrSurfaceDesc& desc, GrScratchKey* key) {

View File

@ -41,17 +41,6 @@ public:
static void ComputeScratchKey(const GrSurfaceDesc&, GrScratchKey*);
// TODO: Move this logic and the shift values out of here and to the callers.
SkFixed normalizeFixedX(SkFixed x) const {
SkASSERT(SkIsPow2(fTexture->fDesc.fWidth));
return x >> fTexture->fShiftFixedX;
}
SkFixed normalizeFixedY(SkFixed y) const {
SkASSERT(SkIsPow2(fTexture->fDesc.fHeight));
return y >> fTexture->fShiftFixedY;
}
private:
GrTexturePriv(GrTexture* texture) : fTexture(texture) { }
GrTexturePriv(const GrTexturePriv& that) : fTexture(that.fTexture) { }

View File

@ -461,11 +461,6 @@ private:
width *= invScale;
height *= invScale;
SkFixed tx = SkIntToFixed(pathData->fAtlasLocation.fX);
SkFixed ty = SkIntToFixed(pathData->fAtlasLocation.fY);
SkFixed tw = SkScalarToFixed(pathData->fBounds.width());
SkFixed th = SkScalarToFixed(pathData->fBounds.height());
SkPoint* positions = reinterpret_cast<SkPoint*>(offset);
// vertex positions
@ -479,12 +474,15 @@ private:
*colorPtr = color;
}
const SkScalar tx = SkIntToScalar(pathData->fAtlasLocation.fX);
const SkScalar ty = SkIntToScalar(pathData->fAtlasLocation.fY);
// vertex texture coords
SkPoint* textureCoords = (SkPoint*)(offset + sizeof(SkPoint) + sizeof(GrColor));
textureCoords->setRectFan(SkFixedToFloat(texture->texturePriv().normalizeFixedX(tx)),
SkFixedToFloat(texture->texturePriv().normalizeFixedY(ty)),
SkFixedToFloat(texture->texturePriv().normalizeFixedX(tx + tw)),
SkFixedToFloat(texture->texturePriv().normalizeFixedY(ty + th)),
textureCoords->setRectFan(tx / texture->width(),
ty / texture->height(),
(tx + pathData->fBounds.width()) / texture->width(),
(ty + pathData->fBounds.height()) / texture->height(),
vertexStride);
}