aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/text/GrAtlasTextBlob.h
Commit message (Collapse)AuthorAge
* Delay SkPaint->GrPaint conversion in text rendering.Gravatar Brian Salomon2017-01-13
| | | | | | | | | | | This fixes an issue where color filters aren't correctly applied to color glyphs. Instead we apply the filter to the SkPaint's color which is correct for mask glyphs only. Add color filter and alpha + various effects to coloremoji gm Change-Id: If77dece71d43468fec65499857eaaaedb56428e9 Reviewed-on: https://skia-review.googlesource.com/6891 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Make GrPaints move their GrProcessor ownership into GrPipelineBuilder.Gravatar Brian Salomon2017-01-11
| | | | | | | | | This makes GrPaints usable only once. In some places we must make copies in order to issue draws with the same paint state. Change-Id: Ie816e5185ce93a064111cad64c6880e1e21184c2 Reviewed-on: https://skia-review.googlesource.com/6844 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove ref counting from GrOp.Gravatar Brian Salomon2017-01-03
| | | | | | | | | Instead use std::unique_ptr to manage GrOp lifetime. Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71 Reviewed-on: https://skia-review.googlesource.com/6479 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Misc batch->op cleanup Part 1 of 2Gravatar Brian Salomon2016-12-21
| | | | | | | Change-Id: I80f951976558a284e55386e0a368f08bd835d8ca Reviewed-on: https://skia-review.googlesource.com/6359 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Rename GrBatchAtlas -> GrDrawOpAtlas.Gravatar Brian Salomon2016-12-17
| | | | | | | Change-Id: I776f37e42dcab8b16535c48df9c405b1f211f6c9 Reviewed-on: https://skia-review.googlesource.com/6165 Commit-Queue: Brian Salomon <brian@thesalomons.net> Reviewed-by: Brian Osman <brianosman@google.com>
* Rename GrBatchAtlas files to GrDrawOpAtlasGravatar Brian Salomon2016-12-16
| | | | | | | | | This intermediary change only exists to make the actual class rename change readable on gerrit due to gerrit not recognizing file renames correctly. Change-Id: I919f84837fb17191ca49f00f82e56330f84766da Reviewed-on: https://skia-review.googlesource.com/6190 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrBatchFontCache->GrAtlasGlyphCacheGravatar Brian Salomon2016-12-16
| | | | | | | Change-Id: Ie21e18b631daa24e70df630b9f910213f62bdbdf Reviewed-on: https://skia-review.googlesource.com/6164 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Rename GrAtlasTextBatch->GrAtlasTextOp and sk_spGravatar Brian Salomon2016-12-15
| | | | | | | Change-Id: I409048988cccb68daaeb66828e2772fcb6a0cb06 Reviewed-on: https://skia-review.googlesource.com/6104 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename GrDrawBatch->GrDrawOpGravatar Brian Salomon2016-12-01
| | | | | | | Change-Id: I18f520924b8a2548566fd61dbea4e3e12bd253dd Reviewed-on: https://skia-review.googlesource.com/5411 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Fix error with transforming custom/large glyphsGravatar Jim Van Verth2016-11-16
| | | | | | | | | | | BUG=661244 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4738 Change-Id: I9f14ca830f9de92000e751a4a99ff1eb9b01db33 Reviewed-on: https://skia-review.googlesource.com/4866 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* src/gpu: s/SkAutoTUnref/sk_sp/gGravatar Hal Canary2016-11-07
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4527 Change-Id: I23f0548f98e7c355da05e143e8baa330d4bc04cc Reviewed-on: https://skia-review.googlesource.com/4527 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Remove SkAutoTDelete.Gravatar Ben Wagner2016-11-03
| | | | | | | | | Replace with std::unique_ptr. Change-Id: I5806cfbb30515fcb20e5e66ce13fb5f3b8728176 Reviewed-on: https://skia-review.googlesource.com/4381 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Rename GrDrawContext to GrRenderTargetContextGravatar Brian Osman2016-10-27
| | | | | | | | | | | | | | This is in preparation for GrTextureContext and GrSurfaceContext BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4030 Change-Id: Ie58c93052e68f3f1f5fe8d15d63760de274a6fbd Reviewed-on: https://skia-review.googlesource.com/4030 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Use sse4.2 CRC32 instructions to hash when available.Gravatar mtklein2016-08-08
| | | | | | | | | | | | About 9x faster than Murmur3 for long inputs. Most of this is a mechanical change from SkChecksum::Murmur3(...) to SkOpts::hash(...). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208903002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2208903002
* Push GrPipelineBuilder down to the drawBatch calls in the TextContextGravatar robertphillips2016-07-18
| | | | | | | | This is split out of https://codereview.chromium.org/2092893003/ (Retract PipelineBuilder some more) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155983003 Review-Url: https://codereview.chromium.org/2155983003
* Make GrAtlasTextBlob::run own effects it points to.Gravatar bsalomon2016-05-19
| | | | | | | | | | BUG=chromium:608566 Currently the run has bare pointers and the effects can be destroyed while a run is pointing at them. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1993213003 Review-Url: https://codereview.chromium.org/1993213003
* Attempt to improve lifetime management of SkGlyphCache in Ganesh atlas text ↵Gravatar bsalomon2016-05-19
| | | | | | | | code. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1983353003 Review-Url: https://codereview.chromium.org/1983353003
* Remove GrFontScaler class.Gravatar bsalomon2016-05-17
| | | | | | | | | | This class is now effectively a set of helpers for interacting with a SkGlyphCache by GrBatchTextStrike. The class is deleted and the code is made into static functions in GrBatchFontCache.cpp BUG=chromium:608566 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1985163002 Review-Url: https://codereview.chromium.org/1985163002
* Remove clip from GrPipelineBuilderGravatar cdalton2016-05-12
| | | | | | | | | | This eliminates a copy and will allow us to make the GrClip class virutal. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966903004 Review-Url: https://codereview.chromium.org/1966903004
* Include scaler context flags (gamma and contrast boost) in the text blob ↵Gravatar brianosman2016-04-21
| | | | | | | | | | | | cache key. Fixes a bug in skiaserve when switching between L32 and S32 modes - we were reusing blobs created with the other (wrong) masks. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905683004 Review URL: https://codereview.chromium.org/1905683004
* Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriateGravatar brianosman2016-04-13
| | | | | | | | | | | Trying to be much more explicit about where we really mean sRGB as a format, and where we mean gamma-correct, as in: "not legacy behavior". Most of the changes to rendering behavior are dependent on the latter, so let's be precise. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884873006 Review URL: https://codereview.chromium.org/1884873006
* sRGB support for distance field text.Gravatar brianosman2016-04-12
| | | | | | | | | | | | | | | | | | | | | Add a second distance field adjust table that only applies contrast, not fake-gamma correction. Store a flag in the batch at creation time, using the same logic we apply elsewhere (render target format, plus paint flags). That gets us close, but not as good as bitmap text. The final step is to use a linear step function (rather than smoothstep) to map distance to coverage, when we have sRGB output. Smoothstep's nonlinear response is actually doing some fake-gamma, so it ends up over-correcting when the output is already gamma-correct. Results are now very close between L32 (old table, smoothstep) and S32 (contrast-only table, linstep). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885613002 Review URL: https://codereview.chromium.org/1885613002
* Revert "Revert of Pass effects directly to fontcache (patchset #8 id:140001 ↵Gravatar reed2016-04-12
| | | | | | | | | | | | | | of https://codereview.chromium.org/1863013003/ )" add SK_SUPPORT_NEW_ONCREATESCALERCONTEXT for chrome this has now landed https://codereview.chromium.org/1878913002/ TBR= BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880873002 Review URL: https://codereview.chromium.org/1880873002
* Revert of Pass effects directly to fontcache (patchset #8 id:140001 of ↵Gravatar borenet2016-04-11
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1863013003/ ) Reason for revert: Seems to have broken the DEPS roll. Original issue's description: > Pass effects directly to fontcache > > BUG=skia:5176 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003 > > Committed: https://skia.googlesource.com/skia/+/c79172857c3f69cc46837e1beeae0c1ead377bb2 TBR=djsollen@google.com,bungeman@google.com,mtklein@google.com,fmalita@chromium.org,msarett@google.com,reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5176 Review URL: https://codereview.chromium.org/1872253004
* Pass effects directly to fontcacheGravatar reed2016-04-11
| | | | | | | BUG=skia:5176 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003 Review URL: https://codereview.chromium.org/1863013003
* Decouple contrast boost from fake gamma.Gravatar brianosman2016-04-08
| | | | | | | | | | | | | | Replace FakeGamma with FontWeightFlags. Largely mechanical, except for the changes in ignorePreBlend. With this change, text GMs generally look the same (or at least more similar) in 8888/srgb/gpu/gpusrgb configs. No public API changes. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1866293003 Review URL: https://codereview.chromium.org/1866293003
* Only use fake gamma with linear devices.Gravatar bungeman2016-02-22
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711223003 Review URL: https://codereview.chromium.org/1711223003
* Calculate translations to apply to vertices in batchGravatar joshualitt2016-02-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1716443005 Review URL: https://codereview.chromium.org/1716443005
* Delete GrTextContextGravatar joshualitt2016-02-16
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1699073004 Review URL: https://codereview.chromium.org/1699073004
* Remove last bit of privacy violation for GrAtlasTextBlobGravatar joshualitt2016-02-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1698503002 Review URL: https://codereview.chromium.org/1698503002
* start to chip away at friending of GrAtlasTextBatch/GrAtlasTextBlobGravatar joshualitt2016-02-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684253002 Review URL: https://codereview.chromium.org/1684253002
* Remove GrTextBlobCache/GrAtlasTextBlob friendlinessGravatar joshualitt2016-02-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1686113002 Review URL: https://codereview.chromium.org/1686113002
* cleanup textblob cache sanity check and prevent it from bitrottingGravatar joshualitt2016-02-10
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684513004 Review URL: https://codereview.chromium.org/1684513004
* Fix GrAtlasTextBlob bounds managementGravatar joshualitt2016-01-22
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 Committed: https://skia.googlesource.com/skia/+/ae473fdfc3db2d9dd82b05b2568767d6d4038fcd Review URL: https://codereview.chromium.org/1605013002
* Revert of Fix GrAtlasTextBlob bounds management (patchset #8 id:140001 of ↵Gravatar joshualitt2016-01-20
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1605013002/ ) Reason for revert: seems to break upright matrix Original issue's description: > Fix GrAtlasTextBlob bounds management > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 > > Committed: https://skia.googlesource.com/skia/+/ae473fdfc3db2d9dd82b05b2568767d6d4038fcd TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1615473002
* Fix GrAtlasTextBlob bounds managementGravatar joshualitt2016-01-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605013002 Review URL: https://codereview.chromium.org/1605013002
* A few more small changes to make GrAtlasTextBlob nearly self containedGravatar joshualitt2016-01-20
| | | | | | | | | | Note: There is still a bit of friendliness, but its going to require some creativity to deal with. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606943002 Review URL: https://codereview.chromium.org/1606943002
* Move distance field text positioning into GrTextUtilsGravatar joshualitt2016-01-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1521633002 Review URL: https://codereview.chromium.org/1521633002
* This CL moves a bit more logic into GrAtlasTextBlobGravatar joshualitt2016-01-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1516943004 Review URL: https://codereview.chromium.org/1516943004
* Reland of Make draw* lines responsible for cache management (patchset #1 ↵Gravatar joshualitt2015-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1552513003/ ) Reason for revert: might have been premature Original issue's description: > Revert of Make draw* lines responsible for cache management (patchset #1 id:1 of https://codereview.chromium.org/1521613002/ ) > > Reason for revert: > seeing crashes on android and linux > > Original issue's description: > > Make draw* lines responsible for cache management > > > > TBR=bsalomon@google.com > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/66957946c0c418e71c0f36bb2904cc38c334eba4 > > TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/90e293dae4990a86cb952663ccde8fae55112d7d TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1551563003
* Revert of Make draw* lines responsible for cache management (patchset #1 ↵Gravatar joshualitt2015-12-28
| | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1521613002/ ) Reason for revert: seeing crashes on android and linux Original issue's description: > Make draw* lines responsible for cache management > > TBR=bsalomon@google.com > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/66957946c0c418e71c0f36bb2904cc38c334eba4 TBR=bsalomon@google.com,jvanverth@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1552513003
* Make draw* lines responsible for cache managementGravatar joshualitt2015-12-15
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1521613002
* Move all text stuff to its own folderGravatar joshualitt2015-12-11
BUG=skia: Review URL: https://codereview.chromium.org/1521453002