Commit Graph

29064 Commits

Author SHA1 Message Date
Hal Canary
2d171397f8 SkPDF: GradientShaderPatterns use one hashmap not two.
Change-Id: Icdebaf891884aa06bdc36ed930d7bab5400bd04f
Reviewed-on: https://skia-review.googlesource.com/21529
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-07-05 19:54:17 +00:00
Mike Reed
c665e5b7df add --csv option to nanobench
This makes it trivial to copy/paste into spreadsheets for sorting/diffing

Bug: skia:
Change-Id: I02c920e2b8be8f59270da9fb9bb3e6763987e0bc
Reviewed-on: https://skia-review.googlesource.com/21378
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-05 19:46:07 +00:00
Leon Scroggins III
bace7a940a Remove CodecSrc::kIndex8_Always_DstColorType
We have removed support for drawing Index8, so stop testing it in DM.

Bug: skia: 6828
Change-Id: Ib2c4d3ebd371be704151a9f956c0ca2aaf2926a6
Reviewed-on: https://skia-review.googlesource.com/21525
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-07-05 17:49:10 +00:00
Mike Reed
1d2678f8ca doh -- fix capitalization
Bug: skia:
Change-Id: I25d4f4eeb3d06f3e2b64aad652ef91743494755a
Reviewed-on: https://skia-review.googlesource.com/21528
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-05 17:40:59 +00:00
Hal Canary
94fd66cc25 SkPDF: Refactor PDFShader to use ShTHashMap<>
my tests run ~14% faster.

  - Split out gradient shaders from image shaders.  new compilation
    unit: SkPDFGradientShader
  - Common functions InverseTransformBBox and PopulateTilingPatternDict
    moved to SkPDFUtils
  - Split SkPDFShader::State into image and gradient structures.
  - SkPDFCanon is now a simpler structure, with no logic of its own.
    I am considering just moving all of its fields into SkPDFDocument
  - SkPDFShader::State (the image/fallback shader) now is POD, making
    the use of a hashmap for canonicalization straightforward.
    Formerly, we used a linear search.
  - Do not bother trying to canonicalize the falback image shader.
  - SkPDFGradientShader::Key is not POD; comparison of two objects
    requires looking at the contents of two variable-sized arrays.
    We now pre-calculate the hash of the arrays using SkOpts::hash and
    store a hash for the object in the fHash field.
    Using that hash, we can now canonicalize using a hashmap instead
    of a linar search!
  - several static functions renamed to follow style guidelines
  - stop using codeFunction function pointer; I find that less
    clear than it could be.
  - operator==() for SkPDFShader::State and SkPDFGradientShader::Key is
    now much simpler and can now be inlined.
  - SkArrayEqual template in SkPDFUtils.h

No change to PDF output.

BUG=skia:3585
Change-Id: I354ad1b600be6d6749abccb58d13db257370bc0b
Reviewed-on: https://skia-review.googlesource.com/21376
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-05 17:27:54 +00:00
Chris Dalton
3a59665099 Revert "Indicate texel buffer support in Vulkan"
This reverts commit 2dd222639d.

Reason for revert: Programs test assertion failures

Original change's description:
> Indicate texel buffer support in Vulkan
> 
> Bug: skia:
> Change-Id: I116dd2b15320e3a61afba82b003b13a14ce6122f
> Reviewed-on: https://skia-review.googlesource.com/21402
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,csmartdalton@google.com

Change-Id: I41ee31624636c497125ff38bcb7ce0382d9f386b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/21582
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-07-05 17:23:35 +00:00
Florin Malita
8b9566a257 Disallow burst context instantiation for non-invertible CTMs
Similar to SkShaderBase::makeContext(), catch this condition and bail
early.

BUG=chromium:738682

Change-Id: I4c7a2036bed8ab8699023c4f8f3bc2161de0c41d
Reviewed-on: https://skia-review.googlesource.com/21521
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-05 17:14:14 +00:00
Mike Reed
7aad8cc2ff optimize for diff matrix types
Bug: skia:
Change-Id: I671e07c5bbb9e4ced92303c9959143324f7a6bdc
Reviewed-on: https://skia-review.googlesource.com/21523
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2017-07-05 16:56:24 +00:00
Mike Reed
1efedd948d update bots after renaming bench
See https://skia-review.googlesource.com/c/21407/

