aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/text/GrGlyphCache.cpp
Commit message (Collapse)AuthorAge
* Reland "Reland "added 565 to 8888 conversion for gpu LCD text rendering for ↵Gravatar Timothy Liang2018-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS"" This reverts commit 5540528f81c0a1ad10b8086a1009b799717329f6. Reason for revert: Changed unique pointer to not be static Original change's description: > Revert "Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS"" > > This reverts commit 0513dd8675534afdd605cea32778a4b4671b2c3d. > > Reason for revert: Still has static initializer. > > Original change's description: > > Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. > > > > Reason for revert: removed the static initializer > > > > Original change's description: > > > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > > > > > Reason for revert: breaking chrome roll cause of static initializers > > > > > > Original change's description: > > > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > > > > > Bug: skia: > > > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > > > Reviewed-on: https://skia-review.googlesource.com/134508 > > > > Commit-Queue: Timothy Liang <timliang@google.com> > > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > > > > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/135000 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/135021 > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Timothy Liang <timliang@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > Change-Id: I2632d02adc9ba791e5a55adafe0ad10a63f50073 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135240 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Ben Wagner <bungeman@google.com> Bug: skia: CQ_INCLUDE_TRYBOTS=luci.chromium.try:android-marshmallow-arm64-rel Change-Id: Ie4fa0e4f862546068ed4ab818d4956de7175cb3d Reviewed-on: https://skia-review.googlesource.com/135241 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Revert "Reland "added 565 to 8888 conversion for gpu LCD text rendering for ↵Gravatar Ben Wagner2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS"" This reverts commit 0513dd8675534afdd605cea32778a4b4671b2c3d. Reason for revert: Still has static initializer. Original change's description: > Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. > > Reason for revert: removed the static initializer > > Original change's description: > > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > > > Reason for revert: breaking chrome roll cause of static initializers > > > > Original change's description: > > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > > > Bug: skia: > > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > > Reviewed-on: https://skia-review.googlesource.com/134508 > > > Commit-Queue: Timothy Liang <timliang@google.com> > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/135000 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135021 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Timothy Liang <timliang@google.com> TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com Change-Id: I2632d02adc9ba791e5a55adafe0ad10a63f50073 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135240 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Reland "added 565 to 8888 conversion for gpu LCD text rendering for macOS"Gravatar Timothy Liang2018-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cf274da6faa9d32e08053180c8113fcaab666028. Reason for revert: removed the static initializer Original change's description: > Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS" > > This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. > > Reason for revert: breaking chrome roll cause of static initializers > > Original change's description: > > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > > > Bug: skia: > > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > > Reviewed-on: https://skia-review.googlesource.com/134508 > > Commit-Queue: Timothy Liang <timliang@google.com> > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com > > Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/135000 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> Change-Id: I40c29b73970c55b3579a0169bbad666a798b2348 Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135021 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@google.com>
* Revert "added 565 to 8888 conversion for gpu LCD text rendering for macOS"Gravatar Greg Daniel2018-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e6f2ecafaf0efecacfd4256f280e26ee74cb7e16. Reason for revert: breaking chrome roll cause of static initializers Original change's description: > added 565 to 8888 conversion for gpu LCD text rendering for macOS > > Bug: skia: > Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c > Reviewed-on: https://skia-review.googlesource.com/134508 > Commit-Queue: Timothy Liang <timliang@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=egdaniel@google.com,jvanverth@google.com,timliang@google.com Change-Id: Ida97a4085c93fcb990999ab71f99364ec2ef86b7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/135000 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* added 565 to 8888 conversion for gpu LCD text rendering for macOSGravatar Timothy Liang2018-06-14
| | | | | | | | Bug: skia: Change-Id: Ie24160bb098d388bf4ad69d0c2f9f8ed4beb215c Reviewed-on: https://skia-review.googlesource.com/134508 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* fonts: Hook up FallbackTextHelper to font remoting.Gravatar Khushal2018-06-07
| | | | | | | | | | | | | | | | Use GrContext::FallbackTextHelper in SkTextBlobCacheDiffCanvas to replicate glyph generation logic for fallback text during analysis. This ensures that we correctly handle these fallback cases when using distance field or paths for text rendering. R=herb@google.com, jvanverth@google.com Bug: skia:7913 Change-Id: I3067c4f1bd09231a564ac7c4cd89efcb876d2abd Reviewed-on: https://skia-review.googlesource.com/132285 Reviewed-by: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Khusal Sagar <khushalsagar@chromium.org>
* Use MaskFilter to create SDFs for text.Gravatar Jim Van Verth2018-05-04
| | | | | | | | | | Easy way to store SDFs in the glyph cache. Change-Id: Ia67e5c8619862bdee6aa3b293e30507d029e3bf1 Bug: skia: Reviewed-on: https://skia-review.googlesource.com/123748 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Remove GrRestrictedAtlasManagerGravatar Robert Phillips2018-03-08
| | | | | | | | | Philosophically this relies on: https://skia-review.googlesource.com/c/skia/+/111807 (Revise Text & Small Path Atlas so instantiation failure is handled at flush time) Change-Id: I4fdcf1af8c5e9ffefdfb973104045f4f5d223a4e Reviewed-on: https://skia-review.googlesource.com/112702 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Have GrGlyphCache and GrAtlasManager compute the atlas limits independentlyGravatar Robert Phillips2018-03-07
| | | | | | | | | | | DDL contexts will have a GrGlyphCache but not a GrAtlasManager. This CL disentangles the computation of the atlas limits so the GrGlyphCache can function independently. Change-Id: Ia698c7d1ec625d1a0d1f0b5521b56731cfeafde9 Reviewed-on: https://skia-review.googlesource.com/112708 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Revise Text & Small Path Atlas so instantiation failure is handled at flush timeGravatar Robert Phillips2018-03-07
| | | | | | | | | This paves the way to having the AtlasTextOps not need the RestrictedAtlasManager at op creation time. Change-Id: I1028faba730d50d3d3349a4c0809465d036ed611 Reviewed-on: https://skia-review.googlesource.com/111807 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add bilerp support to scaled emojisGravatar Jim Van Verth2018-03-05
| | | | | | | | Bug: skia:7562 Change-Id: Ibdf8e71050e909de87ca2beb3fb2b57327011364 Reviewed-on: https://skia-review.googlesource.com/111820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* sk_sp-ify GrGlyphCacheGravatar Robert Phillips2018-03-01
| | | | | | | | | Hopefully, this makes it clearer that the subRuns of the GrAtlasTextBlobs carry a ref on the GrAtlasTextStrikes Change-Id: I3d612074d98bc26240465f717711b7a2bcecb6ed Reviewed-on: https://skia-review.googlesource.com/110981 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Fission GrAtlasGlyphCache in two (take 2)Gravatar Robert Phillips2018-03-01
| | | | | | | | | | | | | | | | | | | | | Reland all the things This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager. The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager) and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation time and provides access to the proxies backing the atlases. The full GrAtlasManager is only available at flush time and allows instantiation of the proxies and uploading to them. In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the GrAtlasManager in the main thread. This future atlas manager will have had all of its GrDrawOpAtlases created (but not instantiated) so there should be no race conditions. TBR=jvanverth@google.com Change-Id: I05c6cd8d301bf2decca39765e5cae62993d9da04 Reviewed-on: https://skia-review.googlesource.com/111362 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "Fission GrAtlasGlyphCache in two"Gravatar Robert Phillips2018-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit acf17904d6286f2a63a5d895541804d0ea1be646. Reason for revert: Chrome Original change's description: > Fission GrAtlasGlyphCache in two > > This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager. > > The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager) > and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation > time and provides access to the proxies backing the atlases. The full GrAtlasManager is > only available at flush time and allows instantiation of the proxies and uploading to them. > > In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the > GrAtlasManager in the main thread. This future atlas manager will have had all of its > GrDrawOpAtlases created (but not instantiated) so there should be no race conditions. > > Change-Id: I9967d3a4116af50128f390c5039a712b8cd4db08 > Reviewed-on: https://skia-review.googlesource.com/108001 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I7c760ea1a9f041a310b96d552aa1497ee5902cd8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/111040 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fission GrAtlasGlyphCache in twoGravatar Robert Phillips2018-02-27
This CL splits the old GrAtlasGlyphCache into a GrAtlasGlyphCache and an GrAtlasManager. The GrAtlasManager itself is split into a rather limited base class (GrRestrictedAtlasManager) and the all powerful GrAtlasManager. The GrRestrictedAtlasManager is available at op creation time and provides access to the proxies backing the atlases. The full GrAtlasManager is only available at flush time and allows instantiation of the proxies and uploading to them. In the DDL world all of the DDL Contexts will receive a GrRestrictedAtlasManager-version of the GrAtlasManager in the main thread. This future atlas manager will have had all of its GrDrawOpAtlases created (but not instantiated) so there should be no race conditions. Change-Id: I9967d3a4116af50128f390c5039a712b8cd4db08 Reviewed-on: https://skia-review.googlesource.com/108001 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>