platform/upstream/libSkiaSharp.git
7 years agoFix perf regression with SDF paths
Jim Van Verth [Thu, 12 Jan 2017 15:00:16 +0000 (10:00 -0500)]
Fix perf regression with SDF paths

BUG=skia:6113,chromium:677889

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

7 years ago[M56] More fixes for distance field paths
Jim Van Verth [Wed, 11 Jan 2017 19:17:00 +0000 (14:17 -0500)]
[M56] More fixes for distance field paths

Disables use of SDFs for very small paths (because of blurring) and
adds a border of 1 pixel in device space to handle antialiasing.

BUG=chromium:677889

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

7 years ago[M56] Fix SkImageFilterCache race
Florin Malita [Tue, 17 Jan 2017 19:12:14 +0000 (14:12 -0500)]
[M56] Fix SkImageFilterCache race

M56 cherry-pick of
https://skia.googlesource.com/skia.git/+/a022e2d834254a4c91f8c87d277d5085192f0852

BUG=chromium:668937
R=reed@google.com,robertphillips@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=7124
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I5d5e4cb2e57f52a8d082d38e42f75704a3643aa0
Reviewed-on: https://skia-review.googlesource.com/7124
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoM56 cherrypick Fix mapping from src to in SkAlphaThresholdFilter
Robert Phillips [Wed, 11 Jan 2017 15:30:08 +0000 (10:30 -0500)]
M56 cherrypick Fix mapping from src to in SkAlphaThresholdFilter

This cherrypicks https://skia-review.googlesource.com/c/6291/ (Fix mapping from src to dst image space in SkAlphaThresholdFilter) to M56

BUG=675332

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=6880
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

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

7 years agoFix SDF generation for pixel-aligned paths (take two)
Brian Salomon [Thu, 22 Dec 2016 14:39:40 +0000 (09:39 -0500)]
Fix SDF generation for pixel-aligned paths (take two)

Cherry-pick to M56

BUG=668550

Change-Id: Ic771818bd5a4a46b83fdb82b69b98cb6b93a23a2
Reviewed-on: https://skia-review.googlesource.com/5697
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/6413

7 years agoMake flag values in GrResourceProvider and GrTextureProvider consistent
Brian Salomon [Thu, 22 Dec 2016 14:26:29 +0000 (09:26 -0500)]
Make flag values in GrResourceProvider and GrTextureProvider consistent

Cherry pick to M56

BUG=chromium:665673

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

Change-Id: I41522aa24cd4b4a7e085132dd9bcbfdd66bd9617
Reviewed-on: https://skia-review.googlesource.com/5602
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/6411
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd an extra pixel to the distance field path renderer bounds.
Brian Salomon [Thu, 22 Dec 2016 14:16:57 +0000 (09:16 -0500)]
Add an extra pixel to the distance field path renderer bounds.

Cherry-pick to M56

BUG=chromium:663701
BUG=skia:5989

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

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

Cherry-pick to M55

NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

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

7 years agoFuzzer fix for overflow in some Lut8 profiles.
msarett [Tue, 29 Nov 2016 21:22:01 +0000 (13:22 -0800)]
Fuzzer fix for overflow in some Lut8 profiles.

Bug(?) in the tetrahedral interpolation causes output values to go out
of range a bit (1.035/1.0) in the upper range. We will just clamp for
now as a temporary fix.

BUG=668784

Change-Id: I78dd90da7174133e647b1c6c6e914dbde5de123c
Reviewed-on: https://skia-review.googlesource.com/5228
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Robert Aftias <raftias@google.com>
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2535383002
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

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

7 years agoCherry pick fuzzer fixes back to M56
Robert Phillips [Mon, 21 Nov 2016 14:03:54 +0000 (09:03 -0500)]
Cherry pick fuzzer fixes back to M56

This cherry-pick combines 3 fuzzer-fix CLs:

These two rolled into Chrome in https://codereview.chromium.org/2511733006 at 433297 on 11/18
https://skia-review.googlesource.com/c/4961/ (Remove accessRenderTarget call in SkGpuDevice ctor)
https://skia-review.googlesource.com/c/4929/ (Guard against instantiate & accessRenderTarget failures)

This one rolled into Chrome in https://codereview.chromium.org/2516183002 at 433454 on 11/20
https://skia-review.googlesource.com/c/4991/ (Add handling for instantiate failure up the call stack)

Together they address the fuzzer bugs:

crbug.com/665681 P1 (Crash in SkSpecialImage_Gpu::onAsTextureRef)
crbug.com/665621 P1 (Crash in GrGpuCommandBuffer::draw)
crbug.com/665500 P1 (Crash in GrDrawBatch::renderTargetUniqueID)

The fuzzer bugs were fixed by the first two patches but the third is going to be necessary too.

BUG=665681,665500,665621

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5081
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I3a8b70eae29ac11608e062e66bc26c2208c1dfb3
Reviewed-on: https://skia-review.googlesource.com/5081
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoFixed issue with some A2B0 images being too dark
raftias [Mon, 21 Nov 2016 17:59:36 +0000 (12:59 -0500)]
Fixed issue with some A2B0 images being too dark

The issue was with the A2B0 matrix not being scaled by its encoding
factor when it needed to be (for A2B0 matrices only).

NOTRY=true
NOTREECHECKS=true

BUG=skia:

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

Change-Id: I3f202323e137e1b014e564bd96d87c601c4748ab
Reviewed-on: https://skia-review.googlesource.com/5003
Commit-Queue: Robert Aftias <raftias@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-on: https://skia-review.googlesource.com/5110

7 years agoFix milestone version number on branch
Heather Miller [Thu, 17 Nov 2016 19:03:42 +0000 (14:03 -0500)]
Fix milestone version number on branch

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4966
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I6a78060979066f839958c0e57d0898af6dcd7414
Reviewed-on: https://skia-review.googlesource.com/4966
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>

