Fix texture allocation in SWMaskHelper
https://codereview.chromium.org/19789006/
git-svn-id: http://skia.googlecode.com/svn/trunk@10197 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrSWMaskHelper.cpp b/src/gpu/GrSWMaskHelper.cpp
index 3f9251c..eb5c555 100644
--- a/src/gpu/GrSWMaskHelper.cpp
+++ b/src/gpu/GrSWMaskHelper.cpp
@@ -130,22 +130,9 @@
/**
* Move the result of the software mask generation back to the gpu
*/
-void GrSWMaskHelper::toTexture(GrTexture *texture, uint8_t alpha) {
+void GrSWMaskHelper::toTexture(GrTexture *texture) {
SkAutoLockPixels alp(fBM);
- // The destination texture is almost always larger than "fBM". Clear
- // it appropriately so we don't get mask artifacts outside of the path's
- // bounding box
-
- // "texture" needs to be installed as the render target for the clear
- // and the texture upload but cannot remain the render target upon
- // return. Callers typically use it as a texture and it would then
- // be both source and dest.
- GrDrawState::AutoRenderTargetRestore artr(fContext->getGpu()->drawState(),
- texture->asRenderTarget());
-
- fContext->getGpu()->clear(NULL, GrColorPackRGBA(alpha, alpha, alpha, alpha));
-
texture->writePixels(0, 0, fBM.width(), fBM.height(),
kAlpha_8_GrPixelConfig,
fBM.getPixels(), fBM.rowBytes());
@@ -177,7 +164,7 @@
return NULL;
}
- helper.toTexture(ast.texture(), 0x00);
+ helper.toTexture(ast.texture());
return ast.detach();
}