platform/upstream/libSkiaSharp.git
7 years agoFix ComposeOneFragmentProcessor coverage as alpha optimization.
Brian Salomon [Tue, 21 Feb 2017 19:19:07 +0000 (14:19 -0500)]
Fix ComposeOneFragmentProcessor coverage as alpha optimization.

It should only be advertised if the child also advertises it.

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

7 years agoSkPath.readFromMemory: check for error case
Hal Canary [Tue, 21 Feb 2017 19:18:01 +0000 (14:18 -0500)]
SkPath.readFromMemory:  check for error case

Fuzzing can produce inconsistant data, such as flags or bounds.

Also, use std::unique_ptr to reduce the need for calling `delete`.

BUG=skia:6262
BUG=skia:6263
Change-Id: I1de6b5f764cda346bb3cd5cd4698816b6b68f395
Reviewed-on: https://skia-review.googlesource.com/8812
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoClamp gradient colors in fragment shader after interpolation when there is a color...
Brian Salomon [Tue, 21 Feb 2017 19:35:11 +0000 (14:35 -0500)]
Clamp gradient colors in fragment shader after interpolation when there is a color space.

This matches what is done in the LUT texture case.

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

7 years agoSkJumper: Windows
Mike Klein [Tue, 21 Feb 2017 17:13:44 +0000 (12:13 -0500)]
SkJumper: Windows

    - Compile stages with -DWIN to pick up MS-specific start_pipeline().
    - Add SkJumper_generated_win.S with MS-specific assembly.
    - Add a minimal asm tool to our GN Windows toolchain.

The SkRasterPipeline_f16 benchmark run ~4x faster on my desktop.

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

7 years agoGrTessellator (AA): implement fast path for removing non-boundary edges.
Stephen White [Tue, 21 Feb 2017 15:35:49 +0000 (10:35 -0500)]
GrTessellator (AA): implement fast path for removing non-boundary edges.

Instead of using a full tessellate() pass, which allocates Polys,
MonotonePolys, etc. It's faster to simply accumulate the winding number
in the left-adjacent edge, and use that to remove non-boundary edges
(edges for which apply_fill_type() returns the same value on either
side of the edge).

This gives ~4-5% boost on MotionMark Fill Shapes.

Change-Id: I66bd4248ace01a8c35abd99519f4c455f936e5e5
Reviewed-on: https://skia-review.googlesource.com/8782
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoinitial clean up of pdf clipping
Mike Reed [Tue, 21 Feb 2017 18:54:30 +0000 (13:54 -0500)]
initial clean up of pdf clipping

clipstack is always available, canvas checks for empty clips up-front

Next step is to clarify if PDF wants to use Regions or Clipstack for its clipping (but not both)

Change-Id: Iaf1fa35160291e08c33ff61114557deff72304b3
Reviewed-on: https://skia-review.googlesource.com/8692
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoAdd GrTFlagsMask<> wrapper for C++11 bitfield enums
csmartdalton [Mon, 20 Feb 2017 06:51:45 +0000 (23:51 -0700)]
Add GrTFlagsMask<> wrapper for C++11 bitfield enums

Previously, operator& for enum class bitfields was reserved only to
return a bool. e.g:

  if (flags & Flags::kFlag)

This change adds a new template class GrTFlagsMask<> that gets
instantiated by operator~ and allows us to write expressions like:

  flags &= ~Flags::kFlag
  (flags & ~Flags::kFlag1) | Flags::kFlag2

BUG=skia:

Change-Id: I21e5eb9304135e82cdda459e8a833a3489f6beaf
Reviewed-on: https://skia-review.googlesource.com/8563
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoUpdate milestone schedule on skia.org
Heather Miller [Tue, 21 Feb 2017 19:01:34 +0000 (14:01 -0500)]
Update milestone schedule on skia.org

BUG=skia:

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=8809

Change-Id: Ic46ee37e90f90ebf6826cf5ead18bfd5ed75817a
Reviewed-on: https://skia-review.googlesource.com/8809
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agomove PDFDevice over to cipstackdevice
Mike Reed [Tue, 21 Feb 2017 18:15:07 +0000 (13:15 -0500)]
move PDFDevice over to cipstackdevice

BUG=skia:6214

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

7 years agoRemove unneeded is_fuzzing flag
Kevin Lubick [Tue, 21 Feb 2017 17:39:57 +0000 (12:39 -0500)]
Remove unneeded is_fuzzing flag

BUG=skia:6260

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

7 years agoAdd machine_type dimension to disambiguate bots with GTX960.
Ben Wagner [Sun, 19 Feb 2017 04:28:26 +0000 (23:28 -0500)]
Add machine_type dimension to disambiguate bots with GTX960.

BUG=skia:

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

7 years agoSimplify GrPaint::isConstantBlendedColor to avoid FP analysis and XP virtual calls
Brian Salomon [Tue, 21 Feb 2017 16:31:40 +0000 (11:31 -0500)]
Simplify GrPaint::isConstantBlendedColor to avoid FP analysis and XP virtual calls

This was the only non-test user of GrXPFactory::isConstantPreCoverageBlendedColor which is now removed.

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

7 years agoImprove SkCanvas::temporary_internal_getRgnClip performance
Stan Iliev [Tue, 21 Feb 2017 16:15:53 +0000 (11:15 -0500)]
Improve SkCanvas::temporary_internal_getRgnClip performance

Improve temporary_internal_getRgnClip performance for rect clips
by avoiding SkClipStack::asPath.

BUG=skia:

