Commit Graph

28766 Commits

Author SHA1 Message Date
Leon Scroggins III
1f6af6baad Consolidate decoding frames into SkCodec
Add a new private method to SkCodec that handles Options.fFrameIndex:
- Check to ensure the index is valid
- Call onGetFrameCount to force parsing the stream
- Recursively call getPixels (it should be complete, so no need for
  incremental decoding) to decode the prior frame if necessary
- Zero fill a RestoreBGColor frame

Call the method in getPixels and startIncrementalDecode, and remove
duplicate code from GIF and WEBP.

Remove support for scaling frames beyond the first, which is currently
unused.

Preserve the feature of SkGifCodec that it will only parse to the end
of the first frame if the first frame is asked for. (Also note that
when we continue a partial frame, we won't force parsing the full
stream.) If the client only wants the first frame, parsing the rest
would be unnecessary. But if the client wants the second, we assume
they will want any remaining frames, so we parse the remainder of the
stream. This simplifies the code (so SkCodec does not have to ask its
subclass to parse up to a particular frame).

Update tests that relied on the old behavior:
- Codec_partialAnim now hardcodes the bytes needed. Previously it
  relied on the old behavior that GIF only parsed up to the frame being
  decoded.
- Codec_skipFullParse now only tests the first frame, since that is the
  case where it is important to skip a full parse.

TBR=reed@google.com
No changes to the public API.

Change-Id: Ic2f075452dfeedb4e3e60e6cf4df33ee7bd38495
Reviewed-on: https://skia-review.googlesource.com/19276
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-12 20:55:59 +00:00
Mike Klein
13b6afd148 DM: use SkPngEncoder
Change-Id: If1360bee50c8c360e4b1edf09c8a39aa32a59eb9
Reviewed-on: https://skia-review.googlesource.com/19520
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-12 20:45:49 +00:00
Matt Sarett
1950e0a868 Always encode images with sRGB encoded pixels
Bug: skia:
Change-Id: Icb25bc21a30e88f21df5b0e267d5a3a05535e44a
Reviewed-on: https://skia-review.googlesource.com/19544
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-12 20:38:49 +00:00
Yuqian Li
ca50b87403 Combine duplicate code in preparing clipRgn for fill_path
Bug: skia:
Change-Id: I52ed98491457aa426e2bb74a29131f4a20330017
Reviewed-on: https://skia-review.googlesource.com/19341
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
2017-06-12 20:03:28 +00:00
Mike Klein
b1e6cfdb28 make make{SRGB,Linear}Gamma() const
Change-Id: If20a43a905ae65643d071978b345d9ff09c04cf1
Reviewed-on: https://skia-review.googlesource.com/19541
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-12 19:44:38 +00:00
Brian Salomon
9bada5475f Revert "Revert "Expand partial render target write pixels workaround.""
New version limits the workaround to unorm configs.

This reverts commit fdd117025f.

Change-Id: I47a08a0ea4cf1acd88ca3c1bf9922cf0a8d215cc
Reviewed-on: https://skia-review.googlesource.com/19490
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-12 19:31:53 +00:00
Mike Reed
eb7dc794df remove dead code associated with SK_SUPPORT_LEGACY_RASTERPIPELINE
Now we just look at the paint to decide if the user wants to dither.

Needs this to land first:
https://skia-review.googlesource.com/c/19448/

Bug: skia:
Change-Id: I31940696e114922bcc8fb9ca3c24c2eb0a622800
Reviewed-on: https://skia-review.googlesource.com/19496
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-12 18:44:28 +00:00
Eric Karl
7a8c84c6c9 Reland DeferredTextureImageData low-bit-depth/dithering support
Cause DeferredTextureImageData functionality to support low bit depth
(4444, 565) image formats (with dithering).

Updated to handle colorspace + 4444 colortype correctly.

Bug: 720105
Change-Id: Ib7e14d937849f4f6b08fda6992a240bb203d0089
Reviewed-on: https://skia-review.googlesource.com/19094
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-12 18:27:48 +00:00
recipe-roller
a8d45e5220 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/7e50261c2cd2868778937d06e51bc52712d0365f gclient: freeze vars to prevent accidental modification (phajdan.jr@chromium.org)
recipe_engine:
  https://crrev.com/6d2596f2b4183b3abc59b92d0298e781e02d1687 [generator_script] constrain generator_script to have a stricter API. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ifc54c61db26d2c4a5d05ed71ab08a024ec7e811e
