platform/upstream/libSkiaSharp.git
6 years agomake sure the ml command is correct
Matthew Leibowitz [Mon, 10 Jul 2017 22:14:40 +0000 (00:14 +0200)]
make sure the ml command is correct

6 years agoUndo change
Matthew Leibowitz [Mon, 10 Jul 2017 22:12:18 +0000 (00:12 +0200)]
Undo change

6 years agoMerge branch 'xamarin-mobile-bindings' into update-m59
Matthew Leibowitz [Mon, 10 Jul 2017 20:54:45 +0000 (22:54 +0200)]
Merge branch 'xamarin-mobile-bindings' into update-m59

6 years agoMerge branch 'chrome/m59' into update-m59
Matthew Leibowitz [Mon, 10 Jul 2017 19:18:07 +0000 (21:18 +0200)]
Merge branch 'chrome/m59' into update-m59

7 years ago[m59] dither when converting to 4444
Matt Sarett [Thu, 25 May 2017 22:53:02 +0000 (18:53 -0400)]
[m59] dither when converting to 4444
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: 720105
Change-Id: I2a3b8a56795403077151ccebed978a94f2350def

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

7 years agoUpdated workaround for Intel 6xxx clear to 0/1 bug
Brian Salomon [Wed, 24 May 2017 00:21:23 +0000 (20:21 -0400)]
Updated workaround for Intel 6xxx clear to 0/1 bug

The previous workaround only handled the glClearColor(0,0,0,1) case,
it turns out we need to work around any glClearColor made up of entirely
0s and 1s.

R=bsalomon@google.com
Bug: 710443
Change-Id: I78a75559fc11811ad9a218436231354d66d2ad51
Reviewed-on: https://skia-review.googlesource.com/17327
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Karl <ericrk@chromium.org>

Workaround for Intel 6xxx clear to opaque black bug
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: skia:
Change-Id: Id5e29b483c2b6f698219abfc5bbb2d858c4fc117
Reviewed-On: https://skia-review.googlesource.com/16427
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-By: Brian Osman <brianosman@google.com>
Reviewed-on: https://skia-review.googlesource.com/17790
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoAdd flag to avoid stencil buffers in Skia
Eric Karl [Tue, 16 May 2017 17:10:40 +0000 (10:10 -0700)]
Add flag to avoid stencil buffers in Skia

Certain systems experience a leak in the GL driver associated with
stencil buffers. Attempts to avoid the leak (while still using stencil
buffers) dind't succeed. This patch adds a GrContextOption
fAvoidStencilBuffers. This disables certain path rendering modes, as
well as stencil based masking/clipping.
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: 713854
Change-Id: Ifa6c0f2bd5ee395547bda9165d6c79d197ae8b8b
Reviewed-On: https://skia-review.googlesource.com/15253
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-By: Eric Karl <ericrk@chromium.org>
Reviewed-By: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/17081
Commit-Queue: Eric Karl <ericrk@google.com>

7 years agoAdded a few more filters and effects
Matthew Leibowitz [Tue, 16 May 2017 15:18:54 +0000 (17:18 +0200)]
Added a few more filters and effects

7 years ago[M59] Validate SkSpecialSurface raster info
Florin Malita [Mon, 15 May 2017 18:05:06 +0000 (14:05 -0400)]
[M59] Validate SkSpecialSurface raster info

Cherry-pick https://skia-review.googlesource.com/c/15230/

BUG=chromium:716311
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Change-Id: I01ea2e77ba8920f735395dd46ef2cea78a858308
Reviewed-On: https://skia-review.googlesource.com/15230
Reviewed-By: Mike Reed <reed@google.com>
Reviewed-By: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-on: https://skia-review.googlesource.com/16906
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoAdded missing semicolon
Matthew Leibowitz [Mon, 15 May 2017 16:20:06 +0000 (18:20 +0200)]
Added missing semicolon

7 years agoIt appears the UWP ARM compiler has the same issue as Clang
Matthew Leibowitz [Sun, 14 May 2017 19:48:26 +0000 (21:48 +0200)]
It appears the UWP ARM compiler has the same issue as Clang

7 years agoThe implementation was mis-named
Matthew Leibowitz [Sat, 13 May 2017 17:22:38 +0000 (19:22 +0200)]
The implementation was mis-named

7 years ago"whitespace"
Matthew Leibowitz [Fri, 12 May 2017 03:37:50 +0000 (22:37 -0500)]
"whitespace"

7 years agouse the better code
Matthew Leibowitz [Fri, 12 May 2017 03:26:49 +0000 (22:26 -0500)]
use the better code

7 years agoremove duplicate code :)
Matthew Leibowitz [Fri, 12 May 2017 03:07:21 +0000 (22:07 -0500)]
remove duplicate code :)

7 years agoUpdate the color space bits
Matthew Leibowitz [Fri, 12 May 2017 02:14:47 +0000 (21:14 -0500)]
Update the color space bits

