Commit Graph

36960 Commits

Author SHA1 Message Date
Mike Klein
fc9624cb84 clamp after color pipeline when dst is normalized
Most code working with unorm values doesn't expect to see out-of-gamut
colors, but unorms _can_ store some out-of-gamut colors when
premultiplied and alpha is <1.

Clamping after the color (= shader + color filter) pipeline prevents us
from creating those values.  This CL does appear to fix the problem we
were seeing with xfermodes2 in the narrow config.

I've kept scalepixels_unpremul working by using our old trick,
remembering that unpremul->unpremul involves the same steps as
premul->opaque.  We'll take the unpremul pixels, pun them to premul to
avoid data loss, scale them up, and then avoid unpremul on the way out
by punning the surface as opaque.  It all kind of just barely hangs
together.

Change-Id: I677d00ecfe4692ba7799ae963d8b8d1ccd4b00ac
Reviewed-on: https://skia-review.googlesource.com/152200
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2018-09-06 19:08:19 +00:00
Mike Klein
06a215b768 add profile->profile mode to imgcvt
E.g.

out/imgcvt /System/Library/ColorSync/Profiles/ITU-2020.icc ~/skcms/profiles/mobile/sRGB_parametric.icc
(0, 0, 0) --> (+0.0000, +0.0000, +0.0000)
(1, 1, 1) --> (+0.9998, +0.9998, +0.9998)
(1, 0, 0) --> (+1.2481, -0.3879, -0.1435)
(0, 1, 0) --> (-0.7903, +1.0561, -0.3501)
(0, 0, 1) --> (-0.2992, -0.0886, +1.0503)
(0, 1, 1) --> (-0.8325, +1.0527, +1.0077)
(1, 0, 1) --> (+1.2239, -0.4000, +1.0428)
(1, 1, 0) --> (+1.0312, +1.0035, -0.3791)

Change-Id: Ieb38a3b519f00ae56491c3265ed9725888b692e9
Reviewed-on: https://skia-review.googlesource.com/152360
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-06 18:54:19 +00:00
swiftshader-skia-autoroll
a9564d6dae Roll third_party/externals/swiftshader ad5c2952ca88..787e3d5b4cb5 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ad5c2952ca88..787e3d5b4cb5


git log ad5c2952ca88..787e3d5b4cb5 --date=short --no-merges --format='%ad %ae %s'
2018-09-06 chrisforbes@google.com Fix eglChooseConfig behavior to match CTS expectation


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

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=jvanverth@google.com

Change-Id: Ie9d0c7c3a162678dc8cde0bb34917965224a0fc0
Reviewed-on: https://skia-review.googlesource.com/152340
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-06 18:10:51 +00:00
Cary Clark
e8161dd154 bookmaker self documentation
Clean up the documentation a bit.
Clean up old bugs.
Fix deprecated and experimental wording.

TBR=caryclark@skia.org
Docs-Preview: https://skia.org/?cl=151361
Bug: skia:
Change-Id: I6b2120069b3299fc9d1a63c13bb2bdbe5cd3b236
Reviewed-on: https://skia-review.googlesource.com/151361
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Auto-Submit: Cary Clark <caryclark@google.com>
2018-09-06 17:11:23 +00:00
angle-skia-autoroll
f019800c57 Roll third_party/externals/angle2 155bfd11e9f0..dff32a0da1de (1 commits)
155bfd11e9..dff32a0da1


git log 155bfd11e9f0..dff32a0da1de --date=short --no-merges --format='%ad %ae %s'
2018-09-06 oetuaho@nvidia.com Support multisample arrays in shader programs


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

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=jvanverth@google.com

Change-Id: I15c2320f505c93cbc1b7064fd1785102d1758e9c
Reviewed-on: https://skia-review.googlesource.com/152220
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-06 16:36:20 +00:00
recipe-roller
a5f0413b14 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/1e591dca21c6bddc02b7576bf7a834d98c451d75 Add Dawn got_revision_mapping to glient config (cwallez@chromium.org)
  https://crrev.com/b56a43a9064c35e81be989f5e86a19d9159d5edf Read the git config only once when doing a git cl issue -r lookup (bratell@opera.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0138a8ca432351d4690c52714359f6d0f5657149
