Commit Graph

41925 Commits

Author SHA1 Message Date
Mike Klein
459aed1e29 use float -> float math functions
double foo(double) --> float foof(float)
  If you prefer, I think std::foo would work too.

  Rename src to field to match the new macro.

Change-Id: I61ca11d6bc1fc8cb90004b72429b3941007cd5d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215143
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-22 14:17:06 +00:00
Zhenyu Shan
d2f2c04e7e Add AVX2 implementation for blit_row_s32a_opaque
The function is added in SkOpts_hsw but doesn't have a AVX2 implementation.
The implementation boosts Vellamo Pixelblender test case for 20% performance

Change-Id: I3bf77eb7629213df1f1bdfa1087ebaf40894d7c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215400
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-22 14:14:55 +00:00
Joe Gregorio
2961ddb9ea Add Huawei P30 to the tree.
First bot is here:
   https://chromium-swarm.appspot.com/bot?id=skia-rpi-064

Bug: skia:
Change-Id: I60a4eb11a6aa187450c513c544ef5a3938695024
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215097
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-22 12:26:29 +00:00
skia-autoroll
17ea5f8c84 Roll third_party/externals/angle2 e8247a574956..fb8e1b25ad71 (6 commits)
e8247a5749..fb8e1b25ad


git log e8247a574956..fb8e1b25ad71 --date=short --no-merges --format='%ad %ae %s'
2019-05-21 syoussefi@chromium.org Vulkan: Fix multisampled clear
2019-05-21 ynovikov@chromium.org Skip failing MultisampleTest on Nexus 6P and NVIDIA Shield TV
2019-05-21 syoussefi@chromium.com Vulkan: Update glslang_validator binary for Windows
2019-05-21 syoussefi@chromium.org Vulkan: Update glslang_validator binary for Linux
2019-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 6e384fef6c0f..27ec91958501 (2 commits)
2019-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 9dfd4b835807..47741f05043a (2 commits)


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: Idf83212298f184d2f7fb168144b8d7c62f1a8c9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-22 05:29:23 +00:00
skia-autoroll
77d15733d1 Roll ../src 09fbfa7a6919..aacbdfe80aea (446 commits)
09fbfa7a69..aacbdfe80a


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

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=csmartdalton@google.com

Change-Id: Ic6a8cfec82678ede465ed077555f4a23fa0c4a2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215199
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-22 04:51:52 +00:00
skia-autoroll
c18a52bef6 Roll third_party/externals/swiftshader 9e2844fa2744..f4d2a446cc12 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/9e2844fa2744..f4d2a446cc12


git log 9e2844fa2744..f4d2a446cc12 --date=short --no-merges --format='%ad %ae %s'
2019-05-21 samans@chromium.org Add gn files for Vulkan Swiftshader
2019-05-21 swiftshader.regress@gmail.com Regres: Update test lists @ 9e2844fa


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=csmartdalton@google.com

