Commit Graph

46861 Commits

Author SHA1 Message Date
skia-autoroll
a037445e07 Roll third_party/externals/swiftshader 0bbf7ba9f909..8def9063c4fd (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0bbf7ba9f909..8def9063c4fd

git log 0bbf7ba9f909..8def9063c4fd --date=short --first-parent --format='%ad %ae %s'
2020-02-18 cwallez@chromium.org Only call updateBorders on ranges that can be cubemaps.
2020-02-18 capn@google.com Fix sRGB conversion precision issues

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

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: I99a1e6aa3d404913664c43133c3999f2ca66927a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271767
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 04:56:38 +00:00
skia-autoroll
0ea9facc14 Roll ../src 0f78b5868284..f5ddd865c430 (448 commits)
0f78b58682..f5ddd865c4


Created with:
  gclient setdep -r ../src@f5ddd865c4

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: I43d78eb61b5928ca3963788afcc66f21eb59471d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271768
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-02-19 04:41:38 +00:00
Mike Reed
33b1ecc466 Use careful_memcpy in case one of the args is null
Change-Id: I945c2c76a0134d609e88d6c38051b0bc6a6787e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271738
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-19 04:13:08 +00:00
Herb Derby
b5ea378a32 Move memory usage calculation to SkStrikeCache::Strike
Change-Id: I96f5581b6a8dcc2c245590ae180a304e4b2ecbdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271657
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-19 04:09:48 +00:00
Brian Salomon
d0d033a125 GrBicubicEffect uses GrTextureEffect.
This opens the door to, but doesn't add support for, applying this
effect to other child processor types.

Fixes issue when applying effect to rectangle textures where steps were
done using increments of 1/w and 1/h instead of 1.

Change-Id: I74e20d6c96931c337b22b156a61c8e279c6fbc62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/259420
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-02-19 00:16:36 +00:00
Mike Klein
cfdfb229fc remove -Wno-bad-function-cast
Doesn't seem to trigger.

Change-Id: I481b90a4e7fa0a4badc9acff9df1ec232a62417d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271680
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-02-18 23:59:15 +00:00
Mike Klein
a9609ea8c5 turn on -Wreturn-std-move-in-c++11
This CL has a complicated back story, but it's concrete change is
simple, just turning the warning on and converting a bunch of

    return foo;

to

    return std::move(foo);

These changes are exclusively in places where RVO and NRVO do not apply,
so it should not conflict with warnings like -Wpessimizing-move.

Since C++11, when you return a named local and its type doesn't match
the declared return type exactly, there's an implicit std::move()
wrapped around the value (what I'm making explicit here) so the move
constructor gets an opportunity to take precedence over the copy
constructor.  You can read about this implicit move here under the
section "automatic move from local variables and parameters":
https://en.cppreference.com/w/cpp/language/return#Notes.

This situation comes up for us with smart pointers: a function declares
its return type as std::unique_ptr<Base> or sk_sp<Base>, and we return a
std::unique_ptr<Impl> or sk_sp<Impl>.  Those types don't match exactly,
so RVO and NRVO don't come into play.  They've always been going through
move constructors, and that's not changed here, just made explicit.

There was apparently once a bug in the C++11 standard and compilers
implementing that which made these copy instead of move, and then this
sort of code would do a little unnecessary ref/unref dance for sk_sp,
and would entirely fail to compile for uncopyable std::unique_ptr.
These explicit moves ostensibly will make our code more compatible with
those older compilers.

That compatibility alone is, I think, a terrible reason to land this CL.
Like, actively bad.  But... to balance that out, I think the explicit
std::move()s here actually help remind us that RVO/NRVO are not in play,
and remind us we're going to call the move constructor.  So that C++11
standard bug becomes kind of useful for us, in that Clang added this
warning to catch it, and its fix improves readability.

So really read this all as, "warn about implicit std::move() on return".
In the end I think it's just about readability.  I don't really hold any
hope out that we'll become compatible with those older compilers.

Bug: skia:9909
Change-Id: Id596e9261188b6f10e759906af6c95fe303f6ffe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271601
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-02-18 23:55:35 +00:00
Herb Derby
799a23cf06 Have SkScalerCache return memory used
The SkScalerCache now returns the amount of memory allocated
for each operation. The SkStrikeCache can now start using this
information to track cache size.

Change-Id: Ie0e8138015c6692257126a7bb02a3773b10a7b0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271476
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-02-18 23:52:35 +00:00
Brian Osman
fe6fe6c5a8 Revert "allow client to pass null if there are no uniforms"
This reverts commit 0185eb19d4.

Reason for revert: Asserts on ASAN bots

Original change's description:
> allow client to pass null if there are no uniforms
> 
> Change-Id: I788574ccd1f66cfa29556d7d84ae813d108a39c7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271318
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

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

Change-Id: I497b657095570055066c4964150bfb16cd33b027
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271697
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-18 21:11:45 +00:00
Brian Osman
70f24af3ef Fix path to GN on Windows when running presubmit hooks
I think this fixes issues with `git cl upload` on Windows machines.
Note that fetch-gn grabs gn.exe (not gn.bat).

Change-Id: Iba64ec62cce00e8ba0076ce83d47e4e6e6ef6197
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271604
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-18 20:41:16 +00:00
Robert Phillips
f6a0b45414 Store ProgramDesc on DDLs alongside the GrProgramInfo
We already have the program desc bc we uniquify the programs stored
on the DDL. This CL just preserves them on the snapped DDL to speed
up precompilation.

Bug: skia:9455
Change-Id: Ie0e0b607e2e96beca7128f4083386b34ad469072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270998
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-18 20:35:55 +00:00
Mike Reed
0185eb19d4 allow client to pass null if there are no uniforms
Change-Id: I788574ccd1f66cfa29556d7d84ae813d108a39c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271318
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-02-18 20:35:25 +00:00
Robert Phillips
1daa239f64 Make GrGLGpu's program cache be held as a unique_ptr
This seems a little bit less fussy.

Change-Id: If62fca188c83f1317351e1f18342a26e54355c07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271597
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-02-18 20:16:17 +00:00
Jim Van Verth
b01e12b716 Start adding D3D backend
Bug: skia:
Change-Id: Id24ed653adb80fe9b2ad597a34e459eb91ca53ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271057
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-02-18 20:14:15 +00:00
Brian Osman
584582662c Roll SPIRV-Cross to latest (2020-02-14)
Change-Id: Icbc853dd599d33358b6885c05d38a7b34f82a008
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271599
Reviewed-by: Stephen White <elsenorblanco@gmail.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-18 20:11:15 +00:00
Brian Osman
7281a86237 Revert "Move runtime shader/colorfilter into SkRuntimeEffect.cpp"
This reverts commit 8980acd623.

Reason for revert: Win-Shared

Original change's description:
> Move runtime shader/colorfilter into SkRuntimeEffect.cpp
> 
> Better organization that lets us share a bunch of code between these
> (very similar) objects.
> 
> Change-Id: Ie559d6e144d8588b98a95d4170e2e6c19d9623bd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270736
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: Ic13d85b7c4f2d593a6c15dde067f118ea5753eb6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-18 19:31:14 +00:00
Brian Osman
8980acd623 Move runtime shader/colorfilter into SkRuntimeEffect.cpp
Better organization that lets us share a bunch of code between these
(very similar) objects.

Change-Id: Ie559d6e144d8588b98a95d4170e2e6c19d9623bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270736
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-02-18 19:15:05 +00:00
Mike Reed
cfee8ee525 add skotties to cube demo
Change-Id: I2e1db9d4255cfcac4c589b726a371adfb0c5786e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271576
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-02-18 18:31:15 +00:00
Dominic Mazzoni
80474156d1 Support adding attributes to PDF document structure nodes.
This is an important part of writing a tagged PDF. Many of the nodes
in the document structure tree need additional attributes, just like
in HTML.

This change aims to add support for a few useful attributes, not to
be comprehensive.

Bug: chromium:1039816

Change-Id: I64a6b36b0b4ec42fd27ae4ad702afce95c95af5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/268878
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-02-18 18:14:36 +00:00
Florin Malita
2e941d00c8 [skottie] Store scalar keyframe values inline
Generally, keyframe values live in dedicated storage, and are tracked in
keyframes based on their index.

This separation is not necessary for float values, as their storage size
is the same as their index's:

  - update keyframes to store value records (VRecs), which can hold
    either external value indices or inline floats

  - introduce a scalar animator specialization which operates on float
    VRecs and doesn't require dedicated value storage

Change-Id: Icd8f1608c28c761303bdc44a23f562a2d2810d4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270844
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-18 17:31:15 +00:00
Ben Wagner
3c4a9d347d Run fetch-gn in PRESUBMIT if needed
Change-Id: I3f2f3713fc27207c26d02c29358cd582440e8e65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271037
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 15:45:05 +00:00
Ben Wagner
f8b21d5913 [infra] Merge SwiftShader into CPU dimensions logic
Followup to https://skia-review.googlesource.com/c/skia/+/270838

Change-Id: I5b6146abc6f84499a1e1014610221d276254f962
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271060
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-02-18 15:34:15 +00:00
Leon Scroggins III
a09d2328e8 Enable Windows host build for Skia
The issue with compiler warnings was fixed in
https://skia-review.googlesource.com/c/skia/+/270096.

Bug: b/149286037
Test: lunch sdk && m libskia

Uploaded previously as ag/10306975, but that will get overwritten by our
automatic merger. Update the source so the change will stick.

Change-Id: I5dced8a51cec6a16aa9f93f36b90d3194d00ced4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271059
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Jerome Gaillard <jgaillard@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-02-18 15:15:15 +00:00
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