Commit Graph

44864 Commits

Author SHA1 Message Date
Mike Klein
2368bda0e1 try hashing shaders via their program
1) add a hash() method to skvm::Builder
     This is cheap... we're hashing instructions as we go anyway.
     Small refactoring to keep all its hashing close and clear.

  2) split Key into Key (a small bytey hashy identifier)
     and Params (a pointery typey payload struct)

  3) dummy call ->program() on shaders as we build our Key,
     and then include that dummy Builder's hash() in the key.

This lets us reuse cached programs when effects vary only in their
uniforms.  The approach in 3) is meant to be a first draft, a kind of
can-we-get-away-with-this hack.  We may need to change this with,
    - stronger equality than just a hash of the instructions;
    - a new cheaper hook that avoids the cost of skvm::Builder.

Cq-Include-Trybots: skia.primary:Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_SKVM_BLITTER
Change-Id: I5f3839d3f7de40043fcb6177b617672c56f0eb70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252019
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-11-01 15:32:44 +00:00
Brian Osman
2b73e66ca5 Add BT2020 (non-constant-luminance) YUV color space
Change-Id: I8ef13b78a5f2f49ff9c59db285b3e0e7ee708c9b
Bug: chromium:960620
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252160
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-11-01 14:34:13 +00:00
Brian Osman
25feadb636 Remove SK_LEGACY_YUV_MATRICES
Chrome has been rebaselined:
https://chromium-review.googlesource.com/c/chromium/src/+/1893372

Change-Id: Iff21ca606bf2e5fa0b8946940cab0b06fbd11e47
Bug: skia:9543
Change-Id: Iff21ca606bf2e5fa0b8946940cab0b06fbd11e47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252158
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-11-01 14:21:01 +00:00
Robert Phillips
fd0c3b513e Update GrTextureOp to use index buffer offsets for draws
This should, hopefully, be faster on GL as we will only need to update the index-range for a draw rather than the offset into an vertex buffer.

Change-Id: I09e54c37262168661443fa8bf8d3b43cd8faa9db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251757
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2019-11-01 14:09:43 +00:00
Eric Boren
2540704a38 [infra] Update git, make [Canvas|Path]Kit et al use git from CIPD
These docker-based tests don't actually need a checkout, but removing it
is proving time consuming and syncs are timing out.

Probably related to skia:9588

Bug: skia:9588
Change-Id: I39532f1d9cd1f6116fab341e648a517b98a312c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252156
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2019-11-01 13:40:23 +00:00
skia-autoroll
680b490426 Roll third_party/externals/angle2 841b01678c49..e96039218e9d (6 commits)
841b01678c..e96039218e