7 years ago[nobuildbot] More Android bots
Eric Boren [Wed, 16 Nov 2016 20:55:06 +0000 (15:55 -0500)]
[nobuildbot] More Android bots

- GalaxyS7
- NVIDIA_Shield
- Nexus10
- Nexus7
- Nexus9

BUG=skia:

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

Change-Id: Ie4fb27085fe154ddf15de4774de9932cde28e842
Reviewed-on: https://skia-review.googlesource.com/4915
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoDon't build :public_headers_warnings_check on NoGPU builds.
Mike Klein [Wed, 16 Nov 2016 21:00:46 +0000 (16:00 -0500)]
Don't build :public_headers_warnings_check on NoGPU builds.

skia.h includes GPU headers.  No real point in getting fancy here... if there are no unused parameters in all headers, there are no unused parameters in the subset of non-GPU headers.

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

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

7 years agoUse SkSmallAllocator for SamplerStage and Accessor.
Herb Derby [Wed, 16 Nov 2016 21:23:24 +0000 (16:23 -0500)]
Use SkSmallAllocator for SamplerStage and Accessor.

BUG=skia:

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

Change-Id: Id67d7c1cefa2aadfc706c56dd02d086120f99be3
Reviewed-on: https://skia-review.googlesource.com/4917
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoHook into parametric and table raster pipeline stages
Matt Sarett [Wed, 16 Nov 2016 21:07:15 +0000 (16:07 -0500)]
Hook into parametric and table raster pipeline stages

BUG:664864

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

Change-Id: I909152f1abba60803f0ce2f970eec1f8f1816d78
Reviewed-on: https://skia-review.googlesource.com/4913
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoTurn off all SkDebugfs in SkScan_AAAPath.cpp
Yuqian Li [Wed, 16 Nov 2016 20:34:59 +0000 (15:34 -0500)]
Turn off all SkDebugfs in SkScan_AAAPath.cpp

TBR=mtklein@google.com

BUG=skia:

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

Change-Id: Ia69f2932936e34bc487c9c468bba176de0b2b0df
Reviewed-on: https://skia-review.googlesource.com/4912
Reviewed-by: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoNo SkDebugf for approximate intersection
Yuqian Li [Wed, 16 Nov 2016 20:31:27 +0000 (15:31 -0500)]
No SkDebugf for approximate intersection

TBR=mtklein@google.com

BUG=skia:

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

Change-Id: I23bc298186f93c1a97a15d00b34f65cd72f964e7
Reviewed-on: https://skia-review.googlesource.com/4911
Reviewed-by: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoremove CANVAS_IS_REFCNT flag from public.bzl
Mike Reed [Wed, 16 Nov 2016 20:54:31 +0000 (15:54 -0500)]
remove CANVAS_IS_REFCNT flag from public.bzl

BUG=skia:

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

Change-Id: I3ea6c2b96dd79da9ebba659726cbab52bda21651
Reviewed-on: https://skia-review.googlesource.com/4914
Reviewed-by: Mike Reed <reed@google.com>
7 years agoExternal SkImageGenerator API
Florin Malita [Wed, 16 Nov 2016 19:45:34 +0000 (14:45 -0500)]
External SkImageGenerator API

Introduce an SkImageGenerator API to support the implementation of
externally-managed image decode and scale caches.

BUG=skia:5806
R=reed@google.com

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

Change-Id: Ibfe37af5471f78f28f88f9d5e80938882be1a344
Reviewed-on: https://skia-review.googlesource.com/4720
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoAdd vulkan build to skpbench.
Kevin Lubick [Wed, 16 Nov 2016 19:07:17 +0000 (14:07 -0500)]
Add vulkan build to skpbench.

This also fixes the name of the tasks because skpbench is always GPU.
There was a config for monitoring the gpu clock instead of the cpu clock,
but this was removed because the gpu clock isn't very useful at the moment.
cpu clock is basically wall-time, i.e. an accurate measurement of the
entire test.

BUG=skia:

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

Change-Id: If1c7dd3141e24f79555ee7b3756f09618df54cb4
Reviewed-on: https://skia-review.googlesource.com/4873
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoRename GrTextureBufferSampler to GrBufferSampler
csmartdalton [Wed, 16 Nov 2016 18:28:16 +0000 (11:28 -0700)]
Rename GrTextureBufferSampler to GrBufferSampler

Just a simple renaming to reinforce the Ganesh notion that a buffer
access is not related to a texture.

BUG=skia:

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

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

7 years agoRevert "Revert "Add support for image load to SkSL""
Brian Salomon [Wed, 16 Nov 2016 17:06:01 +0000 (12:06 -0500)]
Revert "Revert "Add support for image load to SkSL""

This reverts commit cb115bdeed5898ded3fdbe572a14616cff809b7c.

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

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

7 years agoGN: add public headers warnings check.
Mike Klein [Wed, 16 Nov 2016 17:13:44 +0000 (12:13 -0500)]
GN: add public headers warnings check.

We already generate skia.h to include all public headers for Fiddle.
This just includes it with -Wunused-parameter turned on as an error.

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

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

7 years agoRename kTexture2DISampler to kITexture2DSampler.
Brian Salomon [Wed, 16 Nov 2016 17:55:57 +0000 (12:55 -0500)]
Rename kTexture2DISampler to kITexture2DSampler.

Also remove unused kGrSLTypeCount.

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

Change-Id: I7f934c56515424b2668886dec2f16296a1256e2c
Reviewed-on: https://skia-review.googlesource.com/4903
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
7 years agoAdd trace and registers stages.
Mike Klein [Wed, 16 Nov 2016 18:38:15 +0000 (13:38 -0500)]
Add trace and registers stages.

Yet more debugging tools.

TBR=herb@google.com

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

