67e4aff55e..323c5f2464
2021-04-03 timvp@google.com Validate PPO sampler uniforms
2021-04-03 jmadill@chromium.org Add GL_ANGLE_get_serialized_context_string.
2021-04-02 cnorthrop@google.com Tests: Add Dragon Raja trace
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 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: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: mtklein@google.com
Test: Test: ProgramPipelineTest31.DifferentTextureTypes
Change-Id: I3b8664e46f9cd3a060a48f6d19d48942d0ba5c57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392516
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
An upcoming change adds more of these "special" types, this pattern
seems just as easy to follow?
Change-Id: Ib652c8f11a98d33c14300294e521a1378345bc2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392379
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
With large offsets, we can end up with a tiny change in angle at each
radial step, so that rotSin and rotCos can get truncated to 0 and/or 1,
respectively. This means that we won't sweep the entire radial distance,
throwing future calculations off. Instead in this case we should fail.
Bug: oss-fuzz:21826
Change-Id: I24f5b1ac315a3697d2ea00ee4bd73652ec3e16dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392377
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This allows directories in sources, e.g.
$ fm -b cpu -s skimage/dm/01_original.jpg -w foo
skimage/dm/01_original.jpg f181c4655d0f55d7000dd04a4d28d407 330ms
$ find foo
foo
foo/skimage
foo/skimage/dm
foo/skimage/dm/01_original.jpg.png
where previously,
$ fm -b cpu -s skimage/dm/01_original.jpg -w foo
sk_fopen: fopen("foo/skimage/dm/01_original.jpg.png", "wb") returned nullptr
(errno:2): No such file or directory
libpng error: HashAndEncode::encodePNG() failed writing stream
Signal 6:
_sigtramp (+0x1d)
Change-Id: I6950d77cacba16363315fb8d5c6d866d207c9a25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392198
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Bug: b/182959903
Change-Id: If57aaa3067cfe441fd080892e6e5aa933251380d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391440
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:11130
Change-Id: I3a39e32dc2e19bdfaf7799c689e6a4820b5a4cfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391976
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This is a stopgap for dealing with OOM issues.
Bug: b/182959903
Change-Id: I25855b6fc1c9d8d270c1cb3fcbdc1c7f93623214
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/391956
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Since the input must be a scalar argument of equivalent type, this is
just a no-op cast in practice (`float` to `float`, `int` to `int`). It
is harmless to allow it, and allows some call sites to be simplified.
Change-Id: I5a1a213fa3cf8c4afaabbbce3b34ab504792a267
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392340
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>
This reverts commit 92b35673c5.
Reason for revert: breaking the android roll (see ag/14076257)
Original change's description:
> 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>
TBR=robertphillips@google.com,csmartdalton@google.com,michaelludwig@google.com,adlai@google.com
Change-Id: I9597d822a9f31b7070aee691ddf3a52f4f424a24
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:928984
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392339
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Properly handle edge cases like
* the temporary glyph being a different size than expected
* filters which reduce in size
* filters which return false to indicate no filtering has been done
Bug: chromium:1190525
Change-Id: Ibc53eb1d7014210019e96cd6bae3e256d967be54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392156
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
This renumbers all the dehydrated data.
Change-Id: I8b39db576303c96e9b5b321fa2eb5fb2243920ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392298
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>
Change-Id: Ic9c3d688b571591d057ab6a4e998f1f9712a1b58
Bug: skia:11032
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/392117
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>