diff --git a/include/gpu/GrProgramStageFactory.h b/include/gpu/GrProgramStageFactory.h
index 1ce0393..2795deb 100644
--- a/include/gpu/GrProgramStageFactory.h
+++ b/include/gpu/GrProgramStageFactory.h
@@ -26,7 +26,7 @@
         kProgramStageKeyBits = 10,
     };
 
-    virtual StageKey stageKey(const GrCustomStage* stage) const = 0;
+    virtual StageKey glStageKey(const GrCustomStage* stage) const = 0;
     virtual GrGLProgramStage* createGLInstance(
         const GrCustomStage* stage) const = 0;
 
@@ -74,12 +74,12 @@
      */
     virtual const char* name() const SK_OVERRIDE { return StageClass::Name(); }
 
-    /** Returns an value that idenitifes the shader code generated by
+    /** Returns a value that idenitifes the GLSL shader code generated by
         a GrCustomStage. This enables caching of generated shaders. Part of the
         id identifies the GrCustomShader subclass. The remainder is based
         on the aspects of the GrCustomStage object's configuration that affect
-        code generation. */
-    virtual StageKey stageKey(const GrCustomStage* stage) const SK_OVERRIDE {
+        GLSL code generation. */
+    virtual StageKey glStageKey(const GrCustomStage* stage) const SK_OVERRIDE {
         GrAssert(kIllegalStageClassID != fStageClassID);
         StageKey stageID = GLProgramStage::GenKey(stage);
 #if GR_DEBUG
diff --git a/src/gpu/gl/GrGpuGLShaders.cpp b/src/gpu/gl/GrGpuGLShaders.cpp
index 08cfaf7..7687a14 100644
--- a/src/gpu/gl/GrGpuGLShaders.cpp
+++ b/src/gpu/gl/GrGpuGLShaders.cpp
@@ -302,7 +302,7 @@
                     (GrSamplerState::FilterDirection)direction,
                     stage.fKernelWidth, kernel);
                 stage.fCustomStageKey =
-                    customStages[s]->getFactory().stageKey(customStages[s]);
+                    customStages[s]->getFactory().glStageKey(customStages[s]);
             }
         }
         CachedData cachedData;
@@ -934,7 +934,7 @@
     GrCustomStage* customStage = sampler.getCustomStage();
     if (customStage) {
         const GrProgramStageFactory& factory = customStage->getFactory();
-        stage->fCustomStageKey = factory.stageKey(customStage);
+        stage->fCustomStageKey = factory.glStageKey(customStage);
         customStages[index] = customStage;
     } else {
         stage->fCustomStageKey = 0;
