This code intentionally mixes half4s and float4s everywhere. Before
http://review.skia.org/435916 landed, this resulted in a compile error.
Change-Id: I852fef6ee99a8b78623e0e9ddeee2ad84a8c0504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436058
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>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: Ifb985c1baa5811c458454016d0d05fb04baa1c56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435721
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This reverts commit 8cd8e27c2c.
Reason for revert: b/195095846
Original change's description:
> Enable the atlas path renderer for GrAAType::kCoverage
>
> This will definitely cause regressions on a whole slew of benchmarks
> that were carelessly regurgitating cached bitmaps until the system
> memory was blown. But the well defined memory limits of the atlas and
> resilience to animation are worth it. If a client still wants this
> type of caching they can always render their own bitmaps using Skia
> and cache them.
>
> Bug: chromium:928984
> Bug: skia:12258
> Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:928984
Bug: skia:12258
Change-Id: Ia9ce9a3b392266a0defaa57752d44a71e533609e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436076
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Hopefully this will make it easier to add functionality to the Gr*ContextPriv classes.
This CL is mainly mechanical but did turn up some oddities:
GrDirectContext had a separate 'fShaderErrorHandler' member and a matching GrDirectContextPriv::getShaderErrorHandler method. This now falls back to GrBaseContextPriv::getShaderErrorHandler.
GrDirectContext::resetContextStats was const.
GrRecordingContextPriv's dump and dumpKeyValuePairs methods weren't const.
GrImageContextPriv::abandoned was const. GrImageContext::abandoned is not (bc GrDirectContext can abandon inside abandoned).
Change-Id: I25bb2160031de329d514b30c05752f1bdd1d5339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435716
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Previously, it was possible to compile runtime effects with narrowing
conversions disabled; e.g. skslc would do this. A Runtime Effect-based
ProgramKind now enables narrowing conversions automatically. (The
setting flag could still be turned on manually as well.)
Change-Id: I912c9adda77c29ccfda3b1d85d106315f648d624
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435916
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.
depot_tools:
211a5174c5
211a517 (chanli@chromium.org)
[dirmd] roll dirmd
recipe_engine:
f4f2e9bc6d
f4f2e9b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
Roll CAS Client from 17ea18c0a2cc to 3f172a683204
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia32845549c0540e0ac771a7ce31f924ee449d98c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435999
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
d4d6c23c7c..f016c4352f
2021-08-02 syoussefi@chromium.org Translator: Clean up type cloning
2021-08-02 jmadill@chromium.org Remove extra angle:: uses from ANGLEPestTest.cpp.
2021-08-02 jmadill@chromium.org Fix unreachable case in test instantiate.
2021-08-02 jmadill@chromium.org Test Runner: Allow listing tests on Android.
2021-08-02 jmadill@chromium.org Capture/Replay Tests: Skip crashing test.
2021-08-02 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix constructors with uniform parameters
2021-08-02 jmadill@chromium.org Remove ASSERT in computeRowPitch about row length.
2021-08-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from eca94bf2bef7 to 2395f179eff3 (1 revision)
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 nifong@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/main/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: nifong@google.com
Change-Id: Ifb6f54fe1474edd5a0f1d8ed5c9a5427a7e66daa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: Iac7db5bec874ebb7b695ef9890609d54b2afe061
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435881
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: Ide60535395eddae3392ff37339fa32bdde612da6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435878
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: I6ae39ce2bdf4cc9fa079e229e21e607088b3cf5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435723
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Previously, we only supported adding Statements, although we supported
removing Statements, ProgramElements and Expressions. Now, we can add or
remove any kind of element.
`replace` was deleted; it was only used in one place, and it could be
replaced by a pair of calls to `remove` and `add`. (`replace`
was originally used during the simplification pass.)
Change-Id: I0a0093ab60154fd5f5adfcd5c37d17e576c5379a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435624
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This can fail if the context has been reset or abandoned. Instead return
false so the caller print a warning message and skip rendering.
Bug: chromium:1235232
Bug: skia:12258
Bug: skia:5200
Change-Id: If78a914a25d09d48477e04317a34473632f76207
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435816
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Modify GrGLSLGP's logic to add a varying for a series of matrix sample
usages below a DeviceSpace FP in the FP hierarchy. The varying is based
off the GPs position output variable in the VS.
Adds a new sample usage type for the DeviceSpace FP.
Bug: skia:12198
Change-Id: Ic39f3296c60a073656ad0c72a431a462d5714e92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435717
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This was causing problems in the upcoming error reporting code and does
not appear to be doing anything useful anymore.
Change-Id: Ic4069d9c085e291907483c6019f49a089ee9370d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435796
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: I53d04e5b2ffd7e170a8b10a6bacbc239c8b5e7ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435720
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Bug: skia:11837
Change-Id: I60112e370c95e6f9d9bc12cb9b05d40dd2220bc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435279
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: If993bfe66969d2278009d3a3aba999467f4ac3a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435719
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.
Change-Id: Ie6a262328315a5726265ef4afede7e0e66337752
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435718
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Instead expand the map that is computed by GrGLSLGP to include a bool
that indicates whether each FP requires coords or not.
Now GrGLSLGP is solely responsible for determining which FPs take coords
and inserting any varyings. The rest of the system follows its lead when
generating FP functions and call sites.
Bug: skia:12198
Change-Id: I3471867fb64e94c7775c0b6209998159abeb6714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435018
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
SPIR-V code generation synthesizes some extra variables that don't
actually exist in the Program. Checking the ProgramUsage of these
variables would fail; ProgramUsage::get doesn't know about these
variables, so it asserts (and would consider them as dead even if it
didn't assert). We now track our SPIR-V bonus variables in a separate
set, and always report them as live.
Change-Id: If2f681470654025abf7ca4b3ec8126de2eb01297
Bug: oss-fuzz:36770
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435625
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>
Bug: skia:11837
Change-Id: I22691e282fe9e994aafe32bed97f284d54595f74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432936
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The traversal examines sample usage during descent and tracks the last
matrix sample usage encountered. Each FP that uses coords directly gets
a varying inserted at the position of the last matrix sample usage
encountered.
Whether a starting perspective coord or perspective matrix is
encountered is also tracked on the stack, removing the need for a
FP flag to track this.
Bug: skia:12198
Change-Id: I9f6302c1c2b6619b67a0d6ee1697d6e971560a15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433359
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This code was written back when most of the function setup was happening
in IRGenerator (and therefore not being hit by the DSL, which was
creating a function declaration directly). Since then, the Function
setup code was moved from IRGenerator into SkSLFunctionDeclaration.cpp,
making this copy of it in the DSL redundant.
Change-Id: Ide110a4ae7dc8b3182c467ee3a2ca249b07d7e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433159
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
In the new GrSurfaceContext class hierarchy we can get either a v1 or v2 SFC/SDC depending on the context options setting.
Bug: skia:11837
Change-Id: Ia25bc10b58bbbaf65a484b323d9d0eee471bb7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435276
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This is a reland of 62d42db282
Check for PBO support before binding PBO 0.
Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
Bug: chromium:1208212
Change-Id: I0da48fa9a1f31ec15827f9bef980e9d5a7d70d26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435622
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
No functional change.
This will allow it to use a different sample usage in the future.
Bug: skia:12198
Change-Id: I6d8bef383bf8a75f06e4cd8aa1c5a48188b53592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 62d42db282.
Reason for revert: d3d9 angle tests failing
Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:1208212
Change-Id: I85c89a4d0dd63aaafd80d7572c5643cfa547498b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435617
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
3036e0903c..d4d6c23c7c
2021-08-01 pkasting@chromium.org Fix a recently-introduced case of -Wunreachable-code-aggressive.
2021-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 55a0cb8b66ac to eca94bf2bef7 (22 revisions)
2021-07-31 syoussefi@chromium.org Translator: Correctly respect precision of gl_FragColor/Data
2021-07-31 syoussefi@chromium.org Disable Precise unittests without SPIR-V gen enabled
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix OpImage* on multisampled images
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix gl_Clip/CullDistance
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix nested ternary operators
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support vec(..., mat)
2021-07-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 571256871c2e to 0eb84cfc3d3f (25 revisions)
2021-07-30 kbr@chromium.org Get direct-to-Metal backend to run angle_end2end_tests.
2021-07-30 syoussefi@chromium.org Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
2021-07-30 syoussefi@chromium.org Translator: Consolidate EvqFragDepth and EvqFragDepthEXT
2021-07-30 sugoi@google.com Rename WebSwapLayerCGL to WebSwapCGLLayer
2021-07-30 lubosz.sarnecki@collabora.com packed_egl_enums: Add ColorSpace.
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 nifong@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/main/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: nifong@google.com
Change-Id: I1911afd89beccb5861b392a22226649c2dcc57ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435577
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Found in OOP-R canvas in Chrome. Most likely async read followed by
sync read with an intervening resetContext().
Bug: chromium:1208212
Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.
recipe_engine:
6adf69fe80
6adf69f (chromium-autoroll@skia-public.iam.gserviceaccount.com)
Roll CAS Client from 559e1b74816d to 9511bd5330b2
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
R=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If47a5a15c0e2077c24c00130b388f460e0a3b560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435236
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bug=skia:12225
Change-Id: I1b6816e234cbaa49035bcedfeff894a8d2c31133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434680
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
We take advantage of their shared SkFlattenable lineage to store all
three types of object in the same sk_sp, and check their
Flattenable type to distinguish between them. Accessors allow us to
mimic the coding style of having three distinct fields.
Change-Id: I16426377f10fa2abffbf09bb7998c968614433df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435019
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>
`SkShaderBase` is an implementation-detail of SkShader and doesn't need
to be in this enum name.
Change-Id: Ieb40a09ae489d4a1e11dfd306d20a8b94ee05ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435017
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
When compiling for iOS with a min deployment target of 14.0+,
CTGetCoreTextVersion() is marked as deprecated. The Core Text version is
used to enable fallback behavior when the current CoreText version is
known to behave badly. However, the version of CoreText that ships with
iOS 14.0 is greater than the versions which require fallback
behavior. Instead of keeping a map from iOS version to CoreText version,
as recommended by the deprecation message, simply disable all fallback
behavior when compiling for iOS 14.0+.
Change-Id: Ic81a1718247e434cb84d451bbdb8f810f3fe2555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434042
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Now that we support sampling from an SkBlender inside a Runtime Effect,
we can leverage that to reuse the blends from SkBlender::Mode. This lets
us avoid hard-coding copies of every built-in blend function.
Change-Id: I51f380490611fbde943c16648999b4fd4e6a14a9
Bug: skia:12257, skia:12085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434472
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Runtime shaders, color filters, and blenders are all able to sample from
a blender. These use the blend-function signature; both a src-color and
dst-color must be passed to sample. i.e.: sample(blender, s, d)
Change-Id: I3738e6b0b4af6d1d79e62ca1815c80d6a1ae9d6f
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432056
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:11837
Change-Id: If8dd864d6cd8bc5ab9569fbab40866e1810dbc27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434162
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>