Commit Graph

58906 Commits

Author SHA1 Message Date
Dichen Zhang
2710bcfc68 HEIF decode: add support for 10-bit color format
Bug: b/201083499
Test: TBD
Change-Id: I76d3244782c139006dff68ea713eb24c10bb962d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501159
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-01-27 19:17:20 +00:00
John Stiles
47e1ab13fa Update VectorScalarMath test to run on GPU.
This shakes out a few driver issues.

Change-Id: I35041a904fb762a5b933b3e970f2d7a668803dcd
Bug: skia:12858, skia:11919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501019
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-27 19:13:57 +00:00
John Stiles
7d0c18e272 Revert "Fill umbra for transparent directional geometric shadows."
This reverts commit fc48cb5b39.

Reason for revert: scuba tests showing shadow diffs

Original change's description:
> Fill umbra for transparent directional geometric shadows.
>
> The shadow caching system was only set up for directional shadows where
> the center geometry drops out, so we need to add a new entry type to
> handle the case for transparent occluders.
>
> Bug: skia:12773
> Change-Id: I30e052db541ea26220f252ae7ccb858084e7ee7f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500896
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Bug: skia:12773
Change-Id: Ide1c386f6574a272d6b26cdf72c405f2a2ff7ca8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501239
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-01-27 19:12:11 +00:00
Ben Wagner
3119b67c5d Draw glyphs as paths directly.
Change-Id: I31733d19fa65da29a0a0276681647e7cfc593c06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499754
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-27 18:51:42 +00:00
John Stiles
885a50684c Update MatrixFoldingES2 test to run on GPU.
This shook out a few driver issues.

Change-Id: If12f11c4b3b562fec402bddce25edf01a8be83b9
Bug: skia:12858, skia:11919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500816
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-27 18:29:11 +00:00
Jim Van Verth
fc48cb5b39 Fill umbra for transparent directional geometric shadows.
The shadow caching system was only set up for directional shadows where
the center geometry drops out, so we need to add a new entry type to
handle the case for transparent occluders.

Bug: skia:12773
Change-Id: I30e052db541ea26220f252ae7ccb858084e7ee7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500896
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-01-27 17:22:52 +00:00
skia-autoroll
5f37112457 Roll ANGLE from 2ad5f350c555 to 602b957b8836 (4 revisions)
2ad5f350c5..602b957b88

