Commit Graph

60018 Commits

Author SHA1 Message Date
skia-autoroll
3e8de76db5 Roll SwiftShader from 7d100c556081 to d3cc7d7ac0c3 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7d100c556081..d3cc7d7ac0c3

2022-04-05 capn@google.com Remove unsupported extension feature enums
2022-04-05 capn@google.com Update SPIR-V Tools to eed5c76a5
2022-04-05 swiftshader.regress@gmail.com Regres: Update test lists @ 7d100c55

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: djsollen@google.com
Change-Id: I94645ed7c9daa4a585beb7ee02b67809cde5f0ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527805
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-06 04:54:10 +00:00
John Stiles
71c7f7961d Emit SkVM function bodies with writeBlock.
`writeStatement` has the potential to emit a trace_line op. In practice,
right now our function's outer Block never has a position, so there is
no difference. However, Ethan's position-related work will add a
position to this Block, which would expose this issue and break tests.

Change-Id: I810edbc9b82feafd471cbcacf062aa14c8a66ba8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527841
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 22:01:38 +00:00
Arman Uguray
be405a8b38 [sksl][wgsl] Introduce SkSLWGSLCodeGenerator
Introduce a new WGSL codegen backend. It currently only supports
fragment/vertex stage input and output variable declarations.

Bug: skia:13092
Change-Id: If9e4e432794eb95fd33719be5c0141dfc2cb5680
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526757
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-04-05 21:54:08 +00:00
Ethan Nicholas
f735039368 Converted OPERATOR_RIGHT macro into a function
No functional changes; just a code cleanup now that this is possible.

Change-Id: I2d153e22058c2b9be8e1dc4f2ad9ccc186bff120
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527657
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 21:40:38 +00:00
Brian Salomon
562e02ef4b Remove GrContextOptions::fSharpenMipmappedTextures
It was already a no-op.

Bug: skia:13078
Change-Id: I7c7e1a86650ebdbd79bfcc4c1e739a3901345e76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527836
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-05 21:33:50 +00:00
John Stiles
cfa9938936 Simplify -1 * x into -x.
We already performed a matching simplification for `0 - x`, so this
seemed like a straightforward improvement.

Performing this simplification causes the expressions in the test code
to match on both sides (e.g. `-one == -one`) which allows them to fold
away.

Change-Id: Idf87a98024dd6831b45d0384285ead2e2e039493
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527656
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-05 20:27:15 +00:00
John Stiles
72d4c6b574 Collapse darken/lighten blend functions into one.
We use multiplication by 1 or -1 to branchlessly choose one of `min` and
`max` in the same function.

Change-Id: I44cf747feeae75a9c3e00f36e112e0a429871e86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527596
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-05 20:27:09 +00:00
John Stiles
fb485f1229 Move SkSLMain into tools/skslc/Main.cpp.
Change-Id: Id8d943b3eb752bad7f45c852c832c1f1fa0bdaca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527776
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-05 20:22:05 +00:00
John Stiles
dc28d75792 Collapse overlay/hard-light blend functions into one.
Hard-light is just overlay with the parameters reversed.

Change-Id: I6cf5963b1252cba3a7b71a56f4094a070188f8b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527503
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-05 20:21:47 +00:00
John Stiles
10e21844a7 Collapse hue/saturation/luminosity/color blend functions into one.
These functions were functionally almost identical, except:
- Sometimes sda/dsa are flipped
- Sometimes the saturation is not updated

We now have one method (blend_hslc) which can do all four blend
operations. It takes two new parameters ("flip" and "saturate") to
handle these four variations.

This reduces our shader count on some of our most shader-heavy slides
(e.g. aaxfermodes, xfermodeimagefilter) at a pretty reasonable cost.

Change-Id: Ifa8a48399851a9badb5d50038de1e25e60d44ebd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-05 20:16:54 +00:00
John Stiles
d0242346b8 Allow prefix-expressions in IsSameExpressionTree.
This will allow expressions like `-x == -x` or `!y == !y` to be detected
as matching expressions (which enables various constant-folding paths).

(Also, migrated the analysis code into a separate cpp.)