Change-Id: I371ac6031df325646841d57c4afaba7b835a12bb
Reviewed-on: https://skia-review.googlesource.com/8688
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoPrefer EllipseOp instead of DIEllipseOp
Stan Iliev [Tue, 21 Feb 2017 16:06:16 +0000 (11:06 -0500)]
Prefer EllipseOp instead of DIEllipseOp

Prefer EllipseOp instead of DIEllipseOp, which improves the
performance.

BUG=skia:

Change-Id: I607c21326b44a80e0586c577349452a9c369488f
Reviewed-on: https://skia-review.googlesource.com/8690
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoRemove GrProcessorTestData's GrTextures
Robert Phillips [Tue, 21 Feb 2017 15:04:31 +0000 (10:04 -0500)]
Remove GrProcessorTestData's GrTextures

(No longer) Blocked on: https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))

This also (unfortunately) picks up a few straggling effects that didn't have a sk_sp<GrTextureProxy> factory.

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

7 years agoMove declaration of is_fuzzer to where it is used
Ravi Mistry [Tue, 21 Feb 2017 15:50:13 +0000 (10:50 -0500)]
Move declaration of is_fuzzer to where it is used

BUG=skia:6260

Change-Id: Iaca4fb1afb4d182f4d2ae64d939729363a226ce6
Reviewed-on: https://skia-review.googlesource.com/8772
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoStore GrRenderTarget rather than just its ID in GrRenderTargetOpList::RecordedOp.
Brian Salomon [Tue, 21 Feb 2017 14:49:20 +0000 (09:49 -0500)]
Store GrRenderTarget rather than just its ID in GrRenderTargetOpList::RecordedOp.

This will allow us to feed the op's their render target when they don't have a pipeline before execution.

Change-Id: I01f16bec32e930c0152105a9179306159cb14dc4
Reviewed-on: https://skia-review.googlesource.com/8693
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoClean up DFs for extremely small paths
Jim Van Verth [Fri, 17 Feb 2017 19:02:13 +0000 (14:02 -0500)]
Clean up DFs for extremely small paths

BUG=skia:6255

Change-Id: Ie2b645c4e18fab30c67cd3ee9857f7b003713339
Reviewed-on: https://skia-review.googlesource.com/8665
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoRoll recipe DEPS again
Eric Boren [Tue, 21 Feb 2017 14:43:05 +0000 (09:43 -0500)]
Roll recipe DEPS again

This time with coverage bypass

BUG=skia:

Change-Id: I7f51dcad7bad53c7209ac512876a0d72c6181b8e
Reviewed-on: https://skia-review.googlesource.com/8768
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoDraw path onto a canvas when fuzzing
Kevin Lubick [Tue, 21 Feb 2017 14:37:48 +0000 (09:37 -0500)]
Draw path onto a canvas when fuzzing

BUG=skia:
NOTRY=true
TBR=jcgregorio@google.com

Change-Id: Icd6b1b884705f7599be23b5d6283adfcfcbe727b
Reviewed-on: https://skia-review.googlesource.com/8767
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoRoll recipe DEPS
Eric Boren [Tue, 21 Feb 2017 12:22:20 +0000 (07:22 -0500)]
Roll recipe DEPS

Attempt 2. Lots of fixes due to upstream breaks.

BUG=skia:

Change-Id: Ie05b2da1790fbcce5c45ef09c4c832e09de6b5c5
Reviewed-on: https://skia-review.googlesource.com/8762
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoUpdate Valgrind match-leak-kinds for keep-alive thread.
Mike Klein [Tue, 21 Feb 2017 13:12:09 +0000 (08:12 -0500)]
Update Valgrind match-leak-kinds for keep-alive thread.

Valgrind has tipped over from seeing the keep-alive thread as possibly
leaked to seeing it as definitely leaked.  We can suppress both.

An alternative here is "all" or to just remove the line.  For the moment
I think this is best, as we're still excluding indirect leaks this way.
I'd want to think a bit whether it made sense for the keep-alive thread
to indirectly leak anything, so I'd like it to fail if it comes up.

Change-Id: Ib28790a1d84a0a9061fdb6de48569ca8ea51b52a
Reviewed-on: https://skia-review.googlesource.com/8764
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoStream logs in symbolized dm/nanobench
Kevin Lubick [Mon, 20 Feb 2017 13:48:35 +0000 (08:48 -0500)]
Stream logs in symbolized dm/nanobench

BUG=skia:

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

7 years agoBlacklisting scaled_tilemodes_npot on GalaxyTab3
Kevin Lubick [Tue, 21 Feb 2017 12:58:16 +0000 (07:58 -0500)]
Blacklisting scaled_tilemodes_npot on GalaxyTab3

It now fails after a few minutes instead of timing
out after 4 hours, so that's an improvement.

BUG=skia:

Change-Id: I3e9319711953a5dad7898eea507cd4d83db7842d
Reviewed-on: https://skia-review.googlesource.com/8729
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoWrite SkRegion fuzzer
Kevin Lubick [Mon, 20 Feb 2017 22:47:18 +0000 (17:47 -0500)]
Write SkRegion fuzzer

BUG=688987

Change-Id: I2ad1c53ea01185a77b662d2d86b0c6d36fcb63c7
Reviewed-on: https://skia-review.googlesource.com/8499
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agoRemove asTextureRef from SkSpecialImage & update effects accordingly (take 2)
Robert Phillips [Sun, 19 Feb 2017 17:27:01 +0000 (12:27 -0500)]
Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2)

This CL also renames SkSpecialImage::asTextureProxy to asTextureProxyRef

This is a reland of: https://skia-review.googlesource.com/c/7995/ (Remove asTextureRef from SkSpecialImage & update effects accordingly)

It should be good to land since https://skia-review.googlesource.com/c/8701/ (Replace SkSpecialImage::makeTightSubset with asImage (take 2)) fixes the Chrome-side issue