7 years agoJust disable Jumper for tvOS
Matthew Leibowitz [Fri, 12 May 2017 02:14:28 +0000 (21:14 -0500)]
Just disable Jumper for tvOS

7 years agoMerge branch 'xamarin-mobile-bindings' into update-m58
Matthew Leibowitz [Fri, 12 May 2017 01:13:14 +0000 (20:13 -0500)]
Merge branch 'xamarin-mobile-bindings' into update-m58

# Conflicts:
# include/c/sk_types.h
# src/c/sk_enums.cpp
# src/c/sk_structs.cpp

7 years agoAdded some C APIs
Matthew Leibowitz [Fri, 12 May 2017 00:40:08 +0000 (19:40 -0500)]
Added some C APIs
 - SkColorSpace
 - fixing the enums and structures
Added checks for the C structures

7 years agoUpdate the structs
Matthew Leibowitz [Thu, 11 May 2017 03:32:47 +0000 (22:32 -0500)]
Update the structs

7 years agoMerge branch 'update-m58' into update-m59
Matthew Leibowitz [Thu, 11 May 2017 03:17:08 +0000 (05:17 +0200)]
Merge branch 'update-m58' into update-m59

7 years agoupdated the structs and added tests for future breaks
Matthew Leibowitz [Thu, 11 May 2017 03:11:48 +0000 (05:11 +0200)]
updated the structs and added tests for future breaks

7 years agoAdded the C API for SkPath::computeTightBounds()
Matthew Leibowitz [Thu, 11 May 2017 03:09:40 +0000 (05:09 +0200)]
Added the C API for SkPath::computeTightBounds()

7 years agoUpdates required for building the new m59
Matthew Leibowitz [Thu, 11 May 2017 01:33:18 +0000 (20:33 -0500)]
Updates required for building the new m59

7 years agoMerge branch 'chrome/m59' into update-m59
Matthew Leibowitz [Mon, 8 May 2017 23:51:37 +0000 (19:51 -0400)]
Merge branch 'chrome/m59' into update-m59

# Conflicts:
# BUILD.gn
# gn/BUILD.gn
# gn/find_ios_sysroot.py
# src/core/SkSpecialImage.cpp
# third_party/libjpeg-turbo/BUILD.gn

7 years agoFixed bug in XPS factory declaration
Matthew Leibowitz [Sun, 7 May 2017 15:35:46 +0000 (17:35 +0200)]
Fixed bug in XPS factory declaration

7 years agoWinRT has an issue with uninitialized SkNf
Matthew Leibowitz [Sun, 7 May 2017 15:35:10 +0000 (17:35 +0200)]
WinRT has an issue with uninitialized SkNf

7 years agoUpdated to the C API after updating the C++ API
Matthew Leibowitz [Sat, 6 May 2017 23:24:57 +0000 (19:24 -0400)]
Updated to the C API after updating the C++ API

7 years agofixes for XPS
Matthew Leibowitz [Sat, 6 May 2017 23:24:24 +0000 (19:24 -0400)]
fixes for XPS

7 years agobitcode support requires a few changes
Matthew Leibowitz [Sat, 6 May 2017 23:23:33 +0000 (19:23 -0400)]
bitcode support requires a few changes

7 years agotemporarily disable jumper so we can get the update building
Matthew Leibowitz [Sat, 6 May 2017 23:23:13 +0000 (19:23 -0400)]
temporarily disable jumper so we can get the update building

7 years agosk_effects has already been split into the source files
Matthew Leibowitz [Sat, 6 May 2017 22:33:45 +0000 (18:33 -0400)]
sk_effects has already been split into the source files

7 years agoCorrecting merge issues
Matthew Leibowitz [Sat, 6 May 2017 15:48:57 +0000 (11:48 -0400)]
Correcting merge issues

7 years agoUpdate xamarin-mobile-bindings with chrome/m58
Matthew Leibowitz [Sat, 6 May 2017 14:02:02 +0000 (16:02 +0200)]
Update xamarin-mobile-bindings with chrome/m58

7 years agoInject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum.
Mike Klein [Fri, 21 Apr 2017 18:58:03 +0000 (14:58 -0400)]
Inject a dsb into SkAnalyticEdge::setLine() to work around ARMv7 CPU erratum.

BUG=chromium:710131

Change-Id: I4568bc24cc8fabb6f9df3b7645b01a98e11791b8
Reviewed-on: https://skia-review.googlesource.com/14062
Reviewed-by: Doug Anderson <dianders@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-on: https://skia-review.googlesource.com/14407
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoOnly respect version 1 gasp tables for symmetric.
Ben Wagner [Mon, 24 Apr 2017 16:40:03 +0000 (12:40 -0400)]
Only respect version 1 gasp tables for symmetric.

