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

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

Issue 1483103003: Make onPrepareDraws const (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: merge 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/GrAAConvexPathRenderer.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/GrAADistanceFieldPathRenderer.cpp
diff --git a/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp b/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
index 80fd54212cc68290da48c68c5006dd2f856b75c4..0b14e4df4ecfdc757c18732935ba18fdb593544a 100644
--- a/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
+++ b/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp
@@ -143,7 +143,6 @@ public:
uint32_t fGenID;
SkStrokeRec fStroke;
bool fAntiAlias;
- PathData* fPathData;
};
static GrDrawBatch* Create(const Geometry& geometry, GrColor color, const SkMatrix& viewMatrix,
@@ -183,7 +182,7 @@ private:
int fInstancesToFlush;
};
- void onPrepareDraws(Target* target) override {
+ void onPrepareDraws(Target* target) const override {
int instanceCount = fGeoData.count();
SkMatrix invert;
@@ -229,7 +228,7 @@ private:
flushInfo.fInstancesToFlush = 0;
for (int i = 0; i < instanceCount; i++) {
- Geometry& args = fGeoData[i];
+ const Geometry& args = fGeoData[i];
// get mip level
SkScalar maxScale = this->viewMatrix().getMaxScale();
@@ -247,22 +246,22 @@ private:
// check to see if path is cached
PathData::Key key(args.fGenID, desiredDimension, args.fStroke);
- args.fPathData = fPathCache->find(key);
- if (nullptr == args.fPathData || !atlas->hasID(args.fPathData->fID)) {
+ PathData* pathData = fPathCache->find(key);
+ if (nullptr == pathData || !atlas->hasID(pathData->fID)) {
// Remove the stale cache entry
- if (args.fPathData) {
- fPathCache->remove(args.fPathData->fKey);
- fPathList->remove(args.fPathData);
- delete args.fPathData;
+ if (pathData) {
+ fPathCache->remove(pathData->fKey);
+ fPathList->remove(pathData);
+ delete pathData;
}
SkScalar scale = desiredDimension/maxDim;
- args.fPathData = new PathData;
+ pathData = new PathData;
if (!this->addPathToAtlas(target,
dfProcessor,
this->pipeline(),
&flushInfo,
atlas,
- args.fPathData,
+ pathData,
args.fPath,
args.fGenID,
args.fStroke,
@@ -274,7 +273,7 @@ private:
}
}
- atlas->setLastUseToken(args.fPathData->fID, target->currentToken());
+ atlas->setLastUseToken(pathData->fID, target->currentToken());
// Now set vertices
intptr_t offset = reinterpret_cast<intptr_t>(vertices);
@@ -288,7 +287,7 @@ private:
vertexStride,
this->viewMatrix(),
args.fPath,
- args.fPathData);
+ pathData);
flushInfo.fInstancesToFlush++;
}
@@ -304,7 +303,6 @@ private:
fBatch.fColor = color;
fBatch.fViewMatrix = viewMatrix;
fGeoData.push_back(geometry);
- fGeoData.back().fPathData = nullptr;
fAtlas = atlas;
fPathCache = pathCache;
@@ -326,7 +324,7 @@ private:
const SkStrokeRec& stroke,
bool antiAlias,
uint32_t dimension,
- SkScalar scale) {
+ SkScalar scale) const {
const SkRect& bounds = path.getBounds();
// generate bounding rect for bitmap draw
@@ -443,7 +441,7 @@ private:
size_t vertexStride,
const SkMatrix& viewMatrix,
const SkPath& path,
- const PathData* pathData) {
+ const PathData* pathData) const {
GrTexture* texture = atlas->getTexture();
SkScalar dx = pathData->fBounds.fLeft;
@@ -476,7 +474,7 @@ private:
vertexStride);
}
- void flush(GrVertexBatch::Target* target, FlushInfo* flushInfo) {
+ void flush(GrVertexBatch::Target* target, FlushInfo* flushInfo) const {
GrVertices vertices;
int maxInstancesPerDraw = flushInfo->fIndexBuffer->maxQuads();
vertices.initInstanced(kTriangles_GrPrimitiveType, flushInfo->fVertexBuffer,
« no previous file with comments | « src/gpu/batches/GrAAConvexPathRenderer.cpp ('k') | src/gpu/batches/GrAAHairLinePathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698