platform/upstream/libSkiaSharp.git
7 years agoUse legacy color filter API when doing legacy paint conversion
Brian Osman [Mon, 17 Oct 2016 20:54:49 +0000 (16:54 -0400)]
Use legacy color filter API when doing legacy paint conversion

Matt fixed mode color filter so that the 4f filter uses a linearized
version of the stored color. This restores previous behavior, where legacy
devices are doing everything in sRGB space.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3581

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

7 years agoFix SKP version in tasks.json, make upload_skps.py update tasks.json
borenet [Tue, 18 Oct 2016 12:20:26 +0000 (05:20 -0700)]
Fix SKP version in tasks.json, make upload_skps.py update tasks.json

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2426863003

Review-Url: https://codereview.chromium.org/2426863003

7 years agoskslc now automatically turns on derivatives support
Ethan Nicholas [Tue, 18 Oct 2016 12:16:41 +0000 (08:16 -0400)]
skslc now automatically turns on derivatives support

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3569

Change-Id: I211f4a80ced951a0d2f29763f85fe75a5daccff7
Reviewed-on: https://skia-review.googlesource.com/3569
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoIncremental decode: only use subset for subsetting
scroggo [Mon, 17 Oct 2016 21:32:41 +0000 (14:32 -0700)]
Incremental decode: only use subset for subsetting

In the initial patch, we modified the subset passed to incremental
decoding to account for sampling in Y. This allowed SkSampledCodec to
use a tighter bounds. But it also means that the implementation cannot
distinguish between lines that are excluded due to subsetting and those
excluded at the beginning and end due to sampling. This becomes
problematic in GIF (crrev.com/2045293002), which may need to fill,
requiring it to reconstruct the actual destination. In truth,
SkGifCodec does not need to support subsets, but cannot distinguish
between the tighter bounds and a true subset.

Fix this by passing the scaled subset to incremental decode, without
using the tighter bounds.

Make SkSampler::rowNeeded take the starting coordinate into account.

In SkPngCodec, compute the number of rows needed in the output, and use
that as a signal to stop.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2420843003

Review-Url: https://codereview.chromium.org/2420843003

7 years agoRemove aux procs from SkGlyphCache.
Ben Wagner [Mon, 17 Oct 2016 20:55:53 +0000 (16:55 -0400)]
Remove aux procs from SkGlyphCache.

Doesn't appear that anyone is using these anymore. The last user was
removed with https://codereview.chromium.org/1985163002/ landed as
https://skia.googlesource.com/skia/+/c2878e23d405e7ae77f6110602ad75ce1f6b941c

Change-Id: I224354cd0d1ecbbb1100aa1e4b415d48637a51f3
Reviewed-on: https://skia-review.googlesource.com/3582
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoAvoid integer overflow in SkIcoCodec and SkImageInfo
Matt Sarett [Mon, 17 Oct 2016 18:32:46 +0000 (14:32 -0400)]
Avoid integer overflow in SkIcoCodec and SkImageInfo

Original Commit Message:
"""
Avoid integer overflow in SkIcoCodec

Definitely good to avoid overflow here.

FWIW, this looks to be harmless for Android's current use.
They will just fail later on when trying to allocate the
bitmap.

BUG=skia:5857
"""

With the new test, ASAN also caught an integer overflow
bug in SkImageInfo.  Fix this as well.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN;master.client.skia.android:Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android

BUG=skia:5857

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3568

Change-Id: I0d777a547850474ea6cea87e36efa05434e33635
Reviewed-on: https://skia-review.googlesource.com/3568
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoRe-enable overdraw mode in debugger.
Ben Wagner [Mon, 17 Oct 2016 19:20:02 +0000 (15:20 -0400)]
Re-enable overdraw mode in debugger.

Debugger is the last user of the deprecated SkPaintFilterCanvas
constructor. Stop using it and remove the constructor.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3268

