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

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

Issue 1776383002: Use correct gradient calculation for rotated distance fields. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix android error Created 4 years, 9 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 | « no previous file | src/gpu/batches/GrAtlasTextBatch.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 /* 2 /*
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "GrAADistanceFieldPathRenderer.h" 9 #include "GrAADistanceFieldPathRenderer.h"
10 10
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 183
184 void onPrepareDraws(Target* target) const override { 184 void onPrepareDraws(Target* target) const override {
185 int instanceCount = fGeoData.count(); 185 int instanceCount = fGeoData.count();
186 186
187 SkMatrix invert; 187 SkMatrix invert;
188 if (this->usesLocalCoords() && !this->viewMatrix().invert(&invert)) { 188 if (this->usesLocalCoords() && !this->viewMatrix().invert(&invert)) {
189 SkDebugf("Could not invert viewmatrix\n"); 189 SkDebugf("Could not invert viewmatrix\n");
190 return; 190 return;
191 } 191 }
192 192
193 const SkMatrix& ctm = this->viewMatrix();
193 uint32_t flags = 0; 194 uint32_t flags = 0;
194 flags |= this->viewMatrix().isSimilarity() ? kSimilarity_DistanceFieldEf fectFlag : 0; 195 flags |= ctm.isScaleTranslate() ? kScaleOnly_DistanceFieldEffectFlag : 0 ;
196 flags |= ctm.isSimilarity() ? kSimilarity_DistanceFieldEffectFlag : 0;
195 197
196 GrTextureParams params(SkShader::kRepeat_TileMode, GrTextureParams::kBil erp_FilterMode); 198 GrTextureParams params(SkShader::kRepeat_TileMode, GrTextureParams::kBil erp_FilterMode);
197 199
198 // Setup GrGeometryProcessor 200 // Setup GrGeometryProcessor
199 GrBatchAtlas* atlas = fAtlas; 201 GrBatchAtlas* atlas = fAtlas;
200 SkAutoTUnref<GrGeometryProcessor> dfProcessor( 202 SkAutoTUnref<GrGeometryProcessor> dfProcessor(
201 GrDistanceFieldPathGeoProc::Create(this->color(), 203 GrDistanceFieldPathGeoProc::Create(this->color(),
202 this->viewMatrix(), 204 this->viewMatrix(),
203 atlas->getTexture(), 205 atlas->getTexture(),
204 params, 206 params,
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 geometry.fAntiAlias = random->nextBool(); 645 geometry.fAntiAlias = random->nextBool();
644 geometry.fGenID = random->nextU(); 646 geometry.fGenID = random->nextU();
645 647
646 return AADistanceFieldPathBatch::Create(geometry, viewMatrix, 648 return AADistanceFieldPathBatch::Create(geometry, viewMatrix,
647 gTestStruct.fAtlas, 649 gTestStruct.fAtlas,
648 &gTestStruct.fPathCache, 650 &gTestStruct.fPathCache,
649 &gTestStruct.fPathList); 651 &gTestStruct.fPathList);
650 } 652 }
651 653
652 #endif 654 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/batches/GrAtlasTextBatch.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698