2022-01-27 romanl@google.com Enable robustnessEXT for SwiftShader.
2022-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ae6a4b829252 to a19b5047ffca (9 revisions)
2022-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 711968667748 to bca23447ad46 (4 revisions)
2022-01-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7b890e4b915b to 8ff0cb4f71d8 (485 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 robertphillips@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: robertphillips@google.com
Change-Id: Ie7a6c10910d3e0f6417d6ce91c42a743f4163d72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501037
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-27 16:07:18 +00:00
Florin Malita
e3ecc34f01 [skottie] Fix text error logging
Don't clear the logger until we actually see some errors.

Change-Id: I275e99a6f2748dff1456a471daabb142fd1a10f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500996
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-01-27 16:06:41 +00:00
John Stiles
2cf4863add Upgrade from C++14 to C++17.
Change-Id: Ib11a528f41a4a1d5d8eb4c11ff95d88a50f019ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500898
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-27 15:58:10 +00:00
Ethan Nicholas
72e0072b2c Stop assuming that all dehydrated symbols are builtin
When populating a non-builtin symbol table, we now fill it with
similarly non-builtin symbols.

Change-Id: Ib56564ec7ee71291dd13173383fb2e09e57bcd0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501018
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-27 15:27:13 +00:00
Brian Osman
e09d7500c5 Add GM to demonstate skbug.com/12866
The original drew text with a specific perspective matrix. After
minification, the real problem is the stroker, where having a large
enough resScale creates an incorrect filled version of the path.

Bug: skia:12866
Change-Id: I41a104edf932f54c2db40cd6a913d303cfaa9ba3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500377
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-27 15:24:21 +00:00
Ethan Nicholas
a267210270 Added support for dehydrating / rehydrating Nop
Change-Id: I97e4d8cc45e9d50541a3e8fcd9b9c320b7a361f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500443
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-27 14:19:47 +00:00
skia-autoroll
2c2e4313ad Roll ANGLE from 39f66a9c1821 to 2ad5f350c555 (5 revisions)
39f66a9c18..2ad5f350c5

2022-01-27 syoussefi@chromium.org Vulkan: Fix texture array level redefinition
2022-01-26 johncunningham@apple.com Metal: Fix undefined behavior of depth write
2022-01-26 b.schade@samsung.com Vulkan: Fix to correctly redefine gl_PerVertex in GS
2022-01-26 gbeaty@chromium.org [infra] Use python3 for run_presubmit recipe.
2022-01-26 cclao@google.com Vulkan: Use queue instead of vector for mSharedGarbageList

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 robertphillips@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: robertphillips@google.com
Test: Test: GLSLTest_ES31.PerVertex*
Test: Test: KHR-GLES32.core.geometry_shader.api.getProgramiv3
Change-Id: I8d46224e153ca4617c81114a10786481969bd61e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500937
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-27 05:31:39 +00:00
skia-autoroll
0231ef2c59 Roll Chromium from 278c7f1fdda2 to 3a5a41bfa203 (500 revisions)
278c7f1fdd..3a5a41bfa2

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 robertphillips@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: robertphillips@google.com
Change-Id: Ifc89a24b0f45afeed77eb9e6fda00d574343cf37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500936
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-27 04:58:40 +00:00
skia-autoroll
ed9bbb8e1b Roll SwiftShader from fca808412325 to bca23447ad46 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fca808412325..bca23447ad46

2022-01-26 sugoi@google.com Update Vulkan headers to version 1.3.204

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 robertphillips@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: robertphillips@google.com
Change-Id: Ib660af3904c744a1f4dfd9e6c6e2b41e868b7ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500938
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-27 04:51:10 +00:00
Ethan Nicholas
0cfc76a0dd Added support for dehydrating / rehydrating FunctionPrototypes
Change-Id: I075301319a6a0caedd8cb501502fa5db7fa7185b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500442
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-26 22:16:43 +00:00
Michael Ludwig
b920095295 [graphite] Use RAII helper structs to configure append modes in DrawWriter
Move to RAII structs wrapping DrawWriter to control the append mode.
This allows each struct to define any extra template parameters/buffers
needed for the appended data, and expose only the appending API that
makes sense.

In follow up CLs, the RAII structs make it easy to support reserving
and returning vertex data, and add new appending modes.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:12703
Change-Id: I5ef1bfdf3b4fa175bcfb25cc61fd0c46a62d46c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498016
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-26 21:52:45 +00:00
John Stiles
f4103618ff Report an error if an out param is never written to.
GLSL ES2 behavior is explicitly undefined if an out-param is never
written to: "If a function does not write to an out parameter, the value
of the actual parameter is undefined when the function returns."

We do see divergence here in practice: SkVM's behavior (the parameter is
left alone) differs from my GPU's behavior (the parameter is zeroed
out).

SkSL will now report an error if an out parameter is never assigned-to.
There is no control flow analysis performed, so we will not report
cases where the out parameter is assigned-to on some paths but not
others. (Technically the return-on-all-paths logic could be adapted
for this, but it would be a fair amount of work.)

Structs are currently exempt from the rule because custom mesh
specifications require an `out` parameter for a Varyings struct, even if
your mesh program doesn't need Varyings.

Bug: skia:12867
Change-Id: Ie828d3ce91c2c67e008ae304fdb163ffa88d744c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500440
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-26 21:42:13 +00:00
skia-autoroll
53c9aa6d05 Roll ANGLE from b2d55742b3ed to 39f66a9c1821 (3 revisions)
b2d55742b3..39f66a9c18

2022-01-26 syoussefi@chromium.org Vulkan: Support different SCBs for outside and inside RP
2022-01-26 jmadill@chromium.org Revert "Vulkan: Enable framebuffer fetch on SwiftShader."
2022-01-26 jmadill@chromium.org Vulkan: Consolidate uniforms code in ProgramExecutableVk.

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 robertphillips@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: robertphillips@google.com
Change-Id: Id0fc690e9789690fc0e67adb1d2a51e38094fc33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500228
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 21:39:22 +00:00
Herb Derby
ad804d48e9 make Blob's PathSubRun use a PathSubRunSlug
Change-Id: Iaeb26194aacacde38c3986d45b19be52b7174898
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500441
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-26 21:36:56 +00:00
Herb Derby
1197b597d3 clean up of cleanup SubRun subtypes
* Move GrBlobSubRun to the .cpp.
* Replace SlugAtlasSubRun with GrSubRun and GrAtlasSubRun to make sure
  all the Slug SubRuns are GrSubRuns.
