Commit Graph

29544 Commits

Author SHA1 Message Date
Brian Salomon
b17e63938f Add clone methods to unit test GrFragmentProcessor classes
Also adds testing of copying ImageStorageAccess and ref counts of proxies held by cloned FPs.

Change-Id: Ia23220bf65b4df83d1c874b46d8525cc3540f716
Reviewed-on: https://skia-review.googlesource.com/28004
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-28 18:02:52 +00:00
Greg Daniel
eee5183a32 Add placeholder GrMtlTypes in include/gpu/mtl
This is needed since there are currently no files in the include dir, and
some of our tests that check all the public headers complain if it doesn't
exists.

Bug: skia:6896
Change-Id: I3f70293b64b5096a55d6ba0ea5f4e6ebbfd7f62b
Reviewed-on: https://skia-review.googlesource.com/28003
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-07-28 17:11:51 +00:00
Yuqian Li
2f145bff0b Enable Delta AA by default
Bug: skia:
Change-Id: I1ff9e18cc667d719d7a692555ae5c0f9cdd88993
Reviewed-on: https://skia-review.googlesource.com/27721
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-28 15:33:27 +00:00
Cary Clark
8032b983fa bookmaker initial checkin
bookmaker is a tool that generates documentation
backends from a canonical markup. Documentation for
bookmaker itself is evolving at docs/usingBookmaker.bmh,
which is visible online at skia.org/user/api/bmh_usingBookmaker

Change-Id: Ic76ddf29134895b5c2ebfbc84603e40ff08caf09
Reviewed-on: https://skia-review.googlesource.com/28000
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2017-07-28 15:30:38 +00:00
Robert Phillips
acaa607328 Make op-level texture uploading be GrProxy-based
Change-Id: I898d626eff059fa7c687357b536d09409a174358
Reviewed-on: https://skia-review.googlesource.com/28001
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-28 15:22:57 +00:00
Yuqian Li
5d169ed337 Remove the temporary flag SK_NO_ANALYTIC_AA
We will then rebase the tests in Google3 before completely removing
SK_NO_ANALYTIC_AA.

Bug: skia:
Change-Id: I47ec0cde78374bd53f7cdf7c0f2f6607ca6c18c2
Reviewed-on: https://skia-review.googlesource.com/27801
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-28 15:11:27 +00:00
Brian Salomon
6b17ff664e Implement clone for GrLightingEffect descendants
Also use sk_sp for ref management of owned light object.

Change-Id: I2fa8427a9374351996c09f992f74cc83008605f1
Reviewed-on: https://skia-review.googlesource.com/28040
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-28 14:39:57 +00:00
Brian Salomon
13054a04b3 Add missing clone method to GrMorphologyEffect
Change-Id: Id0e435e7f8d055db336e5be80ae1c308197dd950
Reviewed-on: https://skia-review.googlesource.com/28042
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-28 14:35:57 +00:00
Eric Boren
b121be7ae7 Use correct clang-format in BUILD.gn
The bot was broken in https://skia-review.googlesource.com/c/27800/
Depot Tools' version is just a wrapper which looks for clang-format
under buildtools, which doesn't exist on the bots.

Bug: skia:6893
Change-Id: I32ae6c358735c9971e533064aa50a0e0520dd05a
Reviewed-on: https://skia-review.googlesource.com/28020
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-07-28 14:29:27 +00:00
Robert Phillips
4f101a77a7 Make GrGpuCommandBuffer's methods take a GrRenderTargetProxy (rather than a GrRenderTarget)
In https://skia-review.googlesource.com/c/26363/ (Remove origin field from GrSurface) I just passed
an extra GrSurfaceOrigin parameter to all these methods. Besides being verbose this also led to
the "discard" method having an origin (to support the GrVkGpuCommandBuffer). It think this approach
is better and is plausible if the GrGpuCommandBuffer is viewed as an intermediary between the
GrProxy-based Ops and the Gpu.

In isolation this CL doesn't really show why we want to percolate the Proxy down. Once GrSurface
no longer has an origin a lot of the GrGpu methods need it passed in explicitly. By having the
GrGpuCommandBuffer get the proxy it can then pass the origin to GrGpu and removes a layer of
functions with an extra origin parameter.

