32d6b876163580711a07e96d9f29c9c1490a7271 |
|
17-Nov-2015 |
fmalita <fmalita@chromium.org> |
SkTextBlob should store per-run text alignment SkPaint::Align is only observed for kDefault_Positioning AFAICT, but part of the run logical font nevertheless. BUG=skia:4567 R=mtklein@google.com,halcanary@google.com Review URL: https://codereview.chromium.org/1447403003
/external/skia/src/core/SkTextBlob.cpp
|
337797580de42cdb722caab4bed121311ed7d0d2 |
|
27-Oct-2015 |
halcanary <halcanary@google.com> |
Make SkTextBlob::RunIterator public. Motivation: This will be easier than adding a friend every time I want to create a one-off SkCanvas subclass or SkRemote::Encoder subclass. See also: SkPath::Iter. Review URL: https://codereview.chromium.org/1411723005
/external/skia/src/core/SkTextBlob.cpp
|
9ae8fe1c601ecb7fef9962f9eb1adf11032378e4 |
|
13-Oct-2015 |
fmalita <fmalita@chromium.org> |
[SkTextBlob] Remove incorrect builder assert At the end of TightRunBounds, glyphPosX cannot exceed the start of the next run. But glyphPosY is running ahead of glyphPosX (for kFull_Positioning) => the glyphPosY assert is incorrect. Since the two pointers advance in lock-step, there isn't much value in the glyphPosY assert anyway - we might as well remove it. BUG=chromium:542643 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1405463004
/external/skia/src/core/SkTextBlob.cpp
|
b0b45d35e4f30c1f42b6a910dc7f90e1a88de70c |
|
09-Oct-2015 |
fmalita <fmalita@chromium.org> |
[TextBlob] Fall back to TightRunBounds when the font bounds are empty Empty font bounds are likely an indication of a font bug. As a best effort, we can use TightRunBounds in this easily detectable case. Since TightRunBounds only supports kDefault_Positioning currently, the CL also reinstates handling of kFull_Positioning and kHorizontal_Positioning (removed in http://crrev.com/858153007). BUG=507022 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1399123002
/external/skia/src/core/SkTextBlob.cpp
|
92d976c3ad06d4a398d7bf95d2060e40154c39d7 |
|
05-Oct-2015 |
fmalita <fmalita@chromium.org> |
Validate text blob runs after SkTextBlob construction. This avoids tripping CFI when casting uninitialized SkTextBlob ptrs. BUG=chromium:538754 R=bungeman@google.com,reed@google.com,krasin@google.com Review URL: https://codereview.chromium.org/1388543005
/external/skia/src/core/SkTextBlob.cpp
|
96fcdcc219d2a0d3579719b84b28bede76efba64 |
|
27-Aug-2015 |
halcanary <halcanary@google.com> |
Style Change: NULL->nullptr DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/core/SkTextBlob.cpp
|
99fe82260633fcf5d92cca38d12ef0937ecca61c |
|
20-Aug-2015 |
bungeman <bungeman@google.com> |
Use static_assert instead of SK_COMPILE_ASSERT. Now that static_assert is allowed, there is no need to use a non- standard compile time assertion Review URL: https://codereview.chromium.org/1306443004
/external/skia/src/core/SkTextBlob.cpp
|
2a5ca89ea1a5093b5d143740619ca162a74fe0e7 |
|
10-Aug-2015 |
egdaniel <egdaniel@google.com> |
Revert of [TextBlob] Fall back to TightRunBounds when the font bounds are empty (patchset #1 id:1 of https://codereview.chromium.org/1284693002/ ) Reason for revert: Breaking DEPS roll on Assert in SkTextBlobBuilder::TightRunBounds. Original issue's description: > [TextBlob] Fall back to TightRunBounds when the font bounds are empty > > Empty font bounds are likely an indication of a font bug. As a best > effort, we can use TightRunBounds in this easily detectable case. > > BUG=507022 > R=reed@google.com,bungeman@google.com > > Committed: https://skia.googlesource.com/skia/+/d6b99cc6b84b3ec864221cbe9945d203bd9eb072 TBR=bungeman@google.com,reed@google.com,fmalita@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=507022 Review URL: https://codereview.chromium.org/1283853002
/external/skia/src/core/SkTextBlob.cpp
|
d6b99cc6b84b3ec864221cbe9945d203bd9eb072 |
|
10-Aug-2015 |
fmalita <fmalita@chromium.org> |
[TextBlob] Fall back to TightRunBounds when the font bounds are empty Empty font bounds are likely an indication of a font bug. As a best effort, we can use TightRunBounds in this easily detectable case. BUG=507022 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1284693002
/external/skia/src/core/SkTextBlob.cpp
|
4854d13c27f6e3f8f763afd291821ce42324e645 |
|
22-Jun-2015 |
jvanverth <jvanverth@google.com> |
Remove distance field flag from SkPaint Review URL: https://codereview.chromium.org/1192413005
/external/skia/src/core/SkTextBlob.cpp
|
9e36c1a9306f052331550dab4728b9875127bfb5 |
|
14-Apr-2015 |
joshualitt <joshualitt@chromium.org> |
Start canonicalizing color for all A8 textblobs BUG=skia: Review URL: https://codereview.chromium.org/1076593002
/external/skia/src/core/SkTextBlob.cpp
|
055f6b59d879b2adac52748ea5a58c8a05bf501c |
|
09-Apr-2015 |
fmalita <fmalita@chromium.org> |
[SkTextBlob] Custom run font record Instead of using a full-blown SkPaint to store run font info, use a custom structure. This saves 96 bytes / run on 64bit platforms. R=reed@google.com,mtklein@google.com,joshualitt@google.com Review URL: https://codereview.chromium.org/1070943002
/external/skia/src/core/SkTextBlob.cpp
|
2af858354d913397a6c316ef46a5d52d686e10ab |
|
25-Mar-2015 |
joshualitt <joshualitt@chromium.org> |
simple patch to always init SkTextBlob uniqueID BUG=skia: Review URL: https://codereview.chromium.org/1036613002
/external/skia/src/core/SkTextBlob.cpp
|
f9a40723f5d9bfe02cc60bedb5b956916e5cea01 |
|
29-Jan-2015 |
fmalita <fmalita@chromium.org> |
Conservative blob bounds cleanup * drop SK_SUPPORT_LEGACY_BLOB_BOUNDS * remove horizontal & fully position tight bounds support (always using conservative bounds now) * special-case horizontal run bounds logic to avoid unnecessary vertical min-maxing R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/858153007
/external/skia/src/core/SkTextBlob.cpp
|
3dc40ac9f968eee95eef5e8ee811e0640691df0f |
|
28-Jan-2015 |
fmalita <fmalita@chromium.org> |
Conservative SkTextBlob bounds. Compute cheaper/more conservative text blob bounds based on the typeface maximum glyph bbox. BUG=chromium:451401 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/886473002
/external/skia/src/core/SkTextBlob.cpp
|
072803144a623f1a59eb73ca5f3ddf45222b5e06 |
|
20-Nov-2014 |
bsalomon <bsalomon@google.com> |
Stop overloading internal_dispose in SkTextBlob and SkData Review URL: https://codereview.chromium.org/737093002
/external/skia/src/core/SkTextBlob.cpp
|
19653d1d004610b4ba07ce563a5701164e120e45 |
|
16-Oct-2014 |
fmalita <fmalita@chromium.org> |
Implicit SkTextBlob bounds Compute blob bounds when the client doesn't pass explicit run rects to the builder. This allows us to remove a couple of internal workarounds. R=reed@google.com,mtklein@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/654873003
/external/skia/src/core/SkTextBlob.cpp
|
3c196def91726913a417e703ac482bb2dbbfff27 |
|
20-Sep-2014 |
fmalita <fmalita@chromium.org> |
Souped-up SkTextBlob. Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
/external/skia/src/core/SkTextBlob.cpp
|
e50215e5988c3b29c3e337fdd7cc3c9b13cec013 |
|
20-Sep-2014 |
fmalita <fmalita@chromium.org> |
Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of https://codereview.chromium.org/581173003/) Reason for revert: Broke the new blobshader gm. Original issue's description: > Souped-up SkTextBlob. > > Refactored text blob backend for improved performance: instead of using > separate buffers for runs/positions/glyphs, everything is now packed in > a consolidated slab (including the SkTextBlob object itself!). > > Benefits: > > * number of allocations per blob construction reduced from ~4 to 1 > (also minimizes internal fragmentation) > * run record size reduced by 8 bytes > > This takes the blob construction overhead down to negligible levels > (for the current Blink uncached textblob implementation). > > Unfortunately, the code is much more finicky (run merging in > particular) -- hence the assert spree. > > Multi-run blobs are vulnerable to realloc storms but this is not a > problem at the moment because Blink is using one-run blobs 99% of the > time. Will be addressed in the future. > > > R=reed@google.com,mtklein@google.com,robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 R=mtklein@google.com, reed@google.com, robertphillips@google.com TBR=mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/588853002
/external/skia/src/core/SkTextBlob.cpp
|
13645ea0ea87038ebd71be3bd6d53b313069a9e4 |
|
20-Sep-2014 |
fmalita <fmalita@chromium.org> |
Souped-up SkTextBlob. Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
/external/skia/src/core/SkTextBlob.cpp
|
49f085dddff10473b6ebf832a974288300224e60 |
|
05-Sep-2014 |
bsalomon <bsalomon@google.com> |
"NULL !=" = NULL R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
/external/skia/src/core/SkTextBlob.cpp
|
b7425173f96e93b090787e2386ba5f022b6c2869 |
|
26-Aug-2014 |
fmalita <fmalita@chromium.org> |
SkTextBlob plumbing Add SkTextBlob serialization + drawTextBlob() overrides. R=mtklein@google.com, reed@google.com, robertphillips@google.com BUG=269080 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/499413002
/external/skia/src/core/SkTextBlob.cpp
|
37ecbaffd1f9f6841aa562aa31a824d109d52988 |
|
22-Aug-2014 |
fmalita <fmalita@chromium.org> |
[SkTextBlob] Merge run font data at draw time. R=bungeman@google.com, reed@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/496773002
/external/skia/src/core/SkTextBlob.cpp
|
00d5c2c6523321d25b32905ff4822f083a4173ee |
|
21-Aug-2014 |
fmalita <fmalita@chromium.org> |
SkTextBlob Initial implementation. R=bungeman@google.com, jbroman@chromium.org, mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/473633002
/external/skia/src/core/SkTextBlob.cpp
|