Change-Id: I92e2e6b17abfc32c8d3554e71dbf95abadbb3824
Reviewed-on: https://skia-review.googlesource.com/4908
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUse SkSmallAllocator for tiling.
Herb Derby [Wed, 16 Nov 2016 18:26:42 +0000 (13:26 -0500)]
Use SkSmallAllocator for tiling.

BUG=skia:

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

Change-Id: If401ea43454b46591d6f39492e7761b16a7e7a29
Reviewed-on: https://skia-review.googlesource.com/4904
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agomove SkBlendMode_Name into public (for chrome)
Mike Reed [Wed, 16 Nov 2016 18:13:16 +0000 (13:13 -0500)]
move SkBlendMode_Name into public (for chrome)

BUG=skia:

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

Change-Id: I4f6cbc7b4d2a9d41ba5da39d550961587f30a4ac
Reviewed-on: https://skia-review.googlesource.com/4905
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoAdd back in min/max check on fuzzer range
Kevin Lubick [Tue, 15 Nov 2016 21:07:02 +0000 (16:07 -0500)]
Add back in min/max check on fuzzer range

BUG=skia:

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

Change-Id: Ia93b4eeea82dd04f0c6bd287f61d26086a0aa740
Reviewed-on: https://skia-review.googlesource.com/4798
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoAdd IORef capability to GrSurfaceProxy objects - take 2
robertphillips [Wed, 16 Nov 2016 19:17:17 +0000 (11:17 -0800)]
Add IORef capability to GrSurfaceProxy objects - take 2

Re-landing of https://skia-review.googlesource.com/c/4734/ (Add IORef capability to GrSurfaceProxy objects) with fixes for:
 platforms that don't support discards.
 memory leak due to copying over of GrSurfaceProxy's creation ref to instantiated GrSurface in instantiate()

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

Change-Id: If0b695d5cafc5ef3fdd251c38262849d09e5d27f
Review-Url: https://codereview.chromium.org/2502923003

7 years agoFix mask overflow caused by edge drift
Yuqian Li [Wed, 16 Nov 2016 18:07:57 +0000 (13:07 -0500)]
Fix mask overflow caused by edge drift

BUG=skia:

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

Change-Id: Ica1568b67c1e1ce4aae2bdaba2c5b1f2155d1382
Reviewed-on: https://skia-review.googlesource.com/4797
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoDrop forceRLE to simplify aaa_walk_convex_edges
Yuqian Li [Wed, 16 Nov 2016 16:54:48 +0000 (11:54 -0500)]
Drop forceRLE to simplify aaa_walk_convex_edges

The virtual flush function doesn't seem to affect the performance much.
Maybe there's a 1% drop in performance in nanobench against
fill_big_triangle and fill_big_circle, but that's too small a change for
nanobench to reliabily diffrentiate.

The smooth jump (ignore fractional y if edges don't change their
directions significantly) no longer needs to be guarded against SkAAClip
because our recent CL (https://skia-review.googlesource.com/c/4636/)
make left/rightBound much tighter.

BUG=skia:

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

Change-Id: If323013b810cc1ff5f6dbb868a8981354ee6f9b5
Reviewed-on: https://skia-review.googlesource.com/4899
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Commit-Queue: Stan Iliev <stani@google.com>

7 years agoinfra recipe: Add -t flag to "go test"
Eric Boren [Wed, 16 Nov 2016 15:49:52 +0000 (10:49 -0500)]
infra recipe: Add -t flag to "go test"

BUG=skia:

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

Change-Id: Iff66f67a28b65797446d0ba26064f00dc948bb47
Reviewed-on: https://skia-review.googlesource.com/4896
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoSimplify the signature of sk/aaa_fill_path
Yuqian Li [Wed, 16 Nov 2016 15:12:58 +0000 (10:12 -0500)]
Simplify the signature of sk/aaa_fill_path

Previously, the clipRect is either equal to nullptr or clipRgn's bound
(after necessary supersampling shift). Hence we drop one of them to make
the signature simpler.

BUG=skia:

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

Change-Id: Ied8d5313809d6cf90374365b01f2b8d52f2236e2
Reviewed-on: https://skia-review.googlesource.com/4874
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoFix error with transforming custom/large glyphs
Jim Van Verth [Wed, 16 Nov 2016 15:15:23 +0000 (10:15 -0500)]
Fix error with transforming custom/large glyphs

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

Change-Id: I9f14ca830f9de92000e751a4a99ff1eb9b01db33
Reviewed-on: https://skia-review.googlesource.com/4866
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agomake SkXfermode.h go away
Mike Reed [Tue, 15 Nov 2016 21:44:34 +0000 (16:44 -0500)]
make SkXfermode.h go away

This is step one:
- make SkXfermode useless to public clients
- everything they should need is in SkBlendMode.h

Step two:
- remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h)