Reviewed-on: https://skia-review.googlesource.com/152184
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-09-06 16:12:20 +00:00
Hal Canary
2d40490d4c Move some functions to MathPriv.h
Change-Id: I22c57a746e4a997fc03f35aa06b23d9fa9ed4fa9
Reviewed-on: https://skia-review.googlesource.com/152183
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-06 15:48:25 +00:00
Mike Klein
33d3d31a7e stop clamping in parametric stage
This is a very old legacy hack to work around
something we'd better have actually solved by now.

Just in case, guarded by SK_LEGACY_PARAMETRIC_CLAMP.

Change-Id: I9d6a62aded8b8898a4b2d2954dea9d0b4b8d3ac6
Reviewed-on: https://skia-review.googlesource.com/152042
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-06 12:55:26 +00:00
Ravi Mistry
c9d14aa33e Android compile bot target has changed. Update the bot name.
NoTry: true
Bug: skia:8339
Change-Id: Ic6e7da8d0b556593f02bf752a792c7fb38c3e0ad
Reviewed-on: https://skia-review.googlesource.com/151821
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-09-06 12:52:17 +00:00
Mike Klein
d30937a499 remove SkRandom::next64()
It appears to be unused, and exploits undefined behavior.

Change-Id: I935de36cd2f07e811958b1696afa62d410e1cb5f
Reviewed-on: https://skia-review.googlesource.com/152123
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2018-09-06 12:46:46 +00:00
Cary Clark
60ebf14ccc Revert "SkStream: remove some WStream functions from public api"
This reverts commit 8b68110507.

Reason for revert: breaks bots

Original change's description:
> SkStream: remove some WStream functions from public api
> 
> move functions to SkStringPriv.h
> 
> also add SkStrAppendU32Hex() function, and re-write
> SkString::insertHex() to use SkStrAppendU32Hex.
> 
> add unit tests.
> 
> Change-Id: Ieda98fb4106db71565b607e593713a91a5ddd892
> Reviewed-on: https://skia-review.googlesource.com/151986
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

TBR=halcanary@google.com,bungeman@google.com,caryclark@google.com,reed@google.com

Change-Id: Idbac615092f46c18b38e08385dafba20930f0ff0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/152121
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-09-06 12:22:41 +00:00
Kevin Lubick
f05ebf074a [PathKit] Fix document.write warning in docs.
Switch back to using unpkg.com since it's actually a CDN
not a GCS bucket just pretending (lower latency, better
compression, etc).

Also loads consistently since https://skia-review.googlesource.com/c/buildbot/+/152020
landed.

No-Try: true
Docs-Preview: https://skia.org/?cl=151826
Bug: skia:
Change-Id: I9a2a8d71ebc87e44a85bf7ec40d04a0279a97ff1
Reviewed-on: https://skia-review.googlesource.com/151826
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
2018-09-06 12:00:07 +00:00
Hal Canary
8b68110507 SkStream: remove some WStream functions from public api
move functions to SkStringPriv.h

also add SkStrAppendU32Hex() function, and re-write
SkString::insertHex() to use SkStrAppendU32Hex.

add unit tests.

Change-Id: Ieda98fb4106db71565b607e593713a91a5ddd892
Reviewed-on: https://skia-review.googlesource.com/151986
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-09-06 11:44:11 +00:00
Mike Klein
71f8475a0d Revert "update to new MakeFromStream signature"
This reverts commit edc6ea7a9e.

Reason for revert: need to update Flutter, Google3.

Original change's description:
> update to new MakeFromStream signature
> 
> Bug: skia:
> Change-Id: Ic18a45628905b90a2477043989ad4cb9fa11ab52
> Reviewed-on: https://skia-review.googlesource.com/151880
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>

