platform/upstream/libSkiaSharp.git
7 years agocacherator upscales colortables to unify caching
Mike Reed [Fri, 7 Apr 2017 16:04:23 +0000 (12:04 -0400)]
cacherator upscales colortables to unify caching

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

7 years agoSkMultiPictureDocument : clean up MultiPictureDocumentReader interface
Hal Canary [Mon, 3 Apr 2017 20:06:42 +0000 (16:06 -0400)]
SkMultiPictureDocument : clean up MultiPictureDocumentReader interface

Motivation:  We may want to make SkMultiPictureDocument.h public in the
future.

Change-Id: Ie97b88d51a179c2283155d65bcadee32178115ca
Reviewed-on: https://skia-review.googlesource.com/11402
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoMake GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)
Robert Phillips [Fri, 7 Apr 2017 14:08:53 +0000 (10:08 -0400)]
Make GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)

Reland of: https://skia-review.googlesource.com/c/11325/ (Make GrCopySurfaceOp friendlier to GrSurfaceProxy)

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

7 years agoSimplify subset computation in SkGifImageReader
Leon Scroggins III [Fri, 7 Apr 2017 14:20:53 +0000 (10:20 -0400)]
Simplify subset computation in SkGifImageReader

If xOffset or yOffset was not zero, these computations would not
be evaluated anyway, so no need to add zero for these comparisons.

(Split off from CL 9810)

Change-Id: I8481eb257d96766696945cef4eafaff4281fb7d9
Reviewed-on: https://skia-review.googlesource.com/11782
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agostop disabling threadsafe statics
Mike Klein [Fri, 7 Apr 2017 03:04:42 +0000 (23:04 -0400)]
stop disabling threadsafe statics

Chrome's got threadsafe statics, Android too, Flutter too, and heck, we even have them on all our Windows builds.  No one responded to my mail about them.  Let's stop turning them off on not-Windows!

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

7 years agoFix missing valgrind.supp in recipe-bundled tasks
Eric Boren [Fri, 7 Apr 2017 14:06:20 +0000 (10:06 -0400)]
Fix missing valgrind.supp in recipe-bundled tasks

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

7 years agoAdd ChromeOS Test/Perf jobs and recipe changes
Kevin Lubick [Fri, 7 Apr 2017 14:04:08 +0000 (10:04 -0400)]
Add ChromeOS Test/Perf jobs and recipe changes

Minor cleanup of left over Tab3 tests.

Bug: skia:6442
Change-Id: I03bb4a034101a2773619abd2be7a300a70f6ac3d
Reviewed-on: https://skia-review.googlesource.com/11414
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoSkTypeface_win_dw: populate_glyph_to_unicode uses lowest unichar
Hal Canary [Fri, 7 Apr 2017 02:26:56 +0000 (22:26 -0400)]
SkTypeface_win_dw: populate_glyph_to_unicode uses lowest unichar

BUG=chromium:538133
BUG=chromium:359065
Change-Id: I8208efc63579e0f1ebb77680beae2cd08cdba547
Reviewed-on: https://skia-review.googlesource.com/11681
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agosimplify SkRRect serialization
Mike Klein [Fri, 7 Apr 2017 02:34:59 +0000 (22:34 -0400)]
simplify SkRRect serialization

I think this happens to fix the particular issue in the attached bug.
memcpy() is kind of the swiss army knife as far as strict aliasing is
concerned... you're always allowed to use it.

The generated code for writeToMemory() is unchanged, and
readFromMemory() gets a bit better looking.

BUG=skia:5105

Change-Id: Ib5bf96600f1138650c004ced2d696e9a4ba83ca7
Reviewed-on: https://skia-review.googlesource.com/11682
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoTry disabling MSAN workarounds in SkJpegCodec
Mike Klein [Fri, 7 Apr 2017 01:48:16 +0000 (21:48 -0400)]
Try disabling MSAN workarounds in SkJpegCodec

I don't think we've tried this since switching to GN,
where we decided to just go with jsimd_none.c on all x86 bots.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

BUG=skia:4550

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

7 years agoReland: Use bundled recipes for all test/perf tasks
Eric Boren [Fri, 7 Apr 2017 12:31:22 +0000 (08:31 -0400)]
Reland: Use bundled recipes for all test/perf tasks

It won't save as much time for faster machines, but it should still
shave a few seconds, and it'll be nice to be consistent.

Bug: skia:
Change-Id: I0b2aa010579b527c66325cb5b691bfb549b31316
Reviewed-on: https://skia-review.googlesource.com/11418
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agojumper, gather_f16
Mike Klein [Fri, 7 Apr 2017 00:02:11 +0000 (20:02 -0400)]
jumper, gather_f16

Here we use 64-bit gather instructions for HSW,
which I think we haven't done before.

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

7 years agojumper, gather_i8
Mike Klein [Thu, 6 Apr 2017 21:53:18 +0000 (17:53 -0400)]
jumper, gather_i8

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

7 years agoUpdate stencil ops to have a parallel proxyID
Robert Phillips [Thu, 6 Apr 2017 15:08:40 +0000 (11:08 -0400)]
Update stencil ops to have a parallel proxyID

Change-Id: I842c7f2011c8b9d4487cec4349de8b77f326a381
Reviewed-on: https://skia-review.googlesource.com/11360
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agojumper, more gathers
Mike Klein [Thu, 6 Apr 2017 20:32:29 +0000 (16:32 -0400)]
jumper, more gathers

This is all the gathers except index 8 and f16, which aren't conceptually hard
but I want to land separately.

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

