Commit Graph

54905 Commits

Author SHA1 Message Date
Ravi Mistry
5d8a09ebff Add wait time to ebay pageset
Bug: skia:11898
Change-Id: I0bb58f1d8e9c6ad48148d50b840f152fc158f071
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400538
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-24 15:17:04 +00:00
Chris Dalton
d7872aca1d Don't test hw tessellation on dmsaa android
It looks like there are gold issues with hw tessellation on android.

TBR=bsalomon@google.com

Change-Id: I625d244f9d90f7ee6589aa610f7d45117cbaeed9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400528
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-24 04:30:34 +00:00
John Stiles
08c6608907 Append f suffix to float literals in DSL C++.
This prevents some ambiguous-expression errors (since we were passing a
`double` typed value into places that only took an `int` or `float`).

(The ambiguous-expression errors were later fixed in
http://review.skia.org/400619, but it's still the right thing to do for
DSL C++ to emit floats.)

Change-Id: I052c9919a9f00cb427dd152722d2f7c370f3f3b4
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400616
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-23 23:15:54 +00:00
John Stiles
1dcf46359c Fix sk_Caps support in DSL C++ code generator.
This was almost right, but was missing the trailing () to make a
function call.

Change-Id: I1215a97bb0ac39aceca8ff6bea70af8ff572ef84
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400541
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-23 22:20:13 +00:00
Chris Dalton
710e1c9226 Implement dynamic MSAA on OpenGL
This is an initial attempt. We use a few coverage ops that haven't
been updated to handle MSAA yet, and other times we trigger MSAA when
we shouldn't, but it sets the basic functionality in place.

Bug: skia:11396
Change-Id: I8acfe4283bccf5543d4b774692e39427142b3228
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395996
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-04-23 21:50:03 +00:00
Adlai Holler
b0ada77326 Remove drop-work-before-color-clear while we fix a bug
The current way that we handle merging-with-color-clear ops
tasks has a bug. For the time being, just leave them in and
accept the wasted work. A real fix is on the way.

Bug: skia:11903
Change-Id: I0e2b60a3f9a10be1010b41f905a879b65e9172a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400620
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-04-23 21:48:33 +00:00
Michael Ludwig
48f106501c Reland "Stop using copying SkPath::Iter for convexity and contains checks"
This reverts commit 29c06bc82a.

Reason for revert: Convexicator::BySign did not handle count <= 3, which
it previously never encountered because a path with leading moveTos
would actually turn into a sequence of moveTo+close by the forceClose
SkPath::Iter so it'd never actually skip anything.

I updated the code so that BySign checks for count <= 3 after we've
skipped leading moveTos. This means computeConvexity's logic can get
a little simpler, just checking isFinite(), calling into BySign, and
then going into the second pass. Previously, it skipped the first pass
if pointCount <= 3 (using the pointCount before leading moveTos were
skipped).

Lastly, I removed SkPathPriv::IsConvex. It was the other user of
BySign but it was only used in PathTest. I figured it's best to have
a single source of convexity definition rather than having two code
paths that both need to implement the same two-pass behavior.

Original change's description:
> Revert "Stop using copying SkPath::Iter for convexity and contains checks"
>
> This reverts commit 3752760157.
>
> Reason for revert: asan failures
>
> Original change's description:
> > Stop using copying SkPath::Iter for convexity and contains checks
> >
> > This also ensures that consecutive moveTos at the start and end of the
> > path do not affect convexity, and updates AutoBoundsUpdate respects
> > that as well.
> >
> > Bug: 1187385
> > Change-Id: I9d9d7ab7f268003ff12e46873d7b98d993db47fe
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396056
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
>
> TBR=csmartdalton@google.com,reed@google.com,michaelludwig@google.com
>
> Change-Id: I46aaca9c709be7124fc3933f5d02f20f5d2b42ea
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1187385
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399376
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

# Not skipping CQ checks because this is a reland.