TBR=djsollen@google.com,bungeman@google.com,reed@google.com

Change-Id: I22daf2cdb86f9e5ca3b78db45f8e15efe4b21005
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/152120
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-06 11:37:06 +00:00
angle-skia-autoroll
7da1a3df30 Roll third_party/externals/angle2 750e508722a9..155bfd11e9f0 (4 commits)
750e508722..155bfd11e9


git log 750e508722a9..155bfd11e9f0 --date=short --no-merges --format='%ad %ae %s'
2018-09-05 jiajia.qin@intel.com Fix that same resource is bound on SRV and UAV simultaneously
2018-09-05 jmadill@chromium.org Update update_canary_angle script.
2018-09-05 jmadill@chromium.org Update jsoncpp DEPS.
2018-09-05 jmadill@chromium.org Small style guide amendments.


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

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=jvanverth@google.com

Change-Id: Ief52755d4bb97605c593cb0b27aa01a670ba2a1d
Reviewed-on: https://skia-review.googlesource.com/152100
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-06 02:25:14 +00:00
Mike Reed
edc6ea7a9e update to new MakeFromStream signature
Bug: skia:
Change-Id: Ic18a45628905b90a2477043989ad4cb9fa11ab52
Reviewed-on: https://skia-review.googlesource.com/151880
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2018-09-06 00:43:20 +00:00
recipe-roller
ffbcc3fadf 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/2138a9dddaede3f377b838d0227bf4c88d6e7aa0 [cipd] Add better describe simulation behavior. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0fd36c4d2b6b55224c6b06e10f114a6fd427145b
Reviewed-on: https://skia-review.googlesource.com/151985
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-09-05 23:06:50 +00:00
recipe-roller
33dc0dc9f6 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/01f0c698fb898168940718c5616ed3f6bb6c1b18 bot_update: Specify the target branch for patch_refs. (ehmaldonado@chromium.org)


