Commit Graph

38074 Commits

Author SHA1 Message Date
Herb Derby
b07aba4214 Move remove ptr args to MakeRecAndEffects
Move this conversion out through the transitive closure of calls. As you
move up the stack, everything becomes refs instread of pointers.

Reorder args of MakeRecAndEffects and setupCache to match the majority of other
calls.

Change-Id: I72baf457cd9140f76ee5f7122493284c4be5bcd0
Reviewed-on: https://skia-review.googlesource.com/c/169765
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-09 18:11:50 +00:00
Hal Canary
b07ed8fb07 SkQP: revert change that broke something
reverts c1b131195b & b52c273d3f

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Change-Id: I9efa459cdda63fae0aff75207a01128a642d0a42
Reviewed-on: https://skia-review.googlesource.com/c/170101
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-11-09 18:00:15 +00:00
Mike Klein
6a2c42f893 clean up SkBlitRow_opts
SSE2 and NEON are common baseline instruction sets now,
so there's no need to runtime detect support for these routines.

I simplified the SSE and portable implementations while moving them.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I34e96851735c8d7ad90198f3ac4bf86ff508f17c
Reviewed-on: https://skia-review.googlesource.com/c/170220
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 17:58:05 +00:00
Hal Canary
7600cb3566 SkQP run_skqp.sh catches crashes and failures now.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Change-Id: I471b21a869f73b3b0a6d142d6eb7f1fc04fdfea5
Reviewed-on: https://skia-review.googlesource.com/c/170103
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-09 17:36:46 +00:00
Jim Van Verth
0e67194586 Merge common code for SkImage_Gpu and SkImage_GpuYUVA.
Bug: skia:7903
Change-Id: I29957babe65e9e1c505166d01490233fe542a559
Reviewed-on: https://skia-review.googlesource.com/c/169824
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-09 17:33:19 +00:00
Mike Klein
32828eb006 move LCD blits to SkBlitter_ARGB32.cpp
They're only specialized up to SSE2 or NEON,
both of which are typical baseline builds now.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: If2b2bbd5b002038c68c0064ee78d75911a33b988
Reviewed-on: https://skia-review.googlesource.com/c/170064
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 17:03:06 +00:00
Michael Ludwig
879dab87ab Improve degenerate 2pt conical gradient cases
This was originally a reland of "Fix div-by-zero loophole in gradient factory func", c34dd6c526, but:

The change caused blink layout tests when encountering very small or zero radii. The original patch switched the order of checking if the radii are equal and if the start radius was 0. In the case where both radii are 0, the original code created an actual radial gradient of radius 0 and the new code rejected the shader. A radial gradient with radius of 0 properly renders the last border color as a fill.

This made me realize that the case when the center positions and the radii are the same can be handled more correctly than just always returning an empty shader, so the fix now applies simplifications to the gradient definition depending on the tile mode and should not trigger any blink tests. I added a row to the gradient edge cases GM to make sure it degrades gracefully.

Original change's description:
> Fix div-by-zero loophole in gradient factory func
>
> Bug: oss-fuzz:10373
> Change-Id: I4277fb63e3186ee34feaf09ecf6aeddeb532f9c1
> Reviewed-on: https://skia-review.googlesource.com/c/168269
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

Docs-Preview: https://skia.org/?cl=168487
Bug: oss-fuzz:10373
Change-Id: Ib0a6e7f807560a5dcf24d1c8e0146817af2d9606
Reviewed-on: https://skia-review.googlesource.com/c/168487
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-09 16:36:05 +00:00
Mike Reed
0b50838beb Reland "remove guards for hinting in google3"
This reverts commit 2b5edcbe4e.

Reason for revert: moved these flags into Google3 BUILD

Original change's description:
> Revert "remove guards for hinting in google3"
> 
> This reverts commit 761f390470.
> 
> Reason for revert: more google3
> 
> Original change's description:
> > remove guards for hinting in google3
> > 
> > Bug: skia:
> > Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
> > Reviewed-on: https://skia-review.googlesource.com/c/170102
> > Reviewed-by: Mike Reed <reed@google.com>
> 
> TBR=reed@google.com
> 
> Change-Id: I7482ad95a60676d1cb9cb2d52575c28c1bb5be33
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/170106
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I6b53ea215730bd1794ad4665d01fa1b2de749173
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/170107
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 16:31:01 +00:00
Mike Reed
2b5edcbe4e Revert "remove guards for hinting in google3"
This reverts commit 761f390470.