Change-Id: I3d88b2b3d23fd69f3fb914a69dacca96cbc038a4
Reviewed-on: https://skia-review.googlesource.com/8450
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoFix client roll (part 2)
Matt Sarett [Mon, 20 Feb 2017 17:50:52 +0000 (12:50 -0500)]
Fix client roll (part 2)

NOTRY=true

BUG=skia:

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

7 years agoFix client roll
Matt Sarett [Mon, 20 Feb 2017 15:41:39 +0000 (10:41 -0500)]
Fix client roll

This change was made in the client master, but, since the bp file is
autogenerated, it has broken all subsequent rolls.

BUG=skia:

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

7 years agoUpdate SKP version
UpdateSKPs [Sun, 19 Feb 2017 06:57:19 +0000 (06:57 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

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

7 years agoReplace SkSpecialImage::makeTightSubset with asImage (take 2)
Robert Phillips [Sat, 18 Feb 2017 21:58:09 +0000 (16:58 -0500)]
Replace SkSpecialImage::makeTightSubset with asImage (take 2)

This is a reland of https://skia-review.googlesource.com/c/8498/ (Replace SkSpecialImage::makeTightSubset with asImage)

It must wait on https://codereview.chromium.org/2702703002/ (Add suppressions for upcoming Skia DEPS roll) due to minor layout test changes

This should allow the relanding of:

https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))

Change-Id: I7086a419869dbeb62d9b9e9714c796d54e75ee49
Reviewed-on: https://skia-review.googlesource.com/8701
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agohide via-svg until I can fix g3
Mike Reed [Sat, 18 Feb 2017 21:50:45 +0000 (16:50 -0500)]
hide via-svg until I can fix g3

BUG=skia:

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

7 years agoExpand use of GrMakeCachedBitmapProxy (take 2)
Robert Phillips [Sat, 18 Feb 2017 20:15:51 +0000 (15:15 -0500)]
Expand use of GrMakeCachedBitmapProxy (take 2)

Reland of https://skia-review.googlesource.com/c/8666/ (Expand use of GrMakeCachedBitmapProxy) with a fix for the non-GPU build

Change-Id: I91d1658139b895b94e04d3f486e56b76bc6d184a
Reviewed-on: https://skia-review.googlesource.com/8700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoadd svg path to DM
Mike Reed [Sat, 18 Feb 2017 19:12:08 +0000 (14:12 -0500)]
add svg path to DM

BUG=skia:
NOTRY=True

Change-Id: I6304f0ebd6cc9a4dc1d056f9ad33c1ef9ba7e91d
Reviewed-on: https://skia-review.googlesource.com/8698
Reviewed-by: Mike Reed <reed@google.com>
7 years agoall DM to see src/core
Mike Reed [Sat, 18 Feb 2017 17:57:09 +0000 (12:57 -0500)]
all DM to see src/core

BUG=skia:

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

7 years agoall DM to include from src/xml
Mike Reed [Sat, 18 Feb 2017 14:51:33 +0000 (09:51 -0500)]
all DM to include from src/xml

BUG=skia:

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

7 years agoSkRegion deserialization more robust
Hal Canary [Thu, 16 Feb 2017 17:42:24 +0000 (12:42 -0500)]
SkRegion deserialization more robust

BUG=chromium:688987
Change-Id: Ide6d70330c8cd1fce814eb2c445da1fbff498ef6
Reviewed-on: https://skia-review.googlesource.com/8496
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoSkJumper: aarch64 and armv7
Mike Klein [Fri, 17 Feb 2017 19:13:08 +0000 (14:13 -0500)]
SkJumper: aarch64 and armv7

Change-Id: Ie356b062372af3516a437d27bafa20d98e28edd6
Reviewed-on: https://skia-review.googlesource.com/8678
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoFix -Wshadow-field warning in class NullInterface
Brian Salomon [Sat, 18 Feb 2017 01:43:43 +0000 (20:43 -0500)]
Fix -Wshadow-field warning in class NullInterface

This warning fires in a tip of tree clang build because the base class to NullInterface also has a field called fExtensions.

Change-Id: I5e2a901583ae223a85d562f2d8b082e4d0cbf690
Reviewed-on: https://skia-review.googlesource.com/8691
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoadd ViaSVG to dm
Mike Reed [Fri, 17 Feb 2017 22:06:11 +0000 (17:06 -0500)]
add ViaSVG to dm

BUG=skia:

Change-Id: I52892a0dd466bee6e3abcaa89a373b93493d201f
Reviewed-on: https://skia-review.googlesource.com/8682
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRevert "hide deprecated underline and strikethru"
Leon Scroggins [Fri, 17 Feb 2017 22:48:51 +0000 (22:48 +0000)]
Revert "hide deprecated underline and strikethru"

This reverts commit a01bf9ab748836fc4bf271bd5024151bf1ce2e88.

Reason for revert: Breaking Android merge. They access setUnderlineText on their <shudder> subclass of SkPaint.

Original change's description:
> hide deprecated underline and strikethru
>
> BUG=skia:6250
>
> Change-Id: I85395e4960b16ab91237a74ff35e5b7588965512
> Reviewed-on: https://skia-review.googlesource.com/8600
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bungeman@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6250

Change-Id: If55f69f061dc4439ca2faa62807a9c5694ebbeb4
Reviewed-on: https://skia-review.googlesource.com/8687
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>

7 years agoDisable SkJumper on MSAN builds.
Mike Klein [Fri, 17 Feb 2017 21:35:59 +0000 (16:35 -0500)]
Disable SkJumper on MSAN builds.

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

