Commit Graph

56042 Commits

Author SHA1 Message Date
Brian Salomon
4b6e2f0d88 Remove GrBlendFragmentProcessor::BlendBehavior.
There is only one value for the enum.

Bug: skia:10457
Change-Id: I46edd905c3a65ab5b398964ccd4f978b9b9737f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425461
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-09 20:31:30 +00:00
John Stiles
9191e813a0 Enforce consistency in swizzle domains.
GLSL disallows mixing swizzle domains within a single swizzle:
http://screen/93eHNQDbx35hMdk
SkSL now disallows it as well.

Change-Id: Ied2e11ee04285b143a864e28cac30335f01aad0e
Bug: skia:10621
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426458
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-09 20:30:22 +00:00
recipe-roller
c2e18e0209 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
d60b99cd5a
  d60b99c (dpranke@google.com)
      Get pylint-2.6 to work under vpython3 on Windows.

recipe_engine:
4c16be254b
  4c16be2 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from e9f61c7efe99 to 2f836b4882d2

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie8f120fb8a81f11004bf7e74f7d340c42c2bb8a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426496
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-09 19:41:08 +00:00
Chris Dalton
fa5a8b8a36 Add a gradient to the rrect_clip tests
This helps ensure local coords get handled correctly during clip
optimizations.

Bug: chromium:928984
Change-Id: I762077bc7a412ee62703a0221d74138920ecbde0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426296
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-09 19:21:27 +00:00
Jim Van Verth
b161a77d03 Remove unused tracking methods in GrManagedResource
Bug: skia:10584
Change-Id: Id335e243bb1c594922053ef98500d5a5ce59ea65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426457
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-07-09 19:08:48 +00:00
John Stiles
6de2e1db03 Add support for matrix-to-vector conversions in SkSL.
GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have
equivalent support. This CL allows the Compound constructor to take a
matrix as input, and fixes up backends to do the right thing when a
matrix shows up in the compound-constructor path.

Change-Id: I13289ad0a27ba59bddc3706093820594efebc693
Bug: skia:12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426003
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-09 17:55:22 +00:00
Brian Salomon
13d34497db Remove detection of GL_ARB_fragment_coord_conventions
No longer used now that we create origin-neutral shaders and flip
with uniform values.

Bug: skia:12037
Change-Id: Ib63e6a3cc6fe625a671785f5cd592a0163f7bf64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426002
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-09 17:55:18 +00:00
Brian Osman
768843b52f Remove .fp logic from CheckGeneratedFiles bot
Change-Id: I20541992cc85bf52c5672c437fe6baa823841987
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426397
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-09 16:49:06 +00:00
Brian Osman
552a81a6c7 Remove SkSLCPP.h, utilities that were only used by .fp generated code
Change-Id: I00f60e04a481613656760d71979540a75c353936
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426439
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-09 16:14:16 +00:00
Brian Osman
50f0dadb7f Remove GrSharedEnums.h
Change-Id: I3f2e927001da10652b2965687e31aa8452c9dfc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425997
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-09 15:32:46 +00:00
John Stiles
b7df41828a Fix Housekeeper warning.
Change-Id: Ic1a60da6359a5eb91da667340fdfdb5c7952d7c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426440
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-09 15:16:47 +00:00
Robert Phillips
5e1aa8b665 Misc skgpu cleanup
This CL:
  finishes off some renaming I missed earlier
  removes some extraneous #includes from headers

TBR=bsalomon@google.com
Bug: skia:11837
Change-Id: If7163435a44d4067dac041a7f9e68b1ad63432d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426037
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-09 15:06:16 +00:00
Brian Salomon
8573dab150 Fix special returns in GrBlendFragmentProcessor::Make for kSrc and kDst.
Return the unmodified src or dst.

Bug: skia:10457
Change-Id: Ib7f2b3c3f73e68c4a0f4c774db07190420f2da60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425999
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-09 14:55:36 +00:00
Brian Osman
c9145f3402 Remove enum support from SkSL
Bug: skia:11296
Change-Id: I7d41614957d6fa535faadebbeca890b54b6977ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425996
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-09 14:03:15 +00:00
Florin Malita
a0e44d7cf5 [skottie] Avoid null ptr deref in motion tile effect
If the input tile is infinite, the gradient shader instantiation fails
(degenerate endpoints).  Just ingnore the phase in that case.