7 years agoRevert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"
Robert Phillips [Thu, 6 Apr 2017 21:17:15 +0000 (21:17 +0000)]
Revert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"

This reverts commit d7cda9a6f050c30e65b0744b3cfb45cecdc40834.

Reason for revert: Tegra3!!!!

Original change's description:
> Make GrCopySurfaceOp friendlier to GrSurfaceProxy
>
> Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de
> Reviewed-on: https://skia-review.googlesource.com/11325
> 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: Idc31d469d94e6e2772ee5714987b3a05bb902d88
Reviewed-on: https://skia-review.googlesource.com/11580
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoSpecialize boxBlur(Interp) based on 'transpose' parameter
Hans Wennborg [Wed, 5 Apr 2017 22:06:30 +0000 (15:06 -0700)]
Specialize boxBlur(Interp) based on 'transpose' parameter

boxBlurInterp showed up hot when running Speedometer. I noticed that
BoxBlur calls boxBlurInterp repeatedly, the call does not get inlined,
and the function could be simplified a bit if 'transpose' is a
compile-time constant.

In particular, dst_x_stride or dst_y_stride now become a constant 1,
which simplifies the dptr updates.

Bug: skia:none
Change-Id: I8782e5b133a2195328e13878aca8a749af150b86
Reviewed-on: https://skia-review.googlesource.com/11362
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Manual revert: Add support for writing ICC profiles to webp encoder"
Matt Sarett [Thu, 6 Apr 2017 20:34:38 +0000 (20:34 +0000)]
Revert "Manual revert: Add support for writing ICC profiles to webp encoder"

This reverts commit 4293a1e5f259cf12560d6e794c1a05ad4dbc0b32.

Reason for revert: Relanding, libwebp updated in Android master

Original change's description:
> Manual revert: Add support for writing ICC profiles to webp encoder
>
> Bug: skia:
> Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721
> Reviewed-on: https://skia-review.googlesource.com/11444
> Reviewed-by: Matt Sarett <msarett@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

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

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

7 years agojumper, gather_8888
Mike Klein [Thu, 6 Apr 2017 19:04:05 +0000 (15:04 -0400)]
jumper, gather_8888

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

7 years agoMake GrCopySurfaceOp friendlier to GrSurfaceProxy
Robert Phillips [Thu, 6 Apr 2017 15:18:49 +0000 (11:18 -0400)]
Make GrCopySurfaceOp friendlier to GrSurfaceProxy

Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de
Reviewed-on: https://skia-review.googlesource.com/11325
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agotweaks to make gather_* easier in SkJumper
Mike Klein [Thu, 6 Apr 2017 19:14:58 +0000 (15:14 -0400)]
tweaks to make gather_* easier in SkJumper

This moves all the values that gather_8888, gather_a8, etc. need to
the front of SkImageShaderContext, and dereferences the color table.

This should be a no-op, but will make these stages easier to write
in SkJumper.

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

7 years agojumper, turn off a few fancy features
Mike Klein [Thu, 6 Apr 2017 17:44:03 +0000 (13:44 -0400)]
jumper, turn off a few fancy features

This doesn't change any of the generated .S files, but it does cut a few
misc. sections from the intermediate .o files.  It's nice to get those
sections out of the way, and one day we might be able to find ways to
cut everything but .text... that'd allow us to switch the supicious
section sniffing code from a blacklist (no .const, no .literal, etc.) to
a more foolproof whitelist (.text or bust).

The remaining sections are only in ELF objects (aarch64.o, vfp4.o):
   .comment         (notes the version of Clang/LLVM that compiled it)
   .note.GNU-stack  (we manually add this back in build_stages.py)