7 years agosksl support for geometry shaders
Ethan Nicholas [Thu, 16 Feb 2017 21:37:32 +0000 (16:37 -0500)]
sksl support for geometry shaders

BUG=skia:

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

7 years agoSkJumper: Linux
Mike Klein [Fri, 17 Feb 2017 17:52:31 +0000 (12:52 -0500)]
SkJumper: Linux

Just need to take care to match C symbols with asm symbols.  Linux
doesn't add the leading underscore automatically like Mac and Windows.

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

7 years agoSet asmflags when building for iOS.
Mike Klein [Fri, 17 Feb 2017 20:36:01 +0000 (15:36 -0500)]
Set asmflags when building for iOS.

It's probably best we build iOS assembly with the iOS SDK and the right
architecture settings in Clang...

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

7 years agouse common intermediate device class for clipstack management
Mike Reed [Fri, 17 Feb 2017 19:38:11 +0000 (14:38 -0500)]
use common intermediate device class for clipstack management

BUG=skia:6214

Change-Id: I64b849ad7c8dafe423e24e6fccfb3f0c1d096ab0
Reviewed-on: https://skia-review.googlesource.com/8669
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoRevert "Roll Recipe DEPS"
Eric Boren [Fri, 17 Feb 2017 20:53:27 +0000 (20:53 +0000)]
Revert "Roll Recipe DEPS"

This reverts commit 310f4d02c1e2d01181c1db18acf05f2846f94cd4.

Reason for revert: Broke uploads

Original change's description:
> Roll Recipe DEPS
>
> BUG=skia:
>
> Change-Id: I3e32207e5809e126d53ee8ec2158eb855c1a26d2
> Reviewed-on: https://skia-review.googlesource.com/8671
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
>

TBR=borenet@google.com,rmistry@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: If6eed7a72aa7178afd23d0a4a7786e23b27c1ac2
Reviewed-on: https://skia-review.googlesource.com/8681
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRevert "Expand use of GrMakeCachedBitmapProxy"
Robert Phillips [Fri, 17 Feb 2017 20:18:54 +0000 (20:18 +0000)]
Revert "Expand use of GrMakeCachedBitmapProxy"

This reverts commit 561d1f8153c591dac670148a574a7638f3fe8c2d.

Reason for revert: ios-device-xcode-clang

Original change's description:
> Expand use of GrMakeCachedBitmapProxy
>
> Change-Id: Ic276b9d772763dc16ac6b15a0896578d2d02e06e
> Reviewed-on: https://skia-review.googlesource.com/8666
> 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: I5349cfea983cb65c11b5c250e674a841b9691c40
Reviewed-on: https://skia-review.googlesource.com/8677
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRoll Recipe DEPS
Eric Boren [Fri, 17 Feb 2017 19:09:44 +0000 (14:09 -0500)]
Roll Recipe DEPS

BUG=skia:

Change-Id: I3e32207e5809e126d53ee8ec2158eb855c1a26d2
Reviewed-on: https://skia-review.googlesource.com/8671
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoMake mask uintptr_t when calculating alignment.
Herb Derby [Fri, 17 Feb 2017 19:05:49 +0000 (14:05 -0500)]
Make mask uintptr_t when calculating alignment.

A suggestion from from the code review on cl/7614.

TBR=mtklein@google.com

Change-Id: Icfbe08bfe63ac1e21ed56481dc5251c2af5bb96a
Reviewed-on: https://skia-review.googlesource.com/8674
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoExpand use of GrMakeCachedBitmapProxy
Robert Phillips [Fri, 17 Feb 2017 18:00:28 +0000 (13:00 -0500)]
Expand use of GrMakeCachedBitmapProxy

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

7 years agoChange bitmap initialization in DrawFunctions fuzzer
Kevin Lubick [Fri, 17 Feb 2017 15:27:30 +0000 (10:27 -0500)]
Change bitmap initialization in DrawFunctions fuzzer

BUG=skia:

Change-Id: Ibfd778315a0c3bf6c3abc23f8935c485fab89366
Reviewed-on: https://skia-review.googlesource.com/8615
Reviewed-by: twsmith@mozilla.com <twsmith@mozilla.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoFix TAP ASAN failure.
Florin Malita [Fri, 17 Feb 2017 17:58:41 +0000 (12:58 -0500)]
Fix TAP ASAN failure.

The current SkFixed3232 pinning logic in SkClampRange is not safe:
SkFixed3232ToFloat(SkFixed3232Max) and SkFixed3232ToFloat(SkFixed3232Min)
are not exactly representable in float, so they are not good SkTPin
limits.

Use the next representable float value towards zero.  Constants computed
with nextafterf(..., 0).

Change-Id: I8e2eb35b22f65077e8ce6055d670d90d2a163bae
Reviewed-on: https://skia-review.googlesource.com/8662
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Add SkTypeface::getVariationDesignPosition."
Ben Wagner [Fri, 17 Feb 2017 18:38:52 +0000 (18:38 +0000)]
Revert "Add SkTypeface::getVariationDesignPosition."

This reverts commit 87e7f820f74a990a59fb8f1d5c182584ce586ecf.

Reason for revert: Failed a test on Mac

Original change's description:
> Add SkTypeface::getVariationDesignPosition.
>
> Allow users to query a typeface's position in variation design space.
>
> Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
> Reviewed-on: https://skia-review.googlesource.com/7130
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

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

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

7 years agoAdd SkTypeface::getVariationDesignPosition.
Ben Wagner [Thu, 16 Feb 2017 21:56:26 +0000 (16:56 -0500)]
Add SkTypeface::getVariationDesignPosition.