BUG=skia:

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

Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc
Reviewed-on: https://skia-review.googlesource.com/4534
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRevert of added support for push_constant layout (patchset #7 id:140001 of https...
egdaniel [Wed, 16 Nov 2016 15:29:51 +0000 (07:29 -0800)]
Revert of added support for push_constant layout (patchset #7 id:140001 of https://codereview.chromium.org/2187433003/ )

Reason for revert:
hitting assert in vulkan

Original issue's description:
> added support for push_constant layout
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187433003
>
> Committed: https://skia.googlesource.com/skia/+/fa5f65ac61fd525029aa9dab161ffe4896c10f6d

TBR=ethannicholas@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

7 years agoRevert "Add support for image load to SkSL"
Stan Iliev [Wed, 16 Nov 2016 15:25:42 +0000 (15:25 +0000)]
Revert "Add support for image load to SkSL"

This reverts commit bd85a105ba7b3ee2008d20fb9281bfb47325ad0e.

Reason for revert: Needing to revert a dependent CL

Original change's description:
> Add support for image load to SkSL
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4865
>
> Change-Id: I4647e6b255946ced2b1b8cb05e62f0f5a8ad28b6
> Reviewed-on: https://skia-review.googlesource.com/4865
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
>

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

Change-Id: I45932a53c606aadd645ee2b8264f08ad63429939
Reviewed-on: https://skia-review.googlesource.com/4892
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
7 years agoadd {parametric,table}_{r,g,b} stages.
Mike Klein [Wed, 16 Nov 2016 14:01:30 +0000 (09:01 -0500)]
add {parametric,table}_{r,g,b} stages.

Think you can take over from here, hook these into SkColorSpaceXform_A2B, and remove the need for fn_1_{r,g,b}?

BUG=skia:664864

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

Change-Id: If573fa2861f32f201f4db28598559290b1eef812
Reviewed-on: https://skia-review.googlesource.com/4888
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years ago[nobuildbot] Nexus 5
Eric Boren [Wed, 16 Nov 2016 12:14:36 +0000 (07:14 -0500)]
[nobuildbot] Nexus 5

BUG=skia:

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

Change-Id: Id8bcb72926155d8754e99e5ec5b3ae2461b22e0f
Reviewed-on: https://skia-review.googlesource.com/4870
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoAdd support for image load to SkSL
Brian Salomon [Wed, 16 Nov 2016 00:09:52 +0000 (19:09 -0500)]
Add support for image load to SkSL

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

Change-Id: I4647e6b255946ced2b1b8cb05e62f0f5a8ad28b6
Reviewed-on: https://skia-review.googlesource.com/4865
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agoFix flushing of HWAA state relating to mixed samples
csmartdalton [Tue, 15 Nov 2016 21:26:27 +0000 (14:26 -0700)]
Fix flushing of HWAA state relating to mixed samples

Fixes the sense of the "stencilEnabled" argument sent to
flushHWAAState.

BUG=skia:

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

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

7 years agoLinearGradientContext::shade4_clamp: fix div by 0
James Zern [Thu, 10 Nov 2016 03:22:46 +0000 (19:22 -0800)]
LinearGradientContext::shade4_clamp: fix div by 0

getScaleX() may return 0; move division using it after a
SkScalarNearlyZero check and closer to its first use.

Change-Id: Ie209d46dc101213e20e90486651ee17570425bb8
Reviewed-on: https://skia-review.googlesource.com/4643
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years ago[nobuildbot] RecreateSKPs
Eric Boren [Tue, 15 Nov 2016 20:18:20 +0000 (15:18 -0500)]
[nobuildbot] RecreateSKPs

BUG=skia:

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

Change-Id: Idee05a4b1ea909c5dc1de2e9ebc8c2f9631c78e2
Reviewed-on: https://skia-review.googlesource.com/4836
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoRevert "Defer more renderTargetContexts in the GPU image filter paths"
Robert Phillips [Tue, 15 Nov 2016 22:17:22 +0000 (22:17 +0000)]
Revert "Defer more renderTargetContexts in the GPU image filter paths"

This reverts commit fd01ce05ef7902c49b0272b3524a389693c72b35.

Reason for revert: see if this is the cause of the Nexus7 assertion failure

Original change's description:
> Defer more renderTargetContexts in the GPU image filter paths
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767
>
> Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2
> Reviewed-on: https://skia-review.googlesource.com/4767
> Reviewed-by: Brian Salomon <bsalomon@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: I158f96ec1252481345fc5dca15086ffd4b47cb95
Reviewed-on: https://skia-review.googlesource.com/4875
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoMove the matrix stage of SkLinearBitmapPipeline over to using SkSmallAllocator.
herb [Tue, 15 Nov 2016 22:07:13 +0000 (14:07 -0800)]
Move the matrix stage of SkLinearBitmapPipeline over to using SkSmallAllocator.

The rest of the stages will follow. When all stages are completed,
this should significantly reduce stack use in the typical case.

This a step in removing the baroque stage system and moving towards
a SkRasterPipeline stage system.

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

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

7 years agoAdd SkRasterPipeline::dump().
Mike Klein [Tue, 15 Nov 2016 21:18:38 +0000 (16:18 -0500)]
Add SkRasterPipeline::dump().

Entirely for debugging.

TBR=herb@google.com

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

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

7 years agoadded support for push_constant layout
ethannicholas [Tue, 15 Nov 2016 20:53:05 +0000 (12:53 -0800)]
added support for push_constant layout

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

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

7 years agoAdd kRenderTarget_GrSurfaceFlag to GrVkGpu::onWrapBackendRenderTarget
Robert Phillips [Tue, 15 Nov 2016 19:46:09 +0000 (14:46 -0500)]
Add kRenderTarget_GrSurfaceFlag to GrVkGpu::onWrapBackendRenderTarget

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

Change-Id: I7f169d050c47c074cf63ef9b63fb7df8efdaed62
Reviewed-on: https://skia-review.googlesource.com/4868
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoAdd detection of image load/store to caps
Brian Salomon [Tue, 15 Nov 2016 19:05:01 +0000 (14:05 -0500)]
Add detection of image load/store to caps

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

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

7 years agoIgnore ctm param of SkShader::onAppendStages()
Florin Malita [Tue, 15 Nov 2016 19:38:43 +0000 (14:38 -0500)]
Ignore ctm param of SkShader::onAppendStages()

Clang 3.8.0:

../../include/core/SkShader.h:513:49: error: unused parameter 'ctm' [-Werror,-Wunused-parameter]
                                const SkMatrix& ctm) const {

R=mtklein@google.com

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

Change-Id: I242180cb33ad099b28b06654934029690da195ee
Reviewed-on: https://skia-review.googlesource.com/4867
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd image functions to GrGLInterface
Brian Salomon [Tue, 15 Nov 2016 17:36:29 +0000 (12:36 -0500)]
Add image functions to GrGLInterface

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

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

7 years agoAdd 4.20 as a GLSL output version.
Brian Salomon [Tue, 15 Nov 2016 18:26:08 +0000 (13:26 -0500)]
Add 4.20 as a GLSL output version.

GLSL 4.20 adds support for image functions which will be used in forthcoming changes.

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

Change-Id: I8cab511d95f04b45faaf916628148117b8be2128
Reviewed-on: https://skia-review.googlesource.com/4833
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
7 years agofuzz hang fix and pathops client debugging
Cary Clark [Tue, 15 Nov 2016 18:22:25 +0000 (13:22 -0500)]
fuzz hang fix and pathops client debugging

The ASAN fuzzer on chrome caught a hanging state.

To capture the data, allow the pathops client debugging
to run in a release build.

TBR=reed@google.com
BUG=665295

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

Change-Id: I6b2c2baabd63994f63aa730d2ee7828986b5ab89
Reviewed-on: https://skia-review.googlesource.com/4834
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoMore shader preliminaries / refactoring
Mike Klein [Tue, 15 Nov 2016 18:20:33 +0000 (13:20 -0500)]
More shader preliminaries / refactoring

    - thread through ctm
    - make blitter handle paint modulation instead of each shader

TBR=herb@google.com

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

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

7 years agoskpbench: fix parser script for bots
csmartdalton [Tue, 15 Nov 2016 16:57:15 +0000 (09:57 -0700)]
skpbench: fix parser script for bots

- emits the timings as numbers instead of strings.
- moves 'bench_type' and 'source_type' into the key.

BUG=skia:

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

Change-Id: Ibf98891e21c5d4c8a794c207e60d0df78d8a063c
Reviewed-on: https://skia-review.googlesource.com/4823
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoRevert "Support decoding images to multiple formats, depending on usage"
Brian Osman [Tue, 15 Nov 2016 18:07:26 +0000 (18:07 +0000)]
Revert "Support decoding images to multiple formats, depending on usage"

This reverts commit c73a1ecbed64652b3d7aa8dc6face9a2205ce830.

Reason for revert: ANGLE and CommandBuffer failures

Original change's description:
> Support decoding images to multiple formats, depending on usage
>
> Our codec generator will now preserve any asked-for color space, and
> convert the encoded data to that representation. Cacherator now
> allows decoding an image to both legacy (nullptr color space), and
> color-correct formats. In color-correct mode, we choose the best
> decoded format, based on the original properties, and our backend's
> capabilities. Preference is given to the native format, when it's
> already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer
> linear F16, and fall back to sRGB when that's not an option.
>
> BUG=skia:5907
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438
>
> Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0
> Reviewed-on: https://skia-review.googlesource.com/4438
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=mtklein@google.com,bsalomon@google.com,msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1818f937464573d601f64e5a1f1eb43f5a778f4e
Reviewed-on: https://skia-review.googlesource.com/4832
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRevert "Fix NoGPU compilation"
Brian Osman [Tue, 15 Nov 2016 18:06:18 +0000 (18:06 +0000)]
Revert "Fix NoGPU compilation"

This reverts commit d5a78805c5133bc55e07c5da21f8d72b91a3df4f.

Reason for revert: This was a patch for an earlier change that's going to be reverted as well.

Original change's description:
> Fix NoGPU compilation
>
> All of these functions were written to work without GPU support, just
> forgot to compile them in that situation.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796
>
> Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479
> Reviewed-on: https://skia-review.googlesource.com/4796
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Stan Iliev <stani@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Stan Iliev <stani@google.com>
>

TBR=egdaniel@google.com,brianosman@google.com,stani@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Id0b9db355f416c118c0ef95501a6cfdeb083b54e
Reviewed-on: https://skia-review.googlesource.com/4831
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRevert "While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD."
Mike Klein [Tue, 15 Nov 2016 17:58:33 +0000 (17:58 +0000)]
Revert "While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD."

This reverts commit 1ee70359a199f161ce38451989a706d727954cc1.

Reason for revert: breaking my various rolls.

Original change's description:
> While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.
>
> This trims the overhead down to a uniform 4 bytes.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4786
>
> Change-Id: I92127a0c2d6c23a4a372eca39842e22195d2dc99
> Reviewed-on: https://skia-review.googlesource.com/4786
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iae9ef553422352a1abf95b709fccd014d468da86
Reviewed-on: https://skia-review.googlesource.com/4829
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "fix google3?"
Mike Klein [Tue, 15 Nov 2016 17:57:48 +0000 (17:57 +0000)]
Revert "fix google3?"

This reverts commit ccb8e8bf38f51e35e0a456c6a724bab96d1b657a.

Reason for revert: rolling back a CL this attempted to fix.

Original change's description:
> fix google3?
>
> TBR=brianosman@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4822
>
> Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03
> Reviewed-on: https://skia-review.googlesource.com/4822
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I127165f065be45af98528c8ae825e2f0fe5c8b0d
Reviewed-on: https://skia-review.googlesource.com/4828
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoFix up arguments passed to pipeline.
Mike Klein [Tue, 15 Nov 2016 15:31:38 +0000 (10:31 -0500)]
Fix up arguments passed to pipeline.

  - Add half to (x,y) to get pixel centers.
  - The x updates were just totally wrong...

BUG=skia:

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

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

7 years agofix google3?
Mike Klein [Tue, 15 Nov 2016 16:56:56 +0000 (11:56 -0500)]
fix google3?

TBR=brianosman@google.com

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

Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03
Reviewed-on: https://skia-review.googlesource.com/4822
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agochange SkCanvasStack to take ownership of its subcanvases
Mike Reed [Tue, 15 Nov 2016 16:52:55 +0000 (11:52 -0500)]
change SkCanvasStack to take ownership of its subcanvases

Inspired by https://bugs.chromium.org/p/chromium/issues/detail?id=663959

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

Change-Id: I69f7ac73386bb7ca96778e2fec4cb2757b982a52
Reviewed-on: https://skia-review.googlesource.com/4799
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoFix NoGPU compilation
Brian Osman [Tue, 15 Nov 2016 15:55:12 +0000 (10:55 -0500)]
Fix NoGPU compilation

All of these functions were written to work without GPU support, just
forgot to compile them in that situation.

BUG=skia:

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

Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479
Reviewed-on: https://skia-review.googlesource.com/4796
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Stan Iliev <stani@google.com>

7 years agoWhile we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.
Mike Klein [Tue, 15 Nov 2016 15:26:44 +0000 (10:26 -0500)]
While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.

This trims the overhead down to a uniform 4 bytes.

BUG=skia:

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

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

7 years agoResurrect SkDebugger
Florin Malita [Tue, 15 Nov 2016 15:03:32 +0000 (10:03 -0500)]
Resurrect SkDebugger

Can't let go <sniffle>.

R=robertphillips@google.com

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

Change-Id: Ida5936d17af2ef60c3f50e27b4f4987a79165fa5
Reviewed-on: https://skia-review.googlesource.com/4793
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoSupport decoding images to multiple formats, depending on usage
Brian Osman [Mon, 14 Nov 2016 20:09:56 +0000 (15:09 -0500)]
Support decoding images to multiple formats, depending on usage

Our codec generator will now preserve any asked-for color space, and
convert the encoded data to that representation. Cacherator now
allows decoding an image to both legacy (nullptr color space), and
color-correct formats. In color-correct mode, we choose the best
decoded format, based on the original properties, and our backend's
capabilities. Preference is given to the native format, when it's
already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer
linear F16, and fall back to sRGB when that's not an option.

BUG=skia:5907

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

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

7 years agoDefer more renderTargetContexts in the GPU image filter paths
Robert Phillips [Mon, 14 Nov 2016 18:23:15 +0000 (13:23 -0500)]
Defer more renderTargetContexts in the GPU image filter paths

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

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

7 years agoStart each pipeline with (x,y) in (dr,dg) registers for the shader.
Mike Klein [Tue, 15 Nov 2016 13:52:04 +0000 (08:52 -0500)]
Start each pipeline with (x,y) in (dr,dg) registers for the shader.

Image shaders need to do some geometry work before sampling the image colors:
  1) determine dst coordinates
  2) map back to src coordinates
  3) tiling