Bug: 1187385
Change-Id: I21159915839911225440c2f65da9bbbd22b77ab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399377
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-23 20:44:33 +00:00
Greg Daniel
1034425bc1 Move cached input descriptor to attachment and off GrVkRenderTarget.
Now each attachment tracks the input descriptor needed for iteself.
There are actaully two input descriptors, one for blending and one for
msaa loading. Annoyingly the only difference between the two is the
layout of the attachment, but there isn't much we can do there.

Bug: skia:11809
Change-Id: Iacd1148d3fe0a95a95afeb5aebb2af9a674e643e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399776
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-04-23 20:12:34 +00:00
Chris Dalton
e0fe23a65e Add a second stencil attachment to GrRenderTarget for dmsaa
As we move toward dmsaa, we need stencil attachments on the single and
multisample attachments both. This is only a temporary solution until
the new surface world is finished.

Bug: skia:11396
Change-Id: I48928343e1fc9fd2e00362a534be9eb3ade92656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399838
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-04-23 20:01:03 +00:00
Brian Salomon
9a0da785a5 Restore code that sets preserve stencil when breaking up SDC into
multiple opstasks.

Accidentally removed in:
https://skia-review.googlesource.com/c/skia/+/341680

Change-Id: Ic526c4ab0043c91c0446df679bfff46c00e861af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400536
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-23 19:38:13 +00:00
John Stiles
3befaf23a9 Fix overzealous destruction of DSL FP VarDeclarations.
Previously, if a DSL-based FP attempted to sample from another DSL-based
FP, all VarDeclarations for both FPs would be erased as soon as the
inner FP called EndFragmentProcessor. We now use the DSL stack to save
and restore the VarDeclarations array when FPs are nested.

Change-Id: I7481d89ac62ca6cdc6fc828ffdc61d6a36affbdc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400539
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-23 19:37:33 +00:00
John Stiles
56bc148786 Remove fSupportsTracking flag from UniformCTypeMapper.
This flag was always set to true for every type.

Change-Id: Icbbe9a3c49adf0c49e6d912f978560b178eb633c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400176
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-23 19:27:03 +00:00
John Stiles
c5fac47133 Simplify implementation of eval_template.
This is only used for offline compilation (in skslc), and is not on a
critical path. An easy-to-understand, reasonably efficient algorithm is
preferable to a slightly more efficient, harder-to-understand algorithm.

Change-Id: If46403a43d5198f02eeaee45ef5d304b66f3de72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400099
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-23 19:26:23 +00:00
Chris Dalton
92934d7528 Don't use dmsaa for blurs yet
DMSAA is still very experimental. It doesn't draw everything entirely
correctly yet and uses more memory than it should. We should only be
enabling it right now with an explicit opt-in.

Bug: skia:11396
Change-Id: Ib552bfa551ac419d50ea1fdad3043cf20328f247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-23 17:56:33 +00:00
Hans Wennborg
7bbe365b7b Don't include the intrinsics headers in SkFloatingPoint.h
They're only used for the legacy implementation of sk_float_rsqrt,
which is going away.

SkFloatingPoint.h is part of ca 10,000 translation units when building
Chrome, and include graph analysis shows that including xmmintrin.h
adds a total of 3.5 GB to the build.

Avoiding these includes shaves ca 7 CPU-minutes off a local Chrome
build.

Bug: skia:11861 chromium:242216
Change-Id: Ib0fd53c4fb3ae254814fb6ae5afbb298efb0eb83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400437
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-04-23 17:30:13 +00:00
Joe Gregorio
796501e451 Remove pixelbook devices.
Our only Debian9 builder left after this is for flutter.

Bug: skia:11876
Change-Id: I34cef8f31dac83347f2af1955dfde5346decc7a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399472
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-23 17:09:53 +00:00
Kevin Lubick
600bc360ff [infra] update iOS profile
Change-Id: I283ef69f928d6e3532fecf3504b9e2966e5654e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399737
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-23 17:04:00 +00:00
John Stiles
4680db675f Disable switch test on Adreno to work around GLSL driver bugs.
The Adreno driver seems to have a bug involving switch statements that
use fallthrough and/or have early returns.