and vfp4.o has two more sections that I don't understand yet:
   .ARM.exidx       (I'd have thought -fno-unwind-tables would cut this)
   .ARM.attributes

While doing this, I've tried to make the ARM flags a bit more compact.

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

7 years agomake copyTo_with_allocator android only
Mike Reed [Thu, 6 Apr 2017 18:03:25 +0000 (14:03 -0400)]
make copyTo_with_allocator android only

Bug: skia:6464

Change-Id: I3d95daae2ae854671e6231e62f200913ce3586d0
Reviewed-on: https://skia-review.googlesource.com/11486
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoCommit the patch before bundling recipes
Eric Boren [Thu, 6 Apr 2017 17:28:16 +0000 (13:28 -0400)]
Commit the patch before bundling recipes

This was part of https://skia-review.googlesource.com/c/11340/ but split
out before relanding.

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

7 years agoFactor out common work in readSurfacePixels and writeSurfacePixels
Brian Osman [Thu, 6 Apr 2017 14:19:06 +0000 (10:19 -0400)]
Factor out common work in readSurfacePixels and writeSurfacePixels

Use more consistent structure between the two functions.

BUG=skia:5853

Change-Id: I82465bee30025574d0d6fad9e287b187d75fff8d
Reviewed-on: https://skia-review.googlesource.com/10042
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agohandle odd-index-count in encode/decode
Mike Reed [Wed, 5 Apr 2017 21:05:16 +0000 (17:05 -0400)]
handle odd-index-count in encode/decode

Bug: skia:
Change-Id: Iffb123001a77049c6581f63bbc69c62f241a87f8
Reviewed-on: https://skia-review.googlesource.com/11405
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agofix 36605271
Cary Clark [Thu, 6 Apr 2017 15:55:16 +0000 (11:55 -0400)]
fix 36605271

typo in function header makes it appear
that a buffer overflow may occur

R=djsollen@google.com

Bug: b/36605271
Change-Id: Iab6d08ae71f49c46736dc025791faefdeb74df5e
Reviewed-on: https://skia-review.googlesource.com/11454
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRevert "Remove CPU dimension for Win GCE bots"
Eric Boren [Thu, 6 Apr 2017 17:32:44 +0000 (17:32 +0000)]
Revert "Remove CPU dimension for Win GCE bots"

This reverts commit 25bf350d1096622e10cb9d244705c91ed309f8e6.

Reason for revert: Speculatively reverting to see if this unsticks try jobs.

Original change's description:
> Remove CPU dimension for Win GCE bots
>
> This is mainly to collapse the two groups on the capacity stats page.
>
> Bug: skia:
> Change-Id: Icc125f6fa773ebf11909b0606bc7958146da5983
> Reviewed-on: https://skia-review.googlesource.com/11417
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
>

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

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

7 years agojumper, add load_f32()
Mike Klein [Thu, 6 Apr 2017 14:22:26 +0000 (10:22 -0400)]
jumper, add load_f32()

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

7 years agojumper, kill off F4
Mike Klein [Wed, 5 Apr 2017 21:29:26 +0000 (17:29 -0400)]
jumper, kill off F4

Its alignment (sometimes 4, sometimes 16) has proven to be error-prone.

This also means we don't really need LazyCtx::load().

I think I only had it there to make sure we were doing unaligned loads
of F4; the better way is to just never declare the data as aligned...

The generated code isn't quite as good, but I can live with it.

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

7 years agojumper, only print non-zero counts
Mike Klein [Thu, 6 Apr 2017 14:17:11 +0000 (10:17 -0400)]
jumper, only print non-zero counts

This makes it easier for me to read.

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

7 years agoManual revert: Add support for writing ICC profiles to webp encoder
Matt Sarett [Thu, 6 Apr 2017 13:50:47 +0000 (09:50 -0400)]
Manual revert: Add support for writing ICC profiles to webp encoder

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

7 years agoAdd Windows tester to the CQ
Eric Boren [Thu, 6 Apr 2017 13:42:29 +0000 (09:42 -0400)]
Add Windows tester to the CQ

This will likely be followed up by an increase in number
of Win VMs.

Bug: skia:6462
Change-Id: If22d934c43c57d4ad3a20730e91caed0d4848cd4
Reviewed-on: https://skia-review.googlesource.com/11440
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRemove CPU dimension for Win GCE bots
Eric Boren [Thu, 6 Apr 2017 13:07:04 +0000 (09:07 -0400)]
Remove CPU dimension for Win GCE bots

This is mainly to collapse the two groups on the capacity stats page.

Bug: skia:
Change-Id: Icc125f6fa773ebf11909b0606bc7958146da5983
Reviewed-on: https://skia-review.googlesource.com/11417
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoDo nondeterministic FP testing on iOS
Brian Osman [Wed, 5 Apr 2017 20:35:53 +0000 (16:35 -0400)]
Do nondeterministic FP testing on iOS

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

7 years agoRevert "SpecialImageTest no longer fails on GalaxyS6."
Ben Wagner [Thu, 6 Apr 2017 13:44:16 +0000 (13:44 +0000)]
Revert "SpecialImageTest no longer fails on GalaxyS6."

This reverts commit 093cb35807b20c6571874e5f8621bef5e9524b81.

Reason for revert: Not sure why, but it's failing again today.

Original change's description:
> SpecialImageTest no longer fails on GalaxyS6.
>
> BUG=skia:6338
> NOTRY=true
>
> Change-Id: Ie7305f654e9f818dc31cb49eba2e7bf4000a36f9
> Reviewed-on: https://skia-review.googlesource.com/11411
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
>

TBR=benjaminwagner@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6338

Change-Id: I1e07c74d37682df42023e3b52924f9a29da2cccb
Reviewed-on: https://skia-review.googlesource.com/11441
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoremove legacy vertices flag and code
Mike Reed [Wed, 5 Apr 2017 18:01:25 +0000 (14:01 -0400)]
remove legacy vertices flag and code

Bug: skia:6366
Change-Id: Ibea5f71c5ff570e4f3ccec7d064893602c3335cf
Reviewed-on: https://skia-review.googlesource.com/11359
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoremove SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF flag and code
Mike Reed [Wed, 5 Apr 2017 20:39:19 +0000 (16:39 -0400)]
remove SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF flag and code

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

7 years agoRevert "Use bundled recipes on all Test/Perf tasks"
Eric Boren [Thu, 6 Apr 2017 12:53:31 +0000 (12:53 +0000)]
Revert "Use bundled recipes on all Test/Perf tasks"

This reverts commit 43b9c6bbf66b0927a99062c68dff9ea8358f82db.

Reason for revert: Windows failing

Original change's description:
> Use bundled recipes on all Test/Perf tasks
>
> It won't save as much time for faster machines, but it should still
> shave a few seconds, and it'll be nice to be consistent.
>
> Bug: skia:5813
> Change-Id: I5724e7aae83851edff3129265a9ffee5c3f95825
> Reviewed-on: https://skia-review.googlesource.com/11340
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
>

TBR=borenet@google.com,kjlubick@google.com,reviews@skia.org,iannucci@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

7 years agoadd guard for obsolete (non-functioning) replayClips
Mike Reed [Wed, 5 Apr 2017 20:21:47 +0000 (16:21 -0400)]
add guard for obsolete (non-functioning) replayClips

replayClips has been disabled (broken) for a while.
This CL just attempts to hide the api (will remove
once android's callsite is removed)

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

7 years agoRm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 3)
Robert Phillips [Thu, 6 Apr 2017 11:59:41 +0000 (07:59 -0400)]
Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 3)

