Commit Graph

56002 Commits

Author SHA1 Message Date
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
Brian Osman
07bf3881e7 Convert binary unrolled gradient colorizer to GrSkSLFP
Change-Id: I28eb4479476a531a7b45fbef0ce9da72a4d29dc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423997
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-08 13:48:05 +00:00
Tyler Denniston
44edd1952a 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>
2021-07-08 13:14:32 +00:00
Brian Salomon
a2d6890c5b Remove GrBlendFragmentProcessor::BlendBehavior::kDefault
Always explicitly pass one of the other behaviors.

Bug: skia:10457
Change-Id: I573161b3de0476a398d71fcaab71e2d68fa13d02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425457
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-08 12:57:15 +00:00
recipe-roller
ae7f7edd49 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
b6748d03b4
  b6748d0 (tikuta@chromium.org)
      isolated: remove archive functions

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: Ia045cfc26baa9fa0c4db11ae2fd6b87c705eb0cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425600
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 06:41:47 +00:00
recipe-roller
d471e7c36d Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
4c0a3b635a
  4c0a3b6 (tikuta@chromium.org)
      isolated: remove download function

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: Ib27cc8cfe45126fc2c2f87098b577494e38fb72d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425558
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 05:39:46 +00:00
skia-autoroll
96f41f3c65 Roll Chromium from 692b194693a6 to 347565ba49f8 (421 revisions)
692b194693..347565ba49

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: I996276df3722bbb589e8e29a257735e3af3f4ec1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425503
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-08 05:18:26 +00:00
skia-autoroll
14c746a6d4 Roll ANGLE from 51937ab38622 to 4964513a254d (12 revisions)
51937ab386..4964513a25