Change-Id: I4a0e36dda5d30621e4c7119cdf9de0f478bc9d8d
Bug: skia:11891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400396
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-23 15:01:03 +00:00
Florin Malita
a3ce568b27 [androidkit] Add Surface.flushAndSubmit()
This is a no-op for the current/raster backend, but will be implemented
for GPU.

Change-Id: Id2ff4fe3b254b0d1730c2cb931737c372edbcf7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400096
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-04-23 14:39:23 +00:00
Florin Malita
05bb5a8b30 [androidkit] Introduce RuntimeShader
- opaque Shader class to act as a Java SkShader wrapper
 - shader slot on Paint
 - RuntimeShaderBuilder utility to enable the same use pattern as native
   Skia:

  RuntimeShaderBuilder builder(sksl_string);
  builder.setUniform("foo", 1);
  builder.setUniform("bar", 2);
  paint.setShader(builder.makeShader());

or, more fluent:

  paint.setShader(
      RuntimeShaderBuilder(sksl_string)
          .setUniform("foo", 1)
          .setUniform("bar", 2)
          .makeShader());


Change-Id: I7cd241a2f64bc54dcae2175ed35040edf6506ed3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399736
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-23 14:38:36 +00:00
Ravi Mistry
f4f8d92b9b Generate and use Flutter's SKPs in RecreateSKPs bot
Bug: skia:11897
Change-Id: Ia937bfc5f86daea9d39b2d6f398dc093ba3146f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400098
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-23 14:19:53 +00:00
Kevin Lubick
7978abafee [canvaskit] Deploy 0.26.0
Change-Id: I162e82824e1447409f5dbe7e32ec892f28e1cbf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400296
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-23 12:44:52 +00:00
Joe Gregorio
7b8f14991d Add Acer Spin 514 ChromeOS devices to the tree.
Bug: skia:11876
Change-Id: Ic95dc6d9bc04117c4fc7f88d6eb6acceb5bbe58d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399501
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-23 12:23:36 +00:00
skia-autoroll
94d3dd82f3 Roll Chromium from faf3e3230d75 to c1593bf1225d (506 revisions)
faf3e3230d..c1593bf122

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 jvanverth@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: jvanverth@google.com
Change-Id: I942846fc9bd866cba407c4590423e0283a8bf3e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400153
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:22:03 +00:00
skia-autoroll
b1895414a4 Roll ANGLE from e0e5eb8480ab to 1800d1d92bca (10 revisions)
e0e5eb8480..1800d1d92b

