Commit Graph

46688 Commits

Author SHA1 Message Date
Yi Xu
55bca410f9 Update SkSurface::ReplaceBackendTexture to take ContentChangeMode
In SkSurface::ReplaceBackendTexture, it used to always retain a copy
of the the current content. The ContentChangeMode is added as a
parameter to allow the callers to decide whether retain or discard the
current content.

Bug: 1014246

Change-Id: I8736e7795b4755bbde94009ffe4d943c75112b98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271016
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2020-02-18 15:15:06 +00:00
Robert Phillips
c1bb9cba16 Revert "Manage renderCmdEncoder over lifetime of GrMtlOpsRenderPass."
This reverts commit 53a72c1b50.

Reason for revert: Mac 10.13 bot is red

Original change's description:
> Manage renderCmdEncoder over lifetime of GrMtlOpsRenderPass.
> 
> Rather than create a renderCmdEncoder per draw, we create it up front
> and each draw just uses it. On a clear or upload we switch away and
> then recreate it.
> 
> Bug: skia:
> Change-Id: Ic6d612119ed3f7c41183d0186083deae14f96398
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270841
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: Ibc2697c127ec3e309ed4bb5fe84982f6047e5915
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271496
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-18 14:44:45 +00:00
Ben Wagner
78b471760d [infra] fix recipe bug
We shouldn't modify self.m.vars.extra_tokens in the docker flavor.

I noticed this when doing some debugging. It doesn't seem to be causing
any problems currently.

Change-Id: I2239787f8aec8a25a6a26418c633e68840f74e04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271058
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-02-18 12:22:05 +00:00
skia-autoroll
4af17e434c Roll third_party/externals/swiftshader 481daed34f15..0bbf7ba9f909 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/481daed34f15..0bbf7ba9f909

git log 481daed34f15..0bbf7ba9f909 --date=short --first-parent --format='%ad %ae %s'
2020-02-17 amaiorano@google.com Cache callstack results to avoid expensive lookup
2020-02-17 amaiorano@google.com Subzero: add REACTOR_EMIT_PRINT_LOCATION support
2020-02-17 bclayton@google.com third_party: Add shell script that updates marl.
2020-02-17 amaiorano@google.com Implement rr::Print support for Subzero
2020-02-17 amaiorano@google.com Subzero: fix another load from constant data

Created with:
  gclient setdep -r third_party/externals/swiftshader@0bbf7ba9f909

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 lovisolo@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: lovisolo@google.com
Change-Id: I23715da549973117e42687f98435b14d1e7a12fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271437
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-18 07:15:02 +00:00
skia-autoroll
4bdd08e3ef Roll third_party/externals/angle2 2dd40d7fa75c..c8676d4ba37d (10 commits)
2dd40d7fa7..c8676d4ba3

git log 2dd40d7fa75c..c8676d4ba37d --date=short --first-parent --format='%ad %ae %s'
2020-02-18 xinghua.cao@intel.com Unlimit texture size on relatively new linux
2020-02-18 jmadill@chromium.org Revert "Use newer OSX SDK for iOS"
2020-02-17 jmadill@chromium.org Use newer OSX SDK for iOS
2020-02-17 lehoangq@gmail.com Metal: Fixed memory leak due to the CAMetalLayer still attached to super layer
2020-02-17 khushalsagar@chromium.org Only enable robust client memory if the context supports validation.
2020-02-17 cwallez@chromium.org Revert "Provide default implementation of rx::DisplayEGL"
2020-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 6c218ec60b5f..77fefe765c06 (1 commits)
2020-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 73d377fae66e..211ee9c4eec1 (3 commits)
2020-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 726435870206..9bd3f561bcee (1 commits)
2020-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f9f999f5a2eb..481daed34f15 (2 commits)

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

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 lovisolo@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: lovisolo@google.com
Change-Id: I90479aa67b385fcd51c907b43d626e205d380b7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271436
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-18 06:13:12 +00:00
skia-autoroll
9dbb98007b Roll ../src 5d89b446d290..0f78b5868284 (234 commits)
5d89b446d2..0f78b58682


