Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(430)

Unified Diff: include/gpu/GrBackendProcessorFactory.h

Issue 772513002: create and thread batch tracker object (Closed) Base URL: https://skia.googlesource.com/skia.git@2_vertex_attr
Patch Set: a bit of cleanup Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | include/gpu/GrTBackendProcessorFactory.h » ('j') | src/gpu/GrGeometryProcessor.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | include/gpu/GrTBackendProcessorFactory.h » ('j') | src/gpu/GrGeometryProcessor.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698