Change-Id: Ie223fdee930171a32a5923155a0322e9a9c2aaa9
Reviewed-on: https://skia-review.googlesource.com/27980
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-28 14:07:08 +00:00
Eric Boren
f7928b4f33 Add a bot to verify that generated SKSL files have not been hand-edited
Bug: skia:6893
Change-Id: I54480ddd1ad1989661393500044f9164a99ce7b0
Reviewed-on: https://skia-review.googlesource.com/27700
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-07-28 12:20:47 +00:00
Brian Salomon
3f6f965a5a Implement clone for 6 additional GrFragmentProcessor subclasses.
GrMagnifierEffect
GrMorphologyEffect
GrBicubicEffect
GrGaussianConvolutionFragmentProcessor
GrMatrixConvolutionEffect
GrTextureDomainEffect

Bug: skia:
Change-Id: I69721b9b95346b365723e5ee21dff2dee8884466
Reviewed-on: https://skia-review.googlesource.com/27900
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-28 11:54:47 +00:00
Brian Salomon
71603cca8e Remove the now unused GR_PROXY_MOVE macro
Change-Id: I9655a3032aea9c40e87742c76ad9a9ab42a159dc
Reviewed-on: https://skia-review.googlesource.com/27841
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-28 11:31:27 +00:00
Ben Wagner
ce3f44a866 Don't re-enter mutex in SkFontMgr_fontconfig.
The FCLocker lock cannot be held while calling fTFCache::add. The
~SkTypeface_fontconfig method must take the FCLocker lock to destroy its
FcPattern since a typeface may be destroyed by any last owner. However,
fTFCache may be the last owner of some of its cached typefaces, and so a
purge when calling ::add to make space for the new entry may cause a
typeface to be destroyed. As a result, createTypefaceFromFcPattern must
not hold the FCLocker lock when calling fTFCache::add.

Fortunately, the FCLocker lock is only needed to serialize calls into
FontConfig. If acquire and release were free then they would be used
around each individual call to FontConfig. As a result it is fine to
give up the lock at any point in Skia code so long as no FontConfig
calls are made while the FCLocker lock is not held.

Change-Id: I37224d4b38bf88ace482496ce7530c84158d2d2e
Reviewed-on: https://skia-review.googlesource.com/27663
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-07-27 22:49:16 +00:00
Robert Phillips
16d8ec66cd Pull non-substantive changes out of omnibus GrSurface CL
https://skia-review.googlesource.com/c/26363 (Remove origin field from GrSurface) is
already too large. This pulls some of the cosmetic changes out for separate review.
Change-Id: I1d8b95522144b2f4cbd916ef38faa3dde6f78087
Reviewed-on: https://skia-review.googlesource.com/27840
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-27 22:16:06 +00:00
Ben Wagner
713195071d Remove internal use of SkTypeface::Style.
Change-Id: I71cf04b12be95a54b7fb47d048ba1f8672ed9a8f
Reviewed-on: https://skia-review.googlesource.com/27760
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-07-27 21:30:45 +00:00
Cary Clark
23890a9ac8 address brianosman feedback
comments are here
https://skia-review.googlesource.com/c/23061/16

Some bugs pointed out are in the generation
code and will take more time to work out;
the changes here I could make immediately

R=brianosman@google.com
TBR=reed@google.com

Change-Id: I7497e5a220a5df597d0e881acd3747ee17856cd1
Reviewed-on: https://skia-review.googlesource.com/26901
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-07-27 20:53:50 +00:00
Ethan Nicholas
b9f6afb783 switched to infra version of clang-format for skslc
Change-Id: I3e993e271cb5e26816d37c70d9ad62acce3ed84c
Reviewed-on: https://skia-review.googlesource.com/27800
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-07-27 20:28:50 +00:00
Brian Salomon
f8480b9055 Implement clone() for Gradient GrFragmentProcessors
Also removes the hard stop gradient conditional compilation macro.

Change-Id: Idd56b5f3061db063d650a0090406ec192acc0b53
Reviewed-on: https://skia-review.googlesource.com/27661
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-07-27 20:06:33 +00:00
Yuqian Li
2e2d34b612 Revert "Remove the temporary flag SK_NO_ANALYTIC_AA"
This reverts commit dbce07d803.

Reason for revert: need rebaseline in Google3

Original change's description:
> Remove the temporary flag SK_NO_ANALYTIC_AA
> 
> It seems that this temp flag lives for too long...
> 
> Bug: skia:
> Change-Id: I48b49af8b7f372abac88a8cd5440def3791e635a
> Reviewed-on: https://skia-review.googlesource.com/27662
> Reviewed-by: Cary Clark <caryclark@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