* const all the test routines.
* Make the down cast blob specific.

Change-Id: I1c45d52cc6d245d5d3f90fd742e9a183955e575f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500437
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-26 21:28:37 +00:00
Ethan Nicholas
f50616aa1e Increased the size of the dehydrator's offset and binding fields
This is in preparation for dehydrating the entire test corpus, where it
turns out a single byte is inadequate for these fields.

Change-Id: I1f410b664fb777b57bdbcad07ad4f2f97ab812bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500436
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-26 21:23:38 +00:00
skia-autoroll
e9e62dc7c9 Roll SwiftShader from a4232c15e287 to fca808412325 (62 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a4232c15e287..fca808412325

2022-01-26 capn@google.com Make MemoryMapper a JITRoutine member
2022-01-26 swiftshader.regress@gmail.com Regres: Update test lists @ 71196866
2022-01-26 nicolascapens@google.com Revert "Regres: Build dEQP with asserts enabled"
2022-01-26 capn@google.com Make image descriptor fields unsigned
2022-01-26 capn@google.com Regres: Apply lazy initialization patch
2022-01-25 nicolascapens@google.com Merge changes If2b3adf8,I8408644a
2022-01-25 sugoi@google.com Remove a few unused includes and declarations
2022-01-25 sugoi@google.com VK_EXT_tooling_info support
2022-01-25 capn@google.com Optimize Abs() using LLVM intrinsics
2022-01-25 dvet@google.com Refactor and modernize the Configurator class, add tests.
2022-01-25 mikaelpessa@google.com Add logging to SPIR-V validation
2022-01-24 dvet@google.com Add SwiftConfig.cpp to Android build.
2022-01-24 dvet@google.com Add a simple configuration file implementation.
2022-01-20 bclayton@google.com BUILD.gn: Remove XCB sources for chromeos.
2022-01-20 bclayton@google.com BUILD.gn: Remove VK_USE_PLATFORM_XCB_KHR define
2022-01-20 capn@google.com Remove heap size padding
2022-01-20 capn@google.com Disable Kokoro builds with REACTOR_EMIT_DEBUG_INFO/PRINT_LOCATION
2022-01-18 capn@google.com Limit LLVM's getTargetShuffleInputs() recursion depth
2022-01-18 sugoi@google.com Fix robust OOB store accesses
2022-01-18 capn@google.com Use Ninja as CMake generator for Kokoro tests on Windows
2022-01-18 capn@google.com Remove unused dot operations and clarify FMA
2022-01-18 capn@google.com Implement VK_GOOGLE_user_type
2022-01-18 capn@google.com Expose VK_GOOGLE_hlsl_functionality1
2022-01-18 capn@google.com Expose VK_GOOGLE_decorate_string
2022-01-17 capn@google.com Download Boost 1.78.0 from jfrog.io
2022-01-14 bclayton@google.com kokoro: Switch over to using the radial docker image
2022-01-14 sergeyu@google.com [Fuchsia] Update path to .so in the generated ICD manifest
2022-01-10 capn@google.com Optimize mirror addressing mode
2022-01-06 swiftshader.regress@gmail.com Regres: Update test lists @ 0b901607
2022-01-05 capn@google.com Remove the 'finite' parameter from reciprocal()
2022-01-05 capn@google.com Implement samplerMirrorClampToEdge
2022-01-05 capn@google.com Remove VK_KHR_xlib_surface support
2022-01-05 capn@google.com Emit function attribute "coroutine.presplit" for coroutines
2022-01-05 capn@google.com Avoid passing around the SamplerFunction as a parameter
2022-01-05 capn@google.com Refactor mipmap selection
2022-01-04 bclayton@google.com Update Marl to 7b43abfc4
2022-01-04 capn@google.com Regres: Build dEQP with asserts enabled
2022-01-04 capn@google.com Don't install gtest
2022-01-04 bclayton@google.com third_party: Fix update-marl commit message
2021-12-27 penghuang@chromium.org Use correct window depth to create pixmap
2021-12-27 penghuang@chromium.org Fix swiftshader build error
2021-12-23 penghuang@chromium.org Use X11 shm extension for presenting
2021-12-23 penghuang@chromium.org Fix eglSwapBuffers() not presenting problem
2021-12-14 swiftshader.regress@gmail.com Regres: Update test lists @ 1eee6cbc
2021-12-13 srisser@google.com Regres updates deqp.json before updating testlists
2021-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ 592d413e
2021-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ 592d413e
2021-12-10 capn@google.com Refactor image sample normalization
2021-12-10 capn@google.com Report depth and multi-plane UNORM formats as unsigned normalized
2021-12-10 swiftshader.regress@gmail.com Regres: Update test lists @ 4c62980d
2021-12-10 cwallez@chromium.org Suppress -Wdeprecated-declarations in Subzero's LLVM
2021-12-10 capn@google.com Implement VK_KHR_vulkan_memory_model
2021-12-09 capn@google.com Update vk::Stringify() structure handling
2021-12-09 sugoi@google.com Fix using XCB with odd width
2021-12-09 capn@google.com Implement VK_EXT_format_feature_flags2
2021-12-09 andre.kempe@arm.com [pac] Add a specific flag for enabling PAC only
2021-12-09 capn@google.com Simplify scaling of 16-bit sampled texel components
2021-12-09 capn@google.com Remove OpenGL ES targets from the CMake build
2021-12-09 capn@google.com Remove the ANGLE submodule
2021-12-08 capn@google.com Refactor active blend factor determination
2021-12-08 capn@google.com Refactor active blend operation determination
2021-12-08 capn@google.com Fix passthrough blend operations

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 robertphillips@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: robertphillips@google.com
Change-Id: Ia25291cbe28cb991f817f0e7dcf3284b0f6357e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500229
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 21:16:34 +00:00
Herb Derby
dbab4c46d5 make GrSubRun common for slugs and blobs
Use GrSubRun as the common draw and list functionality for both
slugs and blobs. This eliminates the copy of code for sub run lists
that slugs used. I also refreshed some comments.

Totally encapsulate the SubRun list in the GrTextBlob by
removing the accessor and adding draw and testingOnlyFirstSubRun.

Change-Id: I67ec946b1539de5cc58f7b6359eb70227b7e7dc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500277
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-26 20:25:41 +00:00
Kevin Lubick
c4b2fb39b1 [canvaskit] Use proper texture tracking method
The emscripten generated GL texture tracking code uses an
integer, not the length of the textures array.
a8e7d3b8f2/src/library_webgl.js (L242)
I believe this is to make sure a texture and buffer do
not share the same handle.

Therefore, we must use this method when making our own
additions to the textures array, otherwise Skia-created
textures will overlap with supplied textures, causing
mis-drawings and feedback loops.

Change-Id: I4e1be5ff2b0c3d1ba5f5984232980724cb492313
Bug: skia:12797
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/495416
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-01-26 19:53:05 +00:00
skia-autoroll
10c372914d Roll ANGLE from 1316d15349db to b2d55742b3ed (4 revisions)
1316d15349..b2d55742b3

2022-01-26 jmadill@chromium.org Program: Add generic uniform update methods.
2022-01-26 jmadill@chromium.org ProgramPipeline: Remove mHas members.
2022-01-26 jmadill@chromium.org Re-land: "Vulkan: Remove "fillProgramStateMap"."
2022-01-26 jmadill@chromium.org Vulkan: Enable framebuffer fetch on SwiftShader.

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 robertphillips@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: robertphillips@google.com
Change-Id: I9de68e96aa7b22005058be6fd8e3b345f4a90f86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500224
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 19:35:39 +00:00
Ethan Nicholas
21bfd750cb Improved SkSL symbol table dehydration / rehydration
The previous symbol table handling only actually worked for the simple
case of a single builtin symbol table. This fixes symbol table
inheritance, adds  builtin flag tracking, and fixes the handling of
builtin types. This doesn't result in any behavioral changes yet, but
these changes are necessary to support the upcoming dehydrate /
rehydrate tests.

Change-Id: Ib7f2ad19450d41be89f774e1417a78c97e0ea7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499927
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-26 18:36:24 +00:00
Robert Phillips
1042c00130 [graphite] Replace GrSLType with SkSLType
This is mostly mechanical. The only interesting bit is that GrSLType was in include/private while SkSLType is in src/core so some #include patterns changed.

Bug: skia:12701
Change-Id: I80bd86ee93796b145f86ded9b4cbf52f24fa59e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497607
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-26 17:30:12 +00:00
Florin Malita
fb6d8929b2 Remove some unused vars from skqp
Change-Id: I5c3d04c17628f46c01814db6eead0337ebe68e16
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500276
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2022-01-26 17:29:42 +00:00
Brian Osman
e988826196 Query GL for supported program binary formats
This removes the need for error checking (which might not happen,
depending on how the context was created).

Bug: chromium:1288393
Change-Id: Icf8ce3e7c9b1faf1d1510f0f8672c6dadd9c1fcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499926
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-26 17:14:32 +00:00
Michael Ludwig
a54564efd4 Add VertexWriter&& operator<< for use with returned writers
This was used for one specialized template in Ganesh, and enables the
preferred appending pattern for Graphite.

Change-Id: I561449004923464efeeabaed5bc00c8fd49e036d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498440
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-26 16:09:07 +00:00
skia-autoroll
626fb7759f Roll ANGLE from 54f8a8f71621 to 1316d15349db (3 revisions)
54f8a8f716..1316d15349

2022-01-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4ec99dddf407 to ae6a4b829252 (11 revisions)
2022-01-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 366db5aedd90 to 711968667748 (8 revisions)
2022-01-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 94c8695167c4 to 7b890e4b915b (100 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 robertphillips@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: robertphillips@google.com
Change-Id: Ie7f09f1696c0da043d7bef508df5b377e882dee2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/500216
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 15:58:08 +00:00
Justin Novosad
cec7f5dec5 Add willReadFrequently 2d context creation attribute where appropriate.
This change add the willReadFrequently HTML canvas 2d context creation
attribute in cases where we know the canvas is used for readbacks.

See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently

The API will soon be launched in chromium-based browsers.

The objective of this change is to optimize performance and avoid
possible performance regressions when the new API feature goes live
in major browsers.

Change-Id: If0b54d2d2243db4e9ac6d685d793ab2008973b8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496881
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-01-26 15:31:39 +00:00
Michael Ludwig
d6ee724fe3 [graphite] Simplify internal state of DrawWriter
This is a precursor that makes supporting reserving/returning vertices
easier to implement, and adapt to it PatchWriter for the tessellating
path renderers.

It also has the small benefit of being slightly easier to follow, and
the buffer binding remains valid across pipeline changes.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:12703
Change-Id: I84606800937d955d5f4cb98e68cca2ca6c6fb1f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496890
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-26 14:27:40 +00:00
dependabot[bot]
1d9471f553 Bump follow-redirects from 1.13.0 to 1.14.7 in /modules/pathkit
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.0 to 1.14.7.
<details>
<summary>Commits</summary>
<ul>
<li><a href="2ede36d7c6"><code>2ede36d</code></a> Release version 1.14.7 of the npm package.</li>
<li><a href="8b347cbcef"><code>8b347cb</code></a> Drop Cookie header across domains.</li>
<li><a href="6f5029ae1a"><code>6f5029a</code></a> Release version 1.14.6 of the npm package.</li>
<li><a href="af706bee57"><code>af706be</code></a> Ignore null headers.</li>
<li><a href="d01ab7a5c5"><code>d01ab7a</code></a> Release version 1.14.5 of the npm package.</li>
<li><a href="40052ea8aa"><code>40052ea</code></a> Make compatible with Node 17.</li>
<li><a href="86f7572f93"><code>86f7572</code></a> Fix: clear internal timer on request abort to avoid leakage</li>
<li><a href="2e1eaf0218"><code>2e1eaf0</code></a> Keep Authorization header on subdomain redirects.</li>
<li><a href="2ad9e82b62"><code>2ad9e82</code></a> Carry over Host header on relative redirects (<a href="https://github-redirect.dependabot.com/follow-redirects/follow-redirects/issues/172">#172</a>)</li>
<li><a href="77e2a581e1"><code>77e2a58</code></a> Release version 1.14.4 of the npm package.</li>
<li>Additional commits viewable in <a href="https://github.com/follow-redirects/follow-redirects/compare/v1.13.0...v1.14.7">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.13.0&new-version=1.14.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/google/skia/network/alerts).

</details>

This is an imported pull request from
https://github.com/google/skia/pull/90

GitOrigin-RevId: ccf8ab9b6586a37a3f0d6493f53f3b41b92df8a4
Change-Id: Ib65fd507953eaf3bf880b508586856cb51e7f01b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/495616
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-01-26 14:01:50 +00:00
skia-autoroll
2b80cb6636 Roll ANGLE from c5498b957e83 to 54f8a8f71621 (2 revisions)
c5498b957e..54f8a8f716

2022-01-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 35ed79e6a83b to 94c8695167c4 (935 revisions)
2022-01-26 ynovikov@chromium.org Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_*

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 robertphillips@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: robertphillips@google.com
Change-Id: I145ae686fcccfca3dc00342305ba946603c0d9b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499671
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 05:30:13 +00:00
skia-autoroll
b25fcd8996 Roll Chromium from c1ecb48fe59e to 278c7f1fdda2 (535 revisions)
c1ecb48fe5..278c7f1fdd

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 robertphillips@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: robertphillips@google.com
Change-Id: I8269aafa4c5919f695e02fb5564a7bffbf745c6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499670
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-26 04:57:38 +00:00
John Stiles
b176129401 Disable SkSLInoutParameters_GPU on Adreno 6xx + Vulkan.
This hits a Vulkan driver bug in pipeline creation on older OSes.

Change-Id: I09016f1a779e4440a1893323db2d27f171132e86
Bug: skia:12869
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499979
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-26 01:00:12 +00:00
John Stiles
4d1a935835 Avoid error cascades when casting out-of-range scalar values.
Previously, when attempting to cast a huge value to an int, SkSL would
report an error, then return the IR for
`ScalarCast(Int, FloatLiteral(huge-value))` . Now, to minimize the blast
radius of the error, we report the error but return `IntLiteral(0)`.
We've already reported an error, so there's no need to preserve the
value, and zero is less likely to produce follow-up errors.

(A similar approach is used here and worked well: https://osscs.corp.google.com/skia/skia/+/main:src/sksl/ir/SkSLConstructorCompoundCast.cpp;l=57-59)

Change-Id: Ie8e8d48380cb963466d1f47d123d64e3301cf87c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499563
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-25 23:13:28 +00:00
Herb Derby
de7193cd81 combine transformed mask vertex generation
Introduce TransformedMaskVertexFiller and have TransformedMaskSubRun,
TransformedMaskSubRunNoCache, and TransformedMaskSubRunSlug use this.

In addition, remove kVerticesPerGlyph from GrTextBlob, and clean up
connection with AtlasTextOp.

Change-Id: I1a452bc5acff00466cccda2d8cf268f62f16076b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499557
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-25 22:46:10 +00:00
John Stiles
fad0a051c3 Remove old test outputs.
The test input was removed at http://review.skia.org/497742.

Change-Id: I7b30f2f70cd0812b900c9c67b70e742b3d96930a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499574
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-25 22:42:56 +00:00
Ethan Nicholas
e86e325fbf Added version number to dehydrated SkSL files
This will allow us to catch cases where the dehydrated files were not
regenerated, and also provides a degree of future proofing.

Change-Id: I0e7d0e0d83099b78fc5d36c5c5fc1846d8bec467
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499383
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-25 22:16:15 +00:00
John Stiles
03e7350111 Migrate VerifyStaticTestsAndExpressions analysis pass out.
A followup CL will add new checks to this analysis pass (specifically,
error reporting for never-assigned out params). In preparation for this,
the code has been renamed to `DoFinalizationChecks` and migrated out of
SkSLAnalysis.cpp and into its own file in sksl/analysis/. No logic is
changing in this CL.

Change-Id: I7a474269be34350b3adfdd13fc1f384df143fde9
Bug: skia:12867
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499755
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>
2022-01-25 22:09:42 +00:00
Nathaniel Nifong
9eb1679b77 Add regular expression capability to SKQP unittest filter
Current behavior, as an example, is to run every test not matching ".+ES3"
but this is subject to change based on Brian Osman's input

Bug: skia:12796
Change-Id: Ib798a6a6e6323ae0cf349010fce3f5982f2038bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498976
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2022-01-25 21:39:44 +00:00
John Stiles
493a9c0cbc Fix up test SkSLInlineWithInoutArgument.
The test has been moved to shared/, since it's a valid test, but it is
no longer related to inlining, as the inliner no longer attempts to
inline functions with inouts at all.

Also, one function here (outParameterIgnore) actually invoked undefined
behavior and has been removed. According to the GLSL ES2 docs: "If a
function does not write to an out parameter, the value of the actual
parameter is undefined when the function returns." SkVM leaves the value
unchanged, so SKSL_TEST_CPU would pass, but a GPU might clear it (and in
fact, my GPU does).

Change-Id: I77c77ed1354bc980344ec5c406992bd62015f5e5
Bug: skia:11919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499752
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-01-25 21:33:45 +00:00
skia-autoroll
541792c845 Roll ANGLE from 8fc4d3b1e618 to c5498b957e83 (5 revisions)
8fc4d3b1e6..c5498b957e

2022-01-25 lubosz.sarnecki@collabora.com FrameCapture: Reset immutable buffers correctly.
2022-01-25 lubosz.sarnecki@collabora.com FrameCapture: Add Renderbuffers to mStartingResources.
2022-01-25 romanl@google.com Vulkan: Prevent out of bounds read in divisor emulation path.
2022-01-25 lubosz.sarnecki@collabora.com FrameCapture: Detect GL_MAP_COHERENT_BIT_EXT correctly.
2022-01-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 238eaa6f9d25 to 4ec99dddf407 (7 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 robertphillips@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: robertphillips@google.com
Change-Id: I763c37e866aa5f4c2ecab08c638bb03823fb798c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499658
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-25 20:39:09 +00:00
Dominik Röttsches
f7daa1f50d Fix style scan in makeFromStreamIndex() for SkFontMgr_FCI
Pass ttcIndex to font metadata retrieval so that the right font of the
collection is checked for axes and font style. Also required for
correct variable fonts matching when using the Noto Sans CJK
TrueType collection.

Fixes retrieval of familyName() on the returned typeface. Test
follows in separate CL.

Bug: skia:12864
Change-Id: I683ed06a89a95dee2518fd22bd37db3fc4fe006a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499716
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-25 19:32:37 +00:00
Dan Field
dc17274403 ParagraphBuilder::Reset
Allow callers to reset the ParagraphBuilder to an initial state for
reuse and caching.

Bug: https://github.com/flutter/flutter/issues/97182
Change-Id: Ifc80bdd53a1c68d4bfe355c74bbefa27b1d2d7de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499236
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Dan Field <dnfield@google.com>
2022-01-25 19:24:40 +00:00
Florin Malita
1a9e7531e0 [skottie] Fix text opacity animator semantics
The current implementation uses multiplicative composition for opacity
animators (modulate_opacity always scales the new opacity by the old
value).  That means that if one animator drops opacity all the way to
zero, there is no way for subsequent animators to increase opacity.

Instead, AE seems to use the same interpolation as for colors
(prev value/animator value, based on modulation param).

Update to use similar interpolation for opacity properties, and also
to only apply when opacity props are actually specified for a given
animator.

Change-Id: I5a96f9e3722399c8ec661a7843c86dfa60eac5ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499376
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-01-25 17:58:15 +00:00
John Stiles
0f5bc280a0 Implement constant folding for componentwise matrix-matrix ops.
Now, constant mat+mat, mat-mat, and mat/mat operations can be optimized
away. mat*mat does not operate componentwise and will need to be
handled differently.

Change-Id: Iabac6e58999eac46c256d7dcdb9b95d05de530bc
Bug: skia:12819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498716
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-25 17:52:31 +00:00