Reviewed-on: https://skia-review.googlesource.com/19522
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
2017-06-12 18:16:53 +00:00
Matt Sarett
b6759dd16e Revert "Revert "Disable F16-nullptr sources""
This relands the original change with a modification.  We should
not check for non-null pixels because this breaks the Android
hw bitmap use case.

Bug: b/62482405
Change-Id: I081412bb46754d33b69e02e5754f04a082e081ae
Reviewed-on: https://skia-review.googlesource.com/19494
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2017-06-12 18:09:03 +00:00
Mike Klein
5e819cac11 fix f16 encoding
We'll encode F16 .pngs at 16-bit linear, so don't to_srgb them.
We'll encode F16 .jpgs and .webps as 8-bit sRGB, so tag them as sRGB.

Change-Id: Ibc5b5e2d3aea68cdf1531026cbe8b6191f7e39ea
Reviewed-on: https://skia-review.googlesource.com/19498
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-12 18:08:03 +00:00
Chris Dalton
390f6cd6f9 Convert SkClassifyCubic to double precision
Even though it's in homogeneous coordinates, we still get unfortunate
artifacts if this math is not done in double precision. Prioritizing
correctness for now; we can revisit in the future as the need for
performance dictates.

Bug: skia:
Change-Id: If416ef6b70291f1454fcb9f7630d1108644ac2a5
Reviewed-on: https://skia-review.googlesource.com/19501
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-06-12 17:55:45 +00:00
Stephen White
e3a0be73a6 GrTessellator: fix two NaN issues.
If a point in the path rounds to +inf/-inf, the intersection code can
produce NaN, which is unsortable. Fix: ignore non-finite intersections.

Quadratic interpolation can sometimes produce NaN, which will never
satisfy the flatness criterion. Abort if any of the interpolated points
are non-finite.

Bug:732023
Change-Id: If5881796e589c75b8f74459f42d00918619713a2
Reviewed-on: https://skia-review.googlesource.com/19467
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2017-06-12 17:44:23 +00:00
Ben Wagner
50b84682c8 [infra] Isolate tasks don't need compile task.
No-Try: true
Change-Id: I4372c50b183d040e5145ac3ca665cd813da6256a
Reviewed-on: https://skia-review.googlesource.com/19497
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-06-12 17:32:58 +00:00
Mike Reed
6f9cd0a294 enable rasterpipeline for android
Bug: skia:
Change-Id: I6296fa0bd3b14ffc9ed0b3630196a794f1556299
Reviewed-on: https://skia-review.googlesource.com/19448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-12 16:54:37 +00:00
Robert Phillips
ffaa47e0fe Roll ANGLE
5978e28d3a..0492d44797

Change-Id: I576dc57619434db7f7e3c82f97473b773307df3c
Reviewed-on: https://skia-review.googlesource.com/19447
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-12 16:00:07 +00:00
Robert Phillips
db4062038c Re-enable deferred proxies in Chrome
Change-Id: I6dad0c1d3ff9f81e13625988b00c3f844128d7e7
Reviewed-on: https://skia-review.googlesource.com/19446
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-12 15:59:47 +00:00
Robert Phillips
c9c06d4586 Remove GrTGpuResourceRef specializations
This template is only used for GrBuffers now.

Change-Id: Ia9e95576b01124657e64007231fbc0a83276e13f
Reviewed-on: https://skia-review.googlesource.com/19484
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-12 15:24:44 +00:00
Mike Klein
03a787968a append(from_srgb) -> append_from_srgb(kUnpremul)
No behavior change here, just using the safe, non-asserting API...

Change-Id: I982079a44dad311850b383d1ef44c6f0f4d3edea
Reviewed-on: https://skia-review.googlesource.com/19486
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-12 15:23:41 +00:00
recipe-roller
5de25aa140 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.
recipe_engine:
  https://crrev.com/c7595ad0dd704f72e4765e2645501c553bef3af1 [file] fix "rmtree" on non-dir path (dnj@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0dfd155a5ee4899b09731fa6207e0124f8cadc46
