platform/upstream/libSkiaSharp.git
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>
7 years agoFix Vulkan memory leak in MSAA
Greg Daniel [Mon, 3 Apr 2017 14:29:43 +0000 (10:29 -0400)]
Fix Vulkan memory leak in MSAA

BUG=skia:

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

7 years agoUse SkTransferFunctionBehavior in SkImageGenerator
Matt Sarett [Fri, 24 Mar 2017 20:31:19 +0000 (16:31 -0400)]
Use SkTransferFunctionBehavior in SkImageGenerator

This fixes SkColorSpaceXformCanvas gms that expect
non-linear premuls from the codec.

BUG=skia:

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

7 years agoConvert all coord transforms to high precision
Brian Osman [Mon, 3 Apr 2017 16:47:17 +0000 (12:47 -0400)]
Convert all coord transforms to high precision

Testing this to see what the performance/quality tradeoff is. This is
known to fix some gradient bugs on Mali, but we want to observe perf and
see if it slows thigs down.

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

7 years agoSupport parametric transfer functions in SkImage_Raster::onMakeColorSpace()
Matt Sarett [Mon, 3 Apr 2017 15:42:52 +0000 (11:42 -0400)]
Support parametric transfer functions in SkImage_Raster::onMakeColorSpace()

BUG=skia:6456
Change-Id: Ib94bba9db669562a9b2b64fff56ebe40a2bc0096
Reviewed-on: https://skia-review.googlesource.com/11122
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agomove vertex-mode enum into SkVertices
Mike Reed [Mon, 3 Apr 2017 15:11:09 +0000 (11:11 -0400)]
move vertex-mode enum into SkVertices

BUG=skia:6366

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

7 years agoAdd SkThreadedBMPDevice for Threaded Raster Backend
Yuqian Li [Mon, 3 Apr 2017 14:52:48 +0000 (10:52 -0400)]
Add SkThreadedBMPDevice for Threaded Raster Backend

BUG=skia:

Change-Id: I882b6563c735796f3a4dcd19f6c79e7efd8306ae
Reviewed-on: https://skia-review.googlesource.com/10505
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoskslc now uses a more recent version of Flex
Ethan Nicholas [Fri, 31 Mar 2017 21:06:42 +0000 (17:06 -0400)]
skslc now uses a more recent version of Flex

Bug: 6447
Change-Id: Ie1cb674752442a8992dd247abb2bcace8497c1f4
Reviewed-on: https://skia-review.googlesource.com/11014
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoAvoid extra bitmap copies in SkColorSpaceXformCanvas
Matt Sarett [Mon, 3 Apr 2017 14:35:42 +0000 (10:35 -0400)]
Avoid extra bitmap copies in SkColorSpaceXformCanvas

Before:
ColorCanvasDrawBitmap_sRGB_to_sRGB     5.09us
ColorCanvasDrawBitmap_AdobeRGB_to_sRGB 50.7us

After:
ColorCanvasDrawBitmap_sRGB_to_sRGB     2.43us
ColorCanvasDrawBitmap_AdobeRGB_to_sRGB 37.1us

BUG=skia:6456
Change-Id: Ie382936c36fd347b59485882cf8f27f315a5d35f

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

7 years agoMove pipeline handling out of GrMeshDrawOp.
Brian Salomon [Mon, 3 Apr 2017 14:38:00 +0000 (10:38 -0400)]
Move pipeline handling out of GrMeshDrawOp.

The monolithic GrPipeline is moved to a subclass GrLegacyDrawMeshOp.

The pipeline used to record a GrMesh draw in a GrMeshDrawOp must now be passed rather than implicitly using the op's pipeline.

Change-Id: I50d77e4dcc8d91a523fa7566ce43a9a291174706
Reviewed-on: https://skia-review.googlesource.com/11002
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRevert "Revert "Revert "Allow FPs to elevate default precision for the entire fragmen...
Brian Osman [Mon, 3 Apr 2017 14:00:52 +0000 (14:00 +0000)]
Revert "Revert "Revert "Allow FPs to elevate default precision for the entire fragment program"""

This reverts commit ec53c636b781830cb6146bb32106d4ee44651fcc.

Reason for revert: Mali GMs look bad.