Change-Id: I3e317fdaed3762f8fa19e684a5ed557fc9348c7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-05 20:16:35 +00:00
Michael Ludwig
759deb9ec2 [graphite] Implement onClip-related functions in Device
The clip isn't actually applied, but clip stack manipulation is wired
up. This may have a slight impact on how things draw because the device
clip bounds now reflect the clip actions, and that is currently used as
each draw's scissor.

Bug: skia:12698
Change-Id: I1d2e9cea49762dbfaa008c7c6af6034387b62519
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526917
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-05 20:08:06 +00:00
skia-autoroll
6d59d396d8 Roll SwiftShader from a190ceed7293 to 7d100c556081 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a190ceed7293..7d100c556081

2022-04-05 sugoi@google.com Added missing feature structure for VK_KHR_maintenance4
2022-04-04 capn@google.com Validate SPIR-V instruction word array accesses
2022-04-04 dvet@google.com Add documentation for the configuration file mechanism
2022-04-04 capn@google.com Support VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
2022-04-04 rebecca.chang@starfivetech.com Reactor: riscv64 is not supported in subzero
2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: add configs/common and configs/linux for riscv64
2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: update script to include riscv64 target
2022-04-04 rebecca.chang@starfivetech.com marl: add new source file for riscv64
2022-04-04 sugoi@google.com Add missing imageView compatible formats for YCbCr

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: djsollen@google.com
Change-Id: Ifa4a1eb68cd01ac6b6d2ea71c873c17d12336bc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527425
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 20:07:40 +00:00
Ethan Nicholas
453e4def6f Improved BinaryExpression position tracking
This avoids a situation where we didn't know the position of a binary
expression while we were in the middle of evaluating it, which was
leading to problems with upcoming error reporting changes.

Change-Id: Ie41fa82d077de1aa1041cd84c539ba29aaa2f5f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527500
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 20:02:34 +00:00
Ethan Nicholas
59b0688e5e Improved PostfixExpression position tracking
This avoids a situation where we didn't know the position of a postfix
expression while we were in the middle of evaluating it, which was
leading to problems with upcoming error reporting changes.

Change-Id: Ie6d4dd8411ffb24ac7ee95d3e908483d0d92ba0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527499
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 20:02:26 +00:00
Ravi Mistry
c5c38dec95 [infra] Move TSAN_Vulkan jobs from Golo machines to Skolo
This change does the following:
* Removes 2 Golo Test-TSAN_Vulkan jobs because their counterparts already exist in Skolo.
* Moves 1 Golo Test-TSAN_Vulkan job to Skolo.

Bug: skia:13129
Change-Id: I28b40320c831d109aa4f8778ddc1d03be9473592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526916
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-05 19:57:24 +00:00
Jorge Betancourt
7e5823b0c8 guard includes behind swiftshader build flag
This adds egl through swiftshader to unix builds as a separate build target, supporting cl in g3

Change-Id: Ied8c413e9dee0f78f25cbcec1bf937a5eb55dd60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526676
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-04-05 19:57:18 +00:00
John Stiles
0e3a248cbe Add new folding tests involving prefix expressions.
Followup CLs will improve their output.

Change-Id: I07059348f68cd6cd3154c31a41f81018b26a44e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527616
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-05 19:52:07 +00:00
skia-autoroll
11fac8788c Roll SK Tool from 90b64b7f512e to 5d48b27e1dea
https://skia.googlesource.com/buildbot.git/+log/90b64b7f512e..5d48b27e1dea

2022-04-04 kjlubick@google.com [debugger] Update docs with port
2022-04-04 kjlubick@google.com [bazel] Make Debugger, particles, et all not require Docker auth when running locally
2022-04-04 borenet@google.com [infra] Update Go CIPD package to use "copy" install mode

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Tbr: jcgregorio@google.com
Change-Id: I934403e920374c8043c0b3fb23108e87042ab5f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527426
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:52:01 +00:00
John Stiles
2e6f60f423 Fix color fringes on blend_hue and blend_saturation.
Previously, we checked for division against zero, but didn't do anything
to prevent division against extraordinarily small values. Now, we only
saturate if the delta between max and min is greater than 0.00001.

