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

Unified Diff: src/gpu/GrPrimitiveProcessor.h

Issue 1332923003: Remove batchtracker (Closed) Base URL: https://skia.googlesource.com/skia.git@latecreatepathprocessor
Patch Set: tweaks Created 5 years, 3 months 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 | « src/gpu/GrPipelineBuilder.cpp ('k') | src/gpu/GrProcOptInfo.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrPrimitiveProcessor.h
diff --git a/src/gpu/GrPrimitiveProcessor.h b/src/gpu/GrPrimitiveProcessor.h
index cba869eb3f9b7c116ea38984a7b5ba051863e2b2..54155a6d5f43566751954cb1a5529785ee07fa4b 100644
--- a/src/gpu/GrPrimitiveProcessor.h
+++ b/src/gpu/GrPrimitiveProcessor.h
@@ -42,30 +42,6 @@
* it emits the appropriate color, or none at all, as directed.
*/
-/*
- * A struct for tracking batching decisions. While this lives on GrOptState, it is managed
- * entirely by the derived classes of the GP.
- * // TODO this was an early attempt at handling out of order batching. It should be
- * used carefully as it is being replaced by GrBatch
- */
-class GrBatchTracker {
-public:
- template <typename T> const T& cast() const {
- SkASSERT(sizeof(T) <= kMaxSize);
- return *reinterpret_cast<const T*>(fData.get());
- }
-
- template <typename T> T* cast() {
- SkASSERT(sizeof(T) <= kMaxSize);
- return reinterpret_cast<T*>(fData.get());
- }
-
- static const size_t kMaxSize = 32;
-
-private:
- SkAlignedSStorage<kMaxSize> fData;
-};
-
class GrGLSLCaps;
class GrGLPrimitiveProcessor;
@@ -155,28 +131,12 @@ private:
};
/*
- * This enum is shared by GrPrimitiveProcessors and GrGLPrimitiveProcessors to coordinate shaders
- * with vertex attributes / uniforms.
- */
-enum GrGPInput {
- kAllOnes_GrGPInput,
- kAttribute_GrGPInput,
- kUniform_GrGPInput,
- kIgnored_GrGPInput,
-};
-
-/*
* GrPrimitiveProcessor defines an interface which all subclasses must implement. All
* GrPrimitiveProcessors must proivide seed color and coverage for the Ganesh color / coverage
* pipelines, and they must provide some notion of equality
*/
class GrPrimitiveProcessor : public GrProcessor {
public:
- virtual void initBatchTracker(GrBatchTracker*, const GrPipelineOptimizations&) const = 0;
-
- virtual void getInvariantOutputColor(GrInitInvariantOutput* out) const = 0;
- virtual void getInvariantOutputCoverage(GrInitInvariantOutput* out) const = 0;
-
// Only the GrGeometryProcessor subclass actually has a geo shader or vertex attributes, but
// we put these calls on the base class to prevent having to cast
virtual bool willUseGeoShader() const = 0;
@@ -230,16 +190,14 @@ public:
*
* TODO: A better name for this function would be "compute" instead of "get".
*/
- virtual void getGLProcessorKey(const GrBatchTracker& bt,
- const GrGLSLCaps& caps,
+ virtual void getGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const = 0;
/** Returns a new instance of the appropriate *GL* implementation class
for the given GrProcessor; caller is responsible for deleting
the object. */
- virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
- const GrGLSLCaps& caps) const = 0;
+ virtual GrGLPrimitiveProcessor* createGLInstance(const GrGLSLCaps& caps) const = 0;
bool isPathRendering() const { return fIsPathRendering; }
« no previous file with comments | « src/gpu/GrPipelineBuilder.cpp ('k') | src/gpu/GrProcOptInfo.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698