This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.

This is a re-reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv)

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

7 years agoUse bundled recipes on all Test/Perf tasks
Eric Boren [Thu, 6 Apr 2017 11:53:30 +0000 (07:53 -0400)]
Use bundled recipes on all Test/Perf tasks

It won't save as much time for faster machines, but it should still
shave a few seconds, and it'll be nice to be consistent.

Bug: skia:5813
Change-Id: I5724e7aae83851edff3129265a9ffee5c3f95825
Reviewed-on: https://skia-review.googlesource.com/11340
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoSpecialImageTest no longer fails on GalaxyS6.
Ben Wagner [Thu, 6 Apr 2017 02:10:06 +0000 (22:10 -0400)]
SpecialImageTest no longer fails on GalaxyS6.

BUG=skia:6338
NOTRY=true

Change-Id: Ie7305f654e9f818dc31cb49eba2e7bf4000a36f9
Reviewed-on: https://skia-review.googlesource.com/11411
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoUpdate MotoG4 to NPJ25.93-14.
Ben Wagner [Thu, 6 Apr 2017 01:55:01 +0000 (21:55 -0400)]
Update MotoG4 to NPJ25.93-14.

NOTRY=true
BUG=skia:6453

Change-Id: Ie8c35643c7e038f64f03d95e1f8d58ba748d4a52
Reviewed-on: https://skia-review.googlesource.com/10754
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoFix the size check for the drawBitmap fast-path in SkBitmapDevice::drawBitmapRect...
lsalzman [Thu, 6 Apr 2017 04:42:54 +0000 (21:42 -0700)]
Fix the size check for the drawBitmap fast-path in SkBitmapDevice::drawBitmapRect. It would fail when the source rectangle had a non-zero offset, in which case it would compare the source rectangle with the offset to the extracted bitmap size, which always fails. The only thing that should matter is that the source rectangle and extract bitmap have the same size, since the offset gets added onto the matrix.

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

Review-Url: https://codereview.chromium.org/2089583002
Committed: https://skia.googlesource.com/skia/+/ea9bc0c07b5dae78a9a449d7d7a07fc79262d41a
Review-Url: https://codereview.chromium.org/2089583002

7 years agoFix gather_uninteresting_hashes()
Mike Klein [Wed, 5 Apr 2017 22:04:31 +0000 (18:04 -0400)]
Fix gather_uninteresting_hashes()

It can crash when the file length is an exact multiple of the page size.

When the file size is not an exact page size multiple,
SkData::MakeFromFileName() (i.e. mmap) happens to fill the rest with \0,
giving us a terminating \0 for free.  SkStrSplit() uses this to stop.

When the file size is an exact page size multiple, there's no guaranteed
\0.  We might find one on the next page immediately, eventually, or we
might just segfault.  Whoops.

To fix, copy to an SkString which ought to plop in a \0 for us.

Change-Id: I51bbfdd85dfbb1c2276249d0255cf1c410ef9999
Reviewed-on: https://skia-review.googlesource.com/11409
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkImageEncoder: Be more lenient on inputs
Matt Sarett [Wed, 5 Apr 2017 21:36:04 +0000 (17:36 -0400)]
SkImageEncoder: Be more lenient on inputs

(1) Some clients want us to write ICC profiles, even though they
    have not opted into linear unpremultiplication.  This CL allows
    that behavior.

(2) We should not assert that the transfer function must be linear
    or srgb.  Particularly in non-linear blending modes, skia is
    willing to support a larger set of transfer functions.

(3) We still need to require linear or srgb when in kRespect transfer
    function mode.  We have not yet implemented linear unpremultiplies
    for arbitrary transfer functions.

Bug: skia:
Change-Id: Idce9f07c3d36eca4d78ede5e2650b2cab412904c
Reviewed-on: https://skia-review.googlesource.com/11349
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoRevert "Revert "Add support for writing ICC profiles to webp encoder""
Matt Sarett [Wed, 5 Apr 2017 22:33:22 +0000 (22:33 +0000)]
Revert "Revert "Add support for writing ICC profiles to webp encoder""

This reverts commit e87d7781db75a7ec22a103eda0886c2ca8dc4d9d.

Reason for revert: Not the cause of the crashes.

Original change's description:
> Revert "Add support for writing ICC profiles to webp encoder"
>
> This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28.
>
> Reason for revert: Looks like it's breaking a number of bots.
>
> Original change's description:
> > Add support for writing ICC profiles to webp encoder
> >
> > Bug: skia:
> > Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab
> > Reviewed-on: https://skia-review.googlesource.com/10212
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Reviewed-by: Leon Scroggins <scroggo@google.com>
> >
>
> TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb
> Reviewed-on: https://skia-review.googlesource.com/11408
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
>

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

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

7 years agoFix MSAN error in test
Matt Sarett [Wed, 5 Apr 2017 21:31:07 +0000 (17:31 -0400)]
Fix MSAN error in test

Bug: skia:
Change-Id: I27afd02b3383e259101a856630d04566fdf7a994
Reviewed-on: https://skia-review.googlesource.com/11407
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRevert "Add support for writing ICC profiles to webp encoder"
Jim Van Verth [Wed, 5 Apr 2017 21:56:10 +0000 (21:56 +0000)]
Revert "Add support for writing ICC profiles to webp encoder"

This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28.

Reason for revert: Looks like it's breaking a number of bots.