When determining whether or not to use symmetric rendering,
only look at the gasp table if it's version 1.

Change-Id: Ib64ec1853545eb2c467a9e280d9e00f51e8b0aa8
Reviewed-on: https://skia-review.googlesource.com/13863
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Dominik Röttsches <drott@google.com>
Cherry-Pick: aa4084e99e7b0ae873b146494d905435c533ebdb
Approval: https://crbug.com/713942#c11

7 years agoA fix for detecting if XPS is supported on UWP
Matthew Leibowitz [Mon, 24 Apr 2017 14:17:02 +0000 (16:17 +0200)]
A fix for detecting if XPS is supported on UWP

7 years agoFix out of bounds read in SkColorSpace::MakeICC
Matt Sarett [Tue, 18 Apr 2017 15:08:29 +0000 (11:08 -0400)]
Fix out of bounds read in SkColorSpace::MakeICC

Bug: 711895
Change-Id: I8574289bda842cf1be3fb5bcf347a81b98fdc6b0
Reviewed-on: https://skia-review.googlesource.com/13690
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
(cherry picked from commit 6e834799946537370e6f3c10aa2745ed969b2a27)
Reviewed-on: https://skia-review.googlesource.com/14103
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoFix advances for aliased text with DirectWrite.
Ben Wagner [Fri, 14 Apr 2017 15:39:34 +0000 (11:39 -0400)]
Fix advances for aliased text with DirectWrite.

The existing code assumes that GetGdiCompatibleGlyphMetrics transform
parameter acts the same as the GetGlyphOutlineW lpmat2 parameter.
However, it appears this is very much not true.

BUG=skia:6499

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

7 years agoAdded some members
Matthew Leibowitz [Fri, 21 Apr 2017 05:18:21 +0000 (07:18 +0200)]
Added some members

7 years ago[M59 cherrypick] Fix missing tolerance in GrPathUtils::worstCasePointCount
Robert Phillips [Thu, 20 Apr 2017 12:00:38 +0000 (08:00 -0400)]
[M59 cherrypick] Fix missing tolerance in GrPathUtils::worstCasePointCount

https://skia-review.googlesource.com/c/10752/ (Use correct tolerance for
conic chopping in MSAA and default path renderers) changed the tolerance
used in createGeom but didn't change the setting in worstCasePointCount.
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Bug: 711936, 712749
Change-Id: I554bdd637ee13c0d3ba77483763929dfcd9eb73a
Reviewed-on: https://skia-review.googlesource.com/13960
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoSymmetric rendering when >20px with DirectWrite.
Ben Wagner [Thu, 13 Apr 2017 15:02:50 +0000 (11:02 -0400)]
Symmetric rendering when >20px with DirectWrite.

If the font has a gasp table use it to determine symmetric. Otherwise,
use symmetric if the the font isn't hinted or is >20px. The remaining
cases use non-symmetric.

BUG=chromium:706792,skia:6432

Change-Id: I91b66a9615aae27c195e1545298a9d36bc58a705
Reviewed-on: https://skia-review.googlesource.com/11400
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Cherry-Pick: 9f591347e902aa0c59a5da2915d829ae162831f4
Approval: https://crbug.com/706792#c34

7 years agoremove unused fURI from pixelref
Mike Reed [Thu, 13 Apr 2017 02:29:00 +0000 (22:29 -0400)]
remove unused fURI from pixelref

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

7 years agolocking methods should only be virtual in legacy mode
Mike Reed [Wed, 12 Apr 2017 19:11:02 +0000 (15:11 -0400)]
locking methods should only be virtual in legacy mode

However, they should not be pure-virtual, otherwise the client can't migrate to the new
api independent of undef-ing the flag.

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

7 years agoFix cubic KLM solving
csmartdalton [Mon, 10 Apr 2017 17:58:17 +0000 (11:58 -0600)]
Fix cubic KLM solving

Fixes calc_inverse_transpose_power_basis_matrix() to look for the
determinant with the largest ABSOLUTE VALUE.

BUG=skia:

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

7 years agoAdd job for Acer chromebook (TegraK1)
Kevin Lubick [Wed, 12 Apr 2017 18:35:53 +0000 (14:35 -0400)]
Add job for Acer chromebook (TegraK1)

Known issue: Nanobench fails with
/home/chronos/user/bin/nanobench: symbol lookup error:
/home/chronos/user/bin/nanobench: undefined symbol: eglCreateSyncKHR

Bug: skia:6468
NOTRY=true
Change-Id: Idb1291c2da835d093826022f4cab4069e28c5964
Reviewed-on: https://skia-review.googlesource.com/13188
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
7 years agoAdd Win IntelHD4400 bot.
Ben Wagner [Wed, 12 Apr 2017 16:40:45 +0000 (12:40 -0400)]
Add Win IntelHD4400 bot.

Bug: skia:6488
NOTRY=true

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