Feeding (x,y) through as (dr,dg) registers makes step 1) easy, perhaps trivial, while leaving (r,g,b,a) with their usual meanings, "the color", starting with the paint color.

This is easy to tweak into something like (x+0.5, y+0.5, 1) in (dr,dg,db) once this lands.  Mostly I just want to get all the uninteresting boilerplate out of the way first.

BUG=skia:

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

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

7 years agoMake SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
herb [Tue, 15 Nov 2016 14:26:56 +0000 (06:26 -0800)]
Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.

The biggest change is to the API which allowed code to bypass the
destruction invariants. This destruction bypass feature was needed in
only one use, and is totally encapsulated using createWithIniterT.

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

Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449
Committed: https://skia.googlesource.com/skia/+/c18b5f8f57a4efc5d5d1e399ed8bd3bd02c592ab
Review-Url: https://codereview.chromium.org/2488523003

7 years ago[nobuildbot] Nexus 6p
Eric Boren [Tue, 15 Nov 2016 12:25:23 +0000 (07:25 -0500)]
[nobuildbot] Nexus 6p

BUG=skia:

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

Change-Id: I5049bd59eccfc3106991096652765b79c9dbaffd
Reviewed-on: https://skia-review.googlesource.com/4788
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoFix iOS builders.
Mike Klein [Mon, 14 Nov 2016 23:05:16 +0000 (18:05 -0500)]
Fix iOS builders.