2021-04-22 cnorthrop@google.com Tests: Add Ludo King trace
2021-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e5bb9b56c292 to 706897cbbf31 (11 revisions)
2021-04-22 geofflang@chromium.org D3D11: Disable CompositorNativeWindow11 in Chromium builds.
2021-04-22 jplate@google.com Updated OpenCL headers
2021-04-22 jplate@google.com Generate empty CL object classes
2021-04-22 lexa.knyazev@gmail.com Align BPTC format names in angle::FormatID
2021-04-22 geofflang@google.com Reland "Add a Vulkan feature to compress float32 vertex formats."
2021-04-22 jmadill@chromium.org Update standalone Android docs.
2021-04-22 jmadill@chromium.org Update Android-releated tools DEPS.
2021-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2e3165386670 to 953728c7e200 (354 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jvanverth@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: jvanverth@google.com
Test: Test: angle_perftests --gtest_filter="*ludo_king*"
Change-Id: I04372f1f7fcf0ff1ebb654f90e728709a95867ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400155
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:12:33 +00:00
skia-autoroll
e6613d1ef8 Roll Dawn from 8091c6845079 to 02336e6f9993 (20 revisions)
https://dawn.googlesource.com/dawn.git/+log/8091c6845079..02336e6f9993

2021-04-23 cjj19970505@live.cn Add UWP support
2021-04-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 26fa9927e8c3 to 145f865fb1cb (2 revisions)
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 943ded79d2b1 to 26fa9927e8c3 (7 revisions)
2021-04-22 hob@chromium.org Add helper functions to iterate over ChainedStructs
2021-04-22 rharrison@chromium.org Add header for std::forward
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d5ceafee1684 to 943ded79d2b1 (1 revision)
2021-04-22 hao.x.li@intel.com Clear resolve buffer to 0 for resolving unavailable queries
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 98c2cf0e9194 to d5ceafee1684 (6 revisions)
2021-04-21 bclayton@google.com unittests: Add a position return value for vertex shaders
2021-04-21 cwallez@chromium.org Add docs/contributing.md
2021-04-21 cwallez@chromium.org WGSL: Replace last uses of var<in> and var<out>
2021-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c0810e7e6eba to 98c2cf0e9194 (4 revisions)
2021-04-21 cwallez@chromium.org client::Buffer: In debug mode, clobber mMappedData when it is freed
2021-04-21 jiawei.shao@intel.com D3D12: Initialize DXC in Device::Initialize()
2021-04-21 cjj19970505@live.cn Add string to wstring conversion helper and related unittest
2021-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5b3d88b748e4 to c0810e7e6eba (2 revisions)
2021-04-21 rharrison@chromium.org Fix MinBufferSizeDefaultLayoutTests.RenderPassConsidersBothStages
2021-04-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b69660733875 to 5b3d88b748e4 (26 revisions)
2021-04-20 enga@chromium.org SlabAllocator: Fix writing to freed memory on slab destruction
2021-04-20 bclayton@google.com Re-add const to TranslateToHLSLWithTint()

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b69660733875 to 145f865fb1cb

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 rharrison@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: skia:10501
Tbr: rharrison@google.com
Change-Id: I48ad838cfa3473fcc205937746bd1669eef35dc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400154
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:11:23 +00:00
skia-autoroll
7b60deedbd Roll SwiftShader from c597a8af03ef to 112faf441539 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c597a8af03ef..112faf441539

2021-04-22 capn@google.com Format switch statements consistently

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 jvanverth@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: jvanverth@google.com
Change-Id: I65a989baf6a8ebcee6f626a3cbbd87a02a0963af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400152
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 04:50:23 +00:00
Mike Klein
395274e664 stop using rcp/rsqrt in SkRasterPipeline
Bug: skia:11861
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I9d9e7a9ee81bef54cea3c5be3952f577ddad35a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399798
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 22:42:23 +00:00
John Stiles
db21d93ac6 Fix DSL C++ code generation when FP variable names overlap.
DSL requires all of its variables to exist at the topmost scope, since
its inner "scopes" are not actual C++ scopes, but Block() statements.
This means that code like this:

   if (something) {
      int var;
   } else {
      int var;
   }

Must declare both `var` objects at the top level. We now detect variable
names that overlap, and prepend a number to disambiguate them. In this
case, the second `var` here would be renamed to `_0_var`. Since this
scheme follows the mangler's naming pattern, these names coexist nicely
with the inliner (avoiding double-mangling in the final output).

Change-Id: I22fa9b856ea9cdc3f7eae96c9d91ad9dcc16b186
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399417
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:59:42 +00:00
John Stiles
83b0c830c6 Add support for built-in functions to DSLCPPCodeGenerator.
Change-Id: Idf65ff46cd75d23f550c8e763cf3618ec7501b38
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398877
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:56:22 +00:00
Mike Klein
f0e564f43d remove sk_float_rsqrt()
The instructions used to implement it don't deliever
the same results across processors, even on the same
architecture.

Minor diffs on lighting image filter GMs;
this will likely require staged rollout.

Bug: skia:11861
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I4c0b0eab221a051f863f4949051f50652466651e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396723
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-22 21:32:23 +00:00
Herb Derby
40f45d6c8f create ops directly for drawGlyphs, etc.
If there is no SkTextBlob associated with the glyphRunList,
then there is no possibility for reuse. Don't create a
GrTextBlob, and don't consult the cache. Just build the
GrAtlasTextOp directly.

Change-Id: I2dbdb2a01ef62c1bdaa1010796b4d58a9b455640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399896
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 21:20:23 +00:00
John Stiles
d85d720800 Add support for sample() to DSLCPPCodeGenerator.
This CL also removes some vestiges of the kSampler type, which hasn't
been used in .fp files for a long time.

Change-Id: Iaca1d0c6e77ad2df2b6c5dacd1c68079d6dd5cf2
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398738
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:13:13 +00:00
John Stiles
abde8fc182 Enable DSL FP tests.
These new tests rely on compiled shaders that live in the
`tests/sksl/dslfp/` directory; this CL updates the Bazel and
emscripten build scripts to include these shaders.

Change-Id: Ib670682af8bf451a4473504dd4cc76a0e9222129
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400097
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 21:03:43 +00:00
Chris Dalton
82007f568d Implement a fixed count stroke tessellator
This new tessellator renders strokes as fixed-count triangle strip
instances. Any extra triangles not needed by the instance are emitted
as degenerate triangles. Since it draws in order, this tessellator
allows us to batch dynamic colors even when hw tessellation is not
supported.

Bug: skia:10419
Change-Id: If03a8b76319471ae4d4580dda019b69204d9197b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398416
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 20:34:04 +00:00
Chris Dalton
57ab06c14e Delete mixed samples
Mixed samples is no longer relevant for Ganesh. DMSAA and the new
Ganesh architecture both rely on full MSAA, and any platform where
mixed samples is supported will ultimately not use the old
architecture.

Change-Id: I5acc745010e090ef26310d92ec6240be2cd494cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399837
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 20:11:34 +00:00
John Stiles
47b48bc2be Reland "Add support for uniforms and layout(key)s to DSLCPPCodeGenerator."
This reverts commit 289da86e37.

Reason for revert: relanding

Original change's description:
> Revert "Add support for uniforms and layout(key)s to DSLCPPCodeGenerator."
>
> This reverts commit f33b061e3b.
>
> Reason for revert: Google3 roll and wasm build
>
> Original change's description:
> > Add support for uniforms and layout(key)s to DSLCPPCodeGenerator.
> >
> > Change-Id: I77c386e3d72fb4a5986e5efb8bc9d409200534d1
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398457
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I006ece639fa6051ff6ef1c496e648db9d5d0b30a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11854
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399498
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>


Bug: skia:11854
Change-Id: I1a4a4db471e2ad0b169b2b77784ca17e6286fbd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400036
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 20:04:32 +00:00
John Stiles
956802335d Reland "Reland "Implement statements and expressions in DSL C++ code generator.""
This is a reland of c412688798

This CL lands the code changes but not the dm test, which is causing
link errors. Tests will be relanded as a separate CL, at
http://review.skia.org/400097

Original change's description:
> Reland "Implement statements and expressions in DSL C++ code generator."
>
> This is a reland of 16cbfb41df
>
> Tests now rely on `shaderDerivativeSupport` and `integerSupport` as
> proxies to indicate ES3 support. The SwitchStatement test has been
> adjusted to hopefully confuse fewer compilers.
>
> Original change's description:
> > Implement statements and expressions in DSL C++ code generator.
> >
> > This CL removes the bulk of the existing C++ code generator, especially
> > all the complex format-string assembly code. It has been replaced with
> > actual DSL code generation. Simple IR can now be successfully translated
> > to a working DSL fragment processor.
> >
> > This CL also adds a simple test harness which is patterned after the
> > existing SkSLTest; it renders a pixel, reads it back, and fails the test
> > if the result isn't solid green (RGBA=0101).
> >
> > This CL doesn't implement every feature. Some obvious gaps include:
> > - Sampling from children
> > - Uniforms/inputs of any kind
> > - Function calls of any kind
> >
> > Change-Id: Ib80c23fe1ba4453f7c3cb43b65f93c5ea0deb709
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396757
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:11854, skia:11891
> Change-Id: I91363e31f34611d15ae350b52d6fc459feeace9c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399076
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

Bug: skia:11854
Bug: skia:11891
Change-Id: Ib1f08256c84d1da2130e0b61356f72435dc0a5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399740
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-22 20:01:33 +00:00
Brian Salomon
071182ed1d always use shader based tile modes for blurs in reduced shader mode
Bug: skia:11844
Change-Id: I7a02a4848ed81f16b05df0729070660faf8fce86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399744
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-22 19:09:33 +00:00
Kevin Lubick
4755b0b525 [canvaskit] Add TextHeightBehavior
Bug: skia:11881
Change-Id: I220f5ad43de95324172ee5b6d3d5a975a3f8a166
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399836
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-04-22 18:21:44 +00:00
Mike Klein
dd8f8ed384 clean up defines that do nothing
These are leftovers.  Should be a noop.

Change-Id: I9897841e63b417a63d6f2d681a8ac4ae50ebb485
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399797
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 18:02:59 +00:00
Adlai Holler
d37a085cd0 Enable DAG reordering on almost all bots
We exclude the NUC5PPYH just to get desktop coverage,
and we exclude the Pixel4, 4XL, 5 because of an apparent driver
bug I'm in the progress of tracking down.

Bug: skia:10877
Change-Id: Ic925cc7434c5228bcc2ee07ae752f89229db55c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399742
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-04-22 16:55:39 +00:00
Herb Derby
d5a676441a use GrArenas for direct glyph drawing
The existing code incorrectly uses the recordTimeAllocator.
Add a SubRunAllocator to the GrArenas, and use GrArenas to
store direct glyph drawing information.

Change-Id: I38ba25658364a48af5c775315331795d3d22121f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397476
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 16:43:31 +00:00
Chris Dalton
b90447c04d Turn off mixed samples
Mixed samples is no longer relevant for Ganesh. DMSAA and the new
Ganesh architecture both rely on full MSAA, and any platform where
mixed samples is supported will ultimately not use the old
architecture.

This CL is step one of two in dropping support for mixed samples. Once
the gold expectations are updated, we will come back through and
delete the code.

Change-Id: Ib8d21dc285555f8bbfb45c3f1fb509af215f5bad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399496
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 16:23:19 +00:00
Brian Salomon
fdc82b4c64 Reland "Use SkImage_Base::asFragmentProcessor in SkGpuDevice."
This is a reland of 11524527bc

Original change's description:
> Use SkImage_Base::asFragmentProcessor in SkGpuDevice.
>
> A step towards getting rid of GrTextureProducer family of classes.
>
> Bug: skia:11877
> Change-Id: I42e0f24441d7b64fd0e6b27671100750b80d15f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:11877
Change-Id: Ic551b085c85f989fafb524751bdf27f15b6585c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399743
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 15:44:39 +00:00
Robert Phillips
98b066cbe8 Add fuzzer for Triangulating Path Renderer
Bug: skia:11892
Change-Id: I3f8145516f8fd23eb05c29517cd5c1553c9b1df1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399296
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-04-22 15:35:29 +00:00
Joe Gregorio
a4e2f28697 Turn down SamsungChromebook2012 devices.
They are 9 years old.

Bug: skia:11876
Change-Id: I716880fd2405524b09543c9a166dc46e6b8ad815
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399500
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-22 15:27:10 +00:00
Adlai Holler
729191d4c0 Add missing GrGLCaps logs
I tried to keep the log statements in line with the caps fields
themselves.

Also removed an unused cap.

Change-Id: I7b7f2ec0320fc72b57dc104be41ee7b5d12e6415
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399741
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 15:19:59 +00:00
Mike Klein
5beb2b30b7 virtual+final in base class??
As far as I can tell, this is nonsense.

Change-Id: I2cd4c0eea15e3c611fbd043f3790216301362938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399796
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 14:57:59 +00:00
Brian Salomon
aae8ccc78f Revert "Use SkImage_Base::asFragmentProcessor in SkGpuDevice."
This reverts commit 11524527bc.

Reason for revert: assert on pre-abandon bot

Original change's description:
> Use SkImage_Base::asFragmentProcessor in SkGpuDevice.
>
> A step towards getting rid of GrTextureProducer family of classes.
>
> Bug: skia:11877
> Change-Id: I42e0f24441d7b64fd0e6b27671100750b80d15f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Idb84c05857e52fdb00f876d53e4b891329ca76bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399739
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 14:00:41 +00:00