Change-Id: I7d1df3430941c7e1a7f94e597d5449f9259612d6
Bug: skia:9320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527498
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-05 19:46:58 +00:00
Ethan Nicholas
e0b6115a04 Added position tracking for SkSL struct fields
Change-Id: Ibff49d1928d7f82d04930c8cfd9d574780732c0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527497
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-04-05 19:46:52 +00:00
skia-autoroll
cedfb2b5a9 Roll ANGLE from 4b232a9a8261 to 83d3a98cde77 (7 revisions)
4b232a9a82..83d3a98cde

2022-04-04 romanl@google.com Remove commented out mSkipTest.
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from fbc38865227d to 6f8a7182bd26 (14 revisions)
2022-04-04 romanl@google.com Use GTEST_SKIP to set gTest status of skipped tests to SKIPPED.
2022-04-04 jmadill@chromium.org Revert "Vulkan: Fix texture-after-framebuffer sync issues"
2022-04-04 penghuang@chromium.org Use provided format as intended format for EGLImage from VkImage
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 649d6e46aeae to a190ceed7293 (1 revision)
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 804d5a91d49d to f39b4372b8a8 (124 revisions)

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 djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: djsollen@google.com
Change-Id: If97bdd22673509e315c7f653aa8ea99087041ca0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527424
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:41:49 +00:00
skia-autoroll
66c035981a Roll Chromium from f3dd53b9f4ab to a192f7252b19 (466 revisions)
f3dd53b9f4..a192f7252b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: djsollen@google.com
Change-Id: Ibad13786340f1bf30e2086fa39f4ff0ac8e7bb24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527423
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:41:43 +00:00
Ethan Nicholas
b47a67ab75 Fixed SkSL positioning error with double negation
We were not propagating the position into a double-negated expression,
leading to an assertion failure in PrefixExpression.

Change-Id: I1970ff1a06d9631582626c68e151f12f6b3ef278
Bug: oss-fuzz:46381
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527507
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 17:10:23 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2fff9bf2bf Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idc0b092dc5a35dca3a41bd8e4348e23016d87fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527418
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-04-04 21:42:58 +00:00
John Stiles
58cd446331 Remove GrGLSLBlend::AppendMode.
GrProcessors should use BlendExpression instead. In practice, this is
currently a wash for GrXferProcessor generation, because anything that
BlendExpression can optimize right now is already be handled by the
PorterDuffXferProcessor. But it does allow us to remove AppendMode.
Also, any future improvements to BlendExpression will be accessible by
CustomXfermode.

Change-Id: Iaad82e4fe62ba5326b69020f254be9d2468813a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-04 21:32:00 +00:00
Ben Wagner
e961fd40d9 GM scaledemojiperspective consistently use ToolUtils
This gm is using ToolUtils::emoji_typeface() to draw, but hardcoding the
result of ToolUtils::emoji_sample_text() to remove the space. Remove
the hardcoded string and use the emoji_sample_text instead. Adjust the
sample text by using only the first two non-space codepoints.

Change-Id: Ifae79b3f73951a2b6216d838b1fe0a63608bd678
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527067
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2022-04-04 21:17:26 +00:00
John Stiles
33f14278d2 Migrate uniform-based blend logic out of BlendFragmentProcessor.
The goal here is to replace GrGLSLBlend::AppendMode with a version that
supports blend_porter_duff (i.e., uniform handling must be supported).
AppendMode is removed in the followup CL.

Change-Id: I166232b1238cef57af53d00246e7fee19d1ea156
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526516
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-04 20:55:45 +00:00
Kevin Lubick
174a9c5330 [debugger] Fix externs
This also adds a make target to build a release version of
the debugger, which is handy when we want to push a fix
quickly. The make targets will also create the local_build
folder in the infra repo if it does not exist.

Change-Id: I073615a35068c425608454311a51c0c4e0a8152a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527181
Reviewed-by: Brian Osman <brianosman@google.com>
2022-04-04 20:38:18 +00:00
Ben Wagner
8381a3b52a Pass FT_COLR_Paint by const reference.
This FreeType union is 80 bytes in size and sometimes two of them are
being passed by value. Pass them by const reference instead.