Reviewed-on: https://skia-review.googlesource.com/19483
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-12 15:16:24 +00:00
Brian Salomon
6d9c88bd6a Modify Adreno 3xx workaround to toggle face culling rather than call glFlush.
This fixes some correctness issues introduced by the previous workaround in MSAA gm images. It hopefully improves performance regressions introduced in MSAA benchmarks from calling glFlush.

A comment on the workaround is updated to indicate that the original line-drop-out bug was seen on the N5 running driver 127.0. It simply showed up in different GMs that on the N7 running 127.0

Bug: skia:6755
Change-Id: Ief066fd9b223c043a80e7fe07ff13aac07a48970
Reviewed-on: https://skia-review.googlesource.com/19481
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-12 14:46:20 +00:00
Mike Reed
ce9514c6cd remove unneeded proc fields
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Bug: skia:
Change-Id: Ibf997c8d19a045d41d3e92b8db63c36f8fa10b3e
Reviewed-on: https://skia-review.googlesource.com/19441
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-12 14:44:30 +00:00
Mike Klein
fc3341632f port encode_bitmap_for_png() to SkRasterPipeline
This logically shouldn't change anything, but it does a bit:
   - no diffs in 565
   - sRGB and 8888 show minor diffs, only when unpremul is non-trivial
   - f16 shows minor diffs all over, and major ones in shallow gradients

I think the shallow gradient diffs make sense. F16's high-precision is
being quantized down to a much narrower range (something like 10-40
values), so where the lines are drawn between sRGB bits will come down
to all sorts of things, especially rounding.

Change-Id: I156b7c613b73d6d6089221e61d0c529798ac1f9f
Reviewed-on: https://skia-review.googlesource.com/19449
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-12 14:41:15 +00:00
Hal Canary
197ca9b0d1 SkPDF: consolodate glyph runs on BUILD_FOR_WIN
Change-Id: I455ebe0bec52752ccbcaa5dc5891cbeb529cb8c0
Reviewed-on: https://skia-review.googlesource.com/16871
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-06-12 14:37:45 +00:00
Ethan Nicholas
a51d7137ec added SPIR-V RelaxedPrecision
Bug: skia:5524
Change-Id: I716b6bb8da95acb72ba71d083eb8b40cafbc6af8
Reviewed-on: https://skia-review.googlesource.com/19266
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-12 14:36:10 +00:00
Ethan Nicholas
b310fd597f fixed issue with SkSL dead code elimination
Bug: skia:6747
Change-Id: I8566f0f6822a452167079cca004730ec0db318a8
Reviewed-on: https://skia-review.googlesource.com/19275
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-12 14:32:40 +00:00
Mike Klein
2ee0f42a4b only SkHalfToFloat_finite_ftz(uint64_t hs) is called
This just cleans up an unused half->float entry point.

Change-Id: I7b869d3fd049d807453745c3cca4eab1162848d8
Reviewed-on: https://skia-review.googlesource.com/19451
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-12 13:49:10 +00:00
recipe-roller
5143f2f376 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/433d34c700138f8aa509f14e9a5c1b19e63e5ede Update vpython version. (dnj@chromium.org)
  https://crrev.com/a07816ddce78fcbf5f865a582b7895902f9bb9a2 [infra_paths] Don't export "cleanup" for remote. (dnj@chromium.org)
  https://crrev.com/2c376aa21bef061e6529c1459eb161ce31140d7c git cl: Fix incorrect notify parameter when setting TBR. (tandrii@chromium.org)
  https://crrev.com/bacbdb9a559c58d0fe462422c913710fd2f38677 git-cl-patch: fix --is-ancestor flag (agable@chromium.org)
  https://crrev.com/354e1d23e0bd8309540a6d9db7742f1bd9109ecf git cl: improve warning. (tandrii@chromium.org)
  https://crrev.com/75e7872acfdd29a4939b08db8e5751f68eb69fc9 Convert notify parameter inside gerrit_util (agable@chromium.org)
  https://crrev.com/480b86701206e7a28c67343fc0e2cebc02278a7b [cipd] bump client version (iannucci@chromium.org)
  https://crrev.com/3a4a725026d23e8ae1cb926e963e6df722f456d5 [recipes] add .gitattributes for proper recipe bundling (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I34555359244ca1b2d901556b298bccc5d7447d5b