Created with:
  gclient setdep -r ../src@0f78b58682

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 lovisolo@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: lovisolo@google.com
Change-Id: I3c955691c3f5e7bc1b7d4848841603180c01d3c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271438
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-18 04:37:42 +00:00
Mike Reed
4d1700125c move SkDeque.h into private
Perhaps just make this SkTStack...

Change-Id: Iefdbb1e33acec96aec5f885e3e16ac2d97fd5f73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271320
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-18 02:05:08 +00:00
Michael Ludwig
3c4f3c178a Fix more clang-tidy
Change-Id: Id0b158064f31f68f23c5ef660948170a8b51884c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271317
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-02-17 19:52:47 +00:00
Mike Reed
706f6b4069 test data.equals with empty
Change-Id: Ib79fb2ba099a0d094ab16b1d7307c03e64b1fd1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271240
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-17 17:53:49 +00:00
skia-autoroll
c65cd5c8db Roll third_party/externals/swiftshader f9f999f5a2eb..481daed34f15 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f9f999f5a2eb..481daed34f15

git log f9f999f5a2eb..481daed34f15 --date=short --first-parent --format='%ad %ae %s'
2020-02-15 swiftshader.regress@gmail.com Regres: Update test lists @ 348f07b4
2020-02-14 amaiorano@google.com Fix unit test when ENABLE_RR_EMIT_PRINT_LOCATION is defined

Created with:
  gclient setdep -r third_party/externals/swiftshader@481daed34f15

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 lovisolo@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: lovisolo@google.com
Change-Id: I3a0b2e37eba5f6d95d5ef70df38fb810ebd975d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271258
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-17 05:11:37 +00:00
skia-autoroll
5d996bbacf Roll third_party/externals/angle2 d5861a68d9f7..2dd40d7fa75c (9 commits)
d5861a68d9..2dd40d7fa7