7 years agojumper, bilinear and bicubic sampling stages
Mike Klein [Wed, 12 Apr 2017 16:52:48 +0000 (12:52 -0400)]
jumper, bilinear and bicubic sampling stages

This splits SkImageShaderContext into three parts:
   - SkJumper_GatherCtx: always, already done
   - SkJumper_SamplerCtx: when bilinear or bicubic
   - MiscCtx: other little bits (the matrix, paint color, tiling limits)

Thanks for the snazzy allocator that allows this Herb!

Both SkJumper and SkRasterPipeline_opts.h should be speaking all the
same types now.

I've copied the comments about bilinear/bicubic to SkJumper with little
typo fixes and clarifications.

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

7 years agoAllow including of vulkan.h as a required public api when using vulkan.
Greg Daniel [Wed, 12 Apr 2017 17:29:50 +0000 (13:29 -0400)]
Allow including of vulkan.h as a required public api when using vulkan.

Bug: skia:
Change-Id: I3ac382edc12144dcda9ef168f752b14878e0e5ac
Reviewed-on: https://skia-review.googlesource.com/13262
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoandroid-only api to reset the fields of a pixelref
Mike Reed [Wed, 12 Apr 2017 16:57:07 +0000 (12:57 -0400)]
android-only api to reset the fields of a pixelref

BUG=skia:6494

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

7 years agoUpdate Android autoroller documentation
Ravi Mistry [Wed, 12 Apr 2017 16:51:05 +0000 (12:51 -0400)]
Update Android autoroller documentation

BUG=skia:5538
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13266
Change-Id: I76fa8db5ea9916fab2ef0f8058157dac96d52517

Change-Id: I76fa8db5ea9916fab2ef0f8058157dac96d52517
Reviewed-on: https://skia-review.googlesource.com/13266
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoAdd jobs for Samsung Chromebook Plus
Kevin Lubick [Wed, 12 Apr 2017 14:50:18 +0000 (10:50 -0400)]
Add jobs for Samsung Chromebook Plus

Also refactor the cipd package used to compile these, as it can be reused.

Bug: skia:
NOTRY=true
Change-Id: I53cf5b7fdfcb8cafd50791a0beaaf557fafa65c3
Reviewed-on: https://skia-review.googlesource.com/13252
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agofix drawDRRect for fuzzer
Cary Clark [Wed, 12 Apr 2017 16:03:15 +0000 (12:03 -0400)]
fix drawDRRect for fuzzer

make assert abort instead

Bug: skia:6450
Change-Id: I23ff51124fa8f069f2c7e5260f800017d7475d46
Reviewed-on: https://skia-review.googlesource.com/13197
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agomake all gather_*() use SkJumper_GatherCtx
Mike Klein [Wed, 12 Apr 2017 15:51:11 +0000 (11:51 -0400)]
make all gather_*() use SkJumper_GatherCtx

SkJumper_GatherCtx is a prefix of SkImageShaderContext, so
this is a no-op.  It helps to keep things straight, and I
do want to split apart the GatherCtx from a new SamplingCtx.

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

7 years agoAdd/edit README files for infra/recipes
Eric Boren [Wed, 12 Apr 2017 14:17:36 +0000 (10:17 -0400)]
Add/edit README files for infra/recipes

Bug: skia:6473
Change-Id: I050df47a5a3f633263f0ca6258e83e96b78d7957
Reviewed-on: https://skia-review.googlesource.com/13123
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoFix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
Matt Sarett [Wed, 12 Apr 2017 15:52:47 +0000 (11:52 -0400)]
Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix

Fixes cts tests.

b/37161109
b/37237678

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

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

7 years agoRevert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""
Matt Sarett [Wed, 12 Apr 2017 15:50:08 +0000 (15:50 +0000)]
Revert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""

This reverts commit a50a11c17ed9037d3e60d8319727583dba803cec.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "SkColorSpaceXformer: Preserve local matrix on shaders"
>
> This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb.
>
> Reason for revert: Wrong thing to revert
>
> Original change's description:
> > SkColorSpaceXformer: Preserve local matrix on shaders
> >
> > Also, do not drop unknown shaders.
> >
> > Fixes cts tests.
> >
> > b/37161109
> > b/37237678
> >
> > Bug: skia:
> > Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
> > Reviewed-on: https://skia-review.googlesource.com/13246
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6
> Reviewed-on: https://skia-review.googlesource.com/13258
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

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

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

7 years agoRevert "Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local...
Matt Sarett [Wed, 12 Apr 2017 15:49:44 +0000 (15:49 +0000)]
Revert "Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix"

This reverts commit e5efa51b2acc86d1993132348d5b465855a653cc.

Reason for revert: MSAN

Original change's description:
> Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
>
> Fixes cts tests.
>
> b/37161109
> b/37237678
>
> Bug: skia:
> Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd
> Reviewed-on: https://skia-review.googlesource.com/13249
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

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

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

