Commit Graph

54628 Commits

Author SHA1 Message Date
John Stiles
988b7043e5 Add rehydration enumerator for ConstructorSplat.
This renumbers all the dehydrated data.

Change-Id: I94c58c7f0b36e9832f47151b9d350e66f9fa01cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392118
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 22:57:34 +00:00
John Stiles
4118f14ab9 Add rehydration support for ConstructorArray.
This was accidentally overlooked during the initial migration.

Change-Id: I8d50207ecfdc5228e5f2b34bf0ed1bee33b5d650
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392116
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-01 22:57:06 +00:00
Chris Dalton
92b35673c5 Lift atlas clip FP creation out of GrClip::apply
Atlas clips always had a potential point of failure: If the SDC's
opsTask ever got closed between GrClip::apply and
GrOpsTask::addDrawOp, their mask would have gotten sent to the wrong
opsTask. It didn't _look_ like this could happen with the current
code, but it could have also been inadvertently changed quite easily.

This CL adds a "pathsForClipAtlas" array for GrClip::apply to fill out
instead of creating FPs. The SDC then generates the actual clip atlas
FPs once it knows exactly which opsTask they will belong in.

Bug: chromium:928984
Change-Id: I507ab13b2b5e8c3c3c1916d97611297dbbd8a522
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389926
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-01 20:21:18 +00:00
John Stiles
7384b37576 Represent array constructors with a dedicated ConstructorArray class.
Change-Id: Ia8c8a3476202257ecc100f9cb31e6d0095135aa1
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391919
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-01 18:52:43 +00:00
Brian Osman
358858fe4c Fix bots that don't like std::is_integral_v
Change-Id: I37202f26bd1d990f80528f490ccd7e99cbc2139f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392056
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-01 18:49:43 +00:00
John Stiles
92f2d9340e Add new Rehydrator enum for Array constructors.
These changes cause massive ripple effects in the dehydrated code, so
they're being landed in their own CL.

Change-Id: Ia66bbe02dd58ed50da303f40480d396d75fa6ecd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391300
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 18:44:28 +00:00
Mike Reed
b09aaa2df4 Change filtering in drawPatch to linear.
This is mostly just to work around bug in raster backend.

Bug: skia:11822
Change-Id: I7c5af9dca36dac3eee4948f2a127fee6d314cf55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391916
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-01 17:41:13 +00:00
John Stiles
d8eb875e96 Add AnyConstructor base for all constructors.
Using an SkSpan, we can make a base class which encompasses every type
of Constructor while still letting the subclasses choose how their
storage is laid out.

Change-Id: I6faa3456acfb7e9e76725512bbe932935d17e017
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391778
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 17:38:13 +00:00
Joe Gregorio
786379f9bf [docsyserver] Turn on mermaid support.
Bug: skia:11799
Change-Id: Ic3ecdb31b0833285a72c1d9f8be03a89eb8be7ac
No-Try: true
Docs-Preview: https://skia.org/?cl=391821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391821
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-04-01 17:36:08 +00:00
Joe Gregorio
5fa3b130fe [docsyserver] Add more documentation on Hugo/Docsy capabilities.
Bug: skia:11799
Change-Id: I504fd0cd65dd4dbf31d77b4b0efc692f072d94e8
No-Try: true
Docs-Preview: https://skia.org/docs/dev/tools/markdown/?cl=391876
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391876
Reviewed-by: Heather Miller <hcm@google.com>
2021-04-01 17:27:37 +00:00
Brian Osman
d18967c67d Add integer uniforms to runtime effects
Bug: skia:11803
Change-Id: I925f14be282b96355721986de6049090b35adf3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391856
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-04-01 17:20:03 +00:00
Brian Osman
8b8ce4aa98 Add support for int uniforms to Metal and Vulkan
Bug: skia:11803
Change-Id: If4c2280585e192eec1b1588dfe022149543584bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391917
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-01 17:16:43 +00:00
Julia Lavrova
141b0aec13 Ignore \n metrics so it does not affect the layout
Bug: skia:11370
Change-Id: I17bf1304750be2c98f037bb8aebd65c525d836de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388445
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-04-01 16:25:33 +00:00
skia-autoroll
c16efbd66e Roll skcms from c8a56c57ab7c to 411e27776f5c (1 revision)
https://skia.googlesource.com/skcms.git/+log/c8a56c57ab7c..411e27776f5c

