platform/upstream/libSkiaSharp.git
8 years agoDefault GR_GL_FUNCTION_TYPE to __stdcall on Windows.
mtklein [Wed, 10 Aug 2016 14:30:21 +0000 (07:30 -0700)]
Default GR_GL_FUNCTION_TYPE to __stdcall on Windows.

Why is this configurable if we can't work without it?

Just to confirm, this is a Windows constraint, not an MSVC constraint, right?
Clang on Windows also needs __stdcall?

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

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

8 years agoAdd "svg" asset
rmistry [Wed, 10 Aug 2016 14:23:51 +0000 (07:23 -0700)]
Add "svg" asset

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

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

8 years agoCreate blurred RRect mask on GPU (rather than uploading it)
robertphillips [Wed, 10 Aug 2016 14:14:55 +0000 (07:14 -0700)]
Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479
Review-Url: https://codereview.chromium.org/2222083004

8 years agoRevert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id...
halcanary [Wed, 10 Aug 2016 14:13:21 +0000 (07:13 -0700)]
Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id:20001 of https://codereview.chromium.org/2138943002/ )

Reason for revert:
Build-Ubuntu-GCC-Arm7-Release-Android fails.

Original issue's description:
> Change mapRectScaleTranslate to pass args/ret by value
>
> This reverts commit 6092b6e0e57be20d2e1ad079c0af133d2f67bfd3.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138943002
>
> Committed: https://skia.googlesource.com/skia/+/1bd13ca922d6448d595064faee486eaf3fa56e56

TBR=mtklein@google.com,msarett@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:

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

8 years agoSVG tool that downloads SVGs from a txt file into a specified dir
rmistry [Wed, 10 Aug 2016 14:00:43 +0000 (07:00 -0700)]
SVG tool that downloads SVGs from a txt file into a specified dir

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

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

8 years agoremove support for serializing bitmaps in old format
reed [Wed, 10 Aug 2016 13:37:43 +0000 (06:37 -0700)]
remove support for serializing bitmaps in old format

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

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

8 years agoChange mapRectScaleTranslate to pass args/ret by value
reed [Wed, 10 Aug 2016 13:17:54 +0000 (06:17 -0700)]
Change mapRectScaleTranslate to pass args/ret by value

This reverts commit 6092b6e0e57be20d2e1ad079c0af133d2f67bfd3.

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

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

8 years agoRevert of Create blurred RRect mask on GPU (rather than uploading it) (patchset ...
robertphillips [Wed, 10 Aug 2016 13:15:33 +0000 (06:15 -0700)]
Revert of Create blurred RRect mask on GPU (rather than uploading it) (patchset #4 id:60001 of https://codereview.chromium.org/2222083004/ )

Reason for revert:
Erg - dumb bug

Original issue's description:
> Create blurred RRect mask on GPU (rather than uploading it)
>
> This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)
>
> All blurred rrects using the "analytic" path will change slightly with this CL.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004
>
> Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479

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

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

8 years agoPrevent degenerate linear gradient instantiation
fmalita [Wed, 10 Aug 2016 12:45:50 +0000 (05:45 -0700)]
Prevent degenerate linear gradient instantiation

If the point distance exceeds SkScalar, nasty things tend to happen.

R=reed@google.com
BUG=636194
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234663002

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

8 years agoCreate blurred RRect mask on GPU (rather than uploading it)
robertphillips [Wed, 10 Aug 2016 12:33:12 +0000 (05:33 -0700)]
Create blurred RRect mask on GPU (rather than uploading it)

This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates)

All blurred rrects using the "analytic" path will change slightly with this CL.

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

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

8 years agoSkPDF: bikeshed: use `auto` less
halcanary [Wed, 10 Aug 2016 03:04:01 +0000 (20:04 -0700)]
SkPDF: bikeshed: use `auto` less

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

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