Reason for revert: more google3

Original change's description:
> remove guards for hinting in google3
> 
> Bug: skia:
> Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
> Reviewed-on: https://skia-review.googlesource.com/c/170102
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I7482ad95a60676d1cb9cb2d52575c28c1bb5be33
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/170106
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-09 16:24:11 +00:00
Mike Klein
ef4709b785 move blend-row routines to SkBlitter_ARGB32.cpp
SkBlend::RowFactory is only ever used to pass these function
pointers from SkBlitMask_D32.cpp to SkBlitMask_ARGB32.cpp,
so let's eliminate the middleman.

Change-Id: If74af775bb3cdc3eec9dc4ebeb180ac42b184a54
Reviewed-on: https://skia-review.googlesource.com/c/170062
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 15:41:21 +00:00
Mike Klein
a3741a6152 get familiar with SkBlitMask_D32.cpp
- some refactoring
  - remove SK_RESTRICT
  - try to remove SK_SUPPORT_LEGACY_A8_MASKBLITTER

Change-Id: I3a270fa2423a66f6e49e5f4f89593a27a9a26e9f
Reviewed-on: https://skia-review.googlesource.com/c/170061
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 15:35:21 +00:00
Greg Daniel
919c9e77c3 Revert "Have a GrBackendFormat be stored on gpu proxies."
This reverts commit 51b1c12bbc.

Reason for revert: reverting till flutter gets to 1.1 to fix build issues.

Original change's description:
> Have a GrBackendFormat be stored on gpu proxies.
>
> Bug: skia:
> Change-Id: Iaf1fb24ab29a61d44e5fa59a5e0867ed02dcda90
> Reviewed-on: https://skia-review.googlesource.com/c/168021
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com

Change-Id: I574fdc084ef5994596c51fb0d60423b5dc01b885
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:903701 chromium:903756
Reviewed-on: https://skia-review.googlesource.com/c/169835
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-09 15:33:23 +00:00
Mike Klein
60c0c8fcd5 remove unused typedef
Change-Id: Ifa2b32b50f0ac04c15c4c9bb1f89272a4689a8f6
Reviewed-on: https://skia-review.googlesource.com/c/170063
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 15:21:49 +00:00
Hal Canary
974200c16f SkQP: script: fix non-existant build path
https://chromium-swarm.appspot.com/task?id=410f577c2dffb310

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-NUC7i5BNK-CPU-Emulator-x86-devrel-All-Android_SKQP

Change-Id: I202967ccae5cda14bf7c904d8763eb54dbca6a8f
Reviewed-on: https://skia-review.googlesource.com/c/170100
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-09 14:58:19 +00:00
Mike Reed
761f390470 remove guards for hinting in google3
Bug: skia:
Change-Id: I99449d4688d33aec6fda56965984938050b7de3f
Reviewed-on: https://skia-review.googlesource.com/c/170102
Reviewed-by: Mike Reed <reed@google.com>
2018-11-09 14:50:57 +00:00
Nathan Rogers
c03ad1714b Fix another typo in SkSize comments
Didn't notice that this was on both SkISize and SkSize the first time
around.

Change-Id: I20d7da0f653aeb4810ab67c9991646b16670497a
Reviewed-on: https://skia-review.googlesource.com/c/169889
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 14:49:34 +00:00
Nigel Tao
612a65dd8b Merge SkFooAdapterCodec impls into one impl
Bug: skia:
Change-Id: I5071e45979c1bbfc56ad994367a039390e2519f9
Reviewed-on: https://skia-review.googlesource.com/c/169920
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-09 14:48:44 +00:00
Mike Klein
c244c2fbbb remove SkBlitMask::PlatformRowProcs
It always returns nullptr.

