platform/upstream/libSkiaSharp.git
8 years agoImprove naive SkColorXform to half floats
msarett [Tue, 19 Jul 2016 16:07:55 +0000 (09:07 -0700)]
Improve naive SkColorXform to half floats

This should give us a good baseline to explore using SkRasterPipeline.

A particular colorxform to half float drops from 425us to 282us on my desktop.

Color Xform to Half Float (HP z620)
Original                              425us
Trans16 (not 32)                      355us
Vector Trans16                        378us
Trans16 + Keep Halfs in Vector        335us
Vector Trans16 + Keep Halfs in Vector 282us
Final                                 282us

Color Xform to Half Float (Nexus 5X)
Original                              556us
Final                                 472us

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159993003
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoCreate DCs instead of textures in SRGBMipMaps test
bsalomon [Tue, 19 Jul 2016 15:49:41 +0000 (08:49 -0700)]
Create DCs instead of textures in SRGBMipMaps test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162973002

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

8 years agoCreate DCs rather than textures in GrConfigConversionEffect
bsalomon [Tue, 19 Jul 2016 15:38:09 +0000 (08:38 -0700)]
Create DCs rather than textures in GrConfigConversionEffect
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162953002

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

8 years agoSimplify random_draw_context used by GLProgramsTest
bsalomon [Tue, 19 Jul 2016 15:38:04 +0000 (08:38 -0700)]
Simplify random_draw_context used by GLProgramsTest

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165683002

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

8 years agoremove unused MakeFromPixmap
reed [Tue, 19 Jul 2016 15:26:09 +0000 (08:26 -0700)]
remove unused MakeFromPixmap

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158913004

TBR=robertphilips@google.com

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