TBR=caryclark@google.com,fmalita@chromium.org,liyuqian@google.com,reed@google.com

Change-Id: I35a91923f16f4e1f530fae20599240cde73438b6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/27722
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-27 19:49:21 +00:00
Brian Osman
b4d18735ff Remove GrTraceMarker and friends
This has been disabled for almost two years.

Bug: skia:
Change-Id: Idc1dbf2220514947d2ccd91968e6e173d44d1b86
Reviewed-on: https://skia-review.googlesource.com/27740
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-07-27 19:41:40 +00:00
Yuqian Li
dbce07d803 Remove the temporary flag SK_NO_ANALYTIC_AA
It seems that this temp flag lives for too long...

Bug: skia:
Change-Id: I48b49af8b7f372abac88a8cd5440def3791e635a
Reviewed-on: https://skia-review.googlesource.com/27662
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-27 18:38:33 +00:00
Mike Klein
f1b24e0dec rearrange SkJumper registers on 32-bit x86
There are not many registers on 32-bit x86, and we're using most to pass
Stage function arguments.  This means few are available as temporaries,
and we're forced to hit the stack all the time.  xmm registers are the
most egregious example: we use all 8 registers pass data, leaving none
free as temporaries.

This CL cuts things down pretty dramatically, from passing 5 general
purpose and 8 xmm registers to 2 general purpose and 4 xmm registers.
One of the two general purpose registers is a pointer to space on the
stack where we store all those other values.

Every stage function needs to use the program pointer, so that stays in
a general purpose register.  Almost every stage uses the r,g,b,a
vectors, so they stay in xmm registers.  The rest (destination x,y, the
tail mask, a pointer to tricky constants, and the dr,dg,db,da vectors)
now live on the stack.

The generated code is about 20K smaller and runs about 20% faster.

    $ out/monobench SkRasterPipeline_srgb 200
    Before: 358.784ns
    After:  282.563ns

Change-Id: Icc117af95c1a81c41109984b32e0841022f0d1a6
Reviewed-on: https://skia-review.googlesource.com/27620
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-07-27 18:33:13 +00:00
Robert Phillips
7311b40efb Make StencilPathArgs hold a GrRenderTargetProxy (rather than a GrRenderTarget)
Again, this will be useful when GrSurface does not have a origin field.

Change-Id: I0c4ef5b441eaf38f3489e8631aced11b11fdb6ac
Reviewed-on: https://skia-review.googlesource.com/27540
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-27 16:42:33 +00:00
Mike Klein
cd924dba04 clean up SK_SUPPORT_LEGACY_WIN32_JUMPER
Change-Id: Icae3c6ce80a0bef097ea1010a4d065cc9d5a4c88
Reviewed-on: https://skia-review.googlesource.com/27560
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-07-27 16:39:33 +00:00
Brian Salomon
216f2e08f2 Implement GrFragmentProcessor::clone for 6 additional subclasses.
PremulInputFragmentProcessor
UnpremulInputFragmentProcessor
PremulFragmentProcessor
ReplaceInputFragmentProcessor
SeriesFragmentProcessor

Change-Id: Ided1a6c6b66e12bfd8ee005950443333cc23b830
Reviewed-on: https://skia-review.googlesource.com/26680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-27 16:32:33 +00:00
Brian Salomon
b133ffe769 Remove Gr1DKernelEffect "helper" class.
Change-Id: I748e49eeacb782fb738c08d5475c442dbce3ad5a
Reviewed-on: https://skia-review.googlesource.com/27500
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2017-07-27 16:18:33 +00:00
Brian Salomon
164f6ecb84 Implement clone() for 4 additional GrFragmentProcessor subclasses
HighContrastFilterEffect
LumaColorFilterEffect
OverdrawFragmentProcessor
RRectsGaussianEdgeFP

Change-Id: Ie843e025e49dd46e3f75a5f79d399ddd3ceba5cd
Reviewed-on: https://skia-review.googlesource.com/26660
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-07-27 15:07:13 +00:00
Brian Osman
57bc3ea6fa Expose srgbDecodeDisableSupport in GrCaps
This will allow Flutter to workaround the lack of this extension on a
small number of devices.