Change-Id: I3e9180d48abdf86cb2c05bd8d95acabcdaa70427
Reviewed-on: https://skia-review.googlesource.com/3268
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoUpdate SKP version
update-skps [Mon, 17 Oct 2016 21:06:21 +0000 (14:06 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2430443002

Review-Url: https://codereview.chromium.org/2430443002

7 years agoModify deferred texture image API's handling of gamma
Brian Osman [Mon, 17 Oct 2016 13:51:37 +0000 (09:51 -0400)]
Modify deferred texture image API's handling of gamma

This tries to match the behavior you would see if you rendered directly to
a canvas without going through this round-trip. Specifically, mips are
built in the same way that they would be according to the context's
internal logic. To make things clearer, the user passes in the color space
of the destination surface, not our (internal) enum.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3526

Change-Id: If8c61500d34ae712227da0284f3a80cacf84113a
Reviewed-on: https://skia-review.googlesource.com/3526
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoskp_parser
halcanary [Mon, 17 Oct 2016 20:19:02 +0000 (13:19 -0700)]
skp_parser

compiles with GN.

NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281733003

Review-Url: https://codereview.chromium.org/2281733003

7 years agomore skslc hardening
ethannicholas [Mon, 17 Oct 2016 18:24:37 +0000 (11:24 -0700)]
more skslc hardening

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2427693002

Review-Url: https://codereview.chromium.org/2427693002

7 years agoApply correct sRGB->Linear4f conversion in SkModeColorFilter
Matt Sarett [Mon, 17 Oct 2016 17:52:49 +0000 (13:52 -0400)]
Apply correct sRGB->Linear4f conversion in SkModeColorFilter

This fixes a software rendering bug in Android.  Vector drawable
icons were being drawn "too light" because they were missing this
step.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3563

Change-Id: I9b9c0dc571244dab17ee125ecb7814d7f85181e2
Reviewed-on: https://skia-review.googlesource.com/3563
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSwitch Windows ANGLE bots to GN.
Mike Klein [Mon, 17 Oct 2016 17:07:56 +0000 (13:07 -0400)]
Switch Windows ANGLE bots to GN.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-ANGLE-Trybot;master.client.skia:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3539

Change-Id: I076c4c5972344b6688d648a8ea5e5618e87fd88d
Reviewed-on: https://skia-review.googlesource.com/3539
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoIncrease MSAN timeout from 4 to 9 hours.
Ben Wagner [Mon, 17 Oct 2016 17:29:02 +0000 (13:29 -0400)]
Increase MSAN timeout from 4 to 9 hours.

Recent runs have been timing out.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3562

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

7 years agoAdd "Narrow" RGB gamut to DM
Brian Osman [Mon, 17 Oct 2016 15:14:02 +0000 (11:14 -0400)]
Add "Narrow" RGB gamut to DM

This is an artificially small color space, for testing rendering with
values that fall outside of [0,1]. All of the saturated sRGB colors used
in our tests will end up landing outside of [0,1] in this space, so we can
verify that nothing that crashes, or produces wildly incorrect results.

Of course, many GMs *do* produce wildly incorrect results, but I need
to catalog all of those and start figuring out why.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3532

Change-Id: Idb44ee6250f2d7198e634755cd2b1f3bc8f15412
Reviewed-on: https://skia-review.googlesource.com/3532
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoRevert "Avoid integer overflow in SkIcoCodec"
Matt Sarett [Mon, 17 Oct 2016 17:43:23 +0000 (17:43 +0000)]
Revert "Avoid integer overflow in SkIcoCodec"

This reverts commit 20cba06a4bc9bde60b2dc37907d11ca81ba35ce8.

Reason for revert: <INSERT REASONING HERE>

TBR=msarett@google.com,scroggo@google.com,kjlubick@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Id8f48a90a7dc620f9c0ee2f419d14bae2b0c1e7e
Reviewed-on: https://skia-review.googlesource.com/3564
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoAdd a buildbotless Android bot
borenet [Mon, 17 Oct 2016 17:17:53 +0000 (10:17 -0700)]
Add a buildbotless Android bot

BUG=skia:5626
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2428603002

Review-Url: https://codereview.chromium.org/2428603002

7 years agoAvoid integer overflow in SkIcoCodec
Matt Sarett [Mon, 17 Oct 2016 16:30:39 +0000 (12:30 -0400)]
Avoid integer overflow in SkIcoCodec

Definitely good to avoid overflow here.

FWIW, this looks to be harmless for Android's current use.
They will just fail later on when trying to allocate the
bitmap.

BUG=skia:5857

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3527

Change-Id: Ia1fb7d864d21ecdb127a1dd1a72cab8375cb43fb
Reviewed-on: https://skia-review.googlesource.com/3527
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoGN: ANGLE build completes now on Windows
Mike Klein [Mon, 17 Oct 2016 16:34:38 +0000 (12:34 -0400)]
GN: ANGLE build completes now on Windows

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-ANGLE-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3537

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

7 years agoGN: get Angle compiling on Windows.
Mike Klein [Mon, 17 Oct 2016 15:51:11 +0000 (11:51 -0400)]
GN: get Angle compiling on Windows.

Angle does not yet link, but it does compile.

I chickened out and wrote cp.py to be the copy tool on Windows.  I've got all platforms using it for consistency.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-ANGLE-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3533

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

7 years agoexperimental/xps_to_png: fix DPI, usage message
Hal Canary [Mon, 17 Oct 2016 15:52:40 +0000 (11:52 -0400)]
experimental/xps_to_png: fix DPI, usage message

NOTRY=true
Change-Id: I4d4c46b5889ab8e8b8f54e8c631b3932912051dd
Reviewed-on: https://skia-review.googlesource.com/3534
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoMake GCC ninja log lines consistent with MSVC.
Mike Klein [Mon, 17 Oct 2016 14:41:41 +0000 (10:41 -0400)]
Make GCC ninja log lines consistent with MSVC.

I recently switched over MSVC to simpler log lines from Ninja.  This makes GCC- or Clang-based builds use the same set of messages.  It's less noise when things go right; Ninja prints the whole line when a step fails.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3540

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

7 years agoRecreateSKPs: Fix another .join() issue
borenet [Mon, 17 Oct 2016 15:09:33 +0000 (08:09 -0700)]
RecreateSKPs: Fix another .join() issue

BUG=skia:5843
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2429513002

Review-Url: https://codereview.chromium.org/2429513002

7 years agofix some fuzz
caryclark [Mon, 17 Oct 2016 14:54:33 +0000 (07:54 -0700)]
fix some fuzz

TBR=reed@google.com
BUG=654939, 655829, 656149
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2425733002

Review-Url: https://codereview.chromium.org/2425733002

7 years agoAvoid SkImage ref churn in short lived SkBitmapProvider
fmalita [Mon, 17 Oct 2016 14:16:05 +0000 (07:16 -0700)]
Avoid SkImage ref churn in short lived SkBitmapProvider

SkBitmapProvider is always stack-allocated and tightly-scoped.  It
should be safe to store a SkImage rawptr instead of a ref object.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2424813002

Review-Url: https://codereview.chromium.org/2424813002

7 years agoSkip SkBitmapProvider instantiation in SkImageShader::onContextSize
fmalita [Mon, 17 Oct 2016 13:09:26 +0000 (06:09 -0700)]
Skip SkBitmapProvider instantiation in SkImageShader::onContextSize

No reason to delegate through a SkBitmapProvider AFAICT.  This avoids
some ref churn.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2419333002

Review-Url: https://codereview.chromium.org/2419333002

7 years agoRoll recipe DEPS
borenet [Mon, 17 Oct 2016 12:12:15 +0000 (05:12 -0700)]
Roll recipe DEPS

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2425603003

Review-Url: https://codereview.chromium.org/2425603003

7 years agoRecreateSKPs: Fix GoogleStorageDataStore.delete_path
borenet [Mon, 17 Oct 2016 12:12:10 +0000 (05:12 -0700)]
RecreateSKPs: Fix GoogleStorageDataStore.delete_path

BUG=skia:5843
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2423093002

Review-Url: https://codereview.chromium.org/2423093002

7 years agoCache dst LUTs in SkColorSpaceXform
Matt Sarett [Sun, 16 Oct 2016 14:20:41 +0000 (10:20 -0400)]
Cache dst LUTs in SkColorSpaceXform

This is only useful in the rare case that the dst does not
fall into one of our main paths.

But it's a good optimization, since this does happen,
and typically, the dst won't change.

ColorCodecBench z620 --nonstd --xform_only
Without Patch 511us
With Patch    348us

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3400

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

7 years agoupdate GN docs
Mike Klein [Sat, 15 Oct 2016 15:44:45 +0000 (11:44 -0400)]
update GN docs

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3425
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=3425

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

7 years agoPut all Win bots on GN except -ANGLE bots.
Mike Klein [Sat, 15 Oct 2016 15:09:30 +0000 (11:09 -0400)]
Put all Win bots on GN except -ANGLE bots.

Not quite there yet for ANGLE.  The rest should be good to go.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3424

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

7 years agoUnbreak -Fast bot.
Mike Klein [Sat, 15 Oct 2016 05:18:45 +0000 (01:18 -0400)]
Unbreak -Fast bot.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3423

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

7 years agoSkNx_abi for passing Sk4f as function arguments, etc.
Mike Klein [Sat, 15 Oct 2016 04:13:29 +0000 (00:13 -0400)]
SkNx_abi for passing Sk4f as function arguments, etc.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3422

Change-Id: Idc0a192faa7ff843aef023229186580c69baf1f7
Reviewed-on: https://skia-review.googlesource.com/3422
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoWrap SkNx types in anonymous namespace again.
Mike Klein [Fri, 14 Oct 2016 21:09:03 +0000 (17:09 -0400)]
Wrap SkNx types in anonymous namespace again.

This should make each compilation unit's SkNx types distinct from each other's as far as C++ cares.  This keeps us from violating the One Definition Rule with different implementations for the same function.

Here's an example I like.  Sk4i SkNx_cast(Sk4b) has at least 4 different sensible implementations:
     - SSE2:   punpcklbw xmm, zero; punpcklbw xmm, zero
     - SSSE3:  load mask; pshufb xmm, mask
     - SSE4.1: pmovzxbd
     - AVX2:  vpmovzxbd

We really want all these to inline, but if for some reason they don't (Debug build, poor inliner) and they're compiled in SkOpts.cpp, SkOpts_ssse3.cpp, SkOpts_sse41.cpp, SkOpts_hsw.cpp... boom!

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3461

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

7 years agoRework GL fbo blit limitations as finer grained flags.
Brian Salomon [Fri, 14 Oct 2016 20:18:33 +0000 (16:18 -0400)]
Rework GL fbo blit limitations as finer grained flags.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3480
BUG=skia:5804

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

7 years agoFix bad test that was asserting on Vulkan Win10 bot
Brian Osman [Fri, 14 Oct 2016 20:48:17 +0000 (16:48 -0400)]
Fix bad test that was asserting on Vulkan Win10 bot

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3504

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

7 years agoGN/Win: Vulkan support, convert -Vulkan bots.
Mike Klein [Fri, 14 Oct 2016 18:04:56 +0000 (14:04 -0400)]
GN/Win: Vulkan support, convert -Vulkan bots.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Release-Vulkan-Trybot;master.client.skia:Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan-Trybot,Perf-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Release-Vulkan-Trybot,Perf-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3421

Change-Id: I7012719fff66778488589ab9c15fd2fa2a109cd1
Reviewed-on: https://skia-review.googlesource.com/3421
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoCapture ES3 MSAA blit restrictions using BlitFramebufferSupport not MSFBOType.
Brian Salomon [Fri, 14 Oct 2016 15:30:51 +0000 (11:30 -0400)]
Capture ES3 MSAA blit restrictions using BlitFramebufferSupport not MSFBOType.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3416

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

7 years agoDisable ANGLE GL backed on windows perf bots
Brian Salomon [Fri, 14 Oct 2016 19:41:54 +0000 (15:41 -0400)]
Disable ANGLE GL backed on windows perf bots

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3501

Change-Id: I0e3a166cd07560501cb350b780e264c274c81601
Reviewed-on: https://skia-review.googlesource.com/3501
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoanother SkSL crash fix
ethannicholas [Fri, 14 Oct 2016 19:14:46 +0000 (12:14 -0700)]
another SkSL crash fix

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2420163002

Review-Url: https://codereview.chromium.org/2420163002

7 years agoRefactor color_xform_RGBA() to improve performance
Matt Sarett [Fri, 14 Oct 2016 17:04:55 +0000 (13:04 -0400)]
Refactor color_xform_RGBA() to improve performance

Now that we've identified this as the "fast path", it has
become (somewhat) stable, and I'm ready to ship it, I feel
comfortable playing games with clang to get the behavior
we want.

toSRGB Performance on HP z620:
Before: 370us or 470us (depending on the mood of my computer)
After:  345us (or better, always)

My guess is that clang optimizers do a better job of interleaving
instructions effectively when we put everything into one function.

Regardless of being silly about performance, I also acutally
prefer how the code reads this way.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3440

Change-Id: Id7a40fb9966341ab184a5331b3e4da19b3af3344
Reviewed-on: https://skia-review.googlesource.com/3440
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert of Presubmit recipe: commit the patch (patchset #3 id:40001 of https://coderev...
borenet [Fri, 14 Oct 2016 17:11:44 +0000 (10:11 -0700)]
Revert of Presubmit recipe: commit the patch (patchset #3 id:40001 of https://codereview.chromium.org/2398653002/ )

Reason for revert:
Instead of trying to run the presubmit for try jobs and at every commit, let's do it only for try jobs, which worked fine without this CL.

Original issue's description:
> Presubmit recipe: call presubmit_support.py directly
>
> For some reason, presubmit_support.py can't find PRESUBMIT.py
> unless it has a diff. Calling this script directly allows us
> to specify a fake upstream to force it to find a diff and
> therefore be able to find PRESUBMIT.py.
>
> BUG=skia:5823
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2398653002
>
> Committed: https://skia.googlesource.com/skia/+/c1c7c21fdd2793b2c03b8ffc06461a00c4241a18

TBR=rmistry@google.com,borenet@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:5823

Review-Url: https://codereview.chromium.org/2414133003

7 years agomore SkSL fuzzer crash fixes
ethannicholas [Fri, 14 Oct 2016 16:56:33 +0000 (09:56 -0700)]
more SkSL fuzzer crash fixes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2414413002

Review-Url: https://codereview.chromium.org/2414413002

7 years agoAlways use RGBA textures for color font atlases
Brian Osman [Fri, 14 Oct 2016 15:42:20 +0000 (11:42 -0400)]
Always use RGBA textures for color font atlases

This is the last use of kSkiaGamma8888_GrPixelConfig

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3417

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

7 years agofix skslc crashes uncovered by fuzz testing
ethannicholas [Fri, 14 Oct 2016 15:37:32 +0000 (08:37 -0700)]
fix skslc crashes uncovered by fuzz testing

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2413423003

Review-Url: https://codereview.chromium.org/2413423003

7 years agoFaster 4f gradient premul path
fmalita [Fri, 14 Oct 2016 15:18:24 +0000 (08:18 -0700)]
Faster 4f gradient premul path

Similar to https://codereview.chromium.org/2409583003/, perform the
premul in 4f.  It turns out it's even faster to avoid the 255 load
multiplication in this case.

Also includes some template plumbing because DstTraits<>::load now needs
to be premul-aware (previously it wasn't).

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2416233002

Review-Url: https://codereview.chromium.org/2416233002

7 years agoExplicit control in tools of ANGLE frontend and backend
bsalomon [Fri, 14 Oct 2016 15:13:48 +0000 (08:13 -0700)]
Explicit control in tools of ANGLE frontend and backend

Update the ANGLE test GL context, GrContextFactory, and config parsing to allow explicit control of ANGLE front/backend.

This will allow us to explicitly test ES2 vs ES3 interfaces to ANGLE as well as D3D9, D3D11, and OpenGL backends.

Also makes the angle api types valid in all builds (but will just fail when SK_ANGLE=1 or not on windows for the d3d backends).

BUG=skia:5804
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381033002

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE-Trybot

Review-Url: https://codereview.chromium.org/2381033002

7 years agoRemove many uses of kSkia8888 and kSkiaGamma8888
Brian Osman [Fri, 14 Oct 2016 13:16:21 +0000 (09:16 -0400)]
Remove many uses of kSkia8888 and kSkiaGamma8888

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3405

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

7 years agoUpdate CQ_INCLUDE_TRYBOTS examples in docs to actually be "real world"
Brian Salomon [Fri, 14 Oct 2016 14:03:36 +0000 (10:03 -0400)]
Update CQ_INCLUDE_TRYBOTS examples in docs to actually be "real world"

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3409
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=3409

Change-Id: I5f524b2d04822dd9780302fae9bd064d81f10c6c
Reviewed-on: https://skia-review.googlesource.com/3409
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoMove skdiff tool and add to gn build.
bungeman [Thu, 13 Oct 2016 21:36:40 +0000 (17:36 -0400)]
Move skdiff tool and add to gn build.

I really wanted this today, so I got it working again.

Change-Id: I1a37d48d4806198b55c59d1df5ff15a03500195f
Reviewed-on: https://skia-review.googlesource.com/3383
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd NewRGB() with float gamma to SkColorSpace public API
Matt Sarett [Thu, 13 Oct 2016 22:24:20 +0000 (18:24 -0400)]
Add NewRGB() with float gamma to SkColorSpace public API

Necessary because PNGs like to specify their gamma this way.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3402

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

7 years agoAdd support for Atrace and hook into SkEventTracer framework.
Greg Daniel [Fri, 14 Oct 2016 13:12:53 +0000 (09:12 -0400)]
Add support for Atrace and hook into SkEventTracer framework.

This change is a different version of:
https://skia-review.googlesource.com/c/3269/

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3345

Change-Id: I49d4f2987740d3ad1307f6aba3add0d63a46b22d
Reviewed-on: https://skia-review.googlesource.com/3345
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Greg Daniel <egdaniel@google.com>

7 years agoadded SkSL support for mustForceNegatedAtanParamToFloat cap
ethannicholas [Fri, 14 Oct 2016 13:40:02 +0000 (06:40 -0700)]
added SkSL support for mustForceNegatedAtanParamToFloat cap

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2413363002

Review-Url: https://codereview.chromium.org/2413363002

7 years agoAdd infra_tests.py, recipe, buildbotless bot
borenet [Fri, 14 Oct 2016 13:32:09 +0000 (06:32 -0700)]
Add infra_tests.py, recipe, buildbotless bot

Have the presubmit (upload) run infra_tests.py if anything in infra/ changed.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2415193002

Review-Url: https://codereview.chromium.org/2415193002

7 years agoexperimental: xps_to_png program (windows only)
Hal Canary [Thu, 13 Oct 2016 19:30:11 +0000 (15:30 -0400)]
experimental: xps_to_png program (windows only)

BUG=skia:409
NOTRY=true
Change-Id: Ib0df603535de71b0a324808c17e47691435df666
Reviewed-on: https://skia-review.googlesource.com/3342
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoGN/Win: hook in GPU support
Mike Klein [Thu, 13 Oct 2016 21:18:04 +0000 (17:18 -0400)]
GN/Win: hook in GPU support

Just a simple oversight... this should make Ganesh work.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3382

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

7 years agoGN/Win: suppport GDI, convert GDI bots to build with GN.
Mike Klein [Thu, 13 Oct 2016 19:45:07 +0000 (15:45 -0400)]
GN/Win: suppport GDI, convert GDI bots to build with GN.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-GDI-Trybot,Build-Win-MSVC-x86-Release-GDI-Trybot;master.client.skia:Perf-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-GDI-Trybot,Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-GDI-Trybot,Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Release-GDI-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3324

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

7 years agoSlightly generalize GPU hard stop gradient implementation.
Brian Salomon [Thu, 13 Oct 2016 20:08:36 +0000 (16:08 -0400)]
Slightly generalize GPU hard stop gradient implementation.

With this CL we handle single off-center hardstop gradients.

BUG=chromium:543625

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3303

Change-Id: Ic754e87469475ce15865c54055b8ed492e1d826d
Reviewed-on: https://skia-review.googlesource.com/3303
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoadded basic dataflow analysis to skslc
ethannicholas [Thu, 13 Oct 2016 20:25:34 +0000 (13:25 -0700)]
added basic dataflow analysis to skslc

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2405383003

Review-Url: https://codereview.chromium.org/2405383003

7 years agoAllow F16 color type on direct raster canvases
junov [Thu, 13 Oct 2016 20:14:27 +0000 (13:14 -0700)]
Allow F16 color type on direct raster canvases

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2416063002

Review-Url: https://codereview.chromium.org/2416063002

7 years agoremove SkError
Mike Klein [Thu, 13 Oct 2016 18:18:09 +0000 (14:18 -0400)]
remove SkError

It has not caught on.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3321

Change-Id: Ib2ee4ef99bc89c8f4b7504e42a9d7d9dfc483015
Reviewed-on: https://skia-review.googlesource.com/3321
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd timestamp to bot ninja output.
Mike Klein [Thu, 13 Oct 2016 18:54:32 +0000 (14:54 -0400)]
Add timestamp to bot ninja output.

The default NINJA_STATUS format is "[%f/%t] ".  This prepends %e to help diagnose slow builds.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3323

Change-Id: Ied27317cedc2b07ff57c59eae61fe9e86c7fea33
Reviewed-on: https://skia-review.googlesource.com/3323
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoGN/Win: quieter builds
Mike Klein [Thu, 13 Oct 2016 18:31:01 +0000 (14:31 -0400)]
GN/Win: quieter builds

It's hard to read the logs as they are now.  This simplifies down the descriptions, and stifles a warning about linking object files with no symbols into a static library.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3322

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

7 years agoWorkaround unreachable code warning in GrGLCaps
Brian Salomon [Tue, 11 Oct 2016 21:40:33 +0000 (14:40 -0700)]
Workaround unreachable code warning in GrGLCaps

BUG=skia:5833

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3179

Change-Id: I0b5ba57e533280e85b3672f476017dc12aefbbe5
Reviewed-on: https://skia-review.googlesource.com/3179
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRemoved makeLinearGamma() from the public API for SkColorSpace
raftias [Thu, 13 Oct 2016 17:45:44 +0000 (10:45 -0700)]
Removed makeLinearGamma() from the public API for SkColorSpace

It will now reside in SkColorSpace_Base. Future work for SkColorSpace
will cause this function to not be desirable or sensible to call on
all SkColorSpaces. Call sites were changed to make a kSRGBLinear_Named
instead of kSRGB_Named -> makeLinearGamma() (the majority of cases),
and if that was not possible, SkColorSpace_Base::makeLinearGamma()
was called instead.

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2412613005

Review-Url: https://codereview.chromium.org/2412613005

7 years agoRemove SK_SUPPORT_LEGACY_TEXTBLOB_BUILDER.
Ben Wagner [Wed, 5 Oct 2016 16:30:14 +0000 (12:30 -0400)]
Remove SK_SUPPORT_LEGACY_TEXTBLOB_BUILDER.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2988

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

7 years agoGN/Win: pass /DEBUG to linker to get debug symbols.
Mike Klein [Thu, 13 Oct 2016 17:19:25 +0000 (13:19 -0400)]
GN/Win: pass /DEBUG to linker to get debug symbols.

Not much used for debug symbols if they're not linked in.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3320

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

7 years agoStop rebooting Android devices during Swarming tasks
borenet [Thu, 13 Oct 2016 17:31:08 +0000 (10:31 -0700)]
Stop rebooting Android devices during Swarming tasks

Swarming will reboot the devices after each task.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2402403002

Review-Url: https://codereview.chromium.org/2402403002

7 years ago[task scheduler] Trybots assume rietveld for now
borenet [Thu, 13 Oct 2016 17:25:52 +0000 (10:25 -0700)]
[task scheduler] Trybots assume rietveld for now

Eventually we'll switch to gerrit-only. Supporting both will probably be
more complicated than it's worth.

BUG=skia:5723
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2413653005

Review-Url: https://codereview.chromium.org/2413653005

7 years agoSkXPS: compile under clang on win
halcanary [Thu, 13 Oct 2016 15:44:11 +0000 (08:44 -0700)]
SkXPS: compile under clang on win

BUG=chromium:616763
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2408133006

Review-Url: https://codereview.chromium.org/2408133006

7 years agoOutput location of rankings CSV and a link to download SKPs by rank
Ravi Mistry [Thu, 13 Oct 2016 14:36:50 +0000 (10:36 -0400)]
Output location of rankings CSV and a link to download SKPs by rank

Example run: https://luci-milo.appspot.com/swarming/task/31cdda8d5cb95310

BUG=skia:5826

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3173

Change-Id: I56f4143e919f4328d0f573e8a4a4321eceb8564a
Reviewed-on: https://skia-review.googlesource.com/3173
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoRevert of leave pixel memory uninitialized for opaque alpha type in SkSurface::MakeRa...
mtklein [Thu, 13 Oct 2016 14:46:14 +0000 (07:46 -0700)]
Revert of leave pixel memory uninitialized for opaque alpha type in SkSurface::MakeRaster (patchset #1 id:1 of https://codereview.chromium.org/2412633002/ )

Reason for revert:
Reverting while we think about skia:5854 so the bot doesn't regress further.

Original issue's description:
> leave pixel memory uninitialized for opaque alpha type in SkSurface::MakeRaster
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2412633002
>
> Committed: https://skia.googlesource.com/skia/+/c64ef3563dc8badac3d64544513b03df826cf8c3

TBR=mtklein@chromium.org,bsalomon@google.com,reed@google.com,lsalzman@mozilla.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5854

Review-Url: https://codereview.chromium.org/2421473003

7 years agoPreserve color space of images in deferred texture API
brianosman [Thu, 13 Oct 2016 13:44:23 +0000 (06:44 -0700)]
Preserve color space of images in deferred texture API

For raster images, this already worked (we were peeking the
pixmap's info). But for generated images, we discarded
format and color space information. Fixes an error with the
deferred GMs in sRGB modes, and also should help the Chrome
color correctness work.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2416453004

Review-Url: https://codereview.chromium.org/2416453004

7 years agoRecipe fixes to support try jobs in task scheduler
borenet [Thu, 13 Oct 2016 13:23:45 +0000 (06:23 -0700)]
Recipe fixes to support try jobs in task scheduler

BUG=skia:5723
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410843002

Review-Url: https://codereview.chromium.org/2410843002

7 years agoGN/Win: warnings and warn-as-error
Mike Klein [Thu, 13 Oct 2016 03:58:06 +0000 (23:58 -0400)]
GN/Win: warnings and warn-as-error

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3258

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

7 years agoGN: naive attempt for 32-bit Windows support
Mike Klein [Thu, 13 Oct 2016 02:42:55 +0000 (22:42 -0400)]
GN: naive attempt for 32-bit Windows support

This uses the win_toolchain's SetEnv.cmd script to set up the environment for x86 builds.  Some of what it sets is redundant with what we set: include_dirs (INCLUDE), lib_dirs (LIB).  I'd sort of like to learn what parts of it actually matter: VSINSTALLDIR? VCINSTALLDIR? likely PATH?
This will not work for local builds not using win_toolchain.  I don't mind that too much, at least for now, maybe forever.  Most humans should be using 64-bit builds.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3257

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

7 years agoGN: take over Windows -Exceptions bot.
Mike Klein [Wed, 12 Oct 2016 23:27:41 +0000 (19:27 -0400)]
GN: take over Windows -Exceptions bot.

This will make it temporarily 64-bit until I sort out 32-bit builds (tomorrow?) but that's an unimportant dimension for this bot... we just want to make sure we can build with /EHsc.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3255

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

7 years agoGN: windows flags tweaks.
Mike Klein [Wed, 12 Oct 2016 23:36:09 +0000 (19:36 -0400)]
GN: windows flags tweaks.

Should be no need for /TC, /TP.
Don't set GCC-like 32-bit build flags on Windows.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3256

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

7 years agoleave pixel memory uninitialized for opaque alpha type in SkSurface::MakeRaster
lsalzman [Wed, 12 Oct 2016 23:50:16 +0000 (16:50 -0700)]
leave pixel memory uninitialized for opaque alpha type in SkSurface::MakeRaster

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2412633002

Review-Url: https://codereview.chromium.org/2412633002

7 years agoDisable MSVC optimization of sk_tool_utils::make_big_path().
Mike Klein [Wed, 12 Oct 2016 21:06:48 +0000 (17:06 -0400)]
Disable MSVC optimization of sk_tool_utils::make_big_path().

This one function takes MSVC about 2 minutes to compile with optimization turned on, and roughly doubles my clean build wall time on a Z840 (186s before this change -> 95s after).

It's test-only, so who really cares how fast it is?

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3254

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

7 years agoGN/Win: flesh out compiler flags.
Mike Klein [Wed, 12 Oct 2016 20:25:27 +0000 (16:25 -0400)]
GN/Win: flesh out compiler flags.

This should turn on the basics: optimization, debug symbols, disabled RTTI.

Release builds compile monobench, and cl.exe isn't happy with 1.0/0.0 there, so I swapped that into infinity().

Also, gn format I skipped last time.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3252

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

7 years agoFix double-accounting of SkPictureShader bitmap memory
fmalita [Wed, 12 Oct 2016 20:43:43 +0000 (13:43 -0700)]
Fix double-accounting of SkPictureShader bitmap memory

The pixels RAM is accounted via SkImageGenerator/SkImageCacherator, we
don't need to report it as part of SkPictureShader's BitmapShaderRec.

R=reed@google.com
BUG=chromium:619929
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2415673002

Review-Url: https://codereview.chromium.org/2415673002

7 years agoGN/Win: support win_toolchain asset?
Mike Klein [Wed, 12 Oct 2016 19:52:44 +0000 (15:52 -0400)]
GN/Win: support win_toolchain asset?

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3246

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

7 years agoUpdate GN recipes for Windows.
Mike Klein [Wed, 12 Oct 2016 18:32:09 +0000 (14:32 -0400)]
Update GN recipes for Windows.

fetch-gn is a Python script, gn is a batch script, and ninja is an exe.

Pass the win_toolchain package to GN as windk.  This won't work yet.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3245

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

7 years agofixed GLVec4ScalarBench
ethannicholas [Wed, 12 Oct 2016 18:46:07 +0000 (11:46 -0700)]
fixed GLVec4ScalarBench

TBR=jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2419573002

Review-Url: https://codereview.chromium.org/2419573002

7 years agoRemove hack allowing fRefCnt of 0.
Ben Wagner [Wed, 12 Oct 2016 15:04:25 +0000 (11:04 -0400)]
Remove hack allowing fRefCnt of 0.

In some legacy situations users of SkRefCnt subclasses were keeping
the objects alive with a reference count of 0. Now that these users are
cleaned up, remove the hack which allowed such code to keep functioning.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3264

Change-Id: I22f63d87b6d995cad6326998284930ad9eaa2983
Reviewed-on: https://skia-review.googlesource.com/3264
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoAdd SkRasterPipeline support to SkModeColorFilter.
Mike Klein [Wed, 12 Oct 2016 15:05:05 +0000 (11:05 -0400)]
Add SkRasterPipeline support to SkModeColorFilter.

The shader leaves its color in r,g,b,a, so to implement this color filter, we move {r,g,b,a} into {dr,dg,db,da}, then load the filter's color in {r,g,b,a}, then apply the xfermode as usual.

I've left a note about how we could sometimes cut a stage for some xfermodes.  Similarly we really only need to move_src_dst instead of swap_src_dst, but it seemed handy and less error prone to do a full two way swap.  As usual, we can always circle back and fine-tune these things if we want.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3243
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I928c0fb25236eb75cf238134c6bebb53af5ddf07
Reviewed-on: https://skia-review.googlesource.com/3243
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRemove workaround for old compilers that do not support SSSE3.
Mike Klein [Wed, 12 Oct 2016 16:28:03 +0000 (12:28 -0400)]
Remove workaround for old compilers that do not support SSSE3.

We now require SSSE3, SSE4.1, SSE4.2, AVX, F16C, AVX2, and FMA compiler support on x86.  This lone workaround for missing SSSE3 support is incongruous.  It's also unlikely that there's any x86 compiler that supports C++11 but not SSSE3, certainly none we care about.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3244

Change-Id: Ie83f5ebb3f214eec726fedd0df6f46e72f735f38
Reviewed-on: https://skia-review.googlesource.com/3244
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoGN/Win: everything links on my machine.
Mike Klein [Wed, 12 Oct 2016 16:20:25 +0000 (12:20 -0400)]
GN/Win: everything links on my machine.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3267

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

7 years agoSkRasterPipeline: 8x pipelines, without any 8x code enabled.
Mike Klein [Wed, 12 Oct 2016 13:52:55 +0000 (09:52 -0400)]
SkRasterPipeline: 8x pipelines, without any 8x code enabled.

Original review here: https://skia-review.googlesource.com/c/2990/
Second attempt here:  https://skia-review.googlesource.com/c/3064/

This is the same as the second attempt, but with the change to SkOpts_hsw.cpp left out.
That omitted part is the key piece... this just lands the refactoring.

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-GN,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot;master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3242

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

7 years agoDon't pass in RT to individual Gpu CommandBuffer calls
Greg Daniel [Wed, 12 Oct 2016 13:47:22 +0000 (09:47 -0400)]
Don't pass in RT to individual Gpu CommandBuffer calls

The Vulkan backend already stored a GrVkRT, but was inconsistent
in sometimes using the stored value and sometimes the passed in
value (though they should be the same). This just cleans up the
code so that everyone uses a stored RT.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3126

Change-Id: I571de4bfb1da612d61171321d5224a9a19d8e545
Reviewed-on: https://skia-review.googlesource.com/3126
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoFix interface validation in Vulkan.
Greg Daniel [Tue, 11 Oct 2016 20:31:05 +0000 (16:31 -0400)]
Fix interface validation in Vulkan.

TBR=bsalomon@google.com

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3176

Change-Id: Ifad3249e6839e9b4aa34792646b2d54ff9304da7
Reviewed-on: https://skia-review.googlesource.com/3176
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoGrTessellator: make inverse fill types more sane.
senorblanco [Wed, 12 Oct 2016 13:47:44 +0000 (06:47 -0700)]
GrTessellator: make inverse fill types more sane.

In the screenspace AA tessellator, a path's fill types would be applied
twice: once when extracting contours, and then again when filling polys.
It was supposed to be forced to kWinding_FillType by the second call to
mesh_to_polys(), but for hysterical reasons this parameter is unused!

For kInverseWinding_FillType (the only mode where this actually caused a bug),
I unwittingly papered over the problem by reversing the outer contour for the
inverse fill types, and comparing against -1 instead of 1.

The better fix is to actually pass a winding mode of kWinding_FillType
to polys_to_triangles(), and remove the (ignored) param from mesh_to_polys().
Then we can pass a clockwise outer contour as before, and compare
against 1 instead of -1.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2404403003

Review-Url: https://codereview.chromium.org/2404403003

7 years agoTurned on SkSL->GLSL compiler
ethannicholas [Wed, 12 Oct 2016 13:39:56 +0000 (06:39 -0700)]
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003

Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310
Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89
Committed: https://skia.googlesource.com/skia/+/08b2ccf398e2b81bc05d2c105837e5419899469b
Committed: https://skia.googlesource.com/skia/+/dcfe6dba4a335e50e86ff68e3252065d4197432c
Committed: https://skia.googlesource.com/skia/+/ccb1dd8f267f9d7fe7c9d0ce222ebc81b41853b3
Review-Url: https://codereview.chromium.org/2288033003

7 years agoskpbench: add warmup run
csmartdalton [Wed, 12 Oct 2016 01:28:54 +0000 (18:28 -0700)]
skpbench: add warmup run

Does actual work while waiting for hardware settings to kick in,
rather than just sleeping.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410373002

Review-Url: https://codereview.chromium.org/2410373002

7 years agoNDK Clang can build hb-icu.cc for mipsel now.
Mike Klein [Tue, 11 Oct 2016 23:59:22 +0000 (19:59 -0400)]
NDK Clang can build hb-icu.cc for mipsel now.

I haven't explicitly confirmed this, but it's likely that today's r12b -> r13 upgrade made this possible.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-mipsel-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-mipsel-Release-GN_Android-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3241

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

7 years agoGN/Win: everything but skiaserve links.
Mike Klein [Tue, 11 Oct 2016 22:13:53 +0000 (18:13 -0400)]
GN/Win: everything but skiaserve links.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3240

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

7 years agoGN/Windows: fiddle links and runs
Mike Klein [Tue, 11 Oct 2016 21:49:33 +0000 (17:49 -0400)]
GN/Windows: fiddle links and runs

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3220

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

7 years agoAdd SkColorSpaceTransferFn to SkColorSpace
Matt Sarett [Tue, 11 Oct 2016 20:57:50 +0000 (16:57 -0400)]
Add SkColorSpaceTransferFn to SkColorSpace

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3178

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

7 years agoMore steps toward GN/Windows.
Mike Klein [Tue, 11 Oct 2016 21:08:53 +0000 (17:08 -0400)]
More steps toward GN/Windows.

I think I'm now at the point of needing to just resolve missing symbols.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3201

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