Gyp... sigh.

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

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

7 years agoCatch width overflow in ASAN using int64
Yuqian Li [Mon, 14 Nov 2016 21:45:01 +0000 (16:45 -0500)]
Catch width overflow in ASAN using int64

This is related with our previous CL:
https://skia-review.googlesource.com/c/4628/

That previous CL fix won't pass the ASAN test (../../../include/core/SkRect.h:72:39: runtime error: signed integer overflow: 1 - -2147483648 cannot be represented in type 'int') so we use int64 in this CL.

BUG=skia:

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

Change-Id: I39f7329c427d49f4be07588f37120722ac9892c2
Reviewed-on: https://skia-review.googlesource.com/4785
Reviewed-by: Mike Reed <reed@google.com>
7 years agoFill in gamut-transformation TODOs for software pipeline.
Mike Klein [Mon, 14 Nov 2016 21:02:41 +0000 (16:02 -0500)]
Fill in gamut-transformation TODOs for software pipeline.

This adds support for paint colors, color shaders, and mode color filters (everything that the software pipeline supports today).

BUG=skia:

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

Change-Id: I6e5da6d0dba03fbc82ecaa233ce8c727e7ce17b3
Reviewed-on: https://skia-review.googlesource.com/4781
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoFix Sk4fLinearGradient initial interval pinning
Florin Malita [Mon, 14 Nov 2016 20:54:04 +0000 (15:54 -0500)]
Fix Sk4fLinearGradient initial interval pinning

For repeat/mirror mode, fx tiling needs to ensure the value doesn't
collapse to the open interval value due to float arithmetic.

Clamp to the next lower representable value.

BUG=skia:5955
R=reed@google.com

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

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

7 years agoTemporarily Disable analytic AA for Google3
Yuqian Li [Mon, 14 Nov 2016 20:42:58 +0000 (15:42 -0500)]
Temporarily Disable analytic AA for Google3

BUG=skia:

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

Change-Id: Iba7ea0a5aaaf3ba3821094c527ddc4fe4e32cb79
Reviewed-on: https://skia-review.googlesource.com/4782
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoAdd skpbench job
Kevin Lubick [Mon, 14 Nov 2016 18:42:27 +0000 (13:42 -0500)]
Add skpbench job

This entails a few parts:
1. Isolating tools/skpbench/ to be used by the perf task.