Original change's description:
> Add support for writing ICC profiles to webp encoder
>
> Bug: skia:
> Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab
> Reviewed-on: https://skia-review.googlesource.com/10212
> Commit-Queue: Matt Sarett <msarett@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
>

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

Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb
Reviewed-on: https://skia-review.googlesource.com/11408
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agorestore old api for android to unblock roll
Mike Reed [Wed, 5 Apr 2017 21:17:16 +0000 (17:17 -0400)]
restore old api for android to unblock roll

Bug: skia:
Change-Id: Ib115666503784b928f44f04878ed06a5aa844e6e
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/11420
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoAdd support for writing ICC profiles to webp encoder
Matt Sarett [Wed, 5 Apr 2017 20:52:00 +0000 (16:52 -0400)]
Add support for writing ICC profiles to webp encoder

Bug: skia:
Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab
Reviewed-on: https://skia-review.googlesource.com/10212
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agojumper, to_2dot2 and from_2dot2
Mike Klein [Wed, 5 Apr 2017 19:27:22 +0000 (15:27 -0400)]
jumper, to_2dot2 and from_2dot2

Nothing too tricky here.

Change-Id: I2a10548efc75a6fd875fcb242790880d9b9a28fd
Reviewed-on: https://skia-review.googlesource.com/11388
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoFix various SkBitmap::copyTo() bugs
Matt Sarett [Wed, 5 Apr 2017 19:41:53 +0000 (15:41 -0400)]
Fix various SkBitmap::copyTo() bugs

I believe that the best fix is to move this entire function into the
framework and call SkPixmap::readPixels() from there.  Given that,
we have already branched, I think this is the simplest fix.

(1) We never added F16 support.  Enable F16.  This involves assigning
    color spaces to src and dst pixmaps so that the conversion makes
    sense.
(2) SkPixmap::readPixels() does not support parametric transfer
    functions.  Fortunately, the framework never uses copyTo() to
    do color space conversions.  We should at least support the
    case where the src color space matches the dst color space.

Bug: skia:
Change-Id: I129b7c02249eed34a9ec4aa0ca736aadccc19777
Reviewed-on: https://skia-review.googlesource.com/11387
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoremove trace and registers stages
Mike Klein [Wed, 5 Apr 2017 19:17:36 +0000 (15:17 -0400)]
remove trace and registers stages

These can't really be done with SkJumper.

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

7 years agojumper, load_u16_be and store_u16_be
Mike Klein [Wed, 5 Apr 2017 18:45:02 +0000 (14:45 -0400)]
jumper, load_u16_be and store_u16_be

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

7 years agoRevert "Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv...
Robert Phillips [Wed, 5 Apr 2017 18:56:21 +0000 (18:56 +0000)]
Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)"

This reverts commit aaee31f18c0845417103d84285e365575def3c40.

Reason for revert: possible valgrind leak

Original change's description:
> Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)
>
> This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.
>
> This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv)
>
> Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148
> Reviewed-on: https://skia-review.googlesource.com/11326
> 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: Ia0b92bf6402cb5f9607310d356f43bff2e3e75eb
Reviewed-on: https://skia-review.googlesource.com/11361
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoDelete SkPixelRef::readPixels()
Matt Sarett [Wed, 5 Apr 2017 17:36:08 +0000 (13:36 -0400)]
Delete SkPixelRef::readPixels()

Nobody calls this or overrides this.

Bug: skia:
Change-Id: I6235e4c7bcdc45523ce7f63842635c79e00d2dc4
Reviewed-on: https://skia-review.googlesource.com/11357
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoremove android legacy flags
Mike Reed [Wed, 5 Apr 2017 14:30:54 +0000 (10:30 -0400)]
remove android legacy flags

relies on https://googleplex-android-review.git.corp.google.com/#/c/2060523/ landing first

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

7 years agoRefactor Vulkan support to support Fuchsia
Michael Jurka [Wed, 5 Apr 2017 16:52:55 +0000 (09:52 -0700)]
Refactor Vulkan support to support Fuchsia

- Refactor runtime lookup of Vulkan functions
- Support Magma surfaces
- Add build flags to toggle Vulkan support

BUG=skia:

Change-Id: Ic71965c453507882521443006c4155c7481a9a3f
Reviewed-on: https://skia-review.googlesource.com/9342
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Jurka <mikejurka@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUse the rounded text size for gasp.
Ben Wagner [Wed, 5 Apr 2017 15:40:41 +0000 (11:40 -0400)]
Use the rounded text size for gasp.

When comparing against gasp ranges always use the rounded (gdi) size.
Previously the truncated size was used, but it appears other
implementations are using the rounded size.

BUG=chromium:706693

Change-Id: I185cdf5b905261038e5150a04eef1b99bf73d875
Reviewed-on: https://skia-review.googlesource.com/11354
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agohide most details of SkPatchUtils
Mike Reed [Wed, 5 Apr 2017 15:06:15 +0000 (11:06 -0400)]
hide most details of SkPatchUtils

relies on https://googleplex-android-review.git.corp.google.com/#/c/2060523/ landing first

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

7 years agoRemove texture sampling from GrConfigConversionEffect
Brian Osman [Wed, 5 Apr 2017 14:09:00 +0000 (10:09 -0400)]
Remove texture sampling from GrConfigConversionEffect

Elevates default precision for the entire fragment program
to maintain precision on some ES implementations.

Re-land fixed version of:
  https://skia-review.googlesource.com/10026/
  https://skia-review.googlesource.com/10056

BUG=skia:

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

7 years agoRm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)
Robert Phillips [Wed, 5 Apr 2017 16:18:58 +0000 (12:18 -0400)]
Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)

This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.