Allow users to query a typeface's position in variation design space.

Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
Reviewed-on: https://skia-review.googlesource.com/7130
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Revert "Take missed opportunity: memset for A8.""
Mike Klein [Fri, 17 Feb 2017 16:10:46 +0000 (16:10 +0000)]
Revert "Revert "Take missed opportunity: memset for A8.""

This reverts commit 2028625f9b92b3423d841a926f785140a8955a84.

Reason for revert: not the reason for broken roll.

Original change's description:
> Revert "Take missed opportunity: memset for A8."
>
> This reverts commit 9cee33e631679fc8195e7892b5aa5fdffb0b568e.
>
> Reason for revert: Chrome roll?
>
> Original change's description:
> > Take missed opportunity: memset for A8.
> >
> > Just recently noticed we weren't doing this.
> > It seems to be triggering all the time.
> >
> > Draws the same of course.
> >
> > Change-Id: Ie3d869a05194a5d52d635643eba1c96c8a21ce67
> > Reviewed-on: https://skia-review.googlesource.com/8471
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,msarett@google.com,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I26a3f2b1a9ae9093180e9c5cc61094b239377c17
> Reviewed-on: https://skia-review.googlesource.com/8606
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,msarett@google.com,reed@google.com
NOPRESUBMIT=true

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

7 years agoRevert "CQ config: add gerrit CQAbility verifier."
Ravi Mistry [Fri, 17 Feb 2017 17:34:12 +0000 (17:34 +0000)]
Revert "CQ config: add gerrit CQAbility verifier."

This reverts commit 04628221324eb2e5b329a8fd9c69196ea9acb43c.

Reason for revert: Lets revert until the proto is rolled into Skia.

Original change's description:
> CQ config: add gerrit CQAbility verifier.
>
> Goal is to ensure that unreviewed and untrusted code isn't sent through
> CQ to try bots, by accident or through malicious intent.
>
> R=​rmistry@google.com
> BUG=chromium:692613
> NOTRY=True
>
> Change-Id: I750be91895f5b77229b8f4a22216f00eaa75f7a0
> Reviewed-on: https://skia-review.googlesource.com/8620
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>
>

TBR=rmistry@google.com,reviews@skia.org,tandrii@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:692613

Change-Id: I6d4b821b2a02ef3e097cf68cd8ebfb2b51d4d165
Reviewed-on: https://skia-review.googlesource.com/8663
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoAdd Flutter compile bot
Ravi Mistry [Fri, 17 Feb 2017 16:28:36 +0000 (11:28 -0500)]
Add Flutter compile bot

BUG=skia:6227

Change-Id: I997663e49c407e3ec64c8e67a2ca27700d5081b4
Reviewed-on: https://skia-review.googlesource.com/8448
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoSwitch from size_t to uint32_t to represent constraints better.
Herb Derby [Fri, 17 Feb 2017 15:45:47 +0000 (10:45 -0500)]
Switch from size_t to uint32_t to represent constraints better.

TBR=mtklein@google.com

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

7 years agoMake all of the NUC tests use the newer intel driver
Kevin Lubick [Fri, 17 Feb 2017 15:25:34 +0000 (10:25 -0500)]
Make all of the NUC tests use the newer intel driver

Also update LD_LIBRARY_PATH to include the LIBGL_DRIVERS_PATH.

BUG=skia:

Change-Id: I0b4d3237f8042ac739f184b107f1c85368b71ee2
Reviewed-on: https://skia-review.googlesource.com/8603
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agohide deprecated underline and strikethru
Mike Reed [Fri, 17 Feb 2017 14:28:22 +0000 (09:28 -0500)]
hide deprecated underline and strikethru

BUG=skia:6250

Change-Id: I85395e4960b16ab91237a74ff35e5b7588965512
Reviewed-on: https://skia-review.googlesource.com/8600
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoCQ config: add gerrit CQAbility verifier.
Andrii Shyshkalov [Fri, 17 Feb 2017 14:17:50 +0000 (15:17 +0100)]
CQ config: add gerrit CQAbility verifier.

Goal is to ensure that unreviewed and untrusted code isn't sent through
CQ to try bots, by accident or through malicious intent.

R=rmistry@google.com
BUG=chromium:692613
NOTRY=True

Change-Id: I750be91895f5b77229b8f4a22216f00eaa75f7a0
Reviewed-on: https://skia-review.googlesource.com/8620
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoSkJumper: start on asm
Mike Klein [Fri, 17 Feb 2017 14:41:09 +0000 (09:41 -0500)]
SkJumper: start on asm

Will follow up with Linux, then Android aarch64 and armv7, then iOS, then Windows.

I took some opportunities to refactor.

CQ_INCLUDE_trybots=skia.primary:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug,Perf-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug

Change-Id: Ifcf1edabdfe5df0a91bd089f09523aba95cdf5ef
Reviewed-on: https://skia-review.googlesource.com/8611
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoAdd a workaround for platforms with broken geo shader invocations
csmartdalton [Wed, 15 Feb 2017 17:41:27 +0000 (10:41 -0700)]
Add a workaround for platforms with broken geo shader invocations

BUG=skia:

Change-Id: I9105b65b522d9ffac5a90ca7126bfd4ae88f8069
Reviewed-on: https://skia-review.googlesource.com/8422
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoRevert "Replace SkSpecialImage::makeTightSubset with asImage"
Robert Phillips [Fri, 17 Feb 2017 13:28:47 +0000 (13:28 +0000)]
Revert "Replace SkSpecialImage::makeTightSubset with asImage"

This reverts commit 5df6db15dc04ea7f8c8fa7a7b58ecb881d7a70fe.

Reason for revert: Possibly blocking Chrome DEPS roll

