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

Unified Diff: src/gpu/batches/GrAAFillRectBatch.cpp

Issue 1467553002: New API for computing optimization invariants. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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/batches/GrAADistanceFieldPathRenderer.cpp ('k') | src/gpu/batches/GrAAHairLinePathRenderer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/batches/GrAAFillRectBatch.cpp
diff --git a/src/gpu/batches/GrAAFillRectBatch.cpp b/src/gpu/batches/GrAAFillRectBatch.cpp
index e2b088c541f45330f1b22f4b2a9690f5ff464fd5..9ec8ffdc4a2a46046b4545f612b50e9ab8b5b9ac 100644
--- a/src/gpu/batches/GrAAFillRectBatch.cpp
+++ b/src/gpu/batches/GrAAFillRectBatch.cpp
@@ -46,7 +46,7 @@ const GrIndexBuffer* get_index_buffer(GrResourceProvider* resourceProvider) {
static const GrGeometryProcessor* create_fill_rect_gp(
const SkMatrix& viewMatrix,
- const GrPipelineOptimizations& opts,
+ const GrXPOverridesForBatch& overrides,
GrDefaultGeoProcFactory::LocalCoords::Type localCoordsType) {
using namespace GrDefaultGeoProcFactory;
@@ -55,7 +55,7 @@ static const GrGeometryProcessor* create_fill_rect_gp(
// TODO remove coverage if coverage is ignored
/*if (coverageIgnored) {
coverageType = Coverage::kNone_Type;
- } else*/ if (opts.canTweakAlphaForCoverage()) {
+ } else*/ if (overrides.canTweakAlphaForCoverage()) {
coverageType = Coverage::kSolid_Type;
} else {
coverageType = Coverage::kAttribute_Type;
@@ -67,8 +67,8 @@ static const GrGeometryProcessor* create_fill_rect_gp(
LocalCoords localCoords(localCoordsType);
return GrDefaultGeoProcFactory::Create(color, coverage, localCoords, SkMatrix::I());
} else {
- LocalCoords localCoords(opts.readsLocalCoords() ? localCoordsType :
- LocalCoords::kUnused_Type);
+ LocalCoords localCoords(overrides.readsLocalCoords() ? localCoordsType :
+ LocalCoords::kUnused_Type);
return CreateForDeviceSpace(color, coverage, localCoords, viewMatrix);
}
}
@@ -79,7 +79,7 @@ static void generate_aa_fill_rect_geometry(intptr_t verts,
const SkMatrix& viewMatrix,
const SkRect& rect,
const SkRect& devRect,
- const GrPipelineOptimizations& opts,
+ const GrXPOverridesForBatch& overrides,
const SkMatrix* localMatrix) {
SkPoint* fan0Pos = reinterpret_cast<SkPoint*>(verts);
SkPoint* fan1Pos = reinterpret_cast<SkPoint*>(verts + 4 * vertexStride);
@@ -140,7 +140,7 @@ static void generate_aa_fill_rect_geometry(intptr_t verts,
localCoordMatrix.mapPointsWithStride(fan0Loc, fan0Pos, vertexStride, 8);
}
- bool tweakAlphaForCoverage = opts.canTweakAlphaForCoverage();
+ bool tweakAlphaForCoverage = overrides.canTweakAlphaForCoverage();
// Make verts point to vertex color and then set all the color and coverage vertex attrs
// values.
@@ -227,20 +227,20 @@ public:
}
static bool CanCombine(const Geometry& mine, const Geometry& theirs,
- const GrPipelineOptimizations& opts) {
+ const GrXPOverridesForBatch& overrides) {
// We apply the viewmatrix to the rect points on the cpu. However, if the pipeline uses
// local coords then we won't be able to batch. We could actually upload the viewmatrix
// using vertex attributes in these cases, but haven't investigated that
- return !opts.readsLocalCoords() || mine.fViewMatrix.cheapEqualTo(theirs.fViewMatrix);
+ return !overrides.readsLocalCoords() || mine.fViewMatrix.cheapEqualTo(theirs.fViewMatrix);
}
static const GrGeometryProcessor* CreateGP(const Geometry& geo,
- const GrPipelineOptimizations& opts) {
+ const GrXPOverridesForBatch& overrides) {
const GrGeometryProcessor* gp =
- create_fill_rect_gp(geo.fViewMatrix, opts,
+ create_fill_rect_gp(geo.fViewMatrix, overrides,
GrDefaultGeoProcFactory::LocalCoords::kUsePosition_Type);
- SkASSERT(opts.canTweakAlphaForCoverage() ?
+ SkASSERT(overrides.canTweakAlphaForCoverage() ?
gp->getVertexStride() == sizeof(GrDefaultGeoProcFactory::PositionColorAttr) :
gp->getVertexStride() ==
sizeof(GrDefaultGeoProcFactory::PositionColorCoverageAttr));
@@ -248,10 +248,10 @@ public:
}
static void Tesselate(intptr_t vertices, size_t vertexStride, const Geometry& geo,
- const GrPipelineOptimizations& opts) {
+ const GrXPOverridesForBatch& overrides) {
generate_aa_fill_rect_geometry(vertices, vertexStride,
- geo.fColor, geo.fViewMatrix, geo.fRect, geo.fDevRect, opts,
- nullptr);
+ geo.fColor, geo.fViewMatrix, geo.fRect, geo.fDevRect,
+ overrides, nullptr);
}
};
@@ -277,17 +277,17 @@ public:
}
static bool CanCombine(const Geometry& mine, const Geometry& theirs,
- const GrPipelineOptimizations&) {
+ const GrXPOverridesForBatch& overrides) {
return true;
}
static const GrGeometryProcessor* CreateGP(const Geometry& geo,
- const GrPipelineOptimizations& opts) {
+ const GrXPOverridesForBatch& overrides) {
const GrGeometryProcessor* gp =
- create_fill_rect_gp(geo.fViewMatrix, opts,
+ create_fill_rect_gp(geo.fViewMatrix, overrides,
GrDefaultGeoProcFactory::LocalCoords::kHasExplicit_Type);
- SkASSERT(opts.canTweakAlphaForCoverage() ?
+ SkASSERT(overrides.canTweakAlphaForCoverage() ?
gp->getVertexStride() ==
sizeof(GrDefaultGeoProcFactory::PositionColorLocalCoordAttr) :
gp->getVertexStride() ==
@@ -296,10 +296,10 @@ public:
}
static void Tesselate(intptr_t vertices, size_t vertexStride, const Geometry& geo,
- const GrPipelineOptimizations& opts) {
+ const GrXPOverridesForBatch& overrides) {
generate_aa_fill_rect_geometry(vertices, vertexStride,
- geo.fColor, geo.fViewMatrix, geo.fRect, geo.fDevRect, opts,
- &geo.fLocalMatrix);
+ geo.fColor, geo.fViewMatrix, geo.fRect, geo.fDevRect,
+ overrides, &geo.fLocalMatrix);
}
};
« no previous file with comments | « src/gpu/batches/GrAADistanceFieldPathRenderer.cpp ('k') | src/gpu/batches/GrAAHairLinePathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698