c1e97b372e21edf9c7e45cfea0eca7f1a52fe9e5 |
|
05-Mar-2015 |
herb <herb@google.com> |
Fix uninitialized memory bug in the SkGlyphCache. The core of the problem is that the system is asked to lookup the metrics for a character with id == 0. This causes a hit in the fCharToGlyphHash matching the sentinel glyph. This happens because fCharToGlpyhHash is initialized with all zeros, therefore, the fID is zero matching the char with id == 0. The fAdvanceX field of the sentinel glyph is in fact not initialized. The bigger question is now did a zero character get passed to getUnicharMetrics? The breaking code is basically as follows: wchar_t glyph = L'S'; paint.measureText(&glyph, 2); This get mischaracterized as a utf8 string instead of a utf16(?) string. Because of the little endian ordering, this is the character string 'L' '\0'. Since the size of the original string is two bytes (but a single character) the '\0' is treated as its own character and past to getUnicharMetrics. TEST: On windows failed using DrMemory. With this change does not fail. BUG=463204 Review URL: https://codereview.chromium.org/977063002
/external/skia/src/core/SkGlyph.h
|
e70de9e4f0b7bf73f7cd1a20dbabcb233ffbb7f1 |
|
27-Feb-2015 |
herb <herb@google.com> |
Make the glyph array entries inline. Perf Reports bin/c --match nytimes --config 8888 desk_nytimes.skp_1_mpd 1.41ms -> 1.38ms 0.98x desk_nytimes.skp_1 1.94ms -> 1.87ms 0.97x bin/c --match nytimes --config gpu desk_nytimes.skp_1_mpd 1.63ms -> 1.59ms 0.97x desk_nytimes.skp_1 1.56ms -> 1.5ms 0.97x Here are results from mac instruments: --match nytimes --config gpu --samples 10000 --skps /Users/herb/src/skia/skps Inline: Total Samples Running Time Self Symbol Name 94335 94335.0ms 98.3% 0.0 start 2365 2365.0ms 2.4% 2365.0 SkGlyphCache::getGlyphIDMetrics(unsigned short, int, int) 975 975.0ms 1.0% 975.0 SkGlyphCache::lookupMetrics(unsigned int, SkGlyphCache::MetricsType) Clean: Total Samples Running Time Self Symbol Name 96833 96833.0ms 97.3% 0.0 start 3418 3418.0ms 3.4% 3418.0 SkGlyphCache::getGlyphIDMetrics(unsigned short, int, int) 1961 1961.0ms 1.9% 1961.0 SkGlyphCache::lookupMetrics(unsigned int, SkGlyphCache::MetricsType) BUG=skia: Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1 Committed: https://skia.googlesource.com/skia/+/b4c29ac173e6f8844327338687248b98bc94132d Review URL: https://codereview.chromium.org/885903002
/external/skia/src/core/SkGlyph.h
|
b69d0e0ac45e13f667bc11a937dcb547072bc93d |
|
25-Feb-2015 |
herb <herb@google.com> |
BUG=skia: (mtklein from here on) No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkGlyph.h
|
e59bbf1cd5dcce66181083821c43a157998bc78b |
|
24-Feb-2015 |
scroggo <scroggo@google.com> |
Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of https://codereview.chromium.org/939123002/) Reason for revert: This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 : In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0: external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)': external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private uint32_t fID; ^ frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context newGlyph->mGlyphIndex = skiaGlyph.fID; We need to update Android in order to hide fID. Original issue's description: > BUG=skia: > > (mtklein from here on) > No public API changes. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 TBR=mtklein@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/951353002
/external/skia/src/core/SkGlyph.h
|
f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 |
|
24-Feb-2015 |
herb <herb@google.com> |
BUG=skia: (mtklein from here on) No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkGlyph.h
|
5a2a5e729c081aa8ddfaab3311b7730622689abf |
|
09-Feb-2015 |
mtklein <mtklein@google.com> |
Revert of Make the glyph array entries inline. (patchset #11 id:190001 of https://codereview.chromium.org/885903002/) Reason for revert: Still broken. Original issue's description: > Make the glyph array entries inline. > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1 > > Committed: https://skia.googlesource.com/skia/+/b4c29ac173e6f8844327338687248b98bc94132d TBR=reed@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/911513003
/external/skia/src/core/SkGlyph.h
|
b4c29ac173e6f8844327338687248b98bc94132d |
|
09-Feb-2015 |
herb <herb@google.com> |
Make the glyph array entries inline. BUG=skia: Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1 Review URL: https://codereview.chromium.org/885903002
/external/skia/src/core/SkGlyph.h
|
9bf4e5bbf6ca96042c0e0f5dca9a52a943f25716 |
|
03-Feb-2015 |
bsalomon <bsalomon@google.com> |
Revert of Make the glyph array entries inline. (patchset #10 id:170001 of https://codereview.chromium.org/885903002/) Reason for revert: I suspect this is causing the off-by-one character issues that show up in gold.skia.org as of now. All the errors I've seen are on a Win7 bot. Example: good: https://gold.skia.org/img/images/35396bb0d299b81c0031dc0632a019d4.png bad: https://gold.skia.org/img/images/484e511f9e696d95031cd25aeae59da0.png Original issue's description: > Make the glyph array entries inline. > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4c08f16b252a55e438a61f26e5581394ed177da1 TBR=mtklein@google.com,reed@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/897463004
/external/skia/src/core/SkGlyph.h
|
4c08f16b252a55e438a61f26e5581394ed177da1 |
|
03-Feb-2015 |
herb <herb@google.com> |
Make the glyph array entries inline. BUG=skia: Review URL: https://codereview.chromium.org/885903002
/external/skia/src/core/SkGlyph.h
|
a27b82ddf0fad959371a4ab1fba931826edb2f54 |
|
07-Jan-2015 |
jvanverth <jvanverth@google.com> |
Remove distance field generation and storage from SkGlyphCache. BUG=skia:3103 Review URL: https://codereview.chromium.org/834103004
/external/skia/src/core/SkGlyph.h
|
d54d3fc82456f8789b3e4dff40faeb7b670bcf4b |
|
13-Nov-2014 |
reed <reed@google.com> |
remove unused kLCD_MaskFormat BUG=skia: Review URL: https://codereview.chromium.org/728673002
/external/skia/src/core/SkGlyph.h
|
b2f7fce9e034c3b6749e75a129e7836df3529706 |
|
28-Aug-2014 |
Ben Wagner <bungeman@google.com> |
DirectWrite to use aliased if ClearType is empty. Some CJK fonts with some versions of DirectWrite return valid data for bitmaps, but not for cleartype data. For reference, two screenshots. M37 Stable and then with this patch: http://imgur.com/9pf3rB9,EiTb6Li See https://code.google.com/p/chromium/issues/detail?id=396624#c10 for content of test html file. R=eae@chromium.org, reed@google.com, shrikant@chromium.org, bungeman@chromium.org, cpu@chromium.org BUG=chromium:407945 Review URL: https://codereview.chromium.org/504343007
/external/skia/src/core/SkGlyph.h
|
1b27704eba15be4e9d1997faac42038493a30be5 |
|
06-Aug-2014 |
djsollen <djsollen@google.com> |
Remove ALL font fallback logic from Skia. R=reed@google.com, bungeman@google.com, caryclark@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/434623002
/external/skia/src/core/SkGlyph.h
|
762cd804375ff8478427dba4fe29379562b8fb60 |
|
15-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Move distance field generation to the glyph cache. Distance fields are currently created in GrTextStrike, which is the wrong place. This moves that to the glyph cache where it belongs. As part of my testing, I found that when we fall back to paths in the GrDistanceFieldTextContext it was not scaling them properly, so that's fixed in here too. R=robertphillips@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/227593010 git-svn-id: http://skia.googlecode.com/svn/trunk@14193 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGlyph.h
|
d02d4fffad32e852695cff5d8310ffc9ca656c67 |
|
12-Aug-2012 |
mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
privatize SkGlyph.h git-svn-id: http://skia.googlecode.com/svn/trunk@5048 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGlyph.h
|