Commit Graph

50461 Commits

Author SHA1 Message Date
Brian Osman
8a43e20660 Don't run glesnarrow on Mali400 bots
Change-Id: I9b908bc1cdd28f3bd6819096420b1d119eecd62e
Bug: skia:10669
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313836
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2020-08-28 13:48:09 +00:00
Mike Reed
43c78abe04 Remember to track convexity/direction for IsA shapes (e.g. oval, rrect)
In a follow-up, I will explore more clearly tying together convexity
and direction internally -- perhaps a unified enum?
    [ unknown, convex_cw, convex_ccw, concave ]

Change-Id: I9fc2a2205f40050f4c24c5bec7fc25c8b6d2461c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313680
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-28 12:51:57 +00:00
John Stiles
ce591b7d2f Fix a handful of remaining C-style casts in IRGenerator.
Change-Id: Ia0e2cbc14f6b61a14fd87b23a7dc8bfc0f827775
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313679
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-28 12:40:07 +00:00
skia-autoroll
d385091edd Roll Chromium from e3029d74cf64 to 15c4ec7c0cc6 (406 revisions)
e3029d74cf..15c4ec7c0c

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: Id7018c5d53e8df9bee2689595292a15a042f9bbb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313767
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 05:30:37 +00:00
skia-autoroll
5fc37c9ccc Roll ANGLE from 68c8ed7aec14 to d3eba1db0a14 (19 revisions)
68c8ed7aec..d3eba1db0a

2020-08-28 courtneygo@google.com Fix ASAN error with test
2020-08-28 jmadill@chromium.org Fix warnings that show up in Skia with MSVC.
2020-08-27 bsheedy@chromium.org Workaround GN bug
2020-08-27 jonahr@google.com Fix badly formatted dEQP test expectation
2020-08-27 courtneygo@google.com Revert "Vulkan: restore mContentDefined at endRP()"
2020-08-27 ianelliott@google.com Vulkan: Fix whitebox test to end render pass
2020-08-27 tobine@google.com Vulkan:Clean up best practices exceptions
2020-08-27 jonahr@google.com Suppress functional_shaders_indexing_tmp_array_*_const_* on Metal
2020-08-27 tobine@google.com Vulkan:Use roundUpPow2 where possible
2020-08-27 amy.liu@arm.com Disable forceOldRewriteStructSamplers on Mali.
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 7a71abb602a2 to cac2574c240a (1 revision)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 834673eaa34a to ced848d699b5 (1 revision)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 94ee680cab4c to 11fcbbf5d7cc (1 revision)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from e1c7eaa74142 to 0654095b63fb (3 revisions)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 2205254cfb50 to bceab9fab4bc (3 revisions)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 983698bb34ec to 517f39eee46f (1 revision)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from dda8dabe9eb3 to c472fa2f0330 (4 revisions)
2020-08-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 622558b02e1a to 1f48854dae26 (3 revisions)
2020-08-27 timvp@google.com Revert "Vulkan: Only count descriptor set resources once"

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
Bug: chromium:1122621
Tbr: mtklein@google.com
Test: Test: dEQP-GLES31.functional.uniform_location.nested_array.*sampler2D_*
Change-Id: I6d8ee842c80f9cdac89617521cbaf7229bebe0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313770
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 04:41:37 +00:00
skia-autoroll
6e093d6287 Roll SwiftShader from 1f48854dae26 to ec3650f56ca2 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1f48854dae26..ec3650f56ca2

2020-08-27 srisser@google.com Add getPhysicalDeviceFeatures2

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 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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I6eb56d8906c4f681ec8dca31d3bd5d7574f0c022
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313769
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 04:39:37 +00:00
skia-autoroll
983b416231 Roll dawn from 8c012e879646 to 900bd341a3c6 (1 revision)
https://dawn.googlesource.com/dawn.git/+log/8c012e879646..900bd341a3c6

2020-08-27 jiawei.shao@intel.com Enable TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation

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 cwallez@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: cwallez@google.com
Change-Id: Iddf6c677fa9769352afccda81df9f3d2dc4056f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313768
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 04:31:17 +00:00
Brian Salomon
952f088d41 Experiment to see if ANGLE ES2 vs ES3 perf is related to GLSL ver
Force ES2 level shading language on ANGLE.