Change-Id: I69f2a326e586c1ddf80d79db96f3df7ed2d00e31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527285
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 20:19:04 +00:00
Robert Phillips
9fbd4984c8 [graphite] Begin making UniformManager more incremental
Once the UniformManager is moved into the SkPipelineDataGatherer, it
will need to be reset-able and write{Uniforms} will need to be able
to be called repeatedly. This CL starts setting up for that future.

Bug: skia:12701
Change-Id: Ia652c05b4eb508dce12c66b2298930d799d1e445
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527280
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 19:58:03 +00:00
Brian Salomon
8bc46f3cd2 One binary serialization path for SkSamplingOptions
Bug: skia:13036
Change-Id: I31ccc3d1cfb271a2c2000476b91a695390cef4a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526518
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-04 19:23:53 +00:00
Julia Lavrova
597877ab4a Simplify or even skip glyph spacing if possible
Change-Id: Ibcf5db117b338c9a4c0582067e63e98f55e25a3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526271
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-04-04 18:35:14 +00:00
Arman Uguray
bd901c8982 [sksl][codegen] Remove some unused declarations
Change-Id: I86af19cd11dc52af353257b73b4f9bcf730dbef7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526756
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-04-04 18:28:31 +00:00
Michael Ludwig
57ca232731 [graphite] Consolidate and improve accuracy of contains/intersect for clip shapes
The internal ClipGeometry enum is moved to SimplifyResult in header.
The internal get_clip_geometry is renamed to Simplify and declared
header. This was so that the internal types (SaveRecord, Element, etc)
and TransformedShape could easily interoperate.

TransformedShape is a view that bundles references together instead
of requiring that all the internal types have some magical set of
functions that get_clip_geometry used.

The contains and intersect logic has all been consolidated into
TransformedShape instead of spread across many different contains()
functions. Intersect() is also more detailed because it can take
coordinate systems into account the coordinate systems, which will be
particularly useful when draw checking is added in a follow-up patch.

Bug: skia:12698
Change-Id: Ifac41a40715c7b0369fe31c273f12edc1efa956a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526736
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-04 18:02:15 +00:00
Herb Derby
a8156239a2 combine lowest level DirectMask vertex filler
Change-Id: Ib6e46accfaf3697d32b840ad0030160c7e2472c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527278
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 17:59:20 +00:00
Robert Phillips
f8b1ba0410 [graphite] Make the SkPipelineDataGatherer be the source of the Layout
The SkPipelineDataGatherer is going to subsume all the UniformManagers
scattered across the code so it will need the Layout in its ctor and
be plumbed where ever there is a UniformManager (in order to replace it).

Bug: skia:12701
Change-Id: I4f42bf50023e9e66c90f9a14833b976e214e1cc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526275
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 16:30:16 +00:00
Robert Phillips
f8b30ffab1 [graphite] Remove unused local variable
The unused variable was breaking compilation for some versions of clang

Bug: skia:12701
Change-Id: I8ded5bf3d18136b5679878090186746b88292c3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527236
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-04 16:05:01 +00:00
John Stiles
e1eec147f4 Add test for fuzzer-discovered error with ^^ operator.
We didn't have any existing tests that exercised this path; it is
separate from most operators since it has no C++ equivalent.

Change-Id: I95b538dad01f8c8b122954fb5f66337371a398a8
Bug: oss-fuzz:46289
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527196
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-04 15:41:08 +00:00
Herb Derby
a43115cb25 fix programming error with flag validation
Change-Id: I94cb1c1ccc53cd1991e2cb13d1844f1d775f015f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527062
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 14:33:56 +00:00
Kevin Lubick
af31b20181 [canvaskit] Copy additional file needed for local debugger build
Change-Id: I8f5f24eaf340e8cf2479a2771fbb1d09bb311ab4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527136
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-04-04 14:31:39 +00:00
Robert Phillips
2cd9799cb2 [graphite] No longer store spans of SkUniforms w/in the SkUniformData
This is currently unused and can be re-obtained from the paint params
key if needed. Currently, it is getting in the way of updating how we
collect uniform data.

Bug: skia:12701
Change-Id: I5057cdfa42252b03b0f9756290735bf4b20dcb6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526272
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 14:30:02 +00:00
Eric Boren
08a22ac147 [infra] Make Go asset use "copy" install mode
This fixes an issue with "go embed" not liking symlinks.

