platform/upstream/libSkiaSharp.git
7 years agohone down the SK_FORCE_RASTER_PIPELINE_BLITTER test bot
Mike Klein [Thu, 11 May 2017 17:12:48 +0000 (13:12 -0400)]
hone down the SK_FORCE_RASTER_PIPELINE_BLITTER test bot

We only are really interested in 8888 GMs for this bot.
Unit tests and other configs don't need to run.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER

Change-Id: Iec4e5566cc27e82fea0d5832c514a5141ff80cfa
Reviewed-on: https://skia-review.googlesource.com/16499
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoMove SK_API from namespace to function
Matt Sarett [Thu, 11 May 2017 17:10:06 +0000 (13:10 -0400)]
Move SK_API from namespace to function

Bug: skia:
Change-Id: Ib538b77c28e323bbcc40634b0f3cd87d88d898e8
Reviewed-on: https://skia-review.googlesource.com/16496
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 17:07:13 +0000 (10:07 -0700)]
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.
build:
  https://crrev.com/e096fcfd77f8e45fb52190c716ecb39821b89ac6 Add a linux FYI bot for running perf tests with the new network service. (yzshen@chromium.org)
depot_tools:
  https://crrev.com/1a91c6080a92423c8816208ed0931bdcbdf05f2d Nit fix for git_footers. (tandrii@chromium.org)
  https://crrev.com/5702f0baefc0c1321374d838f8fc27c18d79a2ae [recipes] convert all recipe_modules to use new context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2c4571b8ff45addf398d452a7889b24fb59c22d5
Reviewed-on: https://skia-review.googlesource.com/16498
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoremove TODO in SkGradientShader.cpp
Mike Klein [Thu, 11 May 2017 16:47:22 +0000 (12:47 -0400)]
remove TODO in SkGradientShader.cpp

As we have factored things, we _do_ need to map y.  This matrix maps us
back from dst to src space now, but not all the way to t.
We let the subclass inject its own logic for x,y -> t.

(Linear gradients do actually still do this by modifying the first
matrix rather than appending another matrix for x,y -> t.  But in
general we cannot not map y here anymore.)

Change-Id: I2f9a87c7b510269a8b218a0247cbff416fe8d6c9
Reviewed-on: https://skia-review.googlesource.com/16495
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoWorkaround for Intel 6xxx clear to opaque black bug
Brian Salomon [Thu, 11 May 2017 15:39:08 +0000 (11:39 -0400)]
Workaround for Intel 6xxx clear to opaque black bug

Bug: skia:
Change-Id: Id5e29b483c2b6f698219abfc5bbb2d858c4fc117
Reviewed-on: https://skia-review.googlesource.com/16427
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoEnable debug output on iOS
Stephan Altmueller [Thu, 11 May 2017 14:18:59 +0000 (10:18 -0400)]
Enable debug output on iOS

Enables debug output on iOS. Everything will work the
same except there will be more output for dm and nanobench.
This should help us flush out remaining flakiness and
will be removed once it's not necessary anymore.

Bug: skia:
Change-Id: Idfdc7cf829e93b905fdb0ac2bbab1e78250b7ae0
Reviewed-on: https://skia-review.googlesource.com/16491
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>

7 years agoFix transparent ambient shadows
Jim Van Verth [Thu, 11 May 2017 14:43:35 +0000 (10:43 -0400)]
Fix transparent ambient shadows

Add a clamp value to indicate the percentage of the blurWidth to apply.

Change-Id: I962dc57ed786fa67ed1606b1148f1b2c568025e5
Reviewed-on: https://skia-review.googlesource.com/16424
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix transparent ambient for perspective shadows
Jim Van Verth [Thu, 11 May 2017 14:23:53 +0000 (10:23 -0400)]
Fix transparent ambient for perspective shadows

When splitting the long edges for the ambient code, I wasn't adding
the corresponding triangle for the new point into the center region
for transparent occluders.

Change-Id: Ie2d1dcffbd701c0750d5da95e9d673b700a0e85a
Reviewed-on: https://skia-review.googlesource.com/16492
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoAdd SkJpegEncoder and SkWebpEncoder to public API
Matt Sarett [Thu, 11 May 2017 13:32:59 +0000 (09:32 -0400)]
Add SkJpegEncoder and SkWebpEncoder to public API

Bug: 713862
Change-Id: I05d8b3a506f817d63b0bc3ab3f9233e24bbe3be0
Reviewed-on: https://skia-review.googlesource.com/16233
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 13:55:23 +0000 (06:55 -0700)]
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.
build:
  https://crrev.com/39b918105825f2b0007b6589aa39946b8dba0c68 Add Fuchsia to recipe_modules/chromium_tests/chromium_fyi.py (scottmg@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I63451367f9bf348a120f4648a4cb4f1a80aa63b1
Reviewed-on: https://skia-review.googlesource.com/16488
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agofix SkASSERT for Visual Studio
Cary Clark [Thu, 11 May 2017 13:12:57 +0000 (09:12 -0400)]
fix SkASSERT for Visual Studio

Changing colons to parens permits
the error to be recognized, so that
clicking on it goes to the source
line with the assert.

R=reed@google.com

Change-Id: Ifec7fc0633e8ecf0f670418fefaf8ca87ee3d498
Reviewed-on: https://skia-review.googlesource.com/16485
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>

7 years agoAdd a way to force raster pipeline blitter.
Mike Klein [Wed, 10 May 2017 20:13:35 +0000 (16:13 -0400)]
Add a way to force raster pipeline blitter.

    And add some Test/Perf bots to try it out!

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER

Change-Id: I56ea2285f9fec2e468fae89673a545a717ab0f49
Reviewed-on: https://skia-review.googlesource.com/16423
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd some swizzle checks to vulkan backend
Greg Daniel [Thu, 11 May 2017 13:20:59 +0000 (09:20 -0400)]
Add some swizzle checks to vulkan backend

Bug: skia:
Change-Id: I9f5a5c1fda9cf26fc6479e1cd6d0e981e6991c8e
Reviewed-on: https://skia-review.googlesource.com/16426
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoA8 fast path for raster clip masks
Florin Malita [Wed, 10 May 2017 19:26:44 +0000 (15:26 -0400)]
A8 fast path for raster clip masks

When the clip mask is already A8, we don't need to convert explicitly.

Before:

  792.72  clipmask_a8 8888

After:

  560.06  clipmask_a8 8888

BUG=skia:6005

Change-Id: I9a319df9a82edfc9b412787a36f037bbe82c2825
Reviewed-on: https://skia-review.googlesource.com/16420
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 12:36:01 +0000 (05:36 -0700)]
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.
build:
  https://crrev.com/af437b4736641bc6845330b16aab3252647a6ad9 WebRTC: Add mail notification if the autoroller fails. (kjellander@chromium.org)
depot_tools:
  https://crrev.com/04b51d6de0c1eb267f2446126a682fc747620439 Reland of Relax git_footers parsing to match that of Gerrit (JGit). (tandrii@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8a957a5eb90e483290b26766eddd04209f80aab1