2021-04-01 mtklein@google.com fix fuzzer bug

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I2d0c3ad72746561bb5329e9ede53688be0b7882f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391817
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 16:00:03 +00:00
John Stiles
87fc657101 Revert "Run the inliner on GLES devices only."
This reverts commit 759bbf7b60.

Reason for revert: Pinpoint regressions when the inliner is off
http://go/crb/1194808#c7

Original change's description:
> Run the inliner on GLES devices only.
>
> We've found that the inliner only gives tangible gains in draw
> performance on GLES devices. (See go/optimization-in-sksl-inliner)
> On other devices, we can skip it and still get the same draw performance
> regardless. A caps bit has been added to indicate a device that will
> benefit from inlining, and the inliner is now disabled on platforms that
> don't set this bit.
>
> Change-Id: I61dfafd7e919deabf81529cea832bb11496410cc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390300
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,johnstiles@google.com

Change-Id: Ia9ab4db3c3e8a088afa84d4ad3105aa089bf5084
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391858
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 14:56:44 +00:00
John Stiles
7cbc0f9206 Revert "Enable the inliner on Intel Windows GPUs."
This reverts commit 6f67278428.

Reason for revert: Pinpoint regressions when the inliner is off
http://go/crb/1194808#c7

Original change's description:
> Enable the inliner on Intel Windows GPUs.
>
> Disabling it has caused regressions in some test slides.
> Example: http://screen/5dpPVnJukBAcyKb
>
> Change-Id: If302ffd39cd28215c557bbba444d9c8669dea1c8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391298
> 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>

TBR=brianosman@google.com,johnstiles@google.com

Change-Id: Ida073fd2d467e6167564b8d019578910b9062e2a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391857
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 14:56:16 +00:00
John Stiles
626b62e09f Factor out MultiArgumentConstructor base class.
This is intended to reduce boilerplate across various constructors which
take a variable number of arguments (vector, array, matrix, etc.).
Today's "universal" Constructor class is now implemented as a subclass
of MultiArgumentConstructor.

Change-Id: Ie4ab601c0c1fb9d9e4d3e77f3346b203d8a62913
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391657
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 14:28:13 +00:00
John Stiles
933043b0e8 Factor out SingleArgumentConstructor base class.
This is intended to reduce boilerplate across future constructors which
can only take a single argument (matrix-resize, typecasting, etc).

Change-Id: I3f55928d83925d0770934dcb4bece193c5d51605
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391304
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-01 14:27:43 +00:00
skia-autoroll
7f38a89654 Roll Dawn from 864a36474205 to 3ceb65443c14 (11 revisions)
https://dawn.googlesource.com/dawn.git/+log/864a36474205..3ceb65443c14

2021-04-01 bajones@chromium.org Create RenderPipeline blueprints w/ RenderPipelineDescriptor2
2021-03-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 285b8b6e7522 to b4275c870ec2 (3 revisions)
2021-03-31 yunchao.he@intel.com Implement 3D texture copy: preparation
2021-03-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 55bc5409c297 to 285b8b6e7522 (8 revisions)
2021-03-31 cwallez@chromium.org Remove the ConvertTimestampToNanoseconds toggle.
2021-03-31 cwallez@chromium.org DeviceBase: Make object creation use ResultOrError<Ref<T>>
2021-03-31 cwallez@chromium.org Reassign some TODOs to a new bug for OpenGL buffer OOM
2021-03-31 yunchao.he@intel.com Move T2B copy helpers for D3D12 backend to UtilsD3D12.h|cpp
2021-03-31 cwallez@chromium.org Propagate more errors from reentrant calls
2021-03-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 02571d15e882 to 55bc5409c297 (7 revisions)
2021-03-31 bajones@chromium.org Implement validation for RenderPipelineDescriptor2

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 02571d15e882 to b4275c870ec2

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I3501a5a841d856b885a1e684505d943f0686f57f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391680
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 04:55:43 +00:00
skia-autoroll
f1126836f9 Roll Chromium from de65860ffd71 to 24595a75dfc6 (443 revisions)
de65860ffd..24595a75df

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/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: mtklein@google.com
Change-Id: I5737728cdc9c77f1bb4b9d5e9fcf70d2078df8e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391679
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 04:52:43 +00:00
skia-autoroll
3d358fe2e5 Roll skcms from 170996808234 to c8a56c57ab7c (1 revision)
https://skia.googlesource.com/skcms.git/+log/170996808234..c8a56c57ab7c

