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

Unified Diff: src/gpu/GrPrimitiveProcessor.h

Issue 1274513005: Rename GrPipelineInfo to GrPipelineOptimizations (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 5 years, 4 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/GrPipeline.cpp ('k') | src/gpu/GrTessellatingPathRenderer.cpp » ('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 54d7d8dde6e20180a623bf94ca0bb4cd79356709..2d1feb9fa4dd9ed5479ba02dd4ef0686e674625f 100644
--- a/src/gpu/GrPrimitiveProcessor.h
+++ b/src/gpu/GrPrimitiveProcessor.h
@@ -73,32 +73,38 @@ struct GrInitInvariantOutput;
/*
* This class allows the GrPipeline to communicate information about the pipeline to a
- * GrPrimitiveProcessor that will be used in conjunction with the GrPipeline.
+ * GrBatch which should be forwarded to the GrPrimitiveProcessor(s) created by the batch.
+ * These are not properly part of the pipeline because they assume the specific inputs
+ * that the batch provided when it created the pipeline. Identical pipelines may be
+ * created by different batches with different input assumptions and therefore different
+ * computed optimizations. It is the batch-specific optimizations that allow the pipelines
+ * to be equal.
*/
-class GrPipelineInfo {
+class GrPipelineOptimizations {
public:
/** Does the pipeline require the GrPrimitiveProcessor's color? */
- bool readsColor() const { return SkToBool(kReadsColor_GrPipelineInfoFlag & fFlags); }
+ bool readsColor() const { return SkToBool(kReadsColor_GrPipelineOptimizationsFlag & fFlags); }
/** Does the pipeline require the GrPrimitiveProcessor's coverage? */
- bool readsCoverage() const { return SkToBool(kReadsCoverage_GrPipelineInfoFlag & fFlags); }
+ bool readsCoverage() const { return
+ SkToBool(kReadsCoverage_GrPipelineOptimizationsFlag & fFlags); }
/** Does the pipeline require access to (implicit or explicit) local coordinates? */
bool readsLocalCoords() const {
- return SkToBool(kReadsLocalCoords_GrPipelineInfoFlag & fFlags);
+ return SkToBool(kReadsLocalCoords_GrPipelineOptimizationsFlag & fFlags);
}
/** Does the pipeline allow the GrPrimitiveProcessor to combine color and coverage into one
color output ? */
bool canTweakAlphaForCoverage() const {
- return SkToBool(kCanTweakAlphaForCoverage_GrPipelineInfoFlag & fFlags);
+ return SkToBool(kCanTweakAlphaForCoverage_GrPipelineOptimizationsFlag & fFlags);
}
/** Does the pipeline require the GrPrimitiveProcessor to specify a specific color (and if
so get the color)? */
bool getOverrideColorIfSet(GrColor* overrideColor) const {
- if (SkToBool(kUseOverrideColor_GrPipelineInfoFlag & fFlags)) {
- SkASSERT(SkToBool(kReadsColor_GrPipelineInfoFlag & fFlags));
+ if (SkToBool(kUseOverrideColor_GrPipelineOptimizationsFlag & fFlags)) {
+ SkASSERT(SkToBool(kReadsColor_GrPipelineOptimizationsFlag & fFlags));
if (overrideColor) {
*overrideColor = fOverrideColor;
}
@@ -110,21 +116,21 @@ public:
private:
enum {
// If this is not set the primitive processor need not produce a color output
- kReadsColor_GrPipelineInfoFlag = 0x1,
+ kReadsColor_GrPipelineOptimizationsFlag = 0x1,
// If this is not set the primitive processor need not produce a coverage output
- kReadsCoverage_GrPipelineInfoFlag = 0x2,
+ kReadsCoverage_GrPipelineOptimizationsFlag = 0x2,
// If this is not set the primitive processor need not produce local coordinates
- kReadsLocalCoords_GrPipelineInfoFlag = 0x4,
+ kReadsLocalCoords_GrPipelineOptimizationsFlag = 0x4,
// If this flag is set then the primitive processor may produce color*coverage as
// its color output (and not output a separate coverage).
- kCanTweakAlphaForCoverage_GrPipelineInfoFlag = 0x8,
+ kCanTweakAlphaForCoverage_GrPipelineOptimizationsFlag = 0x8,
// If this flag is set the GrPrimitiveProcessor must produce fOverrideColor as its
// output color. If not set fOverrideColor is to be ignored.
- kUseOverrideColor_GrPipelineInfoFlag = 0x10,
+ kUseOverrideColor_GrPipelineOptimizationsFlag = 0x10,
};
uint32_t fFlags;
@@ -151,7 +157,7 @@ enum GrGPInput {
*/
class GrPrimitiveProcessor : public GrProcessor {
public:
- virtual void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const = 0;
+ virtual void initBatchTracker(GrBatchTracker*, const GrPipelineOptimizations&) const = 0;
virtual bool canMakeEqual(const GrBatchTracker& mine,
const GrPrimitiveProcessor& that,
« no previous file with comments | « src/gpu/GrPipeline.cpp ('k') | src/gpu/GrTessellatingPathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698