Bug: skia:
Change-Id: I94e34d1058c187d1f183aecedf6f33db2a6baad6
Reviewed-on: https://skia-review.googlesource.com/21527
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-05 16:45:34 +00:00
Chris Dalton
2dd222639d Indicate texel buffer support in Vulkan
Bug: skia:
Change-Id: I116dd2b15320e3a61afba82b003b13a14ce6122f
Reviewed-on: https://skia-review.googlesource.com/21402
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-07-05 16:11:42 +00:00
Chris Dalton
cb72722cb9 Add a nanobench for drawing glyphs as paths
Bug: skia:
Change-Id: I6e620befd2fe8e84f744e79e9287d9d2d19ffa57
Reviewed-on: https://skia-review.googlesource.com/21389
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-07-05 15:38:22 +00:00
Hal Canary
466c7d6597 header cleanup
Change-Id: I3f7667a1357194ae2bdd341ad9d46eb93920f404
Reviewed-on: https://skia-review.googlesource.com/21374
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-05 15:18:52 +00:00
Mike Reed
cdb9a6de0a Revert "enable new tiling for android"
This reverts commit fe11e458b0.

Reason for revert: android roll failed, even with newer images:

junit.framework.AssertionFailedError: 80 dpi: totalDiffPixelCount is 2
at junit.framework.Assert.fail(Assert.java:50)
at android.graphics.drawable.cts.DrawableTestUtils.compareImages(DrawableTestUtils.java:193)
at android.graphics.drawable.cts.BitmapDrawableTest.compareOrSave(BitmapDrawableTest.java:629)
at android.graphics.drawable.cts.BitmapDrawableTest.verifyPreloadDensityInner(BitmapDrawableTest.java:598)
at android.graphics.drawable.cts.BitmapDrawableTest.testPreloadDensity(BitmapDrawableTest.java:556)


Original change's description:
> enable new tiling for android
> 
> android roll will need to be coordinated w/
> https://googleplex-android-review.git.corp.google.com/#/c/2483600/
> 
> Bug: skia:
> Change-Id: Iee6d6cd246f2e5b64f24440a17791821c8fb2f94
> Reviewed-on: https://skia-review.googlesource.com/21369
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=djsollen@google.com,reed@google.com

Change-Id: Ic8cd056d0737a817d558cc1de9d90d8d334d0ec1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/21522
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-05 15:17:23 +00:00
Mike Reed
fe11e458b0 enable new tiling for android
android roll will need to be coordinated w/
https://googleplex-android-review.git.corp.google.com/#/c/2483600/

Bug: skia:
Change-Id: Iee6d6cd246f2e5b64f24440a17791821c8fb2f94
Reviewed-on: https://skia-review.googlesource.com/21369
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-07-05 13:08:23 +00:00
Yuqian Li
9d5dcda781 We should draw at least once for benchmark
Bug: skia:6792
Change-Id: Ia69c7601abead8f30963de709f22e27e04798319
Reviewed-on: https://skia-review.googlesource.com/20697
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-07-04 21:03:21 +00:00
Hal Canary
54dac1f359 experimental/documentation/gerrit.md: fix error
NOTRY=true
Change-Id: I40762016f28cd5814c79e4159fa4f73d585f6545
Reviewed-on: https://skia-review.googlesource.com/21377
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-04 17:23:04 +00:00
Mike Reed
bfa23d7d87 update blendmode bench
Bug: skia:
Change-Id: Id47fedd9e346035af0f14b9a9c171c79eec0d9cd
Reviewed-on: https://skia-review.googlesource.com/21407
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-04 16:47:29 +00:00
Mike Reed
6b59bf424c consolidate logic for matrix stage
Bug: skia:
Change-Id: Id1559b31692a1aed9aa4d15620b2019ae9c7c22b
Reviewed-on: https://skia-review.googlesource.com/21404
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-07-04 01:48:12 +00:00
Florin Malita
974aad487a Handle degenerate 2pt conical center values gracefully
SkMatrix::setPolyToPoly() may fail to map degenerate values.  Handle
this case explicitly, instead of assuming it never fails.

BUG=chromium:738746
TBR=