Original change's description:
> Revert "Revert "Allow FPs to elevate default precision for the entire fragment program""
>
> This reverts commit 903c3f70400462e191ccbca63393b2df3fe2dd11.
>
> Reason for revert: Vulkan issue fixed in compiler.
>
> Original change's description:
> > Revert "Allow FPs to elevate default precision for the entire fragment program"
> >
> > This reverts commit 92d7ccafdf896cf19764e025873d13315a76842d.
> >
> > Reason for revert: Vulkan errors.
> >
> > Original change's description:
> > > 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.
> > >
> > > Bug: skia:
> > > Change-Id: I2ab365e3da79628069e2eb727c43c2bf45bfd789
> > > Reviewed-on: https://skia-review.googlesource.com/10162
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Brian Osman <brianosman@google.com>
> > >
> >
> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,ethannicholas@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> >
> > Change-Id: Iee5bb409f86a9cabecc76bd1273a5b3cef6af179
> > Reviewed-on: https://skia-review.googlesource.com/10967
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> >
>
> TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,ethannicholas@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I733a0ecc40b58d8727f0259b5498c8e6610cedce
> Reviewed-on: https://skia-review.googlesource.com/11010
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org,brianosman@google.com,ethannicholas@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.

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

7 years agoRemove kAsIs_CachedFormat
Brian Osman [Fri, 31 Mar 2017 21:02:41 +0000 (17:02 -0400)]
Remove kAsIs_CachedFormat