Change-Id: I8d24e0f771f292faba5192cbdd311544153d1f3a
Reviewed-on: https://skia-review.googlesource.com/c/170060
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-09 14:29:10 +00:00
skia-recreate-skps
88e15bdaf5 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: Ie2491925d168b5e8a17a1eaedc6a9043d093e965
Reviewed-on: https://skia-review.googlesource.com/c/170042
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-09 05:57:17 +00:00
skia-autoroll
9d9c0c542b Roll third_party/externals/angle2 d856ca48f425..5d2dfa46c05c (2 commits)
d856ca48f4..5d2dfa46c0


git log d856ca48f425..5d2dfa46c05c --date=short --no-merges --format='%ad %ae %s'
2018-11-09 jiajia.qin@intel.com ES31: Add array of arrays support in SSBO
2018-11-09 yizhou.jiang@intel.com Enable texture multisample extension on ES3 D3D


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

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

Change-Id: I8a38243255fc0ce269c0707b495d9709d4cac364
Reviewed-on: https://skia-review.googlesource.com/c/170002
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-09 04:41:19 +00:00
skia-autoroll
22b0ec4f83 Roll third_party/externals/swiftshader 8aa74a426521..635c9b33fe7c (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8aa74a426521..635c9b33fe7c


git log 8aa74a426521..635c9b33fe7c --date=short --no-merges --format='%ad %ae %s'
2018-11-09 sugoi@google.com Fixed warnings in the Vulkan project


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

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

Change-Id: I909200cb45521a4feb3cf298f1baaeb670977f24
Reviewed-on: https://skia-review.googlesource.com/c/170000
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-09 03:24:20 +00:00
Ben Wagner
a1b4306966 Update Win10 in Skolo.
Change-Id: I5847b25fea9a470bcaa32ca21831a22c46bd5451
Reviewed-on: https://skia-review.googlesource.com/c/169980
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-11-09 03:08:56 +00:00
Cary Clark
4a23bbf823 fix doc paint hinting examples
Some references to the old hint enum
remained, so switch them over.

This fixes bookmaker nightly.

TBR=reed@google.com
NOTRY=true
Docs-Preview: https://skia.org/?cl=169825
Bug: skia:
Change-Id: I2d13ae85e6e14e3445a03e361a50e91bb3bdedd2
Reviewed-on: https://skia-review.googlesource.com/c/169825
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-11-09 00:48:17 +00:00
skia-bookmaker
fe60bfb010 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I289dc24d46bf77b08268ce9edbbf92b672702bfe
Reviewed-on: https://skia-review.googlesource.com/c/169885
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2018-11-08 23:52:39 +00:00
skia-autoroll
c150acf4f2 Roll third_party/externals/swiftshader 825d344daa31..8aa74a426521 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/825d344daa31..8aa74a426521


git log 825d344daa31..8aa74a426521 --date=short --no-merges --format='%ad %ae %s'
2018-11-08 sugoi@google.com Vulkan image formats


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

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

Change-Id: Ia5edddda804c3b4e8a085a5baa5d3c11ced6faf2
Reviewed-on: https://skia-review.googlesource.com/c/169900
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-08 23:39:36 +00:00
recipe-roller
c2cb5cf40c 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/1d2946bb084674c88231efb63f95f55639d5df5d Revert "Roll recipe dependencies (trivial)." (martiniss@chromium.org)
  https://crrev.com/9340ca098680c83651e722cd3ac33a0c8bbe64eb Allow gsutil recipe_module calls to not always be infra_steps. (bpastene@chromium.org)
recipe_engine:
  https://crrev.com/a5a5b1ee65266762db9839ed8ac32eb325c53dca Remove old run code (martiniss@google.com)
  https://crrev.com/0c993cb828b335e2fc0528c149f8060c35ebf0ac Revert "Remove old run code" (martiniss@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If3705d16e5aece6248594e3297429eecdc79f1d8
Reviewed-on: https://skia-review.googlesource.com/c/169834
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-11-08 23:39:06 +00:00
Kevin Lubick
df3a6eee13 Add JSFiddle to cloudbuild
This is a little more complicated than other builds because we need
the webassembly binaries out fo skia-wasm-release when we do the webpack
step and we can't run docker (e.g. docker run skia-wasm-release cp foo.wasm)
inside of the skia-public/infra:prod image.

To get around this limitation, we add a step that extracts the binaries to
a /workspace/wasm-products folder (which persists between steps) and mount
that folder as a volume for when we make the jsfiddle output. The only tricky
thing is that we must manually mount the /workspace/__jsfiddle_staging folder
as a volume too, or it doesn't persist to the build step.

Something similar will be needed for skottie.skia.org after
https://skia-review.googlesource.com/c/buildbot/+/169700 lands.

Bug: skia:
Change-Id: Iec05fff7231a28ecfa209489e5c75a9621b334d2
Reviewed-on: https://skia-review.googlesource.com/c/169821
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-11-08 22:53:25 +00:00
Mike Reed
c556c16fd3 remove obsolete guards for hinting enum
Bug: skia:
Change-Id: I694c9b4637d3979e7a11e1ff2c4b51acef59d405
Reviewed-on: https://skia-review.googlesource.com/c/169831
Reviewed-by: Mike Reed <reed@google.com>
2018-11-08 21:57:44 +00:00
Mike Klein
5b73b5baf1 there's no point moving a const sk_sp
Change-Id: Ie66aca5a4d8859b633c18d289495d1af3fd147d4
Reviewed-on: https://skia-review.googlesource.com/c/169764
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-11-08 21:00:58 +00:00
Mike Klein
dd650c40d1 disable unit tests in Google3
Many of them will start failing or crashing
once we set SK_DISABLE_READ_BUFFER there.

Alternatively, we could see if we can get away without
SK_DISABLE_READ_BUFFER.  It's small value compared to
the other flags.

Change-Id: I447cbd09f68afed81b4b1db8cc234abd22389d46
Reviewed-on: https://skia-review.googlesource.com/c/169762
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-08 20:19:10 +00:00
Jim Van Verth
f542cabaf7 Construct mipmaps for internal YUVA planes
Bug: skia:7901
Change-Id: I4d42ad752b18cc1cfbbb5d41eafc499c0541858b
Reviewed-on: https://skia-review.googlesource.com/c/169242
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-11-08 20:08:11 +00:00
Florin Malita
dcc9d0668c [skottie] Add skottie_tool srcs/includes to public.bzl
Change-Id: I5f45a967031ff8d02ea24483807944be64ec5270
Reviewed-on: https://skia-review.googlesource.com/c/169823
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-11-08 20:08:03 +00:00
Herb Derby
dc214c2cb5 Move (re)generation of the GrTextBlob from GrTextContext to the blob
This resolves many scoping issues, which complicate this code.

Change-Id: Ib0d283d95ff8a563176a333c8d388947650df4d2
Reviewed-on: https://skia-review.googlesource.com/c/169761
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-08 19:51:15 +00:00
Greg Daniel
51b1c12bbc Have a GrBackendFormat be stored on gpu proxies.
Bug: skia:
Change-Id: Iaf1fb24ab29a61d44e5fa59a5e0867ed02dcda90
Reviewed-on: https://skia-review.googlesource.com/c/168021
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-11-08 19:44:55 +00:00
Cary Clark
885f10787b fix bookmaker
more strict bookmaker rules are now in effect;
all methods require documentation, and all documentation
is checked for accuracy.

In this case, the multiple temporary copies of SkPaint::getHinting
and SkPaint::setHinting are checked.

In an upcoming change, bookmaker will ignore symbols marked
as deprecated, experimental, or private; making this bookmaker's
strictness a little more palatable.

TBR=reed@google.com

Docs-Preview: https://skia.org/?cl=169822
Bug: skia:
Change-Id: If1bc079a13828a5ca435911338b9c75acbe8ad6f
Reviewed-on: https://skia-review.googlesource.com/c/169822
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-11-08 19:02:39 +00:00
Florin Malita
909e61c26c Fix LinearGradient4fContext::shadeSpanInternal fuzz
shadeSpanInternal() converts the count to float -> for ridiculously
wide devices, it may not be represented exactly -> we end up potentially
overflowing the dest buffer.

Refactor to stay in int -- this works because SkScalarTruncToInt now
saturates, and it also appears to be marginally faster.

Bug: skia:8536
Change-Id: Ia0b39543ef347332f545af11eabae84c63813fcd
Reviewed-on: https://skia-review.googlesource.com/c/169740
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-11-08 18:59:53 +00:00
Mike Klein
389528d8d8 streamline memset cases in SkRasterPipelineBlitter
The attached Chromium bug got me looking at profiles of .skps that
render very quickly, mostly with memset, and I noticed a few little
microoptimizations to make.

This prebakes a bit more of the blitter memset logic, trimming redundant
calls to SkImageInfo::shiftPerPixel().  This also reduces the number of
lookups of the various SkOpts::memsetNN function pointers from being
once per row to once per rectangle being memset.

Bug: chromium:903195
Change-Id: Ifdee266ecd28be6266ea640fec754399035f083e
Reviewed-on: https://skia-review.googlesource.com/c/169681
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-08 18:48:40 +00:00
Nigel Tao
0185b9578d Have SkWuffsCodec use a SkSwizzler
To measure the performance impact, I patched in
https://skia-review.googlesource.com/c/skia/+/162980 "Add
bench/DecodeBench.cpp" and took the best time (the "min" column):

gcc 7.3, x86_64 Broadwell

 Other   Before    After
11.6ms   7.58ms   5.01ms  Decode_GIF_test640x479.gif
21.0ms   15.8ms   11.9ms  Decode_GIF_flightAnim.gif
79.8µs   60.1µs   46.6µs  Decode_GIF_color_wheel.gif

As ratios:

 Other   Before    After
 2.31x    1.51x    1.00x  Decode_GIF_test640x479.gif
 1.76x    1.33x    1.00x  Decode_GIF_flightAnim.gif
 1.71x    1.29x    1.00x  Decode_GIF_color_wheel.gif

Other  is with skia_use_wuffs=false
Before is with skia_use_wuffs=true, before this CL
After  is with skia_use_wuffs=true, after  this CL

Bug: skia:8235
Change-Id: I7a1df172d172ccd668dfcbeb9728ee053fe831b1
Reviewed-on: https://skia-review.googlesource.com/c/165640
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-08 18:15:10 +00:00
Nigel Tao
9d4f450618 Add comment about how to run Decoder benchmarks
Bug: skia:
Change-Id: I39362ff537a87a0483356aa166e116943013fb24
Reviewed-on: https://skia-review.googlesource.com/c/169480
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-08 18:12:51 +00:00
skia-autoroll
f38c9b0736 Roll third_party/externals/angle2 905ee08219fa..d856ca48f425 (2 commits)
905ee08219..d856ca48f4


git log 905ee08219fa..d856ca48f425 --date=short --no-merges --format='%ad %ae %s'
2018-11-08 syoussefi@chromium.org Vulkan: add clear test for emulated stencil or depth formats
2018-11-08 jiajia.qin@intel.com ES31: Implement MAX_SHADER_STORAGE_BLOCK_SIZE


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

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

Change-Id: I239643ec7b2e92ae48f9bb8800767e18b5446ff3
Reviewed-on: https://skia-review.googlesource.com/c/169800
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-08 18:04:17 +00:00
Mike Klein
06a477c330 remove old name for SkCodec::kNoFrame
Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Release-Flutter_Android
Change-Id: I039aed7591aa7767046f28a48798b6fa2f7fd643
Reviewed-on: https://skia-review.googlesource.com/c/169224
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-11-08 17:04:58 +00:00
Mike Reed
9edbf42e75 Revert[4] "hide nested hinting enum"
This reverts commit 8e12cc6dfe.

Bug: skia:
Change-Id: Ice5e3480adad75ab77d97f7366495015f36b15a6
Reviewed-on: https://skia-review.googlesource.com/c/169520
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-08 16:33:04 +00:00
Brian Osman
7d8f82b9b0 Added GrMeshDrawOp::WriteVertexData
This is a utility to make vertex generation code in ops simpler and more
consistent. Some existing ops use tricks that may not translate well,
but most will. It enforces writing in-order, leverages templates to
handle sizing and variable numbers of arguments.

For now, I used it to update three ops, showing a relatively simple
case, and a more thorough refactor (of the CircleOp). I think this makes
a stronger case for the GP changes that make stride fast enough for
non-debug use -- most ops won't even need a struct anymore, they can ask
the GP for stride, then use the WriteVertexData utility to write out
data matching the attribute layout.

Bug: skia:
Change-Id: Iec649803181ec5064b4fb9692ae68e6424758944
Reviewed-on: https://skia-review.googlesource.com/c/169340
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-08 16:19:53 +00:00
recipe-roller
194b3945d4 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/edcefdcf7d5a3a6d44b21cdaf91d7b2fe8b97373 git-cl: Print git push stdout. (ehmaldonado@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibdf9b55ce31b94480f2986911919235b9aacabd9
Reviewed-on: https://skia-review.googlesource.com/c/169641
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-08 15:15:48 +00:00
Mike Klein
54378230f8 Reland "simplify disabling effect deserialization"
This reverts commit 34d7a163a4.

Reason for revert: ok now?

Original change's description:
> Revert "simplify disabling effect deserialization"
>
> This reverts commit 5bbf790b5b.
>
> Reason for revert: flutter GN needs some love
>
> Original change's description:
> > simplify disabling effect deserialization
> >
> > Switch to a simple #define instead of conditional build targets.
> >
> > No one changes skia_enable_effects or skia_enable_effects_imagefilters,
> > so we can merge all that together back into :skia.
> >
> > Change-Id: I2985f95ee89149ddc687dc31f4c6bf35cb3a93c7
> > Reviewed-on: https://skia-review.googlesource.com/c/169220
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
>
> TBR=mtklein@google.com,kjlubick@google.com
>
> Change-Id: I3b818418d303dbc6d2a926a19df64a68499f0ec3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/169222
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,kjlubick@google.com

Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Release-Flutter_Android
Change-Id: I534346c3ef3561a871f1af6df976bfee0b48014a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/169640
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-08 14:26:52 +00:00
Mike Klein
5d58d09ae7 exclude RAW codec code from Google3 build
Disabling SK_CODEC_DECODES_RAW seems to have gone fine.

Change-Id: I81cefeb653d582872a4e25bba3d34c7ec1858db3
Reviewed-on: https://skia-review.googlesource.com/c/169680
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-08 14:13:18 +00:00
Cary Clark
1379508a3a some pathops fuzz fixes
R=kjlubick@google.com
Bug: skia:
Change-Id: I0b2089f728f91ef5af780d0e9f91d266c252c054
Reviewed-on: https://skia-review.googlesource.com/c/169341
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-08 13:30:17 +00:00
Cary Clark
77b3f3aeee Check every word in docs
This enables checking all text to see if it
either represents a valid reference or is a
word in docs/spelling.txt . Expressions are
checked for validity as well.

There are a few shortcuts (marked with TODO):
- typedefs aren't resolved, so cheats are
added for SkVector and SkIVector.
- operator overload detection is incomplete
- constructor detection is incomplete
- formula definitions aren't detected

Found and fixed a bunch of spelling, usage,
and incorrect or obsolete references.

A few comment changes are needed in
include/core to get this to work, mostly
centered around recent SkPaint/SkFont edits.

TBR=reed@google.com
Docs-Preview: https://skia.org/?cl=167541
Bug: skia:
Change-Id: I2e0d5990105c5a8482b0c0d3e50fd0b330996dd6
Reviewed-on: https://skia-review.googlesource.com/c/167541
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-08 13:27:57 +00:00
Mike Klein
6d1df6d9c1 limit visibility of opts and optional targets
These targets are all implementation details of :skia.

Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Release-Flutter_Android
Change-Id: Ife5c0923bf37363516908e524dbea92be67cb965
Reviewed-on: https://skia-review.googlesource.com/c/169223
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-08 12:03:32 +00:00
skia-autoroll
fa88987475 Roll third_party/externals/angle2 448b99f1a580..905ee08219fa (1 commits)
448b99f1a5..905ee08219


git log 448b99f1a580..905ee08219fa --date=short --no-merges --format='%ad %ae %s'
2018-11-08 syoussefi@chromium.org Vulkan: Fix cleanup race condition on Context destroy


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

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

Change-Id: Ibf7dd573d1564da25dbc93da1b6ec2be426ce211
Reviewed-on: https://skia-review.googlesource.com/c/169600
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-08 09:18:58 +00:00