Will be reverted. Only affects Skia tool builds.

Bug: skia:10644
Change-Id: Ic52d6afae7f784b173725a9353d5f43f2da3ca72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313703
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-08-27 23:31:59 +00:00
Herb Derby
716e281185 use a dense index internally in SkScalerCache
This is an experiment to gauge the additional cost of an extra
indirection. I plan to put it into production to see the impact in
the different clients. The long term goal is to have an API that
works on dense glyph indexes instead of SkGlyph*. This moves from a
system with multiple hash lookups to a single cache lookup. The
lookup would happen on the Renderer side, and the index could be
used to find the glyph directly instead of using a hash map with the
packed glyph id on the GPU side. Eventually, the extra indirection
cost would be recouped by small glyph data (an int instead of a
pointer), and fewer hashmap lookups.

Change-Id: I6dcad6253de54df13c000ecc936a99028cbff5a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313681
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-08-27 22:23:49 +00:00
Greg Daniel
30691f8647 Make sure we set vk input attachment for case when doing copy.
This should fix the current bot failures from previous change.

Change-Id: I1ef4736e9318de6797445a5964c5d29f186811ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313704
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-08-27 22:01:09 +00:00
John Stiles
ee58da9d6f Remove unused count_returns method.
It has been replaced by ProgramVisitors.

Change-Id: I3a79dd46b191d82b025d515c9810e9593f7cf909
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313684
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-27 20:54:49 +00:00
John Stiles
656427a553 Prefer unique_ptr<> and make_xxxx over raw pointers and new.
There doesn't seem to be any reason to use a raw pointer for the
IRGenerator.

Change-Id: I5a37ff8ee212534dc8357722aaf70637623840bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313720
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>
2020-08-27 20:11:09 +00:00
Greg Daniel
638b2e8594 Add GrInternalSurfaceFlag for vulkan input attachment.
This also includes all the plumbing of this flag throughout our proxy
and surface system.

Bug: skia:10409
Change-Id: I48d40012049240cfa80e045ea090f68ce2d2ff0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313676
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-27 20:05:29 +00:00
John Stiles
f1bc828205 Replace complex count_returns method with a ProgramVisitor.
These ProgramVisitor classes do the exact same work as count_returns.
Hopefully they are easier for us to reason about, since we no longer
have one omni-method trying to implement three different counts at once.

count_returns still exists in this CL so we can SkASSERT that our
results are unchanged. It is removed entirely in the followup CL.

Change-Id: I17588bcec375a946da6cc6fdb5bab9a3d7d24904
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313683
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-27 19:41:59 +00:00
Herb Derby
532a264c14 use bit 15 to encode page information in glyph UV
Store the page information in bit 15 of the glyph texture UV.
This code is specifically designed to only use 16-bits of
significand.

Change-Id: I36f268b5b131eaad46b05c67ffd4b7a55cfa2bde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313519
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-27 19:30:19 +00:00
Adlai Holler
bcfc554fde Add GrDirectContext arg to SkImage::readPixels
Note: The polarity of the staging flag is inverted from usual because
a G3 dependency with no SkUserConfig.h relies on the legacy API.

Once this lands, we will migrate them and others, then remove the
staging API. The inverted staging flag is kind of nice, actually - I may
use that pattern in the future. It means less total CLs and it's just as
easy to flip the bit on or off during debugging.

Bug: skia:104662
Change-Id: I48cba1eeae3e2e6f79918c6d243e0666e68ec71b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310656
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-08-27 19:26:29 +00:00
Chris Dalton
b0ebb5a599 Don't pre-scale tessellated strokes by the matrix scale
In order to expand into the correct amount of triangles, we instead
factor the matrix scale into the tolerances.

Bug: skia:10419
Change-Id: I178b9600a8837ec5fc997199a8bf6be87227ec94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313300
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-08-27 19:22:09 +00:00
Brian Osman
55f02eb3ff Run glnarrow/glesnarrow on GPU perf bots
This gives us actual performance data on the cost of color management.