Reviewed-on: https://skia-review.googlesource.com/19443
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-12 12:23:20 +00:00
Robert Phillips
888e9f2c93 Init fDevKLMMatrix in GrGLCubicEffect (possible valgrind fix)
TBR=bsalomon@google.com

Change-Id: I97357291d6d4098caecc9ac37348c9b9436ce11b
Reviewed-on: https://skia-review.googlesource.com/19442
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-12 12:20:10 +00:00
recipe-roller
a6e46865ac Roll recipe dependencies (nontrivial).
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).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/59a74ed5585087e85ff4b7fa2ac18ef3648d05b0 Add cleanup dir, use with bot_update. (dnj@chromium.org)


Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9021158a90cb8ba0c939a45c2d480271506da65b
Reviewed-on: https://skia-review.googlesource.com/19099
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-12 11:44:40 +00:00
UpdateSKPs
22a0698334 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Id63ab69479d27e3e42179f29275d159de5c7fbbc
Reviewed-on: https://skia-review.googlesource.com/19420
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-06-11 06:05:05 +00:00
Mike Reed
2f07c28a86 remove unneeded methods
Bug: skia:
Change-Id: I7256abb1a56abf961e66c399e868a8eb2478c02b
Reviewed-on: https://skia-review.googlesource.com/19396
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-10 18:31:13 +00:00
Mike Reed
5eee919c46 remove unneeded SK_API
Bug: skia:
Change-Id: I4400d1925ed9bb3daef8b3c17fe0f188925732cd
Reviewed-on: https://skia-review.googlesource.com/19397
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-10 16:43:17 +00:00
Mike Reed
8d3f4433d8 SkXfermode no longer needs to e a flattenable
SkArithmeticMode is unreachable, so delete it

Bug: skia:
Change-Id: Ibe4c48fcf756280569c4b302da8d96bd4e21b717
Reviewed-on: https://skia-review.googlesource.com/19394
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-10 15:29:24 +00:00
Mike Reed
f449ded72a attempt to fix compiler error
../../third_party/skia/src/core/SkBlendMode.cpp: In function 'SkPM4f SkBlendMode_Apply(SkBlendMode, SkPM4f, SkPM4f)':
../../third_party/skia/src/core/SkBlendMode.cpp:133:1: error: unrecognizable insn:
 }
 ^
(insn 48 47 49 7 (set (reg:V4SF 112 [ D.89567 ])
        (unspec:V4SF [
                (mem/c:V4SF (reg/f:SI 104 virtual-incoming-args) [0 MEM[(const __builtin_neon_sf[4] *)&src]+0 S16 A32])
            ] UNSPEC_VLD1)) /b/c/b/android/src/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/include/arm_neon.h:8693 -1
     (nil))
../../third_party/skia/src/core/SkBlendMode.cpp:133:1: internal compiler error: in extract_insn, at recog.c:2202

Bug: skia:
Change-Id: I85e98e858d00b8b505c6676e9a9dc762f0ccb25c
Reviewed-on: https://skia-review.googlesource.com/19392
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-10 00:23:17 +00:00
Mike Reed
63544a42f6 remove unused arithmetic code
Bug: skia:
Change-Id: I51d382ba8ddb75dff97dd8d773f7a4f3f10663da
Reviewed-on: https://skia-review.googlesource.com/19406
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-09 21:27:09 +00:00
Mike Klein
cb3ceb79cb CanOverflow -> ClampIfNeeded
Centralize the clamping in ClampIfNeeded, and switch it to clamp_1.

Change-Id: I056ac029d3ddc81e3f0f194f2b9c9924cad4caae
Reviewed-on: https://skia-review.googlesource.com/19401
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-09 21:07:40 +00:00
Brian Salomon
06e547cb5f Fix GrGradientEffect::isValid()
This was relying on TextureSampler::proxy() which crashes if the proxy is not valid.

Bug: skia:
Change-Id: I8452f5cea3a71b5ced15259aede52a44ab152cf2
Reviewed-on: https://skia-review.googlesource.com/19403
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-09 20:33:51 +00:00
Mike Reed
f066ac908e replace 4f procs with pipeline (only called in 2 places by ganesh)
enables lots of code to delete

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Bug: skia:
Change-Id: I13631ead68a9232bd8c13c5ef54727f44def26ca
Reviewed-on: https://skia-review.googlesource.com/19278
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-09 19:51:04 +00:00
Matt Sarett
69d1469654 Revert "Disable F16-nullptr sources"
Manual revert: failing ui rendering cts tests