2021-04-01 mtklein@google.com B2A part 2, CLUT refactoring

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: Ib8f02751a45beeb47e79dc33776761affbd5d71f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391344
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-01 03:23:03 +00:00
Herb Derby
bba1880625 allocate GrAtlasTextOp::Geometry on heap
I was mistaken about the life time of the RecordTimeAllocator.
Just allocate the geometries in the heap until an allocator can
be put on the GrSurfaceDrawContext.

Bug: b/182959903

Change-Id: I2378bf3c225acf3dfc153daf6eebb6cbf8ebbaff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391556
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-31 21:43:13 +00:00
Kevin Lubick
3d3562912f [gold] Update data produced by canvaskit and pathkit
New alerts realized CanvasKit and PathKit's data has not
been ingested after a change to validation.

Change-Id: I4648beec6a5c10e71959be79389193409991d15b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391439
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-31 21:26:27 +00:00
skia-autoroll
1e7e14ba34 Roll skcms from 5b3a2ab8be02 to 170996808234 (1 revision)
https://skia.googlesource.com/skcms.git/+log/5b3a2ab8be02..170996808234

2021-03-31 mtklein@google.com roundtrip any profiles we can

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I6cb7c09e7c1457bcecde24544b0efb744fbac992
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391340
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 21:06:43 +00:00
Brian Osman
3967588d75 SkSL: Add TypeKind::kFragmentProcessor
Change-Id: I1d77b9e10f9c92712f01473d3ae87b191cabb135
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391303
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-31 20:53:32 +00:00
Jim Van Verth
006fc6a2cd Use recycled transfer buffer for Metal readPixels.
Creating a new transfer buffer for each readPixels invocation can lead
to huge slowdowns as we progress through tests -- this should speed
things up considerably.

Change-Id: I8e2c2dd78c39d7b8724323637692e4ac185aba59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391305
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-31 20:42:42 +00:00
Brian Salomon
d8db5884de ComparePixels helper takes GrCPixmaps
Change-Id: I56d902b652663df7893626d19bc88d18f980c02c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391301
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-31 20:38:22 +00:00
Mike Klein
0b4cc6d06c fix up skp versions on new M1 bots
Change-Id: If90e332f0979e8420365b88d440d0d3f7ce5e86a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391438
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-03-31 20:24:53 +00:00
skia-autoroll
a4d85e708b Roll skcms from 4e8691e28194 to 5b3a2ab8be02 (1 revision)
https://skia.googlesource.com/skcms.git/+log/4e8691e28194..5b3a2ab8be02

2021-03-31 mtklein@google.com dump src->xyz transform as %.2f

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I4a3ef0bd1e5f687d2ec6fb1929fdffcfc22e72bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391337
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 19:44:12 +00:00
Greg Daniel
0a6cd5a352 Switch vk command pool reset mutex to use SkMutex and guard it.
The original code here used a std::recusive_mutex. Looking at the code
I don't see today how any of the code that grabs the mutex could call
back into a function that grabs the mutex again on the same thread.
Maybe this was more of an issue back when this was originally added?
Regardless today it should be safe to just use an SkMutex.

Change-Id: I81c8ea3bf5b2defe893dd9fff7a6a2eda10cace8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391256
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-31 19:21:42 +00:00
Joe Gregorio
10d45b867f [docysserver] Move to the Hugo/Docsy set of files as the primary documentation.
Bug: skia:11799
Change-Id: Ic9e9bc6a91cf1a7c9166ca1eae4aec6b00eb5e2a
Docs-Preview: https://skia.org/?cl=391436
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391436
Reviewed-by: Heather Miller <hcm@google.com>
2021-03-31 19:16:09 +00:00
Chris Dalton
c44612bffc add M1 GPU bots
There's no GPU dimension on these bots yet,
but we can use the CPU to constrain it just fine.

Bug: skia:11334
Change-Id: I2d0928ced7a9145a7160a40ea2a5bd2b1601a01b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390797
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-31 19:11:22 +00:00
John Stiles
6f67278428 Enable the inliner on Intel Windows GPUs.
Disabling it has caused regressions in some test slides.
Example: http://screen/5dpPVnJukBAcyKb