Bug: oss-fuzz:35903
Change-Id: Ib78043a2157b0eaaf6f5957ae831c134be2a4e30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426396
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-07-09 13:54:06 +00:00
recipe-roller
14a77418e8 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
c2d5451de5~..899785a9c615de8d51fcdb6fdc27331cf1daadaf
  c2d5451 (iannucci@chromium.org)
      [led] Update led to make debug-sleep work again.
  899785a (tandrii@google.com)
      [cv][git-cl] treat autogenerated CV comments just like CQ.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib266faf843c004bcee9cf7a434e8a06e75132099
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426138
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-09 13:37:56 +00:00
John Stiles
beb2fbf0e6 Simplify SPIR-V matrix construction logic.
This should generate the same output as before, except that SpvIds are
renumbered. We now use `writeComposite` instead of manually emitting
SpvOpCompositeConstruct instructions, and some logic for column-building
was simplified; columns counts are no longer tracked as a separate
value, since we can just call size() to inspect this.

Change-Id: If273341a0938eb5f7a6e2db12b080c7d0dae600a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426060
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-09 13:32:36 +00:00
skia-autoroll
f5bd4e4b9f Roll ANGLE from 4964513a254d to 17a4b6e7f6bd (18 revisions)
4964513a25..17a4b6e7f6

