Index: src/gpu/effects/GrBitmapTextGeoProc.cpp |
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp |
index 54e88917ad0cf0f071a2384c9866ccb839f3f774..2c187a9dcf76cbfb2feedb539f13de722eebda4f 100644 |
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp |
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp |
@@ -39,9 +39,15 @@ public: |
GrGLVertToFrag v(kVec2f_GrSLType); |
pb->addVarying("TextureCoords", &v); |
// this is only used with text, so our texture bounds always match the glyph atlas |
- vsBuilder->codeAppendf("%s = vec2(" GR_FONT_ATLAS_RECIP_WIDTH ", " |
- GR_FONT_ATLAS_RECIP_HEIGHT ")*%s;", v.vsOut(), |
- cte.inTextureCoords()->fName); |
+ if (cte.maskFormat() == kA8_GrMaskFormat) { |
+ vsBuilder->codeAppendf("%s = vec2(" GR_FONT_ATLAS_A8_RECIP_WIDTH ", " |
+ GR_FONT_ATLAS_RECIP_HEIGHT ")*%s;", v.vsOut(), |
+ cte.inTextureCoords()->fName); |
+ } else { |
+ vsBuilder->codeAppendf("%s = vec2(" GR_FONT_ATLAS_RECIP_WIDTH ", " |
+ GR_FONT_ATLAS_RECIP_HEIGHT ")*%s;", v.vsOut(), |
+ cte.inTextureCoords()->fName); |
+ } |
// Setup pass through color |
this->setupColorPassThrough(pb, local.fInputColorType, args.fOutputColor, cte.inColor(), |