Commit Graph

36109 Commits

Author SHA1 Message Date
Ben Wagner
b2c4ea6219 Move Views into Sample and Viewer.
What is left of the SkView system is used only by samples or viewer.
As a result, move it out of the Skia source tree and re-organize so it
is a bit easier to understand and use more shared code.

Move samplecode/ClockFaceView.cpp to samplecode/SampleTextEffects.cpp,
sice that's what's actually in it.

Move SkAnimTimer.h to tools/timer, since it's actually shared between gm
and samples.

Change-Id: I55dafd94c64e4f930ddbd19168e0f812af86c455
Reviewed-on: https://skia-review.googlesource.com/146161
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-09 15:25:32 +00:00
Ben Wagner
d1910d5664 Add jobs for GTX1050 eGPU.
No-Try: true
Change-Id: I47ccf632537a71eb0e2957158ce38c4a4421952b
Reviewed-on: https://skia-review.googlesource.com/145334
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-09 15:22:21 +00:00
Timothy Liang
35f9637a78 Revert "implemented GrMtlSampler for metal gpu backend"
This reverts commit 93fa10fbbc.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> implemented GrMtlSampler for metal gpu backend
> 
> Bug: skia:
> Change-Id: I936e5510e5ee146c0fc6bdbc0d5f5352359fbe7d
> Reviewed-on: https://skia-review.googlesource.com/145893
> Commit-Queue: Timothy Liang <timliang@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,timliang@google.com

Change-Id: I4184890610e3147abc63b7d9bdfa8ec8120a11ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/146580
Reviewed-by: Timothy Liang <timliang@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-08-09 15:18:08 +00:00
Brian Osman
05271aedaa Stop treating 2.2 gamma as sRGB
Bug: skia:
Change-Id: I023dfbabf691b498363fb227b1d4580dca51bc89
Reviewed-on: https://skia-review.googlesource.com/146525
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 15:17:17 +00:00
Cary Clark
e12a090a63 make some textblob builders private for now
Move SkTextBlobBuilder::allocRunText* to private: for the time
being, to reduce the documented interface footprint.

No code is deleted; the functions may be restored when a
client is ready to call them.

Also, add SkTextBlob::MakeFromString to complement
SkTextBlob::MakeFromText.

R=halcanary@google.com,fmalita@google.com
TBR=reed@google.com
Bug: skia:6818
Change-Id: If09d4da4ce38b680d73f25d187e3d06eeb0ec652
Reviewed-on: https://skia-review.googlesource.com/146521
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-08-09 15:01:31 +00:00
Florin Malita
c0132ffa64 [skottie] Optimize opacity layerization
- plumb a RenderContext RenderNode::render() argument to track pending
    opacity

  - defer opacity application until we can determine whether a layer is
    required (group with multiple children) or the opacity can be pushed
    onto the draw paint (for single/atomic draws)

Bug: skia:
Change-Id: I962ba08bad780395d5d738307bde986e9efa502b
Reviewed-on: https://skia-review.googlesource.com/146445
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 14:48:02 +00:00
Herb Derby
919a784423 Remove use of RunPaint from regenerateGlyphRunList
Change uses of RunPaint and Paint to uses of SkPaint and a GrColor.

Change-Id: I44d4c41a53e570f316e10dee26754c21d9593de0
Reviewed-on: https://skia-review.googlesource.com/145962
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 14:43:02 +00:00
Mike Klein
9faf9fdee9 clean up SK_LEGACY_COLORSPACE_XFORMER_IMPL
Change-Id: Ie4e1f9141847705afd1a11e57bc41a9b2019517a
Reviewed-on: https://skia-review.googlesource.com/146520
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-09 14:34:11 +00:00
Brian Osman
eb7e5299be Remove CachedFormat remnants
Portions of this API will be updated again to support decode-to-dst, but
I want to clean up the old API first. I left a bunch of TODO breadcrumbs
for that work.

Change-Id: I25a29ccc14aa568e5ea84747d74244874afab9d9
Reviewed-on: https://skia-review.googlesource.com/146380
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 14:26:19 +00:00
Kevin Lubick
92c9171125 [Pathkit] Add recipe for running JS tests using Docker
This adds a few JS tests (see *.spec.test) and runs them
using Karma and a Docker image containing Karma, node, and
Chrome (currently at 68).

We only add a Debug Test here because the Release version
has some test helpers (e.g. Region) compiled out.  If those
end up not mattering for tests, we can add in a Release version.


