Commit Graph

36115 Commits

Author SHA1 Message Date
Brian Salomon
986f64c601 Remove multitexturing support from GrTextureOp.
This turned out to be an optimization mostly for draws with small device
space areas. Moreover, to be an optimization rather than deoptimization
requires complicated per-GPU tuning where even different devices within
the same architecture require different tuning and tuning is different
between GL and VK.

We've decided to go another direction where we *don't* coalesce draws
but rather make it possible to switch textures quickly from within an
op. This should be a GPU-independent optimization that is also
independent of device space area covered.

Replaces the multitexturing benchmarks with a pair of benchmarks.

composting_images* simulates a layered tile-based compositor.

image_cycle draws tiny images N times each such that they can be
batched. This is to catch a particular possible regression in a
planned change to GrTextureOp where it will use "dynamic state" to
batch across textures. We want to catch a slowdown that might result
from putting draws that use the same texture into the same op but no
longer batching the actual GL level draws and instead using the dynamic
state to "switch" textures between draws.

Change-Id: Ib1cc437525b0b0d56969c30dcb66bb1effb42dc5
Reviewed-on: https://skia-review.googlesource.com/145423
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-06 19:59:01 +00:00
Hal Canary
f4abda5877 Revert "Test: New GMs should be nicely named"
This reverts commit 73ec9a09f3.

Reason for revert:
  broke Test-Win7-Clang-Golo-CPU-AVX-x86_64-Debug-All-NativeFonts
    ERROR: 'fontmgr_bounds_1_-0.25Win7' is a bad name.
    ERROR: 'fontmgr_bounds_0.75_0Win7' is a bad name.


Original change's description:
> Test: New GMs should be nicely named
> 
> Motivation:
> 
>     An issue came up a while back with SkQP where some the JUnit testing
>     framework dislikes test names that aren't valid Java identifiers.  I am
>     currently replacing invalid characters with underscores before giving
>     them to JUnit, but that leads to some confusion when trying to grep for
>     the name of a failing test.
> 
>     I propose that going forward, all *new* Skia unit tests and GM names be
>     in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
>     won't change 63 existing "bad" tests names.
> 
> This Cl encorces that rule with an assertion in DM.
> 
> Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
> Reviewed-on: https://skia-review.googlesource.com/145365
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>

TBR=halcanary@google.com,brianosman@google.com

Change-Id: I28c619ca767dac221a73594c9e7be412ba2c242c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145560
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:29:55 +00:00
Jim Van Verth
66c5dc5cc8 Fix missing offsets in simple-polygon-offset-v
A previous change led to some offsets dropping out in this GM. It looks
like using a single offset value for reflex vertex checking isn't quite
the right solution.

Change-Id: If0fe41187e5fd48409a7276c542810a76dc1f6f8
Reviewed-on: https://skia-review.googlesource.com/145525
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-06 19:23:24 +00:00
Timothy Liang
512875a758 changed SkASSERT -> SkAssertResult in GrMtlPipelineStateBuilder.mm
Bug: skia:
Change-Id: I3f9871cbf602c62e8d0af88a5f4f734262562bc4
Reviewed-on: https://skia-review.googlesource.com/145526
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-06 19:22:46 +00:00
Hal Canary
73ec9a09f3 Test: New GMs should be nicely named
Motivation:

    An issue came up a while back with SkQP where some the JUnit testing
    framework dislikes test names that aren't valid Java identifiers.  I am
    currently replacing invalid characters with underscores before giving
    them to JUnit, but that leads to some confusion when trying to grep for
    the name of a failing test.

    I propose that going forward, all *new* Skia unit tests and GM names be
    in the form [A-Za-z][A-Za-z0-9_]* to prevent this sort of confusion.  We
    won't change 63 existing "bad" tests names.

This Cl encorces that rule with an assertion in DM.

Change-Id: Icedce023cd3127d499fbcdcaea485f1ec9e9196b
Reviewed-on: https://skia-review.googlesource.com/145365
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-08-06 19:17:24 +00:00
Kevin Lubick
641bf8745d [PathKit] Add more Path2D functionality and move some methods to be members
Adds arc, arcTo, rect and Path2D names for quadTo, cubicTo, close.