2. Adding skpbench to BUILD_PRODUCTS_ISOLATE_WHITELIST

3. Add recipe commands to run skpbench. While it is conceptually similar
to nanobench, it doesn't support images nor svgs, only skps, so we don't
need to copy those to devices or bring them in via CIPD.

4. Add recipe commands to parse skpbench output and upload to Perf.

5. Update gen_tasks.go to handle skpbench jobs and tasks.

BUG=skia:

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

Change-Id: I09bf0b078067279e138e95eca9316e55539ec735
Reviewed-on: https://skia-review.googlesource.com/4551
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoskpbench: skiaperf.py modifications
csmartdalton [Mon, 14 Nov 2016 18:35:02 +0000 (11:35 -0700)]
skpbench: skiaperf.py modifications

- Appends the clock and unit to the result type (e.g. "accum_cpu_ms").
- Removes the "options" key.
- Adds "bench_type" and "source_type" keys to the properties.

BUG=skia:

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

Change-Id: I2fd27eac4f42f443131fef6b1774f20e60571cd5
Reviewed-on: https://skia-review.googlesource.com/4737
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoCompute the correct dst->src rect for bitmap tiles in SkGpuDevice
Brian Salomon [Mon, 14 Nov 2016 19:41:58 +0000 (14:41 -0500)]
Compute the correct dst->src rect for bitmap tiles in SkGpuDevice

Use anisotropic scale to show bug in verylargebitmap test.

BUG=chromium:664615

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

Change-Id: If92eab6d26b9fb506670412a80df259f99db2a21
Reviewed-on: https://skia-review.googlesource.com/4774
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoStale visualize_color_gamut.cpp reference in tools.gyp
Florin Malita [Mon, 14 Nov 2016 19:29:00 +0000 (14:29 -0500)]
Stale visualize_color_gamut.cpp reference in tools.gyp

TBR=msarett@google.com

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

Change-Id: I6ca3379ca9578dc9a7f158a1a01b6a73bf301f17
Reviewed-on: https://skia-review.googlesource.com/4775
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRevert "Add IORef capability to GrSurfaceProxy objects"
Robert Phillips [Mon, 14 Nov 2016 19:29:24 +0000 (19:29 +0000)]
Revert "Add IORef capability to GrSurfaceProxy objects"

This reverts commit 286b96f876953c94c178e3abbeb4eab186ad1fef.

Reason for revert:

Failure on Mac Mini:

FAILURE: ../../../tests/ProxyRefTest.cpp:59 proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites

../../../tests/ProxyRefTest.cpp:64: fatal error: "assert(proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites)"

Original change's description:
> Add IORef capability to GrSurfaceProxy objects
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4734
>
> Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78
> Reviewed-on: https://skia-review.googlesource.com/4734
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

Change-Id: I5e1c201e027d4e9687b01f28a418b1884d3f9ece
Reviewed-on: https://skia-review.googlesource.com/4776
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoSet analytic AA as default.
liyuqian [Mon, 14 Nov 2016 19:17:16 +0000 (11:17 -0800)]
Set analytic AA as default.

We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
analytic AA until we fix all the Chrome tests.

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

Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8
Review-Url: https://codereview.chromium.org/2471133002

7 years agoAdd IORef capability to GrSurfaceProxy objects
Robert Phillips [Mon, 14 Nov 2016 18:31:14 +0000 (13:31 -0500)]
Add IORef capability to GrSurfaceProxy objects

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

Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78
Reviewed-on: https://skia-review.googlesource.com/4734
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRoll recipe DEPS
Eric Boren [Mon, 14 Nov 2016 17:18:34 +0000 (12:18 -0500)]
Roll recipe DEPS

BUG=skia:

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

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

7 years agoRemove accumulative snapping error
Yuqian Li [Mon, 14 Nov 2016 16:51:41 +0000 (11:51 -0500)]
Remove accumulative snapping error

BUG=skia:

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

Change-Id: Ie70bdc280c680c82f3b8a186466bf3a0835a9107
Reviewed-on: https://skia-review.googlesource.com/4769
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoRemove SkOSFile.cpp.
Ben Wagner [Mon, 14 Nov 2016 16:19:52 +0000 (11:19 -0500)]
Remove SkOSFile.cpp.

This file has been renamed SkOSPath.cpp and users no longer refer to the
old name. Remove this now empty file and its build rule.

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

7 years agoAdd new A2B color space test images
Matt Sarett [Mon, 14 Nov 2016 16:06:36 +0000 (11:06 -0500)]
Add new A2B color space test images

BUG=skia:

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

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

7 years agoProperly handle INT_MIN and related
Kevin Lubick [Mon, 14 Nov 2016 13:32:03 +0000 (08:32 -0500)]
Properly handle INT_MIN and related

BUG=skia:5967

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

Change-Id: Ie846560ebdaf11e1a5247842b3549ade1e100af2
Reviewed-on: https://skia-review.googlesource.com/4751
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoRemove static asserts for GrSLType and GrVertexAttribType enum values.
Brian Salomon [Mon, 14 Nov 2016 16:27:00 +0000 (11:27 -0500)]
Remove static asserts for GrSLType and GrVertexAttribType enum values.

Replaces with switch statements that will produce a compiler warning if a type is added and helper functions are not updated.

This also removes several unused helper functions for these enum types.

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

Change-Id: Iee6d8e5095dc4ba2488a8928bf60f8e903cd3320
Reviewed-on: https://skia-review.googlesource.com/4486
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoadded skslc to BUILD.gn
Ethan Nicholas [Mon, 14 Nov 2016 16:16:37 +0000 (11:16 -0500)]
added skslc to BUILD.gn

BUG=skia:

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

Change-Id: I89330cfa4be4d43d9183a8e53b28d6c0061f33e2
Reviewed-on: https://skia-review.googlesource.com/4764
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoGN: detect is_clang cheaply when possible.
Mike Klein [Sun, 13 Nov 2016 15:29:25 +0000 (10:29 -0500)]
GN: detect is_clang cheaply when possible.

