| Index: include/gpu/GrBackendProcessorFactory.h
|
| diff --git a/include/gpu/GrBackendProcessorFactory.h b/include/gpu/GrBackendProcessorFactory.h
|
| index acbc12c192610eca193d476abf69a8d5069152b4..dc0bbbe53f66e224bd61cc729f615d69c7fa1270 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.
|
| */
|
| @@ -128,6 +120,15 @@ class GrGLXferProcessor;
|
| 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.
|
| */
|
| @@ -143,13 +144,26 @@ public:
|
| virtual GrGLXferProcessor* createGLInstance(const GrXferProcessor&) 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
|
|
|