Change-Id: Ie1049b98f7e07ae5d6bdb706ba7b4a399388e5d8
Reviewed-on: https://skia-review.googlesource.com/21375
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-03 23:20:52 +00:00
Mike Reed
a920d367bf remove unneeded code for index8 imagse
Bug: skia:6828
Change-Id: I039d6bc35a1ed93ce747247f32fe4e9d5b09da0c
Reviewed-on: https://skia-review.googlesource.com/21400
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-03 19:07:25 +00:00
Mike Reed
0401c0d1d3 hide index8 support
Bug: skia:
Change-Id: I4ab7f4665cc9992319d3c9a5e02a417d503c189e
Reviewed-on: https://skia-review.googlesource.com/20121
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-03 13:58:18 +00:00
Hal Canary
f642cb337a experimental/documentation/gerrit.md: check for error case
NOTRY=true
Change-Id: I0eebe482111efa90dc2fb9d106bdacaf689a38d3
Reviewed-on: https://skia-review.googlesource.com/21371
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-02 16:46:20 +00:00
Ethan Nicholas
6feb69123b SPIR-V comma operator support
Bug: skia:
Change-Id: I9792674c49a0243017bb5f2b3c11d0678e62138e
Reviewed-on: https://skia-review.googlesource.com/21367
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-30 18:37:33 +00:00
wutao
039a7c70ce Added new edge handling mode (clamp and repeat) to Gaussian blur filter.
Gaussian blur filter will interpolate value by using out of bounds
coords, which is 0. This makes it appears darker near the bounds in the
blurred images. There are two issues: 1) when downsampling and
upsampling, we should use GrTextureDomainEffect kClamp_Mode to clamp
the texture coords to the bounds; 2) during Gaussian blur, we need to
clamp to texture bounds.

BUG=622128
TEST=cc_unittests, GM image test & manual. Some test results can be found at:
https://bugs.chromium.org/p/chromium/issues/detail?id=622128#c49
Change-Id: I9283da1d91efb0da94a991f2d372e9f62c288bdc
Reviewed-on: https://skia-review.googlesource.com/20465
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-30 18:11:16 +00:00
Florin Malita
981deec8b2 Delete non-raster-pipeline SkTwoPointConicalGradient impl
Change-Id: If39a2b01d6099fef14695a4ce05b57a3d5c3d99c
Reviewed-on: https://skia-review.googlesource.com/21320
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-30 18:09:46 +00:00
Mike Klein
9f183505ac clean up GCC 6.3 workaround
This is all kind of silly... this is just a little bit of code that's
not really reachable, but there to satisfy compilers that can't figure
that out.

Change-Id: Ib39e8bf0fd26e28541cfad37c7ea135a30dbe85a
Reviewed-on: https://skia-review.googlesource.com/21365
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-30 16:54:24 +00:00
Hal Canary
80fa7cea93 SkPDF: simplify SkPDFGraphicState
- Separate graphic state objects for Stroke and Fill.
  - SkPDFGraphicState::GetGraphicStateForPaint simplified.
  - No more SkPDFGraphicState objects.Simplify SkPDFCanon.

All PDFs render the same.  Most PDFs are slightly smaller, especially
those from captured web pages.

Change-Id: Id9605c1d7495645da558d5f378ba585cdc201bba
Reviewed-on: https://skia-review.googlesource.com/21343
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-06-30 16:47:14 +00:00
Hal Canary
a062258e76 SkPDF: clean up fRasterDpi
- PDFDevice no longer has a fRasterDpi; simply queries document.
  - #define DPI_FOR_RASTER_SCALE_ONE becomes constexpr float.
  - PDFShader::GetPDFShader no longer takes rasterScale or dpi
  - Remove un-needed factory functions.  We're all adults here.

Change-Id: Id2ce75d4e61af385763ccfb1db210465a1600067
Reviewed-on: https://skia-review.googlesource.com/21348
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-06-30 15:37:45 +00:00
Robert Phillips
1c9686bfa5 Speculative "fix" for crash in analyzeProcessors
From the bug it looks like a null fragment processors may be getting into the processor set. This CL tries to plug any gaps in our fragmentProcessor handling.

The only real substantive part to this CL is the addition of some "if (!fp) { return nullptr; }" blocks.

Everything else is just to add chokepoints for processor allocation.