Running is_clang.py is the current long-poll in `gn gen` time.
We can avoid it trivially in a few situations:
  - We always use Clang on Android, iOS, and Mac.
  - If cc and cxx are clang and clang++, it's Clang.

This cuts `gn gen` time from 80ms to 20ms on my laptop.

(Did you know gn has a --tracelog=trace.log option for creating Chrome-tracing-compatible traces?  Pretty neat.)

BUG=skia:

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

Change-Id: Ic81d221675e8309cc9942bb9e62243d86658b02d
Reviewed-on: https://skia-review.googlesource.com/4746
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoexperimental/xps_to_png: pass in DPI as program argument
Hal Canary [Mon, 14 Nov 2016 15:36:24 +0000 (10:36 -0500)]
experimental/xps_to_png: pass in DPI as program argument

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

7 years agoStart hooking shaders into SkRasterPipelineBlitter.
Mike Klein [Sat, 12 Nov 2016 15:29:26 +0000 (10:29 -0500)]
Start hooking shaders into SkRasterPipelineBlitter.

Here first just the simplest, constant-color shaders.

BUG=skia:

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

Change-Id: I92c6523660e21a1e2aa353524570230282ba5dfe
Reviewed-on: https://skia-review.googlesource.com/4743
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoStart plumbing deferral of GPU resources in the image filters
Robert Phillips [Thu, 10 Nov 2016 22:03:43 +0000 (17:03 -0500)]
Start plumbing deferral of GPU resources in the image filters

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

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

7 years agoApple's Clang can't assemble jsimd_arm_...
Mike Klein [Mon, 14 Nov 2016 14:16:32 +0000 (09:16 -0500)]
Apple's Clang can't assemble jsimd_arm_...

This should fix Build-Mac-Clang-arm64-Debug-GN_iOS_NoBuildbot.

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

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

7 years agoRevert "Always build the ANGLE test code. Always build ANGLE on windows and linux."
Mike Klein [Mon, 14 Nov 2016 14:53:13 +0000 (14:53 +0000)]
Revert "Always build the ANGLE test code. Always build ANGLE on windows and linux."

This reverts commit 238b820369c4b556c2e7c8277855e6950de3d9eb.

Reason for revert: breaks 32-bit bots, iOS bots, Google3 roll, -ASAN bot.

Original change's description:
> Always build the ANGLE test code. Always build ANGLE on windows and linux.
>
> Make ANGLE test code independent of having ANGLE lib. Make ANGLE test code not include EGL headers.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4040
>
> DOCS_PREVIEW= https://skia.org/?cl=4040
>
> Change-Id: I7b857e9785246743f53fb969647b1162ce7419ab
> Reviewed-on: https://skia-review.googlesource.com/4040
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

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

Change-Id: I19bab8c93baebf032f8a4cefbedfe7359317e806
Reviewed-on: https://skia-review.googlesource.com/4758
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAlways build the ANGLE test code. Always build ANGLE on windows and linux.
Brian Salomon [Fri, 11 Nov 2016 20:35:34 +0000 (15:35 -0500)]
Always build the ANGLE test code. Always build ANGLE on windows and linux.

Make ANGLE test code independent of having ANGLE lib. Make ANGLE test code not include EGL headers.

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

DOCS_PREVIEW= https://skia.org/?cl=4040

Change-Id: I7b857e9785246743f53fb969647b1162ce7419ab
Reviewed-on: https://skia-review.googlesource.com/4040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoDocumentation: move some things around
Hal Canary [Mon, 14 Nov 2016 13:29:46 +0000 (08:29 -0500)]
Documentation:  move some things around

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=4750

Change-Id: I0d1bc77a533ede8e0514ff0b680a5aa851051fc6
Reviewed-on: https://skia-review.googlesource.com/4750
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoMark inline functions in SkTypes.h as static.
Mike Klein [Mon, 14 Nov 2016 13:39:39 +0000 (08:39 -0500)]
Mark inline functions in SkTypes.h as static.

If these are not marked static (or SK_FORCE_INLINE) they become extremely dangerous to use from files built with different optimization flags than the baseline.  The One Definition Rule becomes trivially easy to violate, and the linker can easily pick a CPU-specific version of the function.

TBR=reed@google.com

BUG=chromium:664864

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

Change-Id: If3044a32229db1a1e3a8b83aace6047d92b36d05
Reviewed-on: https://skia-review.googlesource.com/4752
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoGN: turn on easy libjpeg-turbo SIMD backends (ARMv7 and ARMv8)
Mike Klein [Sun, 13 Nov 2016 13:52:07 +0000 (08:52 -0500)]
GN: turn on easy libjpeg-turbo SIMD backends (ARMv7 and ARMv8)

These are so easy we might as well...

I did a quick check of relevant-looking defines:
   - GYP defined WITH_SIMD, but it looks like that's already defined (by jconfig.h?);
   - GYP defined RGBX_FILLER_0XFF, but that affects only x86/x86-64;
   - GYP defined STRICT_MEMORY_ACCESS, which does nothing;
   - GYP defined MOTION_JPEG_SUPPORTED, which does nothing (and we'd probably not care anyway).

BUG=skia:5875

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

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

7 years agoRevert[2] "Change SkCanvas to *not* inherit from SkRefCnt"
Mike Reed [Sat, 12 Nov 2016 14:06:55 +0000 (08:06 -0600)]
Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt"

Changes over original:
- conditionalize ownership in SkPictureRecorder
- conditionalize ownership in SkCanvasStateUtils

This reverts commit b613c266df48cf45296ecc23d1bd7098c84bb7ba.

BUG=skia:

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

Change-Id: Ib25514d6f546c69b6650b5c957403b04f7380dc2
Reviewed-on: https://skia-review.googlesource.com/4742
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>