Change-Id: Ia74379f10791f0a8b3607c313e5108215c28b56b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313685
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-27 19:19:29 +00:00
Mike Reed
5a1ebc6247 use pathbuilder
Change-Id: I9e72ff82df1c10e63cab56208c3c04c0994f7fe3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313423
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-27 16:58:12 +00:00
Brian Osman
b6bd0d2094 Make SkRuntimeShaderBuilder safe for reuse
Previously, if you snapped off a shader and then changed uniforms
(without drawing & flushing), we'd trigger the SkData assert about
calling writeable_data when not-uniquely-owned. Now we lazily copy the
SkData when necessary.

Includes unit test that previously failed.

Bug: skia:10667
Change-Id: If8d9dd8106d41e66560d760cb36ed83371791fc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313678
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-27 16:09:37 +00:00
John Stiles
318ad4bb19 Improve control-flow support in early-return detection.
Previously, early-return detection worked by ensuring that a function
had a maximum of one return statement, positioned at the end of the
function. However, this technique did not support if-else statements:

   if (a) { ...; return x; } else { ...; return y; }

This meant that many simple cases were unnecessarily wrapped in a do-
while loop to handle control flow issues that didn't actually occur.

Our early-return detection logic is now more flexible and looks for any
return statements that aren't at an exit point in the control flow,
instead of looking for exactly one return at the end of the code.

Change-Id: Iffe71adf2b9349ce8de42ba8301ccc52abe2882b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313418
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-27 16:04:58 +00:00
Brian Salomon
be0e42cb8f New helpers for SkYUVAInfo when used with pixmaps.
SkYUVAPixmapInfo is a SkYUVAInfo with per-plane color types and row
bytes. It describes a set of pixmaps that make up a planar image.
Consolidates validity checks of the SkYUVAInfo with the color types
and row bytes. It can provide SkImageInfos for each plane and also
assist with configuring planes to share a common allocation.

SkYUVAPixmaps is a collection of SkPixmaps that are valid for a
SkYUVAInfo. It can either wrap existing SkPixmaps or allocate and
own the memory. It consolidates validity checking of SkPixmaps with
the SkYUVAInfo. Replaces sk_gpu_test::YUVAPixmaps.

Minor tweaks to SkYUVAInfo naming, parameter order consistency, adds a
hasAlpha() method.

Bug: skia:10632
Change-Id: Ib0f48b8448fff22805fd0c04e07887d0b7338b76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312886
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2020-08-27 15:39:56 +00:00
Brian Salomon
626349bab5 Remove do-nothing MPD benchmarking from nanobench
Change-Id: Ife1f5646c0e97b666954518f8c32bb7bae926c6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313677
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-27 15:30:36 +00:00
Mike Klein
faa844b368 collapse some unused type hierarchy
SkBitmapProcState is the only subclass of SkBitmapProcInfo, and
BitmapProcShaderContext the only subclass of BitmapProcInfoContext.

This folds it all together, and should be a no-op refactor.

Change-Id: I971c03dbbebfcd1651ddac2f1b624329f415cc35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313439
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-27 13:44:38 +00:00
John Stiles
810c8cf519 Use an unordered map for intrinsics in the IR generator.
Several small tweaks:
- Replace std::pair<> with a struct (IRIntrinsic) so we can use names
  (fIntrinsic/fAlreadyIncluded) instead of .first and .second.
- Replace std::map<String, std::pair<...>> with a name (IRIntrinsicMap).
- Replace map with unordered_map, since we don't rely on order anywhere.

Change-Id: I508eb3cde5bd4fddcc0b3d02d6ce21d33f9a5421
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313523
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-08-27 13:30:58 +00:00
John Stiles
aba6b93dfb Replace C-style casts with as<T> in the Control Flow Graph.
Change-Id: Id5151a1a9ccf5dd3cb34d9165edff18a12459b93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313521
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-27 13:24:58 +00:00
skia-autoroll
e3d6db4c3f Roll Chromium from 0839d38f07fc to e3029d74cf64 (465 revisions)
0839d38f07..e3029d74cf

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: I1e3b8f5b38f4733789fc294a06889f8eac3e9a01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313603
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-27 04:50:08 +00:00
skia-autoroll
6cd6d19c25 Roll ANGLE from 3c2454b82c05 to 68c8ed7aec14 (11 revisions)
3c2454b82c..68c8ed7aec