7 years agoRevert "SkColorSpaceXformer: Preserve local matrix on shaders"
Matt Sarett [Wed, 12 Apr 2017 15:48:35 +0000 (15:48 +0000)]
Revert "SkColorSpaceXformer: Preserve local matrix on shaders"

This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> SkColorSpaceXformer: Preserve local matrix on shaders
>
> Also, do not drop unknown shaders.
>
> Fixes cts tests.
>
> b/37161109
> b/37237678
>
> Bug: skia:
> Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
> Reviewed-on: https://skia-review.googlesource.com/13246
> Commit-Queue: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

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

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

7 years agotidy up ok help
Mike Klein [Wed, 12 Apr 2017 15:02:44 +0000 (11:02 -0400)]
tidy up ok help

-m, -s, and -w are now vias.

No real need to advertise -h given that if you just run ok with no
arguments it prints the help, but to be friendly accept -h and --help.

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

7 years agojumper, rgb<->hsl
Mike Klein [Wed, 12 Apr 2017 12:35:41 +0000 (08:35 -0400)]
jumper, rgb<->hsl

I've rearranged while porting, I hope making the logic clearer.
Exactly one gm is affected, highcontrastfilter.

The most interesting line is this, from hsl_to_rgb:

  F t2 = if_then_else(t < 0.0_f, t + 1.0_f,

I had to write 0.0_f (instead of the usual 0) to force Clang to compare
against a zero register instead of a 16-byte zero constant in memory.
Register pressure is high in hsl_to_rgb, so something must have kicked
in to prefer memory over zeroing a register.

No big deal.  It makes the code read more symmetrically anyway.

Change-Id: I1a5ced72216234587760c6f803fb69315d18fae0
Reviewed-on: https://skia-review.googlesource.com/13242
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoAdd SkCodec methods for individual frames
Leon Scroggins III [Wed, 12 Apr 2017 14:49:52 +0000 (10:49 -0400)]
Add SkCodec methods for individual frames

Add a version of getFrameInfo that returns information about a single
frame, allowing a client to skip creating the entire vector.

Add getFrameCount, for determining the number of frames in the image.

Reimplement std::vector<FrameInfo> getFrameInfo with the new methods.

Updates to the test:
- getFrameInfo(size_t, FrameInfo*) fails before parsing
- Test both versions of getFrameInfo
- Recreate the codec between tests, to test parsing

Change-Id: I77c19087f2f8dcf2c536d80167b18ad1ca96ae94
Reviewed-on: https://skia-review.googlesource.com/13190
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Chris Blume <cblume@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoFix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
Matt Sarett [Wed, 12 Apr 2017 14:21:30 +0000 (10:21 -0400)]
Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd
Reviewed-on: https://skia-review.googlesource.com/13249
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkColorSpaceXformer: Preserve local matrix on shaders
Matt Sarett [Wed, 12 Apr 2017 13:19:15 +0000 (09:19 -0400)]
SkColorSpaceXformer: Preserve local matrix on shaders

Also, do not drop unknown shaders.

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
Reviewed-on: https://skia-review.googlesource.com/13246
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoOverride setDrawFilter() in SkColorSpaceXformCanvas
Matt Sarett [Wed, 12 Apr 2017 13:13:39 +0000 (09:13 -0400)]
Override setDrawFilter() in SkColorSpaceXformCanvas

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I12d78b631b4056a78cbbb2962144e8cc62eb931a
Reviewed-on: https://skia-review.googlesource.com/13244
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRe-align tests in recipes with the names of reality
Kevin Lubick [Wed, 12 Apr 2017 12:31:48 +0000 (08:31 -0400)]
Re-align tests in recipes with the names of reality

For example, renaming GN_Android to Android

Bug: skia:
Change-Id: Ib71001b3cbecc3d5a0f3bb1bf0cf1f48dc23cfe4
Reviewed-on: https://skia-review.googlesource.com/13182
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoAdd docs for downloading prebuilt binaries from CIPD
Kevin Lubick [Mon, 10 Apr 2017 19:08:59 +0000 (15:08 -0400)]
Add docs for downloading prebuilt binaries from CIPD

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13101
Bug: skia:
Change-Id: Iefa8070c65881ff8c05a3b88aa8385fcc1a427ff

Change-Id: Iefa8070c65881ff8c05a3b88aa8385fcc1a427ff
Reviewed-on: https://skia-review.googlesource.com/13101
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoremove pixelref flag from google3
Mike Reed [Wed, 12 Apr 2017 11:40:04 +0000 (07:40 -0400)]
remove pixelref flag from google3

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

7 years agoDisable deferred proxies for Chrome branch
Robert Phillips [Tue, 11 Apr 2017 13:09:24 +0000 (09:09 -0400)]
Disable deferred proxies for Chrome branch

Chrome is branching again and Proxy instantiation is still occurring at a bad spot in Skia.

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

7 years agoRevert "Revert "remove unused SkBitmap::copyPixelsTo""
Mike Reed [Wed, 12 Apr 2017 11:07:35 +0000 (11:07 +0000)]
Revert "Revert "remove unused SkBitmap::copyPixelsTo""

This reverts commit 7bfdfda809e7273d7c962cc62ef9390b5007fb5a.

Reason for revert: google3 has been updated

Original change's description:
> Revert "remove unused SkBitmap::copyPixelsTo"
>
> This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db.
>
> Reason for revert: Blink-headless in Google3 needs an update too.
>
> Original change's description:
> > remove unused SkBitmap::copyPixelsTo
> >
> > Needs https://codereview.chromium.org/2812853002/ to land first
> >
> > Bug: skia:6465
> > Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64
> > Reviewed-on: https://skia-review.googlesource.com/13171
> > 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: I5e7c4b0d05772e4948cb1dffdcc40e095fbdba41
> Reviewed-on: https://skia-review.googlesource.com/13185
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
>

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

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

7 years agoswitch over to no lockPixels in pixelref
Mike Reed [Tue, 11 Apr 2017 19:50:02 +0000 (15:50 -0400)]
switch over to no lockPixels in pixelref

Bug: skia:6481
Change-Id: I7c32d2e6dcd4c9cd8aa761ac5c4794c916eb650a
Reviewed-on: https://skia-review.googlesource.com/13193
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoclean ups in SkPixelRef
Mike Reed [Tue, 11 Apr 2017 19:56:23 +0000 (15:56 -0400)]
clean ups in SkPixelRef
- isLazyGenerated no longer needed
- requestLock does not need a virtual

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

7 years agoAdd perspective shadows
Jim Van Verth [Tue, 11 Apr 2017 19:29:14 +0000 (15:29 -0400)]
Add perspective shadows

Bug: skia:
Change-Id: I1972f85f593828c982ea08143e1ed7eb70345eaa
Reviewed-on: https://skia-review.googlesource.com/10296
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRemove discard from GrRenderTarget & force it to always go through a RenderTargetContext
Robert Phillips [Tue, 11 Apr 2017 16:54:57 +0000 (12:54 -0400)]
Remove discard from GrRenderTarget & force it to always go through a RenderTargetContext

This is a bit sloppy in that it ignores some instances where discards were being issued before.

The creation of the temp RTContext in the RenderTarget's discard method was causing an extra split in the opLists.

This is split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops)