Change-Id: If302ffd39cd28215c557bbba444d9c8669dea1c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391298
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>
2021-03-31 18:26:49 +00:00
John Stiles
e1182785be Create a diagonal-matrix Constructor class.
This constructor takes a single argument and splats it diagonally across
an otherwise-zero matrix. These are also sometimes referred to as a
uniform-scale matrix.

Change-Id: I1ed8140f55f5cad4029015807b220d6475401daa
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390716
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-31 18:00:42 +00:00
John Stiles
9f5ad49ec1 Add new Rehydrator enum value for diagonal-matrix Constructors.
These changes cause massive ripple effects in the dehydrated code, so
it's been split out from http://review.skia.org/390716 to its own CL.

Change-Id: I5053ce3cf44ab5050c3a77ac764b4e9c8bfc00d5
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390896
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-31 18:00:05 +00:00
Chris Dalton
8ed7a8d1c6 Extract a GrVertexChunkArray class with a builder
This will be used by the new stroke tessellator. All the other
tessellators should start chopping and chunking too. That will allow us
to quit cropping paths if we are afraid they might need more segments
than are supported.

Bug: chromium:1172543
Change-Id: I30f0ebb581f56cac099d8c05e0e181c4657c3db8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390096
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-31 17:27:52 +00:00
Ravi Mistry
7724291b6e Add new motionmark SKPs
Bug: skia:11817
Change-Id: Ibd940ffa904171e43377b0852375d835e59bc230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391076
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-03-31 16:37:02 +00:00
Ravi Mistry
f29c646ccf Replace desk_intelwiki.skp with desk_gujuratiwiki.skp
Bug: skia:11819
Change-Id: I504a58f5d1da51cf715b73efef44d00c0edef5e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391196
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-31 16:36:37 +00:00
skia-autoroll
94dc3b709b Roll skcms from b9593d4e39ea to 4e8691e28194 (1 revision)
https://skia.googlesource.com/skcms.git/+log/b9593d4e39ea..4e8691e28194

2021-03-31 mtklein@google.com B2A part 1, types and parsing

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com
Change-Id: I52d7f3b5ca56be4bb6c8a4955b70dc09bf63ad96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391159
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 16:31:52 +00:00
John Stiles
759bbf7b60 Run the inliner on GLES devices only.
We've found that the inliner only gives tangible gains in draw
performance on GLES devices. (See go/optimization-in-sksl-inliner)
On other devices, we can skip it and still get the same draw performance
regardless. A caps bit has been added to indicate a device that will
benefit from inlining, and the inliner is now disabled on platforms that
don't set this bit.

Change-Id: I61dfafd7e919deabf81529cea832bb11496410cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390300
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-31 16:18:42 +00:00
John Stiles
22a54543a8 Add support for constant-folded array inequality checks.
This isn't something I expect to occur often. However, we have always
reported that array-ctors with constant arguments are compile-time
constants, and `compareConstant` is supposed to be implemented for all
compile-time constants.

Change-Id: I0bbfe2a3f78c29c14f69c3b6faca71067a0e45c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391116
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-31 15:50:02 +00:00
Chris Dalton
d4756598de Use 4x msaa for all dm testing
Bug: skia:11334
Change-Id: I57343e80cc8b39644c5f189aeee0da229517a726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390576
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-31 15:48:42 +00:00
John Stiles
8037c9e2ed Add test for folding of == and != for arrays.
We don't directly support this today at all. In practice, though, simple
constant arrays are detected as equal in the constant-folding pass
because they hit the `x == x` self-equality check (using
`IsSameExpressionTree`).

This does not work for our inequality tests, though, so those do not
fold.

Change-Id: I6730a9a2d1da9ac613ee58889d651f3ff65b1d2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391057
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>
2021-03-31 15:32:03 +00:00
Mike Reed
6e7d2b3b72 Add drawPatch to canvaskit
Change-Id: I66214398f020ab6e824c5509babe5107f6b46d7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388837
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-31 15:28:21 +00:00
Brian Salomon
a6ca0b1354 SkAuto[S]TMalloc only for trivially constructible/destructible.
Prevents introduction of a bug when modifying a type that is used
with one of these containers in such way that makes the use
unsafe.