2020-08-26 syoussefi@chromium.org Vulkan: More perf warnings
2020-08-26 geofflang@google.com Add support for P010 IOSurfaces
2020-08-26 jmadill@chromium.org Fix Linux build with Skia.
2020-08-26 jmadill@chromium.org Generalize zlib utils dir for Skia build.
2020-08-26 jonahr@google.com Fix SwANGLE suppressions of EGLIOSurfaceClientBufferTest
2020-08-26 ianelliott@google.com Vulkan: Fix TRex performance regression
2020-08-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from fb86cfb19849 to 94ee680cab4c (10 revisions)
2020-08-26 jmadill@chromium.org Roll third_party/vulkan_memory_allocator/ 431d6e572..065e73907 (5 commits)
2020-08-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 12df3cafeee0 to 2205254cfb50 (4 revisions)
2020-08-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from e798df982b1b to 7a71abb602a2 (7 revisions)
2020-08-26 jmadill@chromium.org Vulkan: Fix optimizeRenderPassForPresent regression.

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
Bug: chromium:1115621
Tbr: mtklein@google.com
Change-Id: Ib4b054db9c78ae94b283c5dbd75442178b545a30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313606
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-27 04:41:38 +00:00
skia-autoroll
5ce71585df Roll SwiftShader from 622558b02e1a to 1f48854dae26 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/622558b02e1a..1f48854dae26

2020-08-26 capn@google.com Refactor image extent retrieval
2020-08-26 capn@google.com Refactor image view extent retrieval
2020-08-26 capn@google.com Refactor image query instructions

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 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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I6fdb5a6d86ec9f5a5089be0d0a1eb3dedd6d26f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313604
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-27 04:38:08 +00:00
skia-autoroll
e6c0f0157c Roll dawn from c3e3c30b0d7f to 8c012e879646 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/c3e3c30b0d7f..8c012e879646

2020-08-27 xinghua.cao@intel.com D3D12: fix shader model comparison
2020-08-27 bajones@chromium.org Add setIndexBufferWithFormat method
2020-08-26 enga@chromium.org Revert "Skip TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation"
2020-08-26 cwallez@chromium.org Make ShaderModuleBase use an internal EntryPointMetadata

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 cwallez@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: cwallez@google.com
Change-Id: I1223cc12bdc06a76e31bfb2c41853ca77d02e8bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313605
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-27 04:31:38 +00:00
Greg Daniel
398ecf1876 Remove unused factories that take characterizations.
Change-Id: I871319ee663261c06f9f9270813ee2908e38fecb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313576
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-26 21:29:44 +00:00
Brian Salomon
b7926b8130 Enable glesfakev2 config on Android perf bots
Bug skia:10644

Change-Id: Ibe6863866560219158abd7fbed5447ff12e6ae8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313478
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-08-26 21:06:14 +00:00
Ben Wagner
4d09f2d15c Format and comment SkScalarInterpFunc
Consistently use less than for comparisons and ordering and add braces.
Make documentation a bit more direct.

Change-Id: I3286ff3fac3e276b2e40afab5c9a27e202eab9cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313556
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-26 20:50:34 +00:00
Brian Salomon
b2b7f80c16 Add config "glesfakev2". It runs GLES with the version faked as 2.
This will allow us to do performance comparisons against the
highest available GLES on a device.

This doesn't yet enable the new config on any bots.

Change-Id: I99d0f009573969b06d5294473de009a4d6940e8d
Bug: skia:10644
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313426
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-08-26 20:04:34 +00:00
Florin Malita
64f3530dc3 [canvaskit] Update GM:skottie_setcolor
After https://skia-review.googlesource.com/c/skia/+/313424, properties
are no longer namespaced.  Update to reflect the new naming.

