Commit Graph

38452 Commits

Author SHA1 Message Date
Brian Osman
f7b1e11cb3 Remove the lines-only "optimization" from AA convex path renderer
Enabling this in Chrome triggered a perf regression, and from looking at
the AA convex tesselator, I can believe that it's going to be as slow or
slower. (We'll trade a slightly more expensive shader for a much more
expensive chunk of CPU setup code).

Removing this simplifies this path renderer, including the ability to
batch line-only paths with more complex paths, which seems like a win.

Curious to see what other perf results are (in either direction).

Bug: chromium:908566
Change-Id: I127093dd271b8bdc6f81c1981e40257407157193
Reviewed-on: https://skia-review.googlesource.com/c/173426
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-11-29 21:42:20 +00:00
Heather Miller
4f897d1873 Update Skia milestone to 73
Bug: skia:
Change-Id: I4b8744f1f9d752a54429054d7539c46e24fcba82
Reviewed-on: https://skia-review.googlesource.com/c/173428
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2018-11-29 21:31:08 +00:00
Chris Dalton
ebc38c998c Draw ovals with GrAAFillRRectOp
GrAAFillRRectOp has special geometry and a fragment-shader branch to
conditionally evaluate the arc equation. This same special geometry
and fragment branch also turn out to be a substantial optimization for
drawing ovals (namely, by not evaluating the arc equation inside the
oval's inner diamond). Given these optimizations, it's a clear win to
draw ovals the exact same way we do round rects.

However, we still don't draw true circles as round rects, because it
can cause perf regressions on some platforms as compared to the
dedicated circle Op.

Bug: skia:
Change-Id: Ifdfc4f593a8ab01b6f73a9e15dde732254213455
Reviewed-on: https://skia-review.googlesource.com/c/173277
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-29 19:44:09 +00:00
Brian Osman
e801210a11 In GrOpFlushState, store GrOp* rather than Unique ID
This makes the comment on GrOp::uniqeID (that it's only used for audit
trail) true again. More importantly, it avoids always cycling through op
IDs, which can actually overflow. This makes Draw slightly bigger, but
saves the atomic overhead of getting a new ID for each op. Both of those
are probably too small to measure.

Bug: skia:8575
Change-Id: I6aecf0c72b85c59e8644a4574ccbeeb71997baca
Reviewed-on: https://skia-review.googlesource.com/c/173423
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-11-29 19:41:49 +00:00
recipe-roller
9c13adaa90 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/d0deba23a671b236ec535a9a54aa78b6dcf142ab [Testing] Add comprehensive UI test recipe. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8d5b846c368f92321c7426527316f170ffa09277
Reviewed-on: https://skia-review.googlesource.com/c/173424
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-29 19:39:04 +00:00
skia-autoroll
46b8c3bc48 Roll third_party/externals/angle2 7310da33bc7a..8dc27f99b556 (5 commits)
7310da33bc..8dc27f99b5


git log 7310da33bc7a..8dc27f99b556 --date=short --no-merges --format='%ad %ae %s'
2018-11-29 jmadill@chromium.org Use packed enum for DrawElementsType.
2018-11-29 syoussefi@chromium.org Vulkan: fix pipeline stages of memory barriers
2018-11-29 matavenrath@nvidia.com Optimize State::syncDirtyObjects
2018-11-29 syoussefi@chromium.org Vulkan: Uber-shader support
2018-11-29 syoussefi@chromium.org Vulkan: Allow descriptor pool to allocate different types


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

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

Change-Id: I127ea6eb112d90481be10cb0cdf5dbe1832e58c2
Reviewed-on: https://skia-review.googlesource.com/c/173384
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-29 19:36:44 +00:00
Ben Wagner
9e9723137f Add jobs for GalaxyS9
Change-Id: I039eb2050edc2570287c331a3f7743b4a3748f3e
Reviewed-on: https://skia-review.googlesource.com/c/173239
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-11-29 19:32:04 +00:00
Brian Salomon
f3841931ef Modify workaround to never set base or max texture level for GL_TEXTURE_EXTERNAL_OES
Bug: https://github.com/flutter/flutter/issues/23900
Bug: https://github.com/flutter/flutter/issues/24402
Bug: https://github.com/flutter/flutter/issues/24391

Change-Id: I8b24a62618ecd19387bcb8a827030d0c6d5b5362
Reviewed-on: https://skia-review.googlesource.com/c/173363
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-29 19:02:18 +00:00
Jim Van Verth
8222f3be41 Check for valid normals when offsetting
Bug: oss-fuzz:11546
Change-Id: I45cc443bcee240eebfa72fb0bdb19cb43192804f
Reviewed-on: https://skia-review.googlesource.com/c/173422
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-11-29 18:49:35 +00:00
Michael Ludwig
553e9a9bdf Bugfixes for corner cases in per-edge AA
Specifically, it fixes non-aa perspective quads batched with aa quads
getting an unsafe edge distance that leads to bleeding on certain GPUs.

Additionally, it tweaks the rectilinear distance optimization to
add .5 for masked edge and .5 for opposite masked edge, instead of
adding 1 for just the masked edge. Leads to no change when all edges
have AA, but preserves the rate-of-change of the edge distance attribute
when opposite edges differ in their AA state.

Bug: skia:
Change-Id: Ie55042e74ef44a8d33b4ae16e1e63eecdb2f24e1
Reviewed-on: https://skia-review.googlesource.com/c/173420
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-29 18:47:35 +00:00
Mike Klein
23fbefecfd check decal in 32.32 where we walk decal in 32.32
The debug checks caught a place in a few layout tests where it looked
like we could decal in 16.16, but the extra 32.32 precision accumulates
just enough along the line that we need to clamp the last pixel.

Looks like no GM diffs or Google3 diffs.

Change-Id: I86360021933c7bc9d5a8328809e812db0dfc5d3b
Reviewed-on: https://skia-review.googlesource.com/c/173440
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-29 18:39:10 +00:00
Cary Clark
cb6bef0ad5 Update bookmaker
- This update includes font documentation.
SkFont_Reference.bmh was generated by running:

  bookmaker -b docs -i include/core/SkFont.h -t

This creates a placeholder
for examples and additional documentation.

- More work done to exclude experimental/private
symbols.

Symbols that include "experimental_", "legacy_",
"private_", "temporary_", "deprecated_" as part
of their name (case-insensitive) are not
referenced by the on-line docs and don't need
comments.

Tables built for online only include public symbols.

- Better links for constructors, destructors, operators
- Fixed some minor public interfaces
- Removed _const crutch on operators
- Keep includes inside 100 columns

TBR=reed@google.com

Docs-Preview: https://skia.org/?cl=171900
Bug: skia:
Change-Id: I93b229c6625d800604671e05b82a14c06cb906d2
Reviewed-on: https://skia-review.googlesource.com/c/171900
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-11-29 18:17:30 +00:00
Florin Malita
c2e85f942f [skottie] Expose property bindings in CK
Add a new (optionally-built) ManagedAnimation CK helper, and provide
accessors for color and opacity properties.

The new wrapper class can be used as a drop-in replacement for the existing
Animation.

Change-Id: Iab6b6be9c736697b4731722806b145cbd130ce73
Reviewed-on: https://skia-review.googlesource.com/c/173322
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-29 17:09:35 +00:00
Brian Salomon
1144020871 Revert "Experimentally disable GrTextureOp chaining on Intel GPUs on Mac."
This reverts commit b4f37a6a92.

It didn't fix the bug.

Bug: chromium:906453
Change-Id: I6c37486ccac619c3d5b6716cb76809be632c3c5f
Reviewed-on: https://skia-review.googlesource.com/c/173237
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-11-29 16:21:38 +00:00
Cary Clark
d058b183e3 fix fuzz timeout in pathops
R=kjlubick@google.com

Bug:910097
Change-Id: I5a848db8bb0b57d296c119201ad35d5d66df8408
Reviewed-on: https://skia-review.googlesource.com/c/173362
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-29 14:30:01 +00:00
Mike Klein
4f60e540e7 clean up SK_WALK_DECAL_IN_1616
Change-Id: I6b7ef512235dfc986563a3ae03375423e176713d
Reviewed-on: https://skia-review.googlesource.com/c/173360
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-11-29 13:36:41 +00:00
Mike Reed
6f07788196 remove textblobbuilder guard
Bug: skia:
Change-Id: Ie686a8dcedf26a0f7c10f29befded7978a92daca
Reviewed-on: https://skia-review.googlesource.com/c/173230
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-29 13:00:11 +00:00
skia-autoroll
e6305f38b5 Roll third_party/externals/angle2 2c0d6a9404cd..7310da33bc7a (1 commits)
2c0d6a9404..7310da33bc


git log 2c0d6a9404cd..7310da33bc7a --date=short --no-merges --format='%ad %ae %s'
2018-11-29 yizhou.jiang@intel.com Implement GetMultismaplefvANGLE and SampleMaskiANGLE of texture multisample extension


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

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

Change-Id: I94df8574a7d4d704cb44cb18f8e83ded2e780381
Reviewed-on: https://skia-review.googlesource.com/c/173310
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-29 10:45:40 +00:00
skia-bookmaker
275e8750e3 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I159ed93931b616b36ae9fb7e64ed8e645b68f4a0
Reviewed-on: https://skia-review.googlesource.com/c/173345
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-29 06:30:11 +00:00
skia-recreate-skps
a815267833 Update go_deps asset
Automatic commit by the UpdateGoDEPS bot.

TBR=borenet@google.com

Change-Id: I6d92c7b54005ccf8587451a0a59dc06765d71df2
Reviewed-on: https://skia-review.googlesource.com/c/173344
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-11-29 05:58:01 +00:00
recipe-roller
0113b4085f 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/9af233a5084871843af872224e4012e3f3f3af2f introduce ninjalog_uploader to autoninja (tikuta@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8e6b10c419fa0387a0b6256667a422d936a87a9f
Reviewed-on: https://skia-review.googlesource.com/c/173323
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-11-29 04:39:45 +00:00
skia-autoroll
de533a4a96 Roll third_party/externals/swiftshader 79d0e565b001..a972758d6e10 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/79d0e565b001..a972758d6e10


git log 79d0e565b001..a972758d6e10 --date=short --no-merges --format='%ad %ae %s'
2018-11-29 capn@google.com Work around Subzero constant folding limitation.


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

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

Change-Id: I4e1074c0cde531b0c88a1831b3c07e2426f2f253
Reviewed-on: https://skia-review.googlesource.com/c/173304
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-29 02:47:15 +00:00
skia-autoroll
1c6c6a5919 Roll third_party/externals/angle2 c4e0a1e511fc..2c0d6a9404cd (4 commits)
c4e0a1e511..2c0d6a9404


git log c4e0a1e511fc..2c0d6a9404cd --date=short --no-merges --format='%ad %ae %s'
2018-11-29 jmadill@chromium.org WebGL: Fix DrawElements test and remove size check.
2018-11-28 syoussefi@chromium.org Vulkan: fix ProgramVk never releasing uniform buffers
2018-11-28 syoussefi@chromium.org Vulkan: Make DynamicBuffer use BufferHelper
2018-11-28 ynovikov@chromium.org Rearrange Android lib deps


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

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

Change-Id: Iabcf8cad58add603a078e7354fc81256a14cbb62
Reviewed-on: https://skia-review.googlesource.com/c/173303
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-29 01:56:30 +00:00
Chris Dalton
22619c2e1a Remove instanced flush WAR for Skylake
There don't seem to be any more rendering artifacts without the WAR.
Maybe the drivers got updated, or maybe something in our API usage
changed.

TBR=bsalomon@google.com

Bug: skia:8566
Change-Id: Id82588f445fd61a44e77b988c31fb7f46848fffa
Reviewed-on: https://skia-review.googlesource.com/c/173257
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-28 23:33:10 +00:00
Chris Dalton
c83571eb3e Reland "Prefer GrAAConvexPathRenderer over ccpr"
This is a reland of c00e470547

Original change's description:
> Prefer GrAAConvexPathRenderer over ccpr
> 
> Even though ccpr can be faster than the convex renderer for small
> paths, there is value in a simpler, more consistent approach. The
> convex renderer is single-pass, doesn't deal with caching, and is
> unaffected by the less favorable flush pattern in Chrome. We can
> address the regressions from this CL by optimizing single-pass convex
> path rendering, rather than trying to use ccpr more.
> 
> Bug: chromium:860021
> Change-Id: I44ceefa43cdad7fb25c620faed8b525901fb1f0c
> Reviewed-on: https://skia-review.googlesource.com/c/171525
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: chromium:860021
Change-Id: I37c2244f8a054614389cc35854706cbebf5d2e7c
Reviewed-on: https://skia-review.googlesource.com/c/173199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-11-28 22:13:31 +00:00
Herb Derby
2d4f7cbdcc Move the empty glyph checks into the common code
This is part of a larger movement to remove unneeded
cache API chatter.

Change-Id: Id8e9c72a5cebe31a7efe51a947a1d4c68384609a
Reviewed-on: https://skia-review.googlesource.com/c/172947
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-28 21:11:17 +00:00
Kevin Lubick
43ff69a83f [canvaskit] Fix arc() call
Bug: skia:
Change-Id: I7a06b4bd5d2e88b12b08b0568301515653512ebb
Reviewed-on: https://skia-review.googlesource.com/c/173236
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-28 20:52:09 +00:00
Kevin Lubick
50ff7a56d1 gn format gn/opts.gni
Bug: skia:
Change-Id: I1c001244dbc682c93278687a0378c59403845d0d
Reviewed-on: https://skia-review.googlesource.com/c/173235
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-11-28 20:49:05 +00:00
Michael Ludwig
6985853f88 Reland "Initial definition of fill rect op"
This reverts commit 1a2476d294.

Reason for revert: Fixes printf signatures and asserts.

Original change's description:
> Revert "Initial definition of fill rect op"
> 
> This reverts commit d3c92d9a36.
> 
> Reason for revert: printf build failure on gcc, assert failures on CQ
> 
> Original change's description:
> > Initial definition of fill rect op
> > 
> > Bug: skia:
> > Change-Id: Ie0c99eb5163501853d1adc885bd3841f90a71924
> > Reviewed-on: https://skia-review.googlesource.com/c/163486
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> 
> TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com
> 
> Change-Id: Ib32f91a39d91aeb87982a7b19719485e4a1bf8ae
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/173233
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com

Change-Id: I415913a269ba5bcdebd169b5ebc3510673247bfd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/173234
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2018-11-28 20:38:25 +00:00
Herbert Derby
83ea522b4a Fix up GrGlyphCache ctor
It looks like the old GrGlyphCache ctor was making an
initial arena alloc of 9 bytes.

Change-Id: Icc0d04c522fc1f90bf06bdfe5bd6ef56315776ac
Reviewed-on: https://skia-review.googlesource.com/c/173232
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-28 20:38:04 +00:00
Mike Reed
c33ec9f8c4 remove legacy hinting-enum guards
Bug: skia:
Change-Id: I762fd834859fc6334b4eb36c1fad05538e873dd9
Reviewed-on: https://skia-review.googlesource.com/c/173229
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 20:15:03 +00:00
Michael Ludwig
1a2476d294 Revert "Initial definition of fill rect op"
This reverts commit d3c92d9a36.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Initial definition of fill rect op
> 
> Bug: skia:
> Change-Id: Ie0c99eb5163501853d1adc885bd3841f90a71924
> Reviewed-on: https://skia-review.googlesource.com/c/163486
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com

Change-Id: Ib32f91a39d91aeb87982a7b19719485e4a1bf8ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/173233
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-28 19:58:33 +00:00
Leon Scroggins III
85e22fc361 Build Android Framework host library on Mac
Based on ag/5616352, patch set 5.

Bug: b/118742766
Test: lunch sdk && mmma external/skia on Mac

Similar to the linux build, use a new set of GN arguments to create a
json object to fill in the updated template.

Add the new include/config/mac folder for the newly generated mac-
specific SkUserConfig.h.

Include stdarg.h in SkTraceEventCommon, which is necessary for the mac
build.

Add a new GN arg (skia_use_fonthost_mac) to allow framework build to
manually not build SkFontHost_mac.cpp, and use the same font host
as the other builds.

Change-Id: I654ba496306a3f3591c3937ad5524cd45e49dd65
Reviewed-on: https://skia-review.googlesource.com/c/173183
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-11-28 19:29:51 +00:00
Michael Ludwig
d3c92d9a36 Initial definition of fill rect op
Bug: skia:
Change-Id: Ie0c99eb5163501853d1adc885bd3841f90a71924
Reviewed-on: https://skia-review.googlesource.com/c/163486
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-11-28 19:08:34 +00:00
Kevin Lubick
12c0e50fda [canvaskit] support globalAlpha and dashed strokes
This involves a refactor of how we deal with paint.
Now, we have a source-of-truth paint that is copied
and modified for each of fill/stroke/shadow.

Adds preliminary support for blend modes.

Most of what remains is text, images, and gradients.

Bug: skia:
Change-Id: I41806adeb7de4faa6c98a580c4f1de4e4a34a37d
Reviewed-on: https://skia-review.googlesource.com/c/173223
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-11-28 19:03:19 +00:00
Brian Salomon
572fdcf08a Remove SkCanvas::ImageSetEntry constructors
Change-Id: Ib75b6a836184df739e4690dc275421e015d6a9bb
Reviewed-on: https://skia-review.googlesource.com/c/173228
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-11-28 18:59:43 +00:00
Herbert Derby
c8f6ab3885 Remove unneeded inline declarations
Change-Id: I21a3e74ab256d89ab6487e98abd940ff99dd6447
Reviewed-on: https://skia-review.googlesource.com/c/173227
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-11-28 18:32:11 +00:00
skia-autoroll
f98d8c9b53 Roll third_party/externals/swiftshader 3b003a51bc9a..79d0e565b001 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3b003a51bc9a..79d0e565b001


git log 3b003a51bc9a..79d0e565b001 --date=short --no-merges --format='%ad %ae %s'
2018-11-28 capn@google.com Fix textureSize for non-uniform samplers.


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

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

Change-Id: I91ae1d3c15321e802b2869514091426359b670ee
Reviewed-on: https://skia-review.googlesource.com/c/173012
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-28 18:27:40 +00:00
Eric Boren
8061053b73 [infra] Flutter bot should sync to origin/skia-master
Bug: skia:
Change-Id: I223bef522ff8605674f4ecabcbd0624cfc92cb06
Reviewed-on: https://skia-review.googlesource.com/c/173224
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-11-28 17:34:05 +00:00
Mike Reed
ef4047db96 add bench for computing convexity
Bug: skia:
Change-Id: Iaa2971c28f6a8e869b92887e0c0595c73b0aebdb
Reviewed-on: https://skia-review.googlesource.com/c/173225
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 17:14:17 +00:00
Florin Malita
8ac81b7fb5 [skottie] Add a custom property manager util class
To facilitate demo code consolidation, introduce a custom property
manager which filters for node names starting with '$' and treats all
properties sharing the same name unitarily.

Update the Colorize GM to use this new helper.

Also revisit the PropertyObserver interface:

 * aliases for client-facing value types
 * introduce a new (decomposed) TransformPropertyValue, to replace component-wise setters
 * consolidate the PropertyHandle interface to only expose get()/set()

Bug: skia:
Change-Id: I9aa9ee80c1fb57bbfbacab0fc3f017da909b24d9
Reviewed-on: https://skia-review.googlesource.com/c/173220
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-11-28 17:12:07 +00:00
skia-autoroll
0aed7ea301 Roll third_party/externals/angle2 83b2f0e8a2e0..c4e0a1e511fc (1 commits)
83b2f0e8a2..c4e0a1e511


git log 83b2f0e8a2e0..c4e0a1e511fc --date=short --no-merges --format='%ad %ae %s'
2018-11-28 timvp@google.com Revert "Enhance ANGLE for Android Developer Options"


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

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

Change-Id: I54d4e8b66779bf4d1f21fab3592695f6a4ab44eb
Reviewed-on: https://skia-review.googlesource.com/c/173011
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-28 16:56:15 +00:00
skia-autoroll
ac1abd29cc Roll third_party/externals/swiftshader 67c93d206431..3b003a51bc9a (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/67c93d206431..3b003a51bc9a


git log 67c93d206431..3b003a51bc9a --date=short --no-merges --format='%ad %ae %s'
2018-11-28 sugoi@google.com Removed SwiftShader's custom Viewport structure


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

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

Change-Id: Idffa6f4f57031d267dcaf411193898799ee80209
Reviewed-on: https://skia-review.googlesource.com/c/173010
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-11-28 16:17:11 +00:00
Mike Reed
32c6066ea8 Force clients to specify font when requesting strikecache
Bug: skia:
Change-Id: If56222039239df085d6c40e835060e91fe70940b
Reviewed-on: https://skia-review.googlesource.com/c/173166
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 16:14:02 +00:00
Greg Daniel
6616efbdeb In Vulkan, use 1000 for maxLod instead of maxMipLevel when using mips.
This has the side effect of making samplers in Vulkan only dependent on
the sampler state and not the texture size.

Bug: skia:
Change-Id: I03ccc2c2faead4a1e10b9dd1e5d5885a9d672cc5
Reviewed-on: https://skia-review.googlesource.com/c/173103
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-11-28 16:09:01 +00:00
Eric Boren
a2e613c999 Use LUCI trybots in update_meta_config
Bug: skia:
Change-Id: If7f9f3f4f79544484eb0fb406fea6772a9ca7722
Reviewed-on: https://skia-review.googlesource.com/c/171909
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-11-28 16:09:00 +00:00
Mike Reed
fc614f1179 rm SK_SUPPORT_LEGACY_TEXTBLOBBUILD_WITH_PAINT from fluter
Bug: skia:
Change-Id: I47ccd1d6ea7334096bab97804728fd26674eed39
Reviewed-on: https://skia-review.googlesource.com/c/173222
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-11-28 15:59:15 +00:00
Mike Reed
46c774aa54 rm SK_SUPPORT_LEGACY_NESTED_HINTINGENUM from flutter
Bug: skia:
Change-Id: Id025fe6bd3aee7458c61678f803e19905c31333f
Reviewed-on: https://skia-review.googlesource.com/c/173221
Reviewed-by: Mike Reed <reed@google.com>
2018-11-28 15:50:27 +00:00
Mike Reed
d437c79ed0 Revert "don't trust convexity with affine transforms"
This reverts commit 26d8d77aae.

Reason for revert: speculative, in case this is blocking the chrome roll

Original change's description:
> don't trust convexity with affine transforms
> 
> In theory, a convex shape transformed by an affine matrix should still
> be convex. However, due to numerical nastiness of floats, when we try
> to determine if something is convex, we can get different answers pre
> and post a transformation (think of two line segments nearly colinear).
> 
> Convex paths take a faster scan converter, but it is only well behaved
> if the path is, in fact, convex. Thus we have to be conservative about
> which paths we mark as convex.
> 
> This bug found a case where a "convex" path, after going through a transform,
> became (according to our measure) non-convex. The bug was that we *thought*
> that once convex always convex, but in reality it was not. The fix (hack) is
> to notice when we transform by an affine matrix (we're still assuming/hoping
> that scaling and translate keep things convex (1)...) and mark the convexity
> as "unknown", forcing us to re-compute it.
> 
> This will slow down these paths, since it costs something to compute convexity.
> Hopefully non-scale-translate transforms are rare, so we won't notice the
> speed loss too much.
> 
> (1) This is not proven. If we find scaling/translation to break our notion of
> convexity, we'll need to get more aggressive/clever to find a fix.
> 
> 
> Bug: 899689
> Change-Id: I5921eca247428bf89380bc2395fe373fa70deb1d
> Reviewed-on: https://skia-review.googlesource.com/c/173080
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Cary Clark <caryclark@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>

TBR=mtklein@google.com,jvanverth@google.com,caryclark@google.com,reed@google.com,caryclark@skia.org

Change-Id: I5d846798f2c34c6576591a3c3125cfdc3c72dbdc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 899689
Reviewed-on: https://skia-review.googlesource.com/c/173162
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 13:13:43 +00:00
Mike Reed
d3efa999af Reland "Don't let neighboring radii in GrAAFillRRectOp get too close"
This reverts commit 1dced86481.

Reason for revert: prolly not the problem for the roll

Original change's description:
> Revert "Don't let neighboring radii in GrAAFillRRectOp get too close"
> 
> This reverts commit 778edc883b.
> 
> Reason for revert: speculative, to see if chrome rolls
> 
> Original change's description:
> > Don't let neighboring radii in GrAAFillRRectOp get too close
> > 
> > Since each corner uses a different reference point, it's possible that
> > FP rounding can cause the edges of very close radii on a common edge
> > to accidentally overlap. This can cause a pixel to be drawn/blended
> > more than once. This CL addresses the issue by not allowing
> > neighboring radii on a common edge to get closer than 1/16 pixel from
> > one another.
> > 
> > Bug: skia:8562
> > Change-Id: Ifda97c9a4c3973405f86f7fc6846a4073b3ab581
> > Reviewed-on: https://skia-review.googlesource.com/c/173036
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> 
> TBR=jvanverth@google.com,csmartdalton@google.com
> 
> Change-Id: Ica14341e38bc0da649f0f0ade70692b0372f1c78
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:8562
> Reviewed-on: https://skia-review.googlesource.com/c/173160
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=jvanverth@google.com,csmartdalton@google.com,reed@google.com

Change-Id: I94f63e0e221b3e4340fc850a631a884738c479a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8562
Reviewed-on: https://skia-review.googlesource.com/c/173161
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-11-28 13:13:24 +00:00