This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv)

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

7 years agoMove iOS app packaging to the cloud
Stephan Altmueller [Wed, 5 Apr 2017 15:45:52 +0000 (11:45 -0400)]
Move iOS app packaging to the cloud

This moves the signing and packaging of
ios apps from the host that drives the device
to the cloud machine where the app is built.
This is in preparation of moving to Raspberry Pi
hosts.

BUG=skia:5331

Change-Id: I4918272a6c734f5344351f0726b7721fde042234
Reviewed-on: https://skia-review.googlesource.com/9906
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd SkImage::makeColorSpace() to public API
Matt Sarett [Wed, 5 Apr 2017 15:41:27 +0000 (11:41 -0400)]
Add SkImage::makeColorSpace() to public API

Gives Chrome the flexibility to xform and cache
SkImages before they reach the
SkColorSpaceXformCanvas.

Bug: skia:
Change-Id: I1f188f385b953b5a958c15578ea66deffb4dc6c5
Reviewed-on: https://skia-review.googlesource.com/11290
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoAvoid trans-coding images with gamma 2.2
Brian Osman [Wed, 5 Apr 2017 15:26:02 +0000 (11:26 -0400)]
Avoid trans-coding images with gamma 2.2

Previously, these were decoded "AsIs". That feature went away (for
simplicity). Unfortunately, that means that images with gamma 2.2 were
being asked to decode to sRGB, incurring a costly (and destructive)
conversion.

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

7 years agoDelete SkPixelRefFactory
Matt Sarett [Tue, 4 Apr 2017 14:18:33 +0000 (10:18 -0400)]
Delete SkPixelRefFactory

No one seems to be using this.

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

7 years agofinish up load4/store4 refactoring
Mike Klein [Wed, 5 Apr 2017 14:18:27 +0000 (10:18 -0400)]
finish up load4/store4 refactoring

I saved the easiest for last.  No generated code diff for store_f32.
This just moves the platform-specific code over to SkJumper_vectors.h

Also clarify types in the existing load4()/store4() functions.

SkJumper_stages.cpp looks good to start growing again!

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

7 years agoAllow FPs to elevate default precision for the entire fragment program
Brian Osman [Wed, 5 Apr 2017 13:26:15 +0000 (09:26 -0400)]
Allow FPs to elevate default precision for the entire fragment program

Currently, GrConfigConversionEffect is able to round-trip on many
mobile GPUs because it uses highp for all intermediate variables
(including the texture fetch result). Separating the texture sample
into a different processor breaks that.

This is a blunt instrument, not to be used lightly.

This reverts commit dffe9827b18444d1426859d9035f9f0087201f44.

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

7 years agoChange PRESUBMIT.py to use [Get|Update]DescriptionLines
Eric Boren [Mon, 3 Apr 2017 12:30:35 +0000 (08:30 -0400)]
Change PRESUBMIT.py to use [Get|Update]DescriptionLines

This should fix the "git cl upload" failures on the recipe roller.

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

7 years agoRevert "Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv"
Robert Phillips [Wed, 5 Apr 2017 12:45:52 +0000 (12:45 +0000)]
Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv"

This reverts commit fb0bd98a43fa11e09705837418167dd72bb4a361.

Reason for revert: ANGLE failures

Original change's description:
> Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv
>
> This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.
>
> Change-Id: If57a7de47edc0853dae7bc61337d9acdc03d63b0
> Reviewed-on: https://skia-review.googlesource.com/11200
> 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: I7241070dc1f9df47181061e07adab141f9857974
Reviewed-on: https://skia-review.googlesource.com/11324
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoremove SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION
Mike Reed [Wed, 5 Apr 2017 11:55:55 +0000 (07:55 -0400)]
remove SK_SUPPORT_LEGACY_PAINT_TEXTDECORATION

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

7 years agoRm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv
Robert Phillips [Tue, 4 Apr 2017 20:50:22 +0000 (16:50 -0400)]
Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv

This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.

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

7 years agoRemove Tab3 from pool
Kevin Lubick [Wed, 5 Apr 2017 11:45:18 +0000 (07:45 -0400)]
Remove Tab3 from pool

This device is rather old and was continuously failing anyway.

Bug: skia:
NOTRY=true
Change-Id: Ifd0bed7ded76c805993973f835c1d11f35802d00
Reviewed-on: https://skia-review.googlesource.com/11341
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoAdd recipe to build for Asus Flip Chromebook
Kevin Lubick [Wed, 5 Apr 2017 11:32:45 +0000 (07:32 -0400)]
Add recipe to build for Asus Flip Chromebook

This build includes the GPU-specific code (EGL, GLES)

The armhf_sysroot should be generic enough to support
other ARM targets, like the Raspberry Pi.

I split out the EGL dependencies into their own CIPD package
(chromebook_c100p_lib) to facilitate the modularity of the approach.

When we add another ARM chromebook, maybe one that has different libraries,
we should be able to re-use armhf_sysroot and then a newly created CIPD asset for
that specific GPU (if needed).

Maybe this also can be used to build for the chromecasts (thus the TODO)

Bug: skia:
NOTRY=true

Change-Id: Icc131025932dc8d41da5be39f3c5cad0aa95d848
Reviewed-on: https://skia-review.googlesource.com/11064
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoremove legacy canvas helpers
Mike Reed [Wed, 5 Apr 2017 09:49:12 +0000 (05:49 -0400)]
remove legacy canvas helpers

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

7 years agoremove g3 flag
Mike Reed [Wed, 5 Apr 2017 10:17:50 +0000 (06:17 -0400)]
remove g3 flag