Adds conic verb support (approximated with 2 quads).

Breaking changes:
Some functions have been moved to be member functions:
PathKit.Simplify(path) -> path.simplify()
PathKit.ToCanvas(path, ctx) -> path.toCanvas(ctx)
PathKit.ToSVGString(path) -> path.toSVGString()
PathKit.ToPath2D(path) -> path.toPath2D()
PathKit.ToCmds(path) -> path.toCmds()
PathKit.ResolveBuilder(builder) -> builder.resolve()
PathKit.GetBoundaryPathFromRegion(region) -> region.getBoundaryPath()

Pathkit.ApplyPathOp(pathOne, pathTwo, op) still exists, but there's
now also pathOne.op(pathTwo, op) for cases when that's easier.

As per custom with version 0.x.y projects, I'm bumping the
minor version (in npm) for these breaking changes instead of the
major version (which will happen when we are version >= 1.0.0).

This also has some small improvements to the output code size.
The biggest jump was from enabling the closure compiler on the
helper JS, which trimmed it down by about 40%. Using the closure
compiler requires the JRE on the bots, which prompted the emsdk-base
image change.

Bug: skia:8216
Change-Id: I40902d23380093c34d1679df0255bcb0eaa77b01
Reviewed-on: https://skia-review.googlesource.com/145420
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-06 19:07:12 +00:00
Florin Malita
0c8dca0f44 [skottie] ResourceManager tweaks
* pass the resource path explicitly
 * return SkData instead of a stream

Bug: skia:
Change-Id: I8a92fa34d78d5c996e2a26481fc3087e8737ec8e
Reviewed-on: https://skia-review.googlesource.com/145520
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-06 18:50:22 +00:00
Herb Derby
4a823960e1 Remove fPath and fTooLargeForAtlas from GrGlyph
Change-Id: I0e6279d13850ade877a232644ecbc09c4d3e5462
Reviewed-on: https://skia-review.googlesource.com/145260
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-06 18:47:52 +00:00
Herb Derby
9a52a39468 Move path fallback logic into drawer
Change-Id: I6960b775f92b1013e0a826ac6aa1f8464ebf99f8
Reviewed-on: https://skia-review.googlesource.com/145000
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-06 18:26:18 +00:00
Brian Osman
f83cacb770 Fix imagefiltersbase GM in ColorSpaceXformCanvas configs
The fail image filter should continue to fail (not disappear) when run
through a color space xform. Not real important, just trying to fix any
diffs relative to tagged surfaces.

Note that the third row (which is supposed to be blank) is rendered
for all gbr- configs here:
https://gold.skia.org/search?fdiffmax=-1&fref=false&frgbamax=255&frgbamin=0&head=true&include=false&limit=50&master=false&match=gamma_correct&match=name&metric=combined&neg=false&offset=0&pos=true&query=name%3Dimagefiltersbase%26source_type%3Dgm&sort=desc&unt=true

Change-Id: Ic9be6210b02328a0cd7aa7f92c12aad13c0632fb
Reviewed-on: https://skia-review.googlesource.com/145376
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-06 17:53:17 +00:00
Timothy Liang
7ac582e4dc implemented the pipeline state builder for metal gpu backend
Bug: skia:
Change-Id: I9fc23de2e55ae3386aa8c0b8cdf540da63f19661
Reviewed-on: https://skia-review.googlesource.com/145156
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-06 17:46:48 +00:00
Eric Boren
1c666dcf45 [infra] Update Go to 1.10.3
Bug: skia:
Change-Id: I3437830069de5ff8ace21115024396120d21b2a0
Reviewed-on: https://skia-review.googlesource.com/145482
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-08-06 17:45:43 +00:00
Brian Osman
97d0970c25 Fix SkColor4Shader
We weren't using the colorspace to initialize the cached byte color,
even though onMakeColorSpace used the byte color as the starting point.
Additionally, we were passing in the already-moved sk_sp, so the color
space was always nullptr.

With these changes, it's time to fix serialization, too.

