diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp
index be9bb27..a68f6f9 100644
--- a/src/gpu/text/GrAtlasTextBlob.cpp
+++ b/src/gpu/text/GrAtlasTextBlob.cpp
@@ -179,7 +179,7 @@
     // to regenerate the blob on any color change
     // We use the grPaint to get any color filter effects
     if (fKey.fCanonicalColor == SK_ColorTRANSPARENT &&
-        fFilteredPaintColor != paint.filteredUnpremulColor()) {
+        fLuminanceColor != paint.luminanceColor()) {
         return true;
     }
 
@@ -266,10 +266,10 @@
 
     std::unique_ptr<GrAtlasTextOp> op;
     if (info.drawAsDistanceFields()) {
-        GrColor filteredColor = paint.filteredUnpremulColor();
+        SkColor luminanceColor = paint.luminanceColor();
         bool useBGR = SkPixelGeometryIsBGR(props.pixelGeometry());
         op = GrAtlasTextOp::MakeDistanceField(glyphCount, cache, distanceAdjustTable,
-                                              useGammaCorrectDistanceTable, filteredColor,
+                                              useGammaCorrectDistanceTable, luminanceColor,
                                               info.hasUseLCDText(), useBGR);
     } else {
         op = GrAtlasTextOp::MakeBitmap(format, glyphCount, cache);
