diff --git a/src/gpu/GrFragmentProcessor.cpp b/src/gpu/GrFragmentProcessor.cpp
index a867fcb..57c4aec 100644
--- a/src/gpu/GrFragmentProcessor.cpp
+++ b/src/gpu/GrFragmentProcessor.cpp
@@ -71,7 +71,7 @@
 
 void GrFragmentProcessor::addCoordTransform(GrCoordTransform* transform) {
     fCoordTransforms.push_back(transform);
-    fFlags |= kHasCoordTranforms_Flag;
+    fFlags |= kHasCoordTransforms_Flag;
 }
 
 #ifdef SK_DEBUG
@@ -93,8 +93,8 @@
 #endif
 
 int GrFragmentProcessor::registerChildProcessor(std::unique_ptr<GrFragmentProcessor> child) {
-    if (child->fFlags & kHasCoordTranforms_Flag) {
-        fFlags |= kHasCoordTranforms_Flag;
+    if (child->fFlags & kHasCoordTransforms_Flag) {
+        fFlags |= kHasCoordTransforms_Flag;
     }
     fRequestedFeatures |= child->fRequestedFeatures;
 
diff --git a/src/gpu/GrFragmentProcessor.h b/src/gpu/GrFragmentProcessor.h
index eff4b3f..8d8afbb 100644
--- a/src/gpu/GrFragmentProcessor.h
+++ b/src/gpu/GrFragmentProcessor.h
@@ -137,7 +137,7 @@
     bool usesLocalCoords() const {
         // If the processor is sampled with explicit coords then we do not need to apply the
         // coord transforms in the vertex shader to the local coords.
-        return SkToBool(fFlags & kHasCoordTranforms_Flag) &&
+        return SkToBool(fFlags & kHasCoordTransforms_Flag) &&
                SkToBool(fFlags & kCoordTransformsApplyToLocalCoords_Flag);
     }
 
@@ -455,7 +455,7 @@
 
     enum PrivateFlags {
         kFirstPrivateFlag = kAll_OptimizationFlags + 1,
-        kHasCoordTranforms_Flag = kFirstPrivateFlag,
+        kHasCoordTransforms_Flag = kFirstPrivateFlag,
         kCoordTransformsApplyToLocalCoords_Flag = kFirstPrivateFlag << 1,
     };
 