Bug: skia:8216
Change-Id: Ica6ab3a4f21688cfa175a90d42c2254d38e8fcf1
Reviewed-on: https://skia-review.googlesource.com/145723
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-09 14:17:28 +00:00
Brian Osman
e581aaad4d Remove picture_utils
More pointless hoop-jumping

Change-Id: I0123e0a1e27140a82ffe08ad88e0d115c060436d
Reviewed-on: https://skia-review.googlesource.com/146449
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-09 14:14:17 +00:00
Timothy Liang
93fa10fbbc implemented GrMtlSampler for metal gpu backend
Bug: skia:
Change-Id: I936e5510e5ee146c0fc6bdbc0d5f5352359fbe7d
Reviewed-on: https://skia-review.googlesource.com/145893
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-09 14:00:12 +00:00
Brian Osman
d9ea816b1f Cleanup and simplify some skiaserve and utility code
This started with a search for gammaCloseToSRGB and turned into me
removing a bunch of really crazy bitmap code here. Like DM, just use
SkPngEncoder to encode PNGs. With that change, we don't need the custom
raster pipeline step, and we can remove that (along with several other
unused functions) from picture_utils. (The one remaining function should
just move to tool_utils, but I'll save that for another rainy day).

In getPixel, we can skip ALL of the processing work, and also only read
the one pixel we need. That makes break-on-change feel much faster from
my anecdotal testing.

Change-Id: I3d18f1e7a15dd12ac4661da1b724e9d8e1cdee96
Reviewed-on: https://skia-review.googlesource.com/146442
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 13:08:48 +00:00
Brian Osman
1e4a4daebe Remove dead code from Benchmark
Spotted the VisualBench hooks the other day, then found some more dead
code when I went to remove them.

Change-Id: Ia07f0556faf33cc69e3ec590f7a8f47f2c1f298a
Reviewed-on: https://skia-review.googlesource.com/146360
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-08-09 13:07:28 +00:00
Cary Clark
8af4c40014 use atomic for global test counters
TSAN is failing because
multiple threads are incrementing the
same global

TBR=mtklein@google.com

Bug: skia:
Change-Id: I9c3bc6bb4aa7cbe7ced5b3080790d3c4ad1ff798
Reviewed-on: https://skia-review.googlesource.com/146446
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-09 03:43:12 +00:00
angle-skia-autoroll
81aa38d815 Roll third_party/externals/angle2 c86c8b0cecf0..c43cdad25851 (6 commits)
c86c8b0cec..c43cdad258


git log c86c8b0cecf0..c43cdad25851 --date=short --no-merges --format='%ad %ae %s'
2018-08-08 jmadill@chromium.org StateCache: Make external API easier to understand.
2018-08-08 jmadill@chromium.org Validate transform feedback conflicts on zero draw.
2018-08-08 jmadill@chromium.org Refactor ValidateDrawBase.
2018-08-08 jmadill@chromium.org Add a perf test for draw calls with texture changes.
2018-08-08 jmadill@chromium.org Fix vertex array element limit condition.
2018-08-08 jmadill@chromium.org Don't use ErrorOrResult in VertexBuffer.h.


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

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: I7a5ff1b943af311072f4198423fc117142e5fa8d
Reviewed-on: https://skia-review.googlesource.com/146502
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-09 02:59:39 +00:00
Herb Derby
97879cbbd0 Performance: Move GPU code to GlyphRun and inline - v3
Move the GPU glyph drawing code into the glyph run drawing translation
unit. Inline the per glyph/path functions. This results in about 15%
speedup.

There was a compile error where a static function was used
in a template. This caused some compilers to freak.

Change-Id: I9619e538875edd989f129450dc9fc12ba7be9560
Reviewed-on: https://skia-review.googlesource.com/146340
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-08-08 23:49:20 +00:00
Brian Osman
0d5d0659a6 Remove ContextRect::DstType
This wasn't doing anything any longer. Is there more to be deleted?

Change-Id: Ib317a3760b874503a2deac3385625ea2fbc48ef7
Reviewed-on: https://skia-review.googlesource.com/146384
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-08 22:05:28 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
89094cce74 Roll skia/third_party/skcms 5b1292eaeda5..f1e2b45d18fa (1 commits)
https://skia.googlesource.com/skcms.git/+log/5b1292eaeda5..f1e2b45d18fa

2018-08-08 benjaminwagner@google.com [infra] Use Xcode from CIPD.


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

Change-Id: Id9a8b7b4ddbe85012678f12fa9313efb2ab26fec
Reviewed-on: https://skia-review.googlesource.com/146464
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-08-08 22:04:29 +00:00
recipe-roller
33790b252d 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/4f89beb3e0d1c128aa748398fe619ec38a4452b3 [tricium] Add repo and ref access properties (juliehockett@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic944242cd43752a7de6e518c7bdcbeb785df16e4
Reviewed-on: https://skia-review.googlesource.com/146443
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2018-08-08 21:56:48 +00:00
Florin Malita
3c9929698d [skottie] Animator tweaks
* reserve SkPath storage to avoid incremental allocations
  * refactor eval() to avoid copying data when interpolation is not
    triggered

Change-Id: I467affbbfd652e8fa2a486acab7d6c7b9165d49f
Reviewed-on: https://skia-review.googlesource.com/146166
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-08 21:15:47 +00:00
Mike Reed
b547579d00 switch SkTDArray from push to push_back
Bug: skia:
Change-Id: I5d7252cf67a201612813597047f1ea3584c57854
Reviewed-on: https://skia-review.googlesource.com/146386
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 21:13:57 +00:00
Greg Daniel
53956d9bfd Add iOS Metal Build job.
Bug: skia:8230
Change-Id: Ic8c17954c5dcaeebcfd028e24a0556d0b09a5b62
Reviewed-on: https://skia-review.googlesource.com/146168
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-08-08 20:22:35 +00:00
Timothy Liang
4e67984bec made GrMtlBuffer compatible with iOS
also fixed the fact that we were actually creating managed buffers at times.

Bug: skia:
Change-Id: I7ffe12b5decc8bceee30d671e1ab3cc30f7fad99
Reviewed-on: https://skia-review.googlesource.com/146170
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-08-08 19:28:44 +00:00
Cary Clark
9c9611fcc1 dump pathops tests as hex json
Dump as hex instead of SVG to more accurately
capture pathops tests.

Use SkBits2Float to reconstruct SkScalar data.

Exclude tests with conics since, for the moment,
pathkit maps conics to quads.

R=kjlubick@google.com

Bug: skia:
Change-Id: Iba2836bde8f737f42c8da31cc26e83ce55de924a
Reviewed-on: https://skia-review.googlesource.com/146165
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-08-08 19:01:30 +00:00
Ben Wagner
ce1db863ef [infra] Update Skolo Win NVIDIA drivers.
No-Try: true
Change-Id: If464ad647084aa141de9952ef8185df87a975d0f
Reviewed-on: https://skia-review.googlesource.com/145524
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-08 19:00:37 +00:00
Timothy Liang
44636e9ab5 created GrMtlPipelineStateDataManager for metal gpu backend
Bug: skia:
Change-Id: I630b1fc2e3a4195b8df8b04a02be8fc95bb9c4fe
Reviewed-on: https://skia-review.googlesource.com/145329
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-08 18:51:58 +00:00
angle-skia-autoroll
c09e2b9eae Roll third_party/externals/angle2 c93eeaab1526..c86c8b0cecf0 (1 commits)
c93eeaab15..c86c8b0cec


git log c93eeaab1526..c86c8b0cecf0 --date=short --no-merges --format='%ad %ae %s'
2018-08-08 jmadill@chromium.org D3D9: Use angle::Result error pattern.


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

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: Ice348b63cc6cb0b1f09d94abab38ccde101e6c6b
Reviewed-on: https://skia-review.googlesource.com/146260
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-08 18:07:49 +00:00
Chris Dalton
a44436f19f Allow SkChopCubicAt to have the same src and dst
Also updates SkConvertQuadToCubic to do the same.

Bug: skia:
Change-Id: Id1da5182b0696492ca9c8e99243cb86fbdbfcd2f
Reviewed-on: https://skia-review.googlesource.com/146212
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-08-08 18:06:29 +00:00
Herb Derby
44a017efa3 Revert "Performance: Move GPU code to GlyphRun and inline - v2"
This reverts commit c7ef517875.

Reason for revert: GCC clang differences

Original change's description:
> Performance: Move GPU code to GlyphRun and inline - v2
> 
> Move the GPU glyph drawing code into the glyph run drawing translation
> unit. Inline the per glyph/path functions. This results in about 15%
> speedup.i
> 
> There was a compile error where a static function was used
> in a template. This caused some compilers to freak.
> 
> Change-Id: I4dbcea5d4a7ef97f38c95772076736d6ec92c535
> Reviewed-on: https://skia-review.googlesource.com/146169
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

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

Change-Id: I785759e86ffaad76937c9aaa60b19abbbce226c2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146241
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-08 17:59:47 +00:00
Brian Salomon
d1b8a166db Add ability to specify different GP textures for each mesh in a draw.
Uses GrPipeline::DynamicStateArrays to allow per-mesh GP textures when
drawing an array of GrMeshes.

Uses this along with op-chaining to make drawing multiple TextureOps
with different textures faster.

Change-Id: Iec4da1b72a13d0e0c94c8a8568fe4221c539dfcf
Reviewed-on: https://skia-review.googlesource.com/145960
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-08 17:48:53 +00:00
Herb Derby
c7ef517875 Performance: Move GPU code to GlyphRun and inline - v2
Move the GPU glyph drawing code into the glyph run drawing translation
unit. Inline the per glyph/path functions. This results in about 15%
speedup.i

There was a compile error where a static function was used
in a template. This caused some compilers to freak.

Change-Id: I4dbcea5d4a7ef97f38c95772076736d6ec92c535
Reviewed-on: https://skia-review.googlesource.com/146169
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-08-08 17:41:54 +00:00
Robert Phillips
df25e3af32 Add fast path for tail insertion in GrResourceAllocator::IntervalList
Change-Id: I8953036d61b4ea4989c8722f536db9cd520a1e24
Reviewed-on: https://skia-review.googlesource.com/146167
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-08 17:18:57 +00:00
Brian Salomon
d25f5bcc18 Allow GrOps to chain themselves together instead of merging.
This allows GrOp subclasses to chain themselves together in linked
lists. The GrOp head instance is able to iterate over the ops in
the chain. The head op of the list draws the contents of all the
chained ops. GrRenderTargetOpList is updated to use this chaining
and to skip non-head ops when preparing/executing ops.

With this change no op uses the new chaining facility. That will come
in subsequent changes.

Change-Id: I7fe99252ad7e23a9ea80c9ed1fc4d060700da2e0
Reviewed-on: https://skia-review.googlesource.com/145899
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-08-08 17:02:47 +00:00
Robert Phillips
c296068f11 Revert "Performance: Move GPU code to GlyphRun and inline"
This reverts commit 0c5b0b1dd6.

Reason for revert: compilation woes
Original change's description:
> Performance: Move GPU code to GlyphRun and inline
> 
> Move the GPU glyph drawing code into the glyph run drawing translation
> unit. Inline the per glyph/path functions. This results in about 15%
> speedup.
> 
> Change-Id: Iee98140d668bb3cbcb77dd5a1fb2f83778f79d12
> Reviewed-on: https://skia-review.googlesource.com/145889
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I517a7ea4105e8cee0abfb2b1c1a53d630587859d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/146240
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-08-08 16:21:44 +00:00
Timothy Liang
057c39025a attached uniform and varying handlers to GrMtlPipelineStateBuilder
Bug: skia:
Change-Id: I4e8d09052153fa10bf887f07b70abe37d0c7e884
Reviewed-on: https://skia-review.googlesource.com/145159
Commit-Queue: Timothy Liang <timliang@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-08 15:58:01 +00:00
Mike Reed
5edcd31f2c migrating SkTDArray towards std::vector api
fix for https://skia-review.googlesource.com/c/skia/+/146140

Change from original was to include <initializer_list>

Bug: skia:
Change-Id: Ie36426fcf7ce778a95e2b656ce80a9a394a8307c
Reviewed-on: https://skia-review.googlesource.com/146160
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-08 15:51:44 +00:00
Herb Derby
0c5b0b1dd6 Performance: Move GPU code to GlyphRun and inline
Move the GPU glyph drawing code into the glyph run drawing translation
unit. Inline the per glyph/path functions. This results in about 15%
speedup.

Change-Id: Iee98140d668bb3cbcb77dd5a1fb2f83778f79d12
Reviewed-on: https://skia-review.googlesource.com/145889
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 15:45:21 +00:00
Jim Van Verth
ba4847cc3b Reland "Intersection calc cleanup."
This is a reland of 1b016d50b9

Original change's description:
> Intersection calc cleanup.
> 
> * Fixes some bugs in compute_intersection
> * Adds an intersection check that doesn't need to compute the exact pt
> * Make some of the variable names consistent
> * General floating point tweaks
> 
> Bug: skia:
> Change-Id: Ib2fb8bee39b5d9c635d62e606fe826b7efe64dfa
> Reviewed-on: https://skia-review.googlesource.com/145532
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:
Change-Id: I3fe00add6f700b58fd756b9fbb24078e010ed9ba
Reviewed-on: https://skia-review.googlesource.com/145920
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-08-08 15:15:16 +00:00
Mike Reed
f9ecb4e67e Revert "migrating SkTDArray towards std::vector api"
This reverts commit 79884be809.

Reason for revert: broke flutter build -- initializer_list?

Original change's description:
> migrating SkTDArray towards std::vector api
> 
> push -> push_back
> add some aliases to match std::vector: count, reserve, ...
> 
> Bug: skia:
> Change-Id: I1921c31d0d6e5ed3d622a0def6054c697be2d02f
> Reviewed-on: https://skia-review.googlesource.com/145884
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com

Change-Id: Ib6132b725aaed7c01287e3e8c2b5a14da3d3d7e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/146140
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 15:14:37 +00:00
Mike Reed
79884be809 migrating SkTDArray towards std::vector api
push -> push_back
add some aliases to match std::vector: count, reserve, ...

Bug: skia:
Change-Id: I1921c31d0d6e5ed3d622a0def6054c697be2d02f
Reviewed-on: https://skia-review.googlesource.com/145884
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 14:43:28 +00:00
Heather Miller
48f72d85a3 add skia.org modules section, animation page
No-Try: true
Docs-Preview: https://skia.org/?cl=145739
Bug: skia:
Change-Id: I9498fc6317b6a3b65ed8de07b15f164e0206b5bf
Reviewed-on: https://skia-review.googlesource.com/145739
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2018-08-08 14:30:03 +00:00
Ben Wagner
7df9c16f54 Add Win OpenCL Test job.
Bug: skia:8081
Change-Id: Ida8bb5e7bc43656289dda4eea45f3c7ef66f0f0c
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145379
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-08 14:18:57 +00:00
Cary Clark
4533f3d00b add simplify to json tests
pathops_unittest -J dump.json
now generates both Op() and Simplify() tests and results.

Also, make json names unique. While this may not be necessary,
duplicate names may make debugging failing tests more difficult.

R=kjlubick@google.com

Bug: skia:
Change-Id: I2eed5a8141764a0ad993fb9a09c23b7d90d65048
Reviewed-on: https://skia-review.googlesource.com/146100
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-08-08 14:17:57 +00:00
Greg Daniel
313c69568c Add support for Advanced blend extension to vulkan.
Currently we only support coherent advanced blends

Bug: skia:
Change-Id: I3d0d7d19313dc55aed57c79585c0ee870f6981a7
Reviewed-on: https://skia-review.googlesource.com/145888
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-08-08 14:04:23 +00:00
Greg Daniel
a0651acaf2 Update vulkan features (again) to support extension features.
We need to handle all the possible ways a client is allowed to initialize
features on Vulkan.

Bug: skia:
Change-Id: I98b1dee2efa2c22c26ce093c590c7ccd0b626969
Reviewed-on: https://skia-review.googlesource.com/145530
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-08-08 13:48:38 +00:00
Ben Wagner
bcae31ff9c Remove QuadroP400 TSAN job.
Bug: skia:8185
Change-Id: Id40f288515169a378926d6042cc76a976cdf7513
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/145892
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2018-08-08 13:20:22 +00:00
Derek Sollenberger
f2889f1c5f Revert "Update ShouldUseAAA with our better complexity estimation"
This reverts commit e847af7e0d.

Reason for revert: blocking Android and Google3 rolls and ~5K GM's changed

Original change's description:
> Update ShouldUseAAA with our better complexity estimation
> 
> See https://groups.google.com/forum/#!topic/skia-discuss/QrJadRQR5A4 for the issue.
> 
> Bug: skia:
> Change-Id: I260d1a57f64ff7a2fc47e6bce00cd8b8dbca81a9
> Reviewed-on: https://skia-review.googlesource.com/144412
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,caryclark@google.com,liyuqian@google.com,reed@google.com

Change-Id: Ia770c12ff4c3201342ecc8fedff9788c4cd2f493
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/146080
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2018-08-08 13:13:22 +00:00
Robert Phillips
f5402004c4 First version of incremental topological sort
In order to solve both the VRAM budget for explicit resource allocation and DDL incremental flush problems we will need to always have the opLists be sorted.

This will also help partial flushes.

Change-Id: I3ac2baf622415925ab5c403b7800f3fc49e59838
Reviewed-on: https://skia-review.googlesource.com/144000
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-08-08 11:43:43 +00:00
angle-skia-autoroll
4856f5fa59 Roll third_party/externals/angle2 b983a4b28b83..c93eeaab1526 (1 commits)
b983a4b28b..c93eeaab15


git log b983a4b28b83..c93eeaab1526 --date=short --no-merges --format='%ad %ae %s'
2018-08-07 tikuta@chromium.org Make angle's commit.h depend on git head


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

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: If4870fe08858d610f07e4469e6e81b81adaee5b1
Reviewed-on: https://skia-review.googlesource.com/146040
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-08 09:14:59 +00:00