Original change's description:
> Replace SkSpecialImage::makeTightSubset with asImage
>
> This should allow the relanding of:
>
> https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))
>
> Change-Id: I517af11036e3f44a280bbe6b9275f6c38f4a86a4
> Reviewed-on: https://skia-review.googlesource.com/8498
> 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: Ib5bebda78b2323e65a73504a61af918872ad231f
Reviewed-on: https://skia-review.googlesource.com/8607
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRevert "Take missed opportunity: memset for A8."
Mike Klein [Fri, 17 Feb 2017 12:48:29 +0000 (12:48 +0000)]
Revert "Take missed opportunity: memset for A8."

This reverts commit 9cee33e631679fc8195e7892b5aa5fdffb0b568e.

Reason for revert: Chrome roll?

Original change's description:
> Take missed opportunity: memset for A8.
>
> Just recently noticed we weren't doing this.
> It seems to be triggering all the time.
>
> Draws the same of course.
>
> Change-Id: Ie3d869a05194a5d52d635643eba1c96c8a21ce67
> Reviewed-on: https://skia-review.googlesource.com/8471
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

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

7 years agoFix drawVertices() texture mapping in the presence of a local matrix
Florin Malita [Fri, 17 Feb 2017 03:12:41 +0000 (22:12 -0500)]
Fix drawVertices() texture mapping in the presence of a local matrix

Change-Id: I6379f2e7c030d7d1e0fcb2bd6ecc7d81c8a4eec5
Reviewed-on: https://skia-review.googlesource.com/8502
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoCheck for GL_EXT_geometry_shader on ES
csmartdalton [Thu, 16 Feb 2017 04:43:20 +0000 (21:43 -0700)]
Check for GL_EXT_geometry_shader on ES

BUG=skia:

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

7 years agoGrTessellator (AA): Performance tweaks and cleanup.
Stephen White [Fri, 17 Feb 2017 00:00:39 +0000 (19:00 -0500)]
GrTessellator (AA): Performance tweaks and cleanup.

The SkArenaAlloc destructor was showing up as hot in profiling,
especially on Linux.  The reason is that it was being used
incorrectly: the size estimate was being used as the chunk size. It
turns out that the best performance seems to be achieved with no
initial allocations and a fixed chunk size of 16K, as the CPU path
renderer does.

Also remove some unused code.

(This is a partial re-land of https://skia-review.googlesource.com/c/8560/)

TBR=bsalomon@google.com

Change-Id: I277eb1a6e5718a221974cd694c8a7e481e432ca6
Reviewed-on: https://skia-review.googlesource.com/8561
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoRevert "GrTessellator (AA): Performance tweaks and cleanup."
Ben Wagner [Thu, 16 Feb 2017 22:28:02 +0000 (22:28 +0000)]
Revert "GrTessellator (AA): Performance tweaks and cleanup."

This reverts commit e595bbfba6e7dcdda0d7d700343e9d814a406771.

Reason for revert: Breaking roll into Chromium.

virtual/gpu/fast/canvas/canvas-arc-circumference-fill.html
virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill.html

https://build.chromium.org/p/tryserver.blink/builders/linux_trusty_blink_rel/builds/5170

https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/5170/layout-test-results/results.html

Original change's description:
> GrTessellator (AA): Performance tweaks and cleanup.
>
> The SkArenaAlloc destructor was showing up as hot in profiling,
> especially on Linux.  The reason is that it was being used
> incorrectly: the size estimate was being used as the chunk size. It
> turns out that the best performance seems to be achieved with no
> initial allocations and a fixed chunk size of 16K, as the CPU path
> renderer does.
>
> Also, allocate the bisectors used for edge inversions on the
> stack, not the heap. And remove some unused code.
>
> BUG=skia:
>
> Change-Id: I754531c753c9e602713bf2c8bb5a0eaf174bb962
> Reviewed-on: https://skia-review.googlesource.com/8560
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
>

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

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

7 years agoReplace SkSpecialImage::makeTightSubset with asImage
Robert Phillips [Thu, 16 Feb 2017 18:39:44 +0000 (13:39 -0500)]
Replace SkSpecialImage::makeTightSubset with asImage

This should allow the relanding of:

https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))

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

7 years agoLet DFPathRenderer accept smaller paths.
Jim Van Verth [Thu, 16 Feb 2017 20:21:27 +0000 (15:21 -0500)]
Let DFPathRenderer accept smaller paths.

BUG=chromium:682918

Change-Id: Ib5f935a92f967354be696fb24ba874f3602ebdb4
Reviewed-on: https://skia-review.googlesource.com/8601
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoReplace use of SkBitmap::eraseRGB with eraseColor.
Ben Wagner [Thu, 16 Feb 2017 18:59:09 +0000 (13:59 -0500)]
Replace use of SkBitmap::eraseRGB with eraseColor.

SkBitmap::eraseRGB is marked as deprecated. After this CL the code
should have the exact same behavior as previously, but without calling
the deprecated function. The presence of this deprecated call is
causing extra warnings in the iOS build.

Change-Id: I0770ca0a7e9884e7122f431a9ed2d3fdb2bbd6f8
Reviewed-on: https://skia-review.googlesource.com/8581
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoFixed a couple of spots where sksl didn't have proper array support.
Ethan Nicholas [Thu, 16 Feb 2017 19:49:57 +0000 (14:49 -0500)]
Fixed a couple of spots where sksl didn't have proper array support.

vec2 x[3] worked, but vec2[3] x didn't. Interface blocks also did
not work with array sizes.

BUG=skia:

