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>
Bug: skia:12063
Change-Id: I86833ddfac9414348cbc6cf5bfb39e09c02c7d92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434857
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Previously, a cloned Runtime Blend FP would lose its
kIsBlendFunction_Flag, causing invalid code to be generated.
This broke the `filltypespersp` slide when "Force Runtime Blends" is on.
Change-Id: I9a140bc6467536e5ebeb2ca47eca6f013462dd58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434919
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
TopDeviceSurfaceFillContext can return null if there is a paint filter
on the canvas.
Change-Id: I4aa5db63278a561dabea3390b0975bf072e1f679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434918
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Without the SkVx.h #include this broke the G3 roll as part of:
https://skia-review.googlesource.com/c/skia/+/431384 (Retract GrSurfaceDrawContext.h a bit)
This new version should work. This is part of making v1::SurfaceDrawContext V1-only.
Bug: skia:11837
Change-Id: I240e5feeef6de89199882e666c71a864d13b9605
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434163
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
When GrBlendFragmentProcessor is used to implement a SkBlender, we need
to pass distinct source and destination colors. A single `_input`
argument doesn't allow for this, but by enabling the blend-function
signature on the FP, we get both a `_src` and `_dst` color to work with.
By default, the GrBlendFragmentProcessor continues to pass `_src` to
both `srcFP` and `dstFP` since this is how it has historically worked.
To use the `_dst` color, the caller can wrap the dstFP in a
`UseDestColorAsInput` FP.
Change-Id: I105e1ee2554c3d526a82fffd26bc696a2b8dc248
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434045
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Returns a fragment processor which samples the passed-in fragment
processor using `args.fDestColor` as its input color. Pass a null FP
and it will return `args.fDestColor` directly. (This is only meaningful
in contexts like blenders, which use a source and dest color.)
This also fixes a bug in invokeChild which failed to forward along the
dest color when one blend function invokes another blend function, and
fixes an edge case where GrSkSLFP where it would fail to enable the
blend-function mode when the dstFP is null.
Change-Id: I46c8bffeb602d0c0b2b4dd1723a893582f3007ed
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434681
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This reverts commit cc9d20f308.
Reason for revert: Wrong API pre-C++17
Original change's description:
> SkCanvas: switch from SkDeque to std::deque
>
> Bug: skia:10987
> Change-Id: If252f644dc3b8827356f9c7044c8e01fd0fc5afe
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434676
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=brianosman@google.com,reed@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
Change-Id: Ica125d5ad04332d68f54dd544373fa29eaf2b69c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434856
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
ae24c9d387..3036e0903c
2021-07-29 syoussefi@chromium.org Vulkan: Direct SPIR-V Gen: Support the precise keyword
2021-07-29 syoussefi@chromium.org Define angle::HashSet potentially using abseil
2021-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ecc420b25566 to 55a0cb8b66ac (8 revisions)
2021-07-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b8bcc42a41e5 to 44660405ea6c (1 revision)
2021-07-29 kbr@chromium.org Disable Metal shader cache again in angle_end2end_tests.
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 kjlubick@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: kjlubick@google.com
Change-Id: I164f3c83a65c35a6edc133bcb3f1db4d944388ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434798
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 (recipe_engine) into this repository.
recipe_engine:
9fd324104c~..910def8f654695ebcb84d02a60f69ec0cfd1d32a
9fd3241 (wenbinzhang@google.com)
Fix issue when recipe launch with RECIPES_DEBUG_SLEEP
910def8 (yuanjunh@google.com)
Make sure all coverage files are removed
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: Ie6069c7e32c47314fde23c0fa03003e013deda8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434757
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>
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:
45d2afa080
45d2afa (avi@chromium.org)
Revert "New vpython release to depot_tools."
recipe_engine:
adf6ca4b1b
adf6ca4 (yuanjunh@google.com)
[python3] make test _runner command py3 compatible
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: I294c748781a093a727f1194cd076a6644f83f001
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434532
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>
This is meant to help disambiguate the FP from `args.fDestColor`.
Change-Id: I59a4527e64970811a6798a635191016c645587ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434679
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This allows us to support a chain of FPs that includes both blenders
and matrices.
Change-Id: Ic8a4ea3eb24b7fd45552607be196461e999f03ea
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434656
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Bug: skia:10987
Change-Id: If252f644dc3b8827356f9c7044c8e01fd0fc5afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434676
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: 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:
517f6beeaa
517f6be (meiring@google.com)
[depot_tools] roll rdb to 2be056d0
recipe_engine:
5f4efc8641
5f4efc8 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
Roll CAS Client from 5408cdaa3a03 to faa49b9522a8
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: I69b0c455354a6b9b0a907c1e8ed27372e0742c1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434521
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>
This hoists logic that was being done only for GrSkSLFP to the base
class, and avoids having to write these functions lazily on first-call.
To simplify things further, stop storing the names of child processor
functions in the parent. Simply have each processor store its *own*
name. This avoids storing empty strings for null children.
Change-Id: I53afbae6dc0986575e3e91aba5532a27f7ef25d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434466
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This CL also factors out the child effect reading and writing code into
helper functions, to avoid repeating it verbatim.
Change-Id: Ia48e5f346aa557179bec83daaa91e772765181a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434117
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
If there are colors, and the incoming paint has a shader,
then they need to be blended.
Bug=Skia:11822
Change-Id: Id5a1d7dffcaedb678214c694c9c87d0c71cdc991
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434161
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
When called in the typical FP context, we only have a paint color, not a
separate source and destination color. So we pass the paint color in
each slot. This seems counterintuitive, but the upshot is that a runtime
blender will now pass the paint color as the input color to the source
effect and dest effect. (In a followup CL, sampling directly from a
runtime blender will allow distinct values to be passed into each slot,
and these values will be honored as-is.)
Change-Id: I96b016527d1066f0431a763f6609c3983b4854ec
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433516
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: I7b53df1eae83a596c4d1f3620e7f9bd146f68af2
Bug: oss-fuzz:36655
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434465
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
The fuzzer generated the expression `(6).xx`, which triggered a
type-checking assertion. This swizzle was otherwise harmless.
Change-Id: Icb12f93fe3f6d88265d67e689ceb85cf1085c9e8
Bug: oss-fuzz:36655
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434464
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>
Multiply degree values by 180 as FreeType returns them just as in the
font format. Add more tests for skew and transform, and a sweep
test. Update the test font to follow changes from a work in progress
FontTools branch which implements the new format.
Roll FreeType to include parsing changes
d3dc2da9b2..47b1a541cb
Bug: skia:12272
Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Release-All-Android_NativeFonts
Change-Id: Iaaf3a53dbf40828b908202c19de91319cc68b0b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432976
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>