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

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

Issue 1467133003: Remove unecessary GetGlyphIdMetrics call (Closed) Base URL: https://skia.googlesource.com/skia.git@temptext
Patch Set: added comment 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 unified diff | Download patch
« no previous file with comments | « src/gpu/GrBatchFontCache.cpp ('k') | no next file » | 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 2015 Google Inc. 2 * Copyright 2015 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 "GrAtlasTextBatch.h" 8 #include "GrAtlasTextBatch.h"
9 9
10 #include "GrBatchFontCache.h" 10 #include "GrBatchFontCache.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 strike = info->fStrike; 161 strike = info->fStrike;
162 } 162 }
163 } 163 }
164 164
165 bool brokenRun = false; 165 bool brokenRun = false;
166 for (int glyphIdx = 0; glyphIdx < glyphCount; glyphIdx++) { 166 for (int glyphIdx = 0; glyphIdx < glyphCount; glyphIdx++) {
167 GrGlyph* glyph = nullptr; 167 GrGlyph* glyph = nullptr;
168 if (regenTexCoords) { 168 if (regenTexCoords) {
169 size_t glyphOffset = glyphIdx + info->fGlyphStartIndex; 169 size_t glyphOffset = glyphIdx + info->fGlyphStartIndex;
170 170
171 glyph = blob->fGlyphs[glyphOffset];
172 GrGlyph::PackedID id = glyph->fPackedID;
173 const SkGlyph& skGlyph = (*scaler)->grToSkGlyph(id);
174 if (regenGlyphs) { 171 if (regenGlyphs) {
175 // Get the id from the old glyph, and use the new strike to look up 172 // Get the id from the old glyph, and use the new strike to look up
176 // the glyph. 173 // the glyph.
177 blob->fGlyphs[glyphOffset] = strike->getGlyph(skGlyph, id, this- >maskFormat(), 174 GrGlyph::PackedID id = blob->fGlyphs[glyphOffset]->fPackedID;
178 *scaler); 175 blob->fGlyphs[glyphOffset] = strike->getGlyph(id, this->maskForm at(), *scaler);
176 SkASSERT(id == blob->fGlyphs[glyphOffset]->fPackedID);
179 } 177 }
180 glyph = blob->fGlyphs[glyphOffset]; 178 glyph = blob->fGlyphs[glyphOffset];
181 SkASSERT(glyph); 179 SkASSERT(glyph && glyph->fMaskFormat == this->maskFormat());
182 SkASSERT(id == glyph->fPackedID);
183 // We want to be able to assert this but cannot for testing purposes .
184 // once skbug:4143 has landed we can revist this assert
185 //SkASSERT(glyph->fMaskFormat == this->maskFormat());
186 180
187 if (!fFontCache->hasGlyph(glyph) && 181 if (!fFontCache->hasGlyph(glyph) &&
188 !strike->addGlyphToAtlas(target, glyph, *scaler, skGlyph, this-> maskFormat())) { 182 !strike->addGlyphToAtlas(target, glyph, *scaler, this->maskForma t())) {
189 this->flush(target, flushInfo); 183 this->flush(target, flushInfo);
190 target->initDraw(gp, this->pipeline()); 184 target->initDraw(gp, this->pipeline());
191 brokenRun = glyphIdx > 0; 185 brokenRun = glyphIdx > 0;
192 186
193 SkDEBUGCODE(bool success =) strike->addGlyphToAtlas(target, 187 SkDEBUGCODE(bool success =) strike->addGlyphToAtlas(target,
194 glyph, 188 glyph,
195 *scaler, 189 *scaler,
196 skGlyph,
197 this->maskFo rmat()); 190 this->maskFo rmat());
198 SkASSERT(success); 191 SkASSERT(success);
199 } 192 }
200 fFontCache->addGlyphToBulkAndSetUseToken(&info->fBulkUseToken, glyph , 193 fFontCache->addGlyphToBulkAndSetUseToken(&info->fBulkUseToken, glyph ,
201 target->currentToken()); 194 target->currentToken());
202 } 195 }
203 196
204 intptr_t vertex = reinterpret_cast<intptr_t>(blob->fVertices); 197 intptr_t vertex = reinterpret_cast<intptr_t>(blob->fVertices);
205 vertex += info->fVertexStartIndex; 198 vertex += info->fVertexStartIndex;
206 vertex += vertexStride * glyphIdx * GrAtlasTextBatch::kVerticesPerGlyph; 199 vertex += vertexStride * glyphIdx * GrAtlasTextBatch::kVerticesPerGlyph;
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 return GrDistanceFieldA8TextGeoProc::Create(color, 567 return GrDistanceFieldA8TextGeoProc::Create(color,
575 viewMatrix, 568 viewMatrix,
576 texture, 569 texture,
577 params, 570 params,
578 flags, 571 flags,
579 this->usesLocalCoords()); 572 this->usesLocalCoords());
580 #endif 573 #endif
581 } 574 }
582 575
583 } 576 }
OLDNEW
« no previous file with comments | « src/gpu/GrBatchFontCache.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698