R=rmistry@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibd4e7c583706b717ab2b0db68d619ed914bf8c5d
Reviewed-on: https://skia-review.googlesource.com/151984
Reviewed-by: Edward Lemur <ehmaldonado@google.com>
2018-09-05 22:39:40 +00:00
swiftshader-skia-autoroll
0c3dc59fc1 Roll third_party/externals/swiftshader fe5861bf5bb1..ad5c2952ca88 (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fe5861bf5bb1..ad5c2952ca88


git log fe5861bf5bb1..ad5c2952ca88 --date=short --no-merges --format='%ad %ae %s'
2018-09-05 capn@google.com Move ConvertReadFormatType to utilities.
2018-09-05 capn@google.com Remove quad-layout depth formats from sampler.
2018-09-05 capn@google.com Implement GL_NV_read_depth_stencil.
2018-09-05 capn@google.com Refactor glReadPixels validation.
2018-09-05 capn@google.com Implement GL_OES_fbo_render_mipmap.


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

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=jvanverth@google.com

Change-Id: Ia3de8daf40ecddbff32deae22599ffa0278446a6
Reviewed-on: https://skia-review.googlesource.com/152080
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-05 22:19:21 +00:00
Mike Klein
c4e4063a84 fix sw extended transfer functions
We were not mirroring negative numbers about the y axis.

This is most visible when we hit the gamma-only fast path,
as the linear segment of a 7-parameter function will at
least still produce real-valued colors...

Bug is present when SK_LEGACY_EXTENDED_TRANSFER_FUNCTIONS,
fixed when not.

PS1 forgot from_srgb/to_srgb.

Bug: chromium:875650
Change-Id: I84a68be7f6a3cf6e847011cbab5aeab18f7fa38a
Reviewed-on: https://skia-review.googlesource.com/152000
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-05 21:51:22 +00:00
Mike Klein
64bbee7ab2 fix typo
Change-Id: I8fe8d4d6dfe5332e6a3995e8519cc42e4e74caff
Reviewed-on: https://skia-review.googlesource.com/152041
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-05 21:32:18 +00:00
Mike Klein
d505b19c05 add src/opts headers to .gni files
Chrome's analyze step uses GN and doesn't see changes
to these files as mattering to anything.

I've kept the ones particular to old style opts in
each of their particular targets, and the ones that
are included multiple times (including from outside
src/opts) in core.  Kind of arbitrary, but it's at
least close to the right slicing.

Change-Id: I2a5aaeca5b6287c13d7365ec1b63158f48e4e84a
Reviewed-on: https://skia-review.googlesource.com/152040
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-05 20:31:09 +00:00
Brian Salomon
343553a1fe Don't use MEM_MOVE=true with SkTArrays of sk_sp
The code generated from std::move()ing them should be fine.

Bug: skia:8355
Change-Id: I63ef650b5fbcf9fb6356006190eae5e0977ae642
Reviewed-on: https://skia-review.googlesource.com/151982
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-05 20:11:07 +00:00
Jim Van Verth
da58cac61d Rip out variable offsetting
Bug: skia:
Change-Id: I0ca1f3b60d05ce02d1e53bb8b989c9dc1babddd1
Reviewed-on: https://skia-review.googlesource.com/150915
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-09-05 19:54:31 +00:00
Brian Salomon
8e449ebec3 Fix GrAAConvexTessellator to handle cases slightly concave bistectors.
When repeatedly insetting rings we can wind up with bisector vectors
that correspond to a slightly concave ring. This would cause the first
intersection when computing the next ring's inset depth to be outside
the current ring. Instead skip adjacent bisectors that intersect outside
the ring during the search.

Change-Id: I3efab5a9f44966888cfa86715876b7b177950732
Reviewed-on: https://skia-review.googlesource.com/151827
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-05 19:46:30 +00:00
recipe-roller
8d6a90e8b6 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/b93bbf63414b69ca70b4fc85020c31518fbed812 [buildbucket] Remove tags from test_api.py (nodir@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia948aa55f7c8e979050bbe0a7996460e50cbcffc
Reviewed-on: https://skia-review.googlesource.com/151980
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-09-05 19:34:20 +00:00
Herb Derby
d3895d867c Centralize the predicate for a glyph being too large for the atlas
Centralize the calculation to SkGlyphCacheCommon. This allows this
function to be used with NO_GPU.

In addition, this was used in the last remaining function in GrTest.
That function was used in a single place. I made the function a static
and remove GrTest.h. This had massive knock-on effects.

Change-Id: I80f874a988f9af4383a83acf7c273d23b8d67c22
Reviewed-on: https://skia-review.googlesource.com/151480
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-05 19:25:29 +00:00
Brian Salomon
20ea47a5d9 Fix missing triangle when miter point omitted in GrAAConvexTessellator.
This issue is seen in the existing GPU results for GM "strokes_round".

Detected while investigating the below bug. However, the real bug there
caused by bad tessellations appears to be coming from
GrAAConvexPathRenderer.

BUG=chromium:851637

Change-Id: If4e653d10823d53f68bb9bf6bb77875cf391426f
Reviewed-on: https://skia-review.googlesource.com/151368
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-05 19:20:49 +00:00
Brian Osman
1ada9f3197 Remove SK_USE_LEGACY_PRIMARIES_TO_XYZ
Bug: skia:
Change-Id: I2545c328a9e94250b09038ce869c94bce6377376
Reviewed-on: https://skia-review.googlesource.com/151823
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-05 19:01:23 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
76365c6a09 Roll skia/third_party/skcms 8a251fa55434..da4870efd7b7 (1 commits)
https://skia.googlesource.com/skcms.git/+log/8a251fa55434..da4870efd7b7

2018-09-05 mtklein@chromium.org another profile that reproduces this bug


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=jvanverth@google.com

Change-Id: Ie76e46dd5afa54724a4d8ccf297e03cb14b5402c
Reviewed-on: https://skia-review.googlesource.com/151920
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-05 18:46:00 +00:00
Cary Clark
a24712e4dc Revert "makeSurface defaults to raster"
This reverts commit 29a4a684af.

Reason for revert: some configs fail

Original change's description:
> makeSurface defaults to raster
> 
> Rather that returning nullptr for a recording
> canvas, return a raster canvas instead.
> 
> R=​reed@google.com,robertphillips@google.com
> 
> Bug: skia:
> Change-Id: I211d8ef368b9aec6d14cc72d1652ac6a03f3fa7b
> Reviewed-on: https://skia-review.googlesource.com/151666
> Commit-Queue: Cary Clark <caryclark@skia.org>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,reed@google.com,caryclark@skia.org

Change-Id: I82d2c3e4589a2ca8523bbf86884ed68b1431631d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/151824
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-09-05 18:41:45 +00:00
Greg Daniel
469dd659a5 On GrAHardwareBufferImageGenerator store the owned texture as a GrGpuResource instead of GrTexture.
Disassembly before change (crash on deref at  861310)
_ZN31GrAHardwareBufferImageGenerator17releaseTextureRefEv():
 861297 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:112
 861298   1eb738:       91010280        add     x0, x20, #0x40
 861299   1eb73c:       aa1f03e1        mov     x1, xzr
 861300   1eb740:       97fc287c        bl      f5930 <_ZN5sk_spI14GrTextureProxyE5resetEPS0_>
 861301 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:113
 861302   1eb744:       f9401a88        ldr     x8, [x20,#48]
 861303   1eb748:       b4000168        cbz     x8, 1eb774 <_ZN31GrAHardwareBufferImageGenerator17onGenerateTextureEP9GrContextRK11SkImageInfoRK8SkIPointb+0xac>
 861304 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:117
 861305   1eb74c:       f9400109        ldr     x9, [x8]
 861306 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:118
 861307   1eb750:       9101c3e0        add     x0, sp, #0x70
 861308 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:117
 861309   1eb754:       b9403a8a        ldr     w10, [x20,#56]
 861310   1eb758:       f85e8129        ldur    x9, [x9,#-24]
 861311   1eb75c:       b9007bea        str     w10, [sp,#120]
 861312   1eb760:       8b090108        add     x8, x8, x9
 861313   1eb764:       f9003be8        str     x8, [sp,#112]
 861314 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:118
 861315   1eb768:       97fffef6        bl      1eb340 <_ZN12SkMessageBusI25GrGpuResourceFreedMessageE4PostERKS0_>
 861316 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:119
 861317   1eb76c:       f9001a9f        str     xzr, [x20,#48]
 861318 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:120
 861319   1eb770:       b9003a9f        str     wzr, [x20,#56]

Disassembly with change (no more derefs):
 768904 _ZN31GrAHardwareBufferImageGenerator17releaseTextureRefEv():
 768905 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:105
 768906   1b0c94:       91010260        add     x0, x19, #0x40
 768907   1b0c98:       aa1f03e1        mov     x1, xzr
 768908   1b0c9c:       97fcb2a9        bl      dd740 <_ZN5sk_spI14GrTextureProxyE5resetEPS0_>
 768909 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:106
 768910   1b0ca0:       f9401a68        ldr     x8, [x19,#48]
 768911   1b0ca4:       b4000108        cbz     x8, 1b0cc4 <_ZN31GrAHardwareBufferImageGenerator9makeProxyEP9GrContext+0x84>
 768912 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:110
 768913   1b0ca8:       b9403a69        ldr     w9, [x19,#56]
 768914 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:111
 768915   1b0cac:       9100c3e0        add     x0, sp, #0x30
 768916 external/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp:110
 768917   1b0cb0:       f9001be8        str     x8, [sp,#48]
 768918   1b0cb4:       b9003be9        str     w9, [sp,#56]

Bug: b/112859199
Change-Id: I5afab9b2bc6a3c13d2606ac9e09fb55929a14426
Reviewed-on: https://skia-review.googlesource.com/151822
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-05 18:40:58 +00:00
Cary Clark
29a4a684af makeSurface defaults to raster
Rather that returning nullptr for a recording
canvas, return a raster canvas instead.

R=reed@google.com,robertphillips@google.com

Bug: skia:
Change-Id: I211d8ef368b9aec6d14cc72d1652ac6a03f3fa7b
Reviewed-on: https://skia-review.googlesource.com/151666
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-05 17:36:49 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
f3f448469b Roll skia/third_party/skcms 80e0493eab5f..8a251fa55434 (1 commits)
https://skia.googlesource.com/skcms.git/+log/80e0493eab5f..8a251fa55434

2018-09-05 mtklein@google.com Add another profile to the test set.


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-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=master.tryserver.blink:linux_trusty_blink_rel
TBR=jvanverth@google.com

Change-Id: I492ff2bd3d082276e823f27f0dfa4ebfdfd9086f
Reviewed-on: https://skia-review.googlesource.com/151801
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-05 17:32:19 +00:00
angle-skia-autoroll
681cacc7ef Roll third_party/externals/angle2 cc0466301999..750e508722a9 (1 commits)
cc04663019..750e508722


git log cc0466301999..750e508722a9 --date=short --no-merges --format='%ad %ae %s'
2018-09-05 jmadill@chromium.org Update style guide.


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

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=jvanverth@google.com

Change-Id: Id9c4620e41a327d761ee84c9add333d81ca8f3ca
Reviewed-on: https://skia-review.googlesource.com/151800
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-05 17:30:42 +00:00
recipe-roller
2606742b98 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/3810d923a1db3efaa75734efef8708fa5e0d6a1d Add a sentinel object for representing all return codes are ok. (gbeaty@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia8cd0f7bd33e299dc544a15a94b350511bbb5a56
Reviewed-on: https://skia-review.googlesource.com/151762
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-09-05 17:04:53 +00:00
Brian Osman
2e52460ff9 Add error handling logic to viewer's GLX context creation
This may prevent unrecoverable crashes when attempting to create a
compatibility profile with Intel drivers.

Bug: skia:
Change-Id: I24c1bfe01fed40026c9b467144f454846d6b5b34
Reviewed-on: https://skia-review.googlesource.com/151760
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-09-05 17:04:13 +00:00
Mike Reed
32ade4cedf Deliberately call typefaceproc only once per face in pictures
Before this CL, the new test would write out 2 copies of each typeface,
since each one is referenced twice in the picture.

Bug: skia:
Change-Id: I6ebfe6b5ea0bb0cca2869ef0cccad21a51e48411
Reviewed-on: https://skia-review.googlesource.com/151667
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-09-05 16:45:16 +00:00
Brian Osman
9d1c88d991 Replace SkColor with SkColor4f in layer draw looper
Change-Id: I0eff3fd535472b97a9192de6ea87c2fab1d67568
Reviewed-on: https://skia-review.googlesource.com/151520
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-05 16:36:15 +00:00
Robert Phillips
22310d6f28 Begin centralizing opList DAG
For incremental topological sorting to work we need a choke point for adding opLists and dependencies. This new class will be that choke point.

Change-Id: I47ad6aa20f99cd03cd7e051f977d146a96f1734b
Reviewed-on: https://skia-review.googlesource.com/150614
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-05 16:07:52 +00:00
Brian Osman
da2dc5b25b Enforce range in SkPaint::setAlpha
This restores behavior from before SkColor4f (that was being enforced
via SkColorSetARGB).

Bug: skia:
Change-Id: I1f206366c96d20d87918117546de9bba08db28ad
Reviewed-on: https://skia-review.googlesource.com/151665
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-05 15:49:18 +00:00
Mike Klein
5595f6ef0e clean up S16CPU
S16CPU is used only inside Skia, and only sparsely.

    - SkRandom::nextS16() and nextU16() were used rarely enough
      that it makes things simpler to get rid of them.
    - SkAlphaBlend255() was unused outside tests.
    - SkIntToFDot6() looks like it really wants to take an int.

Change-Id: I3ca773beb6c04c691947d4602f27c819b660554d
Reviewed-on: https://skia-review.googlesource.com/151700
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-05 15:48:04 +00:00
Cary Clark
bbe8ff9a17 add color4f to docs
Add SkPaint::setColor4f and getColor4f.

R=brianosman@google.com
NOTRY=true
Docs-Preview: https://skia.org/?cl=151761
Bug: skia:6898
Change-Id: If7966a4e98318a145870f3d17bd6dbc1b3cf9439
Reviewed-on: https://skia-review.googlesource.com/151761
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-05 15:46:15 +00:00
Stephan Altmüller
65480597d8 Refresh gcloud asset to include BigTable emulator
Note: This is also used by the infra repository.

Bug: skia:
Change-Id: Icc0dd23783ea96c0eacf123e70f9c1e2129d4365
Reviewed-on: https://skia-review.googlesource.com/151668
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
2018-09-05 15:35:44 +00:00
Hal Canary
9e41c216de SkPDF: use more vector<>, more sk_sp<>, cleanup.
All PDFs are identical.

Change-Id: If2af8519a6440a5b61f91bf78fc7ae241f728183
Reviewed-on: https://skia-review.googlesource.com/151220
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-09-05 15:12:16 +00:00
Ben Wagner
211511237f Make Slide::getDimensions pure virtual.
The default behavior is to not let the user move the slide to the top or
left. Implement for SampleSlide and stub out for NIMASlide (which isn't
so easy to implement).

Change-Id: I16074e704f4086199932d83e28c28d1ee39fbd9d
Reviewed-on: https://skia-review.googlesource.com/151600
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-05 15:05:14 +00:00
Mike Klein
7af2bc8802 more skcolorspace cleanup
This time with infinitely less stack usage.

Change-Id: Ic0b4662203eb2787fd9d793fee65ebcd592ad5f3
Reviewed-on: https://skia-review.googlesource.com/151420
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-05 14:39:31 +00:00
Brian Osman
b0f4d0a658 Reland "Switch SkPaint's color to SkColor4f"
This reverts commit cacf496a9d.

Reason for revert: Android tests have been updated.

Original change's description:
> Revert "Switch SkPaint's color to SkColor4f"
> 
> This reverts commit ee87c8629c.
> 
> Reason for revert: Android tests.
> 
> Original change's description:
> > Switch SkPaint's color to SkColor4f
> > 
> > Change-Id: Ic2b83a05739720013a7c30ec014df0747b3f99a5
> > Reviewed-on: https://skia-review.googlesource.com/149229
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
> 
> TBR=djsollen@google.com,mtklein@google.com,brianosman@google.com,reed@google.com
> 
> Change-Id: I85efd020598d70cbfb90c4f4af7d33482a3d7280
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/151544
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: Ifb817ab496fef22a7b1306af82186c6badbfa992
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/151664
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-05 14:16:33 +00:00
Brian Osman
625186cd59 Fix typo in viewer docs
No-Try: true
Docs-Preview: https://skia.org/?cl=151663
Bug: skia:
Change-Id: I7c535c6c13251210d9842f1ddbb7425dd222a423
Reviewed-on: https://skia-review.googlesource.com/151663
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-09-05 14:14:22 +00:00
Greg Daniel
74b1c01cdd Fix freeing of vulkan feature structs is test context.
If the CreateVkBackendContext fails, we need to make the
VkphysicalDeviceFeatures2 struct at least has null filled into its
pNext so the FreeVulkanFeaturesStructs calls doesn't try to free
random memory.

Bug: skia:
Change-Id: I171d125ccba087cdd39595aca815d95463115b19
Reviewed-on: https://skia-review.googlesource.com/150139
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-09-05 13:25:12 +00:00