Commit Graph

59169 Commits

Author SHA1 Message Date
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
c6237f0de0 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I133d60495759b917313e759b4ffc1e056250a1f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498186
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-01-23 08:22:09 +00:00
skia-autoroll
5702389f07 Roll SK Tool from f50377eb4663 to 528873c2db84
https://skia.googlesource.com/buildbot.git/+log/f50377eb4663..528873c2db84

2022-01-23 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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 erikrose@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: erikrose@google.com
Change-Id: I52ceda4cd0acf89d99c04cfce01554b8c1832be2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498176
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-23 05:58:39 +00:00
Michael Ludwig
cc56016595 Track end mark of BufferWriters to detect overrun
In debug builds, BufferWriters store a Mark that points to the end of
their data array, and all write operations are validated against that.
IndexWriter and UniformWriter require the size or ending mark to be
provided, while VertexWriter does not.

Legacy creation of VertexWriters exist in several places in Ganesh where
it wasn't trivial to have the size of the buffer available when the VW
was created. Most common cases that go through GrMeshDrawTarget or
GrEagerVertexAllocator, or graphite's DrawBufferManager automatically
have this information embedded in the writer.

The major semantic change that comes with this is what

BufferWriter::makeOffset does. Previously you could make as many offset
writers as desired and overwrite each other, but now the intended use
case is enforced: the calling writer can only write up to the offset,
and the returned writer can write from the offset to the end.
Change-Id: I2df0f618cd7e50ff657366aeb4955d729c3a938a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496880
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-22 17:55:30 +00:00
skia-autoroll
4350707fe0 Roll skcms from 3fa993c258a9 to 30c8e303800c (2 revisions)
https://skia.googlesource.com/skcms.git/+log/3fa993c258a9..30c8e303800c

2022-01-21 johnstiles@google.com Fix overflow issue in approx_exp2().
2022-01-21 johnstiles@google.com Add .DS_Store to skcms ignore list.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC brianosman@google.com,scroggo@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

Cq-Include-Trybots: skia/skia.primary:Canary-Chromium
Tbr: brianosman@google.com,scroggo@google.com
Change-Id: Idcdc3b42caa52fc5417ca9b6ecd5a8134c6ef176
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497762
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-22 00:10:20 +00:00
John Stiles
63a4d65e16 Revert "Added tests for sksl clone() on our test corpus"
This reverts commit 0c9b8bae42.

Reason for revert: breaking bots, apparently due to use-after-free?
Could be a real clone bug...!

http://screen/9NenpjnYNoDU58G

Original change's description:
> Added tests for sksl clone() on our test corpus
>
> Change-Id: I9022a6aa53b039e5aec2ceeb0062d536e5e278c9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496601
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

Change-Id: Ida8978a38ac24081895cd97a62718b6ec94f57c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497777
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-21 23:32:12 +00:00
skia-autoroll
ca2980bf0d Roll skcms from 1ea0b89e7a7e to 3fa993c258a9 (1 revision)
https://skia.googlesource.com/skcms.git/+log/1ea0b89e7a7e..3fa993c258a9

2022-01-21 lovisolo@google.com Fix skcms-Linux task.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC brianosman@google.com,scroggo@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

Cq-Include-Trybots: skia/skia.primary:Canary-Chromium
Tbr: brianosman@google.com,scroggo@google.com
Change-Id: Iff4e3d3d8d4407ad5643b09383f21bf7a98e02da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497722
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-21 21:18:53 +00:00
John Stiles
3ab1292dad Fix null dereference in ~PromiseImageInfo.
While working on an unrelated fuzzing task, I noticed in the logs that
~PromiseImageInfo was crashing on a null dereference while the fuzzers
were doing smoke checks. It looks like fuzzer was being detected as
"broken" and presumably is not being run: http://screen/AKPKmyx7mHJ5nir

This CL should resolve the null dereference, but I don't know if this
indicates a deeper problem.