Reviewed-on: https://skia-review.googlesource.com/16482
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Thu, 11 May 2017 11:27:01 +0000 (04:27 -0700)]
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.
build:
  https://crrev.com/4ed4219bd19960b21e8bc17f61f775ce2a973562 Move Win8 and Win10 bots over to swarming. (ehmaldonado@chromium.org)
  https://crrev.com/6c0332b76eb3496620601ed2b974bece89dbcd0f Add ios_compile, ios64_compile, and linux_fuzz BoringSSL builders. (davidben@chromium.org)
  https://crrev.com/a75ef95539f72ced4d30ad85ea35b6664a2ffa3c [codesearah] Refactor chromium_codesearch.py to use run_mb (shenghuazhang@google.com)
  https://crrev.com/c7749c05c3deff6d34c05b3135b98e3f12e22866 Add LIBFUZZER_FROM_DEPS to fuzzer bots. (davidben@chromium.org)
  https://crrev.com/6054a101391edc7c0feff76ae027bd5c0fd8052d Add Fuchsia slave to FYI master (scottmg@chromium.org)
  https://crrev.com/f741f2de5b2345031078dea917bdd466313a8a85 Enable PubSub streaming for tryserver.client.catapult (hinoka@google.com)
  https://crrev.com/65dbbe481846b68665ea12e737fde04d3f3b2dc6 chromite recipe_module: Remove build_type and variant support. (dgarrett@google.com)
  https://crrev.com/a922a0f7d8d1aecffb96c70fcabb4cf6aed8b5ca Manually roll depot_tools 57a8692:beec006 (phajdan.jr@chromium.org)
  https://crrev.com/5f90cd4ff7fa665e5dcd93016ead17b60a9c315b V8: Bump shards on slowest bots (machenbach@chromium.org)
  https://crrev.com/bdb9d6cb87b77bf04acc1165cfe581a508e1d40e Adjusting run_tool.py command line to account for recent changes (emso@chromium.org)
  https://crrev.com/2d2c1a2cce4ecd784375fe0b78aa2273f45df3b3 WebRTC: Tests for Android Studio project creation (kjellander@chromium.org)
  https://crrev.com/26a68cd1302d673f1ca924b22340f52a125bf315 Revert "WebRTC: Tests for Android Studio project creation" (kjellander@chromium.org)
  https://crrev.com/6d2e75af8686a56cbd4fbd9adcf808d916fdfc96 Add emso to the OWNERS (emso@chromium.org)
  https://crrev.com/bdf87b9ebf0a1534c96982344d6dcefab79c51ea Reland "WebRTC: Tests for Android Studio project creation"" (kjellander@chromium.org)
  https://crrev.com/590e609111eaaa9c7fd94d919b090e36c1fa9151 Adds more slaves to the codesearch master (emso@chromium.org)
  https://crrev.com/0903c31179747b6479b608eb5240eccca600084c chromium_checkout: do not run gclient validate if patch failed to apply (phajdan.jr@chromium.org)
depot_tools:
  https://crrev.com/1e250cdeb344f096cbff4d515e333077b3b108a8 git cl creds-check: understand '~' in path to .gitcookies. (tandrii@chromium.org)
  https://crrev.com/8e4576f38535ad6eb407f6c63fa4a4d5afe1f1cb git cl upload: fix confusing warning. (tandrii@chromium.org)
  https://crrev.com/28a5d5defd13c382af94cd8368b16641752fee88 Relax git_footers parsing to match that of Gerrit (JGit). (tandrii@chromium.org)
  https://crrev.com/fa16a83dd2f3100f996e0834ef16f1277c4070fa vpython: proper shebang :) (dnj@chromium.org)
  https://crrev.com/beec006697a11600e254ac6c69e98f76d555306b gclient validate: add schema checking (phajdan.jr@chromium.org)
  https://crrev.com/43ec62ec712c3f199f85c8abec6db77a9e5e81e1 Revert "Relax git_footers parsing to match that of Gerrit (JGit)." (tandrii@chromium.org)
recipe_engine:
  https://crrev.com/23230785ddaec6e199d3ede6d496131ec178c183 config: fix config.Dict with no value type (nodir@chromium.org)
  https://crrev.com/c594d93e17bd0e32f02620808deed9b1833bd81f [autoroll] Remove support for 'config section' in doc/recipes.py (iannucci@chromium.org)
  https://crrev.com/275cbaae0e81a737ff1be9c73049b2cd124388ad [context] Add user-facing context module. (iannucci@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic18db3dfdfead37acdbf66da6b81182f87ec736a
Reviewed-on: https://skia-review.googlesource.com/16481
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (nontrivial).
recipe-roller [Wed, 10 May 2017 11:50:19 +0000 (04:50 -0700)]
Roll recipe dependencies (nontrivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

Please review the expectation changes, and LGTM+CQ.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
  https://crrev.com/92c859f50299571b9ed2c2d30e5ef9b3c17f9cca remote_run: Roll fixed Kitchen. (dnj@chromium.org)
depot_tools:
  https://crrev.com/6dadfbfcf77356b3cf4b972de93c0ba1f9472fe4 git-cl-upload: Set all reviewers and ccs in a single batch api call (agable@chromium.org)
recipe_engine:
  https://crrev.com/c93ed98c3c3e6c9be82e88496e55cb1f3dd13372 [recipe_modules/step] do not set cwd if it is start_dir. (iannucci@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I921e626b028d77044de0539d653d8cf7bd3c2f7b
Reviewed-on: https://skia-review.googlesource.com/16362
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoremove SK_SUPPORT_DEPRECATED_CLIPOPS from g3
Mike Reed [Thu, 11 May 2017 01:48:54 +0000 (21:48 -0400)]
remove SK_SUPPORT_DEPRECATED_CLIPOPS from g3

Bug: skia:
Change-Id: Ibcdb026a235620135153caabf888ca47317d0515
Reviewed-on: https://skia-review.googlesource.com/16429
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRemove comments referencing locked pixels
Leon Scroggins III [Tue, 9 May 2017 13:18:03 +0000 (09:18 -0400)]
Remove comments referencing locked pixels

Pixels no longer need to be locked.

TBR=reed@google.com

Bug: skia: 6481
Change-Id: I4b49f710add9134205d1520755b44bee308bd502
Reviewed-on: https://skia-review.googlesource.com/16113
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoMake SkCreateRasterPipelineBlitter() not fail.
Mike Klein [Wed, 10 May 2017 16:29:38 +0000 (12:29 -0400)]
Make SkCreateRasterPipelineBlitter() not fail.

Mostly this is about extending the fallback in SkShader::appendStages()
to cover more cases, and making sure subclasses call appendStages() so
they can get the fallback, not onAppendStages() directly.

We still need to watch for SkShader::makeContext() failing in the
fallback itself, so sadly SkShader::appendStages() may still fail.

Change-Id: I2314b234a24bdcecac401a385ce050d7fdf0a83e
Reviewed-on: https://skia-review.googlesource.com/16369
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agosksl support for static ifs & switches
Ethan Nicholas [Wed, 10 May 2017 19:06:17 +0000 (15:06 -0400)]
sksl support for static ifs & switches

Bug: skia:
Change-Id: Ic9e01a3a18efddb19bab26e92bfb473cad294fc1
Reviewed-on: https://skia-review.googlesource.com/16144
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoUnify ShadowUtils interface
Jim Van Verth [Wed, 10 May 2017 18:13:24 +0000 (14:13 -0400)]
Unify ShadowUtils interface

Bug: skia:
Change-Id: I116bec82783d297e91ef061217b5e61f7ff16a76
Reviewed-on: https://skia-review.googlesource.com/16371
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agouse SkColorSpaceXformer in SkShader appendStages() fallback
Mike Klein [Wed, 10 May 2017 18:04:04 +0000 (14:04 -0400)]
use SkColorSpaceXformer in SkShader appendStages() fallback

We've been transforming the gamut after running the legacy shader,
but now that we have SkColorSpaceXformer, we can transform the
legacy shader into the dst color space instead.

This should be both more correct and faster.

Change-Id: If017048874e6cce46837d3ecbd88dfde503fd03a
Reviewed-on: https://skia-review.googlesource.com/16373
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoclean up SkShader friends
Mike Klein [Wed, 10 May 2017 16:35:51 +0000 (12:35 -0400)]
clean up SkShader friends

Many SkShader subclasses are only friends to use makeColorSpace().

Our usual solution to this is to add a method on SkColorSpaceXformer
that calls makeColorSpace() for us, so that only SkColorSpaceXformer
needs to be a friend.

Just a refactor.  No image diffs.

Change-Id: Icf952b739edf45f2fb8c0c35e353ef2866f4c5cc
Reviewed-on: https://skia-review.googlesource.com/16370
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoadd flag to hide deprecated clipops
Mike Reed [Wed, 10 May 2017 18:13:20 +0000 (14:13 -0400)]
add flag to hide deprecated clipops

needs this to land first
https://codereview.chromium.org/2877493002/#

Bug: skia:3191
Change-Id: Iff5271064877c4e96353d3564464f513eaad0bb5
Reviewed-on: https://skia-review.googlesource.com/16365
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoFix alpha coverage for lerp_565 stage.
bungeman [Wed, 10 May 2017 17:50:12 +0000 (13:50 -0400)]
Fix alpha coverage for lerp_565 stage.

Like three gray with alpha blends and taking the max alpha.

Change-Id: I104c84f784979030744127f8f66905ad9d1bdf0e
Reviewed-on: https://skia-review.googlesource.com/15898
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoExperimental Go bindings for Skia
Stephan Altmueller [Tue, 9 May 2017 19:56:06 +0000 (15:56 -0400)]
Experimental Go bindings for Skia

This CL implements Go bindings for a subset of the functions in the C API.
It implements a Go version of the C demo program in
experimental/c-api-example/skia-c-example.c and the output is identical.
(Checked by hand).

The main purpose is to establish a pattern of calling the Skia C API that
is memory safe and provides a idiomatic Go interface to Skia.

Follow up CLs will cover the entire C API, add documentation and establish
a pattern to distribute the bindings more easily.

BUG=
Change-Id: I96ff7c3715164c533202ce300ab0312b1b07f884

Change-Id: I96ff7c3715164c533202ce300ab0312b1b07f884
Reviewed-on: https://skia-review.googlesource.com/10032
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Stephan Altmueller <stephana@google.com>

7 years agoClean up shadow assert.
Jim Van Verth [Wed, 10 May 2017 14:04:17 +0000 (10:04 -0400)]
Clean up shadow assert.

When drawing an analytic rrect shadow, the mask filter could pass
the devRect into the drawOp. If we have a small scale that could
make the radii less than SK_ScalarNearlyZero. We might also have
a rect that we outset by a value less than SK_ScalarNearlyZero to
the penumbra border. So the best we can check is that the the two
radii are equal.

Bug: skia:6608
Change-Id: I8bdafe089b302fbc5c9042ff30798d3688e9e781
Reviewed-on: https://skia-review.googlesource.com/16364
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoMove all non-AA fill rect ops off of GrLegacyMeshDrawOp.
Brian Salomon [Mon, 8 May 2017 14:43:33 +0000 (10:43 -0400)]
Move all non-AA fill rect ops off of GrLegacyMeshDrawOp.

This adds perspective to GrNewNonAAFillRectOp, renames it to GrNonAAFillRectOp, and deletes the previous version of that namespace.

Change-Id: I20f35bf019f9c9105e6ec83dda11328451138109
Reviewed-on: https://skia-review.googlesource.com/15634
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoadd parameter names
Cary Clark [Wed, 10 May 2017 13:07:42 +0000 (09:07 -0400)]
add parameter names

Functions in SkPaint and SkCanvas are easier to write
about when all of their parameters are named.

Also, move GlyphCacheProc to private since the only
interface that returns it is already in private.

R=reed@google.com

Change-Id: Iaea46213d5614d564c1c3de99e6f96c5efaec4b1
Reviewed-on: https://skia-review.googlesource.com/16175
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>

7 years agoallow inf/nan in GrRect isect utility functions.
Brian Salomon [Tue, 9 May 2017 22:09:28 +0000 (18:09 -0400)]
allow inf/nan in GrRect isect utility functions.

Separately we may want to determine why we get NaNs here in flutter.

Bug: skia:6607
Change-Id: Id90fff1ccf487794d55dc011b1a2d176cedb931a
Reviewed-on: https://skia-review.googlesource.com/16342
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Wed, 10 May 2017 11:20:21 +0000 (04:20 -0700)]
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.
build:
  https://crrev.com/248dfae5042b4c64da3aceeda4cd86b6a26718ff Enforce strict coverage for math_utils recipe module (phajdan.jr@chromium.org)
  https://crrev.com/f61b8f4f27b631705aa4a42ed11cfbda1689f2a0 [pinpoint] Enable swarming on Pinpoint builder and change parent_buildername. (dtu@chromium.org)
  https://crrev.com/70c70024b138c06c7e76bc099bc9793bcb66be53 Enable Kitchen on all "chromium.fyi". (dnj@chromium.org)
  https://crrev.com/363c91e87561385daf733cd30aa1a4391dd249ee remote_run: Bump canary Kitchen version. (dnj@chromium.org)