8 years agoGN: refactor third_party/gni
mtklein [Tue, 19 Jul 2016 15:25:00 +0000 (08:25 -0700)]
GN: refactor third_party/gni

  This fixes the build on Linux (dep on third_party:zlib -> third_party/zlib).

  I've moved declare_args() {} back to each .gn file... seems like args want
  to be as local as possible in GN land.

  Additionally, refactor all the common third_party config and warning flag
  changes into a template, third_party.  This lets it all live together in a
  .gni: at head unwanted_configs can be in a .gni (it's just a variable) but
  config("no_warnings") (and thus third_party_configs) cannot, as configs
  cannot be part of .gni files.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163653002

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

8 years agoStart from DC rather than texture in GrTexutreParamsAdjuster copy code.
bsalomon [Tue, 19 Jul 2016 15:12:30 +0000 (08:12 -0700)]
Start from DC rather than texture in GrTexutreParamsAdjuster copy code.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158383002

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

8 years agoFix debugging code for tracing texture creation
brianosman [Tue, 19 Jul 2016 15:02:20 +0000 (08:02 -0700)]
Fix debugging code for tracing texture creation

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164623002

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

8 years agoMake SkFont a bit more useable
robertphillips [Tue, 19 Jul 2016 14:59:22 +0000 (07:59 -0700)]
Make SkFont a bit more useable

Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002

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

8 years agoConvert readSurfacePixels to use a draw context instead of a texture
bsalomon [Tue, 19 Jul 2016 14:24:40 +0000 (07:24 -0700)]
Convert readSurfacePixels to use a draw context instead of a texture
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165523003

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

8 years agoFix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contexts
bsalomon [Tue, 19 Jul 2016 13:21:55 +0000 (06:21 -0700)]
Fix GrGLInterface::validate() to check for GL_OES_sample_shading on ES contexts
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156343004

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

8 years agoDelete the legacy SVG parser
fmalita [Tue, 19 Jul 2016 13:12:54 +0000 (06:12 -0700)]
Delete the legacy SVG parser

Unused.

R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154193003
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

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

8 years agoGN: polyfill is_fuchsia
mtklein [Tue, 19 Jul 2016 13:03:22 +0000 (06:03 -0700)]
GN: polyfill is_fuchsia

I'll tell you what, I need to practice typing fuchsia out a few hundred
times...  I managed to spell it three different ways in this CL.

Plus, gn format BUILD.gn

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164453003

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

8 years agoDelete SkXMLPullParser
fmalita [Tue, 19 Jul 2016 12:14:41 +0000 (05:14 -0700)]
Delete SkXMLPullParser

Unused & not being built.

R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163463002

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

8 years agoRename variables in SkCanvas::internalSaveLayer
robertphillips [Tue, 19 Jul 2016 12:10:40 +0000 (05:10 -0700)]
Rename variables in SkCanvas::internalSaveLayer

This is split out of https://codereview.chromium.org/2145343005/ (Recast draw_filter_into_device as drawDevice) to, hopefully, make it easier to integrate that CL

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162883002

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

8 years agoFix the assert and clamping in SkMatrix::get*Scale[s]().
kolczyk [Tue, 19 Jul 2016 10:49:14 +0000 (03:49 -0700)]
Fix the assert and clamping in SkMatrix::get*Scale[s]().

Follow-up after https://codereview.chromium.org/2143133005/.

BUG=skia:4718
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154123003

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

8 years agoFix rewinding bug in SkJpegCodec
msarett [Mon, 18 Jul 2016 22:56:08 +0000 (15:56 -0700)]
Fix rewinding bug in SkJpegCodec

Performing a sampled and/or subset decode will create some state
in SkJpegCodec.  If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161593003

Committed: https://skia.googlesource.com/skia/+/4ecb8ab556214c9337f56bc36d50e4d7c655ac7a
Review-Url: https://codereview.chromium.org/2161593003

8 years agoRotate bitmap strikes with FreeType.
bungeman [Mon, 18 Jul 2016 22:46:27 +0000 (15:46 -0700)]
Rotate bitmap strikes with FreeType.

BUG=skia:3490
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2139703002

Committed: https://skia.googlesource.com/skia/+/31e0c1379e6d0ce48196183e295b929af51fa74e
Review-Url: https://codereview.chromium.org/2139703002

8 years agoRevert of Fix rewinding bug in SkJpegCodec (patchset #1 id:1 of https://codereview...
msarett [Mon, 18 Jul 2016 22:19:48 +0000 (15:19 -0700)]
Revert of Fix rewinding bug in SkJpegCodec (patchset #1 id:1 of https://codereview.chromium.org/2161593003/ )

Reason for revert:
Breaking Google3 build.  Will reland corrected version.

Original issue's description:
> Fix rewinding bug in SkJpegCodec
>
> Performing a sampled and/or subset decode will create some state
> in SkJpegCodec.  If we fail to clean up this state properly,
> subsequent decodes may try to reuse (and potentailly overflow)
> the leftover memory.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161593003
>
> Committed: https://skia.googlesource.com/skia/+/4ecb8ab556214c9337f56bc36d50e4d7c655ac7a

TBR=djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoRemove guards in GrGLInterface::validate() for functions that Chromium used to not...
bsalomon [Mon, 18 Jul 2016 21:59:05 +0000 (14:59 -0700)]
Remove guards in GrGLInterface::validate() for functions that Chromium used to not provide.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158983002

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

8 years agoPush GrPipelineBuilder down to the drawBatch calls in the TextContext
robertphillips [Mon, 18 Jul 2016 21:56:06 +0000 (14:56 -0700)]
Push GrPipelineBuilder down to the drawBatch calls in the TextContext

This is split out of https://codereview.chromium.org/2092893003/ (Retract PipelineBuilder some more)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155983003

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

8 years ago[SkXMLParser] Initial text node support
fmalita [Mon, 18 Jul 2016 21:47:29 +0000 (14:47 -0700)]
[SkXMLParser] Initial text node support

Also disable entity processing.

R=bungeman@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154853002

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

8 years agoAdd bounds info
fmenozzi [Mon, 18 Jul 2016 20:33:37 +0000 (13:33 -0700)]
Add bounds info

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159853003

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

8 years agocheck for culled-out paths inside SkDraw
reed [Mon, 18 Jul 2016 20:22:55 +0000 (13:22 -0700)]
check for culled-out paths inside SkDraw

BUG=629026
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155213002

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

8 years agodisable test that fails to compute bounds on nexus 5
caryclark [Mon, 18 Jul 2016 19:13:23 +0000 (12:13 -0700)]
disable test that fails to compute bounds on nexus 5

TBR=jcgregario@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2160713003

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

8 years agodisable new test since it fails on skia_fast
caryclark [Mon, 18 Jul 2016 18:28:44 +0000 (11:28 -0700)]
disable new test since it fails on skia_fast

TBR=jcgregario@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155243002

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

8 years agoTweak a couple things I found confusing in ColorSpaceXform unit tests.
mtklein [Mon, 18 Jul 2016 18:16:14 +0000 (11:16 -0700)]
Tweak a couple things I found confusing in ColorSpaceXform unit tests.

No coverage changes... just refactoring.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158033002

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

8 years agoRemove SkDOM::build(const char doc[], size_t len)
fmalita [Mon, 18 Jul 2016 17:56:43 +0000 (10:56 -0700)]
Remove SkDOM::build(const char doc[], size_t len)

This flavor is unused, and we have the more general SkStream API.

R=stephana@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154733003

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

8 years agoIntroduce GrColorSpaceXform, for gamut conversion on textures
brianosman [Mon, 18 Jul 2016 17:53:52 +0000 (10:53 -0700)]
Introduce GrColorSpaceXform, for gamut conversion on textures

GrTextureAccess optionally includes an instance, computed from the src
and dst color spaces. In all common cases (no color space for either src
or dst, or same color space for both), no object is allocated.

This change is orthogonal to my attempts to get color space attached to
render targets - regardless of how we choose to do that, this will give
us the source color space at all points where we are connecting src to
dst.

There are many dangling injection points where I've been inserting
nullptr, but I have a record of all of them. Additionally, there are now
three places (the most common simple paths for bitmap/image rendering)
where things are plumbed enough that I expect to have access to the dst
color space (all marked with XFORMTODO).

In addition to getting the dst color space, I need to inject shader code
and uniform uploading for appendTextureLookup and friends.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154753003

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

8 years agoConvert SK Images to new assets format
borenet [Mon, 18 Jul 2016 17:36:43 +0000 (10:36 -0700)]
Convert SK Images to new assets format

Depends on https://codereview.chromium.org/2162563002/

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155163002

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

8 years agoFix rewinding bug in SkJpegCodec
msarett [Mon, 18 Jul 2016 17:28:41 +0000 (10:28 -0700)]
Fix rewinding bug in SkJpegCodec

Performing a sampled and/or subset decode will create some state
in SkJpegCodec.  If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161593003

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

8 years agoInitialize fGammaCorrect in DF Path Renderer unit test
bsalomon [Mon, 18 Jul 2016 17:09:41 +0000 (10:09 -0700)]
Initialize fGammaCorrect in DF Path Renderer unit test

TBR=jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157933003

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

8 years agopathops coincidence and security rewrite
caryclark [Mon, 18 Jul 2016 17:01:36 +0000 (10:01 -0700)]
pathops coincidence and security rewrite

Most changes stem from working on an examples bracketed
by #if DEBUG_UNDER_DEVELOPMENT  // tiger
These exposed many problems with coincident curves,
as well as errors throughout the code.

Fixing these errors also fixed a number of fuzzer-inspired
bug reports.

* Line/Curve Intersections
Check to see if the end of the line nearly intersects
the curve. This was a FIXME in the old code.

* Performance
Use a central chunk allocator.
Plumb the allocator into the global variable state
so that it can be shared. (Note that 'SkGlobalState'
is allocated on the stack and is visible to children
functions but not other threads.)

* Refactor
Let SkOpAngle grow up from a structure to a class.
Let SkCoincidentSpans grow up from a structure to a class.
Rename enum Alias to AliasMatch.

* Coincidence Rewrite
Add more debugging to coincidence detection.
Parallel debugging routines have read-only logic to report
the current coincidence state so that steps through the
logic can expose whether things got better or worse.

More functions can error-out and cause the pathops
engine to non-destructively exit.

* Accuracy
Remove code that adjusted point locations. Instead,
offset the curve part so that sorted curves all use
the same origin.
Reduce the size (and influence) of magic numbers.

* Testing
The debug suite with verify and the full release suite
./out/Debug/pathops_unittest -v -V
./out/Release/pathops_unittest -v -V -x
expose one error. That error is captured as cubics_d3.
This error exists in the checked in code as well.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128633003

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128633003

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

8 years agoAdd makeSpecial calls to SkGpuDevice
robertphillips [Mon, 18 Jul 2016 15:31:31 +0000 (08:31 -0700)]
Add makeSpecial calls to SkGpuDevice
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161533003

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

8 years agoAdd filename to gradient scrape
fmenozzi [Mon, 18 Jul 2016 15:20:06 +0000 (08:20 -0700)]
Add filename to gradient scrape

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2160583002

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

8 years agoRevert of remove unused TableMaskFilter (patchset #1 id:1 of https://codereview.chrom...
jcgregorio [Mon, 18 Jul 2016 15:18:50 +0000 (08:18 -0700)]
Revert of remove unused TableMaskFilter (patchset #1 id:1 of https://codereview.chromium.org/2156463002/ )

Reason for revert:
Needed for Android:

frameworks/base/core/jni/android/graphics/MaskFilter.cpp:5:10: fatal error: 'SkTableMaskFilter.h' file not found

Original issue's description:
> remove unused TableMaskFilter
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156463002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/59779ae8ce316bf8b8082ec2df1683ccd38161f1

TBR=reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

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

8 years agoIn GrShape detect that stroked axis-aligned lines are rrects.
bsalomon [Mon, 18 Jul 2016 14:31:13 +0000 (07:31 -0700)]
In GrShape detect that stroked axis-aligned lines are rrects.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151313002

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

8 years agoTest auto merger
msarett [Mon, 18 Jul 2016 14:21:44 +0000 (07:21 -0700)]
Test auto merger

TBR=djsollen@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158793004

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

8 years agoUpdate SKP version
update-skps [Sun, 17 Jul 2016 08:02:55 +0000 (01:02 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157823002

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

8 years agoGuard SkMatrix::get*Scale[s]() against negative nearly-zero values.
kolczyk [Sat, 16 Jul 2016 18:52:37 +0000 (11:52 -0700)]
Guard SkMatrix::get*Scale[s]() against negative nearly-zero values.

BUG=skia:4718
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143133005

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

8 years agoRevert of Rotate emoji with FreeType. (patchset #5 id:80001 of https://codereview...
bungeman [Sat, 16 Jul 2016 01:49:42 +0000 (18:49 -0700)]
Revert of Rotate emoji with FreeType. (patchset #5 id:80001 of https://codereview.chromium.org/2139703002/ )

Reason for revert:
Causing roll to fail on telemetry_perf_unittests (bencharks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop.load:search:taobao (and baidu)) and browser_tests (FindInPageControllerTest.FindInPageSpecialURLS).

This is due to triggering the assert in copyFTBitmap

SkASSERT(dstMask.fBounds.width() == static_cast<int>(srcFTBitmap.width));

when called from inside the block guarded by

if (bitmapTransform.isIdentity())

Original issue's description:
> Rotate bitmap strikes with FreeType.
>
> BUG=skia:3490
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2139703002
>
> Committed: https://skia.googlesource.com/skia/+/31e0c1379e6d0ce48196183e295b929af51fa74e

TBR=mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3490

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

8 years agoAdd support for Fuchsia
abarth [Fri, 15 Jul 2016 22:15:15 +0000 (15:15 -0700)]
Add support for Fuchsia
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152273002

[mtklein edit from here down]
No public API changes.
TBR=reed@google.com

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

8 years agoRotate bitmap strikes with FreeType.
bungeman [Fri, 15 Jul 2016 21:55:35 +0000 (14:55 -0700)]
Rotate bitmap strikes with FreeType.

BUG=skia:3490
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2139703002

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

8 years agomove responsibility for creating raster-device into pdf
reed [Fri, 15 Jul 2016 21:23:29 +0000 (14:23 -0700)]
move responsibility for creating raster-device into pdf

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146333004

NOTRY=True
win failure seems unrelated

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

8 years agoSpeculatively fix Android automerger
msarett [Fri, 15 Jul 2016 21:18:49 +0000 (14:18 -0700)]
Speculatively fix Android automerger

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155713004

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

8 years agoAdd capability for SkColorXform to output half floats
msarett [Fri, 15 Jul 2016 20:54:38 +0000 (13:54 -0700)]
Add capability for SkColorXform to output half floats

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147763002
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoDont allocate a new image which already has mip levels, when regenerating vulkan...
egdaniel [Fri, 15 Jul 2016 20:41:42 +0000 (13:41 -0700)]
Dont allocate a new image which already has mip levels, when regenerating vulkan mipmaps

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146063008

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

8 years agoSkPdf: smaller color serialization
halcanary [Fri, 15 Jul 2016 20:41:27 +0000 (13:41 -0700)]
SkPdf: smaller color serialization

SkPDFUtils now has a special function (SkPDFUtils::AppendColorComponent)
just for writing out (color/255) as a decimal with three digits of
precision.

SkPDFUnion now has a type to represent a color component.  It holds a
utint_8, but calls into AppendColorComponent to serialize.

Added a unit test that tests all possible input values.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151863003

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

8 years agoSkPDF: Join Positioned Text
halcanary [Fri, 15 Jul 2016 20:35:45 +0000 (13:35 -0700)]
SkPDF: Join Positioned Text

When N sequential positioned glyphs differ in positions by exactly the
advances of the first (N-1) glyphs, join the glyphs into a string
rather than changing the text matrix between each glyph draw.

Decreases PDF output size by about ~1.4%.  Potentially more on
text-heavy pages.

A single-typeface PDF of an 27kB ASCII document shaped with harfbuzz:
        before:  187743 Bytes
         after:  65513 Bytes
    difference:  -65.1%

Before:
    BT
    /F0 13 Tf
    1 0 0 -1 143.5 61 Tm
    <0029> Tj
    1 0 0 -1 150.634765 61 Tm
    <004C> Tj
    1 0 0 -1 154.602050 61 Tm
    <0055> Tj
    1 0 0 -1 160.245117 61 Tm
    <0048> Tj
    1 0 0 -1 167.925781 61 Tm
    <004B> Tj
    1 0 0 -1 176.469726 61 Tm
    <0052> Tj
    1 0 0 -1 184.518554 61 Tm
    <0056> Tj
    1 0 0 -1 190.980468 61 Tm
    <0048> Tj
    ET

After:
    BT
    /F0 13 Tf
    1 0 0 -1 0 0 Tm
    143.5 -61 Td <0029004C0055> Tj
    16.7451171 0 Td <0048004B005200560048> Tj
    ET

Also: update the Text matrix with the `Td` operator, instead of
overwriting it with the the `Tm` operator.  In the worst case, when
every glyph is positioned differently than it's advance, this still
makes the command stream smaller:

Before:
    ...
    1 0 0 -1 58.328125 660 Tm <0055> Tj
    1 0 0 -1 61.609375 660 Tm <004C> Tj
    1 0 0 -1 63.828125 660 Tm <0056> Tj
    ...

After:
    ...
    3.140625 0 Td <0055> Tj
    3.28125 0 Td <004C> Tj
    2.21875 0 Td <0056> Tj
    ...

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150393002

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

8 years agoSkPDF: Always give a default advance for glyphs.
halcanary [Fri, 15 Jul 2016 19:54:30 +0000 (12:54 -0700)]
SkPDF: Always give a default advance for glyphs.

Prior to this we assumed the default default was 0.  It is
actually 1000, according to the spec.

fixes BUG=skia:5321
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146403005

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

8 years agoFix broken Android framework build.
djsollen [Fri, 15 Jul 2016 19:52:34 +0000 (12:52 -0700)]
Fix broken Android framework build.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2153953002

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

8 years agoAdd copy (when needed) to SkGpuDevice::asSpecial
robertphillips [Fri, 15 Jul 2016 19:21:33 +0000 (12:21 -0700)]
Add copy (when needed) to SkGpuDevice::asSpecial

split out of https://codereview.chromium.org/2145343005/ (Recast draw_filter_into_device as drawDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2157513002

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

8 years agoExclude XML and dependencies from Bazel build.
benjaminwagner [Fri, 15 Jul 2016 18:27:27 +0000 (11:27 -0700)]
Exclude XML and dependencies from Bazel build.

Depends on https://codereview.chromium.org/2150353002

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147303004

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

8 years agoSkColorSpace::NewICC() warn instead of fail on bad input
msarett [Fri, 15 Jul 2016 17:47:19 +0000 (10:47 -0700)]
SkColorSpace::NewICC() warn instead of fail on bad input

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093193002

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

8 years agoMake XML compilation conditional.
fmalita [Fri, 15 Jul 2016 17:33:29 +0000 (10:33 -0700)]
Make XML compilation conditional.

Only enabled for gyp-based builds at this time.

R=dogben@google.com,mtklein@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150353002

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

8 years agoremove unused CreateInfo flag
reed [Fri, 15 Jul 2016 16:41:26 +0000 (09:41 -0700)]
remove unused CreateInfo flag

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2153173002

NOTRY=True

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

8 years agoConvert Win toolchain to CIPD package
borenet [Fri, 15 Jul 2016 15:34:08 +0000 (08:34 -0700)]
Convert Win toolchain to CIPD package

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111713003

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

8 years agoAdd SkGpuDevice::asSpecial entry point
robertphillips [Fri, 15 Jul 2016 15:01:12 +0000 (08:01 -0700)]
Add SkGpuDevice::asSpecial entry point
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151033003

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

8 years agoAdd a bench to measure the best way to pack from int to uint16_t with SSE.
mtklein [Fri, 15 Jul 2016 14:45:53 +0000 (07:45 -0700)]
Add a bench to measure the best way to pack from int to uint16_t with SSE.

I measured relative runtimes on my laptop:

   pack_int_uint16_t_ss…
   1036  â€¦e41 1x  â€¦se3 1.01x  â€¦e2_b 3.01x  â€¦e2_a 3.02x

I've run into Clang problems with the actual _mm_packus_epi32 instruction, I think,
so I'm going to exercise a little cowardice and leave that option disabled for now.

The ssse3 version probably looks a little faster than it will be in practice.
We'll usually need to load its mask, which here is hoisted out of the bench loop.

The two sse2 variants are close enough in speed that I'm tie breaking them on other
concerns: the <<16, >>16 version doesn't need any scratch registers or to load any
constants, so it wins.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150343002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

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

8 years agoExpand _01 half<->float limitation to _finite. Simplify.
mtklein [Fri, 15 Jul 2016 14:00:11 +0000 (07:00 -0700)]
Expand _01 half<->float limitation to _finite.  Simplify.

    It's become clear we need to sometimes deal with values <0 or >1.
    I'm not yet convinced we care about NaN or +-inf.

    We had some fairly clever tricks and optimizations here for NEON
    and SSE.  I've thrown them out in favor of a single implementation.
    If we find the specializations mattered, we can certainly figure out
    how to extend them to this new range/domain.

    This happens to add a vectorized float -> half for ARMv7, which was
    missing from the _01 version.  (The SSE strategy was not portable to
    platforms that flush denorm floats to zero.)

    I've tested the full float range for FloatToHalf on my desktop and a 5x.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot

Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90
Review-Url: https://codereview.chromium.org/2145663003

8 years agoAdd getColorSpace to GrTextureProducer
brianosman [Fri, 15 Jul 2016 13:59:48 +0000 (06:59 -0700)]
Add getColorSpace to GrTextureProducer

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150113002

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

8 years agoProbably no need for GM self-tests now that GM doesn't exist.
mtklein [Fri, 15 Jul 2016 02:39:38 +0000 (19:39 -0700)]
Probably no need for GM self-tests now that GM doesn't exist.

This is... belated.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154603002

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

8 years agoDust-off SkXMLParser
fmalita [Fri, 15 Jul 2016 02:14:06 +0000 (19:14 -0700)]
Dust-off SkXMLParser

Hook up SkXMLParser to Expat, such that it can actually parse, err,
XML.

Add a trivial unit test.

R=robertphillips@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142893006

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

8 years agoremove unused TableMaskFilter
reed [Fri, 15 Jul 2016 02:13:20 +0000 (19:13 -0700)]
remove unused TableMaskFilter

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156463002

TBR=

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

8 years agoFix a bug in the Clamp in X direction tiling.
herb [Thu, 14 Jul 2016 21:50:48 +0000 (14:50 -0700)]
Fix a bug in the Clamp in X direction tiling.
The code mixed up which end of the span was cut and preserved in the
sequence of span breaks.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145193002

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

8 years agoRemove GrWrapTextureInBitmap call in SkGpuDevice::drawSpriteWithFilter
robertphillips [Thu, 14 Jul 2016 21:12:55 +0000 (14:12 -0700)]
Remove GrWrapTextureInBitmap call in SkGpuDevice::drawSpriteWithFilter

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146223003

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

8 years agoBuild Expat on all platforms
fmalita [Thu, 14 Jul 2016 21:02:24 +0000 (14:02 -0700)]
Build Expat on all platforms

* bump version to @android-6.0.1_r55 (2.1.1)

* add as a dependency to the 'xml' target (for upcoming http://crrev.com/2142893006)

* tweak build for Mac, Win:

  - define HAVE_EXPAT_CONFIG_H (same as in Android.mk)
  - use -Wno-missing-field-initializers (same as in Android.mk)
  - suppress MSVS warning 4244 (same as ..cmake/Utilities/cmexpat/expatConfig.h.in)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150603004
R=mtklein@google.com

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

8 years agoRemove dead flag from SkPictureRecorder
robertphillips [Thu, 14 Jul 2016 20:44:14 +0000 (13:44 -0700)]
Remove dead flag from SkPictureRecorder

With the Chrome CL (https://codereview.chromium.org/2149533003/ (Remove use of unsupported Skia flag)) landed, this should be good to go.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152943002

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

8 years agoRevert of Expand _01 half<->float limitation to _finite. Simplify. (patchset #7...
mtklein [Thu, 14 Jul 2016 19:03:04 +0000 (12:03 -0700)]
Revert of Expand _01 half<->float limitation to _finite.  Simplify. (patchset #7 id:120001 of https://codereview.chromium.org/2145663003/ )

Reason for revert:
Unit tests fail on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast

Original issue's description:
> Expand _01 half<->float limitation to _finite.  Simplify.
>
>     It's become clear we need to sometimes deal with values <0 or >1.
>     I'm not yet convinced we care about NaN or +-inf.
>
>     We had some fairly clever tricks and optimizations here for NEON
>     and SSE.  I've thrown them out in favor of a single implementation.
>     If we find the specializations mattered, we can certainly figure out
>     how to extend them to this new range/domain.
>
>     This happens to add a vectorized float -> half for ARMv7, which was
>     missing from the _01 version.  (The SSE strategy was not portable to
>     platforms that flush denorm floats to zero.)
>
>     I've tested the full float range for FloatToHalf on my desktop and a 5x.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003
> CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90

TBR=msarett@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoExpand _01 half<->float limitation to _finite. Simplify.
mtklein [Thu, 14 Jul 2016 18:02:09 +0000 (11:02 -0700)]
Expand _01 half<->float limitation to _finite.  Simplify.

    It's become clear we need to sometimes deal with values <0 or >1.
    I'm not yet convinced we care about NaN or +-inf.

    We had some fairly clever tricks and optimizations here for NEON
    and SSE.  I've thrown them out in favor of a single implementation.
    If we find the specializations mattered, we can certainly figure out
    how to extend them to this new range/domain.

    This happens to add a vectorized float -> half for ARMv7, which was
    missing from the _01 version.  (The SSE strategy was not portable to
    platforms that flush denorm floats to zero.)

    I've tested the full float range for FloatToHalf on my desktop and a 5x.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

8 years agoStop testing texture-backed bitmaps in drawbitmaprect GM
bsalomon [Thu, 14 Jul 2016 16:33:42 +0000 (09:33 -0700)]
Stop testing texture-backed bitmaps in drawbitmaprect GM

BUG=skia:5531
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148793003

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

8 years agoRewrite GrTextureMipMapInvalidationTest using SkImage
bsalomon [Thu, 14 Jul 2016 16:24:08 +0000 (09:24 -0700)]
Rewrite GrTextureMipMapInvalidationTest using SkImage

BUG=skia:5531
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2149133002

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

8 years agoAdded premulFourChannelColor to GrInvariantOutput
dvonbeck [Thu, 14 Jul 2016 16:02:18 +0000 (09:02 -0700)]
Added premulFourChannelColor to GrInvariantOutput

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2148273002

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

8 years agoRemove SkGrTexturePixelRef and SkGrRenderTargetPixelRef aliases for SkGrPixelRef
bsalomon [Thu, 14 Jul 2016 14:53:30 +0000 (07:53 -0700)]
Remove SkGrTexturePixelRef and SkGrRenderTargetPixelRef aliases for SkGrPixelRef
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151873002

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

8 years agoAdd verb field in scraping scripts
fmenozzi [Thu, 14 Jul 2016 14:44:50 +0000 (07:44 -0700)]
Add verb field in scraping scripts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150663002

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

8 years agoRemove unit test that tests subsetting texture backed bitmaps.
bsalomon [Thu, 14 Jul 2016 14:43:30 +0000 (07:43 -0700)]
Remove unit test that tests subsetting texture backed bitmaps.

BUG=skia:5531
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143003006

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

8 years agoFix leak when DFPR fails to draw path
bsalomon [Thu, 14 Jul 2016 14:22:19 +0000 (07:22 -0700)]
Fix leak when DFPR fails to draw path

TBR=jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2144283002

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

8 years agoGrBufferAllocPool: use _throw calloc() if unchecked.
mtklein [Thu, 14 Jul 2016 13:57:31 +0000 (06:57 -0700)]
GrBufferAllocPool: use _throw calloc() if unchecked.

Looks like this code is using sk_calloc(), NULL on failure, accidentally
instead of sk_calloc_throw().  We're using sk_malloc_throw() in the parallel
code path, so it really seems like we're not checking the result pointer.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152753002

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

8 years agoRemove GrWrapTextureInBitmap from public API
bsalomon [Wed, 13 Jul 2016 22:42:40 +0000 (15:42 -0700)]
Remove GrWrapTextureInBitmap from public API

BUG=skia:5531
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147053002

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

8 years agoStop testing texture-backed bitmaps in bleed GMs
bsalomon [Wed, 13 Jul 2016 21:50:17 +0000 (14:50 -0700)]
Stop testing texture-backed bitmaps in bleed GMs

BUG=skia:5531

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2141973004

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

8 years agoMake GrBatchAtlas robust against attempts to add large rects.
bsalomon [Wed, 13 Jul 2016 21:45:28 +0000 (14:45 -0700)]
Make GrBatchAtlas robust against attempts to add large rects.

Make GrAADistanceFieldPathRenderer robust against paths that in src space wind up being too large for the atlas.

BUG=chromium:627443
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2144663004

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

8 years agoUpdate RT views and framebuffer in vulkan after mipmaping
egdaniel [Wed, 13 Jul 2016 21:23:26 +0000 (14:23 -0700)]
Update RT views and framebuffer in vulkan after mipmaping

I've also changed it so all attachment views (texture, color, and resolve) are created separately and not shared with each other. This just added a lot more complexity than we were probably even saving in time.

A quick fix to make sure we don't reuse keys in resource tracking also
got merged into this change.

BUG=skia:5223
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146103002

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

8 years agoAdd Texture2D and Sampler GrSLTypes
egdaniel [Wed, 13 Jul 2016 21:09:30 +0000 (14:09 -0700)]
Add Texture2D and Sampler GrSLTypes

These two new types are in support of Vulkan and the ability to send
separate texture and sampler uniforms to the shader. They don't really fit
well in the current system, since the current system ties together to idea
of intended use and how to emit shader code into the same GrSLType enum.

In vulkan, I want the GrGLSLSampler object to be used as a Sampler2D, but
when appending its declaration it will emit a Texture2D and sampler object.

Our query for GrSLTypeIsSamplerType refers more to the combination of texture
and sampler and not just the sampler part. The GrSLTypeIs2DTextureType query
is for is a a SamplerType that uses Texture2Ds. My new types don't really fit
into either these categories as they are just half of the whole.

In some refactoring down the road (possibly connected with SkSL), I suggest we
split apart the concept of how we intend to use a GrGLSLSampler (Sampler2D, SamplerBuffer,
etc.), from how we actually add it to the code (sampler, texture2D, sampler2D, etc.).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143143002

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

8 years agoAdded the framework for having canvas/recorder/picture record depth_set's.
vjiaoblack [Wed, 13 Jul 2016 21:05:28 +0000 (14:05 -0700)]
Added the framework for having canvas/recorder/picture record depth_set's.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2127233002

Committed: https://skia.googlesource.com/skia/+/6d3fb898d5f73a82e36f11c712a633c3921ed518
Committed: https://skia.googlesource.com/skia/+/1185d90c785f743364cc9113d7007a59af07470c
Review-Url: https://codereview.chromium.org/2127233002

8 years agoDisable aliased font test on iOS.
bungeman [Wed, 13 Jul 2016 21:00:39 +0000 (14:00 -0700)]
Disable aliased font test on iOS.

See if not requesting aliased text fixes iOS.

BUG=skia:5530

TBR=mtklein

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150483003

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

8 years agomove GrPixelRef headers to private (as we work to eliminate them)
reed [Wed, 13 Jul 2016 20:43:49 +0000 (13:43 -0700)]
move GrPixelRef headers to private (as we work to eliminate them)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2150693002

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

8 years agoPre-crop filled rects to avoid scissor
csmartdalton [Wed, 13 Jul 2016 20:37:08 +0000 (13:37 -0700)]
Pre-crop filled rects to avoid scissor

Updates GrDrawContext to crop filled rects to the clip bounds before
creating batches for them. Also adds clipping logic to ignore scissor
when the draw falls completely inside. These two changes combined
reduce API traffic and improve batching.

In the future this can and should be improved by switching to floating
point clip boundaries, thus allowing us to throw out non pixel aligned
rectangle clips as well.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002

Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a
Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf
Review-Url: https://codereview.chromium.org/2132073002

8 years agoFix SkFixedDiv macro
liyuqian [Wed, 13 Jul 2016 20:34:46 +0000 (13:34 -0700)]
Fix SkFixedDiv macro

Previously, the macro won't pass the unit test that I just added in this
CL.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2149733002

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

8 years agoRemove bulk float <-> half routines. These are dead code.
mtklein [Wed, 13 Jul 2016 20:30:49 +0000 (13:30 -0700)]
Remove bulk float <-> half routines.  These are dead code.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152583002

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

8 years agoRemove GrLayerHoister
robertphillips [Wed, 13 Jul 2016 20:27:16 +0000 (13:27 -0700)]
Remove GrLayerHoister

This relies on https://codereview.chromium.org/1944013002/ (Add legacy flag to allow Skia to remove Ganesh layer hoister) landing first so as to not break the DEPS roll.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950523002

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

8 years agoRevert of SkSL performance improvements (patchset #6 id:140001 of https://codereview...
msarett [Wed, 13 Jul 2016 20:18:40 +0000 (13:18 -0700)]
Revert of SkSL performance improvements (patchset #6 id:140001 of https://codereview.chromium.org/2131223002/ )

Reason for revert:
Valgrind bot failures

https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1224/steps/test_skia%20on%20Ubuntu/logs/stdio

Original issue's description:
> SkSL performance improvements (plus a couple of minor warning fixes)
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002
>
> Committed: https://skia.googlesource.com/skia/+/9fd67a1f53809f5eff1210dd107241b450c48acc

TBR=benjaminwagner@google.com,egdaniel@google.com,ethannicholas@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.

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

8 years agoFix ASAN bot
msarett [Wed, 13 Jul 2016 20:08:44 +0000 (13:08 -0700)]
Fix ASAN bot

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2152573002

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

8 years agoSpecifying master names with "master." prefix is deprecated
rmistry [Wed, 13 Jul 2016 19:57:42 +0000 (12:57 -0700)]
Specifying master names with "" prefix is deprecated

NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2151623002

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

8 years agouse gpu-image instead of wrapping in a bitmap for specialimage
reed [Wed, 13 Jul 2016 19:24:48 +0000 (12:24 -0700)]
use gpu-image instead of wrapping in a bitmap for specialimage

BUG=skia:5531
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147023002

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

8 years agoDisable embedded bitmap test on iOS.
bungeman [Wed, 13 Jul 2016 17:57:24 +0000 (10:57 -0700)]
Disable embedded bitmap test on iOS.

The TypefaceRenderingGM crashes on iOS when drawing an embedded
bitmap when requesting aliased rendering. The crash looks like

libTrueTypeScaler.dylib`<redacted> + 80
stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=...)
->  0x330b19d0 <+80>: strd   r2, r3, [r5, #36]
    0x330b19d4 <+84>: movs   r3, #0x0
    0x330b19d6 <+86>: add    r2, sp, #0x28
    0x330b19d8 <+88>: ldr    r0, [r4, #0x4]

Disable testing embedded bitmaps on iOS for now.

BUG=skia:5530

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2140383004

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

8 years agohandle large conic weights
reed [Wed, 13 Jul 2016 17:56:53 +0000 (10:56 -0700)]
handle large conic weights

BUG=627414
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142393003

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

8 years agoFix vertex count estimate in GrTessellator.
senorblanco [Wed, 13 Jul 2016 17:40:42 +0000 (10:40 -0700)]
Fix vertex count estimate in GrTessellator.

When we start a new MonotonePoly due to a handedness change, we don't need to
increase the vertex count, since that edge (and vertex) has already been
accounted for in the previous MonotonePoly.

This was not a correctness issue, but was causing us to allocate
extra vertices which would go unused.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146063002

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

8 years agoAdd resource provider flag to avoid client-side buffers
csmartdalton [Wed, 13 Jul 2016 17:16:32 +0000 (10:16 -0700)]
Add resource provider flag to avoid client-side buffers

On some platforms, a newly-created buffer was liable to be CPU backed.
This would break code that expected a VBO (aka instanced rendering).
This change adds an optional flag to GrResourceProvider that requires
a buffer to be created in GPU memory.

It also moves the CPU backing logic into Gr land in order to properly
cache real VBOs on platforms that prefer client-side buffers.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143333002

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

8 years agoTurn back on nanobench on Debug trybots.
mtklein [Wed, 13 Jul 2016 16:44:18 +0000 (09:44 -0700)]
Turn back on nanobench on Debug trybots.

Swarming makes the extra wall-clock cost negligible.

TBR=

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142223004

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

8 years agoRetract PipelineBuilder from GrClip::apply
robertphillips [Wed, 13 Jul 2016 16:18:21 +0000 (09:18 -0700)]
Retract PipelineBuilder from GrClip::apply

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147443004

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