Bug: skia:
Change-Id: Ibe44bb816118e6bc61530c4b8d4ba83f24f72f0f
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/11322
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoRevert incorrect change to GrCoverageSetOp test factory
Brian Salomon [Tue, 4 Apr 2017 23:04:00 +0000 (19:04 -0400)]
Revert incorrect change to GrCoverageSetOp test factory

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

7 years agoSupport Canvas Clip on Blit Framebuffer
Eric Karl [Tue, 4 Apr 2017 20:42:10 +0000 (13:42 -0700)]
Support Canvas Clip on Blit Framebuffer

The previous fix to blit framebuffer didn't take cases where
the canvas had a clip applied into account. Fix and update
the unit test to add this case.

Bug: 658277
Change-Id: If3a9d2c8ddf955164cf529c9d6036618f957e426
Reviewed-on: https://skia-review.googlesource.com/11300
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRevert "Finish up mip opts: 2x3 and 3x2"
Matt Sarett [Tue, 4 Apr 2017 20:53:57 +0000 (20:53 +0000)]
Revert "Finish up mip opts: 2x3 and 3x2"

This reverts commit 88ec28e3d7567ec2c3e26fed66c16a68a8f8ae64.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Finish up mip opts: 2x3 and 3x2
>
> mipmap_build_2048x2047 (2x3):
> sRGB Float Impl (old): 82.9ms (reference)
> 8888                 : 12.3ms (reference)
> sRGB Before          : 61.9ms
> sRGB After           : 53.1ms
>
> mipmap_build_2047x2048 (3x2):
> sRGB Float Impl (old): 65.9ms (reference)
> 8888 Before          : 10.3ms
> 8888 After           : 8.81ms
> sRGB Before          : 47.8ms
> sRGB After           : 43.5ms
>
> BUG=skia:
>
> Change-Id: I53ef01e8b8344f018aa940d6c80cf2cf048bf7fa
> Reviewed-on: https://skia-review.googlesource.com/10028
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

7 years agoRevert "Update clang linux to release_40"
Mike Klein [Tue, 4 Apr 2017 20:35:00 +0000 (20:35 +0000)]
Revert "Update clang linux to release_40"

This reverts commit a08104abf2850546d97c5d33f5fb5fabedf45466.

Reason for revert: MSAN's failing immediately, and ASAN is catching a new leak:

==20306==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4112 byte(s) in 257 object(s) allocated from:
    #0 0x138828b  (/b/s/w/irNps76D/out/Release/dm+0x138828b)
    #1 0x2c07b76  (/b/s/w/irNps76D/out/Release/dm+0x2c07b76)

Original change's description:
> Update clang linux to release_40
>
> Bug: skia:
> Change-Id: Ibe2406592024a4eb20b278ad189d3abddec129d9
> Reviewed-on: https://skia-review.googlesource.com/11285
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

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

7 years agoUse sk_sp with GrXferProcessor and use a static factory to handle the nullptr==srcove...
Brian Salomon [Tue, 4 Apr 2017 19:17:03 +0000 (15:17 -0400)]
Use sk_sp with GrXferProcessor and use a static factory to handle the nullptr==srcover case.

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

7 years agoUpdate clang linux to release_40
Kevin Lubick [Tue, 4 Apr 2017 19:24:18 +0000 (15:24 -0400)]
Update clang linux to release_40

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

7 years agoMove GrPipelineBuilder into GrRenderTargetContext::addLegacyDrawOp
Brian Salomon [Tue, 4 Apr 2017 19:13:25 +0000 (15:13 -0400)]
Move GrPipelineBuilder into GrRenderTargetContext::addLegacyDrawOp

This makes the legacy code use GrProcessorSet::Analysis in the same manner as the non-GrLegacyMeshDrawOps which enables changes to how analysis works.

Change-Id: I8171e285ac8930beb3ac33cd3c4ee88f217b9e40
Reviewed-on: https://skia-review.googlesource.com/11205
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoremove -mdspr2
Mike Klein [Tue, 4 Apr 2017 19:03:55 +0000 (15:03 -0400)]
remove -mdspr2

I set -mdspr2 unconditionally on 32-bit MIPS builds only to not have to
deal with setting it conditionally on the source files specifically
requiring those instructions.

Since then, I've deleted all the source files specifically requiring
-mdspr2 (and -mdsp).  No one understood them and they were only
accelerating really uninteresting cases, like 565 blits.

So, we haven't needed -mdspr2 anywhere for a while, and removing it
will unblock running these builds on the CI20 dev boards, which
support neither -mdsp nor -mdsp2.

BUG=skia:1437

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-mipsel-Release-Android

Change-Id: Idda56fd8bb37ba064b78b4cddd8878b37dfe9502
Reviewed-on: https://skia-review.googlesource.com/11284
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoremove canvas-helpers flag for android
Mike Reed [Tue, 4 Apr 2017 17:05:28 +0000 (13:05 -0400)]
remove canvas-helpers flag for android

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

7 years agojumper, split store_f16 into to_half, store4
Mike Klein [Tue, 4 Apr 2017 14:24:56 +0000 (10:24 -0400)]
jumper, split store_f16 into to_half, store4

Pretty much the same deal as the last CL going the other direction:
split store_f16 into to_half() and store4().  Platforms that had fused
strategies here get a little less optimal, but the code's easier to
follow, maintain, and reuse.

Also adds widen_cast() to encapsulate the fairly common pattern of
expanding one of our logical vector types (e.g. 8-byte U16) up to the
width of the physical vector type (e.g. 16-byte __m128i).  This
operation is deeply understood by Clang, and often is a no-op.