Bug: 734076
Change-Id: I4952b1a05bc6690d5aa09de977fa6dc54c80338a
Reviewed-on: https://skia-review.googlesource.com/21267
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-30 15:29:50 +00:00
Greg Daniel
95581bbba1 Allow caps on hairlines for gpu dashed lines
Bug: skia:
Change-Id: Ie3b61e0a308f7cbec65166f2f2ac4fe3cc5d16d0
Reviewed-on: https://skia-review.googlesource.com/21364
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-30 15:21:10 +00:00
Eric Boren
d150e84352 Rename CT bots back to "Ubuntu"
Speculative fix for decode failure

Bug: skia:6818
Change-Id: I7db0afb87f42cc8372782409cfe74fdb715f95f0
Reviewed-on: https://skia-review.googlesource.com/21362
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-06-30 14:53:39 +00:00
Eric Boren
101f3f304d Valgrind suppressions for new Debian 9 GPU bot
Bug: skia:
Change-Id: I813fe71812ec65778b48b8b13f238b8df7b8f8cd
Reviewed-on: https://skia-review.googlesource.com/21360
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-30 14:53:38 +00:00
Eric Boren
4f6ffaa4fe Switch back to the GTX 660 bot on the CQ
It seems to be stable after upgrading to Debian 9.

Bug: skia:
Change-Id: I6c89f14748da177c9b0ede8da1da492564e66118
Reviewed-on: https://skia-review.googlesource.com/21361
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-06-30 14:33:06 +00:00
recipe-roller
01eb360ce0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/5b593358a92367ac5f8dc80f1a853aa972356a12 gclient flatten: skip empty fields (phajdan.jr@chromium.org)
  https://crrev.com/665a4398b54fdee66c2c9d16c88823c7c55f2e6b git-cl-upload: warn if no rietveld project specified (agable@chromium.org)
  https://crrev.com/021372392977ab78a41c18e99897e64589385e7b Rietveld upload.py: send remote url instead of root hash (agable@chromium.org)
  https://crrev.com/897bf0b0836110c11866f745c2dc5f506b864d56 git-drover: send mail and don't use WIP mode (agable@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icd57b3706904036e9cb3628ff8628b0061d690e4
Reviewed-on: https://skia-review.googlesource.com/21344
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-29 22:50:50 +00:00
Eric Boren
25062cf420 Fix missing clang_linux package for *SAN
Bug: skia:
Change-Id: I7df6434a5fc538bb070f02efd3e211e1f57aecb5
Reviewed-on: https://skia-review.googlesource.com/21268
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Eric Boren <borenet@google.com>
2017-06-29 19:56:50 +00:00
Eric Boren
47f0709aac Update CQ extra trybots after switch to Debian
Bug: skia:
Change-Id: I6611638097b473d719106c239012b5382d962941
Reviewed-on: https://skia-review.googlesource.com/21266
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-29 19:35:40 +00:00
Eric Boren
fb2050f416 Use the updated local Debian 9 bots
Bug: skia:6612
Change-Id: I569eae4643802a5f081da028bc21addeda48679b
Reviewed-on: https://skia-review.googlesource.com/21160
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-06-29 19:33:00 +00:00
Mike Reed
41dc6cc621 remove unreachable samples for non-N32 imageshaders
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Bug: skia:
Change-Id: I2d9a22b22d72c81a742b8fd497797bff8174915b
Reviewed-on: https://skia-review.googlesource.com/21264
Commit-Queue: Eric Boren <borenet@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-06-29 19:13:50 +00:00
Greg Daniel
5d00f008ce Fix to GLProgramTest dashing
Bug: skia:
Change-Id: Ibe78691907b62afca4c68b6e4e0d2d49c49c210f
Reviewed-on: https://skia-review.googlesource.com/21263
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-29 17:50:13 +00:00
Florin Malita
3d96f06d9f Always use raster pipeline for SkTwoPointConicalGradient
Change-Id: I14fc27c5ba8d6fd58df193a172148b7f5aca20bf
Reviewed-on: https://skia-review.googlesource.com/21262
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-29 17:44:30 +00:00
Chris Dalton
4a80f5eec4 Decrease the tolerance for classifying degenerate cubics
Bug: skia:
Change-Id: I118f52301146ed7a7333d4f6bd2297d500a0df97
Reviewed-on: https://skia-review.googlesource.com/21187
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-06-29 17:34:20 +00:00
Greg Daniel
5fb30566b4 Fix gpu dashing for case when circle dashes are large enough to overlap
Bug: skia:
Change-Id: I7153b28103c5ca0947c37d57357b64bf2aa884e5
Reviewed-on: https://skia-review.googlesource.com/20979
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-29 16:56:49 +00:00
Mike Klein
b8d88d72cb update long out of date comment
Change-Id: I3dead53a30992edd032f16e6711b97bbf76a0e36
Reviewed-on: https://skia-review.googlesource.com/21261
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-29 16:56:09 +00:00
Mike Reed
9c1d780228 remove filterSpan from SkColorFilter
Bug: skia:
Change-Id: Ie8a31ea8131c08d251a825622484342e3e174474
Reviewed-on: https://skia-review.googlesource.com/21207
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-06-29 16:09:37 +00:00
xidachen
185a3798db Fix memory leak in SkImageFilter
In our current implementation of SkImageFilterCache, when the
removeInternal() function is called, the Value is removed, but their
corresponding keys are not always removed in SkImageFilter. That could
result in memory leak.