8 years agoRevert of Store mipmap levels in deferred texture image (patchset #11 id:200001 of...
halcanary [Wed, 10 Aug 2016 00:46:25 +0000 (17:46 -0700)]
Revert of Store mipmap levels in deferred texture image (patchset #11 id:200001 of https://codereview.chromium.org/2115023002/ )

Reason for revert:
speculative revert: android dm crashes

Original issue's description:
> Store mipmap levels in deferred texture image
>
> This is a follow-up to https://codereview.chromium.org/2034933003/ which
> was reverted due to a memory leak.
>
> When creating the deferred texture image, detect if using medium / high
> quality. If so, generate and store mipmaps in the deferred texture
> image.
>
> When creating a texture from that be sure to read it back out.
>
> BUG=578304
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115023002
>
> Committed: https://skia.googlesource.com/skia/+/d6113140f7ae8996f679ac6698a60fb8c1386da3

TBR=brianosman@google.com,bsalomon@google.com,ericrk@chromium.org,cblume@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=578304

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

8 years agoconstexpr infinity
mtklein [Tue, 9 Aug 2016 23:37:47 +0000 (16:37 -0700)]
constexpr infinity

~/skia (inf) $ nm /tmp/rel/obj/src/core/libskia.SkLiteDL.o | grep GLOBAL__sub
<nothing>

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

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

8 years agoallocate memory manually in SkLiteDL
mtklein [Tue, 9 Aug 2016 22:13:18 +0000 (15:13 -0700)]
allocate memory manually in SkLiteDL

Instead of growing at SkTDArray's chosen rate (+4, then *1.25),
grow in additive 4K pages.  This is my attempt to make realloc()
have the best chance of not copying and to keep fragmentation down.
Because we use a freelist the rate we grow doesn't affect performance
too much.

I'm not getting very reliable numbers, but this looks maybe 5-10% faster
for recording, mainly I think from inlining the allocation fast path into
push().

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

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

8 years agoSkLiteDL: add some missing std::move()
mtklein [Tue, 9 Aug 2016 22:09:39 +0000 (15:09 -0700)]
SkLiteDL: add some missing std::move()

This cuts a ref+unref roundtrip on all draw{Bitmap,Image}

I set this up originally and just... forgot.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2234483002

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

8 years agoRestore scratch texture reuse on Adreno.
brianosman [Tue, 9 Aug 2016 21:02:13 +0000 (14:02 -0700)]
Restore scratch texture reuse on Adreno.

New testing shows that it's a win on our slowest SKPs, and pretty much a
wash on faster tests (mixed results). However, it also saves us ~3 ms on
the hwui bitmap upload jank test.

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

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

8 years agoMove ct_skps recipe from tools repo to Skia repo.
rmistry [Tue, 9 Aug 2016 20:46:48 +0000 (13:46 -0700)]
Move ct_skps recipe from tools repo to Skia repo.
Also move the isolate file and script from Chromium repo to the Skia repo.

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

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

8 years agoStore mipmap levels in deferred texture image
cblume [Tue, 9 Aug 2016 20:45:56 +0000 (13:45 -0700)]
Store mipmap levels in deferred texture image

This is a follow-up to https://codereview.chromium.org/2034933003/ which
was reverted due to a memory leak.

When creating the deferred texture image, detect if using medium / high
quality. If so, generate and store mipmaps in the deferred texture
image.

When creating a texture from that be sure to read it back out.

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

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

8 years agoSkPDF: SkPDFFont organization changes.
halcanary [Tue, 9 Aug 2016 20:04:34 +0000 (13:04 -0700)]
SkPDF: SkPDFFont organization changes.

SkPDFFont:
  - SkPDFType1Font::populate() encode advances correctly.
  - break out logically independent code into new files:
    * SkPDFConvertType1FontStream
    * SkPDFMakeToUnicodeCmap
    SkPDFFont.cpp is now 380 lines smaller.
    Expose `SkPDFAppendCmapSections()` for testing.

SkPDFFontImpl.h
  - Fold into SkPDFFont.

SkPDFConvertType1FontStream:
  - Now assume given a SkStreamAsset

SkPDFFont:
  - AdvanceMetric now hidden in a anonymous namespace.

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

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

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

8 years agoInclude EXT_window_rectangles API
csmartdalton [Tue, 9 Aug 2016 19:42:47 +0000 (12:42 -0700)]
Include EXT_window_rectangles API

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

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

8 years agoUse SkNVRefCnt for a couple common types.
mtklein [Tue, 9 Aug 2016 19:20:04 +0000 (12:20 -0700)]
Use SkNVRefCnt for a couple common types.

These types are ref-counted, but don't otherwise need a vtable.
This makes them good candidates for SkNVRefCnt.

Destruction can be a little more direct, and if nothing else,
sizeof(T) will get a little smaller by dropping the vptr.

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

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

8 years agoSkLiteDL: tiny perf tweak
mtklein [Tue, 9 Aug 2016 18:44:12 +0000 (11:44 -0700)]
SkLiteDL: tiny perf tweak

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

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

8 years agoUse slave_build instead of checkout in run/api.py
rmistry [Tue, 9 Aug 2016 18:15:57 +0000 (11:15 -0700)]
Use slave_build instead of checkout in run/api.py

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

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

8 years agoAdd RasterWindowContext_mac
jvanverth [Tue, 9 Aug 2016 17:53:11 +0000 (10:53 -0700)]
Add RasterWindowContext_mac

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

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

8 years agoSample app uses Ganesh before calling SkGraphics::Init().
mtklein [Tue, 9 Aug 2016 17:13:28 +0000 (10:13 -0700)]
Sample app uses Ganesh before calling SkGraphics::Init().

This causes inconsistent hashing.  Before Init(), we use portable Murmur3,
after a faster SSE4.2-based hash.

To fix, call SkGraphics::Init() first.

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

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

8 years agoMove seg_to to a new header, define SkSegType enum there
hstern [Tue, 9 Aug 2016 16:38:30 +0000 (09:38 -0700)]
Move seg_to to a new header, define SkSegType enum there

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

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

8 years agomoved code into onDrawShadowedPic, only renders into shadow maps if needed
vjiaoblack [Tue, 9 Aug 2016 16:32:09 +0000 (09:32 -0700)]
moved code into onDrawShadowedPic, only renders into shadow maps if needed

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

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

8 years agoRework Overstroke GM to show differences between expected and actual
hstern [Tue, 9 Aug 2016 15:53:30 +0000 (08:53 -0700)]
Rework Overstroke GM to show differences between expected and actual

Draw the perpendiculars of the curve with the stroke width. See Cary's
SampleQuadStroker.cpp for what we are attempting to mimic.

BUG=589769,skia:5405,skia:5406
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2218773003

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

8 years agoRefactor various gradient effect classes
fmenozzi [Tue, 9 Aug 2016 15:05:57 +0000 (08:05 -0700)]
Refactor various gradient effect classes

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

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

8 years agoPurge the SkLiteDL freelist when PurgeAllCaches() is called.
mtklein [Tue, 9 Aug 2016 14:40:23 +0000 (07:40 -0700)]
Purge the SkLiteDL freelist when PurgeAllCaches() is called.

Seems like the polite thing to do.

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

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

8 years agoSkLiteRecorder: don't tell SkCanvas about clips
mtklein [Tue, 9 Aug 2016 14:19:02 +0000 (07:19 -0700)]
SkLiteRecorder: don't tell SkCanvas about clips

If no one reads our clip, and we don't expect quickReject() to help,
we can probably get away without maintaining a proper clip stack.

This puts us at about 0.6-0.7x of previous record cost.

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

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

8 years agoadd flaky test option
caryclark [Tue, 9 Aug 2016 12:04:29 +0000 (05:04 -0700)]
add flaky test option

One fuzzer generated pathops test
fails everywhere except for one
builder. Add a flaky state to the
pathops test framework to handle
this until I can investigate
further.

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

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

8 years agoCheck more GLES versions when creating context
martina.kollarova [Tue, 9 Aug 2016 08:41:55 +0000 (01:41 -0700)]
Check more GLES versions when creating context

Unifies the context creation for GL and GLES into a single loop.

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

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

8 years agotemplate intersection fuzz fixes
caryclark [Mon, 8 Aug 2016 21:27:45 +0000 (14:27 -0700)]
template intersection fuzz fixes

Plumb in the ability to ignore asserts for out of range input
deeper into the template intersection code.

Exit gracefully when error conditions are found.

TBR=reed@google.com
BUG=632607,632628,633063,633065,634251,633608
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2224823004

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

8 years ago[SVGDom] Improve whitespace handling in style parsing
fmalita [Mon, 8 Aug 2016 20:58:50 +0000 (13:58 -0700)]
[SVGDom] Improve whitespace handling in style parsing

Handle whitespace-padded style names/values.

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

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

8 years agomake SpecialLineRec::addSegment assert more permissive to accomodate rounding error
lsalzman [Mon, 8 Aug 2016 20:40:27 +0000 (13:40 -0700)]
make SpecialLineRec::addSegment assert more permissive to accomodate rounding error

Because the driving code that calls SpecialLineRec::addSegment uses double precision,
when converted back to single precision this may round such that d0 and d1 are the same.
This causes the assert to trigger. The simplest thing to do here is to modify the assert
to not be so picky and allow the rare/occasional equality.

Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1290628

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

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

8 years ago[SVGDom] Improved transform parsing
fmalita [Mon, 8 Aug 2016 19:58:57 +0000 (12:58 -0700)]
[SVGDom] Improved transform parsing

Update 'transform' attribute parsing to a more robust, SkSVGAttributeParser-based implementation.

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

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

8 years agoadd missing include
mtklein [Mon, 8 Aug 2016 19:54:08 +0000 (12:54 -0700)]
add missing include

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

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

8 years agoAdd initial CurveMeasure code
hstern [Mon, 8 Aug 2016 19:28:13 +0000 (12:28 -0700)]
Add initial CurveMeasure code

- This code is entirely private and is not being used by anything.

- In a future CL we will write a class that uses CurveMeasure to compute dash points. In order to determine whether CurveMeasure or PathMeasure should be faster, we need the dash info (the sum of the on/off intervals and how many there are)

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

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

8 years agoSkLiteDL: control reuse by a single parameter
mtklein [Mon, 8 Aug 2016 19:23:02 +0000 (12:23 -0700)]
SkLiteDL: control reuse by a single parameter

This simply caps the number of times a display list can be reused.
As this number goes up, the average amount of memory we cache goes up
and the expected number of mallocs per SkLiteDL::New() goes down.

This strategy does not need a hard-coded cap on how many display lists
to cache, or how big they can grow.

TBR=herb@google.com

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

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

8 years agoSplit distance vector into direction and magnitude components
dvonbeck [Mon, 8 Aug 2016 18:47:12 +0000 (11:47 -0700)]
Split distance vector into direction and magnitude components

The vector was split because the vector's users need it split, and we were creating it from the split components in the first place, so it made sense to skip that step.

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

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

8 years ago[SVGDom] Add viewBox support
fmalita [Mon, 8 Aug 2016 18:38:55 +0000 (11:38 -0700)]
[SVGDom] Add viewBox support

The main feature is <svg> viewBox and proper viewport support, but the CL
touches a few other things:

* refactor SkSVGRenderContext to auto-restore canvas state, and split the
  presentation bits into a separate CoW SkSVGPresentationContext

* introduce SkSVGNode::onPrepareToRender(), as a way for nodes to push their
  custom state before the actual onRender() call (instead of relying on
  non-virtual SkSVGNode to know about all possible state bits)

* add a "Type" suffix to SVG types, to disambiguate (e.g. SkSVGRectType vs.
  SkSVGRect)

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

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

8 years agoFixed comment about SkLightingShader::Context memory handling
dvonbeck [Mon, 8 Aug 2016 18:25:13 +0000 (11:25 -0700)]
Fixed comment about SkLightingShader::Context memory handling

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

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

8 years agoSkTypeface_win_dw.cpp remove unused fn
halcanary [Mon, 8 Aug 2016 18:09:33 +0000 (11:09 -0700)]
SkTypeface_win_dw.cpp remove unused fn

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

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

8 years agoEncapsulate GrReducedClip result in class members
csmartdalton [Mon, 8 Aug 2016 16:55:06 +0000 (09:55 -0700)]
Encapsulate GrReducedClip result in class members

Updates GrReducedClip to store its result in class members instead of
various pointer arguments. This helps clean up calling code and will
make it easier to reduce the clip higher in the stack.

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

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

8 years agoRevert of Cleanup use of legacy SkSurface creation methods a bit (patchset #2 id...
robertphillips [Mon, 8 Aug 2016 16:17:20 +0000 (09:17 -0700)]
Revert of Cleanup use of legacy SkSurface creation methods a bit (patchset #2 id:20001 of https://codereview.chromium.org/2223023002/ )

Reason for revert:
webkit_headless!

Original issue's description:
> Cleanup use of legacy SkSurface creation methods a bit
>
> This:
>    removes the SK_SUPPORT_LEGACY_NEW_SURFACE_API flag from the bzl build
>    cleans up some remaining uses of the old API
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2223023002
>
> Committed: https://skia.googlesource.com/skia/+/f21cd16228c20927fa4e9b937d6951471cfaa37a

TBR=benjaminwagner@google.com,egdaniel@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoSkPDF/SkAdvancedTypefaceMetrics: simplify ATM, PDF takes over
halcanary [Mon, 8 Aug 2016 16:09:59 +0000 (09:09 -0700)]
SkPDF/SkAdvancedTypefaceMetrics: simplify ATM, PDF takes over

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

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

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

8 years agoUse sse4.2 CRC32 instructions to hash when available.
mtklein [Mon, 8 Aug 2016 16:06:27 +0000 (09:06 -0700)]
Use sse4.2 CRC32 instructions to hash when available.

About 9x faster than Murmur3 for long inputs.

Most of this is a mechanical change from SkChecksum::Murmur3(...) to SkOpts::hash(...).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208903002
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;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/2208903002

8 years agouse onPeekBitmap instead of asLegacyBitmap
reed [Mon, 8 Aug 2016 16:00:29 +0000 (09:00 -0700)]
use onPeekBitmap instead of asLegacyBitmap

Since we know we are raster-backed at this point, it is fine, plus it avoids the copy-mutable logic in asLegacyBitmap, which is not needed here (and is slower if our bitmap was built with kNever_SkCopyPixelsMode).

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

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

8 years agoFix alpha bug in SkColorXform
msarett [Mon, 8 Aug 2016 15:13:09 +0000 (08:13 -0700)]
Fix alpha bug in SkColorXform

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

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

8 years agoRemove SK_SUPPORT_LEGACY_DATA_FACTORIES.
bungeman [Mon, 8 Aug 2016 15:09:10 +0000 (08:09 -0700)]
Remove SK_SUPPORT_LEGACY_DATA_FACTORIES.

The code protected by this flag is no longer used. Remove the flag and
code. This also removes SK_SUPPORT_LEGACY_TYPEFACE_PTR from Android, as
it is no longer needed.

TBR=reed
Only removes already guarded API.

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

8 years agostd::move(SkTDArray)
halcanary [Mon, 8 Aug 2016 14:21:42 +0000 (07:21 -0700)]
std::move(SkTDArray)

Since we don't support MSVC2013 anymore, we can be more
succinct when defining move constructors of compound types.

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

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

8 years agoAvoid caching resources for volatile bitmap shaders
fmalita [Mon, 8 Aug 2016 14:08:37 +0000 (07:08 -0700)]
Avoid caching resources for volatile bitmap shaders

SkBitmapProvider::isVolatile() treats all SkImages as non-volatile,
which is not what we want for temp SkImage wrappers of volatile bitmaps.

R=reed@google.com
BUG=chromium:633941
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222783002

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

8 years agoCleanup use of legacy SkSurface creation methods a bit
robertphillips [Mon, 8 Aug 2016 13:57:38 +0000 (06:57 -0700)]
Cleanup use of legacy SkSurface creation methods a bit

This:
   removes the SK_SUPPORT_LEGACY_NEW_SURFACE_API flag from the bzl build
   cleans up some remaining uses of the old API

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

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

8 years agoupdate picture recording benchmarks to allow comparison with SkLiteRecorder
mtklein [Mon, 8 Aug 2016 13:56:22 +0000 (06:56 -0700)]
update picture recording benchmarks to allow comparison with SkLiteRecorder

Here's a demo.  The new code is still looking 2-3x faster.

~/skia (bench) $ r nanobench --match nytimes --config nonrendering --ms 2000
curr/maxrss loops min median mean max stddev samples config bench
  19/26  MB 2 146µs 147µs 151µs 422µs 9% 6615 nonrendering desk_nytimes.skp
  20/26  MB 4 46.6µs 46.9µs 48.2µs 204µs 10% 10370 nonrendering keymobi_nytimes_com_.skp

~/skia (bench) $ r nanobench --match nytimes --config nonrendering --ms 2000  --lite
curr/maxrss loops min median mean max stddev samples config bench
  19/26  MB 2 73.8µs 76.9µs 78.7µs 417µs 14% 12702 nonrendering desk_nytimes.skp
  20/26  MB 5 18.5µs 18.7µs 19.3µs 137µs 12% 20713 nonrendering keymobi_nytimes_com_.skp

Here's a quick performance diff, where <1x means --lite is faster:

    top25desk_wikipedia__1_tab_.skp  285us ->  364us 1.27x
      top25desk_games_yahoo_com.skp  302us ->  329us 1.09x
                   tabl_mozilla.skp  241us ->  260us 1.08x
                desk_chalkboard.skp  321us ->  313us 0.98x
               tabl_gamedeksiam.skp  383us ->  367us 0.96x
            top25desk_pinterest.skp  375us ->  281us 0.75x
keymobi_reddit_com_r_programmin.skp  258us ->  142us 0.55x
                   desk_nytimes.skp  149us -> 77.9us 0.52x
      keymobi_worldjournal_com_.skp  201us ->  104us 0.52x
              top25desk_blogger.skp  112us ->   55us 0.49x
    top25desk_sports_yahoo_com_.skp  186us -> 89.6us 0.48x
         desk_googlespreadsheet.skp  206us -> 97.5us 0.47x
top25desk_google_com_search_q_c.skp  192us -> 89.8us 0.47x
      keymobi_wikipedia__1_tab_.skp  170us -> 79.3us 0.47x
keymobi_wikipedia__1_tab____del.skp  170us -> 78.2us 0.46x
              desk_unicodetable.skp 6.25ms -> 2.87ms 0.46x
                    desk_carsvg.skp  138us -> 63.3us 0.46x
    top25desk_answers_yahoo_com.skp  133us -> 60.7us 0.46x
                 top25desk_espn.skp  108us -> 49.2us 0.45x
top25desk_plus_google_com_11003.skp  361us ->  162us 0.45x
                      desk_espn.skp 99.4us -> 44.5us 0.45x
              tabl_worldjournal.skp  103us -> 45.6us 0.44x
             desk_ugamsolutions.skp 56.2us -> 24.8us 0.44x
             top25desk_facebook.skp 82.7us -> 35.7us 0.43x
       keymobi_cuteoverload_com.skp  213us -> 91.9us 0.43x
             top25desk_linkedin.skp 61.3us -> 26.3us 0.43x
       top25desk_news_yahoo_com.skp  153us -> 65.6us 0.43x
               desk_gmailthread.skp 64.9us -> 27.8us 0.43x
keymobi_androidpolice_com_2012_.skp  167us -> 71.3us 0.43x
           top25desk_amazon_com.skp 77.5us -> 33.1us 0.43x
                   desk_wowwiki.skp  129us -> 54.1us 0.42x
          top25desk_weather_com.skp  113us -> 47.1us 0.42x
keymobi_facebook_com_barackobam.skp 95.2us -> 39.6us 0.42x
keymobi_shop_mobileweb_ebay_com.skp 31.5us -> 13.1us 0.42x
keymobi_amazon_com_gp_aw_s_ref_.skp 46.1us -> 18.9us 0.41x
keymobi_mobile_news_sandbox_goo.skp 90.7us ->   37us 0.41x
top25desk_google_com__hl_en_q_b.skp 52.4us -> 21.4us 0.41x
keymobi_answers_yahoo_com_quest.skp 96.5us -> 39.3us 0.41x
                    tabl_pravda.skp  126us -> 51.2us 0.41x
           keymobi_nytimes_com_.skp 46.9us ->   19us 0.4x
keymobi_ftw_usatoday_com_2014_0.skp  119us -> 48.2us 0.4x
          top25desk_youtube_com.skp  162us -> 65.3us 0.4x
         keymobi_news_yahoo_com.skp 58.1us -> 23.2us 0.4x
         keymobi_boingboing_net.skp 58.8us -> 23.4us 0.4x
         keymobi_techcrunch_com.skp 26.3us -> 10.4us 0.39x
keymobi_plus_google_com_app_bas.skp 26.9us -> 10.4us 0.38x
keymobi_google_co_uk_search_hl_.skp 35.1us -> 13.4us 0.38x
              keymobi_pinterest.skp 26.2us ->   10us 0.38x
        keymobi_deviantart_com_.skp 67.1us -> 25.4us 0.38x
                     tabl_gmail.skp 10.3us -> 3.86us 0.38x
             top25desk_ebay_com.skp 65.6us -> 24.5us 0.37x
keymobi_m_youtube_com_watch_v_9.skp 57.9us -> 21.6us 0.37x
            top25desk_wordpress.skp  138us -> 51.3us 0.37x
                 keymobi_gsp_ro.skp   17us -> 6.34us 0.37x
       top25desk_techcrunch_com.skp 93.6us -> 34.7us 0.37x
keymobi_cnn_com_2012_10_03_poli.skp  232us -> 85.5us 0.37x
                keymobi_cnn_com.skp 30.5us -> 11.1us 0.37x
keymobi_baidu_com_s_wd_barack_o.skp 39.3us -> 14.3us 0.36x
keymobi_online_wsj_com_home_pag.skp 50.3us -> 18.3us 0.36x
               keymobi_digg_com.skp 54.8us -> 19.5us 0.36x
keymobi_wowwiki_com_world_of_wa.skp 39.4us ->   14us 0.36x
keymobi_theverge_com_2012_10_28.skp  102us -> 36.4us 0.36x
                      tabl_digg.skp  105us -> 37.4us 0.36x
 top25desk_google_com_calendar_.skp 67.2us -> 23.7us 0.35x
              keymobi_wordpress.skp 65.3us ->   23us 0.35x
             desk_css3gradients.skp 56.4us -> 19.8us 0.35x
top25desk_mail_google_com_mail_.skp  119us -> 41.6us 0.35x
                desk_googlehome.skp  8.2us -> 2.85us 0.35x
top25desk_docs___1_open_documen.skp 23.8us -> 8.22us 0.35x
               keymobi_mlb_com_.skp 18.6us ->  6.3us 0.34x
          keymobi_slashdot_org_.skp   33us ->   11us 0.33x
                 desk_tiger8svg.skp 96.2us ->   32us 0.33x
              top25desk_twitter.skp  124us -> 40.7us 0.33x
keymobi_bing_com_search_q_sloth.skp 17.3us -> 5.55us 0.32x
               keymobi_linkedin.skp 6.78us -> 1.99us 0.29x
          top25desk_booking_com.skp  291us -> 83.2us 0.29x
                keymobi_blogger.skp 19.3us -> 5.47us 0.28x
            keymobi_sfgate_com_.skp 83.3us ->   23us 0.28x
            desk_jsfiddlebigcar.skp 10.8us -> 2.95us 0.27x
           keymobi_theverge_com.skp   22us -> 5.27us 0.24x
                    desk_mapsvg.skp 1.15us ->  216ns 0.19x
keymobi_iphone_capitolvolkswage.skp  121us -> 22.3us 0.18x
                 desk_wikipedia.skp 1.36us ->  244ns 0.18x
               desk_pokemonwiki.skp 1.35us ->  243ns 0.18x
                  desk_samoasvg.skp 1.39us ->  241ns 0.17x
                  desk_tigersvg.skp 1.41us ->  241ns 0.17x
keymobi_booking_com_searchresul.skp  129us -> 19.7us 0.15x

Some spot testing makes it look like everything that's not a giant speedup can be made so by tweaking my (arbitrarily set) maximum size for the free list.

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

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

8 years agoSpeculative fix for SKP partner-dir upload
borenet [Mon, 8 Aug 2016 13:26:00 +0000 (06:26 -0700)]
Speculative fix for SKP partner-dir upload

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

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

8 years agoTest sk_linear_to_srgb() less exhaustively in Debug mode.
mtklein [Mon, 8 Aug 2016 12:52:55 +0000 (05:52 -0700)]
Test sk_linear_to_srgb() less exhaustively in Debug mode.

It's pretty slow when not optimized... it can take ~5 minutes to run.
This makes it take ~2 seconds on my laptop.

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

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

8 years agowhitespace change
Hal Canary [Mon, 8 Aug 2016 12:45:40 +0000 (08:45 -0400)]
whitespace change

TBR=

Review URL: https://codereview.chromium.org/2221893002 .

8 years ago[recipes] Smush the rest of builder_spec into appropriate places, other cleanup
borenet [Mon, 8 Aug 2016 11:34:00 +0000 (04:34 -0700)]
[recipes] Smush the rest of builder_spec into appropriate places, other cleanup

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

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

8 years agofinish SkLiteDL
mtklein [Sun, 7 Aug 2016 20:35:46 +0000 (13:35 -0700)]
finish SkLiteDL

    - makeThreadsafe()
    - fix up some alignment problems
    - drawVertices / drawPatch
    - work around drawPicture() + default paint bugs?
    - turn on tests.

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

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

8 years agoSkLiteDL, very nearly the rest
mtklein [Sun, 7 Aug 2016 18:35:08 +0000 (11:35 -0700)]
SkLiteDL, very nearly the rest

    fix saveLayer bounds
    all the misc calls
    a bit of refactoring

just drawVertices and drawPatch to go, plus some todos and likely bug fixes

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

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

8 years agoUpdate SKP version
update-skps [Sun, 7 Aug 2016 08:52:47 +0000 (01:52 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years agoSkLiteDL: closing in
mtklein [Sun, 7 Aug 2016 03:31:30 +0000 (20:31 -0700)]
SkLiteDL: closing in

 - optimizeFor(GrContext*)
 - images
 - basic text

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

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

8 years agoflesh out more of SkLiteDL:
mtklein [Sat, 6 Aug 2016 22:28:11 +0000 (15:28 -0700)]
flesh out more of SkLiteDL:

    save layer, clips, simple draws

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

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

8 years agoSkLite*
mtklein [Sat, 6 Aug 2016 19:51:51 +0000 (12:51 -0700)]
SkLite*

SkLiteRecorder, a new SkCanvas, fills out SkLiteDL, a new SkDrawable.

This SkDrawable is a display list similar to SkRecord and SkBigPicture / SkRecordedDrawable, but with a few new design points inspired by Android and slimming paint:

  1) SkLiteDL is structured as one big contiguous array rather than the two layer structure of SkRecord.  This trades away flexibility and large-op-count performance for better data locality for small to medium size pictures.

  2) We keep a global freelist of SkLiteDLs, both reusing the SkLiteDL struct itself and its contiguous byte array.  This keeps the expected number of mallocs per display list allocation <1 (really, ~0) for cyclical use cases.

These two together mean recording is faster.  Measuring against the code we use at head, SkLiteRecorder trends about ~3x faster across various size pictures, matching speed at 0 draws and beating the special-case 1-draw pictures we have today.  (I.e. we won't need those special case implementations anymore, because they're slower than this new generic code.)  This new strategy records 10 drawRects() in about the same time the old strategy took for 2.

This strategy stays the winner until at least 500 drawRect()s on my laptop, where I stopped checking.

A simpler alternative to freelisting is also possible (but not implemented here), where we allow the client to manually reset() an SkLiteDL for reuse when its refcnt is 1.  That's essentially what we're doing with the freelist, except tracking what's available for reuse globally instead of making the client do it.

This code is not fully capable yet, but most of the key design points are there.  The internal structure of SkLiteDL is the area I expect to be most volatile (anything involving Op), but its interface and the whole of SkLiteRecorder ought to be just about done.

You can run nanobench --match picture_overhead as a demo.  Everything it exercises is fully fleshed out, so what it tests is an apples-to-apples comparison as far as recording costs go.  I have not yet compared playback performance.

It should be simple to wrap this into an SkPicture subclass if we want.

I won't start proposing we replace anything old with anything new quite yet until I have more ducks in a row, but this does look pretty promising (similar to the SkRecord over old SkPicture change a couple years ago) and I'd like to land, experiment, iterate, especially with an eye toward Android.

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

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

8 years agoMerge GrClipMaskManager into GrClipStackClip
csmartdalton [Sat, 6 Aug 2016 05:32:12 +0000 (22:32 -0700)]
Merge GrClipMaskManager into GrClipStackClip

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

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

8 years agouse tmp allocator for images in temp shaders
reed [Fri, 5 Aug 2016 21:50:19 +0000 (14:50 -0700)]
use tmp allocator for images in temp shaders

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

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

8 years agoSkPDF: Stop using kHAdvance_PerGlyphInfo
halcanary [Fri, 5 Aug 2016 20:51:46 +0000 (13:51 -0700)]
SkPDF: Stop using kHAdvance_PerGlyphInfo

SkPDFFont:
- never request kHAdvance_PerGlyphInfo from typeface.
- set_glyph_widths() fn uses a glyph cache to get advances.
- stop expecting vertical advances that are never requested.
- composeAdvanceData() now non-templated
- appendAdvance() one-line function removed

SkPDFDevice:
- use a glyph cache for getting repeated advances.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2219733004

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

8 years agoupdate Image_MakeFromRasterBitmap to check uniqueIDs
reed [Fri, 5 Aug 2016 20:19:01 +0000 (13:19 -0700)]
update Image_MakeFromRasterBitmap to check uniqueIDs

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

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

8 years agoEnable SK_DEBUG/SK_RELEASE to be defined in the user config.
djsollen [Fri, 5 Aug 2016 20:04:41 +0000 (13:04 -0700)]
Enable SK_DEBUG/SK_RELEASE to be defined in the user config.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2204683005

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

8 years agorename FoceCopyMode to SkCopyPixelMode
reed [Fri, 5 Aug 2016 19:07:41 +0000 (12:07 -0700)]
rename FoceCopyMode to SkCopyPixelMode

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

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

8 years agoSkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: SkAlphaMulQ...
lsalzman [Fri, 5 Aug 2016 18:48:45 +0000 (11:48 -0700)]
SkBlendARGB32 and S32[A]_Blend_BlitRow32 are currently formulated as: SkAlphaMulQ(src, src_scale) + SkAlphaMulQ(dst, dst_scale), which boils down to ((src*src_scale)>>8) + ((dst*dst_scale)>>8). In particular, note that the intermediate precision is discarded before the two parts are added together, causing the final result to possibly inaccurate.

In Firefox, we use SkCanvas::saveLayer in combination with a backdrop that initializes the layer to the background. When this is blended back onto background using transparency, where the source and destination pixel colors are the same, the resulting color after the blend is not preserved due to the lost precision mentioned above. In cases where this operation is repeatedly performed, this causes substantially noticeable differences in color as evidenced in this downstream Firefox bug report:  https://bugzilla.mozilla.org/show_bug.cgi?id=1200684

In the test-case in the downstream report, essentially it does blend(src=0xFF2E3338, dst=0xFF2E3338, scale=217), which gives the result 0xFF2E3237, while we would expect to get back 0xFF2E3338.

This problem goes away if the blend is instead reformulated to effectively do (src*src_scale + dst*dst_scale)>>8, which keeps the intermediate precision during the addition before shifting it off.

This modifies the blending operations thusly. The performance should remain mostly unchanged, or possibly improve slightly, so there should be no real downside to doing this, with the benefit of making the results more accurate. Without this, it is currently unsafe for Firefox to blend a layer back onto itself that was initialized with a copy of its background.

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

[mtklein adds...]
No public API changes.
TBR=reed@google.com

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

8 years agouse SkMakeBitmapShader to not force copies when possible
reed [Fri, 5 Aug 2016 17:15:00 +0000 (10:15 -0700)]
use SkMakeBitmapShader to not force copies when possible

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

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

8 years agoRename GrDrawingManager::drawContext to makeDrawContext
robertphillips [Fri, 5 Aug 2016 16:28:20 +0000 (09:28 -0700)]
Rename GrDrawingManager::drawContext to makeDrawContext

This was violating our naming convention

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

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

8 years agoRoll GN
mtklein [Fri, 5 Aug 2016 15:40:03 +0000 (08:40 -0700)]
Roll GN

No major new features... just good to keep up.

https://chromium.googlesource.com/chromium/buildtools.git/+log/60f7f9a..9c6ad6f

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

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

8 years agoMaking a sample for shadow maps for more intensive development
vjiaoblack [Fri, 5 Aug 2016 14:55:01 +0000 (07:55 -0700)]
Making a sample for shadow maps for more intensive development

Merge branch 'shadow-gm' into shadow-sample

Added variable size shadow maps. Also fixed some bugs

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

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

8 years agoMinor clean up related to blur mask filters
robertphillips [Fri, 5 Aug 2016 14:51:29 +0000 (07:51 -0700)]
Minor clean up related to blur mask filters

This is the non-substantive portion of: https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter)

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

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

8 years agoMove to SkDataTable::MakeXXX and sk_sp.
bungeman [Fri, 5 Aug 2016 13:51:50 +0000 (06:51 -0700)]
Move to SkDataTable::MakeXXX and sk_sp.

Change SkDataTable::NewXXX to SkDataTable::MakeXXX and return sk_sp.
This updates users of SkDataTable to sk_sp as well.
There do not appear to be any external users of these methods.

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

8 years agoFix vulkan resolve
egdaniel [Fri, 5 Aug 2016 13:35:39 +0000 (06:35 -0700)]
Fix vulkan resolve

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

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

8 years ago[recipes] Increase test coverage
borenet [Fri, 5 Aug 2016 13:30:10 +0000 (06:30 -0700)]
[recipes] Increase test coverage

Remove a bunch of "pragma: no cover" by removing unused code or adding test bots to cover.

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

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

8 years ago[recipes] Separate builder_spec into compile/test/perf recipes
borenet [Fri, 5 Aug 2016 12:40:59 +0000 (05:40 -0700)]
[recipes] Separate builder_spec into compile/test/perf recipes

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

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

8 years ago[recipes] Remove build environment vars from default_env
borenet [Fri, 5 Aug 2016 12:18:05 +0000 (05:18 -0700)]
[recipes] Remove build environment vars from default_env

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

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

8 years agocheck zero-length text draws
reed [Thu, 4 Aug 2016 22:54:41 +0000 (15:54 -0700)]
check zero-length text draws

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

TBR=

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

8 years agoRemove color-dodge/burn from NVIDIA blacklist on 355.00+
csmartdalton [Thu, 4 Aug 2016 21:43:49 +0000 (14:43 -0700)]
Remove color-dodge/burn from NVIDIA blacklist on 355.00+

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

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

8 years agoImplement Vulkan Resolve.
egdaniel [Thu, 4 Aug 2016 19:50:01 +0000 (12:50 -0700)]
Implement Vulkan Resolve.

First step to getting msaa running on vulkan

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

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

8 years agoAdd new GM for occluded blurmask filter draws
robertphillips [Thu, 4 Aug 2016 19:35:46 +0000 (12:35 -0700)]
Add new GM for occluded blurmask filter draws

This splits out just the GM portion of https://codereview.chromium.org/2201993003/ (Add GM to test out blurmaskfilter occluders) which included some API changes

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

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

8 years agoGet Mac viewer working with SDL
jvanverth [Thu, 4 Aug 2016 19:30:31 +0000 (12:30 -0700)]
Get Mac viewer working with SDL

Also fixes SkiaSDLExample.

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

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

8 years agoThis CL's base is the CL that sets up the distance vector field req. exposure: https...
dvonbeck [Thu, 4 Aug 2016 19:27:26 +0000 (12:27 -0700)]
This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/2114993002/

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

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

8 years agoCreate a separate src for colorspace tests
msarett [Thu, 4 Aug 2016 19:22:06 +0000 (12:22 -0700)]
Create a separate src for colorspace tests

This will allow me to run these tests in sRGB mode, while
leaving most of the image tests disabled.

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

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

8 years ago[recipes] Fixes for Coverage bot
borenet [Thu, 4 Aug 2016 19:16:03 +0000 (12:16 -0700)]
[recipes] Fixes for Coverage bot

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

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

8 years ago[recipes] Stop pretending that buildbot_spec is a step, simplify
borenet [Thu, 4 Aug 2016 18:33:01 +0000 (11:33 -0700)]
[recipes] Stop pretending that buildbot_spec is a step, simplify

Since we no longer have to call out to obtain the buildbot_spec, merge
the two functions in vars API.  As a side effect, this applies
default_env to the sync steps as well, which shouldn't have an
appreciable effect on bot behavior.

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

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

8 years agoMove builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes
borenet [Thu, 4 Aug 2016 18:07:10 +0000 (11:07 -0700)]
Move builder_spec, [dm|nanobench]_flags, builder_name_schema to recipes

- builder_name_schema becomes its own recipe module.
- builder_spec, dm, and nanobench flags move into vars module.
- recipe expectation diffs include:
  - no more buildbot_spec.py step
  - "real" dm and nanobench flags, instead of --dummy-flags
  - some inconsequential stuff in visualbench, which is removed anyway.

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

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

8 years agoSkRTConf: eliminate
halcanary [Thu, 4 Aug 2016 17:47:16 +0000 (10:47 -0700)]
SkRTConf: eliminate

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

[mtklein]
TBR=reed@google.com
Only removing unused public API.

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

8 years agoUpdate skimage VERSION: attempt 3
msarett [Thu, 4 Aug 2016 17:39:22 +0000 (10:39 -0700)]
Update skimage VERSION: attempt 3

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

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

8 years agoGN: make SkPMColor BGRA on Linux. All other platforms are auto-detected.
mtklein [Thu, 4 Aug 2016 16:52:11 +0000 (09:52 -0700)]
GN: make SkPMColor BGRA on Linux.  All other platforms are auto-detected.

This technically shouldn't cause us to draw differently, but sometimes
does on buggy GMs, and also has us go down slightly different code paths.
It's good to be consistent with GYP, Chromium, Google3, etc.

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

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

8 years agoSlim the CQ down to the GN bots, where they exist.
mtklein [Thu, 4 Aug 2016 16:47:38 +0000 (09:47 -0700)]
Slim the CQ down to the GN bots, where they exist.

If no one objects to my "GN bot plan" email, this unblocks us from removing
a bunch of non-GN bots.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot,Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-GN-Trybot

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

8 years agoAdd new bench for occluded blurmaskfilter draws
robertphillips [Thu, 4 Aug 2016 16:03:19 +0000 (09:03 -0700)]
Add new bench for occluded blurmaskfilter draws

w/ occluders
  44/44  MB     6       497us   500us   500us   502us   0%      .oOOooooOO      gpu     bluroccludedrrect

w/o occluders
  41/41  MB     5       1.08ms  1.09ms  1.12ms  1.47ms  11%     .........O      gpu     bluroccludedrrect

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

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

8 years agoRemove SkSurface::MakeRenderTargetDirect
robertphillips [Thu, 4 Aug 2016 15:45:02 +0000 (08:45 -0700)]
Remove SkSurface::MakeRenderTargetDirect

split into:
https://codereview.chromium.org/2182543003/ (Move prepareForExternalIO from GrRenderTarget to GrDrawContext)
https://codereview.chromium.org/2187573002/ (Reduce usage of MakeRenderTargetDirect)
https://codereview.chromium.org/2186073002/ (Rename GrContext's newDrawContext & drawContext to makeDrawContext)
https://codereview.chromium.org/2178353005/ (Remove use of MakeRenderTargetDirect from view system)
https://codereview.chromium.org/2198433003/ (Remove some ancillary users of SkSurface::MakeRenderTargetDirect)
https://codereview.chromium.org/2208483004/ (Remove GrRenderTarget member variable from SkGpuDevice)
https://codereview.chromium.org/2211473002/ (Move GrContext::makeDrawContext to new GrContextPriv object)

TBR=bsalomon@google.com

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

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

8 years agoShow SVG file name in SampleApp title
fmalita [Thu, 4 Aug 2016 15:39:41 +0000 (08:39 -0700)]
Show SVG file name in SampleApp title

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

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

8 years agoRevert of Update skimage VERSION: attempt 2 (patchset #1 id:1 of https://codereview...
msarett [Thu, 4 Aug 2016 14:46:44 +0000 (07:46 -0700)]
Revert of Update skimage VERSION: attempt 2 (patchset #1 id:1 of https://codereview.chromium.org/2213973002/ )

Reason for revert:
Think this is going to break Windows again.

Original issue's description:
> Update skimage VERSION: attempt 2
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2213973002
>
> Committed: https://skia.googlesource.com/skia/+/d6dec3f4a1365d34e147234acf3c4a3629146457

TBR=borenet@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/2216523003