2021-07-09 jiajia.qin@intel.com Fix that clear-srgb-color-buffer is not correct
2021-07-08 sergeyu@google.com Reland: [Vulkan] Add DisplayVkNull
2021-07-08 ynovikov@chromium.org Revert "GL: Use glClear for robust init on Android."
2021-07-08 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support barrier* built-ins
2021-07-08 jmadill@chromium.org Trace Tests: Clean up mock ICD skip condition.
2021-07-08 jmadill@chromium.org Capture/Replay: Fix missing rpath on Linux.
2021-07-08 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support == and != on complex types
2021-07-08 adkushwa@microsoft.com Move Objectlabel from Texture object to TextureState object.
2021-07-08 jmadill@chromium.org Enable -Wshadow with Clang.
2021-07-08 gert.wollny@collabora.com Enable passing tests out of BlitFramebufferANGLETest.*/*
2021-07-08 jmadill@chromium.org Trace Tests: Improve state serialization.
2021-07-08 jmadill@chromium.org Trace Tests: Add option for ASAN builds.
2021-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c89f07b349b to 9534228df856 (3 revisions)
2021-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from cda66075b3f4 to 015a6f8b338d (4 revisions)
2021-07-08 gert.wollny@collabora.com Capture/Replay: Enable SRGBFramebufferTest.Validation/*
2021-07-08 gert.wollny@collabora.com Capture: Write captured context for empty frames
2021-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7c193479c917 to 8b6aa9a9bcc2 (411 revisions)
2021-07-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6dda7d6b86d6 to cda66075b3f4 (43 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 djsollen@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/main/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: djsollen@google.com
Test: Test:
Change-Id: I01b83c04cbd65069076dc709b0e0d35fe81a620c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426204
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-09 05:15:16 +00:00
skia-autoroll
33299d78f6 Roll SwiftShader from 9534228df856 to 65498c15ca60 (11 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9534228df856..65498c15ca60

2021-07-09 thakis@chromium.org Remove -Wno-error flags
2021-07-09 thakis@chromium.org Remove now-unused gni imports
2021-07-09 thakis@chromium.org Remove x86/x64-specific arch flags
2021-07-08 thakis@chromium.org Try to unbreak build after https://swiftshader-review.googlesource.com/c/SwiftShader/+/55608
2021-07-08 thakis@chromium.org Remove mips-specific arch flags
2021-07-08 thakis@chromium.org Share ANGLE_DISABLE_TRACE-setting code between win and non-win
2021-07-08 thakis@chromium.org Stop passing -fomit-frame-pointers in swiftshader build file
2021-07-08 thakis@chromium.org Remove sysroot and mmacosx-version-min flag for mac/arm builds
2021-07-08 thakis@chromium.org Remove explicit -msse2 flags (and some other minor things)
2021-07-08 thakis@chromium.org Remove unnecessary flags from BUILD.gn
2021-07-08 capn@google.com Delete the legacy OpenGL ES build for Android

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 djsollen@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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: djsollen@google.com
Change-Id: I34527753db9fec85d5300dbd726b3d3e180f0622
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425962
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-09 05:08:55 +00:00
skia-autoroll
39122d4459 Roll Chromium from 347565ba49f8 to a30ee6a7dc21 (426 revisions)
347565ba49..a30ee6a7dc

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 djsollen@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/main/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: djsollen@google.com
Change-Id: Idaa0f5f0d197bb83371673ea8f4b0c757808833f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-09 04:50:45 +00:00
recipe-roller
c2f5b311ce Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
7d3c9f6d1f
  7d3c9f6 (gavinmak@google.com)
      Add python3 support to gsutil recipe module

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I347f19f0eff50c569d78d771675b9560c102c502
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426201
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-09 01:34:19 +00:00
recipe-roller
b5565cdff7 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
a138f082de
  a138f08 (gavinmak@google.com)
      Add python3 support to gitiles recipe module

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I070aae243efc2982c4b18d45ae62b5fd35202aad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426061
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-09 00:34:50 +00:00
John Stiles
5a825da698 Reland "Add tests for matrix-vector conversions."
This reverts commit f009db5b85.

Reason for revert: test disabled on Win10 + Intel 4400/6100

Original change's description:
> Revert "Add tests for matrix-vector conversions."
>
> This reverts commit a89781215a.
>
> Reason for revert: breakage on Windows
>
> Original change's description:
> > Add tests for matrix-vector conversions.
> >
> > GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have
> > equivalent support. Adding tests as a starting point.
> >
> > Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18
> > Bug: skia:12067
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I2563041f538b1b20074385f1b61af5fc506ffad5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:12067
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426057
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:12067
Change-Id: I1379914ee39ce340f09b11b3754820db9c645378
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426058
Reviewed-by: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-08 23:28:22 +00:00
Chris Dalton
b1fd64e82e Extract a GrAtlasInstancedHelper subclass
This helper will allow other GPs that use instancing to also clip
against an atlas.

Bug: chromium:928984
Change-Id: I5a3bb221220bace46c6c9d799c2db68e2a2c67b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425979
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-07-08 22:31:24 +00:00
Tyler Denniston
bdc412f149 Revert "Reland "Omit inner join geometry when possible""
This reverts commit 44edd1952a.

Reason for revert: problematic gold diffs (e.g. paths-data-10-t) and androit CTS failures

Original change's description:
> Reland "Omit inner join geometry when possible"
>
> This is a reland of 1b0a95e0ee
>
> Original change's description:
> > Omit inner join geometry when possible
> >
> > There is some relatively cheap math we can do to determine easy cases
> > when the inner join geometry can be skipped. This CL is not
> > comprehensive in that there may be other cases where we can skip the
> > geometry.
> >
> > Only handling miter joins in this CL - the other join types can likely
> > have similar logic, but will require a bit more computation to compute
> > the inner (reflected) miter point.
> >
> > Misc notes:
> > - Added SK_LEGACY_INNER_JOINS ifdef in the event that clients depend on
> >   the old behavior.
> > - Modified stroker to track "previous previous" point, which is the
> >   start point of the previous line segment.
> >
> > Bug: b/165379671, skia:11964
> > Change-Id: I56789e85a2b4627c32f2a30fe60e47d448e9adf3
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404717
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Tyler Denniston <tdenniston@google.com>
>
> Bug: b/165379671, skia:11964
> Change-Id: If8bf183db9379d0a98a6f88e70f871a559692a60
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423821
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

TBR=reed@google.com,tdenniston@google.com

Change-Id: I5a2dfd402269db6c788f0e0625f67e9bf3b1f5cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/165379671, skia:11964
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426059
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-07-08 22:14:00 +00:00
Chris Dalton
3c636f0987 Convert FillRRectOp to store its draw data in a linked list
Stores the draw data in a linked list rather that a CPU-side mirror of
what the GPU buffer will hold. The purpose of this change is to keep
the op in a more manipulable form before it gets finalized. We intend
to add a "clipToShape()" method to GrDrawOp that the clip stack will
call into, and since the intersection between a round rect and a
GrShape is often itself a round rect, we will be able to just modify
the op rather than adding clip FPs.

The code is also simply easier to read and maintain this way.

Bug: chromium:928984
Change-Id: I5da65f836ccb4eed25a88133888fc348a718a81e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425977
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-07-08 21:46:49 +00:00
John Stiles
f009db5b85 Revert "Add tests for matrix-vector conversions."
This reverts commit a89781215a.

Reason for revert: breakage on Windows 

Original change's description:
> Add tests for matrix-vector conversions.
>
> GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have
> equivalent support. Adding tests as a starting point.
>
> Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18
> Bug: skia:12067
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: I2563041f538b1b20074385f1b61af5fc506ffad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426057
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-08 21:46:40 +00:00
John Stiles
1f7300bdcb Fix Metal row/column confusion.
I wrote this code long ago and it looks like rows and columns are
backwards here. Not a functional problem.

Change-Id: Ic1bc765c238cb5203ade430b601920be785e2842
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426056
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-08 20:34:40 +00:00
Mike Reed
cce0b60b18 More (no more) getBlendMode cleanup
Bug: skia:12173
Change-Id: I81ed805c489024860d4e1d0601413a78c04f1010
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426006
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-08 20:28:24 +00:00
Florin Malita
54fd2c59bf Re-enable large png decode bench
TBR=reed
Change-Id: Id7d535412c20bc8dcdc47613dec40d07cd3abee1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426000
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-08 19:39:49 +00:00
recipe-roller
01e35b7d6b Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
6143a9473b~..0e27bfe34f2ffac739fa97e217751e30990abc6b
  6143a94 (gavinmak@google.com)
      Add python3 support to tryserver recipe module
  0e27bfe (gavinmak@google.com)
      Add python3 support to cipd recipe module

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I04a7522909a013acadbdb797e40e4228e897ab34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425978
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-08 19:18:23 +00:00
John Stiles
a89781215a Add tests for matrix-vector conversions.
GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have
equivalent support. Adding tests as a starting point.

Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18
Bug: skia:12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-08 18:36:07 +00:00
Brian Salomon
31580b38fd Remove GrBlendFragmentProcessor::Behavior::kSkBlendMode.
The only difference between this and kComposeOne is that it always
sets the src child's input color to opaque white. However, all call sites
pass a color FP that ignores its input. So in practice there is no
difference.

Bug: skia:10457
Change-Id: I816d421fcb7b48d81ba68f835571ef703aa8d73d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-08 17:50:18 +00:00
recipe-roller
28b5b63d5d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
340edc365b
  340edc3 (sokcevic@google.com)
      Extract bug/fix from branch only on create

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I4928d5e4b5b1b7273d3c1707678bb5df6dca44dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425976
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-08 17:48:27 +00:00
Chris Dalton
ee40d5a226 Make GrDrawAtlasPathOp cleaner
Use more intuitive instance attribs, actually support DDL, and
simplify the allocation logic now that we have an arena available at
construction time.

Bug: chromium:928984
Change-Id: I9f180a117961f13edcf5990b74e8f388beeb028c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425257
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-08 17:42:57 +00:00
Robert Phillips
72354b0593 Move more gms and tests into the V1-only pile
Making GrDrawRandomOp and test_ops V1-only drags several GMs and tests with them. All the other GMs/tests explicitly require Ops.

Bug: skia:11837
Change-Id: I45c0a1054c3b1ec43f509595c6492581d10314cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425016
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-08 17:38:36 +00:00
Chris Dalton
2ec023e7e1 Run nanobench on the AppleM1
Bug: skia:11396
Change-Id: Ieeff69bab483c283ecf574340d61eba7a4c50c7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425638
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-08 17:35:57 +00:00
Chris Dalton
87499cdc5a Start running dmsaa on nanobench and skpbench
Bug: skia:11396
Change-Id: Ie77bad315135378df0c99483963738feaa16ff85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425637
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-08 17:34:36 +00:00
Chris Dalton
7a0541e03d Run cmdbuffer_es2_dmsaa on the bots
Bug: skia:11396
Change-Id: I793cbce7efab5330a8c4eb41ce2cf425b29aeb15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-08 17:31:47 +00:00
Ethan Nicholas
e6ed3c280d Added DSL support for interface blocks
Change-Id: I5b770252eb5daa29844ac75ee4be81e503c2907f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424039
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-07-08 17:18:37 +00:00
Mike Reed
26ea975e6c Arithmetic blender
... to aid in removing special ArithmeticImageFilter.

Can we use something like this to reimpl the ArithmeticImageFilter
--> BlenderImageFilter?

I see some special checking in filterBounds for ArithIF -- is that
required? Is that generalizable for any BlenderImageFilter?
If we can generalize blend[er]imagefilter, let's just move this
logic into Chrome -- no need for Arithmetic to appear in Skia
in any form!

Re: https://skia-review.googlesource.com/c/skia/+/424436

Change-Id: Ifa0ff2fa25de6385f6f60505e73ecc28463a80b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424417
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-07-08 17:06:17 +00:00
Brian Osman
8c26479048 Remove large swaths of code related to .fp files
Change-Id: Id2061ebe7873aa8b9480a2d8b0133c2fb79e79bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424098
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-08 16:53:47 +00:00
Brian Osman
ed5181e7bf Remove .fp tests and build steps
Change-Id: I4066aafc5b6137bfaf38100ff237fd9833023f34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424097
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-08 16:47:40 +00:00
Mike Reed
624018a49b RasterPipeline can't handle custom blenders
Change-Id: I7c1badeb9bec615868aae7b5de17cb55c109d4e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425917
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-08 16:42:10 +00:00
Brian Salomon
25af480ad8 Remove GrBlendFragmentProcessor::Behavior::kComposeTwo.
Most uses can just use kComposeOne because the input colors to the
children are not used. However, SkShaders::Blend() cannot. Lift the
compose-two behavior to a new helper,
GrFragmentProcessor::MakeInputOpaqueAndPostApplyAlpha, and use that
in SkShaders::Blend().

Bug: skia:10457
Change-Id: I8ce8a26db41e6a9d7dc28e236290827233a3d07b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425459
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-08 16:30:57 +00:00
Robert Phillips
ba70138477 Retract GrFillRectOp from GMs and tests
Bug: skia:11837
Change-Id: I150d9b3debd3ebc7885720a5a287a89bf0e3f0de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425019
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-08 15:22:57 +00:00
Mike Reed
d0329b91bc Sprites can't handle custom blenders
Change-Id: Ieb6e34a419c73a46f43ea8c378c805b17ef6231f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425836
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-08 14:32:53 +00:00
Ethan Nicholas
26ecd0696d Further reduced size of SkSLType
Change-Id: Ic354a3a3bc31e57831151049ea448477c86f7ab9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423585
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-08 14:27:13 +00:00
Herb Derby
e822837a13 draw vertices: use SkVM for simple triangles
If there are no color or texture changes between triangles,
then us SkVM to draw the triangles.

Change-Id: I2b1af743b36c681db23045c9f398c305894ead91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425020
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-08 14:17:23 +00:00
Brian Salomon
b62a2934f2 GrBlendFragmentProcessor::Behavior::kComposeOne uses original input.
Most callsites pass a texture effect (which ignores its input) and
nullptr and so work as is with the new interpretation of kComposeOne.
The two callsites that don't are updated to wrap their input FP in
OverrideInput(WHITE).

Bug: skia:10457
Change-Id: Idb7a0a6e9de5a25eb0c2ad1e7ade214efdba9754
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425458
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-08 14:10:43 +00:00