Change-Id: If6ca02684e3115b5be4febb9bd71760fe6251fd5
Reviewed-on: https://skia-review.googlesource.com/145368
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2018-08-06 17:41:43 +00:00
Ben Wagner
35eb7fa813 [infra] Shuffle Mac CPU and xSAN jobs to MacBookPro11.5.
I'm keeping the Release jobs for a few commits for blame.

There are a few reasons for this change:
 - This will free up more Mac VMs for Build jobs.
 - The CPU jobs currently run on VMs, which don't provide reliable perf
   numbers.
 - The two bare-metal MacMini7.1 bots (currently running the GPU TSAN
   jobs) are over-capacity.
 - Lets us test AVX2 rather than AVX.

I used the MacBookPro11.5 for all of these, but we could spread them
out to other Mac bots if it's too much load for these bots.

No-Try: true
Change-Id: I8c97e194c4f3e0018e7e646b93c3d96db8d0ca82
Reviewed-on: https://skia-review.googlesource.com/145431
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-08-06 17:27:32 +00:00
angle-skia-autoroll
b25a979be0 Roll third_party/externals/angle2 a6d34af67286..6ba9754f4a56 (1 commits)
a6d34af672..6ba9754f4a


git log a6d34af67286..6ba9754f4a56 --date=short --no-merges --format='%ad %ae %s'
2018-08-06 geofflang@chromium.org Refactor index range calculation in DrawCallParams.


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

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

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

Change-Id: Ie7a662c3fc72431dcdafee7d4f8f2c8652eec625
Reviewed-on: https://skia-review.googlesource.com/145462
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-08-06 17:19:58 +00:00
Florin Malita
6e487e67a3 [Skottie] Add raw data factory
... and funnel all existing factories through the new one.

Change-Id: I01ffb95abf178eacc0ad430e730d680800a509c7
Reviewed-on: https://skia-review.googlesource.com/145428
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-06 16:29:31 +00:00
recipe-roller
95df57bd6f 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/82bb756217cd542205ee89d87bc0f17e2bce52b0 [cipd] Detect mips64le vs mips64. (wangqing-hf@loongson.cn)
  https://crrev.com/2ebf9fdade33fa727490ed8593c3175bf60ab915 my_activity: Don't crash if email unset. (dgarrett@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibb5eb432ff51173aaa61e0a23b06e0cc032e01ed
Reviewed-on: https://skia-review.googlesource.com/145429
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-08-06 15:44:15 +00:00
swiftshader-skia-autoroll
439da2812f Roll third_party/externals/swiftshader dd4c8631343f..02956e4cced0 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dd4c8631343f..02956e4cced0


git log dd4c8631343f..02956e4cced0 --date=short --no-merges --format='%ad %ae %s'
2018-08-06 capn@google.com Fix Direct3D 8 build.


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

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

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

Change-Id: I6041b5bf3ded4cb38987e7562b64625f838d69b5
Reviewed-on: https://skia-review.googlesource.com/145461
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-08-06 15:10:59 +00:00
Ben Wagner
e8d2a45e68 Update remaining Mac bots to 10.13.6, except iOS builds.
iOS builds still causing an error on installation:
ERROR: Install failed. Got error "APIInternalError".

stephana will help with debugging this when he's back in the office.

Bug: chromium:862292
Change-Id: I8fdff24938f000da550e1c5420c7ac312f09dce7
Reviewed-on: https://skia-review.googlesource.com/144440
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-06 15:02:44 +00:00
Cary Clark
6943689ab4 clean up includes
Prepare SkRegion.h, SkShader.h, SkStream.h for documentation.
Name params, add trailing commas to enum member list,
move or remove some public SkRegion.h stuff.

SkRegion gets a minor overhaul to move some pieces
to private: or SkRegionPriv. The intent is to preserve the
current code so that the fixes for documentation do not impact
performance or code size.

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

Docs-Preview: https://skia.org/?cl=141284
Bug: skia:6818
Change-Id: I0d82794081b8739a9e8af0d1cd4a0e5d32d04f04
Reviewed-on: https://skia-review.googlesource.com/141284
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-06 14:49:46 +00:00
Jim Van Verth
98d3375b36 More SkOffsetSimplePolygon optimizations.
* Count edges and prealloc array
* Use first offset for reflex testing rather than recomputing
* Construct list pointers in edge setup array