Bug: skia:12851
Change-Id: I4a44891783504372f28ab4b320c01a14df0892a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497436
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-01-21 20:18:04 +00:00
John Stiles
b6ebaa3656 Remove redundant calls to simplify_vector.
Originally, `simplify_vector` took a template parameter for the value
type, and so we needed to distinguish between SKSL_INT and float
vectors when simplifying them. This distinction was eliminated a while
ago (at http://review.skia.org/447836 ) so we can now handle all numeric
vector types the same way.

Change-Id: I55b1f4bf64c766148e8e25a23634e4b13c1c8f1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497699
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-21 20:03:00 +00:00
Michael Ludwig
99b1b6f4ca Update GrTriangulator to no longer access VertexWriter's pointer directly
This was the last usage of the ptr() function that exposed VW's
underlying pointer to a possibly GPU-mapped buffer. At this point,
VW's can only be written once, never read, and Marks still allow for
typical pointer math you'd want to do when filling a buffer.
(caveat: the creater of the mapped buffer can't then expose the void*
in some other way).

Change-Id: I5401bdd71ec3063141561875d7b8770c624c4c49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496784
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-21 19:17:49 +00:00
John Stiles
59a4127fb9 Deduplicate constant-equality checking logic.
Our `simplify_vector_equality` function turns out to be equally suitable
for matrices and vectors as well.

Change-Id: Ica6fa3b421357dc40730a76c130a584ab8506954
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497613
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-01-21 19:14:47 +00:00
Greg Daniel
aeee6c4413 [graphite] Move GrSingleOwner to skgpu::SingleOwner.
We need this for Graphite enforcing single owner on the cache.

Bug: skia:12754
Change-Id: Ib26167bce5ee5db6ffe60d3c49091ac14e05f32a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496604
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-01-21 18:22:53 +00:00
Heather Miller
2e890d726c Update Skia milestone to 100
Change-Id: I9d435a7a68ef870ef027ee3c6acb79792773868b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497609
Reviewed-by: Heather Miller <hcm@google.com>
Auto-Submit: Heather Miller <hcm@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2022-01-21 18:08:55 +00:00
Robert Phillips
516aac121b [graphite] Add ImageShader and BlendShader SkPaintParamKey support (take 2)
Unfortunately, this won't change any behavior until ExtractPaintData is switched over to using PaintParams::toKey

Bug: skia:12701
Change-Id: I2b00256d34de1b8b99a65e26c08f5f082090a341
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497596
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-21 17:06:01 +00:00
Ethan Nicholas
0c9b8bae42 Added tests for sksl clone() on our test corpus
Change-Id: I9022a6aa53b039e5aec2ceeb0062d536e5e278c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496601
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-21 16:47:51 +00:00
Robert Phillips
1793c189ea [graphite] Move SLType, Uniform, and UniformData to src/core
Presumably, SkVM will also need a way to represent the data passed to its programs

This CL attempts to be as mechanical as possible.

Bug: skia:12701
Change-Id: I7fb2c06d645809bf5422a25b8b537cf6c249fede
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497136
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-21 16:40:31 +00:00
Ethan Nicholas
61eb772e89 Removed standalone implementation of SkSLStringStream
We previously had a separate implementation of SkSLStringStream for use
in SKSL_STANDALONE. This is no longer necessary. As part of this change,
we fix an issue with the non-standalone version where calling str() and
then continuing to write to the stream would lead to incorrect results.

Change-Id: If83057470ae7e425dfc33ea7b372990285657f42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497451
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-01-21 16:23:17 +00:00
Robert Phillips
049f110ef6 Revert "[graphite] Add ImageShader and BlendShader SkPaintParamKey support"
This reverts commit 7e8fdf4706.

Reason for revert: breaking bots

Original change's description:
> [graphite] Add ImageShader and BlendShader SkPaintParamKey support
>
> Unfortunately, this won't change any behavior until ExtractPaintData is switched over to using PaintParams::toKey
>
> Bug: skia:12701
> Change-Id: I4f51dbb43983fe2f01947e26814f581a6d9033cd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496783
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

Bug: skia:12701
Change-Id: If180bd3753c95d920715f37347559cee4fa2da20
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497455
Auto-Submit: Robert Phillips <robertphillips@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-01-21 15:15:18 +00:00
Brian Osman
a9aa935808 SkMipmapAccessor::fResolvedMode doesn't need to persist, make it local
Change-Id: I9b22c628147fe3d66e3148351ef765bb8c2ebe50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497141
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-21 15:12:12 +00:00
Robert Phillips
7e8fdf4706 [graphite] Add ImageShader and BlendShader SkPaintParamKey support
Unfortunately, this won't change any behavior until ExtractPaintData is switched over to using PaintParams::toKey

Bug: skia:12701
Change-Id: I4f51dbb43983fe2f01947e26814f581a6d9033cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496783
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-21 14:30:36 +00:00
Michael Ludwig
6edd5d9e19 Add read-only marking to BufferWriters
Marks can be used to remember the start of a writer, or a later position
(e.g. end) that it can advance to, compare and compute byte differences,
without exposing the underlying pointer to clients.

Change-Id: Ie8823fa1418002f9a5d645678f01c2cbf1a87acc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496780
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-21 14:13:46 +00:00
John Stiles
f6bb619a16 Fix underflow/overflow issues in skvm::approx_pow2.
The skvm implementation of pow2 uses a clever bit-twiddling trick to
generate a floating-point value that can be cast to integer, then bit-
punned to float, to generate its result. However, the bit trick fails
for large inputs, and the bit-punning step generates a nonsense result.
This is now fixed by using a well-positioned clamp.

Change-Id: I55143a98324f5f518d0875149a0b6ce6d734ded0
Bug: skia:12847
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497283
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-21 13:57:24 +00:00
skia-autoroll
39dc2a02fd Roll ANGLE from 1bd1a3db1c60 to 2caa9d4fe4f1 (8 revisions)
1bd1a3db1c..2caa9d4fe4

2022-01-20 b.schade@samsung.com Vulkan: Add missing glGetProgramPipelineiv parameters handling
2022-01-20 cclao@google.com Vulkan: Rename BufferHelper::initFor* to allocateFor*
2022-01-20 cclao@google.com Vulkan: inline some of the BufferSuballocation APIs
2022-01-20 cclao@google.com Vulkan: Rename SubAllocation to Suballocation
2022-01-20 lexa.knyazev@gmail.com Metal: Cleanup texture caps init
2022-01-20 jmadill@chromium.org Capture/Replay: Serialize ActiveTexturesCache.
2022-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d1b842fca80d to 70b3eb7a5ab4 (4 revisions)
2022-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b24759852b71 to d5bf6f7f9376 (533 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 scroggo@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: scroggo@google.com
Change-Id: I5affdb1f763352b232af46d1d00f9f87236acb2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497416
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-21 05:25:51 +00:00
skia-autoroll
e09a3dae23 Roll Chromium from 1473390feb23 to 7bd73bbb1c0b (475 revisions)
1473390feb..7bd73bbb1c

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 scroggo@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: scroggo@google.com
Change-Id: I5194ddf50422f16575b5e2af7b9273b7e6a56e76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497417
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-21 05:08:21 +00:00
Michael Ludwig
96860d3bba Add makeVertexWriter helper to GrMeshDrawTarget
Adds makeVertexWriter[AtLeast] and makeIndexWriter[AtLeast] wrappers
around the vertex-space virtuals. Updates call sites of those functions
that immediately passed the returned pointer into a VertexWriter ctor
to call the new function.

This is simplification that will make changing the ctor of VertexWriter
easier (to come in another CL).

Change-Id: I8f4f1a9bed71e368828a42ed798fa6a93030a765
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496776
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-01-21 00:53:22 +00:00
John Stiles
418557a96a Fix debugger traces containing multiple vardecls on one line.
Internally, SkSL breaks apart multiple vardecls into individual vardecls
wrapped inside an unscoped Block. Previously, the Debugger did not
properly distinguish a scoped Block from an unscoped one, and the
variables inside unscoped Block would be considered as "out-of-scope" as
soon as the unscoped Block was closed. This would make them vanish from
the Local Variables pane of the debugger at the end of the vardecl
statement.

(Note that this transformation also means that Step stops once for each
individual variable, but that isn't a big deal.)

Change-Id: I2ee2409e8556d77b58d7645658bd497f87c31e39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497278
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-20 21:16:28 +00:00
Jim Van Verth
62bb436301 Limit offset range when fuzzing SkOffsetSimplePolygon
Bug: oss-fuzz:43699
Change-Id: Ie856aed03b513a4ea84a09deda6a05b95b086b07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496876
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-01-20 21:03:51 +00:00
Herb Derby
42bfd747a7 refactor common path drawing
Introduce PathOpSubmitter which handles submitting ops for paths.
Use this in all the different flavors of path sub runs.

Change-Id: I5d6ce06e7ffbe921eec4f05181d8fa84b49cf590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496879
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-01-20 17:43:24 +00:00
Dominik Röttsches
013397884c [tools] Add git.bat to search list
On Windows, with depot_tools, git might be a batch file called
git.bat. Add that to the default search list to make it easier
to find a git command.

Change-Id: I825432e0f7fc72c37a1f2394a68e2f3f3e65f958
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/497056
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Dominik Röttsches <drott@google.com>
2022-01-20 17:33:21 +00:00
Zhou Shuangshuang
78cec092bf Enable MSAA for Intel 12th Gen gpus
Bug: skia:12790

Change-Id: If320420809abe090cbcb19c4c7cd9b72cd5daa31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492316
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-01-20 15:09:16 +00:00
John Stiles
5605a2928b Add SkVMDebugTracePlayer::getCurrentLineInStackFrame.
While working on the debugger, I realized that we had no interface for
getting the current line of any stack frame other than the currently-
executing frame. This can be useful for letting users explore the call
chain on the stack.

(While I was here, I also renamed `tidy` to `tidyState` in order to
match the Typescript implementation.)

Change-Id: Ife8c30d81adc17389a109698e3fba7f93e523e9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496886
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-20 14:57:36 +00:00
Robert Phillips
b98159e414 [graphite] Clean up SkKeyHelpers a bit
The goals here are to:

reduce the use of magic numbers
make casts a bit safer

Bug: skia:12701
Change-Id: I6b1628fff4041bd0998060a757412b6a7260be1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496378
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-20 14:21:30 +00:00
skia-autoroll
9be7372e1d Roll ANGLE from 00a2a2f3e84e to 1bd1a3db1c60 (12 revisions)
00a2a2f3e8..1bd1a3db1c

2022-01-20 kpiddington@apple.com Metal: Canvas resizing causes webpage to run out of memory
2022-01-19 cclao@google.com Vulkan: Remove BufferMemoryAllocator
2022-01-19 ynovikov@chromium.org Revert "Enable robustnessEXT for SwiftShader."
2022-01-19 jmadill@chromium.org Fix running tests with empty test set.
2022-01-19 penghuang@chromium.org Add object label in glBindTexture() error message
2022-01-19 cnorthrop@google.com Vulkan: Support fetching from default FBO
2022-01-19 geofflang@google.com Mark a context as shared if using global textures/semaphores
2022-01-19 jrprice@google.com EGL: Fallback to native device if no display available
2022-01-19 lexa.knyazev@gmail.com Metal: Cleanup autogenerated format table
2022-01-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f6bdbed95b37 to 2e74d5dc03df (7 revisions)
2022-01-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4cda77455291 to d1b842fca80d (6 revisions)
2022-01-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 8cf5fa683fa3 to b24759852b71 (537 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 scroggo@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: scroggo@google.com
Test: Test: FramebufferFetchES31.DefaultFramebufferTest
Change-Id: Ifd1f779cc14ae7038b671de933eba428077d773d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496978
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-20 05:24:51 +00:00
skia-autoroll
e9632e0966 Roll Chromium from 0cefe7415f67 to 1473390feb23 (528 revisions)
0cefe7415f..1473390feb

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 scroggo@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: scroggo@google.com
Change-Id: I8c6556c24efb68fdbbbddb9e8e68025a64295134
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496977
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-20 04:54:51 +00:00
John Stiles
8bf4a85e30 Push shaders.skia.org.
Change-Id: Ib7cffcbdfdb6edf0816151c6dff5961365cabf61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496882
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-01-19 21:46:16 +00:00
Ethan Nicholas
fb1dedb0b2 Fixed an issue with SkSL For loop symbol tables
When transforming a for loop with multiple variable initializers, e.g.
for (int x = 0, y = 0; ...), we rewrite it to:
{ int x = 0; int y = 0; for (;...)

But we would keep the symbol table containing x and y attached to the
for loop. This means that while walking the code tree, we would run
into the declarations for x and y before running into the symbol table
containing them. This poses problems for the dehydrator, which would
fail when running into this construct. This fix simply moves the
symbol table to the containing block instead.

Change-Id: Ic806bbda19c954224a726b4a315f3102852e26b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/494717
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-19 18:57:24 +00:00
John Stiles
d0c5af6523 Update the debug trace format to a new version.
This update removes an unused field (the "slot" value was redundant,
since we always emitted arrays in order and there are no gaps). This CL
mostly exists to test out the ramifications of updating the trace
version and make sure things don't break when we do.

Change-Id: I456837db682b0085fc5afbbc0bcb62af3440c6e5
Bug: skia:12755
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496607
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-19 18:45:22 +00:00
Ben Wagner
b042508dd5 Respect SKNX_NO_SIMD fully in SkVx.
SkVx.h attempted to not use vector instructions if SKNX_NO_SIMD was set.
However, this was incomplete and could lead to a wasm build with
SKNX_NO_SIMD still trying to use some vector instructions which are
not present if __wasm_simd128__ is defined.

This change requires some additional "include what you use" includes
since some other files were depending on SkVx.h including the vector
instruction headers.

Bug: cl/421848579
Change-Id: I6a878d64b76677a925b94724926c62f3e42ddd4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496313
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-01-19 18:33:46 +00:00
Ben Wagner
508e5ceaea Remove SKNX_NO_SIMD from public.bzl iOS build.
This was added with d2ccc772d "Changes to public.bzl to support building
on iOS with objc_library bazel target." [0]. A recent test showed
nothing that breaks by removing this define, so try removing it now.

[0] https://codereview.chromium.org/1639443002

Change-Id: I9938e6a66b29e18332d9e7c4f60e2f2b2a5355ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496606
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-01-19 17:40:06 +00:00
John Stiles
7bd7ea2c8e Prevent no-op statements in GLSL code generator.
This eliminates a handful of useless statements. They were harmless, but
presumably this saves optimization work for the GLSL compiler.

(Patterned after http://review.skia.org/496377 )

Change-Id: Ibe135750488a9917b982dcac67f22b3765412ee1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496599
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-01-19 17:36:54 +00:00
John Stiles
3dcaf4ac16 Prevent no-op statements in Metal code generator.
These are harmless, but they can cause the Metal compiler to emit a
warning, and these warnings are making some logs messy for Flutter.

Change-Id: I21b7a3c9ae661c55bbbe8bc13d097966180e977d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496377
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-19 17:34:59 +00:00
Brian Osman
cc68ab42c2 Avoid skvm::splat for continuous shader-dependent values
Avoids needless creation of nearly-identical programs. If someone ever
animated a two-point conical gradient, this was a disaster waiting to
happen.

Change-Id: I49008591fec703ef86eb331d7df87f3405ff15ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496603
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-01-19 16:29:52 +00:00
John Stiles
98c09e51f3 Add a version field to the debug-trace JSON.
This will give us better control (or, at least, the ability to provide a
cleaner error) when we make schema changes.

Change-Id: I4e9a41dd9084647d1c2ceb1d7815b2942f4903ce
Bug: skia:12755
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496602
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-01-19 16:07:22 +00:00
John Stiles
24cda0aa91 Add str() convenience accessor to skjson::StringValue.
This returns a string_view of the JSON string (via begin() and size()).

Change-Id: I5f92848f4dfdd2be034beb0e48f3fb651ee97640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496600
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-01-19 15:42:46 +00:00
Robert Phillips
c50b08ecb8 [graphite] Prepare SkPaintParamsKey for recursive dumping
The blend/compose shader's dump method will need to recursively call SkPaintParamsKey::DumpBlock

Bug: skia:12701
Change-Id: Iab7c26bf5410c2429e4932859b91d741caeed4b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496311
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-19 15:16:41 +00:00
Brian Osman
a1fd1c189c Mark operator bool() explicit in src, tests, and modules
Change-Id: Ic664ad0134d61dcf939dcf585a81d53e29c6afcc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496597
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2022-01-19 15:10:45 +00:00
Robert Phillips
896d278a5c [graphite] Push SkBackend into SkKeyHelpers
Bug: skia:12701
Change-Id: Ifa6b600b445a78f4ba936bf763adb2a5bf4d7542
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496299
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-19 14:27:22 +00:00
Robert Phillips
ef189dd340 [graphite] Add SkBlender to PaintParams
Bug: skia:12701
Change-Id: I067a28939a2d92b54d76fa519b659bd54bc99906
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496309
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-01-19 13:46:03 +00:00
skia-autoroll
04151728ac Roll ANGLE from 9b231f090e1b to 00a2a2f3e84e (18 revisions)
9b231f090e..00a2a2f3e8

2022-01-19 kpiddington@apple.com Merge metal format table updates from Webkit
2022-01-18 avi@chromium.org Update documentation link
2022-01-18 ynovikov@chromium.org Use first test name instead of shard index for TestArtifacts
2022-01-18 b.schade@samsung.com Add frontend for ANDROID_extension_pack_es31a
2022-01-18 b.schade@samsung.com Vulkan: Add missing ESSL 3.2 builtin functions
2022-01-18 jmadill@chromium.org Copy shader buffers into pipeline executables.
2022-01-18 jmadill@chromium.org Isolate LinkValidateProgramInterfaceBlocks.
2022-01-18 jmadill@chromium.org Fix non-bot mode sharding on Android and disable elsewhere.
2022-01-18 cnorthrop@google.com Vulkan: Move shader_framebuffer_fetch to FeaturesVk
2022-01-18 jonahr@google.com Add Microsoft vendor Id parsing to SystemInfo
2022-01-18 jonahr@google.com Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
2022-01-18 lubosz.sarnecki@collabora.com Tests: Add Respawnables trace.
2022-01-18 romanl@google.com Enable robustnessEXT for SwiftShader.
2022-01-18 jmadill@chromium.org Fix export_targets Windows presubmit with Vulkan Loader.
2022-01-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from d7117384b0ee to f6bdbed95b37 (1 revision)
2022-01-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d891854a594a to 4cda77455291 (30 revisions)
2022-01-18 msisov@igalia.com Add support for GL_MESA_framebuffer_flip_y 3/*
2022-01-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 86a4c63b080e to 8cf5fa683fa3 (329 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 scroggo@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: scroggo@google.com
Test: Test: angle_perftests --gtest_filter="*respawnables*"
Change-Id: Ia9498376a45da5eb65783cf888e42408f62457e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496438
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-19 05:25:21 +00:00
skia-autoroll
ea46b3a135 Roll Chromium from f28302b42238 to 0cefe7415f67 (539 revisions)
f28302b422..0cefe7415f

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 scroggo@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: scroggo@google.com
Change-Id: Ibf90421beb4a772bccba261fbebcd5ec8979a533
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496437
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-01-19 04:57:21 +00:00
Ethan Nicholas
458653d9fc Fixed cloning SkSL ReturnStatements without expressions
Previously, cloning such a node would have dereferenced a null pointer.

Change-Id: Id2f8248b3bbe3233f14e93d1383c95ee45ad6fc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/496376
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-01-18 22:23:51 +00:00