git log 841b01678c49..e96039218e9d --date=short --no-merges --format='%ad %ae %s'
2019-11-01 jmadill@chromium.org Capture/Replay: Correct a few GLenum replay issues.
2019-10-31 jmadill@chromium.org Capture/Replay: Implement GetFramebufferParameter capture.
2019-10-31 jmadill@chromium.org Win: Add ANGLE_WAIT_FOR_DEBUGGER option.
2019-10-31 sugoi@google.com Provoking vertex feature support enabled
2019-10-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader e1cda3916cee..fda994c63075 (2 commits)
2019-10-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 7e2cba6a5241..618ee509421f (3 commits)

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

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 jcgregorio@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=jcgregorio@google.com
Change-Id: I524b07247c46f62a93673e9cef42425b68546f38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252136
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-11-01 11:44:13 +00:00
recipe-roller
8f062cdaa7 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/afc73d4e075d241d52b01b744e73111ee3f0c47c [buildbucket] Support custom field masks (smut@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If8093d028fa1e3b81d631257859787530eef16c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252120
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-11-01 08:50:23 +00:00
recipe-roller
7f680a638e 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/86244d69136428f214950605d82533229b18098e [lucicfg] Update from v1.8.6 to v1.11.4. (vadimsh@chromium.org)
  https://crrev.com/4861444124e0dba81e9bf74798cebbd01f19f744 Specify open file encoding explicitly. (yura.yaroshevich@gmail.com)
  https://crrev.com/b96466297216f5b7c1df73df7771e6234e64552d presubmit_support: Set python_executable to vpython. (ehmaldonado@chromium.org)
  https://crrev.com/419c92f1bc931e5d1b3f1346e82c1cfa7612f783 gclient_utils: Make FileRead always return a Unicode string. (ehmaldonado@chromium.org)
  https://crrev.com/5bfa3ae88d76e1db57cf0bdc0a366c59f0dae641 gerrit_util: Refactor ReadHttpResponse and add more tests. (ehmaldonado@chromium.org)
  https://crrev.com/e79107e01bb48ae8b2430db4b36d1dbe104817f9 gclient_scm: Fix tests on windows (ehmaldonado@google.com)
  https://crrev.com/ebba8d75bf65250198a1f5c84295e119129915bd Add more tracing to git cache. (erikchen@chromium.org)
  https://crrev.com/27eb01c35517ac2bb4974e9c03517ad271b7a2ce Revert "gerrit_util: Refactor ReadHttpResponse and add more tests." (ehmaldonado@chromium.org)
  https://crrev.com/4ba192e7a9c8d3d559906b7fb92c5c108d7d6bfa Reland "gerrit_util: Refactor ReadHttpResponse and add more tests." (ehmaldonado@chromium.org)
  https://crrev.com/fea4a2548205e7a53642c4494d2d6c5829ec2471 Roll depot_tools git to v2.23.0 [bleeding edge/canary] (erikchen@chromium.org)
  https://crrev.com/5eb757a74239ab46dd7953ef18a6400f9cfbe997 Skip non-text files for CheckDoNotSubmitInFiles (hypan@google.com)
  https://crrev.com/512f92b73181c8e1d99d38cd9b73fbf41151636a Fetch the input commit ref when both ref and id are specified. (gbeaty@chromium.org)
  https://crrev.com/1e4dbf3f6432b8bf0a06877b8ae0ddd92a311197 Add more git tracing. (erikchen@chromium.org)
  https://crrev.com/27bd4e420d28f93db63e35479caaad72442e72d9 Reland "put goma client in depot_tools" (ukai@google.com)
  https://crrev.com/b43d98bf64843cf59c60732de21b7c07f0ed302e auth: Fix has_luci_context_local_auth. (ehmaldonado@chromium.org)
  https://crrev.com/48823c28549dd8055e16e4046215b929cd1eaeec Revert "Add more git tracing." (jbudorick@chromium.org)
  https://crrev.com/7a7798433110cd7ab1209bea46dd99806b82ba95 Revert "Fetch the input commit ref when both ref and id are specified." (hypan@google.com)
  https://crrev.com/c9144527d9f37bbd59e8776150d99adf23f072a5 depot_tools: Don't use basestring in scm.CaptureStatus. (ehmaldonado@chromium.org)
  https://crrev.com/48cda092cd869135948444c156478185289104ab gerrit_util: Remove RemoveReviewers. (ehmaldonado@chromium.org)
  https://crrev.com/9bb7b96c4d22f66abc0ce1dba5c94b989e4cb72a git-rebase-update: Make tests run on Python 3. (ehmaldonado@chromium.org)
  https://crrev.com/14705d8ce06addc9b6abfe6b2d75c4fe96a3b8a2 depot_tools: Make owners tests run on Python 3 (ehmaldonado@chromium.org)
  https://crrev.com/b983024505141c9abd2b75d515e64e2a77ccf07e presubmit_support: Fix tests on Python 3. (ehmaldonado@chromium.org)
  https://crrev.com/c87ed60623e4f057620552a9dc754c9c9f1e02e7 git-cl: Fix some python3 compatibility errors. (ehmaldonado@chromium.org)
recipe_engine:
  https://crrev.com/fa1af6362953b8c5c24e3082b0081e688f2be32d [swarming] Add tags to swarming task request. (ihuh@google.com)
  https://crrev.com/5f5aea33b7cac05bfc7f7b68332de60ddd143be3 Roll swarming go client (dcheng@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If2f536b7581c2bb9393bdbaf31818e96c4e30ece
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251941
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-11-01 01:22:42 +00:00
Emircan Uysaler
283ec65f63 Handle all failures for vkWaitForFences
Bug: chromium:1019469
Change-Id: Ic32be65775cf6b7d3261d1d8b4076363d0e65874
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251821
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2019-10-31 20:23:50 +00:00
Herb Derby
f5ad3f421e Fast SkPackedGlyphID CTOR
Performance measurments showed that SkPackedGlyphID was too much
time.

SkDiffBench-lorem_ipsum 955µs -> 873µs

BUG=chromium:881505

Change-Id: I8d42f02d87817777cc7c95404c73c723f0bc100c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251818
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-31 20:11:20 +00:00
Michael Ludwig
b4577fb2cf Use point to line distance instead of area for colinear check
Bug: chromium:1018218
Change-Id: I9a33332a06a63075dd016f038d5cd4ede59f9a5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252042
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-10-31 19:56:50 +00:00
Ben Wagner
5b6ccbb6b5 [infra] Upgrade MacBookAir to 10.15.
Also add a NativeFonts GPU bot pending the availability of CPU bots
(https://bugs.chromium.org/p/chromium/issues/detail?id=1018242).

Change-Id: I16c19ae2e05be16b622c14289e255d0a342c0654
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251817
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-31 19:26:28 +00:00
Herb Derby
ce8adae49e ...finally!
Change-Id: I31e9f0a06cf5541fe7b65924bfde85ee119b499e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252037
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-31 18:43:22 +00:00
Michael Ludwig
fb7ba52344 Move tessellation math into GrQuadUtils
Change-Id: I133fb0d5e154c2f01aba7ef2a7e1b87b6089a608
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251460
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2019-10-31 17:30:33 +00:00
Ben Wagner
ac65db506d Add Pixel4 jobs
Change-Id: Ic112266665f5ef3512a7904b181862ea2eb009b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251816
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-31 17:25:54 +00:00
Hal Canary
7823aeb8d6 refactor/layering: SkMalloc.cpp
Change-Id: Ie27c9f0ba2b9f160010d33548dc8359851610d79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251819
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-31 15:49:03 +00:00
Mike Klein
2eae8e53ba only scale shader by paint alpha < 1
This adds `shader && paint alpha < 1.0f` to the blitter Key, so we'll
generate and cache two different programs based on that bit.

I put a little bit of effort into a different approach, wrapping the
shader with a new shader that modulates by paint alpha when paint alpha
is less than one.  This should work, but I realized that it would break
caching, since we're caching based on shader identity.  (Not really
break, but make it ineffective.)

I've added some notes about cache keys in general, and that this wrapper
approach would make caching less effective is I think enough to make me
want to work out a "identify yourself except for uniforms" protocol for
shaders (really effects, eventually color filters will need it too).

Change-Id: I1a2a490657bf7442e79f87d80968302720265f7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251775
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-31 15:27:53 +00:00
Mike Klein
e2333d7714 fix uniform buffer size, scale by paint alpha
Brace initilaization of a std::vector was starting our uniform buffer
out as a single byte, holding sizeof(Uniforms).  I meant it to be
sizeof(Uniform) bytes, all zero...

That's fixed here, and was why scaling by paint alpha wasn't working.

Change-Id: Iad30d701aa175c74c9c5aaed8baf8279479188b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251753
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2019-10-31 15:22:33 +00:00
Brian Osman
ac8a16ca52 Update YUV GMs to use SkYUVMath matrices
There is now just one location that defines these transformations.

Change-Id: I06b2c81610cb5aec73daa39d130f9da610b668ef
Bug: skia:9543
Change-Id: I06b2c81610cb5aec73daa39d130f9da610b668ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251958
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-31 14:54:03 +00:00
recipe-roller
9dc47bffdb 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/acfec855b3a03ad8c28df551c3ea7a6bbee75967 [file][cipd] Run YAPF (joshuaseaton@google.com)
  https://crrev.com/64c4a05dc93199fc5a8aca78f9427b09bd43776c [file] Add read text to presentation (joshuaseaton@google.com)
  https://crrev.com/1485ed120ff670c0b32905d28c824e7af6f32aa6 [cipd] Add CIPD UI link to register() presentation (joshuaseaton@google.com)


R=kjlubick@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If102c0ccd69f1393348bd02d3619ed4b0b6b3d6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251820
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-10-31 13:45:53 +00:00
Brian Osman
904cac8567 Use SkYUVMath in GrYUVtoRGBEffect
Removes another redundant set of YUV matrices, and probably fixes errors
in the Rec.601 and Rec.709 matrices (they appear to have had incorrect
bias values based on 128 / 255 being zero).

Matrix changes affect layout tests, so guarding this in chromium:
https://chromium-review.googlesource.com/c/chromium/src/+/1890956

Change-Id: I3699a00c93eb10a9da14c881bfd338ce98249c7d
Bug: skia:9543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251771
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-31 13:20:33 +00:00
skia-autoroll
9c82eb913f Roll third_party/externals/angle2 bb35bb4e5379..841b01678c49 (4 commits)
bb35bb4e53..841b01678c

git log bb35bb4e5379..841b01678c49 --date=short --no-merges --format='%ad %ae %s'
2019-10-30 ynovikov@chromium.org Suppress flaky dEQP-GLES3 test on Win7 NVIDIA D3D11
2019-10-30 jmadill@chromium.org Fix error string commas.
2019-10-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 42f885238114..7e2cba6a5241 (1 commits)
2019-10-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f8f6103eb89f..e1cda3916cee (2 commits)

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

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 jcgregorio@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=jcgregorio@google.com
Change-Id: I7c39352f87a3ab5aeb398a7f2874751fcdbe9497
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251896
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-31 06:10:22 +00:00
skia-autoroll
809ec77893 Roll third_party/externals/swiftshader e1cda3916cee..fda994c63075 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e1cda3916cee..fda994c63075

git log e1cda3916cee..fda994c63075 --date=short --no-merges --format='%ad %ae %s'
2019-10-30 digit@google.com [vulkan] Implement external semaphore support for Fuchsia
2019-10-30 digit@google.com Vulkan headers: restore vulkan_fuchsia_extras.h include.

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

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 jcgregorio@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=jcgregorio@google.com
Change-Id: I8beb3cdd7099ff00d0be26cbbf82c7b9498c073a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251897
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-31 04:37:32 +00:00
Greg Daniel
549325c87e Have GrTextureOp use GrSurfaceProxyViews instead of just proxys.
Additionally updated some calls upstack to pass in the views.

Bug: skia:9556
Change-Id: I2b6274cb1811b102713433d51a9b18d47778174a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251759
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-30 21:16:58 +00:00
Herb Derby
e785c44c08 Remove unused API
Change-Id: Iddfe56c2c97ac27ccf446a3cbdbfa8ffde62d1e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251772
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-10-30 21:02:29 +00:00
Brian Osman
28ba52845b Use SkYUVMath in asyncRescaleAndReadPixelsYUV420
Cuts down on the number of places that have redundant YUV matrices.
Also, there appears to have been a typo in the Rec709 matrix, so this
fixes that.

Change-Id: I91f2c772656095c52f53e09b1de04908f268fbb7
Bug: skia:9543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251767
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-30 20:20:59 +00:00
deepak1556
b22d7a3531 build: fix compilation on macOS with 10.14 SDK
typename 'B0' is defined in sys/termios.h

Bug: none
Change-Id: I6a2e6eb1a91f123459087280b70493dab795bbd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249917
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2019-10-30 20:18:58 +00:00
Brian Osman
6e1d51a2c7 Print out a warning if trying to use a cross context image on two contexts
Change-Id: Ie4611b4aae65aed5aa45be8841fbb7326bcfbf0b
Bug: skia:9581
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251773
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-30 20:07:48 +00:00
Herb Derby
c7a8df8b1c Swap SkPackedGlyphID bitfields around
Change-Id: Ic286357dc637edf0c8df003422a43252590250f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251768
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-30 19:20:28 +00:00
Ben Wagner
9fa8a909dd [docs] Add skolo-builder to swarmingbots.md
Also fix a link and a typo.

No-Try: true
Docs-Preview: https://skia.org/?cl=251765
Change-Id: I9204887fb4c07af1e07f3e7c5d24ef6029bf8d00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251765
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2019-10-30 19:06:48 +00:00
Mike Klein
65e6ee7f7e quick switch to disable SkVM JIT
Change-Id: I4d4a8409163c2b2d1773e395a73857626c45d406
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251752
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-30 19:01:18 +00:00
Mike Klein
c746cdffa9 assume no color filters in SkVMBlitter
We'll lean on them being folded away before choosing blitters.
That happens everywhere but in Google3 now, and there's no use
of SkVMBlitter outside our own testing, certainly not Google3.

Change-Id: Ic9725ffbad5f2226d5f030e82bd72500a624b1ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251740
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-30 18:32:28 +00:00
Mike Klein
e1e1971862 clean up unorm8 helpers
- add scale for mul->div255
   - rename mix lerp
   - remove inv
   - add _unorm8 suffix

Just refactoring, nothing interesting.

Change-Id: I8f6e35cbd5cb9458a8149ca89cf5213d9233d950
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251751
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-30 18:31:28 +00:00
Herb Derby
77c99946e0 Faster remote glyph cache
Change RemoteStrikes to hold a very small summary of what has been
sent for each glyph, and only maintain full glyph information
until the next serialization. This greatly reduces memory used,
and improves average performance by 10% as measured by traces from
the top 10 websites.

BUG=chromium:881505

Change-Id: Id5c5d974e3c35a63d232bb62fc605e8472d926fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251237
Reviewed-by: Khushal Sagar <khushalsagar@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-30 18:05:08 +00:00
Brian Osman
7df14d0557 YUV Cleanup: Trim comments, derive Cr/Cb from Kr/Kb
The conversion math for a given space can be fully derived
from the Kr and Kb terms (plus the headroom/footroom), so
avoid redundant values that can be wrong.

And, no need to list every possible value of an enum param,
especially when the generated doxygen links to the type's
documentation, which has all the values listed.

Change-Id: I64ce8cfd5ec7ff74dc3b878202b13d0d483e1db6
Bug: skia:9543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251764
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-10-30 17:19:16 +00:00
Herb Derby
7820da3db5 Use shifts for all fields in SkPackedGlyphID
This should allow the bit field positions to be moved
around in the SkPackedGlyphID.

Change-Id: I85390f594a017b9df779f0a12e1f24c4d9e077dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251761
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-30 16:26:16 +00:00
Chris Dalton
8a64a44244 Rename sampleVariablesSupport() to sampleMaskSupport()
We have only implemented support for the sample mask. This CL renames
the cap to reflect that.

It also replaces sampleVariablesStencilSupport() with the more aptly
named canOnlyUseSampleMaskWithStencil(), to make it more clear that
this is a driver workaround.

Change-Id: Ibf54092c63181232fb3b94cad7ddb16e3a15e3d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251580
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-10-30 16:20:47 +00:00
Herb Derby
a9ac8a51fd Change uses of code to glyphID
Change-Id: I596bf0be9bf479a26f7bd00bea3c431b534164ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251758
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2019-10-30 15:19:16 +00:00
Stephen White
3cc8d4fb7f Dawn: s/dawn::/wgpu::/g.
The new webgpu_cpp.h hotness for native apps brings with it a new
namespace: wgpu. This is a straight substitution.

Note: no Skia API changes.
Change-Id: I12b26417e76838cd8fa2b39b8161cbaa2cd8fa78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251660
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-10-30 14:29:46 +00:00
Stephen White
d2baa3d0f8 Dawn: roll to ToT.
Change-Id: Iaf6b4ba01ae208b28167cafbd19a5d0958b30aaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251659
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-30 14:29:26 +00:00
Robert Phillips
bbd459d82c Allocate all vertex data in one go w/in GrTextureOp
This will hopefully reduce the overhead of prePreparing the vertex data (i.e., only one memcpy to use the precomputed data) and set us up for using the full extent of the index buffers.

Note this CL also contains a refactoring to share more code between onPrePrepareDraws and onPrepareDraws (i.e., the FillInData method).

Change-Id: Ia0e482332c8108e24b82743b82fdf53840c9b009
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250800
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2019-10-30 14:18:16 +00:00
Jim Van Verth
7da048b5e8 Use texture for shadow falloff
Bug: b/142333639
Change-Id: I5c5bf4da0e2bb5f1b4233681dee305cf381c3e2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250096
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-30 13:40:16 +00:00
skia-autoroll
ebdae11449 Roll third_party/externals/angle2 95a736bd3347..bb35bb4e5379 (18 commits)
95a736bd33..bb35bb4e53

git log 95a736bd3347..bb35bb4e5379 --date=short --no-merges --format='%ad %ae %s'
2019-10-29 jmadill@chromium.org Vulkan: Implement simple case ANGLE_get_image.
2019-10-29 tobine@google.com Fix Renderbuffer support for unsized DS formats
2019-10-29 courtneygo@google.com Update docs for recent dEQP / VK-GL-CTS update
2019-10-29 courtneygo@google.com Print the testConfig in dEQP tests.
2019-10-29 ianelliott@google.com Vulkan Android: Remove support for EGLConfig's with GL_RGB10_A2 & GL_RGBA16F
2019-10-29 courtneygo@google.com Roll dEQP to VK-GL-CTS
2019-10-29 timvp@google.com Vulkan: Enable forceOldRewriteStructSamplers for all Android ICDs
2019-10-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src ec12de913124..42f885238114 (3 commits)
2019-10-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 1737a30e3e34..f8f6103eb89f (2 commits)
2019-10-29 jmadill@chromium.org Vulkan: Clean up redundant vk:: prefixes.
2019-10-29 jmadill@chromium.org Vulkan: Move readPixels logic to ImageHelper.
2019-10-28 mmynttinen@mozilla.com Fix MinGW include: s/VersionHelpers.h/versionhelpers.h/
2019-10-28 jmadill@chromium.org Plumb more logic for ANGLE_get_image.
2019-10-28 jmadill@chromium.org GN: Don't expose glslang when unused.
2019-10-28 jmadill@chromium.org Don't cc angle-team on Chromium DEPS rolls.
2019-10-28 jmadill@chromium.org Fixups to ANGLE_get_image boilerplate.
2019-10-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f44f7c066a67..1737a30e3e34 (1 commits)
2019-10-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src b34fa731931b..ec12de913124 (2 commits)

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

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 jcgregorio@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=jcgregorio@google.com
Change-Id: Ie8376bffd08230b7b45c6d84013407042a66fea3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251619
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-30 06:07:48 +00:00
skia-autoroll
c3a51a5e47 Roll third_party/externals/swiftshader f8f6103eb89f..e1cda3916cee (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f8f6103eb89f..e1cda3916cee

git log f8f6103eb89f..e1cda3916cee --date=short --no-merges --format='%ad %ae %s'
2019-10-29 sugoi@google.com vkGetPhysicalDeviceFeatures2 fix
2019-10-29 sugoi@google.com Provoking vertex fixes

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

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 jcgregorio@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.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
TBR=jcgregorio@google.com
Change-Id: I37e7b90f352e8c6444808b70452d645cf8ecabfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251618
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-10-30 04:37:48 +00:00
Chris Dalton
1ae54bc22f Add sampleVariablesStencilSupport to sksl standalone caps
TBR=ethannicholas@google.com

Change-Id: I53c2896470fd202f01f51c5aaddf3087b2cbb5ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251556
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-10-29 23:12:13 +00:00
Mike Klein
07c6c6668c work around x11/X.h #define pollution
Some nerve those folks have to #define None 0L.

Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-x86_64-Debug-SwiftShader
Change-Id: I0c84f78ec72672648d1c0bde69b6e05433b80d56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251516
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-10-29 22:52:23 +00:00
Hal Canary
014f540f70 BotsCfg/Perf/RemoteGlyphCache: bots to download and use traces
This runs the following benches in Perf-Android-*-CPU-* bots:
  - SkDiffBench-amazon
  - SkDiffBench-espn
  - SkDiffBench-googlecat
  - SkDiffBench-qq
  - SkDiffBench-taobao
  - SkDiffBench-wikicat
  - SkDiffBench-yahoo
  - SkDiffBench-youtube

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Android-Clang-NVIDIA_Shield-CPU-TegraX1-arm64-Release-All-Android

Change-Id: If8b51bd09cfb0bfcc04258bc68a94e1e4e24de90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251205
Commit-Queue: Hal Canary <halcanary@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-29 22:24:54 +00:00
Nigel Tao
2777cd37bf Have SkWuffsCodec use two Wuffs decoders
This allows onGetFrameCount to advance the stream (and return a higher
frame count), even when in the middle of a onIncrementalDecode sequence.

Such behavior is expected by Chromium's
TestResumePartialDecodeAfterClearFrameBufferCache:

https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/image-decoders/image_decoder_test_helpers.cc?l=365&rcl=23787ba147959ebf4ad168c595d5ec87919fdbd2

Bug: skia:8235
Change-Id: Iba7267468b02ce73455b362e50d8878f53b0ff88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/250937
Commit-Queue: Nigel Tao <nigeltao@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2019-10-29 22:17:43 +00:00
Stephen White
e662695654 Roll to ToT Dawn.
Change-Id: Iff890f62f8ecae29ce7024f2bba206a2770c2600
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251365
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-29 22:06:23 +00:00
Mike Klein
f6a89fde46 hold a ref on Key effects
This ensures we never confuse a dead effect pointer in our cache for a
different live effect that happens to be allocated at the same address
as the old one.  Never seen it happen yet, but it's possible.

Change-Id: If8aff141fb6d0a4e10f13a153b154bb14f5a8c1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251442
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-10-29 21:59:33 +00:00