Bug: skia:13126
Change-Id: I994751e63ec467e37555f5bfc192243498b0d6cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527057
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2022-04-04 14:00:04 +00:00
John Stiles
c6a8752e76 Allow any GrProcessor to be a Uniform owner.
The `owner` field was previously restricted to GrFragmentProcessor,
which excludes other GrProcessor classes like GrXferProcessors from
using the uniform handlers.

Change-Id: I465190334f0fb1e27393108ab7b18d2d3089e69c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526461
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-04 13:56:17 +00:00
Ethan Nicholas
3d3a510071 Require a Position to be passed into various SkSL expressions
This removes some hacks where we were creating nodes with the wrong
positions and later updating them to have the correct positions, along
with a general increase in the rigorousness of position tracking.

Change-Id: I2bc635de6d5f516d5fb6763b00a22a10ccdf135f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526678
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-04 13:52:06 +00:00
Leon Scroggins III
db83b77758 Better error message for SkAnimatedImage
Print a string instead of an integer version of the enum.

Bug: b/215136610
Change-Id: Ia0f11b71e79c87a14347683f42cccb3d8f8be246
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521532
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-04-04 13:51:12 +00:00
skia-autoroll
65ea360613 Roll SK Tool from d5969ee9f8a7 to 90b64b7f512e
https://skia.googlesource.com/buildbot.git/+log/d5969ee9f8a7..90b64b7f512e

2022-04-04 borenet@google.com [sk] Add support for extra per-package options

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

Tbr: jcgregorio@google.com
Change-Id: I35a4be36138f9e14895a8594f76a120449f50302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 13:27:16 +00:00
skia-autoroll
72d67dfcc9 Roll Chromium from 8fa4c9362816 to f3dd53b9f4ab (17336 revisions)
8fa4c93628..f3dd53b9f4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: djsollen@google.com
Change-Id: I93f2721ba05fefd44eacb11a31370ccfe957196d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526939
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:37:54 +00:00
skia-autoroll
e10ef972d8 Roll ANGLE from d3492eef5c78 to 4b232a9a8261 (15 revisions)
d3492eef5c..4b232a9a82

2022-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 384f873e0970 to 804d5a91d49d (4365 revisions)
2022-04-03 ynovikov@chromium.org Skip end2end tests timing out on TSAN and ASAN
2022-04-02 syoussefi@chromium.org Vulkan: Fix texture-after-framebuffer sync issues
2022-04-02 syoussefi@chromium.org Skip failing tests on Pixel 6
2022-04-02 jmadill@chromium.org Vulkan: Lift SwS suppressions.
2022-04-02 abdolrashidi@google.com Remove the TODOs regarding multisample buffer age
2022-04-02 abdolrashidi@google.com Vulkan: Add multisample buffer age tests
2022-04-01 cclao@google.com Vulkan: Move memory allocation initialization code into function
2022-04-01 syoussefi@chromium.org Vulkan: Fix no location decoration vs framebuffer fetch
2022-04-01 cnorthrop@google.com Android: Track peak GPU memory in restricted_trace_perf
2022-04-01 jmadill@chromium.org infra: Use logarithmic batching in LUCI config.
2022-04-01 cnorthrop@google.com Compiler: Allow deferred array sizing in geometry shaders
2022-04-01 jmadill@chromium.org Cache outer array offset in linked uniforms.
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from bc5bec05c369 to 649d6e46aeae (3 revisions)
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e37ba68c0fde to 6d732e01d9ea (4 revisions)

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 djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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: djsollen@google.com
Test: Test: GeometryShaderTest.DeferredSetOfArrayInputSize
Change-Id: I4a35b488cb6c05d857767120edd43e525f40590d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526937
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:24:53 +00:00
skia-autoroll
5b7befea76 Roll SwiftShader from afcbbd0ad3b5 to a190ceed7293 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afcbbd0ad3b5..a190ceed7293

2022-04-04 capn@google.com Correct border clamp and depth comparison order
2022-04-01 swiftshader.regress@gmail.com Regres: Update test lists @ afcbbd0a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: djsollen@google.com
Change-Id: Ie4e2b2f0e9fda54ddea868ee7cdc0ad794dd3da9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526938
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 04:48:30 +00:00