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

Side by Side Diff: src/gpu/batches/GrAADistanceFieldPathRenderer.cpp

Issue 2108523002: Make lines a special case in GrShape (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: reject empty shape in GrDC::internalDrawPath Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « src/gpu/GrSoftwarePathRenderer.cpp ('k') | src/gpu/batches/GrDashLinePathRenderer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "GrAADistanceFieldPathRenderer.h" 8 #include "GrAADistanceFieldPathRenderer.h"
9 9
10 #include "GrBatchFlushState.h" 10 #include "GrBatchFlushState.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 } 102 }
103 // currently don't support perspective 103 // currently don't support perspective
104 if (args.fViewMatrix->hasPerspective()) { 104 if (args.fViewMatrix->hasPerspective()) {
105 return false; 105 return false;
106 } 106 }
107 107
108 // only support paths with bounds within kMediumMIP by kMediumMIP, 108 // only support paths with bounds within kMediumMIP by kMediumMIP,
109 // scaled to have bounds within 2.0f*kLargeMIP by 2.0f*kLargeMIP 109 // scaled to have bounds within 2.0f*kLargeMIP by 2.0f*kLargeMIP
110 // the goal is to accelerate rendering of lots of small paths that may be sc aling 110 // the goal is to accelerate rendering of lots of small paths that may be sc aling
111 SkScalar maxScale = args.fViewMatrix->getMaxScale(); 111 SkScalar maxScale = args.fViewMatrix->getMaxScale();
112 SkRect bounds; 112 SkRect bounds = args.fShape->styledBounds();
113 args.fShape->styledBounds(&bounds);
114 SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height()); 113 SkScalar maxDim = SkMaxScalar(bounds.width(), bounds.height());
115 114
116 return maxDim <= kMediumMIP && maxDim * maxScale <= 2.0f*kLargeMIP; 115 return maxDim <= kMediumMIP && maxDim * maxScale <= 2.0f*kLargeMIP;
117 } 116 }
118 117
119 //////////////////////////////////////////////////////////////////////////////// 118 ////////////////////////////////////////////////////////////////////////////////
120 119
121 // padding around path bounds to allow for antialiased pixels 120 // padding around path bounds to allow for antialiased pixels
122 static const SkScalar kAntiAliasPad = 1.0f; 121 static const SkScalar kAntiAliasPad = 1.0f;
123 122
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 geometry.fAntiAlias = random->nextBool(); 627 geometry.fAntiAlias = random->nextBool();
629 628
630 return AADistanceFieldPathBatch::Create(geometry, viewMatrix, 629 return AADistanceFieldPathBatch::Create(geometry, viewMatrix,
631 gTestStruct.fAtlas, 630 gTestStruct.fAtlas,
632 &gTestStruct.fShapeCache, 631 &gTestStruct.fShapeCache,
633 &gTestStruct.fShapeList, 632 &gTestStruct.fShapeList,
634 gammaCorrect); 633 gammaCorrect);
635 } 634 }
636 635
637 #endif 636 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrSoftwarePathRenderer.cpp ('k') | src/gpu/batches/GrDashLinePathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698