Commit Graph

45096 Commits

Author SHA1 Message Date
Robert Phillips
b3d3551577 Revert "Reland "Reland "Reland "Implement sample mask and sample locations support in Vulkan""""
This reverts commit 091c02f89b.

Reason for revert: This time it is due to:

Chrome's android-binary-size try bot which doesn't allow any mutable constants. Here is what it is complaining about:

+ 0)          8 (3.2%)  d@0x311a908  +8 (0->8)          third_party/skia/src/gpu/vk/GrVkGpu.cpp
               GrVkGpu::querySampleLocations::kStandardSampleLocations_1
+ 1)        136 (54.8%) d@0x311a980  128 (0->128)       third_party/skia/src/gpu/vk/GrVkGpu.cpp
               GrVkGpu::querySampleLocations::kStandardSampleLocations_16
+ 2)        152 (61.3%) d@0x311a910  16 (0->16)         third_party/skia/src/gpu/vk/GrVkGpu.cpp
               GrVkGpu::querySampleLocations::kStandardSampleLocations_2
+ 3)        184 (74.2%) d@0x311a920  32 (0->32)         third_party/skia/src/gpu/vk/GrVkGpu.cpp
               GrVkGpu::querySampleLocations::kStandardSampleLocations_4
+ 4)        248 (100.0%) d@0x311a940  64 (0->64)         third_party/skia/src/gpu/vk/GrVkGpu.cpp
               GrVkGpu::querySampleLocations::kStandardSampleLocations_8

Original change's description:
> Reland "Reland "Reland "Implement sample mask and sample locations support in Vulkan"""
> 
> This is a reland of 8a0f50944b
> 
> Original change's description:
> > Reland "Reland "Implement sample mask and sample locations support in Vulkan""
> >
> > This is a reland of 97e917a25f, this
> > time with MSAA CCPR disabled.
> >
> > Original change's description:
> > > Reland "Implement sample mask and sample locations support in Vulkan"
> > >
> > > This is a reland of 8b915a0c27
> > >
> > > Original change's description:
> > > > Implement sample mask and sample locations support in Vulkan
> > > >
> > > > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > >
> > > TBR=ethannicholas@google.com
> > >
> > > Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> > > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> >
> > TBR=ethannicholas@google.com
> >
> > Change-Id: Ie0861dc20df1fa622cb26ed78369d29976e3be10
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254608
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> 
> TBR=robertphillips@google.com
> 
> Change-Id: Ia831db32abf0037face708d742bda0600db0ec37
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254625
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=csmartdalton@google.com,ethannicholas@google.com

Change-Id: If0f865adf0c32c875fbb033ce1a8600090c9f65d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254864
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-15 13:32:43 +00:00
skia-autoroll
f7281db422 Roll third_party/externals/angle2 1b52f05868c9..5f4db6a76640 (9 commits)
1b52f05868..5f4db6a766