I could make bit_cast() do this, but it seems clearer to have two names.

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

7 years agoRespect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup
Eric Karl [Mon, 3 Apr 2017 21:49:05 +0000 (14:49 -0700)]
Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup

Crurently, when preparing a texture for blitFramebuffer, we ignore the
kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to
copy from one src rect to a different dst rect.

This change updates initDescForDstCopy and setupDstTexture to allocate
larger textures if necessary and accomodate this flags requirements.

Bug: 658277
Change-Id: If4489ac3192dcf6f9996494c63821279721d0a12
Reviewed-on: https://skia-review.googlesource.com/11141
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoBundle recipes for use on RPi
Eric Boren [Tue, 4 Apr 2017 13:06:16 +0000 (09:06 -0400)]
Bundle recipes for use on RPi

This saves ~1:30 of overhead when the isolate cache is warm.

Bug: skia:5813
Change-Id: I5053d66e865ca6500b82567f83be8042568e22cf
Reviewed-on: https://skia-review.googlesource.com/11063
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoMove the ability to access textures, buffers, and image storages out from GrProcessor.
Brian Salomon [Tue, 4 Apr 2017 14:15:51 +0000 (10:15 -0400)]
Move the ability to access textures, buffers, and image storages out from GrProcessor.

GrXferProcessor can no longer use this functionality so it is moved to a new intermediate class inherited by GrFragmentProcessor and GrPrimitiveProcessor.

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

7 years ago565 codec color xform support: fix colortable / incomplete image behavior
Matt Sarett [Mon, 3 Apr 2017 20:01:10 +0000 (16:01 -0400)]
565 codec color xform support: fix colortable / incomplete image behavior

This fixes a bug that was exposed when I added color space
support for 565 decodes.

Before this CL, we would sometimes fill incomplete images with
R and B swapped.

This fixes that issue.  Part of the fix is the decision to do 565
xforms when building the color table (then just swizzle to 565),
rather than do them per pixel after swizzling.

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

7 years agojumper, factor out load4() and from_half()
Mike Klein [Tue, 4 Apr 2017 02:21:15 +0000 (22:21 -0400)]
jumper, factor out load4() and from_half()

load_f16 gets slightly worse codegen for ARMv7, SSE2, SSE4.1, and AVX
from splitting it apart compared to the previous fused versions.  But
the stage code becomes much simpler.

I'm happy to make those trades until someone complains.

load4() will be useful on its own to implement a couple other stages.

Everything draws the same.  I intend to follow up with more of the
same sort of refactoring, but this was tricky enough a change I want
to do them in small steps.

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

7 years agoFinish up mip opts: 2x3 and 3x2
Matt Sarett [Wed, 22 Mar 2017 21:27:43 +0000 (17:27 -0400)]
Finish up mip opts: 2x3 and 3x2

mipmap_build_2048x2047 (2x3):
sRGB Float Impl (old): 82.9ms (reference)
8888                 : 12.3ms (reference)
sRGB Before          : 61.9ms
sRGB After           : 53.1ms

mipmap_build_2047x2048 (3x2):
sRGB Float Impl (old): 65.9ms (reference)
8888 Before          : 10.3ms
8888 After           : 8.81ms
sRGB Before          : 47.8ms
sRGB After           : 43.5ms

BUG=skia:

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

7 years agoFully remove coord transform precision code
Brian Osman [Mon, 3 Apr 2017 20:36:58 +0000 (16:36 -0400)]
Fully remove coord transform precision code

Coord transforms are always computed and interpolated at high precision.

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

7 years agoremove flag to see if its used in g3
Mike Reed [Mon, 3 Apr 2017 23:29:12 +0000 (19:29 -0400)]
remove flag to see if its used in g3

Bug: skia:
Change-Id: Iba1d27e50644b334cb64cfe3667e32352860c909
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/11144
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoStore the dst texture used by an XP in GrPipeline rather than in the XP.
Brian Salomon [Mon, 3 Apr 2017 20:57:43 +0000 (16:57 -0400)]
Store the dst texture used by an XP in GrPipeline rather than in the XP.

This will allow the XP to be created before the dst texture.

Change-Id: I3e5bdfa8e5d47e58a3560792ce5cf3899d30a024
Reviewed-on: https://skia-review.googlesource.com/11011
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoRefactor and recomment SkJumper_stages.cpp.
Mike Klein [Mon, 3 Apr 2017 17:54:55 +0000 (13:54 -0400)]
Refactor and recomment SkJumper_stages.cpp.

SkJumper_stages.cpp is starting to get unweildy.
This spins some logical parts out into their own headers.

I will follow up by moving more of the very specific
f16/f32 load/store logic into SkJumper_vectors.h too.

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

7 years ago[cleanup] rename var in perf script to match sktest script
Ben Wagner [Mon, 3 Apr 2017 14:07:57 +0000 (10:07 -0400)]
[cleanup] rename var in perf script to match sktest script

NOTRY=true

Change-Id: Ib3c03092045289eb0828f951b1213ecab893d0d9
Reviewed-on: https://skia-review.googlesource.com/10969
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agoRevert[4] "clean up (partially) colortable api""""
Mike Reed [Mon, 3 Apr 2017 18:41:44 +0000 (14:41 -0400)]
Revert[4] "clean up (partially) colortable api""""

Fixes:
- create temp api for android to pass nullptr
- don't release and access sk_sp<SkData> at the same time in parameters

This reverts commit b14131c1851eea6acbd34cc42a8f860daed36b21.

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