Change-Id: Iee9d932e006773dac437d555aafbbba20cf9f702
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313424
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-08-26 19:59:54 +00:00
Herb Derby
4e6777408c Reland "change atlas uv encoding"
Move the page encoding to bit 13 of UV from bit 0. It would be nice
 to use bit 15, but older versions of the iphone don't handle the bit 15
 correctly.

This is a reland of cace33fc31

Original change's description:
> change atlas uv encoding
>
> Move the page encoding to bit 14 of UV from bit 0. It would be nice
> to use bit 15, but older versions of the iphone don't handle the bit 15
> correctly.
>
> Change-Id: Ia8f1a742dfbc85514f8057fdace0e7954aecc593
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312640
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I880d4d615b79e26af8a7bd08c980e36e8ec9d6d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313078
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-08-26 19:40:44 +00:00
Mike Reed
f2845ac499 Always (pre)compute path bounds when using a builder
Change-Id: I42ce8d2c7e6852a85b3aa798c772a2a0b1ce6c3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313477
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-26 19:24:34 +00:00
Greg Daniel
c113f004de Remove renderable flag from texture createLazyProxy.
Besides some tests, we always set the renderable flag to kNo for this
function. No need to keep supporting a code path we don't actually use.
Tests that use to pass in kYes here have been converted to calling
createLazyRenderTargetProxy instead.

Change-Id: I91efe6cc51fd7ba04b711509ca26f18eba2af333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313425
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-08-26 18:10:03 +00:00
John Stiles
9e506eeb7e Add the inline keyword to top-level FPs that use an explicit return.
This CL also updates the GrMagnifierEffect to use `return` instead of
`sk_OutColor` in order to test the results in a large, rarely-used FP
that would not naturally be a very good candidate for inlining.

FPs that use a return statement can generate code that is very similar
to before. The visible differences:
- Variable/uniform names are slightly longer (extra `_c0`)
- The input coordinates are NOT copied to a temp variable.
- The result of the inline function is copied from a temp variable to
  output_Stage1.

A diff for the curious: http://screen/9rRDmvXYCPnkjRZ

Change-Id: Icdbf22f047d944de7c018ca33970dd629dd4b7b0
Bug: skia:10549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313152
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 18:03:04 +00:00
Julia Lavrova
1798f4f35c Reland "Reland "ICU: SkShaper (bidi iterator only)""
This reverts commit 03cde5f999.

Reason for revert: Fixing the build

Original change's description:
> Revert "Reland "ICU: SkShaper (bidi iterator only)""
>
> This reverts commit 7bc5542a9e.
>
> Reason for revert: breaking Android roll
>
> Original change's description:
> > Reland "ICU: SkShaper (bidi iterator only)"
> >
> > This reverts commit 73f003acfd.
> >
> > Reason for revert: Fixed the build
> >
> > Original change's description:
> > > Revert "ICU: SkShaper (bidi iterator only)"
> > >
> > > This reverts commit 64e3d040e9.
> > >
> > > Reason for revert: Breaking google3
> > >
> > > Original change's description:
> > > > ICU: SkShaper (bidi iterator only)
> > > >
> > > > Change-Id: I845cc0a962790ce37600f943473f21f619ee029b
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308508
> > > > Reviewed-by: Ben Wagner <bungeman@google.com>
> > > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> > >
> > > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> > >
> > > Change-Id: Ib081d97f61e57f74bb9414b3973cca640f3b3929
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309442
> > > Reviewed-by: Julia Lavrova <jlavrova@google.com>
> > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> >
> > TBR=djsollen@google.com,bungeman@google.com,reed@google.com,jlavrova@google.com
> >
> > Change-Id: I2d9c79deaaac97d3e0eb9b39ec9d53815fdb1f59
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310757
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> TBR=bungeman@google.com,jlavrova@google.com
>
> Change-Id: I89e80462edf8e014d7ea273885feeca17748a63a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313378
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Derek Sollenberger <djsollen@google.com>

TBR=djsollen@google.com,bungeman@google.com,jlavrova@google.com