2021-07-08 gert.wollny@collabora.com ANGLETest: When on WebGL compatibility then use index buffers
2021-07-07 gert.wollny@collabora.com Capture/Replay: Enable passing tests, disable flaky
2021-07-07 gert.wollny@collabora.com Capture/Replay: capture param of glGetQueryiv
2021-07-07 gert.wollny@collabora.com tests: Skip WebGL/EnableProgramBinaryExtension with no formats
2021-07-07 gert.wollny@collabora.com Capture/Replay: don't capture DrawElements with count zero
2021-07-07 vantablack@google.com Fix undefined behavior associated with Runescape Mobile
2021-07-07 geofflang@chromium.org GL: Use glClear for robust init on Android.
2021-07-07 ynovikov@chromium.org Skip SamplerMetadataUpdateOnSetProgram on Mac Metal
2021-07-07 ggabu423@gmail.com D3D11: Fix incorrect bounds checking in Blit11
2021-07-07 sugoi@google.com Fix alpha setting of WebGL contexts with SwANGLE on MacOS
2021-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 6f1260556b10 to 3c89f07b349b (5 revisions)
2021-07-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1d5cc5e25281 to 7c193479c917 (278 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
Change-Id: I263c36caa4147ce195c4712a373feb69c34a3ebf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-08 05:13:26 +00:00
skia-autoroll
e75209cd73 Roll Dawn from 4a811043ccd2 to 170ea75f2ad2 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/4a811043ccd2..170ea75f2ad2

2021-07-07 enga@chromium.org Add test for fragment outputs not covered by render attachments
2021-07-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from facb5ced00ae to ea1a4680d490 (1 revision)
2021-07-07 yang.gu@intel.com Extend Intel graphics driver version to 2 fields

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from facb5ced00ae to ea1a4680d490

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 bajones@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-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: Ic395293afc98e7958aa45ee9326e023692a35582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425516
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-08 05:09:26 +00:00
skia-autoroll
744c6a1b19 Roll SwiftShader from 3c89f07b349b to 9534228df856 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3c89f07b349b..9534228df856

2021-07-07 capn@google.com Eliminate Subzero sandboxing support
2021-07-07 capn@google.com Assume Microsoft ABI on Windows
2021-07-07 capn@google.com Eliminate support for the PNaCl ABI

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: I06e86fffe7f473bb0ba63878a84c049841d7bb46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425502
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-08 04:53:57 +00:00
recipe-roller
bc26cfc9a5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
b02a4ebd42
  b02a4eb (iannucci@chromium.org)
      Fix debug sleep on non-darwin.

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: I596172c48871343c02abc9706a0bd3aeb2771f17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425500
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 02:30:46 +00:00
Herb Derby
d390c642ac add value_or to optional
Add full compliment of operator*, have them assert in debug,
but not throw in release as per c++ spec.

Add full compliment of value() have them crash if there is
no value as per the c++ spec.

Add value_or.

Add test for value_or.

Change-Id: Ib0d9a01fba367768e66d00fbc61b471397e8582c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425476
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-07 23:08:17 +00:00
recipe-roller
6ca0536bd5 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:
ac6f623a29
  ac6f623 (jmadill@chromium.org)
      git cl: Ensure update before checking if "full" format.

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: Icd7000b2d3ca921cb4bcc42d3d982acf569c68ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425381
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-07 21:49:19 +00:00
Mike Reed
90f4e9f5f7 Hide getBlendMode()
... since it mysteriously returns something even if the blender doesn't
map to any enum. Clients should use asBlendMode() or getBlendMode_or().

Change-Id: I5dc5aea51f47f297ef9b2a89535d47ac58aea9bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425177
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-07-07 20:55:26 +00:00
Chris Dalton
4e5f763491 Enable the tessellation path renderer on (extended) es2
Bug: chromium:1220246
Change-Id: I0534da49a74218cd2561fbd008ca10674f029e98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423776
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-07 20:19:46 +00:00
Brian Osman
4c886ee15a Revert "Revert "Convert GrConfigConversionEffect to a runtime FP""
This reverts commit 1c467774e5.

Change-Id: Iad409002ddd71f0c26117e5a0814bf021fba8178
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425186
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-07 20:17:26 +00:00
Brian Osman
f60052072c When force-high-precision is enabled, change default precision
Change-Id: I7b033c891ee997f1ca022b73d6f78cc501c5cdc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424302
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-07 19:56:36 +00:00
Mike Reed
26489dc674 value_or variant for getBlendMode.
... to ease clients into the blender world. Will be used in subsequent
CLs to migrate skia and its clients.

Change-Id: I253b333dca65876b45c3d424f5d0456a09460e6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425356
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-07 18:48:37 +00:00
Tyler Denniston
2dc2859c70 flutter: add build flag to stage stroking change
Bug: skia:11964
Change-Id: Ie7771ec2fd84f400a2360d81a7fd6c468f499dc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425179
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-07-07 17:54:12 +00:00
Jim Van Verth
758d81f715 Reland "Metal: Add labels to help with GPU Debugging"
Original change's description:
> Metal: Add labels and debug groups to help with GPU Debugging.
>
> * Adds SK_ENABLE_MTL_DEBUG_INFO to enable labels and debug groups,
>   dependent on skia_enable_gpu_debug_layers.
>
> Bug: skia:12150
> Change-Id: I5b4538c0f6df6ceed72d7e8e6f1952fd193b7b90
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422756
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Bug: skia:12150

Change-Id: I4bc686b7fdb1b929dbfdb2dd12fb5170fc9b36a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425185
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-07-07 17:36:52 +00:00
Herb Derby
55d339c348 draw vertices: make shader invariants a little clearer
Make it clear that texture data and the paint shader
work in tandem.

Change-Id: Ifdb66632516eb2301c003de52aa678e450c61cc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425018
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-07 16:34:22 +00:00
Mike Reed
cd947ac177 Extend blendmodes bench to time sprites
Change-Id: I3801e869d8a2e177dae108a494a221d502c3caaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425182
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-07 16:21:23 +00:00
Brian Osman
66657d17c6 Switch to using intrinsicKind to detect "sample" calls
Change-Id: I2b6b3ec24e42859b811de0125276f1d33d5f5037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425181
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-07 15:28:23 +00:00
Sylar
78b7397995 Fix compile warning in GrD3DGpu::onCreateCompressedTexture
This is an imported pull request from
https://github.com/google/skia/pull/82

GitOrigin-RevId: 6e5ca6e5b209b46c11d8d8082c580bd5dd9d0729
Change-Id: I01f95f7ff768453364989372e09c6fd092a74e81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424716
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-07-07 15:28:20 +00:00
Ethan Nicholas
001461ebdd Added SkSL Literal type
Previously kScalar was doing double-duty and standing in for both scalar
and literal types. This breaks it out into a separate enum value.

Change-Id: Ic975eeba87fb430d9fe183e284107f6aaff9b244
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425180
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-07-07 15:23:42 +00:00
recipe-roller
be9aa64ff9 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:
09f358bae3~..b39f6bbf82e3a9bfbed3d24b561726c247d7a48d
  09f358b (ehmaldonado@google.com)
      metrics: Don't collect metrics on DEPOT_TOOLS_METRICS=0
  534f505 (songfangzhen@bytedance.com)
      Update format of `git cl split`
  3ac55bc (nodir@chromium.org)
      Revert "[dirmd] Roll dirmd"
  9f6aa1b (raphael.kubo.da.costa@intel.com)
      gerrit_util: Make GceAuthenticator also consider proxy errors i...
  6f0df68 (dpranke@google.com)
      Add use_python3 to codereview.settings to set default for PRESU...
  a73eec2 (fdegans@google.com)
      Add a new argument to skip shebang checks on python3
  2a6dffa (tikuta@chromium.org)
      Reland "use python3 for goma related scripts"
  4577360 (sokcevic@google.com)
      Reland "Reland "Update gsutil to use gsutil version 4.61, pytho...
  fc3fb20 (brucedawson@chromium.org)
      Revert "Reland "use python3 for goma related scripts""
  a806594 (brucedawson@chromium.org)
      Reland "Reland "use python3 for goma related scripts""
  db632b6 (sokcevic@google.com)
      Use main as default branch in documentation
  a50bd44 (vadimsh@chromium.org)
      [cipd] Update CIPD client to 2.6.0.
  965a05b (kyleju@chromium.org)
      Fix py3 presubmit error. Use unicode strings explicitly.
  1bfda8e (sigurds@chromium.org)
      Respect git config cl.date-order in `git cl st`
  6b08432 (sokcevic@google.com)
      Use main as default branch for git recipe module
  866be0f (wnwen@chromium.org)
      Add an option to specify pylint version
  f0d7ed8 (sokcevic@google.com)
      Allow custom filters for json validation
  0aabd63 (victorsamun@yandex-team.ru)
      Fix python2/3 compatibility in DownloadUsingHttp function
  b3d52d3 (sokcevic@google.com)
      Revert "Use main as default branch for git recipe module"
  c079895 (vadimsh@chromium.org)
      [cipd] Update CIPD client and vpython.
  26adc2a (sokcevic@google.com)
      Fix generating man pages
  eb140ae (yyanagisawa@chromium.org)
      Roll out new goma client binary VERSION=225
  b39f6bb (bryner@google.com)
      Roll new vpython to depot_tools.

recipe_engine:
fe59faf05e~..af228e7f3c4fe44fe10fd65d866dccaedff4a219
  fe59faf (tikuta@chromium.org)
      cas: get cipd package revision from file
  fd22f03 (tikuta@chromium.org)
      cas: simplify _version a bit
  f6ae625 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 34b847e00d95 to bcbbe2d4b506
  b19a5af (yuanjunh@google.com)
      [python3] Make recipes doc command py3-compatible
  7b628b8 (iannucci@chromium.org)
      [python3] Add indicator for python3 compat at recipe/module level.
  d731cbd (iannucci@chromium.org)
      Add ability to read + simulate GLOBAL_SHUTDOWN.
  0032604 (tandrii@google.com)
      Make autoroller owner of CAS Client pin.
  f62b45d (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 78702ac003f3 to 76ddc72fae59
  010e03b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from c277f3162d43 to 1403fab7e195
  1b6e184 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from f8fee322da09 to 68a9d9f74279
  b14cfa0 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8dce0cb59e09 to 9464003f0708
  bc01d1b (qyearsley@chromium.org)
      [python3 compatibility] Switch to iteritems in recipe engine un...
  cd13c55 (qyearsley@chromium.org)
      recipe engine: Spellcheck and minor formatting
  78cc13b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 9464003f0708 to 8dd195b8fed9
  fad480e (qyearsley@chromium.org)
      [python3 compatibility] Run some futurize "stage 2" fixers on r...
  89cf3c8 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8dd195b8fed9 to e14bb15691db
  4abe5ab (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from e14bb15691db to 13eb6a325aaa
  4543597 (martiniss@google.com)
      Improve cas archive default
  e16a16a (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 102bb894249d to 40001c4c5150
  e88454d (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from eba70e5d7b53 to c85e8f0ecb90
  284f8eb (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from c85e8f0ecb90 to 01ae064f288d
  434b4f0 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 6fa1788bbb0e to 713757bf8a41
  8238109 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8b378ab01c51 to 40f945205c86
  f0f25eb (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from f50bf9c6481d to 63c49027cfa9
  18e4134 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 63c49027cfa9 to 89085d1a792a
  442820a (tikuta@chromium.org)
      tricium: show comment even if it exceeds 50
  d44e046 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from da9c74b88f55 to d425349380f6
  92a7948 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from d425349380f6 to 13d1aa30c73d
  56686d5 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 13d1aa30c73d to d5505d31f87f
  443bf98 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 4f05b72dc873 to dddfb00ee624
  30dbfb4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from dddfb00ee624 to d60b89d9dffa
  1951b83 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from d60b89d9dffa to e29eacaa51b1
  3606812 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 02e723041f2e to af2dc3835e4f
  46491c0 (iannucci@chromium.org)
      Add RECIPES_DEBUG_SLEEP to have engine do sleep for led.
  bb91c77 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from af2dc3835e4f to 9a1c1dd351da
  8a92136 (iannucci@chromium.org)
      Add function to compute effective python compatibility.
  2ad13e4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 9a1c1dd351da to 5e2c34b93cdf
  e47c6d4 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 5e2c34b93cdf to aca8d68f3040
  1c85729 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from b53f44dad74f to f483cf4004ef
  e4db17b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 0862ebb13f0c to 61d5434b44c8
  8d05dc8 (tikuta@chromium.org)
      isolated: remove on_path
  c4b8357 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 9f7beee9fe44 to 91cf324fb7a0
  478f380 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 3fadd3e58f93 to 74b60d9d714f
  af228e7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 74b60d9d714f to 6808332cfd84

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: I43f528d39adae46c34f695fc92f65b939b0f790d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425144
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-07 15:15:41 +00:00
Brian Salomon
d8d85b9b89 Reland "Don't key progams/pipelines on origin.""
Reland works around Adreno issue with this formulation of sk_Clockwise:
 (sk_RTFlip.y < 0.0 ? !gl_FrontFacing : gl_FrontFacing)

and instead adds this to the top of the function:
 bool sk_Clockwise = gl_FrontFacing;
 if (sk_RTFlip.y < 0.0) {
      sk_Clockwise = !sk_Clockwise;
 }

Original description:

SkSL language features that are origin sensitive now use a uniform
to conditionally flip their result rather than generating different
code.

Previously we would insert a "rt height" uniform if sk_FragCoord needed
to be flipped. sk_FragCoord,y was implemented as "realFragCoord.y" or
"rtHeight - realFragCoord.y" depending on SkSL::ProgramSettings::fFlipY.

Now we instead use a two component vector rtFlip and sk_FragCoord.y is
always "rtFlip.x + rtFlip.y*realFragCoord.y". We configure rtFlip as
either (0, 1) or (rtHeight, -1). sk_Clockwise and dFdy simiarly use
rtFlip.y to emit code that always works with either origin.

Bug: skia:12037
Change-Id: I3a2ad6f5667eb4dcd823b939abd5698f89b58929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425178
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-07 14:50:10 +00:00
Robert Phillips
550de7f872 Depower GrPipeline.h
This is mainly to get GrTextureEffect.h out of this header. Its distribution keeps gumming up efforts to make more classes V1-only.

Bug: skia:11837
Change-Id: I6d5aae20bb20cfe3fb4d93c526efe8cf7e5e0c52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425017
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-07 13:56:23 +00:00
skia-autoroll
24096ec243 Roll ANGLE from 3b0fcf6a913f to 51937ab38622 (5 revisions)
3b0fcf6a91..51937ab386

2021-07-06 jmadill@chromium.org Re-land "Add SearchType to OpenSharedLibraryWithExtension."
2021-07-06 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fixes to std430 block definition
2021-07-06 tikuta@chromium.org infra/config: remove unused isolated property
2021-07-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 69deca60e70d to 6f1260556b10 (2 revisions)
2021-07-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 38c67803c283 to 1d5cc5e25281 (194 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
Change-Id: I090e0152e2de0ca4d3d966e43a6af05b4284612d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425098
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-07 05:17:47 +00:00
skia-autoroll
34d94c9234 Roll Chromium from 5f1024ce4fc1 to 692b194693a6 (259 revisions)
5f1024ce4f..692b194693

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: Ic3b1869e5f575ccffa03d08d9a23a6ba063db537
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425076
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-07 05:05:52 +00:00
skia-autoroll
4a5a6a8a45 Roll SwiftShader from 6f1260556b10 to 3c89f07b349b (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6f1260556b10..3c89f07b349b

2021-07-06 srisser@google.com Replace curl command with git-hooks submodule
2021-07-06 capn@google.com Clarify contributing documentation for Windows users
2021-07-06 capn@google.com Fix -Wundefined-var-template warnings for ARM32 and MIPS32
2021-07-06 capn@google.com Define constant static template members as constexpr
2021-07-06 capn@google.com Make Subzero opcode pointer constant

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: If4f9315f27ff88c2ba5bf08b4888b58a3217e314
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425096
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-07 04:50:52 +00:00
skia-autoroll
18a42b8954 Roll Dawn from 435ebfcc40a2 to 4a811043ccd2 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/435ebfcc40a2..4a811043ccd2

2021-07-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 9545fb76b66d to facb5ced00ae (1 revision)
2021-07-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 692fc2079778 to 9545fb76b66d (1 revision)
2021-07-06 cwallez@chromium.org Add support for dump_translated_shaders to the Metal backend
2021-07-06 bclayton@google.com D3D12: Improve dump_translated_shaders debugging
2021-07-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5d8eb4a7582d to 692fc2079778 (1 revision)
2021-07-06 bclayton@google.com D3D12: Re-enable FXC tests

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 5d8eb4a7582d to facb5ced00ae

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 bajones@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-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: Icc77b1a173eaebd817afe3c9af66b681a52502b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425097
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-07 04:46:12 +00:00
Chris Dalton
3cc03c59bf Rm "GR_DISABLE_GL_ANGLE_instanced_arrays" guard
Bug: chromium:1220246
Change-Id: I8ec147bb501ec7a94c6ad503f9d7ede8d633a105
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425037
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-06 23:15:55 +00:00
Brian Salomon
40586cf1f8 SkShaders::Blend requires valid src/dst shaders
There was some idea that we'd substitute the paint color for the missing
input shader. However, the implementation (CPU) would also apply
the paint's alpha after the blend shader, meaning the alpha was used
twice.

If a caller wants to blend a shader against a constant color there are
already at least two ways:
1) SkColorFilters::Blend()
2) SkShaders::Blend() where one input is SkShaders::Color().

Rather than come up with a more rational implementation for CPU and
make GPU follow suit, just make this invalid input and return nullptr.

Change-Id: I99c3415707ec7dc8036709322727b7769ea85f21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425058
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-06 21:35:15 +00:00
Brian Salomon
55b81a8690 add mskps/ to .gitignore
This is the default location for nanobench and viewer to look for
mskp files.

Change-Id: Icd23382dcfa3ca4789b5d15a11aaed02f7d18eb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425059
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-07-06 21:04:55 +00:00
Brian Salomon
40242241c3 Revert "Don't key progams/pipelines on origin."
This reverts commit 943108b0b2.

Reason for revert: clockwise GM bad on android.

Original change's description:
> Don't key progams/pipelines on origin.
>
> SkSL language features that are origin sensitive now use a uniform
> to conditionally flip their result rather than generating different
> code.
>
> Previously we would insert a "rt height" uniform if sk_FragCoord needed
> to be flipped. sk_FragCoord,y was implemented as "realFragCoord.y" or
> "rtHeight - realFragCoord.y" depending on SkSL::ProgramSettings::fFlipY.
>
> Now we instead use a two component vector rtFlip and sk_FragCoord.y is
> always "rtFlip.x + rtFlip.y*realFragCoord.y". We configure rtFlip as
> either (0, 1) or (rtHeight, -1). sk_Clockwise and dFdy simiarly use
> rtFlip.y to emit code that always works with either origin.
>
> Bug: skia:12037
>
> Change-Id: I7a09d0caac60a58d72b76645ff31bcabde4086b6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414796
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,ethannicholas@google.com

Change-Id: I91cc0d86be216f6c32e453a231de088c991be4b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425056
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-06 19:21:26 +00:00
Robert Phillips
cc44feb654 Start using skgpu::v1 and skgpu::v2 namespaces
Bug: skia:11837
Change-Id: I042775dae34c99c20048d6d70aa6f06b2a6a268b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424117
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-06 18:28:54 +00:00
Brian Salomon
943108b0b2 Don't key progams/pipelines on origin.
SkSL language features that are origin sensitive now use a uniform
to conditionally flip their result rather than generating different
code.

Previously we would insert a "rt height" uniform if sk_FragCoord needed
to be flipped. sk_FragCoord,y was implemented as "realFragCoord.y" or
"rtHeight - realFragCoord.y" depending on SkSL::ProgramSettings::fFlipY.

Now we instead use a two component vector rtFlip and sk_FragCoord.y is
always "rtFlip.x + rtFlip.y*realFragCoord.y". We configure rtFlip as
either (0, 1) or (rtHeight, -1). sk_Clockwise and dFdy simiarly use
rtFlip.y to emit code that always works with either origin.

Bug: skia:12037

Change-Id: I7a09d0caac60a58d72b76645ff31bcabde4086b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414796
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-06 18:08:06 +00:00
Mike Reed
3037d9f322 Make setBlender the real name
Change-Id: Ifd590a3653760c5d3967c0b1bcf00d0be1a7658f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424396
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-07-06 16:08:14 +00:00
Tao Wu
ad77b4db8d Disable draw instanced support on virgl.
Bug: b/188410972
Change-Id: Ic2f6daf4b919efa76c8136345e763bfa17bb1050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420716
Auto-Submit: Tao Wu <lepton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-06 15:13:55 +00:00
Mike Reed
a8ac441411 Move Mode() factory into SkBlender
This frees the SkBlenders names for optional effects, and better
reflects the fact that the "core" relies on this Mode() factory.

... and makes this clearer:
https://skia-review.googlesource.com/c/skia/+/424417

Maybe this isn't important. I see SkShaders is in core header, but
SkImageFilters is in effects, so I guess we don't have a consistent
notion for this naming yet. What I do think is semi-important is
that core headers include effects that core uses, so in this case
a Mode() factory does make sense to be in a core header, just have to
decide/bikeshed how to scope it.

Change-Id: I94da47cfaa6c1ea22894bf66a48604d3722b4062
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424416
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-06 13:39:05 +00:00