recipe_engine:
  https://crrev.com/9f2573a386ee07450095cbeb3562df94a644962f bootstrap: show a better missing CIPD error (dnj@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9a1478f3359ae342acfed3c17ebe56a6034eb749
Reviewed-on: https://skia-review.googlesource.com/16361
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoRoll recipe dependencies (nontrivial).
recipe-roller [Tue, 9 May 2017 20:32:59 +0000 (13:32 -0700)]
Roll recipe dependencies (nontrivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

Please review the expectation changes, and LGTM+CQ.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
build:
  https://crrev.com/d1cc05b08eb5bd2fe0b71fde4fcc5f5d1d65b5d6 swarming api: fix legacy way to specify isolated (maruel@chromium.org)

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0cbbff8ee1124ebaf40a20fbb0f780a6dca6537e
Reviewed-on: https://skia-review.googlesource.com/16320
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agook, fix typo: struct -> static
Mike Klein [Tue, 9 May 2017 22:04:04 +0000 (18:04 -0400)]
ok, fix typo: struct -> static

Change-Id: I2b26ccd017d9e66ced41a1af04929e2d83a5a2d5
Reviewed-on: https://skia-review.googlesource.com/16343
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agook, add timer via
Mike Klein [Tue, 9 May 2017 20:03:07 +0000 (16:03 -0400)]
ok, add timer via

Change-Id: I3d25a2aa9ae6dacb52779142cea062c7d9df40f5
Reviewed-on: https://skia-review.googlesource.com/16238
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoPre-clamp path tolerance
Brian Osman [Tue, 9 May 2017 20:36:41 +0000 (16:36 -0400)]
Pre-clamp path tolerance

GrDefaultPathRenderer was using GrPathUtils::worstCasePointCount, which
clamped the tolerance. Then it built geometry with the unclamped value,
leading to vertex overflow (found by canvas fuzzer). The new rule is if
you use GrPathUtils, your tolerance must come from scaleToleranceToSrc.

Bug: skia:6569
Change-Id: I851519db8e569e570c717033d697f3d4d3d787fb
Reviewed-on: https://skia-review.googlesource.com/16234
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agovoid SkColorFilter::onAppendStages(...)
Mike Klein [Tue, 9 May 2017 18:57:58 +0000 (14:57 -0400)]
void SkColorFilter::onAppendStages(...)

SkColorFilter::onAppendStages() can't actually fail today.
Let's enforce that.  This means the fallback is now used
only for color filters that have not implemented onAppendStages().

Change-Id: Ica3939685694f6186727766b54914b9ba05ca68c
Reviewed-on: https://skia-review.googlesource.com/16231
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agofix 565
Mike Klein [Tue, 9 May 2017 19:10:21 +0000 (15:10 -0400)]
fix 565

Change-Id: Ibde5242dc4f66b720cb8be1e2d771ba88b12b496
Reviewed-on: https://skia-review.googlesource.com/16241
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd encode to bzl include paths
Matt Sarett [Tue, 9 May 2017 19:28:32 +0000 (15:28 -0400)]
Add encode to bzl include paths

NOTRY=true

Bug: skia:
Change-Id: Ib37b9a0a5b3c07b0b78b389bd3003c350b49b53f
Reviewed-on: https://skia-review.googlesource.com/16232
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoCreate geometry shader modules in vulkan when using geom shaders
Greg Daniel [Mon, 8 May 2017 16:10:12 +0000 (12:10 -0400)]
Create geometry shader modules in vulkan when using geom shaders

Looks like this was left off the original vulkan Geo shader change.
Bug: skia:
Change-Id: Iec1c09d6d7b347147e4237bad3e6b3eb4684154e
Reviewed-on: https://skia-review.googlesource.com/15813
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoFixed distance field interpolation for gamma correct rendering
Brian Osman [Wed, 19 Apr 2017 20:08:30 +0000 (16:08 -0400)]
Fixed distance field interpolation for gamma correct rendering

Bug: skia:
Change-Id: I9037decfeb9b2ab673434bb3c4b7f55aca186d68
Reviewed-on: https://skia-review.googlesource.com/13872
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoAdded SkImage::MakeCrossContextFromEncoded
Brian Osman [Tue, 9 May 2017 17:19:50 +0000 (13:19 -0400)]
Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Re-land of https://skia-review.googlesource.com/c/14180/

Bug: skia:
Change-Id: I3dd382640629b79b3058f18fee68d043566e43e5
Reviewed-on: https://skia-review.googlesource.com/15895
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoManually roll recipes.
Robert Iannucci [Tue, 9 May 2017 18:06:48 +0000 (11:06 -0700)]
Manually roll recipes.

Include new --package option for recipes.py.

build:
  https://crrev.com/380216596a663dc45d6562b29bce3719e2620ac0 Bump bot environment "vpython". (dnj@chromium.org)
  https://crrev.com/226d6eadceee58fe6832679e39a040a46d5df989 Bump Kitchen canary, clear PYTHONPATH. (dnj@chromium.org)
  https://crrev.com/45f9beb12883c6b509c699c1dd1694be218c4740 Write uploaded log url to file in goma module (tikuta@google.com)
  https://crrev.com/5c6b5807ee3de9277b8c6e3182f621e4216e2eea WebRTC: Rename tools-webrtc -> tools_webrtc (kjellander@chromium.org)
  https://crrev.com/3090e9f2c42f7254fc9b42b21ed792e19d77e667 Manually roll depot_tools 69a239e:e2f9fee (phajdan.jr@chromium.org)
  https://crrev.com/e845e79d0cd39af876b4fff648c68bd023633c8a chromium_checkout: add non-fatal gclient validate step (phajdan.jr@chromium.org)
  https://crrev.com/3bed2fc03bc435464880411740b20031f80ed41c Remove old GYP compatibility targets from chromium_tests. (RELAND) (jbudorick@chromium.org)
  https://crrev.com/9b44962a1bfb8134ffac7f5606a11cb8ff8489e8 Flutter: Rev Android build tools to 23.0.3 (mit@google.com)
  https://crrev.com/6fa4d503d7ef77a951b446ca01b5b18a3c9fb79c remote_run: promote Kitchen canary to stable. (dnj@chromium.org)

depot_tools:
  https://crrev.com/4ebaaf9d9c1e24548f3c9f9f748e8631d091ecd0 Bump "vpython" version. (dnj@chromium.org)
  https://crrev.com/0bbd1c28d5827379f363f2a9170eeda27fd7b758 git-cl: upload to merge-base with master, not tip of origin/master (agable@chromium.org)
  https://crrev.com/e2f9feecaf4326cef699624d5f52b9f31ecbc104 Add validate command to gclient (phajdan.jr@chromium.org)

recipe_engine:
  https://crrev.com/66338449f4d727da096422c1df1b6654224d6512 [bootstrap] don't change directories when bootstrapping. (iannucci@chromium.org)
  https://crrev.com/487e5e371bf8140b0467c6366f94042581f5c63c [recipes.py] refactor PackageContext to remove unused --deps-path arg. (iannucci@chromium.org)
  https://crrev.com/92c5b73ff81fb30c80a33bab91be51551d5e67b7 Bump "vpython" bootstrap version. (dnj@chromium.org)
  https://crrev.com/d6c4a597be2da8be7971b4d5f66e3d95e8fc325c [recipes.py] refactor PackageContext to remove --no-fetch logic. (iannucci@chromium.org)
  https://crrev.com/cfeeb53051e02856a35395a69b09f822ad35e2e5 [doc/recipes.py] Improve copypasta bootstrap script. (iannucci@chromium.org)
  https://crrev.com/e90c11af854574dd68edd0e7c7a5e04ceb49ffd0 [recipes.cfg] remove support for api_version 1. (iannucci@chromium.org)
  https://crrev.com/497f5b7f92cea8e5273d56cc3cba876fb18b42d9 [doc/recipes.py] fix issue when running recipes.py from . (iannucci@chromium.org)
  https://crrev.com/e7bbbf6cfac944157d80cc92fd78837165e69d3f Fix a race crash when recipe expectations directory exists (phajdan.jr@chromium.org)
  https://crrev.com/bf2ff828987549b946135919bd1bffd6e42fd8fd [doc/recipes.py] Add option to recipes.py to allow it to work without .git (iannucci@chromium.org)

R=borenet@google.com

Bug: skia:
Change-Id: Ic7c20a7beb6165ea79194053016759722fea6a51
Reviewed-on: https://skia-review.googlesource.com/16201
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoAdd downsampling option to SkJpegEncoder
Matt Sarett [Tue, 9 May 2017 18:02:10 +0000 (14:02 -0400)]
Add downsampling option to SkJpegEncoder

Bug: 713862
Change-Id: Ibad6ecf836ccfd355499e1bace7bcd4ba772a97a
Reviewed-on: https://skia-review.googlesource.com/15891
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoupdate dox for dithering
Mike Reed [Tue, 9 May 2017 16:20:02 +0000 (12:20 -0400)]
update dox for dithering

Bug: skia:6604
Change-Id: I21b505c54c1d43abf62b7c577e7dd88e53ed30fd
Reviewed-on: https://skia-review.googlesource.com/16156
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agomove set-text-matrix into private
Mike Reed [Tue, 9 May 2017 16:16:04 +0000 (12:16 -0400)]
move set-text-matrix into private

Had no external callers, and was poorly named.

Bug: skia:
Change-Id: I5bed6853e9aa3b31fa106a436a73297bf55f0503
Reviewed-on: https://skia-review.googlesource.com/16155
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoAdd jpeg encoder alpha handling option
Matt Sarett [Tue, 9 May 2017 16:46:50 +0000 (12:46 -0400)]
Add jpeg encoder alpha handling option

This instructs us on how to encode jpegs when the src
image has alpha.  The original behavior is to ignore
the alpha channel.  This CL adds the option to blend
the pixels onto opaque black.

Note that kBlendOnBlack and kIgnore are identical
unless the input alpha type is kUnpremul.

Bug: 713862
Bug: skia:1501
Change-Id: I4891c70bb0ccd83f7974c359bd40a2143b5c49ac
Reviewed-on: https://skia-review.googlesource.com/15817
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agomake append_gamut_tranform() never fail
Mike Klein [Tue, 9 May 2017 01:56:55 +0000 (21:56 -0400)]
make append_gamut_tranform() never fail

The only way it could ostensibly fail is if we get non-XYZ color
spaces, which should just not happen.  Assert that doesn't happen
and safely do nothing instead of failing.

This is one of the leaf nodes to getting SkCreateRasterPipelineBlitter
to never fail.  Next come SkColorFilter:: and SkShader::appendStages().

Change-Id: I5c7a8c63d0a9837e2e55208e1674796d86f45307
Reviewed-on: https://skia-review.googlesource.com/16002
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd support for using texel buffers in Vulkan backend.
Greg Daniel [Mon, 8 May 2017 14:30:59 +0000 (10:30 -0400)]
Add support for using texel buffers in Vulkan backend.

Bug: skia:
Change-Id: I5cc7b18263dbe28d5d8d89301111ef240109704a
Reviewed-on: https://skia-review.googlesource.com/15770
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoTune down libpng in DM.
Mike Klein [Mon, 8 May 2017 23:49:22 +0000 (19:49 -0400)]
Tune down libpng in DM.

Timing `out/dm --src gm --config srgb -w foo` on my desktop,
   - wall time drops from 3.72 -> 2.17 seconds; and
   - CPU time drops from 64.9 -> 27.9 seconds.

So again, close to 2x speedup.
(In exchange, the .pngs of our GMs grow from 57M to 73M.)

Change-Id: I6e2e8c8bda6371e857c8db41ca3119402a9056ae
Reviewed-on: https://skia-review.googlesource.com/16000
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoMove SkPngEncoder into public API
Matt Sarett [Mon, 8 May 2017 21:31:00 +0000 (17:31 -0400)]
Move SkPngEncoder into public API

Bug: 713862
Change-Id: I45068ed39affe41ffe0f29bf42c5ea1d9b0247ba
Reviewed-on: https://skia-review.googlesource.com/15897
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoMake SkColorFilter::appendStages() not fail.
Mike Klein [Tue, 9 May 2017 15:52:35 +0000 (11:52 -0400)]
Make SkColorFilter::appendStages() not fail.

This makes SkColorFilter::appendStages() first try onAppendStages(),
and if it's unimplemented or fails, fall back to filterSpan4f().

This also makes onAppendStages() private to try to ensure that
appendStages() is now its only caller, ensuring everyone goes
through this fallback path.

The fallback uses the color filter transformed into the dst colorspace
using our new SkColorSpaceXformer... that seem ok Matt?

Change-Id: I4751a6859596fa4f7e844e69ef0d986f005b52c7
Reviewed-on: https://skia-review.googlesource.com/16031
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAvoid assertion in MSAA rendering buffer about indexed draw with zero index count
Brian Salomon [Tue, 9 May 2017 13:57:19 +0000 (09:57 -0400)]
Avoid assertion in MSAA rendering buffer about indexed draw with zero index count

Also add some GrMesh::validate() calls earlier to make future debugging easier. Previously this only asserted when the draws executed, now it asserts as soon as the draw is prepared in the op subclass.

Bug: skia:
Change-Id: Ibdd4488b9a9263f0ed337a2c8c6066bc36297001
Reviewed-on: https://skia-review.googlesource.com/16029
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoAdd flag to avoid stencil buffers in Skia
Eric Karl [Mon, 8 May 2017 19:02:07 +0000 (12:02 -0700)]
Add flag to avoid stencil buffers in Skia

Certain systems experience a leak in the GL driver associated with
stencil buffers. Attempts to avoid the leak (while still using stencil
buffers) dind't succeed. This patch adds a GrContextOption
fAvoidStencilBuffers. This disables certain path rendering modes, as
well as stencil based masking/clipping.

Bug: 713854
Change-Id: Ifa6c0f2bd5ee395547bda9165d6c79d197ae8b8b
Reviewed-on: https://skia-review.googlesource.com/15253
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Eric Karl <ericrk@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSkPerlinNoiseShader: handle pathological inputs
Hal Canary [Mon, 8 May 2017 21:17:47 +0000 (17:17 -0400)]
SkPerlinNoiseShader: handle pathological inputs

BUG=skia:6429
Change-Id: Ifc20c1f480c1396e40ab7fc3a3789aa7c2ae5d85
Reviewed-on: https://skia-review.googlesource.com/15896
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoConvert color to dst (once) in color shaders
Matt Sarett [Wed, 8 Mar 2017 18:13:58 +0000 (13:13 -0500)]
Convert color to dst (once) in color shaders

BUG=skia:

Change-Id: Ideba16972b82fc26766349c808ae406e5ea23163
Reviewed-on: https://skia-review.googlesource.com/9418
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoAdd debug-only helper methods to get #ops & #clips per opList
Robert Phillips [Mon, 8 May 2017 19:35:11 +0000 (15:35 -0400)]
Add debug-only helper methods to get #ops & #clips per opList

These are being/will be used to determine the correct amout of memory to preallocate for ops & clips in the opLists.

Change-Id: I98ebaec8a6e72a43d97101aca5fbc58264964ebd
Reviewed-on: https://skia-review.googlesource.com/15882
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years ago[recipes] Remove inputs to BundleRecipes task
Eric Boren [Mon, 8 May 2017 17:40:22 +0000 (13:40 -0400)]
[recipes] Remove inputs to BundleRecipes task

This should enable deduplication.

Bug: skia:
Change-Id: I2be98f648acd666c420885f08377c256f9102a8f
Reviewed-on: https://skia-review.googlesource.com/14651
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoRemove 'fDrawFace' from GrPipeline
Robert Phillips [Tue, 9 May 2017 12:15:18 +0000 (08:15 -0400)]
Remove 'fDrawFace' from GrPipeline

This will, hopefully, unblock the roll.

Change-Id: I2e33ccca7161334cdecd881e2699ae0c61ba2a31
Reviewed-on: https://skia-review.googlesource.com/16101
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoForward getGrContext in color space xform canvas
Brian Osman [Mon, 8 May 2017 20:02:43 +0000 (16:02 -0400)]
Forward getGrContext in color space xform canvas

Bug: chromium:719664
Change-Id: I7477c1eb0479d5305233dc6a643280d88029bd17
Reviewed-on: https://skia-review.googlesource.com/15888
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoremove (possibly slow) call to refEncoded in getDeferredTextureImageData
Mike Reed [Mon, 8 May 2017 20:13:39 +0000 (16:13 -0400)]
remove (possibly slow) call to refEncoded in getDeferredTextureImageData

- explicitly reject already-texture-backed and picture-backed

Needed to add a virtual to image_base and generator to distinguish
generators that can (or cannot) natively "generate" on the gpu (e.g. pictures)
Bug: 646089
Change-Id: I3aea22f89b31009ecbb3bd50d88512e6532f0a0f

Change-Id: I3aea22f89b31009ecbb3bd50d88512e6532f0a0f
Reviewed-on: https://skia-review.googlesource.com/15765
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd radial gradient stage.
Herb Derby [Mon, 8 May 2017 19:10:36 +0000 (15:10 -0400)]
Add radial gradient stage.

Change-Id: Ie1f9640f5149f21bd8b3b864ff8b176232e1b0a9
Reviewed-on: https://skia-review.googlesource.com/15461
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoRoll recipe dependencies (trivial).
recipe-roller [Mon, 8 May 2017 19:48:05 +0000 (12:48 -0700)]
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.
build:
  https://crrev.com/59b248f278e4828bbb0a8d8685975856a7f60509 Stop manually adding webkit_layout_tests if it's already configured src-side. (mcgreevy@chromium.org)
  https://crrev.com/ff38188006831a2f281b68c091a0c02f3fd51ec1 Migrate remaining chromium configs from depot_tools (machenbach@chromium.org)
  https://crrev.com/20950290930a4e7e2fb51f627b0066e883eefb3c Refactoring: rename obsolete v8 config (machenbach@chromium.org)
  https://crrev.com/4ac4debb7b303e5ce213acee4d0d6777299121be remote_run: Bump Kitchen, add LogDog tags. (dnj@chromium.org)
  https://crrev.com/f65b85259d62281f29e37ae28b002f6a98a486d8 Revert Kitchen bump. (dnj@chromium.org)
  https://crrev.com/577ed8c48dcad41653d0559a119abbb84f461afe remote_run: Decouple canary from Kitchen. (dnj@chromium.org)
  https://crrev.com/fa6566763ff505e21cb7a012ae31b363dc08aad6 Promote Win32 ASan to the main waterfall and remove Win SyzyASan. (ehmaldonado@chromium.org)
  https://crrev.com/671dc2edd993a46cb4d34621ed5e4c01b269d3a8 Enforce strict coverage for syzygy recipe module (phajdan.jr@chromium.org)
depot_tools:
  https://crrev.com/e39a9a46be39aac5fad2d66cf11ccdd6f8b9f081 Migrate remaining chromium configs to build repo (machenbach@chromium.org)
  https://crrev.com/b4a79690367881c427c9c5adf614823a01fc9990 Add back helper method still used in build repo (machenbach@chromium.org)

TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0e5b52a9dac9408276d4adb021a20b1a6ec4c524
Reviewed-on: https://skia-review.googlesource.com/15883
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>

7 years agoImplement disconnect function for GrVkGpu
Greg Daniel [Mon, 8 May 2017 20:17:53 +0000 (16:17 -0400)]
Implement disconnect function for GrVkGpu

Apparently this was not added to Vk when it was added to GL. It may be
the cause of a flutter error they are seeing.
Bug: skia:
Change-Id: I4d4e9d1817b308b6c4f01e83f712eb3437e2ad71
Reviewed-on: https://skia-review.googlesource.com/15887
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoMinor sksl parser cleanup
Ethan Nicholas [Mon, 8 May 2017 20:18:19 +0000 (16:18 -0400)]
Minor sksl parser cleanup

This adds a new method "checkNext" which is essentially a conditional
nextToken(). This allows for some simplification of the parser code,
but has no other effect.

Bug: skia:
Change-Id: I4e08fd5f2c69cbcb4c31fd936b3a65dc50347191
Reviewed-on: https://skia-review.googlesource.com/15881
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoadd a guide to contributing to SkJumper
Mike Klein [Mon, 8 May 2017 19:17:57 +0000 (15:17 -0400)]
add a guide to contributing to SkJumper

Change-Id: Icd40cf5eff3d2156a3ca00d7950059d5b77f48bf
Reviewed-on: https://skia-review.googlesource.com/15890
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Added SkImage::MakeCrossContextFromEncoded"
Brian Salomon [Mon, 8 May 2017 20:46:17 +0000 (20:46 +0000)]
Revert "Added SkImage::MakeCrossContextFromEncoded"

This reverts commit 83b1b3db36e8622f4bbc8c391d5c714e258d1e03.

Reason for revert: unit test failing and asan leaks

Original change's description:
> Added SkImage::MakeCrossContextFromEncoded
>
> Designed for Flutter's threading architecture, with
> an eye to being useful to other clients. Under the
> hood, uses a new image generator class to lazily wrap
> a texture for multiple GrContexts.
>
> Bug: skia:
> Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
> Reviewed-on: https://skia-review.googlesource.com/14180
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1f0bf580aa0ea2d132e18b64ff610ddac9d073a7
Reviewed-on: https://skia-review.googlesource.com/15892
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agofixed InstanceProcessor SkSL code
Ethan Nicholas [Mon, 8 May 2017 13:39:21 +0000 (09:39 -0400)]
fixed InstanceProcessor SkSL code

Bug: skia:5935
Change-Id: I9ca0e8a7bd30886d8240e338eefbfab368935ac5
Reviewed-on: https://skia-review.googlesource.com/15627
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years ago"can we?" -> "do we want to?" for SkRasterPipelineBlitter
Mike Klein [Mon, 8 May 2017 16:23:46 +0000 (12:23 -0400)]
"can we?" -> "do we want to?" for SkRasterPipelineBlitter

There has been a supported() function in SkRasterPipelineBlitter.cpp for
a long time that's becoming increasingly misnamed.  That blitter ought
to be able to handle all destination formats.

This CL moves that logic outside to the creator of the blitter, changing
it from "can we handle this format?" to "do we want to use this blitter
for this format?".

In other CLs I'm working to make creating a pipeline blitter never fail.

Change-Id: Ie59fb8ec6e63d215d1baef439e464e8f0ab3ae4d
Reviewed-on: https://skia-review.googlesource.com/15842
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdded SkImage::MakeCrossContextFromEncoded
Brian Osman [Mon, 8 May 2017 19:16:45 +0000 (15:16 -0400)]
Added SkImage::MakeCrossContextFromEncoded

Designed for Flutter's threading architecture, with
an eye to being useful to other clients. Under the
hood, uses a new image generator class to lazily wrap
a texture for multiple GrContexts.

Bug: skia:
Change-Id: I6c37b12c8ab5bce94b91190e5f0beb91d31ae81b
Reviewed-on: https://skia-review.googlesource.com/14180
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoUpdate SKP version
UpdateSKPs [Mon, 8 May 2017 19:13:16 +0000 (19:13 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I8919465322d3621689bcab4bb577b42b9fd736d7
Reviewed-on: https://skia-review.googlesource.com/15920
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoSkAdvancedTypefaceMetrics: pack fields better
Hal Canary [Mon, 8 May 2017 18:16:06 +0000 (14:16 -0400)]
SkAdvancedTypefaceMetrics: pack fields better

    64-bit pointers: 88 -> 80 bytes
    32-bit pointers: 68 -> 64 bytes

Change-Id: I2d6e186d15ad84a3b23bf8f6c816eaf482c3bdd5
Reviewed-on: https://skia-review.googlesource.com/15878
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agofix commented-out gaussian
Mike Klein [Mon, 8 May 2017 13:46:40 +0000 (09:46 -0400)]
fix commented-out gaussian

The original was

  static inline float eval_gaussian(float x) {
      float factor = 1 - x;
      return sk_float_exp(-factor * factor * 4) - 0.018f;
  }

Change-Id: I0590f9b4b41870a0145a4fb7aff5ce3fa4d4e412
Reviewed-on: https://skia-review.googlesource.com/15781
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRemove height functor for shadows and replace with plane equation params
Jim Van Verth [Mon, 8 May 2017 18:19:30 +0000 (14:19 -0400)]
Remove height functor for shadows and replace with plane equation params

Change-Id: I948eceb2c58dc50468993dba54c209f18e440e48
Reviewed-on: https://skia-review.googlesource.com/15873
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agovk: don't re-check the primitive type for each batch of a mesh
Chris Dalton [Mon, 8 May 2017 17:58:38 +0000 (13:58 -0400)]
vk: don't re-check the primitive type for each batch of a mesh

Bug: skia:
Change-Id: I00561d0a2d6296924ef0d8ee25fc7215832338d8
Reviewed-on: https://skia-review.googlesource.com/15832
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoRevert "Revert "Re-enable deferred proxies in Chrome""
Robert Phillips [Mon, 8 May 2017 18:08:01 +0000 (18:08 +0000)]
Revert "Revert "Re-enable deferred proxies in Chrome""

This reverts commit 05814de6ba5087ad71f189d6413246ef1d518e4b.

Reason for revert: Chrome layout test suppressions have landed

Original change's description:
> Revert "Re-enable deferred proxies in Chrome"
>
> This reverts commit 555c49c3479edf1692579c06a5c13c39d3741692.
>
> Reason for revert: layout tests
>
> Original change's description:
> > Re-enable deferred proxies in Chrome
> >
> > Now that https://skia-review.googlesource.com/c/14605/ (Allow TextureSamplers to have null GrTexture pointer) has landed we should be able to re-enable deferred proxies in Chrome.
> >
> > Bug: 715488
> > Change-Id: Ibd38e5ddf0558b94f09e29f17837e6abfd22fa34
> > Reviewed-on: https://skia-review.googlesource.com/15252
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=bsalomon@google.com,robertphillips@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ie90e64a2e4d5efc4b6909a04f8a862dd3a708d97
> Reviewed-on: https://skia-review.googlesource.com/15809
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I957e8e59af2b2f441c75bae2eda4dcd5ed82b34d
Reviewed-on: https://skia-review.googlesource.com/15876
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoExpand GrTextureProxy to handle highestFilterMode
Robert Phillips [Mon, 8 May 2017 17:41:35 +0000 (13:41 -0400)]
Expand GrTextureProxy to handle highestFilterMode

Once TextureProxies aren't instantiated in the TextureSamplers, the they will need to be able to supply this information.

split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler))
Change-Id: I66555c0746131f565862f7a30d54ff1d458d2062
Reviewed-on: https://skia-review.googlesource.com/15819
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoMinimize computeTotalInverse()'s inputs
Florin Malita [Mon, 8 May 2017 17:03:24 +0000 (13:03 -0400)]
Minimize computeTotalInverse()'s inputs

The helper doesn't need a full context rec - it only looks at the CTM
and external local matrix.  Pass these explicitly instead.
Change-Id: I6a5884f65cd383c2df0e8d83c9086789bd96f345
Reviewed-on: https://skia-review.googlesource.com/15870
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoGL: track enabled vertex arrays as a count rather than a mask
Chris Dalton [Fri, 5 May 2017 18:00:56 +0000 (14:00 -0400)]
GL: track enabled vertex arrays as a count rather than a mask

Bug: skia:
Change-Id: I63e70ab844a7e04df20165aba025b963efcafa9e
Reviewed-on: https://skia-review.googlesource.com/15630
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoport ok to SkPngEncoder
Mike Klein [Sun, 7 May 2017 14:52:30 +0000 (10:52 -0400)]
port ok to SkPngEncoder

I can't tell you how excited I am to turn down the libpng settings...
anything that saves me a few seconds is a nice quality of life win.

This CL makes ok run in about half the time when producing .pngs.

Profile running `ok gm srgb png` before:
    10.59   s   16.5%    10.59   s          longest_match
    8.98    s   14.0%    8.98    s          png_setup_paeth_row
    8.93    s   13.9%    8.93    s          skia_png_write_find_filter
    7.75    s   12.1%    7.75    s          deflate_slow
    4.63    s    7.2%    4.63    s          std::wait_until(...) const
    959.00 ms    1.5%    959.00 ms          SkPathRef::validate() const
    935.00 ms    1.4%    935.00 ms          sk_to_srgb_hsw
    ...

After:
    2.35    s    8.7%    2.35    s          std::wait_until(...) const
    1.70    s    6.2%    1.70    s          longest_match
    1.19    s    4.4%    1.19    s          deflate_fast
    931.00 ms    3.4%    931.00 ms          SkPathRef::validate() const
    898.00 ms    3.3%    898.00 ms          sk_to_srgb_hsw
    ...

Change-Id: I425c30b2ecd97a0e4a4392779de6301db473ee47
Reviewed-on: https://skia-review.googlesource.com/15547
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoSeparate lines added via post upload from original description
Ravi Mistry [Mon, 8 May 2017 16:59:56 +0000 (12:59 -0400)]
Separate lines added via post upload from original description

BUG=skia:6598
NOTRY=true

Change-Id: I23fa415788e91da01d33ab3ab912aa420636574c
Reviewed-on: https://skia-review.googlesource.com/15869
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoUpdate minimum non-ES OpenGL spec to 2.0.
Brian Salomon [Mon, 8 May 2017 15:10:53 +0000 (11:10 -0400)]
Update minimum non-ES OpenGL spec to 2.0.

As a consequence of removing support for GLs lacking separate stencil settings our effective minimum GL version is 2.0. This formalizes that by explicitly failing if the version in the version string is lower.

As a consequence we will always have wrapping stencil operations available.
Bug: skia:
Change-Id: Ibe302f72a063dbadc773bda811cc0d0f6c08c61a
Reviewed-on: https://skia-review.googlesource.com/15610
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoRemove support for GLs without separate stencil.
Brian Salomon [Mon, 8 May 2017 15:10:10 +0000 (11:10 -0400)]
Remove support for GLs without separate stencil.

As a consequence we no longer need GrDrawFace.

This effectively raises the minimum bar for non-ES OpenGL to 2.0 as there is no extension that adds the GL 2.0 separate stencil functionality. GL_ATI_separate_stencil is close but it does not have glStencilMaskSeparate.
Bug: skia:
Change-Id: I36d17a69400c8beeacb6dab8d8c5c3317814cfe4
Reviewed-on: https://skia-review.googlesource.com/15603
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoAdd filtering and zlib-level options to SkPngEncoder
Matt Sarett [Mon, 8 May 2017 16:11:44 +0000 (12:11 -0400)]
Add filtering and zlib-level options to SkPngEncoder

Bug: skia:6409
Bug: 713862
Change-Id: If287e2bcad5af990fac11e9091305f45ec903dbf
Reviewed-on: https://skia-review.googlesource.com/15647
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "Presubmit: ensure empty line between CL title and description"
Ravi Mistry [Mon, 8 May 2017 16:39:27 +0000 (16:39 +0000)]
Revert "Presubmit: ensure empty line between CL title and description"

This reverts commit 9518830650a45446756d7b621fc87e7a8ff52476.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Presubmit: ensure empty line between CL title and description
>
> Bug: skia:
> Change-Id: If1b2d655e9be4b960f76d2d17ce1cf1126f7b2d4
> Reviewed-on: https://skia-review.googlesource.com/15624
> Reviewed-by: Eric Boren <borenet@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
>

TBR=borenet@google.com,rmistry@google.com
NOTRY=true
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I311ee790f152dbb8325214650838839f6821c995
Reviewed-on: https://skia-review.googlesource.com/15862
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoRe-land of "eliminated GrGLSLExpr".
Ethan Nicholas [Mon, 8 May 2017 13:36:08 +0000 (09:36 -0400)]
Re-land of "eliminated GrGLSLExpr".

This change is exactly the same as the last time it was landed; I believe the
underlying optimizer bug that was causing this to cause problems has been
fixed by a prior CL.
Bug: skia:
Change-Id: I5436422f094ea758caa3cd69e9338db31b1f93fa
Reviewed-on: https://skia-review.googlesource.com/15768
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoAllow wrapped resources to have unique keys
Brian Osman [Mon, 8 May 2017 15:16:39 +0000 (11:16 -0400)]
Allow wrapped resources to have unique keys

Previously, wrapped resources were never budgeted. Now we explicitly allow
wrapped, unbudgeted resources with unique keys. This allows code that
wraps (and re-wraps) external resources with a deterministic key to find
the same wrapped resource - saving time and ensuring a single wrapped
copy, to preserve state on the resource (like texture sampler state).

Bug: skia:
Change-Id: I1dd7642f1ed8bb6c620029d46203cf5cb6b3c160
Reviewed-on: https://skia-review.googlesource.com/15241
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years ago[Bazel] Omit bigrect GM for ASAN.
Ben Wagner [Mon, 8 May 2017 15:40:29 +0000 (11:40 -0400)]
[Bazel] Omit bigrect GM for ASAN.

Added in https://skia-review.googlesource.com/c/14751/; known to fail
float-cast-overflow check but forgot to omit in that CL.

Bug: skia:4632
No-Try: true
Change-Id: Ic62e0cbc00229ab3bdde60b3e7300fc66ad7d8e1
Reviewed-on: https://skia-review.googlesource.com/15815
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoGrTessellator AA: fix 1px wide paths.
Stephen White [Fri, 5 May 2017 19:54:52 +0000 (15:54 -0400)]
GrTessellator AA: fix 1px wide paths.

Move 0 count check below the call to count outer polygons,
so we don't abort on a path with outer but no inner
geometry.

This fixes the "thin_right_angle" and "thin_rect_and_triangle"
samples when running GM:thinconcavepaths --pr tess.

Change-Id: I9a75711787f729ce3a1d5313daa491098e397184
Reviewed-on: https://skia-review.googlesource.com/15661
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoRemove Sk4fGradientInterval::fZeroRamp
Florin Malita [Mon, 8 May 2017 13:53:11 +0000 (09:53 -0400)]
Remove Sk4fGradientInterval::fZeroRamp

It's cheap enough to compute when needed, and we don't need it in hot
loops anyway.
Change-Id: Ib0242f98f8bee31bff939cfdc7356d51525092e4
Reviewed-on: https://skia-review.googlesource.com/15764
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkImage::isValid
Brian Osman [Mon, 8 May 2017 15:07:42 +0000 (11:07 -0400)]
SkImage::isValid

Lets clients know if an image is drawable to a particular GrContext
(or to CPU). Checks for abandoned GrContexts beneath GPU backed
images, as well as context mis-match.

Bug: skia:
Change-Id: Ibe88c7ce8091f965c14f6023a3597be4b70c3f99
Reviewed-on: https://skia-review.googlesource.com/15801
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agojumper, finish blend modes
Mike Klein [Thu, 4 May 2017 16:42:52 +0000 (12:42 -0400)]
jumper, finish blend modes

I've decided to ignore our existing CPU implementations and start from
scratch, mostly referencing the GL ES 3.2 spec and w3 spec.

This implementation ought to look a lot like the reference
implementation I've written in gm/hsl.cpp, with the addition of
handling alpha: unpremul, blend, re-premul with a simple SrcOver alpha.

Change-Id: I38cf6be2dc66a6f46d7b18b91847f6933d2fab62
Reviewed-on: https://skia-review.googlesource.com/15316
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Re-enable deferred proxies in Chrome"
Robert Phillips [Mon, 8 May 2017 15:18:47 +0000 (15:18 +0000)]
Revert "Re-enable deferred proxies in Chrome"

This reverts commit 555c49c3479edf1692579c06a5c13c39d3741692.

Reason for revert: layout tests

Original change's description:
> Re-enable deferred proxies in Chrome
>
> Now that https://skia-review.googlesource.com/c/14605/ (Allow TextureSamplers to have null GrTexture pointer) has landed we should be able to re-enable deferred proxies in Chrome.
>
> Bug: 715488
> Change-Id: Ibd38e5ddf0558b94f09e29f17837e6abfd22fa34
> Reviewed-on: https://skia-review.googlesource.com/15252
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ie90e64a2e4d5efc4b6909a04f8a862dd3a708d97
Reviewed-on: https://skia-review.googlesource.com/15809
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoTighten up gradient clamp logic.
Mike Klein [Sat, 6 May 2017 16:45:50 +0000 (12:45 -0400)]
Tighten up gradient clamp logic.

This is just a little refactor.  Shouldn't change any logic or pixels.

Change-Id: I782df78f2d693dc7e35c286b049730e763aa3dc8
Reviewed-on: https://skia-review.googlesource.com/15653
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoAdd GrVkTexelBuffer class
Greg Daniel [Fri, 5 May 2017 17:49:11 +0000 (13:49 -0400)]
Add GrVkTexelBuffer class

Bug: skia:
Change-Id: I6111902f58df3af92702d974a52d9c7f267634d4
Reviewed-on: https://skia-review.googlesource.com/15628
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoManually roll recipes.
Robert Iannucci [Sat, 6 May 2017 19:06:50 +0000 (12:06 -0700)]
Manually roll recipes.

build:
  crrev.com/50e26da30b6cde158a39b6bdc99ddb2ba1a47614 Enforce strict coverage for isolate recipe module
  crrev.com/9f1038e0bc39f6348ce21f4af7cd9ad07184068d chromium_tests: Fix gtest validation when no valid json is present.
  crrev.com/d262a9497b79aa5352ea85c68f4b132872127e37 Buildbot pubsub: Remove LRU for buildsets
  crrev.com/95f0d5777e7c3db976c941758b2caa447f3c9872 remote_run: add support for new kitchen result format
  crrev.com/a081bfaddc1f94073a0ab73f31e7870dea764e27 V8: Bump shards on slowest bot
  crrev.com/0cd7b48611fc2feadb6348a2e16fcb509d45f44f WebRTC: Add logdog cipd package install for webrtc_perf_tests
  crrev.com/bb9f32300c4ca57516ee1b7c35579fe75553b6c6 Switch Android nexus 5x bot over to swarming
  crrev.com/db4dfab8c7f51f5527ecb0ec8d71bb38a45540b1 master.chromium.infra.cron; fix typo in slave name
  crrev.com/178e486407840b54b93429d92d2629c1ef731c1e CrOS: Update Chromite pin.
  crrev.com/7022f73461b3fa296e0acede710d80b2f5436b14 Add new machine to master.chromiumos
  crrev.com/e26fdac7c1d6928a70bdfee80ae267f506ccc35b Enforce strict coverage for chromium_tests recipe module
  crrev.com/2c630ad197926ac96d6600472d8082a2439322b6 Merge build requests on testers on the chromium.chromiumos waterfall.
  crrev.com/3fbbeef094717d4e371d78ec0fe2ca71bcaac765 Reland #2: Run "supersize archive" on Android perf builders
  crrev.com/2c5dd84cc74d0a650aa4cdc040daa8103124a7c4 Revert "Reland: Run "supersize archive" on Android perf builders"
  crrev.com/08b150c6d6e6f3208803bda4ea6af95012008596 Fetch Telemetry binary dependencies on main Linux and Mac builders.
  crrev.com/56598af93d1cf5bd853039c2de8b14ad358bb996 Bisect - Perf-Try - Don't call bot_update on the patched run.
  crrev.com/cccc78db18bb9c80d1689afe883b8131ec878a1f Reland: Run "supersize archive" on Android perf builders
  crrev.com/1130031d6393e79d1954c3554ce994babc5f3ea5 Revert "Run "supersize archive" on Android perf builders"
  crrev.com/37b16786dee83e4e72e8be310c68d46d3da7b19c Revert "Disable kitchen on Site Isolation Linux for now."
  crrev.com/9d59ac6854b57e8d12ce5fcc3266fd413521cc49 Run "supersize archive" on Android perf builders
  crrev.com/f25c842180da0df876d765503b0edddc0f95e048 Don't pin the SyzyAsan bots to VS2015.
  crrev.com/30d8d501de8b35a7e97060ed6b03f737dd424652 Rename android_webview_test_apk to webview_instrumentation_test_apk
  crrev.com/a53da2efbfa651d6437cbbedbe6222d512d3ef65 disconnect 3 masters from buildbucket
  crrev.com/7a08020351a41f514581c7ca75ac38beaef02975 Dart: allocate Windows slaves to integration builders for Dartium roll
  crrev.com/ce235777011d4277ccd791b8e53ac55e28954f2a WebRTC: Remove --timeout=900 from the recipe.
  crrev.com/b810b4628c808d13c4b6481db5693a1e6e0bd0d2 Add Chromium's gclient configs
  crrev.com/ef5479c25e00f2fe22d7f7011236fb313cb56b16 V8: Add gcc debug bots
  crrev.com/f55ee770c2582d2f27778ea78a7736aa8ef82a45 Add speed-profile in the buildbot steps.
  crrev.com/039b01833d51bfdf37a918a1162ac7b2019fa81d Roll recipes.
  crrev.com/0118b6411bc3ea9406b3e360715577b1f7eaeb4b Set fetch_telemetry_dependencies=1 on GPU FYI Mac/Linux builders.
  crrev.com/09b8f2f7f2de95dc3515487a32fa330667265e20 Simplify code which controls adding swarmed or local layout tests.
  crrev.com/da1809cb625558cf7c29df694587997dde022d3f Revert "Roll recipes."

depot_tools:
  crrev.com/a469aeec53a5983550e4b6a61e569971cb583b36 Remove Chromium's gclient configs from depot_tools
  crrev.com/362bc168c49d9e7b1223d126f5e0a2436eaeb7f3 Revert "[git_bootstrap.py] Remove unused options, use cipd in %PATH%."
  crrev.com/0f2e6c53db1b464e3dc7637c00c6251b864ae539 Add vpython.bat.

recipe_engine:
  crrev.com/5cdf9803d55420f3ae8d2e0dd524bc2de9c7284b Minor loader improvements.
  crrev.com/2dc658ad29ce38a0364540d85d05dc3a2ab87f16 [recipe_engine/step] Add ability for recipe engine invocation to inject paths.
  crrev.com/2dba35d569811216433ebd96760f3e9bde78b7e9 [PROPERTIES] Allow declaration of $package_name/module properties.

R=borenet@google.com

Bug: skia:
Change-Id: Ieea18b43b328ce4bccf63ac97c70c5b25f0111d8
Reviewed-on: https://skia-review.googlesource.com/15656
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
7 years agoRe-enable deferred proxies in Chrome
Robert Phillips [Wed, 3 May 2017 21:25:48 +0000 (17:25 -0400)]
Re-enable deferred proxies in Chrome

Now that https://skia-review.googlesource.com/c/14605/ (Allow TextureSamplers to have null GrTexture pointer) has landed we should be able to re-enable deferred proxies in Chrome.

Bug: 715488
Change-Id: Ibd38e5ddf0558b94f09e29f17837e6abfd22fa34
Reviewed-on: https://skia-review.googlesource.com/15252
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agopolish up gm/hsl.cpp
Mike Klein [Sun, 7 May 2017 04:25:16 +0000 (00:25 -0400)]
polish up gm/hsl.cpp

   - remove broken clip_color_KHR().
   - rearrange a little to match spec closer
   - remove some TODOs

Change-Id: I2de6aa3138455d5970e2cda74f5da6ffadc3db56
Reviewed-on: https://skia-review.googlesource.com/15681
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agobug fix in hsl GM reference impls
Mike Klein [Sun, 7 May 2017 03:52:28 +0000 (23:52 -0400)]
bug fix in hsl GM reference impls

As written the "constants" in clip() and channel() change as we update
each channel... duh.  Thankfully this ought to make most GMs look good.

Change-Id: I904e20e8e5114c827233dd1a93c0c59f7e7790fa
Reviewed-on: https://skia-review.googlesource.com/15680
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agohsl GM: more realistic references for non-legacy backends
Mike Klein [Sat, 6 May 2017 19:44:38 +0000 (15:44 -0400)]
hsl GM: more realistic references for non-legacy backends

Change-Id: I94663a2a3b9080ac318b2805ee8baa09d2985c9a
Reviewed-on: https://skia-review.googlesource.com/15545
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>