Bug: skia:
Change-Id: I61a2a6de28a419157c6dad997b0dde0a7999b89e
Reviewed-on: https://skia-review.googlesource.com/145372
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-06 14:47:18 +00:00
Brian Salomon
b948572c78 Store GrMeshDrawOps' meshes in GrOpFlushState's arena.
Remove late draw consolidation in GrOpFlushState. Rarely did anything
and doesn't work with new allocation strategy. Ops can use GrMesh arrays
to acheive the same thing. (Each Op that cared to would have to implement
but it isn't applicable to most Ops).

Modify GrMeshDrawOp::Target::draw() to take array of meshes, with single
mesh as a special case.

Change-Id: I552677de47b9ffd2fcaf55af85f70f290e5aa9c7
Reviewed-on: https://skia-review.googlesource.com/145426
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-06 14:38:22 +00:00
Greg Daniel
c0b03d8dfc Start adding support for some base extensions which others build on.
Many of the other extensions in Vulkan rely on these some just want to
get these landed so we can start building on top of them.

Bug: skia:
Change-Id: Icef82c169cd50ff51b97fe065923531ef2940319
Reviewed-on: https://skia-review.googlesource.com/145362
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-06 14:26:15 +00:00
Ethan Nicholas
12fb9cfeee added SkSL saturate() function
Bug: skia:8220
Change-Id: Ib2e58ac77345a2aa53302c6c1484d52533556f93
Reviewed-on: https://skia-review.googlesource.com/145371
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-06 13:49:47 +00:00
skia-recreate-skps
2e77f54f46 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I81296b53627f3f720a2db56614e216250f1df804
Reviewed-on: https://skia-review.googlesource.com/145418
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2018-08-05 08:20:19 +00:00
angle-skia-autoroll
59aabbcf3b Roll third_party/externals/angle2 b8430dd749b0..a6d34af67286 (1 commits)
b8430dd749..a6d34af672


git log b8430dd749b0..a6d34af67286 --date=short --no-merges --format='%ad %ae %s'
2018-08-03 geofflang@chromium.org StateManagerGL: Use arrays to store texture and sampler bindings.


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

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

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

Change-Id: If5fc3d39c5e9e310caeb5f44a8074ffcf3473696
Reviewed-on: https://skia-review.googlesource.com/145381
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-08-04 03:25:27 +00:00
Herb Derby
71fe8baccc Remove SkAutoDescriptor move ctor
Change-Id: I290a3bcac74e64c8aa11e7b1664cbb54111541eb
Reviewed-on: https://skia-review.googlesource.com/145422
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-08-03 21:57:32 +00:00
Herb Derby
e42dc2dbd9 Hoist path check into regenerateGlyphRunList.
Now, regenerateGlyphRunList is making all the rendering
position, and cache choice decisions. Mostly.

Change-Id: Ib946e2ef2f422c915b324ac93459c65bf559f608
Reviewed-on: https://skia-review.googlesource.com/144905
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2018-08-03 21:37:26 +00:00
Brian Salomon
607be37e3d GrGeometryProcessor derives from GrNonAtomicRef not GrProgramElement.
It probably doesn't need to be ref counted at all and should be stored
in GrOpFlushState's arena but that's a larger change for another day.

Change-Id: I5f593fb426b8e7794f2ca81194f5a8d9e0f0a072
Reviewed-on: https://skia-review.googlesource.com/145332
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-03 20:51:48 +00:00
Ben Wagner
4c3b63e289 Update Skolo Win bots.
Change-Id: I45fb81be43de223f67a16471c772dd2fb9d18490
Reviewed-on: https://skia-review.googlesource.com/145265
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-03 19:52:54 +00:00
Ethan Nicholas
c7735f1ec2 improved SkSL lexer performance
Bug: skia:
Change-Id: Ibbb427e511118a0a1819094a59c17cc0f966008c
Reviewed-on: https://skia-review.googlesource.com/145336
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-08-03 18:57:14 +00:00
Florin Malita
270c04af1d [skottie] Avoid redundant instantiation of image asset nodes
Add an attached asset cache, and prevent unnecessary duplication of
image nodes when referenced multiple times.

TBR=
Change-Id: I3f0e8d592b1f57d71c9bc41cec7b2240bdb6d859
Reviewed-on: https://skia-review.googlesource.com/145366
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-03 18:49:04 +00:00
angle-skia-autoroll
a7f5ace42a Roll third_party/externals/angle2 81f891d043cb..b8430dd749b0 (2 commits)
81f891d043..b8430dd749


git log 81f891d043cb..b8430dd749b0 --date=short --no-merges --format='%ad %ae %s'
2018-08-03 geofflang@chromium.org Use FixedVector for storing textures referenced by a framebuffer.
2018-08-03 jmadill@chromium.org Cache VertexArray::hasMappedBuffer.


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

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

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

Change-Id: I39964c90a402e5ce0eb56969b338b13ed335661a
Reviewed-on: https://skia-review.googlesource.com/145380
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-08-03 18:45:53 +00:00
Eric Boren
9d834581da [infra] Add new go_deps asset
This contains the Go code dependencies of our infra repo and will be
used to insulate us from upstream changes which break us due to API
changes, etc.

Bug: skia:
Change-Id: I6ce36a4e41b6d7686fe2598ba980640854cd4f11
Reviewed-on: https://skia-review.googlesource.com/145158
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-08-03 18:33:24 +00:00
Brian Osman
ffee60f859 Fix GUI windows not appearing on first key in viewer
After the last update to ImGui, windows delayed visibility for one
frame, to get properly sized. We would detect that no windows were
"active" (really, visible) and not re-paint, so we never got the second
frame when the window finally showed up.

Omar put a fix to the stats in ImGui for this, so that Active windows
are tracked separately from Visible. This pulls that change in, and
updates the test to correctly redraw when the GUI requires it.

Change-Id: Iaa61f11fcc226917e3e2b31039055a7fa1961e45
Reviewed-on: https://skia-review.googlesource.com/145361
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-08-03 18:21:32 +00:00
Brian Salomon
06e3c3c5b8 Blacklist glyph_pos_h_b on gltestpersistentcache config
Change-Id: I88ee8200b82d12ba8cee637e01b360ce2d2bb2b3
Reviewed-on: https://skia-review.googlesource.com/145360
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-08-03 18:00:28 +00:00
Kevin Lubick
667707dfa0 Retrain Infra Expectations
Fixes merge conflict with https://skia-review.googlesource.com/c/skia/+/145330

Bug: skia:
Change-Id: I899eb707e154376096490ce263369c4dcaf8010d
Reviewed-on: https://skia-review.googlesource.com/145363
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-03 17:29:44 +00:00
Brian Salomon
af87483873 Move GrGeometryProcessor's textures out of classes and into
GrPipeline::FixedDynamicState.

This will allow specification of different textures for different
GrMeshes using GrPipeline::DynamicStateArrays in a future change.

Change-Id: I4a7897df33a84e4072151149e5d586dca074393f
Reviewed-on: https://skia-review.googlesource.com/145264
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-03 17:24:05 +00:00
Ben Wagner
cdfa16d086 Use XCode from CIPD. Include xSAN dylibs in Build task isolated output.
Change-Id: I0eb3dcc4d38eb2aeab22d1df1515e499cf21dc62
Reviewed-on: https://skia-review.googlesource.com/144608
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-03 17:14:14 +00:00
Robert Phillips
057ad70599 Update GrTextureStripAtlas for DDLs (take 2)
Change-Id: I4a3f71ffe4a14785e7befddc378929cf4dcf7d8e
Reviewed-on: https://skia-review.googlesource.com/145150
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-03 17:11:24 +00:00
Robert Phillips
aea785be7c Recreate Android porter-duff blend modes
Change-Id: I9cec402c1d6539008d4345b88ce846e8e8acdbda
Reviewed-on: https://skia-review.googlesource.com/145325
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-03 17:00:19 +00:00
Kevin Lubick
b3d0e3e1d9 Add Debug version of PathKit
This adds a job to build it and adds it to the npm
under /bin/debug.

The debug build is useful for clients because it
has all the debug symbols, which makes it possible to
see which WASM calls are taking the longest when using
DevTools' Performance testing.

Bug: skia:8216
Change-Id: I3068cb395f29c1de927508cf15c419f5af284eb7
Reviewed-on: https://skia-review.googlesource.com/145337
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-08-03 16:54:20 +00:00
Brian Osman
61fb4bb64b Clean up code for custom slide GUIs
Bailing out early caused controls to flicker on/off if one was being
interacted with. No need to rebuild the window (paramsChanged), the GUI
is up, so we're already repainting.

Change-Id: I0751271962075dff22b19f60f4d1dc81c9232f58
Reviewed-on: https://skia-review.googlesource.com/145335
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-03 16:24:13 +00:00
Robert Phillips
02f2acbbeb Make ColorTableEffect no longer use the texture strip atlas
The current plan is to remove the texture strip atlas. It provides little benefit for ColorTableFilters and, if we were to add an analytic hard stop gradient class, it would be rarely used for gradients too.

Change-Id: I654e48eeeaeba861ea50a3c810d4e30ec2427a29
Reviewed-on: https://skia-review.googlesource.com/145142
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-03 16:12:48 +00:00
Eric Boren
b33f9ebe90 [infra] Update vpython CIPD package
Bug: skia:
Change-Id: Ibdfa20023019dc6372293600b0b1b4607916694f
Reviewed-on: https://skia-review.googlesource.com/145330
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-08-03 15:36:22 +00:00
Kevin Lubick
30cc00c642 Add job for building PathKit to WASM using Docker
This creates a new named cache docker for this and future
docker-based jobs to use, to avoid permission snafus with
the normal "work" named cache.

Remove old WASM build, which was using the janky CIPD
emsdk asset and wasn't really exercising what we needed.

Bug: skia:8216
Change-Id: I993bba38b4978ca5eebb97e5b5b21729d55a072d
Reviewed-on: https://skia-review.googlesource.com/145140
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-03 15:08:42 +00:00
Timothy Liang
9047c066be validate GrMtlBuffer after forcing it to be static
Bug: skia:
Change-Id: Iaa9ac00f8533414bb81ab87eefbc2b035bcf1a53
Reviewed-on: https://skia-review.googlesource.com/145328
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-03 14:55:46 +00:00
Brian Osman
9a24fee9a9 Avoid coverage bleed for AA arcs with tiny sweep angles
Because we outset the planes by 1/2 pixel, the intersection of those
planes could extend well past the center of the circle. To fix this (and
cut down on fill-rate), do a geometric clip of the vertices against the
perpendicular diameter of the circle (while still leaving a half-pixel
for the coverage to fade out).

Bug: b/112018278
Change-Id: Icfb38ecfe57aad823c49fc4cadd0538a37dc1b7b
Reviewed-on: https://skia-review.googlesource.com/145326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-03 14:18:58 +00:00
Jim Van Verth
1400d38e08 Revert "Hoist path check"
This reverts commit 6de0fca928.

Reason for revert: Busted some GMs, e.g., largeglyphblur and mixedtextblobs.

Original change's description:
> Hoist path check
> 
> Hoist path check up one level in on the way to
> moving it to regenerateGlyphRunList.
> 
> Change-Id: I77d24c1d80daf72ddd3e9f09dd264c1e9d504573
> Reviewed-on: https://skia-review.googlesource.com/144902
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Auto-Submit: Herb Derby <herb@google.com>

TBR=jvanverth@google.com,herb@google.com

Change-Id: Idf1ea5818f6a97989c520b93804627af385b5045
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145327
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-03 13:49:40 +00:00
Brian Salomon
f51368230a Make fixed dynamic states be conditionally allocated
Change-Id: Id6e93b7a708ccab96d131f0035691b98932697dc
Reviewed-on: https://skia-review.googlesource.com/145261
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-03 13:33:56 +00:00