Change-Id: Ic366d303280635763b0fae238c4df37c04fb8503
Reviewed-on: https://skia-review.googlesource.com/11125
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSkSize can be aggregate-initialized
Hal Canary [Tue, 11 Apr 2017 16:12:02 +0000 (12:12 -0400)]
SkSize can be aggregate-initialized

Previosly, SkSize had a base class, which prevented it.

Also removes unused SkISize::clampNegToZero() and
SkSize::clampNegToZero().

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

7 years agoReland: Finish up mip opts: 2x3 and 3x2
Matt Sarett [Tue, 11 Apr 2017 15:53:24 +0000 (11:53 -0400)]
Reland: Finish up mip opts: 2x3 and 3x2

Original CL:
https://skia-review.googlesource.com/c/10028

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: Icf58a857a66102e843ae2585fda8d70c31a2b34d
Reviewed-on: https://skia-review.googlesource.com/13186
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoremove inline allocation in SkRecord
Mike Klein [Tue, 11 Apr 2017 14:36:48 +0000 (10:36 -0400)]
remove inline allocation in SkRecord

This is part one of many to making SkPicture simpler.

SkMiniPicture covers the really small allocations,
so there's really no reason for us to have these inline allocations.

BUG=skia:6484

Change-Id: I0e27ac747a6b15cf178db9639128fef757bc137b
Reviewed-on: https://skia-review.googlesource.com/13137
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoChange bitmapcache to not rely on lockpixels.
Mike Reed [Tue, 11 Apr 2017 16:03:44 +0000 (12:03 -0400)]
Change bitmapcache to not rely on lockpixels.

The Rec in the cache is the owner of the pixel memory
- discardable or
- malloc

Each external client has a pixelref that just points to those pixels,
and whose destructor will notify the rec.

This eliminates the dependency on lockPixels in pixelref, freeing us
to remove that entirely from pixelref.

Bug: skia:
Change-Id: If45ed0ae202a1211336626364235215253e8aa7c
Reviewed-on: https://skia-review.googlesource.com/10300
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoBlacklist DeferredTextureImage on Win Vulkan IntelIris540
Matt Sarett [Tue, 11 Apr 2017 15:25:37 +0000 (11:25 -0400)]
Blacklist DeferredTextureImage on Win Vulkan IntelIris540

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan

Bug: skia:
Change-Id: I2e465a4668956d4337ecde4f65081bf22b3b0e7a
Reviewed-on: https://skia-review.googlesource.com/13183
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoMake SkLiteDL::draw() const.
Mike Klein [Tue, 11 Apr 2017 15:32:33 +0000 (11:32 -0400)]
Make SkLiteDL::draw() const.

Nothing interesting here.  Just slapping const all over the place.

BUG=skia:6484

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

7 years agomake SkRecord normally SkRefCnt'd
Mike Klein [Tue, 11 Apr 2017 14:50:27 +0000 (10:50 -0400)]
make SkRecord normally SkRefCnt'd

SkRecord used SkNVRefCnt to avoid adding a vptr.

SkMiniPicture covers the really small allocations,
so there's really no reason to fret over an extra pointer here.

BUG=skia:6484

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

7 years agoRevert "remove unused SkBitmap::copyPixelsTo"
Mike Klein [Tue, 11 Apr 2017 15:37:50 +0000 (15:37 +0000)]
Revert "remove unused SkBitmap::copyPixelsTo"

This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db.

Reason for revert: Blink-headless in Google3 needs an update too.

Original change's description:
> remove unused SkBitmap::copyPixelsTo
>
> Needs https://codereview.chromium.org/2812853002/ to land first
>
> Bug: skia:6465
> Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64
> Reviewed-on: https://skia-review.googlesource.com/13171
> 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: I5e7c4b0d05772e4948cb1dffdcc40e095fbdba41
Reviewed-on: https://skia-review.googlesource.com/13185
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>

7 years agoCorrect GIF frame dependencies and track alpha
Leon Scroggins III [Tue, 11 Apr 2017 14:32:02 +0000 (10:32 -0400)]
Correct GIF frame dependencies and track alpha

Add SkCodec::FrameInfo::fAlphaType. The SkImageInfo for the SkCodec
specifies the SkAlphaType for the first frame, but the opacity can vary
from frame to frame.

When determining the required frame, also compute whether a frame has
alpha. Update how we determine the required frame, which had bugs.
(Update a test that had an incorrect required frame as a result.)

Add new test images covering cases that have been fixed:
- randPixelsAnim2.gif
It has the following frames:
A (keep)
B (keep) (subset)
C (disposePrevious) (covers B)
D (any) (does *not* cover B)

B and C depend on A, but D depends on B, since after disposing C, B
should be visible again.

- alphabetAnim.gif
Includes frames which fill the image size, with different disposal
methods and transparencies.

Change-Id: Ie086167711c4cac4931ed8c4ddaeb9c9b0b91fdb
Reviewed-on: https://skia-review.googlesource.com/9810
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoremove unused SkBitmap::copyPixelsTo
Mike Reed [Tue, 11 Apr 2017 03:31:23 +0000 (23:31 -0400)]
remove unused SkBitmap::copyPixelsTo

Needs https://codereview.chromium.org/2812853002/ to land first

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

7 years agoremove SkNx AVX code
Mike Klein [Mon, 10 Apr 2017 18:44:47 +0000 (14:44 -0400)]
remove SkNx AVX code

We can't realistically use AVX and SkNx together because of ODR
problems, so remove the code that may tempt us to try.

Remaining code paths using AVX:
  - one intrinsics-only routine in SkOpts_hsw.cpp
  - SkJumper

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

7 years agoFix symbolization of ASAN crashes
Kevin Lubick [Tue, 11 Apr 2017 12:51:33 +0000 (08:51 -0400)]
Fix symbolization of ASAN crashes

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

7 years agoAllow BF and BRD clients to request an output color space
Matt Sarett [Tue, 11 Apr 2017 13:51:32 +0000 (09:51 -0400)]
Allow BF and BRD clients to request an output color space

Bug: skia:
Change-Id: I0f0d3bfdd5c47544ab71167fd7984ee8e8ac5903
Reviewed-on: https://skia-review.googlesource.com/11601
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoMake sure NaNs clamp to 0 in color look up tables
Matt Sarett [Tue, 11 Apr 2017 13:26:24 +0000 (09:26 -0400)]
Make sure NaNs clamp to 0 in color look up tables

This operation assumes 0-1 input and guarantees 0-1 output.
The old clamp was poorly written, causing the possibility
for NaNs to not be set to 0.

BUG=709941
Change-Id: I691f0494a562a329967f5b0149a1ba04cbeb8464
Reviewed-on: https://skia-review.googlesource.com/13134
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "Support Canvas Clip on Blit Framebuffer"
Mike Klein [Tue, 11 Apr 2017 13:38:29 +0000 (13:38 +0000)]
Revert "Support Canvas Clip on Blit Framebuffer"

This reverts commit 1f1646dd861c4b78f0a935b45f7802c787dac198.

Reason for revert: Vulkan build failures, many non-Vulkan test failures.