Bug: skia:
Change-Id: I46e54aaffc0551a7a17758ebc2016b39bda19abf
Reviewed-on: https://skia-review.googlesource.com/27440
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-07-27 14:18:43 +00:00
Yuqian Li
7d99dad70b Unify DAA and AAA usage decision
Bug: skia:
Change-Id: I2481d872e072fdd638640ef2306aa89c1a1d6d94
Reviewed-on: https://skia-review.googlesource.com/26801
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2017-07-27 13:51:33 +00:00
Mike Reed
41a930f85b Revert "Revert "Fix SkPathRef deserialization malloc crash""
This reverts commit a4ce4b1f6b.

Fix SkPathRef deserialization malloc crash

If the path says it has more points/verbs/etc than the buffer could
be holding, then resetToSize could try to allocate something huge
and crash.

Bug: skia:
Change-Id: I23b8870e9f74386aca89fb8f9a60d3b452044094
Reviewed-on: https://skia-review.googlesource.com/26805
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-07-27 12:15:03 +00:00
Brian Salomon
6cd51b51d6 Remove GrSingleTextureEffect
Change-Id: I510cc0657f9433b206dc2ab643fa557667263294
Reviewed-on: https://skia-review.googlesource.com/27180
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2017-07-26 23:31:30 +00:00
Mike Reed
7f97f49a84 remove SK_SUPPORT_LEGACY_CODEC_NEW dead code
Bug: skia:
Change-Id: I59185b8acc00b6df854c613ba29d1002111fcb42
Reviewed-on: https://skia-review.googlesource.com/27240
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-07-26 22:10:10 +00:00
Mike Klein
154e6dadea factor Engine out of ok core
This makes Engines (task execution strategies: serial, thread, fork)
pluggable just like most of the rest of ok.  It removes the thread and
process limits, as I find myself rarely caring about what they are
exactly.  Instead of limiting to num-cores, we just allow any number of
concurrent threads, and any number of concurrent child processes subject
to OS limitations.

Change-Id: Icef49d86818fe9a4b7380efb60e73e40bc2e6b73
Reviewed-on: https://skia-review.googlesource.com/27140
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-07-26 21:36:40 +00:00
Robert Phillips
2890fbfe14 Make GrPipeline hold a GrRenderTargetProxy (instead of a GrRenderTarget)
In a future world where GrSurface no longer has an origin it will be
useful for the GrPipeline to be holding the GrRenderTargetProxy (which will
still have an origin).

Change-Id: I743a8cc07b6b92f8116227fb77b7c37da43cde8a
Reviewed-on: https://skia-review.googlesource.com/26804
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-26 20:59:00 +00:00
Ethan Nicholas
480c90afc4 moved changes out of autogenerated .cpp file and into source .fp file
Bug: skia:
Change-Id: Ia849b8745d10fe252eee04ae9444b98befac6e76
Reviewed-on: https://skia-review.googlesource.com/26700
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-07-26 20:47:41 +00:00
Brian Osman
1e09686840 Add --traceMatch argument to filter tracing categories
Bug: skia:
Change-Id: I1449f0f4d7d9ab6225d98c601eafa7461a2a7dde
Reviewed-on: https://skia-review.googlesource.com/27120
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-07-26 20:12:22 +00:00
Stan Iliev
f695b63841 Don't clamp in GrGLNonlinearColorSpaceXformEffect to support scRGB
Remove color clamp to allow for negative and greater than 1.0
values, when converting to scRGB.

Bug: b/62347704
Change-Id: I5b811d5dd464cf3bb126ad435a7d27c4563fdacc
Reviewed-on: https://skia-review.googlesource.com/26862
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-07-26 19:31:33 +00:00
Ben Wagner
789966d8dd Update Debian GTX960 dimensions to match bot.
Bug: skia:6890
No-Try: true
Change-Id: I7dea98375b4a146ceca74e4b1913cb281a4a3149
Reviewed-on: https://skia-review.googlesource.com/26802
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-26 19:22:05 +00:00
Brian Salomon
4331e464d3 Implement GrFragmentProcessor::clone() for lighting and perlin noise classes
Change-Id: I4c6d426f170711a06d833257422092bb4b9de20c
Reviewed-on: https://skia-review.googlesource.com/26945
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-26 19:20:04 +00:00
Brian Salomon
fb7c83a946 Compose and YUV fragment processor clone implementations
Change-Id: If4d9f1aaf0e5939afb5ad5825d7198db18541926
Reviewed-on: https://skia-review.googlesource.com/27060
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-26 18:45:21 +00:00
Mike Reed
a4ce4b1f6b Revert "Fix SkPathRef deserialization malloc crash"
This reverts commit df6660f64e.