In this CL, we made changes such that the Value structure now keeps
a pointer to the SkImageFilter. Each time when the removeInternal()
is called, we ask the SkImageFilter to remove the associated keys.

Bug: 689740
Change-Id: I0807fa3581881ad1530536df5289e3976792281f
Reviewed-on: https://skia-review.googlesource.com/20960
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-29 15:51:17 +00:00
Florin Malita
9026fe13a7 2pt conical stage for focal-point-outside case
A couple of annoyances here:

1) the prev vector_scale stage is not usable for masking, as NaN values can propagate through
   => switch to actual masking

2) for the outside case, we must select the min root when the gradient is flipped
   => split into two templated stages (_min, _max)

  (I'm not convinced that we need to flip the gradient for RP at all; we can investigate later)

Change-Id: I0283812d613a53124f2987d1aea1f26e4533655e
Reviewed-on: https://skia-review.googlesource.com/21162
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-29 15:34:47 +00:00
Ethan Nicholas
762466e9fe Re-re-land sksl fragment processor support
This reverts commit 5ce3972055.

Bug: skia:
Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6
Reviewed-on: https://skia-review.googlesource.com/21108
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-29 14:57:47 +00:00
recipe-roller
e78c8ed9cb Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/70f4e24d1524e7556ac7328e62daf4ab42bb8d06 git-cl: upload changes in WIP unless --send-mail (agable@chromium.org)
  https://crrev.com/afd527777845559fe305399a362702f2e2d7e4ab git-cl-upload: make it possible to exit WIP mode (agable@chromium.org)
  https://crrev.com/29c2afdb3080dd7c8137710530996b80de4033bf Fix hanging powershell (tobias.hilbrich@gmail.com)
  https://crrev.com/c833946a1fb6bf7bab355433faeff98d4531e1b5 Remove const NSObject global presubmit. (thakis@chromium.org)
  https://crrev.com/844cf2963be2f1e178382cfaf2906a7215746368 git-cl: only set WIP on first upload (agable@chromium.org)
  https://crrev.com/017bcf67d9b5eabc46edf8bdcdb12673d3ae3fb0 Fix flattened hooks_os list formatting. (mmoss@google.com)
recipe_engine:
  https://crrev.com/49d884b8bf92c358eab83cf2da43ef9863a89bbb file: correctly pass --symlinks after the command name (phajdan.jr@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ida1f6e22788f1bb81c225b85b2b6e31118b1d48e
Reviewed-on: https://skia-review.googlesource.com/21205
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-29 14:49:47 +00:00
Mike Klein
e43fba1d64 clean up colorfilter sprite blitters
Instead of rejecting all sprite blitters when there's a color filter,
just remove the old legacy color filter sprite blitters.  The
SkRasterPipelineSpriteBlitter can still handle color filters... no need
to fall back to the general shader (gather) blitter.

Change-Id: Ib27f3e153612d0d904093da68223c2b862b17f63
Reviewed-on: https://skia-review.googlesource.com/21204
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-29 14:35:06 +00:00
Mike Klein
5f46e96757 remove S4444 sprite blitters
These can fall through to the SkRasterPipelineSpriteBlitter just fine.

Change-Id: I56f4f177475b233fd2d3352df1ecddc47be0d37d
Reviewed-on: https://skia-review.googlesource.com/21203
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-06-29 14:10:13 +00:00