Bug: skia:8962
Change-Id: I0ab208063b6b7eca010f86d4d851ade23df5f849
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220529
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: chromium:972587
Change-Id: I05ab4393d4df20a8f55c4352d09f92f275cedf5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220736
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Relying on visual bounds yields incorrect results in some cases (e.g.
leading/trailing empty lines).
Update the vertical alignment logic to use metrics instead:
- track the first line ascent and last line descent
- compute content height as
first_ascent + last_descent + line_height * (line_count - 1)
- relocate Result::computeBounds() to the unit test (only user)
Empirically, this causes top-alignment to be less snug (likely due to
ascent slack in the tested fonts).
Bug: skia:9098
Change-Id: Ib92bf907af8889d6b0d0fda22ef41a2cc8b50901
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220656
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2589cdcc88..85fef1bc62
git log 2589cdcc88ec..85fef1bc62f8 --date=short --no-merges --format='%ad %ae %s'
2019-06-13 spang@chromium.org Vulkan: Build validation layers with asserts only
2019-06-12 clemendeng@google.com implement core egl image entry points
2019-06-12 jmadill@chromium.org Vulkan: Fix build with custom secondaries disabled.
2019-06-12 jmadill@chromium.org Roll SPIR-V headers and Tools.
2019-06-12 dongja@google.com Vulkan: add support for shadow samplers.
2019-06-12 jonahr@google.com Extend eglGetPlatformDisplay to allow feature overrides.
Created with:
gclient setdep -r third_party/externals/angle2@85fef1bc62f8
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=herb@google.com
Change-Id: I86cb59bef2fe3db96ded65c507a95134b717baf8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220680
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
5dc4d131fb..f6ed31446f
Created with:
gclient setdep -r ../src@f6ed31446f
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=herb@google.com
Change-Id: I155b13c1864cf0a9d10ed884342bcf455c6b49af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220681
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This invoked operator bool(), so all arrays were parsed as having 1 column.
Change-Id: Iccd2a4fc80c905d8a5912f5639b0efbad050cbcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220530
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This trims one instruction of loop overhead, from
sub(N, K) // N -= 8
cmp(N, K-1) // if (N >= 8)
jg loop // goto loop;
to
sub(N, K) // N -= 8
... // if (N != 0)
jne loop // goto loop;
To make this work we pass only multiples of K into the
JIT'd code, so it always hits exactly N = 0 to exit.
Change-Id: I81c7a2f8d5927971059a68c5bce2e3d6fb0b8ff2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220576
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I43847609bfbdc769487cab5bf19f754615cc8ddd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220528
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The mask-only special case for extract is wrong...
it never looked it its input!
This not only makes things correct-er, but oddly it also
makes them faster by breaking inter-loop data dependencies.
Disable tests for _I32... they're actually still broken
because of a much more systemic flaw in how I've evaluated
programs. The _F32 and _I32_SWAR JIT code and all interpreted
code is just getting lucky. o_O
While here, update the I32_SWAR code to use the same math as I32,
(x*y+x)/256 for unorm8 mul. This just helps keep me sane.
Change-Id: I1acc09adb84c426fca4b2be5ca8c2d46d9678dd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220577
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
At head we're redoing any n<8 tail from the start,
not continuing from (n/8)*8 like we'd want.
Change-Id: I1a3d24cdffc843bbe6f3e01a163b6e3a20fdd0ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220556
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Like any other Instruction the store*s are assigned
a destination register d, which doesn't really make
sense, but works perfectly as a temporary register.
This means store8 doesn't need to reserve xmm/ymm15
as a temporary... it already has one naturally. As
you might expect, the examples we have so far assign
the consumed input x register as the d register, so
things that used to look like
vpackusdw %ymm6 ,%ymm6 ,%ymm15
vpermq $0xd8 ,%ymm15,%ymm15
vpackuswb %ymm15,%ymm15,%ymm15
vmoq %xmm15,(%rdx)
now look more like
vpackusdw %ymm6,%ymm6,%ymm6
vpermq $0xd8,%ymm6,%ymm6
vpackuswb %ymm6,%ymm6,%ymm6
vmoq %xmm6,(%rdx)
Should be no perf difference, just simplified register bookkeeping.
This may suggest splitting load8/store8 into finer instructions,
two to do the physical loads and stores, and two for the 8->32
and 32->8 widen and narrow? On the other hand load8 really is
just one vpmovzxbd instruction, so it'd be a shame to split it.
I suspect this will become more clear as I add 16-bit support.
Change-Id: I7c2b4d6b1689d40b50382f65fc00c01c54529c8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220543
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: Id61b7b9d9bc7611727a27be0172fcabc2ef4345a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220522
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Change-Id: I0263b4ea8c60695c890f31d45198a7bd45ff3db8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220536
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
During the dummy serialize step that dedupes typefaces, all work not relevant to typefaces is skipped.
For a picture that is approx 100% subpictures, serialization time is reduced by about 50%
Change-Id: I00a2579e935a15c5ccabc065b8326c0cad74244b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215121
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
1b5ad312c5..2589cdcc88
git log 1b5ad312c57a..2589cdcc88ec --date=short --no-merges --format='%ad %ae %s'
2019-06-11 clemendeng@google.com GLSLTest stack overflow bug fix
2019-06-11 clemendeng@google.com removed msvs_projects from devsetup
2019-06-11 jmadill@chromium.org Vulkan: Add missing command pool reset.
2019-06-11 dongja@google.com Vulkan: Add support for gl_VertexID/gl_InstanceID
2019-06-11 kbr@chromium.org Reland "Temporarily disable creating D3D debug device."
Created with:
gclient setdep -r third_party/externals/angle2@2589cdcc88ec
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=herb@google.com
Change-Id: Ie90cfa83f262b5a5c5bc053a6d1d90d4dda69c1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220478
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
3032e0d81b..5dc4d131fb
Created with:
gclient setdep -r ../src@5dc4d131fb
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=herb@google.com
Change-Id: Iceecfccb3167dbe0f50ada31fa844610a882fdf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220479
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/bdc5cd8872c898ccb123cf7ea29d7a7975f28364 cq: use gerrit_changes from buildbucket, which are ordered by CQ daemon. (tandrii@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iad52667b14b95c0cf5e3e62dd7f768b7e731ab27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220416
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Make sure we make the dst be visited so that the allocator knows
it can reuse the dst copy texture.
Don't flip the copy rect for origin until after setting the bounds on
the copy op
Bug: chromium:972587
Change-Id: Ibb37e41b45e773e5df2c79c2e0e3ec79a871632f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220219
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Currently fails on GrContext's that don't support transfer buffers.
TODO: fallback to synchronous read pixels.
Bug: skia:8962
Change-Id: I464ea00519013a371ba29912a0220fa42b252243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220299
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
We can use our hash to identify each CodeLoad entry, and that will mean
`perf inject -j` will dump out an .so for each function named
jitted-<pid>-<hash>.so, obviating the need for our own .bin dumps.
The .so's are nicer anyway because you can just `objdump -d` them;
they know what format, architecture, etc. they hold.
Change-Id: I701bda6bf55ac7716a2210b09373aa02e806c6ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220317
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Adds loads/stores (but not dst loads/gathers) for:
*fp16 single and two channel
*fp32 two channel
*normalized unsigned 8 bit two channel
*normalized unsigned 16 bit single and two channel
TODO: 4 channel unsigned normalized 16 bit.
MISSING: fp32 single channel. No matching current or future GrColorType
planned AFAIK.
Intent is to support all (noncompressed) GrColorType load/stores in
order to implement fallbacks for 3D API limitations on texture uploads
and render target readbacks (some of which require swizzling).
Also, can be used to support YUV<->RGB planar
splitters/joiners on CPU.
Bug: skia:8962
Change-Id: I258d5682a1f4025b31639a97b1a1a02077a2453f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219999
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Clients of glyphs now use the accessors to get advance information.
Scalers still have full access to the fAdvance{X|Y} fields.
Change-Id: I4e83621811ca65627356caaad7efe2327a45f8b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220217
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This will ensure that the headers from the dependencies will have
precedent over system headers, thus preventing situations where system
headers will block dependency headers and prevent compilation.
Change-Id: I0d480a6d3898f2da99cf2706c5335aaac05b4e4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220276
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Long term we'll need to spin up our own codegen rather than using xbyak,
since it uses exceptions and does not support ARM.
I really don't like how I've hacked in the caching of the JITted
program, but that'll change anyway when switching away from xbyak.
Performance looks good, better than (lowp) SkRasterPipeline
but not quite as good as hand-tuned code:
Opts: 0.2 ns/px
RP: 0.7
F32: 0.8
I32: 0.6
I32_SWAR: 0.5
ninja -C out dm nanobench && out/dm -m SkVM && gobjdump -D -b binary -mi386:x86-64 /tmp/code.bin --insn-width=10
Change-Id: I34ce46e1d3fe5aa75f42709049a92ac79bf48bbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219341
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
It is only used by SkScalerContext_DW to communicate with itself.
Change-Id: I2926a31e285368d1825b13e4ec1d597c6ddc7fe1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220257
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Bug: skia:8243
Change-Id: I33ae473a201ed69cbca726556a501c418749ac68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220256
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: Ie96b3d0cb7e9f8d9070c25c90a41641ae3114ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220236
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:8243
Change-Id: I538e7181ab9922bbabb06e4acde1d560f2502de1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220216
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This is a reland of 10ad0b9b01
Original change's description:
> SkParagraph
>
> Change-Id: I0a4be75fd0c18021c201bcc1edfdfad8556edeff
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/192100
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>
Change-Id: I46cf43eae693edf68e45345acd0eb39e04e02bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219863
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
This device is very old and very unsupported. It doesn't officially come
with a browser (Chrome needs to be sideloaded).
Bug: skia:6531 skia:6670 skia:7286 skia:7921
Change-Id: I720cd3a40981694bf7befa5cafc700717dcd7cdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219486
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Will trigger the following:
skia.primary:
Build-Debian9-Clang-arm-Release-Flutter_Android
Build-Debian9-Clang-cf_x86_phone-eng-Android_Framework
Build-Debian9-Clang-host-sdk-Android_Framework
Build-Debian9-Clang-TAP-Presubmit-G3_Framework
luci.chromium.try:
mac_chromium_compile_dbg_ng
Bug: skia:9154
Change-Id: I88a21865777f7da52e8333920ad9d10da5e788ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219482
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Bug: oss-fuzz:14372
Change-Id: I9445a36a7d7b04ba63f1e5c9b1d1bd270708a7c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219481
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: oss-fuzz:14409
Change-Id: I837083139489d46f7db2f697ce85a0cabf85fb94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219997
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: skia:8243
Change-Id: Ie8b562f4e8ec6efeff1be7d7e0f3ff89ab3e99a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219487
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Rescales a pixel rectangle from a SkSurface and then converts to YUV
planes. Currently only implemented on GPU.
Supports the same rescaling options as asyncRescaleAndReadPixels. The
RGB->YUV conversion is specified by a SkYUVColorSpace.
Y, U, and V are always separate planes. The U and V planes are
subsampled in X and Y by a factor of 2.
Currently fails if either the width or height of the rectangle is
not even.
Bug: skia:8962
Change-Id: I33237849a9ccf9b66cab13dc56785496f4ce556a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217123
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This CL leaves the Ganesh world in a very odd place. In particular it still:
has pendingIO refs on GrSurfaces
forwards the proxy refs on to the backing GrSurface
Removing everything at once only ends in a mess thus, this goofball CL.
Change-Id: If112ff311bcef2e8d65a36c3b53b0ded4041c24e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210040
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
The analytic clip override was added to work around a fragCoord bug,
before we had the sk_FragCoord workaround. Now that we do, we can enable
that instead. This lets us remove the only use of fMaxClipAnalyticFPs.
Bug: skia:7286
Change-Id: If043bd939fd21088c145536b3133c7090e0984b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218538
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:8243
Change-Id: I80ed04f7bfbcf20549de30822245d8fe2832a810
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219996
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Add logic to adjust glyph positions based on animated tracking properties.
This adjustment is applied post-shaping (it doesn't observe the text box),
and requires line re-alignment - thus it is being processed per-line.
Change-Id: Id44a295032a48c7216f126cb02dd2d2d5cc18ae3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220076
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>