Commit Graph

46130 Commits

Author SHA1 Message Date
Ethan Nicholas
2cde3a1320 Complete rewrite of the SkSL interpreter
Change-Id: Idf4037b04c22f8ace5c1ef16c7a28d8c3df92e91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250817
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-21 14:49:59 +00:00
Florin Malita
a6a794533b Cleanup remainig SkMSCalar literals
(post https://skia-review.googlesource.com/c/skia/+/265298)

Change-Id: I7171d737b4501c9ab0c8b925ceddd689dd2a5fce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265398
Auto-Submit: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-01-21 14:41:09 +00:00
Florin Malita
447a4e0982 [skottie] Ensure malformed scalar properties are initialized
In the newly introduced LegacyAnimatorAdapter, failure to parse may
leave the value default-constructed.  This is problematic for scalar
values (floats).

Catch this condition and initialize explicitly.

Bug: ossfuzz:20198, ossfuzz:20194
Change-Id: I86b8030da615d8cb1e1fe8d84873c8bc5cb222f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265397
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-21 14:11:38 +00:00
Nathaniel Nifong
ce5ad452f6 Don't apply android device clip restriction, only show the viz of it.
Bug: skia:9758
Change-Id: I4bd45075791a0c33096901cd94555b2898c7b6fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265142
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-01-21 14:03:39 +00:00
recipe-roller
e4c67024da Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/8effa4d0637c83d2e8cd5869c90ced50cdf3c099 git cl: warn when landing on chromium/src branch-heads. (tandrii@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2a10729ad1e94a396407cad16a8aa6de4151b3ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265418
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-01-21 13:59:59 +00:00
Mike Reed
215c34be2b SkMScalar is obsolete -- use SkScalar
Bug: skia:
Change-Id: I6a29039aa4dcc25cc804db4bdc685b8dc119f216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265298
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-21 12:47:48 +00:00
skia-autoroll
e07936314c Roll third_party/externals/angle2 579c59400f86..845a09b8241e (4 commits)
579c59400f..845a09b824

git log 579c59400f86..845a09b8241e --date=short --first-parent --format='%ad %ae %s'
2020-01-20 ianelliott@google.com Vulkan: glDeleteTexture unbind all image texture units
2020-01-20 jmadill@chromium.org Allow tests to pick ANGLE features.
2020-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src b6ac1e60cd3a..ca9b61a4455f (1 commits)
2020-01-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 2cb1db08e5f1..11cb891a01a2 (4 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@845a09b8241e

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 benjaminwagner@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: benjaminwagner@google.com
Change-Id: Ic84f526d08de5d5997b31a600095a8062ba1e949
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265365
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-21 04:42:28 +00:00
skia-autoroll
992e227af7 Roll ../src 6c56a01aa1bb..4c7513580a6e (270 commits)
6c56a01aa1..4c7513580a


Created with:
  gclient setdep -r ../src@4c7513580a

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 benjaminwagner@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/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
Bug: None
Tbr: benjaminwagner@google.com
Change-Id: I7a0b3ce287aaec1ba8a60c53d2181b2bc6a953e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265364
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-21 04:35:38 +00:00
Brian Salomon
71b8b765a2 Remove proxy offset param to SkGpuBlurUtils::GaussianBlur.
Do offsetting to rects in SkBlurImageFilter. All others were already
passing {0,0}.

Change-Id: I834eab11722c528e157cf071e433c8d014c6a3da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265297
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-01-21 02:24:38 +00:00
Mike Reed
9f22f1ff31 use transpose of inverse for transforming normals
Change-Id: I16d5167dcaed215a8009225765cd53c3620790dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265338
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-21 01:49:58 +00:00
Brian Salomon
ef05567733 Don't pass final W/H to convolve_gaussian() in SkGpuBlurUtils.
It is used for clipping. The clip doesn't seem to affect
correctness. I don't think it matters for performance. I ran
through all GMs, skps, svgs in gl and ddl2-gl configs with
breakpoints set if the clip ever did not contain the drawn
rect. No hits. If I missed something could we just shrink the
rects we draw rather than use a scissor clip?

The values seemed wrong (too big) in the decimate/reexpand case.
Shouldn't they have been scaled?

Change-Id: Icc22eb27d133fc436d891dab70483be5f71df894
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265217
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-01-20 15:04:27 +00:00
skia-autoroll
3322aafc36 Roll third_party/externals/angle2 41f6150edb16..579c59400f86 (12 commits)
41f6150edb..579c59400f

git log 41f6150edb16..579c59400f86 --date=short --first-parent --format='%ad %ae %s'
2020-01-18 jmadill@chromium.org Vulkan: Rename onGraphAccess to onResourceAccess.
2020-01-17 jmadill@chromium.org Vulkan: Clean up naming of ResourceUse checks.
2020-01-17 syoussefi@chromium.org Remove suppression of passing test
2020-01-17 ianelliott@google.com Sort GLES 3.1 expectations to show conformance blockers
2020-01-17 syoussefi@chromium.org Vulkan: Avoid INT_MAX resource limits
2020-01-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 5fc197dc7669..2cb1db08e5f1 (2 commits)
2020-01-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src ab883b9d257e..41a96d15fd99 (5 commits)
2020-01-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 4792a6854238..b6ac1e60cd3a (3 commits)
2020-01-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 3ed344dd784e..b0ada80356ca (1 commits)
2020-01-17 syoussefi@chromium.org Vulkan: Narrow KHR-GLES31 image failures
2020-01-17 sugoi@google.com GL_EXT_read_format_bgra support
2020-01-17 sugoi@google.com GL_EXT_float_blend support

Created with:
  gclient setdep -r third_party/externals/angle2@579c59400f86

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 benjaminwagner@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: benjaminwagner@google.com
Change-Id: I05c310b00a20c9e3e9380f571fbefc2468b18722
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265318
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-20 04:40:37 +00:00
skia-autoroll
7065185f0c Roll third_party/externals/swiftshader 2cb1db08e5f1..11cb891a01a2 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2cb1db08e5f1..11cb891a01a2

git log 2cb1db08e5f1..11cb891a01a2 --date=short --first-parent --format='%ad %ae %s'
2020-01-18 capn@google.com Rename multiSampledBresenham to enableMultiSampling
2020-01-18 capn@google.com Take advantage of return value optimization
2020-01-17 capn@google.com Enable filtering of YCbCr formats
2020-01-17 capn@google.com Rename createBlend4 to createShuffle4

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

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 benjaminwagner@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: benjaminwagner@google.com
Change-Id: I7b8195500637b1b942a8d06e97f3fed1b778eb00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265317
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-20 04:40:17 +00:00
skia-autoroll
e79897c423 Roll ../src 870bcafd9826..6c56a01aa1bb (544 commits)
870bcafd98..6c56a01aa1


Created with:
  gclient setdep -r ../src@6c56a01aa1

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 benjaminwagner@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/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
Bug: None
Tbr: benjaminwagner@google.com
Change-Id: I0b8808248418c721bf4f714e70b381dcb586e6cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265316
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-20 04:33:17 +00:00
skia-recreate-skps
e8fc3ffdad Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I11cc80b8cf90b92b338f0f1677d5d4ec2babb054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265268
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-01-19 08:15:00 +00:00
Mike Reed
f0b7edf6cd hack up bump-map
Change-Id: Ib1e92359f0decd60bdcb628a5b11be1c597b4f82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265219
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 19:53:49 +00:00
Mike Reed
5344cc31ff clean up: remove artificial mouse loc rejects
Now that "point" is local (viewer may have modified it for zooming or panning),
it no longer makes sense to check for out-of-bounds.

Change-Id: I8881f8b27be96973cb7687b25d93a0de5a22f5db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265218
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 17:45:29 +00:00
Mike Reed
ee3216d8f8 Use SkSL to do point-light shading
- misc fixes to utilities
- hit-testing for 3D scenes (simple version)

Had to manually inform the shader of the local-to-world matrix.
Should try making that automatic in the future.

Note: due to bug in interpreter, point-light sample can't run in raster
(yet).

Change-Id: I7a30b7676ea6cd7eb264373dd2507133c901d85e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264999
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-18 03:16:18 +00:00
Brian Salomon
3e2c99b96c Make decimating and non-decimating cases in SkGpuBlurUtils call into
common function.

I still don't fully understand all rects and offsets and think this must
be over specified. Maybe this makes it easier to make future
simplifications? It at least strips the scale factors out of the code
that got lifted into a function.

Change-Id: I603e62b55ac9096534c36aa71959ba755087b27f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265137
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-01-18 01:26:54 +00:00
Greg Daniel
507736fc3a Check swizzles when building up texture sets to draw.
Bug: chromium:1042693
Change-Id: Iccd321d07d4d7ac42ebf84812936e500cebd4e22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265143
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-01-17 21:26:43 +00:00
Robert Phillips
07f0e41dde Test readPixels on compressed textures
Bug: skia:9680
Change-Id: Ic31ec99b349a1b6585d06f36186b7e9d1d46048c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265096
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-17 20:49:03 +00:00
Nathaniel Nifong
4e0a6a96ea Fix compilation settings for wasm debugger
Change-Id: I08bbe9d0736be9b54cccdeee4896f0e2ab134302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265140
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-17 20:44:13 +00:00
recipe-roller
bd5ee54363 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/05b001c28df8e2811c24656e7ad260d7232afb9d Roll bb tool to @ 9b687fbe (tandrii@google.com)
  https://crrev.com/a5799e3bb4f7c0e30fe133c317c80a83ede6a947 presubmit_support: Use single quotes and convert to ArgumentParser. (ehmaldonado@google.com)
  https://crrev.com/98cfac11bd02507564d03ff5c3d328c97ab9abdf scm: Add GetAllFiles method. (ehmaldonado@google.com)
  https://crrev.com/b24ca5ac742e6c65e949b2f7f83a2d9b95cff3e9 presubmit_support: Initialize Gerrit object when gerrit URL is given. (ehmaldonado@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I348aeff36cf6ae3b01da35c929ae21905a07d04f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265139
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2020-01-17 20:00:43 +00:00
Mike Reed
e1b7afc8f3 add guard to move to explicit matrix conversions
Change-Id: I59878a5e4d45833c2543d6f47f46ed896c5a1681
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264997
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-17 16:57:42 +00:00
Florin Malita
e905233c8d [skottie] Cleanup: convert more effects to new animator pattern
TBR=
Change-Id: I9b538853766f31854bba4752cb0f7c20d61c148b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265076
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-17 16:52:13 +00:00
Brian Salomon
f631cf3d16 Reland "Make SkGpuBlurUtils take SkTileMode""
slight simplification: pass nullptr to convolve_gaussian_1d for "unbounded"
filter.

Change-Id: I42038fb8b5d24557b668235553edcb1ed3e48df8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264859
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-17 16:18:32 +00:00
Brian Osman
91b74f0bb9 Switch coord transforms in gradient layouts to 3x3 (SkMatrix)
These were using 4x4 (SkMatrix44), but only temporarily, and it failed
with an upcoming change that makes SkMatrix44 -> SkMatrix explicit.

Change-Id: I8aa9adb209f10d2c04ca009d6d5f7fdafc264ae9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264998
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-17 15:38:32 +00:00
Robert Phillips
93e3c76a65 Vulkan texture upload clean up
A prior CL unnecessarily duplicated some code.

Bug: skia:9680
Change-Id: Ibd2e41e136d2c15530587c94519e718a7158739d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264643
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-01-17 14:38:32 +00:00
Kevin Lubick
486aecf130 [canvaskit] Make font names programmatically accessible
Change-Id: I384e4f37fa274665438b523f0636bfc1856ec0ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264574
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-01-17 14:18:09 +00:00
Sergey Ulanov
c38c00a9b0 Fix protected image allocation in createVkImageForBackendSurface()
GrVkGpu::createVkImageForBackendSurface() was trying to allocate
protected CPU-accessible buffer. That operation fails because
protected memory is not CPU-accessible. That buffer is used to
initialize image content with vkCmdCopyBufferToImage().
vkCmdCopyBufferToImage() allows source buffer to be non-protected
even when commandBuffer is protected. Updated buffer allocating
logic to always use non-protected buffer.

Bug: b/147809344
Change-Id: Id6b89ceb5391c57eb3076884a0d144dec9c43540
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264937
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Sergey Ulanov <sergeyu@chromium.org>
2020-01-17 14:10:33 +00:00
skia-autoroll
08842e9ec4 Roll ../src 98818e570034..870bcafd9826 (445 commits)
98818e5700..870bcafd98


Created with:
  gclient setdep -r ../src@870bcafd98

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/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
Bug: None
Tbr: mtklein@google.com
Change-Id: I5d0d94b667e525e3aa18ef399fc7ff98fa438344
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264962
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:58:08 +00:00
skia-autoroll
0a2bc21b91 Roll third_party/externals/swiftshader 5fc197dc7669..2cb1db08e5f1 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5fc197dc7669..2cb1db08e5f1

git log 5fc197dc7669..2cb1db08e5f1 --date=short --first-parent --format='%ad %ae %s'
2020-01-17 bclayton@google.com SpirvShaderDebugger: Implement OpenCL.Debug.100
2020-01-16 capn@google.com Remove the GL_NV_read_depth_stencil extension

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: mtklein@google.com
Change-Id: I4a6015685d623eb8f8ec502919b8ef4760abcf3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264963
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:58:07 +00:00
skia-autoroll
9b1ec5f072 Roll third_party/externals/angle2 a7b91502cd7f..41f6150edb16 (20 commits)
a7b91502cd..41f6150edb

git log a7b91502cd7f..41f6150edb16 --date=short --first-parent --format='%ad %ae %s'
2020-01-17 sugoi@google.com Stubs for new required extensions
2020-01-16 sugoi@google.com Add blendable checks to GL_EXT_color_buffer_float
2020-01-16 rafael.cintron@microsoft.com Fix FL10_0 multisampling
2020-01-16 jonahr@google.com Suppress UniformsBenchmark perftest on Win/NVIDIA/Vulkan
2020-01-16 m.maiya@samsung.com EGL: Add support for EGL_EXT_pixel_format_float extension
2020-01-16 sugoi@google.com Blendable check
2020-01-16 jmadill@chromium.org Vulkan: Make ContextVk own ResourceUseList.
2020-01-16 jdarpinian@chromium.org Require DEBUG_TRACE to enable expensive state validation
2020-01-16 jdarpinian@chromium.org Remove literal tab characters from generate_parser_tools.py
2020-01-16 jmadill@chromium.org Vulkan: Add ResourceUseList helper.
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 2c436960d2c0..4792a6854238 (3 commits)
2020-01-16 sugoi@google.com Support blendable capability
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src f63dd5c9d874..881bbb347a08 (1 commits)
2020-01-16 jonahr@google.com Expose GL_ANGLE_framebuffer_blit in NULL backend
2020-01-16 m.maiya@samsung.com Vulkan: Use dynamic buffers for staged updates
2020-01-16 cwallez@chromium.org DisplayGLX::isValidNativeWindow, avoid X11 exiting the program
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src d203754bc116..3ed344dd784e (3 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 834baaf8b227..ab883b9d257e (5 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 8013d477aeac..323a81fc5e30 (3 commits)
2020-01-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 488d35ac0b1c..5fc197dc7669 (13 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@41f6150edb16

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: mtklein@google.com
Change-Id: I50a1d94014e49aca28409348d3965a271b45824e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264964
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-17 13:53:04 +00:00
Florin Malita
7c7cd30550 [skottie] Add custom props rendering GM
Also fix a couple of custom props issues:

  - solid layer colors were not dispatched
  - text values were not sync'ed

TBR=
Change-Id: I827f8c1d8c8bb73b03f05de15e1c7c96753a631e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264936
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-01-17 13:53:02 +00:00
Mike Reed
d58b643f10 undo SkMatrix() cast -- must be done by sksl machine
Change-Id: Iec6ac37117470237873ad02b6dd471a4bd216d97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264861
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-01-16 23:08:01 +00:00
Greg Daniel
9a48bebe6a Remove GrPixelConfig from validateSurfaceParams
This wasn't even used...

Bug: skia:6718
Change-Id: I6543fd11b1f0d9136088fda8c6962aebc16ae5cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264858
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 23:02:32 +00:00
Greg Daniel
3155f7fc0d Pass in a GrColorType into our Copy call.
This allows us to remove looking at the config to infer a color type when
setting up a Surface/RenderTargetContext for the copy.

Bug: skia:6718
Change-Id: I75b63480a84558c96b5eeb248cc6165f96b2a243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264563
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 22:55:32 +00:00
Mike Klein
e3193ad4e1 little debug/profiling tool cleanups
- Can convert raw code to dylib in place.
- Can track one fewer pointer for JIT code: no need
  for both in-memory and dylib JITs at the same time.
- Remove disused fOriginalProgram.
- Split Program::eval/interpret to make profiles clearer.

Change-Id: I66d64a68016f1d1d7d19d5002927e9e277970612
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264816
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-01-16 22:54:11 +00:00
Ben Wagner
56a48bb1aa Avoid BOT/EOT setting in HarfBuzz.
Unlike many users of HarfBuzz, the Skia shaper sets HB_BUFFER_FLAG_BOT
and HB_BUFFER_FLAG_EOT flags to inform HarfBuzz that the full context
contains the beginning and end of the paragraph so that it can treat the
beginning and end of the context specially. In reality, the EOT flag
currently does nothing and the BOT flag only has the effect of adding a
dotted circle (if the font provides it) if the first codepoint in the text
and context is a unicode mark. This behavior is generally unwanted, so
just remove it with a note to revisit this decision should HarfBuzz ever
change the effect of these flags.

Bug: skia:9618
Change-Id: I6cdf86ff3499e1321b1212d63192a4a9c5847e39
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264686
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-01-16 22:48:16 +00:00
Florin Malita
d5c42c8c03 [skottie] Refactor property animators
Currently, property animators use lambda captures (std::function<>) to push
values to adapters and then to the scene graph.  Some downsides:

  * complex lambda captures are expensive in terms of object code size
  * adapters with multiple animated properties don't synchronize/quiesce: each individual property tick triggers a SG
    synchronization, possibly with inconsistent state (as animator running
    order is unspecified)
  * there is no enforced scoping, resulting in fragile constructs when SG
    fragments are discarded

This CL introduces a simplified and more robust animator pattern:

  * property animators are scoped to explicit containers
  * instead of capturing arbitrary value functors, animators only capture
    a pointer to the target value

Some implementation details:

  * keyframe/interpolation logic is pretty much unchanged (just relocated)
  * introduced AnimatablePropertyContainer - a base class for animatable
    adapters
  * legacy binding functions are refactored based on the new mechanism
    (they now/transitionally inject adapter objects)
  * converted a handful of effects, to exercise trivial refactoring patterns
  * converted the text animator goo, to exercise non-trivial refactoring:
    - detecting value changes is now trickier (no more lambda magic)
    - value adjustments must be hoisted into adapter logic (no more lambda magic)
    - all dependent animated values (selectors, etc) must be scoped to the
      text adapter to avoid lifetime issues

TBR=
Change-Id: Ia5821982f251de0de58fd3f87812219ff7fcc726
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263938
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2020-01-16 22:43:12 +00:00
Herb Derby
a8fa49016c Isolate updating grTextStrike
I'm isolating this code into a single routine, so I can change it
over to using a bulk API from the strike. The goal is to remove
all uses of bulk metrics and images.

Change-Id: I8c1c9a4e619962c8e35084c026a4c4553fbeb577
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264837
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-01-16 22:43:11 +00:00
Chris Dalton
84c8787702 Add a --scale flag to skpbench
Change-Id: Idd7698b59e09bdcc688ae3601d9ec343c37592d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264881
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-01-16 22:29:31 +00:00
Mike Reed
d4d3b33624 Make converting from 4x4 to 3x3 explicit
Change-Id: I4d190d6831cb517d5e9f22b3f872013367bddc08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264856
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-01-16 22:15:30 +00:00
Brian Salomon
fba4a15b14 Disallow GrTextureDomain::kIgnore_Mode in SkGpuBlurUtils::GaussianBlur.
Use clamp and require a src rect instead.

Precursor to changing over to SkTileMode.

Possible perf regressions until we can incorporate domain optimizations
into effect factories rather than callers.

Make GrRRectBlurRectEffect use approx textures for its input mask
texture.

Change-Id: Id553016133c2fd522b7fa1e9759f176d354aa250
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264838
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-16 21:50:37 +00:00
Jim Van Verth
3b9c544bf8 Reland "Reland "Add new method for storing DrawOpAtlas texture index.""
This is a reland of dea2f34f09

Original change's description:
> Reland "Add new method for storing DrawOpAtlas texture index."
> 
> This is a reland of c8b2e61540
> 
> Original change's description:
> > Add new method for storing DrawOpAtlas texture index.
> > 
> > Storing the texture index in the lower bit of each texture coordinate
> > seems to have issues on certain iOS devices. Rather than do that, we
> > use the sign of the texture coordinate to act as our storage bit.
> > To manage encoding 0 we map [0, N] to [-1, -N-1] to represent a bit.
> > 
> > Change-Id: Ic588ee92cf858915a1833cf482d4b23bd11c1000
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263561
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> Change-Id: I901502c3d83ff9727c51ad4447b0cee733257649
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264566
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

Change-Id: I000bb74ca57e321084ca2d1d9dc2f0274880c0da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264689
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-01-16 21:50:36 +00:00
Robert Phillips
b0855273ab Add SkImage::CompressionType::kBC1_RGBA8_UNORM support
This is mainly so we can test the compression code on macOS.

Bug: skia:9680
Change-Id: Ie0a2eacfe9100ee4ce4cc94c878d3032d6985832
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264480
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-01-16 21:45:33 +00:00
Chris Dalton
b53bdf16aa Fix single-pass tessellator wedges
Change-Id: I5d7f4e2c0c3884e84633695967e6c4ed7c480d80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264819
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-01-16 21:45:32 +00:00
Michael Ludwig
1321a3d1e2 Re-enable QCOM_tiled_rendering, but check for gl functions
This enables tiled rendering when the extension is
reported AND the "optional" start and end tiling
gl functions were found.

Hopefully this will correct the hard crashes on the
Pixel 2XL waterfall bots, while still properly disabling
tiled rendering for the devices found in the Flutter bugs:

Bug: flutter:47164, flutter:47804
Change-Id: Ia96a89053305378d434304b7b4fbc0f5e49cd97e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264695
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-01-16 21:36:16 +00:00
Mike Klein
b147aceed7 DCI-P3 -> Display P3 in Skia
This keeps an alias so code keeps building.

Bug: skia:9792
Change-Id: If8575468d929d2ca28bc2f9e82de27291fb19aa1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264691
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-16 21:24:16 +00:00
Herb Derby
7b186101c3 Make glyph paths calculation positions from original data
The CTM of the path did not include the translate for the
origin. Directly transform outlines from original position instead of positions
relative to the initialOrigin. This allows the CTM to have the drawOrigin
translation, and the glyphMatrix to have the glyph origin translation.

Change-Id: I5b1595b2a8358f054f4cacd3e48fac78712c6980
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/264681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-01-16 20:36:57 +00:00