Change-Id: I45b424891db46804f1e3c1f4793470b7b501a6de
Reviewed-on: https://skia-review.googlesource.com/8523
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoRemove third_party/ktx from Skia.
Herb Derby [Fri, 10 Feb 2017 16:15:17 +0000 (11:15 -0500)]
Remove third_party/ktx from Skia.

Change-Id: I3a1f68b0528f8789af5ccc0704b0a68fe14f52d3
Reviewed-on: https://skia-review.googlesource.com/8319
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoadd device-clipping to gpudevice
Mike Reed [Thu, 16 Feb 2017 16:04:52 +0000 (11:04 -0500)]
add device-clipping to gpudevice

BUG=skia:

Change-Id: Id8c8994d4bddf591e1205ed9d591f4fce7d3af99
Reviewed-on: https://skia-review.googlesource.com/8531
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoGrTessellator (AA): Performance tweaks and cleanup.
Stephen White [Thu, 16 Feb 2017 16:27:01 +0000 (11:27 -0500)]
GrTessellator (AA): Performance tweaks and cleanup.

The SkArenaAlloc destructor was showing up as hot in profiling,
especially on Linux.  The reason is that it was being used
incorrectly: the size estimate was being used as the chunk size. It
turns out that the best performance seems to be achieved with no
initial allocations and a fixed chunk size of 16K, as the CPU path
renderer does.

Also, allocate the bisectors used for edge inversions on the
stack, not the heap. And remove some unused code.

BUG=skia:

Change-Id: I754531c753c9e602713bf2c8bb5a0eaf174bb962
Reviewed-on: https://skia-review.googlesource.com/8560
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>

7 years agoremove code for TextDecorations
Mike Reed [Thu, 16 Feb 2017 17:45:51 +0000 (12:45 -0500)]
remove code for TextDecorations

BUG=skia:6250

Change-Id: I8c67c69017e0514b09f4583f5f2f9d16dec4f830
Reviewed-on: https://skia-review.googlesource.com/8497
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoSkPDF/font subsetting: Use new version of SfntlyWrapper::SubsetFont
Hal Canary [Thu, 16 Feb 2017 15:33:49 +0000 (10:33 -0500)]
SkPDF/font subsetting: Use new version of SfntlyWrapper::SubsetFont

Change-Id: Ib4bddcedb09b50556e8e1f02926c443870f46a09
Reviewed-on: https://skia-review.googlesource.com/8544
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoSkJumper: everyone gets a start_pipeline().
Mike Klein [Thu, 16 Feb 2017 15:17:00 +0000 (10:17 -0500)]
SkJumper: everyone gets a start_pipeline().

Windows needs this as a shim to switch to the System V ABI and back.

Other platforms need it too, if only to make UBSAN happy about calling
functions through the correct function pointers.

One day maybe we can move the looping logic inside start_pipeline?

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

7 years agoDisable DFPathRenderTest for now.
Jim Van Verth [Thu, 16 Feb 2017 16:44:52 +0000 (11:44 -0500)]
Disable DFPathRenderTest for now.

It's unclear what this test should be -- or even if it's valid any more.

Change-Id: I62b5d99ad19c9b2813ef5a3c34c9b11991c01c5f
Reviewed-on: https://skia-review.googlesource.com/8494
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoTake missed opportunity: memset for A8.
Mike Klein [Thu, 16 Feb 2017 12:43:40 +0000 (07:43 -0500)]
Take missed opportunity: memset for A8.

Just recently noticed we weren't doing this.
It seems to be triggering all the time.

Draws the same of course.

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

7 years agoSkJumper: fma() -> mad()
Mike Klein [Thu, 16 Feb 2017 15:21:29 +0000 (10:21 -0500)]
SkJumper: fma() -> mad()

mad (Multiply-anD-Add) conveys the desired behavior better than fma...
we don't particularly care about the fusedness of the mad, only that
we're doing the fastest multiply-add available.

This also avoids conflicts with fma() that may be defined in <math.h>.

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

7 years agoFix DistanceFieldPathRenderer assert.
Jim Van Verth [Thu, 16 Feb 2017 15:01:46 +0000 (10:01 -0500)]
Fix DistanceFieldPathRenderer assert.

If there's a reflection in the matrix, the scales
could be negative.

BUG=chromium:682918

Change-Id: Ifde42c3bc8b1f2938009b47d3a8380cf871448e9
Reviewed-on: https://skia-review.googlesource.com/8541
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoFiddle: Remove extraneous newline from SkDebugf output.
Joe Gregorio [Thu, 16 Feb 2017 14:30:58 +0000 (09:30 -0500)]
Fiddle: Remove extraneous newline from SkDebugf output.

BUG=skia:6247

Change-Id: I69b5fd3fd0f8ed3fe5b7e36d3e389cc4215542c6
Reviewed-on: https://skia-review.googlesource.com/8478
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>

7 years agoSkJumper: make some room for wider instructions.
Mike Klein [Thu, 16 Feb 2017 14:00:15 +0000 (09:00 -0500)]
SkJumper: make some room for wider instructions.

No real change here.

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

7 years agoremove unneeded android flags
Mike Reed [Thu, 16 Feb 2017 13:50:18 +0000 (08:50 -0500)]
remove unneeded android flags

BUG=skia:

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

7 years agoUse non-linear color spaces for Android decode outputs
Matt Sarett [Thu, 16 Feb 2017 13:14:27 +0000 (08:14 -0500)]
Use non-linear color spaces for Android decode outputs

BUG=skia:

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

7 years agoRevert "Turn on SkJumper except on Windows."
Mike Klein [Thu, 16 Feb 2017 14:02:50 +0000 (14:02 +0000)]
Revert "Turn on SkJumper except on Windows."