Reason for revert: crashing dm on android and windows

Original change's description:
> Fix SkPathRef deserialization malloc crash
> 
> If the path says it has more points/verbs/etc than the buffer could
> be holding, then resetToSize could try to allocate something huge
> and crash.
> 
> Change-Id: I40e8db87e4f61abb23217281ab0365c6af222fa3
> Reviewed-on: https://skia-review.googlesource.com/24802
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,reed@google.com,enne@chromium.org

Change-Id: I06fa89c05b785652b097ae04e7ebc001a7c176b2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26944
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-26 18:35:01 +00:00
Mike Klein
737149126d Revert "ok, exit() child processes instead of _exit()"
This reverts commit 9ac801c12c.

Reason for revert: breaks threaded mode.

Original change's description:
> ok, exit() child processes instead of _exit()
> 
> We want the atexit() hook to print deferred logs (crash dumps, etc.) only when the main, parent process exits.  Ending the child processes with _exit() instead of exit() avoids calling atexit() hooks, but also global destructors.  This is more complex than we need: we can just print before main() exits.  Only the main, parent process gets there.
> 
> This now runs each child process' global destructors, which makes trace.json "work": we get a trace of whichever child process finishes last.  It's a start.
> 
> Change-Id: I0cc2b12592f0f79e73a43a160b9fd06dba1fee25
> Reviewed-on: https://skia-review.googlesource.com/26800
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=mtklein@chromium.org,brianosman@google.com

Change-Id: I695dddaab3b5a51e4698bb7222fc723b544a1d64
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/26943
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-07-26 18:31:12 +00:00
Brian Salomon
1a2a7abe96 More GrFragmentProcessor::clone() implementations.
GrSRGBEffect
EllipticalRRectEffect
CircularRRectEffect
GrNonlinearColorSpaceXformEffect
GrDeviceSpaceTextureDecalFragmentProcessor

Change-Id: I701fb7ed36e66414adba2eea73f6eed306691b49
Reviewed-on: https://skia-review.googlesource.com/26942
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-26 17:52:00 +00:00
Adrienne Walker
df6660f64e Fix SkPathRef deserialization malloc crash
If the path says it has more points/verbs/etc than the buffer could
be holding, then resetToSize could try to allocate something huge
and crash.

Change-Id: I40e8db87e4f61abb23217281ab0365c6af222fa3
Reviewed-on: https://skia-review.googlesource.com/24802
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-26 17:49:09 +00:00
Brian Salomon
fcc527b2c9 Implement clone for 4 additional GrFragmentProcessors.
GrConfigConversionEffect
GrConstColorProcessor
GrConvexPolyEffect
AARectEffect

Change-Id: I3b103ed045db0825fc193ee7d6e61c8fe8e5c634
Reviewed-on: https://skia-review.googlesource.com/26842
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-26 16:57:39 +00:00
Yuqian Li
e82a10bb18 Use ifdef instead of ifndef
Bug: skia:
Change-Id: I9f86f71247379713ffaf14e5c704c2ac4c6f9cbd
Reviewed-on: https://skia-review.googlesource.com/26861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-26 16:14:49 +00:00
Hal Canary
b4bd5ef99c SkPDF: Use DeviceGray for alpha masks.
See https://groups.google.com/forum/#!topic/pdf-dev/qmdjg3w7D8E

BUG=chromium:742058
Change-Id: Ia8c204a92cb2b9fc33fab60826a95e359db65f08
Reviewed-on: https://skia-review.googlesource.com/26822
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-07-26 16:13:29 +00:00
Yuqian Li
d902042c73 Fix viewer state that has empty state/option
If the value or option is empty (as was for kInstancedRenderingStateName),
our Android Java application will throw exception and skip the remaining
state objects. That would result in missing "Softkeys" and "FPS" for Raster
backend in Android Viewer app.

Bug: skia:
Change-Id: I6f600bbb94509ca5389eac2d681304a00427ecdb
Reviewed-on: https://skia-review.googlesource.com/26527
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-26 16:05:19 +00:00
Mike Reed
847068ce83 add Make factory to SkMemoryStream (simplify call-sites)
Bug: skia:6888
Change-Id: Ia4e432673ed089a91229697c8dde0489f220000d
Reviewed-on: https://skia-review.googlesource.com/26884
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-26 15:59:49 +00:00