git log d5861a68d9f7..2dd40d7fa75c --date=short --first-parent --format='%ad %ae %s'
2020-02-15 jmadill@chromium.org Vulkan: Free pool allocation leak with graph disabled.
2020-02-15 jmadill@chromium.org Vulkan: Add more debug labels handling with graph off.
2020-02-15 jmadill@chromium.org Vulkan: Add debug utils functions to wrapper.
2020-02-14 ynovikov@chromium.org Use ASSERT() instead of assert() when possible.
2020-02-14 jmadill@chromium.org Return angle::Result from more label functions.
2020-02-14 aleino@nvidia.com Don't skip functional.layout_binding.ubo.vertex_binding_max on NV/D3D11
2020-02-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src db0a1553991d..fb2272297f00 (2 commits)
2020-02-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader ac4e1d236088..f9f999f5a2eb (6 commits)
2020-02-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 30794ac2f91b..73d377fae66e (2 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@2dd40d7fa75c

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 lovisolo@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: lovisolo@google.com
Change-Id: I79c78c7494d63cc50d536fca87b6d2bf0de2ef40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271257
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-17 05:11:07 +00:00
skia-autoroll
660a73ada0 Roll ../src 57a7afeb42f5..5d89b446d290 (452 commits)
57a7afeb42..5d89b446d2


Created with:
  gclient setdep -r ../src@5d89b446d2

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 lovisolo@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: lovisolo@google.com
Change-Id: I54ebc35b977702f06a91fed5ff5bbf9ded1c9450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271259
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-17 04:50:37 +00:00
Mike Reed
bfe80bb552 expand gm to test GPU and CPU
Change-Id: I7d1c80f1b7dadc8535736385aa3adb935fa24293
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271237
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-16 20:00:45 +00:00
skia-recreate-skps
8935981317 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I25a6847e397f8b20085324781c55bb86acc31665
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271206
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-02-16 12:40:49 +00:00
skia-recreate-skps
a27ca55665 Update Go Deps
Change-Id: I4eab5f2ed4d1b143608baf3c204b7b2d84993f5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271198
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-02-16 05:23:49 +00:00
Mike Reed
2c5ee18724 remove legacy factory for overdrawcolorfilter
Change-Id: I19453c51bf275050d6426b82a1ad717348a3ea56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271136
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-15 16:53:39 +00:00
Herb Derby
81e84a6e7f Make SkStrikeCache::Node be SkStrike.
SkStrike becomes SkScalerCache. It will eventually externalize
the memory accounting to SkStrikeCache::Node because the amount of
memory used by the scaler cache, and the overall strike cache memory
usage must be kept in sync.

Change-Id: Ia889f057d8138ec7f22f996e7ebb9d2441dea4ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271018
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-15 16:37:58 +00:00
Mike Reed
3eaed8d009 fix clang-tidy warnings
unused declaration
passing std::move() to const&

These are triggering warnings in google3

Change-Id: I12cebd0a8fd218e7755718fed7acec7908d386a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271138
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-15 16:32:46 +00:00
skia-recreate-skps
b7ceaa8efd Update Go Deps
Change-Id: I0e65131e695ab177ef3f12cd1af0f8bd0585900b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271089
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-02-15 07:15:36 +00:00
Ian Prest
05676f7bc2 Reland: Ensure arcTo (SVG) ends at the targeted point
Floating-point errors in the calculations in arcTo can cause the final
point to differ significantly enough from the supplied target point that
a subsequent 'close' operation inserts a lineTo to close the curve. This
can result in bad miters on curves with thick outlines.

The fix is to ensure that the final point used is *exactly* the point
that was supplied.

The fix is now staged behind a flag so that we can fix Chromium test
failures before turning it on.

Bug: chromium:1001768
Change-Id: I82d872f2ae39b5486f7d810a61ba00eeda1b3a62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270503
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-02-14 23:17:35 +00:00
recipe-roller
4b40cf2999 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:
  https://crrev.com/86fbe04c663317bf6c07a36ff56c61ffb1605e4b (yiwzhang@google.com)
    Roll bb tool to @ 1ab4441
  https://crrev.com/c4243361bbb66cf940da202ff55fcdd625ae60b1 (maruel@google.com)
    [lucicfg] Update in depot_tools to 1.12.2
  https://crrev.com/851532894fe976bfe62e6c3ba15de4904c6f3121 (ehmaldonado@google.com)
    git-cl: Use scm.GIT.{Get,Set}BranchConfig and {Get,Set}BranchRef instead of git calls.

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

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5db643dcab84d037b919a26b78b1b2ebef36b16f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271061
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-02-14 22:45:35 +00:00
Khushal
b11ce19fc2 images: Fix fuzzer crash for creating raster SkImage with invalid data.
TBR=mtklein@google.com

Bug:1050445
Change-Id: Iddcb3f63276b9175cfbef3e9631f0df37b7717eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/269910
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Commit-Queue: Khushal Sagar <khushalsagar@chromium.org>
Auto-Submit: Khushal Sagar <khushalsagar@chromium.org>
2020-02-14 22:35:35 +00:00
Mike Reed
ee655f8a94 Defensively reset aa[] value when we call a blitter repeatedly
The blitAntiH() entry point for blitters takes (sparse) arrays for
coverage (aa) and run lengths (runs). These are marked as "const", but
some blitter "helpers" like SkRgnClipBlitter modify their contents
in-place (to efficiently handle subsets of the runs).

This is normally fine, but if the caller is repeatedly using the same
buffers (as we do in call_hline_blitter, which has a finite sized
tmp buffer), we need to defensively reset the starter values each time
through the local loop.

Bug: skia:9915
Change-Id: I0e701b74da2a57a3f5ddc0ae4b44550f8f75ad95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271036
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-14 22:08:49 +00:00
Herb Derby
b444ec4d1f Remove unneeded test, and support code
The SkRemoteGlyphCache_ReWriteGlyph checked that glyphs of
desparation were not overwritten by glyphs coming from the
Renderer. Since the search of desparation is no longer, this
test is not needed.

In addition:
* Remove unused call prepareForDrawingPathsCPU.
* Cleanup some comments

Change-Id: I1fbc3f84363c9093f5301985e8052f49bbb9356e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270996
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-02-14 19:36:49 +00:00
Robert Phillips
923181b6e3 Improve DDLPromiseImageHelper
Split apart creation of the callback contexts and the backend textures
   This allows the texture upload to be done separately on the
   gpu-thread

Add a backendFormat member to the promise image callback context
   This allows the promise images to be created in CreatePromiseImages
   before the backend textures have been created (i.e., the backend
   textures can now be created on the gpu-thread so we have no
   guarantee they will be available when the SKP is being reinflated
   w/ promise images)

Change-Id: I1e21385e450a5ef27dd6950d9d6aee737aa7515d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270939
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-14 19:17:10 +00:00
Jim Van Verth
53a72c1b50 Manage renderCmdEncoder over lifetime of GrMtlOpsRenderPass.
Rather than create a renderCmdEncoder per draw, we create it up front
and each draw just uses it. On a clear or upload we switch away and
then recreate it.

Bug: skia:
Change-Id: Ic6d612119ed3f7c41183d0186083deae14f96398
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270841
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-02-14 19:11:30 +00:00
Brian Salomon
922496fb3c Fix typo in GrTextureEffect::onIsEqual
Comparing y shader mode with x shader mode.

Change-Id: I022948596de966ae2d6179f7762e95300301757c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270942
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-14 18:55:33 +00:00
Robert Phillips
a865a3aedb Improve DDLTileHelper
TileData now gets a pointer to the final surface
   This allows the tile to, once rendered, compose itself into
   the final surface

DDLTileHelper now stores the TileData in a dumb array
   SkTArray is overkill and, since TileData*s are being doled
   out to threads, we never want reallocation

Added DDLTileHelper::kickOffThreadedWork
   The old code only performed DDL creation in parallel. This
   entry point also replays the DDLs and composes them into the
   final surface in parallel

Change-Id: I66e02ef7f8291b4d402e22bee0ad3546e930609e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270796
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-14 18:48:50 +00:00
Mike Reed
528998dfd5 Fix impl for OverdrawColorFilter to not rely on details of pmcolor,
esp. during serialization. We now store/serialize SkColor, which is
stable.

Change-Id: Ib453920a9a06647f44b33c9ae8af33936d6ead33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270997
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-14 18:38:18 +00:00
Brian Salomon
b3779f53f5 Remove GrTextureEffect::MakeTexelSubset.
Originally there was a distinction WRT half pixel insetting, but as I
learned more about what the call sites expected the distinction was
erased. Callers with a SkIRect can just convert to SkRect.

Change-Id: Ib1e117baffdb532ba09a668da7f851d02c2c5206
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270941
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-02-14 18:32:05 +00:00
Greg Daniel
3a36511f21 Remove origin from GrSurfaceProxy.
Bug: skia:9556
Change-Id: Ic95a3a6b11e1ff8a6f6b2f5c5aeb9037b72aae90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270840
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-14 16:52:58 +00:00
skia-autoroll
20228946c9 Roll third_party/externals/swiftshader ac4e1d236088..f9f999f5a2eb (6 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ac4e1d236088..f9f999f5a2eb

git log ac4e1d236088..f9f999f5a2eb --date=short --first-parent --format='%ad %ae %s'
2020-02-13 jonahr@google.com Implement HostMappedForeignMemory DeviceMemory
2020-02-13 bclayton@google.com Update Marl to a047dd0bb
2020-02-13 bclayton@google.com third_party/marl: Add mips64 support to BUILD.gn
2020-02-13 swiftshader.regress@gmail.com Regres: Update test lists @ ac4e1d23
2020-02-13 amaiorano@google.com Kokoro: build and run rr::Print unit tests
2020-02-13 amaiorano@google.com Fix rr::Print and add unit tests

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

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 stani@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: stani@google.com
Change-Id: Ibb24607d60d723135d283483abb23c427391d969
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270904
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-14 16:20:58 +00:00
Brian Salomon
64f4206fe9 Remove unique_ptr_address_as_pointer_address
std::unique_ptr is not always the same size as a pointer (shame! shame!).
AFAICT I added this terrible hack just to be able to make GrProcessorSet
store unique_ptrs of const GrFP rather than non-const FP, which is in no
way important.

Bug: skia:9908

Change-Id: I6e7eb0c0a7ad3473489e549909fa0b0a9eeec49b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270938
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-14 16:09:28 +00:00
Ben Wagner
06265e017f [presubmit] Use bin/gn rather than depot_tools gn
Change-Id: I649f07e036f184e6dbb3a335bdd979dedea27ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270876
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-02-14 15:51:38 +00:00
Ben Wagner
f88dabbb4d [infra] Move Swiftshader to MEDIUM GCE machines
Change-Id: I9d9c1ee0aacba8598869fb702436a7c6bf668323
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270838
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-02-14 15:48:30 +00:00
Robert Phillips
3c1efd4909 Carve some helper functions off of GPUSink (take 2)
I'm adding a new DDL Sink and would like to reuse this functionality.

TBR=egdaniel@google.com
Change-Id: I17ae929557400be4edd8df78ab6580872024bc15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270799
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-14 13:55:18 +00:00
Brian Salomon
f46f19b98c Add support for implementing ShaderMode::kRepeat with MIPs in GrTextureEffect.
Change-Id: I12ea00b35967f13e81410c584e34b62eea6c2ffe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270445
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-02-14 13:52:27 +00:00
skia-recreate-skps
ddad4c60ae Update Go Deps
Change-Id: I9e07b2ac6cb5e493bf725bcc612383a94f87d5b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270907
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-02-14 05:25:57 +00:00
skia-autoroll
9b65d44dcc Roll third_party/externals/angle2 74ab0bffb526..d5861a68d9f7 (9 commits)
74ab0bffb5..d5861a68d9

git log 74ab0bffb526..d5861a68d9f7 --date=short --first-parent --format='%ad %ae %s'
2020-02-13 ynovikov@chromium.org Fix ASAN errors in end2end tests.
2020-02-13 cnorthrop@google.com Vulkan: Update more bug numbers for ES 3.1
2020-02-13 cclao@google.com Vulkan: Fold glClear into draw call when command graph is disabled
2020-02-13 cnorthrop@google.com Capture/Replay: Track and restore mapped buffer data
2020-02-13 lexa.knyazev@gmail.com Vulkan: expose ANGLE_compressed_texture_etc
2020-02-13 julien.isorce@chromium.org Provide default implementation of rx::DisplayEGL
2020-02-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 45b9d01815d9..db0a1553991d (1 commits)
2020-02-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src d439b17da022..30794ac2f91b (12 commits)
2020-02-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 6cbb02e0dc93..ac4e1d236088 (2 commits)

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

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 stani@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: stani@google.com
Change-Id: Icb947ebb5b45da4dfd4a04a91681b61bb3f4dff3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270903
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-14 05:13:07 +00:00
skia-autoroll
7a175ef2c6 Roll ../src 07e508f15134..57a7afeb42f5 (388 commits)
07e508f151..57a7afeb42


Created with:
  gclient setdep -r ../src@57a7afeb42

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 stani@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: stani@google.com
Change-Id: I758cedf739baa7ee1d73fa76c7e6accba8e98cf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270905
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-14 05:03:27 +00:00
Brian Salomon
53c909e05f Support bilerp filtering for all ShaderModes in GrTextureEffect.
Support MIP map for all but kRepeat.

Update texel_subset_ GMs to exercise newly supported modes.

Also makes GrTextureEffect do shader wrap modes for rectangle/
external textures even when not subsetted.

Change-Id: Ie2d299106120b5c6cc40365e8f300cc426dd5489
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/268163
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-02-14 01:49:35 +00:00
Jarrett Phillips
f9734c39b8 Adding fmls instruction
Change-Id: Ia1752196fd50ade2c3160dc401a36618433420d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270822
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-13 22:55:53 +00:00
Bryce Thomas
475def0059 Update Skia build instructions in build.md
Adds a brief discussion of supported compiler versions, and how to pull
changes and rebuild.

Bug: NONE
Change-Id: Ibd26e623c1435953969f9e69b00612fdff601881
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270296
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-13 22:39:23 +00:00
Florin Malita
f3f225443b Undo suspect gn format
[1] formatted modules/skottie/BUILD.gn, as prompted by git cl upload,
but that doesn't sit well with a bot [2].

Let's try reverting.

[1] https://skia-review.googlesource.com/c/skia/+/270450
[2] https://logs.chromium.org/logs/skia/4a5923ca1d5a5511/+/steps/compare_diffs/0/logs/python.inline/0

Change-Id: I6ee74f5038b4f62f978cfe2fa77e7214d34d8b63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270836
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-13 22:17:23 +00:00
recipe-roller
334d6f70ce 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:
  https://crrev.com/33fed4343ba9723f8d4e16dd04978f27490f0a57 (gbeaty@chromium.org)
    Report run steps in the order they were run.

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

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ieefbbaf6f85644c1f387d3bfed7815807d2e6723
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270770
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-02-13 21:05:33 +00:00
Mike Klein
87e5832c6b move clamp until just before store
By moving this clamp until just before the store,
we're minimizing the chance we'd do something between
the clamp and store that undoes the clamp's guarantee,
e.g. unpremul().

It also means we can now try thinking of ways to do
the clamp and store simultaneously in an integrated
way if that makes things faster or more safe somehow.
E.g. to_unorm() could do the clamp itself.

Change-Id: If07d09b4b59a8a20b236b4954ca79c660d6be85b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270614
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-02-13 21:01:52 +00:00
Mike Klein
748b757652 skvm support for 888x, 1010102, 101010x
Pretty straightforward, but needs the relaxed
asserts CL on the relation chain to draw all
GMs without asserting.

Change-Id: Ibe45922f9f5bc796117059b2bc73e83a90dc06a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270402
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-13 20:58:33 +00:00
Greg Daniel
b8d84f8916 Remove all remaining uses of origin getter on proxy.
Bug: skia:9556
Change-Id: Id8a1ba9e46f4df9bb181d6b0e9248fe4bfc5b5a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270716
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-02-13 20:56:43 +00:00
Ben Wagner
1a97683ddc [infra] Pin iOS tasks to old libimobiledevice
The iPhone11 doesn't work with the old version, but our recipes don't
yet work on the new version, so I'm pinning the version in order to
stage the rollout of the new version.

Change-Id: I778c664aee7fbd33442d57d1b36607c8bc0f43e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270443
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-02-13 20:43:13 +00:00
recipe-roller
8b0dfd83cb 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:
  https://crrev.com/ca9a5ebcc400ae48c12a1323294689e313426882 (ehmaldonado@chromium.org)
    Revert "gerrit-util: Fix GCE check from behind proxy."

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

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icd4e90ec4da9fa4ba74bad4bb92bd1d40b5b269b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270762
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-02-13 20:27:33 +00:00