This was confusing and unnecessary. Added an explicit sBGR format to
handle one case. Now the CF always fully describes the color type and
transfer function (or it's legacy).

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

7 years agojumper, drop Android NDK dependency
Mike Klein [Fri, 31 Mar 2017 18:15:56 +0000 (14:15 -0400)]
jumper, drop Android NDK dependency

We don't _really_ need the Android NDK.  We just need <arm_neon.h>
(which comes from Clang, not the NDK) and a smattering of <stdint.h>
([u]intN_t), <string.h> (memcpy) and <stddef.h> (size_t).

The idea here is solely to make it easier to run build_stages.py.
If this becomes a pain to maintain, I'm happy to go back to the NDK.

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

7 years agoUpdate SKP version
UpdateSKPs [Sun, 2 Apr 2017 05:50:34 +0000 (05:50 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

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

7 years agoRevert "Revert[2] "clean up (partially) colortable api"""
Mike Reed [Sat, 1 Apr 2017 17:21:42 +0000 (17:21 +0000)]
Revert "Revert[2] "clean up (partially) colortable api"""

This reverts commit 9920b10f5292838f00600f676c4578cd11705e60.

Reason for revert: trying to get details on w2k failure

https://chromium-swarm.appspot.com/task?id=354345d34ba3b310&refresh=10

Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION, was running:
unit test  HugeBlurImageFilter
unit test  FontNames
unit test  Codec_PngRoundTrip
unit test  ClampRange
unit test  FontHost
unit test  ColorMatrixFilter
f16 image scaled_codec_premul abnormal.wbmp
565 image brd_android_codec_divisor_0.167 interlaced3.png_0.167
unit test  Codec_png
unit test  ImageFilterBlurLargeImage
unit test  FontObj
unit test  DrawText
unit test  GrShape
565 image brd_android_codec_divisor_0.333 interlaced2.png_0.333
unit test  PathOpsOpCubicsThreaded
unit test  PathOpsOpLoopsThreaded
unit test  FontMgr
unit test  ColorToHSVRoundTrip
unit test  Image_Serialize_Encoding_Failure
Likely culprit:
unit test  Image_Serialize_Encoding_Failure
step returned non-zero exit code: -1073741819

Original change's description:
> Revert[2] "clean up (partially) colortable api""
>
> This reverts commit 1d1165ca6575e082b892c5460492c411618783ad.
>
> Bug: skia:
> Change-Id: Idbc0634ae3cec2e79f592d252de8751b077e6408
> Reviewed-on: https://skia-review.googlesource.com/11024
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

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

7 years agoRevert[2] "clean up (partially) colortable api""
Mike Reed [Sat, 1 Apr 2017 16:14:57 +0000 (12:14 -0400)]
Revert[2] "clean up (partially) colortable api""

This reverts commit 1d1165ca6575e082b892c5460492c411618783ad.

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

7 years agoRevert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"
Mike Klein [Sat, 1 Apr 2017 01:53:59 +0000 (01:53 +0000)]
Revert "Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup"

This reverts commit d58f040532f2f5a63d24bd17d7c588e52c0b99c3.

Reason for revert: tests/BlendTest is failing on the Nexus Player:

https://chromium-swarm.appspot.com/task?id=353ffc638e202210
https://chromium-swarm.appspot.com/task?id=353ff5e35819ab10

Original change's description:
> 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: I9f45a03d4055e0ad87c01e1d826287695096e609
> Reviewed-on: https://skia-review.googlesource.com/10941
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

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

7 years agoRevert of fix size check for drawBitmap fast-path in SkBitmapDevice::drawBitmapRect...
mtklein [Sat, 1 Apr 2017 01:36:39 +0000 (18:36 -0700)]
Revert of fix size check for drawBitmap fast-path in SkBitmapDevice::drawBitmapRect (patchset #2 id:20001 of https://codereview.chromium.org/2089583002/ )

Reason for revert:
I agree the diffs are not meaningful, but nevertheless their existence is blocking the roll into Chrome.

(https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/7376/layout-test-results/results.html)

Original issue's description:
> 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

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

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

7 years agoRespect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup
Eric Karl [Fri, 31 Mar 2017 16:38:52 +0000 (09:38 -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: I9f45a03d4055e0ad87c01e1d826287695096e609
Reviewed-on: https://skia-review.googlesource.com/10941
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoswitched skslc to_string strategy after repeated problems on Android
Ethan Nicholas [Fri, 31 Mar 2017 22:53:05 +0000 (18:53 -0400)]
switched skslc to_string strategy after repeated problems on Android

BUG=skia:

Change-Id: I9e27d06351e4bfcd503882b2c604878b44b6e5cc
Reviewed-on: https://skia-review.googlesource.com/11015
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoadded missing <inttypes.h> include
Ethan Nicholas [Fri, 31 Mar 2017 20:28:38 +0000 (16:28 -0400)]
added missing <inttypes.h> include

Bug: skia:
Change-Id: I24f556c791f5a8ca295f6dc88dbf5532a7a9f688
Reviewed-on: https://skia-review.googlesource.com/11008
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoFix perf configs for ANGLE bots.
Ben Wagner [Fri, 31 Mar 2017 19:54:47 +0000 (15:54 -0400)]
Fix perf configs for ANGLE bots.

Don't run non-ANGLE configs on ANGLE bots.

Also, stop perfing angle_gl_es2, since it's not used by Chrome. Add perfing for
ANGLE MSAA, and omit test that fails with MSAA config.

NOTRY=true
BUG=skia:6457

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

7 years agoFix the size check for the drawBitmap fast-path in SkBitmapDevice::drawBitmapRect...
lsalzman [Fri, 31 Mar 2017 20:46:47 +0000 (13:46 -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

7 years agoRevert "Revert "Allow FPs to elevate default precision for the entire fragment program""
Brian Osman [Fri, 31 Mar 2017 20:39:56 +0000 (20:39 +0000)]
Revert "Revert "Allow FPs to elevate default precision for the entire fragment program""

This reverts commit 903c3f70400462e191ccbca63393b2df3fe2dd11.

Reason for revert: Vulkan issue fixed in compiler.

Original change's description:
> Revert "Allow FPs to elevate default precision for the entire fragment program"
>
> This reverts commit 92d7ccafdf896cf19764e025873d13315a76842d.
>
> Reason for revert: Vulkan errors.
>
> Original change's description:
> > 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.
> >
> > Bug: skia:
> > Change-Id: I2ab365e3da79628069e2eb727c43c2bf45bfd789
> > Reviewed-on: https://skia-review.googlesource.com/10162
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> >
>
> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,ethannicholas@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Iee5bb409f86a9cabecc76bd1273a5b3cef6af179
> Reviewed-on: https://skia-review.googlesource.com/10967
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>

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

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

7 years agofixed SPIR-V compilation error with unmodified variables
Ethan Nicholas [Fri, 31 Mar 2017 18:53:17 +0000 (14:53 -0400)]
fixed SPIR-V compilation error with unmodified variables

Change-Id: I22981a60c21a2e16d41d69c53e099f221a202a58
Reviewed-on: https://skia-review.googlesource.com/11000
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoskslc can now be compiled with no Skia dependencies, in preparation for its eventual
Ethan Nicholas [Fri, 31 Mar 2017 17:56:23 +0000 (13:56 -0400)]
skslc can now be compiled with no Skia dependencies, in preparation for its eventual

This reverts commit 9bd301d640ff63c280b202c7dd00bc00a3315ff4.

Bug: skia:
Change-Id: I5ad3f77ef33aa5ce2fd27fe383c9339c571663a1
Reviewed-on: https://skia-review.googlesource.com/10964
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>