Change-Id: Idce514c64309e7463fa23425d10f1b13dd9c8d18
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313407
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-08-26 17:46:33 +00:00
Mike Reed
06d7c9d798 Revert "Revert "use pathbuilder""
This reverts commit 43e3e91883.

Change-Id: I43f6c195f96b1601225801ffaa05a3133c236eba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313421
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-08-26 17:35:34 +00:00
John Stiles
735a5a7e82 Allow .fp files to return a color from main().
Existing .fp files that assign their output to sk_OutColor will continue
to work as before. An error will be generated if an .fp file tries to
mix-and-match return statements and sk_OutColor assignment; only one or
the other is allowed within a single .fp file.

Change-Id: I53bc0e8b79b2fdd64a020a7e5b35a905f9b05c94
Bug: skia:10549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313197
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 17:17:24 +00:00
John Stiles
3be08b6dc6 Add unit tests for early-return detection.
Two cases are added to the tests:
- We wrap early returns in a do-while block.
- We wrap `if (x) { return y; } else { return z; }` in a do-while block.

In a followup CL, the second case will be detected as "not an early
return" because all returns occur at an exit point. This means that the
first unit test will remain the same, and the second test will no longer
wrap its body in a do-while block or add breaks.

Change-Id: Id1ed880c6fb4b3fd2c373e32b7447f74d0901ab8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313417
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-26 16:41:03 +00:00
Mike Reed
43e3e91883 Revert "use pathbuilder"
This reverts commit 4b25d41d96.

Reason for revert: grrrr, broke some layout test (a little)

https://test-results.appspot.com/data/layout_results/linux-blink-rel/40609/blink_web_tests%20%28with%20patch%29/layout-test-results/results.html

Original change's description:
> use pathbuilder
> 
> Change-Id: I4b7cd6aed0c8da44e6065bb171332e25988ec8cc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313376
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I7a073aafcfddc398ab9a761719230f2427c987c6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313420
Reviewed-by: Mike Reed <reed@google.com>
2020-08-26 16:35:37 +00:00
Greg Daniel
10c4213c22 Remove GrRenderTargetProxyPriv class and setGLRTFBOIDIs0 call.
With the removal of the unused set call, I really don't see a reason to
have the Priv class just for glRTFBOIDIs0 getter. Especially since all
other similar getters related to surface flags are exposed on the main
class. So I've removed the priv class since I don't think it really
adds much to hide such a function from ourselves.

Change-Id: I834fae036b63cc66732d32d7c74b0ed08438f870
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313419
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-08-26 16:34:33 +00:00
Ravi Mistry
8e4a44fb92 Add Retries to Canaries
Bug: skia:10563
Bug: skia:10639
Change-Id: I0b500e4996f8edc0328c1d63d50ac876c231734c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313079
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-08-26 15:04:16 +00:00
skia-recreate-skps
0703d65cd1 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I322d8bd101f5cc9613c2ca9a167dfd7601175dfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313409
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-08-26 15:04:03 +00:00
Mike Reed
4b25d41d96 use pathbuilder
Change-Id: I4b7cd6aed0c8da44e6065bb171332e25988ec8cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313376
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-26 14:58:13 +00:00
Brian Osman
44820a99b7 Remove legacy runtime effect main signature
Chromium has been updated: http://crrev.com/c/2375932

Bug: skia:10613
Change-Id: I375ed986c7f2d031950776698534a922d83b9e61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313379
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-26 14:13:53 +00:00
Adlai Holler
38e81a5398 Revert "Simplify the Metal Compiler wrapper code"
This reverts commit 3cce1125f0.

Reason for revert: Race condition with _Block_object_dispose

Original change's description:
> Simplify the Metal Compiler wrapper code
> 
> The semaphore itself provides us with enough synchronization
> so that the mutex and the sk_sp scheme aren't necessary. This will
> be a little bit faster and I'm putting off finishing my perf.
> 
> Change-Id: I8e1c97452f2305efcdcf7b36a367ee91dae15d6f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313177
> Auto-Submit: Adlai Holler <adlai@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,adlai@google.com

Change-Id: I8149998a27677bf8ad6d9e3261db242516275803
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313416
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-08-26 14:10:45 +00:00