Have all the old code paths start using lists in preparation
for introducing text blobs.
Change-Id: I65cc02ee3da63bc3c9492db78a08b0eee3b1f931
Reviewed-on: https://skia-review.googlesource.com/141081
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Move to using pointers into buffers. This will allow
multiple runs from blobs to share buffers.
Change-Id: I6ebed2e490c5fe71077ddc921ead145ce17c5ebd
Reviewed-on: https://skia-review.googlesource.com/141049
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Start using simple buffers, these will be used for
multiple runs latter on.
Change-Id: Iab0559d5a47eb5e54254a985051d5d25a91be69f
Reviewed-on: https://skia-review.googlesource.com/140791
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
v1 - had problems with msan and unintialized glyphs.
v2 - had problems with typefaces with no glyphs in them
This adds a check to make sure there are glyphs in the font
when going to uniquify.
Change-Id: Id27fa4578be33da1e468b4652db19740ddcadfc6
Reviewed-on: https://skia-review.googlesource.com/140785
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 0421083a44.
Reason for revert: fushia page fault
Original change's description:
> Use new SkGlyphIDSet - v2
>
> Add bzero to make msan and valgrind happy.
>
> Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219
> Reviewed-on: https://skia-review.googlesource.com/140563
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: I4e5e16644cbf56b5ff0b21afd6f3962e3976a1da
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140803
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit b188da121c.
Reason for revert: Patch on a rollback
Original change's description:
> Use simple buffers instead of vectors
>
> Start using simple buffers, these will be used for
> multiple runs latter on.
>
> Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704
> Reviewed-on: https://skia-review.googlesource.com/140578
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: I51d9ad9bc0fd7efb93e5db4dc504d8dc31e7cfb4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140802
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Start using simple buffers, these will be used for
multiple runs latter on.
Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704
Reviewed-on: https://skia-review.googlesource.com/140578
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Add bzero to make msan and valgrind happy.
Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219
Reviewed-on: https://skia-review.googlesource.com/140563
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 819f73c23c.
Reason for revert: uninitialized memory - this is expected but
Original change's description:
> Use new SkGlyphIDSet
>
> Change-Id: I6b8080393a22a56577528f66630ad39372edf712
> Reviewed-on: https://skia-review.googlesource.com/140243
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
TBR=mtklein@google.com,herb@google.com
Change-Id: I43e204520710738e9e8c84b0eb00260ca06fe6a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140384
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Change-Id: I6b8080393a22a56577528f66630ad39372edf712
Reviewed-on: https://skia-review.googlesource.com/140243
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Temporarily remove run list code to gut some
overly complicated code.
Change-Id: Ib12efc394c05dee391143b440b2fab5bba4f22ae
Reviewed-on: https://skia-review.googlesource.com/139865
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit e2e52e46ca.
Reason for revert: See if this is blocking the Chrome roll
Original change's description:
> Remove drawTextBlob from device use drawGlyphRunList
>
> Convert all backends to use GlyphRunList instead of
> text blobs. If the device did not originally implement
> drawTextBlob it will be simulated by drawPosText on the
> device.
>
> Other changes:
> Change to using an origin from absolulte positioning. The GPU
> code uses origin change to update blobs under translation.
>
> Change cluster to use const uint32_t instead of just
> uint32_t.
>
> Add SkPaint to runs.
>
> The draw filter is hosted up to the canavas level and applied there.
>
> Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2
> Reviewed-on: https://skia-review.googlesource.com/137224
> Reviewed-by: Herb Derby <herb@google.com>
> Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
> Reviewed-by: Hal Canary <halcanary@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com,reed@google.com,khushalsagar@chromium.org,khushalsagar@google.com
Change-Id: I4d93a534990c89deee7d3aaa00ec40d47e0d2ece
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/138120
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Convert all backends to use GlyphRunList instead of
text blobs. If the device did not originally implement
drawTextBlob it will be simulated by drawPosText on the
device.
Other changes:
Change to using an origin from absolulte positioning. The GPU
code uses origin change to update blobs under translation.
Change cluster to use const uint32_t instead of just
uint32_t.
Add SkPaint to runs.
The draw filter is hosted up to the canavas level and applied there.
Change-Id: Ib105b6bd26b67db55f1c954e37c79fbdcaa9d4a2
Reviewed-on: https://skia-review.googlesource.com/137224
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
With multiple runs, the shared vectors were moving out from
under the pointers in earlier runs.
Change-Id: I486d2e603e18ea7effc0dbdbc7c5d3c545278703
Reviewed-on: https://skia-review.googlesource.com/137222
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Extend the glyph run system with a glyph run list. This
allows the processing of text blobs.
Add original text an cluster to runs for PDF.
PS - the original had read off the end of a buffer problem.
Change-Id: I9430f0c27aaa3d9458bfe3caba5f433b72fdf84c
Reviewed-on: https://skia-review.googlesource.com/136792
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit f2e4a039df.
Reason for revert: Breaks asan tests
Original change's description:
> Add SkGlyphRunList
>
> Extend the glyph run system with a glyph run list. This
> allows the processing of text blobs.
>
> Add original text an cluster to runs for PDF.
>
> Change-Id: If4867d000e45f8975a30e982fc8fdbe104ef4332
> Reviewed-on: https://skia-review.googlesource.com/135627
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=bungeman@google.com,herb@google.com
Change-Id: I903592714da901383efc7e5f47ce3dfd529e2aca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/136761
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Extend the glyph run system with a glyph run list. This
allows the processing of text blobs.
Add original text an cluster to runs for PDF.
Change-Id: If4867d000e45f8975a30e982fc8fdbe104ef4332
Reviewed-on: https://skia-review.googlesource.com/135627
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
A system for building glyph runs. In the future the builder will
only live in canvas, but it's internal structures facilitate
interacting with the cache a single glyph at a time. When all
the bulk code is in place, only runs will be passed around.
Passing the builder down the text draw stack is temporary.
Change-Id: I6e3ed184b3f3a58b919377f2d31936e971bd8efa
Reviewed-on: https://skia-review.googlesource.com/132928
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 74b390d6b1.
Reason for revert: reverting to add patch for valgrind
Original change's description:
> Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"
>
> This reverts commit 4225b3220e.
>
> Reason for revert: made valgrind unhappy.
>
> Original change's description:
> > Have draw(Text|PosText|PosTextH) use a single entry on the device
> >
> > Handle the positioning of drawText at the canvas layer. Simplify
> > the code by removing similar implementations.
> >
> > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2
> > Reviewed-on: https://skia-review.googlesource.com/127131
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
>
> TBR=jvanverth@google.com,bungeman@google.com,herb@google.com
>
> Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/132403
> Reviewed-by: Hal Canary <halcanary@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com
Change-Id: I9bbb73aac447b51eb8215ac42331759fa4c9fa45
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/132580
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 4225b3220e.
Reason for revert: made valgrind unhappy.
Original change's description:
> Have draw(Text|PosText|PosTextH) use a single entry on the device
>
> Handle the positioning of drawText at the canvas layer. Simplify
> the code by removing similar implementations.
>
> Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2
> Reviewed-on: https://skia-review.googlesource.com/127131
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=jvanverth@google.com,bungeman@google.com,herb@google.com
Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/132403
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Handle the positioning of drawText at the canvas layer. Simplify
the code by removing similar implementations.
Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2
Reviewed-on: https://skia-review.googlesource.com/127131
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>