Change-Id: I31ff637e1ab703188cede4a03e71a5f610069b15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215197
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-22 04:32:32 +00:00
recipe-roller
b8ab2a7885 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/7a6143385da466fa4ac8f60a196d21acbacde251 Decode datetime string when it's not utf-8 (sangwoo.ko@navercorp.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I05dc20e4a5ff2a67064d8934748cfe146f778104
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215146
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>
2019-05-22 03:26:33 +00:00
recipe-roller
4ef7c2db21 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.
recipe_engine:
  https://crrev.com/bae937d72f6b21b53a3218efdb0471861a332c0c Check validity of _resolved nodes before accessing them. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I36822157777996a28b5ee2a4edf4d4b9202211d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215311
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>
2019-05-22 02:07:17 +00:00
recipe-roller
2ddeb69957 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/1d6478a5ffed7d272a7910d678e0a35d2f9fd69b gclient: Require a target ref when applying patches. (ehmaldonado@chromium.org)
  https://crrev.com/9a01eb27ff0165716965ee037cc97fecee228818 Revert "gclient: Require a target ref when applying patches." (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/46311e5fca95329b511a45b42648ead457b2eea5 Don't write annotations when running simulation tests. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icac0b82076277743fc90d50135fb9b58d29dca2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215308
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>
2019-05-22 01:27:27 +00:00
recipe-roller
7952e3fe7c 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.
recipe_engine:
  https://crrev.com/85fd521fdda1e253ba8b7f736bf2e69a446e2c8c Add runner subprocess command. (iannucci@chromium.org)
  https://crrev.com/f0e05ce44e073ad5282ce65e200f29eab9d87666 Add functions for reporting new test result data to the user. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie95890965b443d46c2e81073dcdbf210edef28c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215260
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>
2019-05-21 23:45:30 +00:00
recipe-roller
1ec8dc791f 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/1318a30f19cf6c531ab2bb9894619c3c9d3eaf6c Call new CheckJsonParses in PRESUBMIT (agable@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibfb1f32269b1b12868b417b28815e35b3323b153
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215240
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>
2019-05-21 22:28:07 +00:00
Hal Canary
e63b01b364 SkTypeface_mac/SkPDF codepoints out of BMP
Bug: chromium:962655
Change-Id: Ia7c6984f95da674c990ff0b2a889705df9e94645
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215093
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-05-21 20:57:05 +00:00
Ethan Nicholas
82162eead5 SkSL interpreter intrinsics
Bug: skia:
Change-Id: I418fb05444f9c1ee076ace41a24072c4a5e7ef6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214691
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-21 20:38:20 +00:00
Herb Derby
201491e734 Revert "Make SkRemoteGlyphCache obey the prepareForDrawing contract"
This reverts commit 4e045301f1.

Reason for revert: Breaks unit test for Windows 10 all native fonts

Original change's description:
> Make SkRemoteGlyphCache obey the prepareForDrawing contract
> 
> Change-Id: I3f781b8d72f460edb73c5b3d446676db19a4a935
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215090
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>

TBR=herb@google.com,khushalsagar@chromium.org,khushalsagar@google.com

Change-Id: Ia4207104d97d1cc6d2cc058eb1e938f7239f1bb5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215166
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-21 20:23:31 +00:00
Herb Derby
219e426dc1 Simplify scale handling
SkCanonicalizeFont default fScale to 0, and in later code checks
for 0 and treats it like 1.0. Just make 1.0 mean 1.0.

Change-Id: Ibb6c8ed31013d6adc280d1105e2efcf4274f84dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215164
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-05-21 20:20:20 +00:00
Chris Dalton
45f6b3d637 ccpr: Visit atlas proxies during visitProxies()
Also makes sure to flag _cached_ atlas textures as ignored by the
resource allocator.

Bug: skia:
Change-Id: I30d4af1832798bc325fd082143755cf84d40515a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215140
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-21 20:05:20 +00:00
recipe-roller
5ab06e2285 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/aca5b6aca87dd7872c457ae6589902876556c854 Add JSON-parsing presubmit check (agable@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I19c86fa3d2a1957fa911ceeae921e878e0570c9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215161
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>
2019-05-21 20:03:15 +00:00
Herb Derby
4e045301f1 Make SkRemoteGlyphCache obey the prepareForDrawing contract
Change-Id: I3f781b8d72f460edb73c5b3d446676db19a4a935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215090
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
2019-05-21 20:00:15 +00:00
Mike Klein
c19999801d simplify VECTOR macros, negates
- type is never used
  - sp[foo].fTarget can just be sp[foo], with C++ handling types
  - same deal in negates

Change-Id: If325fa620e89aa55f96dffd5e559a7ed5f4e1846
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215141
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-21 18:45:55 +00:00
Robert Phillips
f0313ee3c1 Rename createTestingOnlyBackendTexture to createBackendTexture
and other cruft from https://skia-review.googlesource.com/c/skia/+/214445 (Expand backend allocation API to allow an initialization color)

Change-Id: I33f53fde2bda6ed44e2eaf0772c629288adc00a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215120
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-21 18:42:55 +00:00
Chris Dalton
786dcfd9cf Blacklist PinnedImageTest on LenovoYogaC630
Bug: angleproject:3414
Change-Id: Ibb4a9ebfd1c07a28c48ca55bbb9f1b7c28375390
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215044
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-21 17:51:06 +00:00
Mike Klein
108e935ccd 16-bit instructions
This should give us plenty of coding space.
If anything this seems to run faster:

Before:   21/21  MB	1	4.33ms	4.33ms	4.34ms	4.36ms	0%	▁▁▃▁▂▂▁▂▂█	8888	GM_runtime_cf_interp_1
After:    21/21  MB	1	4.17ms	4.17ms	4.17ms	4.18ms	0%	▃▂▁▅▄▃█▅▅▆	8888	GM_runtime_cf_interp_1

Change-Id: I6beb785fc0d00fb274a1f87c2fdd5ed530b96b8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215046
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-21 17:35:47 +00:00
Mike Klein
12710911dc negateS -> negateI
The same negate should work fine for unsigned, right?
This seems to eliminate the need for kInvaid.

    ~ $ cat test.c
    int main(void) {
        unsigned u = 0;
        do {
            unsigned nu = -u,
                     ns = -(int)u;
            if (nu != ns) {
                return 1;
            }
        } while (++u != 0);

        return 0;
    }
    ~ $ clang -Os test.c
    ~ $ ./a.out && echo ok
    ok

Change-Id: If4eec8aa24dce634e3196c8631adec4362a3b69b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215045
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-21 17:31:17 +00:00
recipe-roller
ddca30ad96 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/d6bf517dd4f5e899d79b865e671353b4ce616f6e Improved comments for the recent optimization in owners.py (bratell@opera.com)
recipe_engine:
  https://crrev.com/86003d0c34d194b08701a0cca237b5d33fff4a26 Add "pipe" helpers for multiprocess communication. (iannucci@chromium.org)
  https://crrev.com/a890ea91304d39295cbbf0ebc2ead97037ca9167 Escape newlines when writing enviroment values to execution logs. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0ce961ad8c119b588016c5bc95eff5d9e8684e5c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215043
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>
2019-05-21 15:52:58 +00:00
recipe-roller
47d381527a Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/ad39f9d8f8d117ef63fc7d50b207a14017f05c08 [lucicfg] Release v1.7.5 (tandrii@chromium.org)
recipe_engine:
  https://crrev.com/eeac8fccee349f073b6244a1032d083555b803ec Redact line numbers for traceback frames which originate outside the (iannucci@chromium.org)
  https://crrev.com/4579203e4d12ba6ea65ecaf040ac4cf2e4e5f632 Add coverage pattern information directly to RecipeDeps. (iannucci@chromium.org)


R=benjaminwagner@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I75e230db5a24ef21561d4aeea4253865b0725da1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215041
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
2019-05-21 15:21:30 +00:00
Mike Klein
e700738f3c Revert "Revert "SkSLInterpreter refactoring""
This reverts commit 3fb1503700.
PS 2 puts the if (n) { memcpy() } check back.

Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN
Change-Id: I58ead198e89c2d0e6d58d81825cd4a2d9cb4e7f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215042
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-21 14:19:30 +00:00
Ben Wagner
ab6eefe60e Move SkLeanWindows.h to src.
This file pulls in Windows headers in a custom way, which is somewhat
awkward for a library header. The only use in include/ has been replaced
with a single forward declaration.

Change-Id: Ibef4cf7a2d1c9957a6a5b145b95aca1a6868cb5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214689
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-21 13:48:00 +00:00
recipe-roller
54fbe0f813 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.
recipe_engine:
  https://crrev.com/b4bd5cf2dfd1133713f6087c046ce02d5b78c20a Fix up readme. (iannucci@chromium.org)
  https://crrev.com/5619081599b072acce6072da76aab28097a07686 Fix error in doc/user_guide.md (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iaade0805f2b904233c66b1b5e0688cdfd7aedf69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215040
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>
2019-05-21 11:27:30 +00:00
recipe-roller
55d3d90ebb Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
  https://crrev.com/74e8a4d9e6fad23d85f241a457067647c66d0d73 Small tweaks to recipe_deps for upcoming test runner change (iannucci@chromium.org)
  https://crrev.com/012a6f73a5a8d98ad4e6a0872240b38b1ff5d8d7 Compute a PYTHON(site-packages) root based off of a site package. (gbeaty@chromium.org)


R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I75989f32b9d146ab4753bffbeb553a6d9f3675c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214865
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-21 10:50:59 +00:00
Chris Dalton
3fb1503700 Revert "SkSLInterpreter refactoring"
This reverts commit 2cfc6b3020.

Reason for revert: ASAN issue

Original change's description:
> SkSLInterpreter refactoring
> 
> A zillion little refactors:
> 
>   - small implementation simplifications all over,
>     dead code removal, singleton code inlining,
>     macro -> lambda, etc.
> 
>   - copy args to stack in outer run(),
>     which is where we copy from stack to args.
> 
>   - scope temporaries more closely to the switch
>     cases that use them rather than to all of run()
> 
>   - vertically align analogous cases,
>     especially fall through
> 
> Change-Id: I7694b85724500717e6015bf7600f125c83a0d408
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214900
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

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

Change-Id: I88046e0c2a67ab8d599597da00e81f3f004f8791
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215000
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-05-21 06:32:44 +00:00
skia-autoroll
55ae17c8a1 Roll third_party/externals/angle2 70958d15db70..e8247a574956 (3 commits)
70958d15db..e8247a5749


git log 70958d15db70..e8247a574956 --date=short --no-merges --format='%ad %ae %s'
2019-05-20 jgilbert@mozilla.com Add scripts/export_targets.py.
2019-05-20 thomasanderson@chromium.org Remove non-source sources from binary targets
2019-05-20 jmadill@chromium.org Fix Android data dir for KHR dEQP tests.


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

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=csmartdalton@google.com

Change-Id: I5aeb1c0618a4f3a9f706be40d9b369032f7dd40e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214961
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-21 05:28:19 +00:00
skia-autoroll
4b052e6ed4 Roll ../src 4dc9df3b70d6..09fbfa7a6919 (351 commits)
4dc9df3b70..09fbfa7a69


Created with:
  gclient setdep -r ../src@09fbfa7a69

The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=csmartdalton@google.com

Change-Id: I57e2736cef5cf1758a219cb836dd8c3e4944cf0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214962
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-21 04:51:19 +00:00
skia-autoroll
b8e77698ad Roll third_party/externals/swiftshader 7ab65834bc02..9e2844fa2744 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7ab65834bc02..9e2844fa2744


git log 7ab65834bc02..9e2844fa2744 --date=short --no-merges --format='%ad %ae %s'
2019-05-20 bclayton@google.com SpirvShader: Fixes for GLSLstd450Modf / GLSLstd450ModfStruct
2019-05-20 swiftshader.regress@gmail.com Regres: Update test lists @ 7ab65834


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

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

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

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=csmartdalton@google.com

Change-Id: I2f963938e1701ff4480cebd56de6d08ca3749eb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214960
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-05-21 04:32:19 +00:00
Mike Reed
1903c94f44 use rect-memset in legacy rect blit
Timing filteredrect_nofilter bench

before:
  13/13  MB	38	6.59µs	6.6µs	6.73µs	7.02µs	3%	▆▆▆█▁▁▁▁▁▁	8888

after:
  13/13  MB	49	4.96µs	4.97µs	5.08µs	5.34µs	3%	▆▆▆█▁▁▁▁▁▁	8888

Change-Id: I1bc5a9add7918c91b79ad42ef792f27a5e133cbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214866
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-20 21:31:59 +00:00
Mike Reed
dbc3caaf6c rect-memset: memset + stride and height
1. not married to the name
2. should probably update the legacy pipeline as well...

Speeds up filteredrect (in rasterpipeline) by 15-20%

Change-Id: Ie98c4605baaae95362182880703152c543f71d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214862
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-20 20:43:51 +00:00
recipe-roller
955ddaf45a 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/5737f025b55d6ee2b4469d244f77f275a5e9f1a2 git-cl: Only display a detailed message when git-cl fails. (ehmaldonado@chromium.org)
  https://crrev.com/cf6269b441f1cfdc57d2f238e09b14e46cc0f459 [git-cl] Handle non-HTTPS repositories gracefully in EnsureAuthenticated (dcheng@chromium.org)
recipe_engine:
  https://crrev.com/a5456c47f654f8cab699314f687a1f40aa99a3d2 Fix flaky test. (iannucci@chromium.org)
  https://crrev.com/e7498a59f81c8fad2caf7e3d7c8ca072ec0e2494 Stringify recipe_name when executing test case. (iannucci@chromium.org)
  https://crrev.com/c31f06ae447e388b551ae1fefb08557279b1c36a Fix properties recipe to sort properties dict for determinism. (iannucci@chromium.org)
  https://crrev.com/304d10cdcc0c37bd2f5add7114a21d27cb3298fd Factor out filesystem_safe() into its own module. (iannucci@chromium.org)
  https://crrev.com/0d245ab9614f86baeaf26dfe69f5cbe9feb4e8af Refactor test/__init__ a bit. (iannucci@chromium.org)
  https://crrev.com/9f95903cb308192351026428275ba8dc4f6e4378 Set non-buffered mode for recipes.py and catch Ctrl-C. (iannucci@chromium.org)
  https://crrev.com/2c7dbb91cfb38dc64a85ac581fab056c0cd8b584 Add pylint comment to help some downstream repos cope with this. (iannucci@chromium.org)
  https://crrev.com/8cb0faab5f1b6e30e56d13324954dd6c1f623c4e Fix current test runner when tests crash. (iannucci@chromium.org)
  https://crrev.com/e28cc028144722cc0bfab514f9ada312b245ece3 Make test_result.proto an internal protocol. (iannucci@chromium.org)
  https://crrev.com/7f33bc0f23af3bb83d27b8cc31f5f35d189a1127 Add proto for new test runner. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1a43fd5ce1fd0481eecc249e5ec0b4b71694c7e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214863
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>
2019-05-20 20:35:22 +00:00
Mike Klein
2cfc6b3020 SkSLInterpreter refactoring
A zillion little refactors:

  - small implementation simplifications all over,
    dead code removal, singleton code inlining,
    macro -> lambda, etc.

  - copy args to stack in outer run(),
    which is where we copy from stack to args.

  - scope temporaries more closely to the switch
    cases that use them rather than to all of run()

  - vertically align analogous cases,
    especially fall through

Change-Id: I7694b85724500717e6015bf7600f125c83a0d408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214900
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2019-05-20 20:34:52 +00:00
Ethan Nicholas
aeb71ce166 switched over to using fallthrough in SkSL interpreter vector operations
Bug: skia:
Change-Id: Ibcbad9252f2da468549792bf7c3bb4e9a5b77805
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214380
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-05-20 20:13:25 +00:00
recipe-roller
08f87346b6 Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/99fe071354e3b3f176ee345bc98328e96d6c1fd1 Reland "bot_update: Pass target-ref to gclient." (ehmaldonado@chromium.org)


R=rmistry@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1d80fac2bb431febe0189bc27e75615de7432667
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214698
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-05-20 19:56:55 +00:00
recipe-roller
c40a1b6558 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/75391d46d04bed375263d652afe3ed0793d27a85 git-cl: Reword the message when surfacing traces to the user. (ehmaldonado@chromium.org)
  https://crrev.com/2d3b9260f3085f0ce161dbec51f131979b828474 Delete the mojo config from the gclient recipe module. (jsca@google.com)
  https://crrev.com/a16f28fc23a44ea79bd6a8d6b6b940d88f84adb6 Roll mac_toolchain to pick up -verbose. (jbudorick@chromium.org)
recipe_engine:
  https://crrev.com/f4424b87ca831dbc1fb2b72af3dc94ed2666861b Change test simulation substituter to work with oddball python distributions. (iannucci@chromium.org)
  https://crrev.com/76f4351baff3376ef9920ba1a270bb502918d365 Extract diff and list subcommands from main test implementation. (iannucci@chromium.org)
  https://crrev.com/9d31f1727653888912994380e7b9c35ad9ea8380 buildbucket: Add critical to BB fieldmask (seanabraham@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If1c1d42ef0f048e140646c4303935f15d5448db6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214840
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>
2019-05-20 19:06:53 +00:00
Brian Salomon
9be911cc0f return kSkip in async read GMs when context is abandoned
Change-Id: I78d076fe0bc0c49f57734b2b517f39407d92feea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214693
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2019-05-20 18:32:57 +00:00
Robert Iannucci
a848c3b829 Manual recipe roll
Changelog:

recipe_engine:
  https://crrev.com/125d102e429465dc3468b4b235f9e3a5df4b252c Reland: Refactor recipe engine step execution. (iannucci@chromium.org)
  https://crrev.com/13fa883dbdc89e258d7ef300035e4bba67bffc9f Replace paths in simulations sorted by -len. (iannucci@chromium.org)
  https://crrev.com/0aae08882d042675016c1f44da43457958fe8054 Treat any cmd0 containing path sep as relative. (iannucci@chromium.org)
  https://crrev.com/107d545f22f4f6923e46655032afb050c1945bd6 Roll swarming client (maruel@chromium.org)
  https://crrev.com/2e9624d2c517e450eb2d896171d9a058d9829989 [swarming] Start exposing new containment flags (maruel@chromium.org)
  https://crrev.com/b2103d4eb1f8a9380ec37299db6d0898bd014d12 Remove subprocess42 everywhere except the actual recipe step runner. (iannucci@chromium.org)
  https://crrev.com/41c54934d664b4034e5a42655a42e866f6ba8485 swarming: fix aliasing in dimensions, env_vars and env_prefixes (maruel@chromium.org)
  https://crrev.com/55fabf49b398f40fe4561f37ca5bac0eb9352e7e Move simulator stream engine to its own file. (iannucci@chromium.org)
  https://crrev.com/c262e24ab6137157a6c834fc38a127a886ba959a Extract debug command from the test subcommand. (iannucci@chromium.org)
  https://crrev.com/cc6f5c718d9336bc98b85a820d04bdefd6dfe2b8 Improve cmd0 resolution to account for absolute base paths. (iannucci@chromium.org)

depot_tools:
  https://crrev.com/6a9b00e433cff68ea348a22a9f46483fe9f1c197 scm: Replace invalid UTF-8 in Git output (raul@tambre.ee)
  https://crrev.com/09e64b49ee394043da081356be15e85e2ca86c08 Make presubmit scripts not inherit the executor script's context (raul@tambre.ee)
  https://crrev.com/25eb8e4680acaa931f1987557513bd5f35537333 Update colorama to 0.4.1 (raul@tambre.ee)


R=borenet@google.com

Change-Id: I77625c1620df3ef1b4c6ae05c172bb52bfefafbd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214692
Commit-Queue: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-05-20 18:02:05 +00:00
Mike Klein
fe0aeb3691 update SkUserConfig.h a bit
- tweak comments to be immune to tools/rewrite_headers.py
    - remove a few bonkers settings no user should change

While I'm at it, re-run tools/rewrite_headers.py.

Change-Id: Ie588d604010dd26abcdd277c586cd6c58568dcf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214740
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2019-05-20 17:52:22 +00:00
Mike Reed
d93ee53aff Rework colorfilter bench
Previous structure didn't measure anything but new/free cost. All of the
constructs turned into (eventually) drawRect + color.

New version also measures that, but in a clearer way, so we can examine
all the variants, and assume that they should all be about the same.

Change-Id: I1b4a0120a3e663ce1b9daa3c1e3e26ae6b397677
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214687
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-20 17:02:06 +00:00
Mike Reed
dc2b98fd29 simplify setColor, without needing the 4f or the colorspace
Change-Id: I7f6fe83cfb653819c1b5d865421f4fd2121e9b4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212418
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-05-20 16:59:26 +00:00
Brian Salomon
af9b7b9f09 Fix async_rescale_and_read_no_bleed with --preAbandonGpuContext
Change-Id: Id2f2d76dfc7ba6865c7bd5c87960ff50b1ebd774
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214690
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-05-20 16:52:26 +00:00
Brian Salomon
286b5575d3 Reland "Make SkSurface::asyncRescaleAndRead use kStrict constraint"
This is a reland of 451b01fe09

Original change's description:
> Make SkSurface::asyncRescaleAndRead use kStrict constraint
> 
> Also fix crash if SkSurface has no color space.
> 
> Bug: skia:8962
> Change-Id: I5826ddb10daa46f286d2405b7229ea4f0aefa8f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214306
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:8962
Change-Id: I05713351f62cc738ec8a4bba6377e9aa7a044975
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214684
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-05-20 16:02:06 +00:00
Robert Phillips
5c7a25bd2f Move explicit backend object allocation API to GrContext
This initial portion of the API should be ready to go. Follow on CLs will add the other entry points.

Change-Id: Ia9c708046ba08b16f9a71558e2bf2c38279abe5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214680
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-05-20 15:31:56 +00:00
Ben Wagner
729a23f50f Move ccpr headers for display list out of include/private.
This partially undoes 774168efac "Allow
CCPR in DDL mode (take 2)". The issue appears to have been the use of a
not fully defined type (destructor could not be instantiated) because
the private fields were also dllexported, requiring the destructors to
exist in all translation units which included the header. Only the parts
of the class which are actually public are now marked as exported.

Change-Id: I8a79bd5d8962e94c24f7563d496744bb278153fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214020
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-05-20 14:50:56 +00:00
Mike Reed
f93d021680 remove allocs for colorfilters
For a modified bench, that installs colorfilterimagefilters and then draws a colored rect:
before:
  13/13  MB	18	1.66µs	1.67µs	1.67µs	1.73µs	1%	█▂▂▃▄▁▂▁▁▃	8888
after:
  13/13  MB	17	874ns	878ns	882ns	920ns	2%	█▁▂▂▁▂▂▁▁▁	8888


Some observations
- we can sometimes build several rasterpipelines in a single draw
    - filterColor4f (can be called more than once)
    - actual_blit
- imagefilter::affectsTransparentBlack
    - calls through to the colorfilter
    - this in-turn invokes filterColor4f, which makes a pipeline
    + if we had elimnated the imagefilter (for a colorfilter) sooner,
      we would not have called affectsTransparentBlack
    + adding a virtual to colorfilter for affectsTransparentBlack might
      also avoid having to call filterColor4f (at least for filters
      that know how to determine this simply)

For now however, increasing the arena's stack-budget seems to brush over
these other inefficiencies.

More observations
- we decide to use pipeline before we fold-away the colorfilter (w/ no shader)
   - the pipeline later notices this, and becomes just a color draw
   - if we had removed the colorfilter earlier, we would have taken a different
     (legacy, slightly faster) blitter (logically using memset).

Change-Id: I1a63414acbf23967c4d4daed9956bdc4d81148c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/214682
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-05-20 14:23:46 +00:00