git log 1b52f05868c9..5f4db6a76640 --date=short --no-merges --format='%ad %ae %s'
2019-11-15 mihu@microsoft.com Fix performance issue with EXT_multisampled_render_to_texture
2019-11-14 timvp@google.com Manually copy dEQP data files to output directory
2019-11-14 tobine@google.com Refactor end2end test macros
2019-11-14 timvp@google.com Treat VK_TIMEOUT as an error
2019-11-14 courtneygo@google.com Vulkan: Enable 3.0 as default context version
2019-11-14 courtneygo@google.com Vulkan: Add 565 and validate pixel formats: Windows
2019-11-14 geofflang@chromium.org Support standalone Android builds in ANGLE.
2019-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src ab3cdcaef56e..3da910d55f20 (3 commits)
2019-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 88632cac30e1..b2407dd746de (3 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@5f4db6a76640

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=halcanary@google.com
Change-Id: If7321a01b0bea98cf9eff02761e316dfb73a30ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254824
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-15 06:26:50 +00:00
skia-autoroll
e454ed131a Roll ../src 7ca6de3adb8e..6961018759e7 (8341 commits)
7ca6de3adb..6961018759


Created with:
  gclient setdep -r ../src@6961018759

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=halcanary@google.com
Change-Id: I456f82a0b91ca371fe22444a3a1c01a5fbe9aa18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254828
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-15 05:26:20 +00:00
skia-autoroll
652fe8443f Roll third_party/externals/swiftshader b2407dd746de..102fd19c65f4 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b2407dd746de..102fd19c65f4

git log b2407dd746de..102fd19c65f4 --date=short --no-merges --format='%ad %ae %s'
2019-11-14 amaiorano@google.com PixelRoutine: const-qualify reference parameters
2019-11-14 swiftshader.regress@gmail.com Regres: Update test lists @ b2407dd7
2019-11-14 capn@google.com Rasterize 'Bresenham' line segments as parallelograms
2019-11-14 sugoi@google.com Negative baseVertex support

Created with:
  gclient setdep -r third_party/externals/swiftshader@102fd19c65f4

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=halcanary@google.com
Change-Id: I28a67cc7ffd5828ee2f838e189d35f5334fa5333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254825
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-15 04:38:50 +00:00
Chris Dalton
091c02f89b Reland "Reland "Reland "Implement sample mask and sample locations support in Vulkan"""
This is a reland of 8a0f50944b

Original change's description:
> Reland "Reland "Implement sample mask and sample locations support in Vulkan""
>
> This is a reland of 97e917a25f, this
> time with MSAA CCPR disabled.
>
> Original change's description:
> > Reland "Implement sample mask and sample locations support in Vulkan"
> >
> > This is a reland of 8b915a0c27
> >
> > Original change's description:
> > > Implement sample mask and sample locations support in Vulkan
> > >
> > > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> >
> > TBR=ethannicholas@google.com
> >
> > Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
>
> TBR=ethannicholas@google.com
>
> Change-Id: Ie0861dc20df1fa622cb26ed78369d29976e3be10
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254608
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=robertphillips@google.com

Change-Id: Ia831db32abf0037face708d742bda0600db0ec37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254625
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-15 04:01:27 +00:00
recipe-roller
3fafc831bc Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/90c88f097366f33f7d251ffa70b9f15c27479686 Reland "Fetch the input commit ref when both ref and id are specified." (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I70dcd6121fff4d78261e0bd689b05b49d592ed52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254734
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-14 23:13:03 +00:00
Mike Reed
c1c4634dcb add some api helpers (extracted from different CL)
See https://skia-review.googlesource.com/c/skia/+/253996/

Change-Id: I06cb3cb6dc8c088f139e6f2a78e43069c2609ff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254736
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-11-14 22:40:22 +00:00
recipe-roller
8ba76b75b2 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/336e51f68564b3fa1aff40b9cdc4322def7200b5 depot_tools: Execute tests using bot's vpython instead of depot_tools' vpython (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ied5e76691749dafaf5a423289dad5fd7fbc819ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254724
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-14 22:22:48 +00:00
Ben Wagner
721bab7063 Use Clang for CMake build
Despite the name, Build-Debian9-Clang-x86_64-Release-CMake was using
the default compiler, which is GCC, not Clang. Specify clang explicitly
in env vars for CMake.

Change-Id: Ibfad7b4de555a8a8acdddb8416582764b5a0640c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254639
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-11-14 22:08:38 +00:00
Herb Derby
3a4f22787a Hoist regenGlyphs out of per glyph loop
This positions to loop to be converted to
a bulk loop over the glyphs.

* rename fGlyphCache->fGrStrikeCache

Change-Id: Ie77d761905721cbdb52171117bac951cbca47af6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254425
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-14 21:38:38 +00:00
Ravi Mistry
c95e54b558 Specify only luci buckets instead of hardcoding trybot names
I verified that this works

NoTry: true
Bug: skia:9639
Change-Id: Iacc0a865330c2049c8c124365122aa16c4493746
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254676
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-11-14 21:11:58 +00:00
Bharat Ahuja
a7e4fe460c Issue- >Skia tiled bitmap rendering is too slow when tildmodeX is not same as tileModeY.
Reason-> Skia uses general-purpose pipeline in this case instead of more optimized faster pipeline.
Faster pipeline code was available in older versions of Skia and used to work fine but we removed faster pipeline code to consolidate the code. As discussed offline for us in the office we have significant scenarios running on software, so maintaining software performance is very important for us thus I am bringing this fast path back. To make this work I didn't have to do much, everything was already available, I just had to modify MatirxProcs to accept tilemodex and tilemodeY as parameters and define and configure SkBitmapProcState::MatrixProc GeneralProcs. I have also limited this change to ARM devices

Change-Id: Ie7ea59701d180c2832edb959e8d44047f4085cbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252677
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Bharat Ahuja <ahujabharat93@gmail.com>
Auto-Submit: Bharat Ahuja <ahujabharat93@gmail.com>
2019-11-14 20:52:18 +00:00
Jim Van Verth
34b72aef7b Reduce scaling of large SDF glyphs on Mac.
It appears that the Mac glyph rasterizer doesn't work well with our
AA-based SDF generator -- the SDFs produced have more aliasing than
expected. This CL changes the Mac to use 256 as its highest SDF size,
and only scale down from there.

More work may need to be done -- the best solution may be to generate
the SDFs directly from the path rather than the rasterized glyph.

Bug: 1003270
Change-Id: I7f11620a5628b6c1095b02d588d5026bf5a924e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254636
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-14 20:49:08 +00:00
recipe-roller
a0d2b0ba79 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/3da78c4bb7dc01f4afcaf0233a789a6c902ca0dc Revert git cache diagnostic tracing. (jbudorick@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I13177a85a0385f83441d691479a45f45d6c57f8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254629
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-14 20:42:18 +00:00
Chris Dalton
3120d03373 Revert "Reland "Reland "Implement sample mask and sample locations support in Vulkan"""
This reverts commit 8a0f50944b.

Reason for revert: Concerns about layout tests and bugs on Adreno

Original change's description:
> Reland "Reland "Implement sample mask and sample locations support in Vulkan""
> 
> This is a reland of 97e917a25f, this
> time with MSAA CCPR disabled.
> 
> Original change's description:
> > Reland "Implement sample mask and sample locations support in Vulkan"
> >
> > This is a reland of 8b915a0c27
> >
> > Original change's description:
> > > Implement sample mask and sample locations support in Vulkan
> > >
> > > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> >
> > TBR=ethannicholas@google.com
> >
> > Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> 
> TBR=ethannicholas@google.com
> 
> Change-Id: Ie0861dc20df1fa622cb26ed78369d29976e3be10
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254608
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=csmartdalton@google.com,ethannicholas@google.com

Change-Id: I8c9d8850c2b5bfe4d1516b9eaa2f724f478e6c8c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254624
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-14 19:16:20 +00:00
Kevin Lubick
37ab53e7c7 [canvaskit] Expose a few more methods
More requests by flutter-web.
 - drawPoints
 - drawImageNine
 - getSegment
 - addPoly

Change-Id: Iad8f51bb7df5fe014931dc12c8d09d64c08c3a13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253740
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-11-14 19:00:33 +00:00
Florin Malita
ad76b2ee25 [skottie] One-node camera support
So far Skottie has been assuming all cameras are two-node (have a point
of interest).

AE also supports one-node cameras, where the camera does not auto-orient
towards a POI but starts off perpendicular to the z == 0 plane.

(https://helpx.adobe.com/after-effects/how-to/camera-animation.html)

Change-Id: Id565de7d8feb9a762940ac372c1bbbcce2e2dfc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254559
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-11-14 18:45:18 +00:00
Robert Phillips
438d986b47 Respect max index buffer sizes in GrFillRectOp::MakeSet
This is required before we can lower the max AA quad count (again).

Bug: b/143572065 skia:9601
Change-Id: Iea5884ffff9bd62f62527fcb597dac97d33ecd76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254438
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-14 18:26:18 +00:00
Chris Dalton
8a0f50944b Reland "Reland "Implement sample mask and sample locations support in Vulkan""
This is a reland of 97e917a25f, this
time with MSAA CCPR disabled.

Original change's description:
> Reland "Implement sample mask and sample locations support in Vulkan"
>
> This is a reland of 8b915a0c27
>
> Original change's description:
> > Implement sample mask and sample locations support in Vulkan
> >
> > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
>
> TBR=ethannicholas@google.com
>
> Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=ethannicholas@google.com

Change-Id: Ie0861dc20df1fa622cb26ed78369d29976e3be10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254608
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-14 18:09:07 +00:00
Nigel Tao
3876a9f267 Reset SkWuffsCodec frame-count decoder less often
Previously, every call to SkWuffsCodec::onGetFrameCountInternal would
reset the decoder, as it might have been suspended in a co-routine.
Resetting also meant re-winding the input stream back to the first byte
of source data, to re-parse the image configuration (not just a
per-frame configuration), since e.g. the overall image bounds can affect
(clip) a frame's bounds.

Now that there are two separate decoders (one for pixel data and one
just for the frame-count), the only co-routine that the frame-count
decoder could be suspended in is the call to decode the next frame
configuration. There is no longer a need to (conditionally) reset the
frame-count decoder; we can just resume that co-routine (provided that
the fIOBuffer is positioned where it left off).

After this commit, the Wuffs decoder should use a little less CPU and
I/O when having getFrameCount called multiple times, interleaved with
incrementally decoding an animation.

Bug: skia:8235
Change-Id: I871ead40ed0acd6d101cf12784ee5da45e7de5aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254356
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2019-11-14 17:56:58 +00:00
Brian Salomon
bf5c0c0c99 Fixed sampling non-SkSL FPs with coordinates
This fixes an issue where fragment processors which were not written
in pure SkSL did not interact properly with coordinate overrides.

Change-Id: I960173986fd8d6be7322f55ab0d81a533b6b89e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252916
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-14 17:46:18 +00:00
John Rosasco
e57ca49319 Use original fuchsia sdk token
Change-Id: I61b5b87253ec63ca6b0d9bacf19d6997eb0bad06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254497
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: John Rosasco <rosasco@google.com>
Auto-Submit: John Rosasco <rosasco@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-14 16:26:58 +00:00
Greg Daniel
95f0b1673f Miscellaneous updates to handle more vulkan creation failures.
Bug: skia:9603
Change-Id: Idc282775d75e1d136fdf83e98a2e7e3e871f9b08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253958
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-11-14 15:07:58 +00:00
flar
a8e985e87a Only define SK_GL for Flutter on non-Fuchsia platforms.
Change-Id: I71dd3324a6d3b051b164bc066c03cb2971106757
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254498
Auto-Submit: Jim Graham <jimgraham@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-14 14:51:28 +00:00
Robert Phillips
d04f123cc7 Revert "Reland "Implement sample mask and sample locations support in Vulkan""
This reverts commit 97e917a25f.

Reason for revert: A lot of broken GMs - particularly path draws with loops

Original change's description:
> Reland "Implement sample mask and sample locations support in Vulkan"
> 
> This is a reland of 8b915a0c27
> 
> Original change's description:
> > Implement sample mask and sample locations support in Vulkan
> >
> > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> 
> TBR=ethannicholas@google.com
> 
> Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=csmartdalton@google.com,ethannicholas@google.com

Change-Id: Icff6c6e1d96f410449582ce0889b684b7e1ce2b4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254577
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-14 13:20:20 +00:00
skia-autoroll
ae6bae7058 Roll third_party/externals/angle2 4f023f565a61..1b52f05868c9 (8 commits)
4f023f565a..1b52f05868

git log 4f023f565a61..1b52f05868c9 --date=short --no-merges --format='%ad %ae %s'
2019-11-14 ianelliott@google.com Vulkan: Update bug numbers for GLES 3.1 "debug" expected failures
2019-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src d287523f48db..d42d0747ee1b (6 commits)
2019-11-13 syoussefi@chromium.org Vulkan: Fix glMemoryBarrier* implementation
2019-11-13 cnorthrop@google.com ES31: Update Vulkan skip list for SSBO
2019-11-13 syoussefi@chromium.org Desktop GLSL input + Vulkan GLSL output in shader_translator
2019-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 12e54dae167c..ab3cdcaef56e (2 commits)
2019-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src f34cdc70ca1b..37dcb894574e (1 commits)
2019-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 9da287fd0264..88632cac30e1 (6 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@1b52f05868c9

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=halcanary@google.com
Change-Id: I4a9511b5b97a1163dd4f8f037806c6b45cf3adfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254539
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-14 06:12:57 +00:00
skia-autoroll
d8866d9617 Roll third_party/externals/swiftshader 88632cac30e1..b2407dd746de (3 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/88632cac30e1..b2407dd746de

git log 88632cac30e1..b2407dd746de --date=short --no-merges --format='%ad %ae %s'
2019-11-13 chrisforbes@google.com regres: Don't ignore abnormal exits
2019-11-13 swiftshader.regress@gmail.com Regres: Update test lists @ 88632cac
2019-11-13 digit@google.com [vulkan] Implement VK_KHR_external_memory_fd for Linux and Android.

Created with:
  gclient setdep -r third_party/externals/swiftshader@b2407dd746de

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=halcanary@google.com
Change-Id: I3098d5e7f8dfc21bc0ac5211b0899f9114c600b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254540
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-14 04:38:17 +00:00
recipe-roller
eb8408611b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/838fce779fcaec9469266d6bca9ec753eebd7414 Accept None in with_user and with_tags (garymm@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie64b1980d398974b6386321b3829921ff88bff64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254524
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-14 02:42:24 +00:00
Chris Dalton
97e917a25f Reland "Implement sample mask and sample locations support in Vulkan"
This is a reland of 8b915a0c27

Original change's description:
> Implement sample mask and sample locations support in Vulkan
>
> Change-Id: I372695ec5360def42a8a997675993264740b0da4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>

TBR=ethannicholas@google.com

Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-14 02:09:03 +00:00
recipe-roller
32197f897c Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/37740e2bc9b2628d28f1959f78901168fcacd6ad Randomize results of git cl owners (brucedawson@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie62f3ed2d5c771effde05d118ee46038c6c43df5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254516
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-14 01:02:33 +00:00
Mike Klein
37be7715fd implement assert_true on ARM
This all comes together as

    uminv tmp, condition
    fmov  gp, tmp
    cbnz  gp, all_true
    brk   0
  all_true:
    ...

The key idea is uminv(vec) will return 0 if any of the inputs are 0,
and non-zero if all of the inputs are non-zero, namely 0xffffffff.

fmov moves that minimum from a vector register to a general purpose
register where we can test it with cbnz, compare and branch if non-zero.
This jumps over the `brk 0` debug trap when all inputs are true.

Change-Id: If5deb77a77f52221d0649e537179743c45eb9cc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254479
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-13 22:09:59 +00:00
Brian Osman
fce27adfc5 Move the persistent GrMemoryPool to the heap
This fixes a fuzzer crash where the process was shutting down (and
destroying the pool), while some threads were still trying to use the
pool to finish their outstanding work.

It also cuts down on work done at shutdown time.

Fixed: chromium:1019616
Change-Id: I35f2046e9c70fc8964f0c6f2b416d80906d91bd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254424
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-11-13 21:49:49 +00:00
Chris Dalton
6006105f67 Implement mixed samples support in vulkan
Change-Id: I27d9e63aa7f2ad4468bb8f090a762511ead9d78c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253764
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-11-13 21:04:29 +00:00
Chris Dalton
8367e111d4 Enforce extra constraints for mixed samples at GrCaps level
Change-Id: Icbeafeb25614d66e548027e5777ea1699d1e6f7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254116
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-13 20:19:27 +00:00
Emircan Uysaler
6b4afb27fd Disable VkProtectedContext_DDLMakeRenderTargetTest
Bug: fuchsia:40061
Change-Id: I9d6293298bc27b81f5b4202d56c930f976c86cfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254336
Commit-Queue: Emircan Uysaler <emircan@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-11-13 19:11:33 +00:00
Nigel Tao
4f32a29a69 Move SkWuffsCodec's reset_and_decode_image_config
This is just a re-organization, avoiding the need to have both a
declaration and a definition of that function. There is no behavior
change.

Also move to_alpha_type next to the other static functions (as opposed
to methods).

Bug: skia:8235
Change-Id: Ia0c06ec22a3dcc1d8ad66df886096a9657e43d35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254357
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-11-13 16:41:02 +00:00
Robert Phillips
ae01f62009 Revert "Respect the max indexBuffer limits in the bulk texture draw API"
This reverts commit dd947ceb55.

Reason for revert: CL isn't getting any respect from Android

Original change's description:
> Respect the max indexBuffer limits in the bulk texture draw API
> 
> This is required before we can lower the max AA quad count (again).
> 
> Bug: b/143572065 skia:9601
> Change-Id: Id34123476ad49a57dc9ce7fe13f941c06f721b74
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252603
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

TBR=robertphillips@google.com,michaelludwig@google.com

Change-Id: Ibe396fe5a0351190c214ed54611ce72b7928cadd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/143572065 skia:9601
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254437
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-13 15:56:43 +00:00
Jim Van Verth
98b9fd0bf6 Put check for MTLTextureUsageShaderRead in available block.
MTLTextureUsage is not available on all Metal versions, so we need to
check for that. Also made the asserts consistent in this file.

Bug: skia:9573
Change-Id: I1cbb69be9c7b59d10454dc158b0f28ab5f74bbcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254418
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2019-11-13 15:49:02 +00:00
skia-autoroll
49481e1000 Roll skia/third_party/skcms 0e5f77218153..8d45badce994 (1 commits)
https://skia.googlesource.com/skcms.git/+log/0e5f77218153..8d45badce994

git log 0e5f77218153..8d45badce994 --date=short --no-merges --format='%ad %ae %s'
2019-11-13 brianosman@google.com Add another test profile from crbug.com/869115

Created with:
  gclient setdep -r skia/third_party/skcms@8d45badce994

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 halcanary@google.com,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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel

Bug: None
Change-Id: Ic4f14aec3a08bb30d55f3a2d2ea61ee8955449cb
TBR=halcanary@google.com,mtklein@google.com
TBR=halcanary@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254399
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-13 15:34:52 +00:00
Robert Phillips
dd947ceb55 Respect the max indexBuffer limits in the bulk texture draw API
This is required before we can lower the max AA quad count (again).

Bug: b/143572065 skia:9601
Change-Id: Id34123476ad49a57dc9ce7fe13f941c06f721b74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252603
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-13 15:32:02 +00:00
Robert Phillips
99e73fa8c1 Remove GL 4-bit stencil option
I would be very surprised if this is still a thing.

Change-Id: I1f93a7c9ff1f655acfd81b1fd260207c6b942289
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254186
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-11-13 14:34:00 +00:00
recipe-roller
8b73d27ddd Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/9ab6dcc77364de001bb752e5d1fb42e1dd256371 isolated: update client (tikuta@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7e93acd2b7588599f94bbcbabd79922158c61721
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254377
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-13 10:55:50 +00:00
skia-autoroll
89ab0576bf Roll third_party/externals/angle2 e33c1582b4bc..4f023f565a61 (4 commits)
e33c1582b4..4f023f565a

git log e33c1582b4bc..4f023f565a61 --date=short --no-merges --format='%ad %ae %s'
2019-11-12 syoussefi@chromium.org Enable passing end2end test
2019-11-12 jmadill@chromium.org Vulkan: Improve Bresenham line emulation.
2019-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 3e4abc9ac382..12e54dae167c (1 commits)
2019-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 31edef751a8d..9da287fd0264 (6 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@4f023f565a61

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=halcanary@google.com
Change-Id: I16f35aca3255eba174fafc9142174fffbe33c3c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-13 06:18:50 +00:00
skia-autoroll
e94ac7ab55 Roll third_party/externals/swiftshader 9da287fd0264..88632cac30e1 (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9da287fd0264..88632cac30e1

git log 9da287fd0264..88632cac30e1 --date=short --no-merges --format='%ad %ae %s'
2019-11-12 bclayton@google.com Regres: Don't treat non-zero error codes as crashes.
2019-11-12 tobine@google.com Vulkan:maxPerStageDescriptorStorageBuffers = 16
2019-11-12 nicolascapens@google.com Revert "Suppress 32-bit MSVC warning."
2019-11-12 bclayton@google.com Regres: Add workaround for Khronos Gitlab issues
2019-11-12 swiftshader.regress@gmail.com Regres: Update test lists @ 9da287fd
2019-11-12 sugoi@google.com Blend mode fix for 565 format

Created with:
  gclient setdep -r third_party/externals/swiftshader@88632cac30e1

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 halcanary@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/+/master/autoroll/README.md

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=halcanary@google.com
Change-Id: I42af529fc7a9eda5259298c63a0e92b2b06d68e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254277
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-13 04:35:49 +00:00
recipe-roller
9501212cd0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/9577daf6673d4af851bbd87a2b714f7e03cdb670 depot_tools: Don't add a python3 shim to depot_tools on bootstrap. (ehmaldonado@chromium.org)
  https://crrev.com/0db01f0fabd187228246602ee402f073aa5f7318 git-cl: Make tests run on Python 3. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I52605b053a13d2388bb18301b4606e419f59171c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254299
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2019-11-12 22:43:45 +00:00
Herb Derby
cb443a5928 Force single glyph calls through bulk interface
Enance SkBulkGlyphMetrics, SkBulkGlyphMetricsAndPaths, and SkBulkGlyphMetricsAndImages
with single glyph calls. In addtion, add calls needed to have the rest of the system
work with these interfaces.

As a resulte move the glyph, prepareImage, and preparePath calls to private.

Change-Id: I8d383b649390e45f621dcb9d62fb8367a55cee02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254056
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-11-12 22:38:14 +00:00
John Rosasco
a9b348f66c Reland fully delineate GL usage w/ skia_use_gl.
Change-Id: I90f40467be145537cc08461fd3805606432f0cfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254240
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Rosasco <rosasco@google.com>
Auto-Submit: John Rosasco <rosasco@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-11-12 21:43:44 +00:00
Chris Dalton
9acf68267a Fix detection of when we will have mixed sampled coverage
Change-Id: I32de8bdea7b7aafd202f44a2036872f25d531ae3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253763
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-11-12 21:19:05 +00:00
Mike Klein
8c1e0effbb sketch out structure for ops with immediates
Lots of x86 instructions can take their right hand side argument from
memory directly rather than a register.  We can use this to avoid the
need to allocate a register for many constants.

The strategy in this CL is one of several I've been stewing over, the
simplest of those strategies I think.  There are some trade offs
particularly on ARM; this naive ARM implementation means we'll load&op
every time, even though the load part of the operation can logically be
hoisted.  From here on I'm going to just briefly enumerate a few other
approaches that allow the optimization on x86 and still allow the
immediate splats to hoist on ARM.

1) don't do it on ARM
A very simple approach is to simply not perform this optimization on
ARM.  ARM has more vector registers than x86, and so register pressure
is lower there.  We're going to end up with splatted constants in
registers anyway, so maybe just let that happen the normal way instead
of some roundabout complicated hack like I'll talk about in 2).  The
only downside in my mind is that this approach would make high-level
program descriptions platform dependent, which isn't so bad, but it's
been nice to be able to compare and diff debug dumps.

2) split Op::splat up
The next less-simple approach to this problem could fix this by
splitting splats into two Ops internally, one inner Op::immediate that
guantees at least the constant is in memory and is compatible with
immediate-aware Ops like mul_f32_imm, and an outer Op::constant that
depends on that Op::immediate and further guarantees that constant has
been broadcast into a register to be compatible with non-immediate-aware
ops like div_f32.  When building a program, immediate-aware ops would
peek for Op::constants as they do today for Op::splats, but instead of
embedding the immediate themselves, they'd replace their dependency with
the inner Op::immediate.

On x86 these new Ops would work just as advertised, with Op::immediate a
runtime no-op, Op::constant the usual vbroadcastss.  On ARM
Op::immediate needs to go all the way and splat out a register to make
the constant compatible with immediate-aware ops, and the Op::constant
becomes a noop now instead.  All this comes together to let the
Op::immediate splat hoist up out of the loop while still feeding
Op::mul_f32_imm and co.  It's a rather complicated approach to solving
this issue, but I might want to explore it just to see how bad it is.

3) do it inside the x86 JIT
The conceptually best approach is to find a way to do this peepholing
only inside the JIT only on x86, avoiding the need for new
Op::mul_f32_imm and co.  ARM and the interpreter don't benefit from this
peephole, so the x86 JIT is the logical owner of this optimization.
Finding a clean way to do this without too much disruption is the least
baked idea I've got here, though I think the most desirable long-term.

Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_SKVM_BLITTER,Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-SK_USE_SKVM_BLITTER
Change-Id: Ie9c6336ed08b6fbeb89acf920a48a319f74f3643
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254217
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-11-12 20:17:55 +00:00
Mike Klein
749eef6b1a implement assert_true on x86
The logic implemented here is roughly

  assert_true(v):
     if any ~v {
         int3()
     }

  in assembly as

  ```
    vptest v, constant 0xffffffff mask
    jc ok
    int3
  ok:
  ```

jc branches if (~v & mask) are all zero, with mask set fully, that's
branch if ~v are all zero, which is to say, v are all ~0, true.  So we
jump over the int3 breakpoint if v are all true.

Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_SKVM_BLITTER
Change-Id: Ie0fc1da15b1a0dba00c66af610ccde18f5985f8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253897
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-11-12 20:07:35 +00:00