Bug: b/62482405
Change-Id: I652ec8dce482d303437835a27c50a22248afd955
Reviewed-on: https://skia-review.googlesource.com/19360
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-06-09 19:29:13 +00:00
Chris Dalton
b58194a90e Fix loopIndex in chopCubicAtLoopIntersection
A recent change broke the case where the entire bezier is inside the
loop segment.

Bug: skia:4410
Change-Id: Ib534d459eaa4461d6760e894a8826e3019584ee8
Reviewed-on: https://skia-review.googlesource.com/19333
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-06-09 19:21:13 +00:00
Greg Daniel
744d3c59be Add another gm to Win Intel Vulkan blacklist
Bug: skia:6398
Change-Id: I3e4006ce1fbe1644c6d99467c5b9e785161dcc3d
Reviewed-on: https://skia-review.googlesource.com/19277
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-09 18:20:08 +00:00
Allan MacKinnon
0059f97c3f Broken link in Tree Sheriffs Documentation
No-Try: true
Docs-Preview: https://skia.org/?cl=19326
Bug: skia:
Change-Id: I215d02470d14f076af68bfdc88046a0123429fb7
Reviewed-on: https://skia-review.googlesource.com/19326
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Allan MacKinnon <allanmac@google.com>
2017-06-09 17:56:14 +00:00
Robert Phillips
d9d84858bf Retract GrTexture.h a bit
This began as cleaning up SkSpecialImage.h & spiraled out of control from there.

Change-Id: I9a570ecd2a7af9ee724ebfebe4e9185748f38bbc
Reviewed-on: https://skia-review.googlesource.com/19290
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-09 17:29:09 +00:00
Mike Reed
a6aaa30359 SkShader::asACompose is android-only
Bug: skia:
Change-Id: Ib99a7ee4984544f342699fa6b20797c55be7d5a0
Reviewed-on: https://skia-review.googlesource.com/19268
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-09 17:29:08 +00:00
Stephen White
019f6c0bcf GrTessellator: fix logging; fix test comment.
Change-Id: Iaded9025a1518d8c69dbe366deb1035e0bd4295b
Reviewed-on: https://skia-review.googlesource.com/19289
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2017-06-09 17:24:04 +00:00
Yuqian Li
d0dbee6559 Add comments support for PNG encoder
Bug: skia:6689
Change-Id: I6ccac8890f44724ccd6e20c8f4ea80bc99f9fa58
Reviewed-on: https://skia-review.googlesource.com/19080
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-06-09 17:24:03 +00:00
Brian Osman
9a87cda3d3 Remove blacklisted native_image_to_raster_surface tests
Bug: skia:6457 skia:6401
Change-Id: I18e45617765aa55c3a2837bb735cefc3d93fad22
Reviewed-on: https://skia-review.googlesource.com/19273
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-09 17:18:59 +00:00
Jim Van Verth
34d6e4b09f Add tonal color support for shadows.
Bug: skia:
Change-Id: Ib9bd9083da1d8a9fa90ae7c710386e6903541fd5
Reviewed-on: https://skia-review.googlesource.com/18148
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-06-09 17:18:58 +00:00
Chris Dalton
febbffad1c Improve cubic KLM accuracy
Moves cubic root finding logic out of GrPathUtils and
PathOpsCubicIntersectionTest, and unifies it in SkGeometry.

"Normalizes" the homogeneous parameter values of the roots, rather
than the cubic inflection function. Does this normalization by
twiddling the exponents instead of division (which causes a loss of
precision).

Abandons the built-in derivatives in GrCubicEffect. These don't have
high enough precision on many mobile gpus. Instead we pass the KLM
matrix to the vertex shader via uniform, where we can use it to set up
new linear functionals from which the fragment shader can calculate
the gradient of the implicit function.

Bug: skia:4410
Change-Id: Ibd64e999520adc8cdef7803a492d3699995aef5a
Reviewed-on: https://skia-review.googlesource.com/19017
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-06-09 17:13:54 +00:00