Don't create the bitmap in a lazy, thread-unsafe way.
Create it in a proactive, thread-safe way.
There's still opportunity to dedup the data between
fStorage and fBitmap that I'll follow up on next.
Change-Id: I1a71fbc560c84ff1e9e6b8c05673e461417a5b58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376598
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The dead-code elimination pass only occurs when three separate flags are
all enabled: optimize, control-flow analysis, dead-code elimination.
Previously the code checked just the dead-code elimination flag, not the
other two.
Change-Id: I1e7e356432c4398f6b072d472fe4d1ec5dac107e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376178
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
9b1c569b14..d24398b3e3
2021-02-26 lubosz.sarnecki@collabora.com gl.xml: Annotate glDiscardFramebufferEXT with param groups.
2021-02-25 syoussefi@chromium.org Vulkan: Generate xfb support code in SPIR-V for emulation path
2021-02-25 ianelliott@google.com Vulkan: Add GPU memory report and analysis documentation
2021-02-25 ynovikov@chromium.org Cleanup EGLMakeCurrentPerfTest instantiation
2021-02-25 ynovikov@chromium.org Suppress 1 VulkanExternalImageTest on Linux AMD Vulkan
2021-02-25 lubosz.sarnecki@collabora.com gen_vk_internal_shaders: Don't include full path on Python 3.4+.
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC fmalita@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: fmalita@google.com
Change-Id: I9e078dae4ec883b7d81d81214c1bac91db055c7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376360
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The unit test Paint_nothingToDraw expects isAlphaUnchanged() to work
correctly on a matrix color filter, so we take care to make it easy
to prove alpha is unchanged when its row is [0 0 0 1 0].
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I1bc537b2c1c4892bd65831806cf32b933539bff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370713
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Only Mode::kGaussian is used, so fold that through.
Change-Id: Ic87f66c913e4e64c28dade2f65a9034b163af3ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375941
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Since while statements are implemented in terms of a for loop, also
added ForStatement::MakeWhile() which assumes null for the init-stmt and
the next-expr.
We currently don't have any optimizations for for-statements so the
primary benefit is moving code out of IRGenerator.
Change-Id: I4b3fc3482e28b7d28065e85670a6037b511847ff
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375203
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
SkFilterQuality is recorded in the chrome UMA metrics, the enum should
not be reordered or changed; otherwise, the result may produce false
alarm. Adding the comment to reflect it t avoid future misunderstanding.
Bug:1176091
Change-Id: I6cdf0d8c4f59a5548e456a2c641b2b6158abde48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374417
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This was landed but not turned on. D'oh!
Bug: skia:10286
Change-Id: I65682370046c87c854d806253db32795ef3a9d14
Cq-Include-Trybots: luci.skia.skia.primary:Fuzz-Debian10-Clang
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375736
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Try to make this a little cleaner and set up for shader precompiles.
Change-Id: Id0cf7c88e67addfdf9f79acef4484d1d2ee2d5ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375199
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: Ibe4e929b7d160b3dbf0e5b6ae093b4bab419817d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375198
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit 4903482a2a.
Change-Id: Ie56583344897fcb2c072bcac4d97d582edeadf07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375660
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This lets the Rehydrator and Inliner benefit from static optimization
opportunities, like converting `if (false) {...}` to a Nop.
Change-Id: I70b4fceab84c50ea270dc894b0d6fe0e7e2369eb
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375777
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
These variables were later being eliminated by the dead-code-elimination
pass, so you can't see them directly in the final output, but removing
them affects the name mangling off all future symbols, so it causes an
enormous ripple effect in the diff. And of course, it's a waste of time
and memory to synthesize IRNodes just to destroy them later.
If we disable control-flow analysis, we lose the dead-code-elimination
pass entirely; this change is also beneficial for emitting better code
when optimizations are turned off.
Change-Id: I882b3be4f3fd99b77d99b6abe128f26bb9252c89
Bug: skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375776
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Previously, this happened during optimization, so we couldn't disable
control-flow analysis on any code which used sk_Caps. Now this happens
as soon as the IRNode is rehydrated or instantiated. The logic has
migrated to a static helper function, Setting::Make.
Change-Id: I102557845ccd1b68cc2b12381563f06bc64c621f
Bug: skia:11365, skia:11343, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375298
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit e79bb32365.
Reason for revert: removes static constructor
Original change's description:
> Revert "Migrate caps-bit lookup code from IRGenerator to Setting."
>
> This reverts commit c5ab6fe388.
>
> Reason for revert: Chrome roll,
> https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8854325862539635248/+/steps/check_static_initializers__with_patch_/0/stdout
>
> Original change's description:
> > Migrate caps-bit lookup code from IRGenerator to Setting.
> >
> > This CL moves existing code from point A to point B; the logic should be
> > the same as before.
> >
> > Change-Id: I90c39588531a34f74c4b1802a7c692c08ddc4f16
> > Bug: skia:11365
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375075
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I272eaf6ca55c75527538732c1582a26d243572b5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11365
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375676
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:11365
Change-Id: Ia4cf08dd4472c4e942263eeb4de5e04ac6c08bdc
Reland "Remove CapsMap from IR Generator."
This reverts commit 45c57e116e.
Reason for revert: removing static constructor
Original change's description:
> Revert "Remove CapsMap from IR Generator."
>
> This reverts commit 6394bb43cb.
>
> Reason for revert: chrome roll still,
>
> Dumping static initializers via dump-static-initializers.py:
> # SkSL::CapsLookupTable::CapsLookupTable(std::initializer_list<std::__1::pair<char const*, SkSL::CapsLookupMethod*> >)
>
>
> Original change's description:
> > Remove CapsMap from IR Generator.
> >
> > Previously, the IRGenerator's fCapsMap was a lookup table from caps-name
> > to caps-value.
> >
> > This has been replaced with a lookup table from caps-name to
> > caps-lookup-method. This is more general-purpose; you can initialize it
> > once and it always works, instead of needing to initialize it based on
> > a static set of caps.
> >
> > The next step after this CL is to migrate this logic into Settings and
> > remove caps handling from the IR Generator entirely.
> >
> > Change-Id: I09fc8220f8d5bf297033adbaf4c955f2ce0589cf
> > Bug: skia:11365, skia:11319
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375074
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I3c3ffcac153faf068b0698ac2e32dbe4896e6ee4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11365
> Bug: skia:11319
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375677
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
Bug: skia:11365
Bug: skia:11319
Change-Id: Id8695d3b9ea5dd210ba3bc04e27a89212b0f7239
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375696
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Also removes the now-empty SkImageFilters::RegisterFlattenables()
function (was public, but is private-use only, so no one should be using
it anyways).
The remainder of SkImageFilters.cpp will be cleaned up in a follow-up CL
Bug: skia:11230
Change-Id: Ibdccff70d37e78e935cadcaff2ac90384e27c990
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372120
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:11230
Change-Id: I63cbfe31e1f2fd2aa0fe4479061f9958841c8030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372016
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This is a reland of 4a281dc8ee
Original change's description:
> Fix issues with insetting and outsetting quads.
>
> Need more degrees of freedom when moving 3D points to project to 2D
> points that don't fall on the projected quad edges.
>
> Need to check geometry subset in shader to avoid positive coverage in
> outset quads with nearly parallel edges.
>
> Bug: chromium:1177833
> Change-Id: I0759382d9221ba44aacd537254e08d9f2716a6af
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372196
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: chromium:1177833
Change-Id: Icf2b11334489c12f30e792526093c0d4bbaca5e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375058
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2/4 of the machines upgraded their drivers, confirmed jobs work on
updated machines and upgraded 1 of the outdated machines to match.
Will upgrade the last one after this lands.
Change-Id: Ib1485767733b3907d0bac3d6c341fa8e434aa0c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375614
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
- Migrate our code to SkImage::MakePromiseTexture
- Have DDLTileHelper share one SKP and one set of promise images across all tiles.
- Disallow on-the-fly allocation of mips for promise textures.
Bug: skia:10286
Change-Id: Ie35976958454fc520f3c9d860e6285441260c9f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291938
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
to use 10.15.7.
It seems the 2 bots we had running 10.15.1 in Golo were upgraded in the past few days.
Change-Id: Id2e200ff8d0b2fe49ca5a01c99cf38c4051ef442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375612
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
All other tests (DLL, etc) appear to work with this change, but until
we reallocate some more Golo VMs, we don't have capacity to run
more than a few.
Bug: skia:10782
Change-Id: I909dcdd4ce3a597062e6286e3391854fe7229d90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375121
Reviewed-by: Eric Boren <borenet@google.com>
This reverts commit 6394bb43cb.
Reason for revert: chrome roll still,
Dumping static initializers via dump-static-initializers.py:
# SkSL::CapsLookupTable::CapsLookupTable(std::initializer_list<std::__1::pair<char const*, SkSL::CapsLookupMethod*> >)
Original change's description:
> Remove CapsMap from IR Generator.
>
> Previously, the IRGenerator's fCapsMap was a lookup table from caps-name
> to caps-value.
>
> This has been replaced with a lookup table from caps-name to
> caps-lookup-method. This is more general-purpose; you can initialize it
> once and it always works, instead of needing to initialize it based on
> a static set of caps.
>
> The next step after this CL is to migrate this logic into Settings and
> remove caps handling from the IR Generator entirely.
>
> Change-Id: I09fc8220f8d5bf297033adbaf4c955f2ce0589cf
> Bug: skia:11365, skia:11319
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375074
> Commit-Queue: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: I3c3ffcac153faf068b0698ac2e32dbe4896e6ee4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11365
Bug: skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375677
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit d42932a1b5.
Reason for revert: Breaking CMake and SKQP builds.
Original change's description:
> Add DSL PossibleExpression & PossibleStatement
>
> These are currently unused, but in future CLs they will be used to
> capture line number information in DSL error handling.
>
> Change-Id: Ieee730e0ad8323043437972fedb5bec471c367e4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375069
> Reviewed-by: John Stiles <johnstiles@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: I2062c9964569c9129a2145f9e45f849310129687
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375658
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
This reverts commit 8a43a2889e.
Reason for revert: Prereq revert for https://skia-review.googlesource.com/c/skia/+/375069
Original change's description:
> SkSL DSL now reports the C++ line numbers of errors
>
> This is done a best-effort basis. Positions will only be reported in
> Clang and GCC, and may not be reported in every possible situation.
>
> Change-Id: I7efb15781546b95e667fee34e488366174bb5f36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374600
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: I173cb355533d6f99c9561177b68f56924fe8a98f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375657
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
39d7fc1875..9b1c569b14
2021-02-24 m.maiya@samsung.com Vulkan: Handle vertex count and primitive mode error cases in TS
2021-02-24 m.maiya@samsung.com Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent
2021-02-24 syoussefi@chromium.org Vulkan: Fix missing visibility barrier for glReadPixels
2021-02-24 syoussefi@chromium.org Vulkan: Fix PBO read pixels with unaligned output pitch
2021-02-24 syoussefi@chromium.org Vulkan: Optimize glMemoryBarrier more
2021-02-24 cnorthrop@google.com Capture/Replay: Fix compressed texture level caching
2021-02-24 cnorthrop@google.com Docs: Update ANGLE trace creation steps
2021-02-24 amy.liu@arm.com Fix crash of MultithreadingTest end2end tests.
2021-02-24 jmadill@chromium.org Stubs for OpenCL entry points.
2021-02-24 lubosz.sarnecki@collabora.com Remove redundant (c) from license headers.
2021-02-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ca177df9b948 to 55434360b05d (16 revisions)
2021-02-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d163fd7c6905 to b90646417bd3 (481 revisions)
2021-02-24 syoussefi@chromium.org Add a test for sample after deferred clear
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC fmalita@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: fmalita@google.com
Test: Test: *EXTShaderFramebufferFetchNoncoherent*.*Test: Test: Recapture Asphalt 8Test: Test: dEQP-GLES31 -
Change-Id: Ib0a9476dc655bed373463c2dddf3e8b51e1ef44d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375478
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This is done a best-effort basis. Positions will only be reported in
Clang and GCC, and may not be reported in every possible situation.
Change-Id: I7efb15781546b95e667fee34e488366174bb5f36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374600
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This CL moves existing code from point A to point B; the logic should be
the same as before.
Change-Id: I90c39588531a34f74c4b1802a7c692c08ddc4f16
Bug: skia:11365
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375075
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: Iafeb13812851271a5262730e9c0642d4469c273f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375020
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This is a complex feature that was propping up this one use-case. After
this CL, it can be removed.
Change-Id: Ia391565daddeba46adfb325980d10ad653e269c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375019
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Bowtie joins are only used on internal chops, and in that case, they
are only needed on cusps. Rather than measuring the angle to see if we
need the bowtie, we can just detect if the chop was at a cusp instead.
Bug: chromium:1172543
Change-Id: I5efe4df1fb10dd850b65e0f85415d7791e196cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/373797
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Previously, the IRGenerator's fCapsMap was a lookup table from caps-name
to caps-value.
This has been replaced with a lookup table from caps-name to
caps-lookup-method. This is more general-purpose; you can initialize it
once and it always works, instead of needing to initialize it based on
a static set of caps.
The next step after this CL is to migrate this logic into Settings and
remove caps handling from the IR Generator entirely.
Change-Id: I09fc8220f8d5bf297033adbaf4c955f2ce0589cf
Bug: skia:11365, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375074
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>