This reverts commit 957cf4594964c8f30e623d8c1b28ff63bef4ab33.

Reason for revert: crashes

Original change's description:
> Turn on SkJumper except on Windows.
>
> ...only for our local testing.  No Skia users should be affected yet.
>
> Change-Id: If1c46efe418458f747aafd6be8e2ae799c74b1c4
> Reviewed-on: https://skia-review.googlesource.com/8470
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

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

7 years agoUpdate libwebp to 0.6.0
scroggo [Thu, 16 Feb 2017 13:57:41 +0000 (05:57 -0800)]
Update libwebp to 0.6.0

Corresponds with Android change
https://android-review.googlesource.com/#/c/326439/

"this version includes encoder and performance improvements"

Update build file
* Many files have been renamed from
    src/<subdir>/<name>.c
      to
    src/<subdir>/<name>_<subdir>.c

* Build new files (*_msa.c, *_neon.c, predictor_enc.c)

This should fix issue 5876, which was caused by a compiler bug.
With the added NEON implementation, we will no longer trigger
the bug.

BUG=skia:5876

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS

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

7 years agoremove unneeded flags
Mike Reed [Thu, 16 Feb 2017 13:18:13 +0000 (08:18 -0500)]
remove unneeded flags

BUG=skia:

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

7 years agoTurn on SkJumper except on Windows.
Mike Klein [Thu, 16 Feb 2017 12:31:35 +0000 (07:31 -0500)]
Turn on SkJumper except on Windows.

...only for our local testing.  No Skia users should be affected yet.

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

7 years agoUse SDF path miplevels based on the original path's size
Jim Van Verth [Wed, 15 Feb 2017 20:46:52 +0000 (15:46 -0500)]
Use SDF path miplevels based on the original path's size

Should produce sharper results than arbitrary fixed sizes.
Adds a new test to pathfill GM.

Was: https://skia-review.googlesource.com/c/8328/

BUG=chromium:682918, skia:6238

Change-Id: Ia62ea5ce6b4a5ac2b8b51d06d57dc951d6c340b8
Reviewed-on: https://skia-review.googlesource.com/8384
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoFlush to zero when loading f16 with sse2/sse4.1.
Mike Klein [Thu, 16 Feb 2017 11:21:54 +0000 (06:21 -0500)]
Flush to zero when loading f16 with sse2/sse4.1.

The multiply by 0x77800000 is quite slow when the input is denormalized.
We don't mind flushing those values (in the range of 1e-5) to zero.

Implement portable load_f16() / store_f16() too.

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

7 years agoSimplify more: remove SkRasterPipeline::compile().
Mike Klein [Thu, 16 Feb 2017 11:51:48 +0000 (06:51 -0500)]
Simplify more: remove SkRasterPipeline::compile().

It's easier to work on SkJumper if everything funnels through run().

I don't anticipate huge benefit from compile() without JITing,
but it's something we can always put back if we find a need.

Change-Id: Id5256fd21495e8195cad1924dbad81856416d913
Reviewed-on: https://skia-review.googlesource.com/8468
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoImplement SkHighContrastFilter
Dominic Mazzoni [Tue, 14 Feb 2017 19:15:31 +0000 (11:15 -0800)]
Implement SkHighContrastFilter

This is a color filter to apply several contrast adjustments for users
with low vision, including inverting the colors (in either RGB or HSL
space), applying gamma correction, converting to grayscale, and increasing
the contrast.

BUG=skia:6235

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: Icb8f3e290932d8bcd9387fb1f39dd20767e15cf6
Reviewed-on: https://skia-review.googlesource.com/7460
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkJumper
Mike Klein [Wed, 15 Feb 2017 18:31:12 +0000 (13:31 -0500)]
SkJumper

Change-Id: If9f73e712e429564fef58ccb838c212ec8d2e68c
Reviewed-on: https://skia-review.googlesource.com/8525
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoWork around Mac x- and cap-height calculation.
bungeman [Wed, 15 Feb 2017 22:49:12 +0000 (17:49 -0500)]
Work around Mac x- and cap-height calculation.

With at least some system fonts and apparently all fonts from data the
x-height and cap-height on at least 10.12.3 are always 0.6666 and .8888
of the ascent, respectively. The values from the 'OS/2' table appear
to be read, but then the values are overwritten. Work around this by
using the values from the 'OS/2' table when available.

This also removes fFUnitMatrix as it is no longer used.

BUG=skia:6203

Change-Id: Ib79d9d32bca77797de043499c854c35e5ef3aa4b
Reviewed-on: https://skia-review.googlesource.com/8452
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoUse non-linear blending flag in raster pipeline blitter
Matt Sarett [Wed, 15 Feb 2017 20:54:35 +0000 (15:54 -0500)]
Use non-linear blending flag in raster pipeline blitter

BUG=skia:

Change-Id: I00b52e6de3b46b7d26c1df2aa63c521b6c7ece2d
Reviewed-on: https://skia-review.googlesource.com/8526
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoClean up SkSplicer.
Mike Klein [Wed, 15 Feb 2017 20:51:47 +0000 (15:51 -0500)]
Clean up SkSplicer.

SkJumper's looking promising enough that I want this further out of my face.

Change-Id: I6dbe71aeabe32f7f4258ba157460e6985733b0ce
Reviewed-on: https://skia-review.googlesource.com/8528
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoUpdate intel linux vulkan driver
Greg Daniel [Wed, 15 Feb 2017 19:41:48 +0000 (14:41 -0500)]
Update intel linux vulkan driver

BUG=skia:

Change-Id: I2bb32aa02719c6cb1f3fccecfa5fbec7af74eb90
Reviewed-on: https://skia-review.googlesource.com/8503
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>