Original change's description:
> 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.
>
> AND
>
> 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, 658277
>
> NOTREECHECKS=true
> NOTRY=true
> NOPRESUBMIT=true
>
> Change-Id: I36a54072ee15d035249ef0b0f6cf512e791dd218
> Reviewed-on: https://skia-review.googlesource.com/13085
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

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

7 years agoSkCanvas constructor with legacy flag for Android framework
Matt Sarett [Tue, 11 Apr 2017 12:46:01 +0000 (08:46 -0400)]
SkCanvas constructor with legacy flag for Android framework

Bug: skia:
Change-Id: I5b268ad03dde075f2710196d5ad2bd19249557f7
Reviewed-on: https://skia-review.googlesource.com/11788
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Rm makeRenderTargetContext in favor of deferred version"
Robert Phillips [Tue, 11 Apr 2017 12:23:17 +0000 (12:23 +0000)]
Revert "Rm makeRenderTargetContext in favor of deferred version"

This reverts commit d83ec0441279b79551b4ecb4598696249ea55145.

Reason for revert: various bot failures

Original change's description:
> Rm makeRenderTargetContext in favor of deferred version
>
> Change-Id: Ifdf67453607256ba7cdb0837263377bd83907212
> Reviewed-on: https://skia-review.googlesource.com/13001
> 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: I4e67a20cbe658b24725dcf386ac8bfdd127647ea
Reviewed-on: https://skia-review.googlesource.com/13131
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRm makeRenderTargetContext in favor of deferred version
Robert Phillips [Mon, 10 Apr 2017 15:10:22 +0000 (11:10 -0400)]
Rm makeRenderTargetContext in favor of deferred version

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

7 years agoSupport Canvas Clip on Blit Framebuffer
Eric Karl [Mon, 10 Apr 2017 18:38:23 +0000 (11:38 -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.

AND

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, 658277

NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I36a54072ee15d035249ef0b0f6cf512e791dd218
Reviewed-on: https://skia-review.googlesource.com/13085
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoremove kReturnNullForEmpty_FinishFlag feature
Mike Klein [Mon, 10 Apr 2017 14:07:46 +0000 (10:07 -0400)]
remove kReturnNullForEmpty_FinishFlag feature

It's unused, and doesn't appear to be correct, returning nullptr too
early when we should return a non-empty SkMiniPicture.

The mini-recorder path will return a zero-allocation SkEmptyPicture anyway.

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

7 years agoSkImageFilter::onMakeColorSpace() - more overrides
Matt Sarett [Mon, 10 Apr 2017 20:35:33 +0000 (16:35 -0400)]
SkImageFilter::onMakeColorSpace() - more overrides

Fills out most of the simple implementations.
Improves 22 gms in gbr-8888.

Bug: skia:
Change-Id: I881ade140993568263de75be51aed240d2de8cc6
Reviewed-on: https://skia-review.googlesource.com/13126
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd Galaxy S6 to CQ as an experimental bot.
Ben Wagner [Mon, 10 Apr 2017 19:09:02 +0000 (15:09 -0400)]
Add Galaxy S6 to CQ as an experimental bot.

BUG=skia:

Change-Id: I8455d5595c0d0700d23fde6171c578fcf3be9270
Reviewed-on: https://skia-review.googlesource.com/13100
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agogetDeferredTextureImageData(): preserve color space in legacy mode
Matt Sarett [Mon, 10 Apr 2017 15:03:27 +0000 (11:03 -0400)]
getDeferredTextureImageData(): preserve color space in legacy mode

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

7 years agoSkImageCacherator: Remove unneeded heuristic
Matt Sarett [Mon, 10 Apr 2017 15:13:00 +0000 (11:13 -0400)]
SkImageCacherator: Remove unneeded heuristic

This was the old way of handling color spaces.

This is now handled by chooseCacheFormat() / buildCacheInfo().

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

7 years agoPM/UPM conversion improvements
Brian Osman [Mon, 10 Apr 2017 17:42:48 +0000 (13:42 -0400)]
PM/UPM conversion improvements

Snap input values to N / 255 before doing PM/UPM conversions, and add
a new round-to-nearest conversion pair. With the pre-snapping, that
pair is chosen by (almost?) every GPU we have. This now lets us round
trip perfectly on Mali GPUs (which were falling back to SW before).

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

7 years agofix too-dark 565 (really, all legacy) gradients
Mike Klein [Mon, 10 Apr 2017 16:51:43 +0000 (12:51 -0400)]
fix too-dark 565 (really, all legacy) gradients

This CL reverts legacy destinations back to lerping bytes.
Lerping linear is only the correct behavior for gradients
drawing into colorspace-aware destinations.

As written we're lerping between de-sRGB'd colors but never
transforming the outputs back.  That leaves us in a weird
halfway-right-is-worse-than-wrong spot for legacy.

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