Change-Id: I959e6f3bfbc9664a6b0ced636f5ae6cbe72eee1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390676
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-31 13:55:45 +00:00
skia-recreate-skps
75dd17f714 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I44ca42c525ffa3d464cb3afa567624e792195a0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390920
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-03-31 08:29:13 +00:00
skia-autoroll
f55532e5e6 Roll Chromium from d6926860006d to de65860ffd71 (501 revisions)
d692686000..de65860ffd

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/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: mtklein@google.com
Change-Id: Ib2118cc5358099e36823808004e4caf939f25738
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390956
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 04:55:33 +00:00
skia-autoroll
7fcee4ec79 Roll Dawn from d7d98509da5c to 864a36474205 (28 revisions)
https://dawn.googlesource.com/dawn.git/+log/d7d98509da5c..864a36474205

2021-03-31 hao.x.li@intel.com Suppress OcclusionQueryTests.QueryWithScissorTest on Intel
2021-03-30 bclayton@google.com ShaderModuleD3D12: Remap binding points
2021-03-30 bclayton@google.com Disable SlantedPlaneMipmap for D3D12 + tint
2021-03-30 bclayton@google.com Disable test for D3D12 + tint which use runtime sized arrays
2021-03-30 rharrison@chromium.org Add using Tint for binding reflection
2021-03-30 bclayton@google.com Disable BindGroupTests for D3D12 + tint
2021-03-30 senorblanco@chromium.org Roll third_party/angle/ 0c9f22d3a..9a025fd44 (23 commits)
2021-03-30 bclayton@google.com ComputeSharedMemoryTests: Add missing access qualifier
2021-03-30 bclayton@google.com Disable SampledAndWriteonlyStorageTexturePingPong for D3D12 + tint
2021-03-30 bclayton@google.com Disable tests for D3D12 + tint that fail due 'undeclared identifier'
2021-03-30 bclayton@google.com Disable TextureFormatTest for D3D12 + tint
2021-03-30 bclayton@google.com Disable SizedArrayOfStruct tests for D3D12 + tint
2021-03-30 bclayton@google.com Disable MultipleWriteThenMultipleReadTests for D3D12 + tint
2021-03-30 bclayton@google.com Disable VertexFormatTest for D3D12 + tint
2021-03-30 bclayton@google.com Disable DepthStencilSamplingTest for D3D12 + tint
2021-03-30 bclayton@google.com Disable TimestampComputeShader test on D3D12 + WARP + Validation
2021-03-30 bclayton@google.com Disable EncodeUBOOverflowMultipleSubmit test on D3D12 + WARP
2021-03-30 bclayton@google.com Disable SlantedPlaneMipmap test on D3D12 + WARP
2021-03-30 bclayton@google.com Disable SwitchedViewHeapResidency test on D3D12 + WARP + Validation
2021-03-30 bclayton@google.com Skip ClearTwiceInD3D12ReadbackInD3D11 for WARP + validation
2021-03-30 bclayton@google.com Disable ArbitraryBindingNumbers on D3D12 + WARP
2021-03-30 bclayton@google.com Disable MultisampledRenderingTest tests on D3D12 + WARP
2021-03-30 aleksi.sapon@builditsoftware.com Fix crash from async callback calling Queue::Submit
2021-03-30 bclayton@google.com Disable DepthStencilStateTest tests on D3D12 + WARP
2021-03-30 bclayton@google.com Skip ColorStateTest.* for D3D12 and WARP
2021-03-30 bclayton@google.com Skip ClearInD3D12ReadbackInD3D11 for WARP + validation
2021-03-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 01ac3dd9176d to 02571d15e882 (6 revisions)
2021-03-30 cwallez@chromium.org Propagate errors from Tick in backend::Queue::SubmitImpl

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 01ac3dd9176d to 02571d15e882

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I83808183d2b4065370d3384cffb1e8e799f0f2b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390937
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-31 04:39:33 +00:00
Brian Salomon
5392c94fe8 GrConvertPixels takes pixmaps
Add GrCPixmap, a GrPixmap but with const void* instead of void*. Share
impl via template base class GrPixmapBase.

Change-Id: I7dfdf24a73c1bc8557ff7b90f93a9399da2f3f75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350022
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-03-31 00:23:17 +00:00
Herb Derby
48ad43ab0a remove unused functions from glyph run classes
Change-Id: I7f49789a9409a2edad496fef2e80e2884e160f91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390478
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-30 22:29:48 +00:00