Index: include/gpu/GrBackendProcessorFactory.h |
diff --git a/include/gpu/GrBackendProcessorFactory.h b/include/gpu/GrBackendProcessorFactory.h |
index 9dda1659d07677a89af975eb04e032b90a48f125..9c4693e4fc519d063b6ca2491499df6e3d66c262 100644 |
--- a/include/gpu/GrBackendProcessorFactory.h |
+++ b/include/gpu/GrBackendProcessorFactory.h |
@@ -68,14 +68,6 @@ private: |
*/ |
class GrBackendProcessorFactory : SkNoncopyable { |
public: |
- /** |
- * Generates an processor's key. The key is based on the aspects of the GrProcessor object's |
- * configuration that affect GLSL code generation. Two GrProcessor instances that would cause |
- * this->createGLInstance()->emitCode() to produce different code must produce different keys. |
- */ |
- virtual void getGLProcessorKey(const GrProcessor&, const GrGLCaps&, |
- GrProcessorKeyBuilder*) const = 0; |
- |
/** |
* Produces a human-reable name for the v. |
*/ |
@@ -126,19 +118,41 @@ class GrGLGeometryProcessor; |
class GrBackendFragmentProcessorFactory : public GrBackendProcessorFactory { |
public: |
/** |
+ * Generates an processor's key. The key is based on the aspects of the GrProcessor object's |
+ * configuration that affect GLSL code generation. Two GrProcessor instances that would cause |
+ * this->createGLInstance()->emitCode() to produce different code must produce different keys. |
+ */ |
+ virtual void getGLProcessorKey(const GrFragmentProcessor&, |
+ const GrGLCaps&, |
+ GrProcessorKeyBuilder*) const = 0; |
+ |
+ /** |
* Creates a GrGLProcessor instance that is used both to generate code for the GrProcessor in a |
* GLSL program and to manage updating uniforms for the program when it is used. |
*/ |
virtual GrGLFragmentProcessor* createGLInstance(const GrFragmentProcessor&) const = 0; |
}; |
+class GrBatchTracker; |
+ |
class GrBackendGeometryProcessorFactory : public GrBackendProcessorFactory { |
public: |
/** |
+ * Generates an processor's key. The key is based on the aspects of the GrProcessor object's |
+ * configuration that affect GLSL code generation. Two GrProcessor instances that would cause |
+ * this->createGLInstance()->emitCode() to produce different code must produce different keys. |
+ */ |
+ virtual void getGLProcessorKey(const GrGeometryProcessor&, |
+ const GrBatchTracker&, |
+ const GrGLCaps&, |
+ GrProcessorKeyBuilder*) const = 0; |
+ |
+ /** |
* Creates a GrGLProcessor instance that is used both to generate code for the GrProcessor in a |
* GLSL program and to manage updating uniforms for the program when it is used. |
*/ |
- virtual GrGLGeometryProcessor* createGLInstance(const GrGeometryProcessor&) const = 0; |
+ virtual GrGLGeometryProcessor* createGLInstance(const GrGeometryProcessor&, |
+ const GrBatchTracker&) const = 0; |
}; |
#endif |