platform/upstream/libSkiaSharp.git
8 years agoGN: Build and link with LLD when using our Clang toolchain.
mtklein [Thu, 1 Sep 2016 22:51:03 +0000 (15:51 -0700)]
GN: Build and link with LLD when using our Clang toolchain.

I am hoping this makes it easier to get *SAN bots going.
Today we're generating a libcompiler_rt.a that's using a
relocation type that the ld on the bots doesn't know about.
This lld is will know about anything our Clang generates.

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

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

8 years agoThe *SAN bots are now all Clang bots.
mtklein [Thu, 1 Sep 2016 22:49:44 +0000 (15:49 -0700)]
The *SAN bots are now all Clang bots.

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

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

8 years agoRemove tsan.supp.
mtklein [Thu, 1 Sep 2016 21:57:35 +0000 (14:57 -0700)]
Remove tsan.supp.

The remaining suppression (libwebp) is already covered by the
compile-time blacklist, tools/xsan.blacklist.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot

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

8 years agoMove Skia GN sources to a separate .gni file.
brettw [Thu, 1 Sep 2016 21:24:39 +0000 (14:24 -0700)]
Move Skia GN sources to a separate .gni file.

This file will be imported by Chrome to access the sources lists.

Once Chrome is updated to use this file, changes to the skia .gypi layout can
be done entirely within the skia repository as long as the resulting lists
produced by the new .gni file have the same name.

Marks skia_for_chromium_defines as obsolete and moves the definition into the new .gni file. We can remove the .gypi file when Chrome is updated.

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

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

8 years agoSkPDF: revert changes to CMapName/Registry/Ordering in 3d01c62
halcanary [Thu, 1 Sep 2016 21:10:00 +0000 (14:10 -0700)]
SkPDF: revert changes to CMapName/Registry/Ordering in 3d01c62

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

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

8 years agoForce SkPath::getConvexity() cache for thread safety.
mtklein [Thu, 1 Sep 2016 20:49:13 +0000 (13:49 -0700)]
Force SkPath::getConvexity() cache for thread safety.

I happened to stumble on this in a run of TSAN:
    https://luci-milo.appspot.com/swarming/task/30fffe9497dc6310/steps/dm/0/stdout

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

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

8 years agoFix PostUploadHook for Gerrit issues
rmistry [Thu, 1 Sep 2016 20:36:31 +0000 (13:36 -0700)]
Fix PostUploadHook for Gerrit issues

A gerrit change must contain the "Change-Id" at the end. This CL strips
out the changeId from the description and adds it back in at the end.

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

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

8 years agoTry removing Ganesh suppression.
mtklein [Thu, 1 Sep 2016 20:25:25 +0000 (13:25 -0700)]
Try removing Ganesh suppression.

Seems ok: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot/builds/2

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

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

8 years agoGN: expunge all environment variables that have no effect on GN
mtklein [Thu, 1 Sep 2016 20:19:20 +0000 (13:19 -0700)]
GN: expunge all environment variables that have no effect on GN

This should have no practical effect.  I just want to make sure no
environment variables beyond $PATH have any effect on GN builds.

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

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

8 years agoAdd infra/bots/tasks.json
borenet [Thu, 1 Sep 2016 19:32:23 +0000 (12:32 -0700)]
Add infra/bots/tasks.json

This is an initial version which adds a trio of buildbot-less bots. I
expect these to be totally broken while I work out the issues.

In the future, we'll have a script to generate tasks.json.

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

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

8 years agoLift SkString TSAN suppression, to see what yells.
mtklein [Thu, 1 Sep 2016 19:04:22 +0000 (12:04 -0700)]
Lift SkString TSAN suppression, to see what yells.

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

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

8 years agoReplace a lot of 'static const' with 'constexpr' or 'const'.
mtklein [Thu, 1 Sep 2016 18:24:54 +0000 (11:24 -0700)]
Replace a lot of 'static const' with 'constexpr' or 'const'.

'static const' means, there must be at most one of these, and initialize it at
compile time if possible or runtime if necessary.  This leads to unexpected
code execution, and TSAN* will complain about races on the guard variables.

Generally 'constexpr' or 'const' are better choices.  Neither can cause races:
they're either intialized at compile time (constexpr) or intialized each time
independently (const).

This CL prefers constexpr where possible, and uses const where not.  It even
prefers constexpr over const where they don't make a difference... I want to have
lots of examples of constexpr for people to see and mimic.

The scoped-to-class static has nothing to do with any of this, and is not changed.

* Not yet on the bots, which use an older TSAN.

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

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

8 years agoDisable MSAAPathRender for Android Framework builds
robertphillips [Thu, 1 Sep 2016 17:13:04 +0000 (10:13 -0700)]
Disable MSAAPathRender for Android Framework builds
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298613005

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

8 years agoEnable Gerrit support in Skia's PostUploadHook
rmistry [Thu, 1 Sep 2016 16:54:01 +0000 (09:54 -0700)]
Enable Gerrit support in Skia's PostUploadHook

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

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

8 years agoUse methods from depot_tool's Changelist object instead of Rietveld RPC
rmistry [Thu, 1 Sep 2016 16:52:32 +0000 (09:52 -0700)]
Use methods from depot_tool's Changelist object instead of Rietveld RPC

This will make support for both Gerrit and Rietveld easier.

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

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

8 years agoGN: add extra_ldflags
mtklein [Thu, 1 Sep 2016 16:15:44 +0000 (09:15 -0700)]
GN: add extra_ldflags

This is mostly just handy for hacking around while building out other GN features.

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

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

8 years agoSkFontMgr_FontConfigInterface create typeface from FontParameters.
bungeman [Thu, 1 Sep 2016 15:52:29 +0000 (08:52 -0700)]
SkFontMgr_FontConfigInterface create typeface from FontParameters.

This implements
SkFontMgr_FontConfigInterface::onCreateFromStream(SkStreamAsset*, const FontParameters&)
and makes the changes needed to support it. This will allow Chromium to
create variation fonts from data.

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

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

8 years agoRemove some useless declarations
sylvestre.ledru [Thu, 1 Sep 2016 15:47:44 +0000 (08:47 -0700)]
Remove some useless declarations

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

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

8 years agopreserve GN_Android in compile -> test mapper
mtklein [Thu, 1 Sep 2016 15:47:25 +0000 (08:47 -0700)]
preserve GN_Android in compile -> test mapper

doesn't seem anything tests this?

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

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

8 years agoEnable the screenspace AA tessellating path renderer.
senorblanco [Thu, 1 Sep 2016 15:22:58 +0000 (08:22 -0700)]
Enable the screenspace AA tessellating path renderer.

This will enable the new path renderer in Skia. It is still disabled
in Chrome, to protect layout test results.

Note: this will cause minor pixel diffs in a number of GMs' GPU results,
including drawregionmodes, dstreadshuffle, smallarc, path-reverse,
bug339297, parsedpaths, zero_control_stroke, strokedlines, smallpaths,
circular_arcs_stroke_round, concavepaths, circular_arcs_stroke_square,
clipcubic, arcto, persp_shaders_aa, complexclip3_complex,
circular_arcs_stroke_and_fill_butt, complexclip_aa,
complexclip_aa_layer, complexclip_aa_invert, complexclip3_simple,
complexclip_aa_layer_invert, shadertext, shadertext2,
convex-lineonly-paths-stroke-and-fill, poly2poly, glyph_pos_h_b,
glyph_pos_h_f, glyph_pos_n_f, and glyph_pos_n_s.

Note: it also "fixes" crbug_640176, or more accurately, hides the
failure, since the default path renderer likely still has the bug.

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

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

8 years agoRemove a duplicate declaration
sylvestre.ledru [Thu, 1 Sep 2016 15:17:02 +0000 (08:17 -0700)]
Remove a duplicate declaration

Merge branch 'master' of github.com:google/skia

Remove a useless declaration

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

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

8 years agoRemove empty {lsan,ubsan}.supp files.
mtklein [Thu, 1 Sep 2016 15:08:03 +0000 (08:08 -0700)]
Remove empty {lsan,ubsan}.supp files.

We never used ubsan.supp,
and LSAN suppressions are now built into the test binaries.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

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

8 years agominor SkSL changes to avoid compiler errors in Chromium
ethannicholas [Thu, 1 Sep 2016 14:59:02 +0000 (07:59 -0700)]
minor SkSL changes to avoid compiler errors in Chromium

* fixed a couple of spots where using { } instead of an explicit constructor call resulted in errors
* Type::Field had a deleted copy constructor and therefore was not working inside std::vector; had to remove const from fields and change fType from a reference to a pointer

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

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

8 years agoAdd contributor to Skia AUTHORS file
hcm [Thu, 1 Sep 2016 14:55:43 +0000 (07:55 -0700)]
Add contributor to Skia AUTHORS file

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

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

8 years agoFix ASAN int overflow error in GLProgramsTest
bsalomon [Thu, 1 Sep 2016 14:20:29 +0000 (07:20 -0700)]
Fix ASAN int overflow error in GLProgramsTest

TBR=senorblanco@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289143006

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

8 years agoBuild LSAN suppressions into the test binaries.
mtklein [Thu, 1 Sep 2016 14:06:54 +0000 (07:06 -0700)]
Build LSAN suppressions into the test binaries.

This way you don't need to set LSAN_SUPPRESSIONS in your environment...
sort of foolproof this way.

I _think_ the strdup() business from skia:2916 is actually rooted in
libfontconfig, so one suppression should cover both old ones.

I'll leave the file empty until I clean up mention of it in bot recipes.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot

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

8 years agoBlame this for GTX960 diffs.
benjaminwagner [Thu, 1 Sep 2016 12:38:54 +0000 (05:38 -0700)]
Blame this for GTX960 diffs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2300983002
NOTREECHECKS=true
NOTRY=true
TBR=csmartdalton@google.com

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

8 years agoFlush some non-substantive Ganesh changes
robertphillips [Wed, 31 Aug 2016 22:06:24 +0000 (15:06 -0700)]
Flush some non-substantive Ganesh changes

Split out of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

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

8 years agoAdd read/write-Pixels to GrDrawContext
robertphillips [Wed, 31 Aug 2016 21:54:15 +0000 (14:54 -0700)]
Add read/write-Pixels to GrDrawContext

Although not absolutely required this does remove another case where the drawContext's backing store is accessed.

Broken out of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

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

8 years agopathops coincident work
caryclark [Wed, 31 Aug 2016 21:36:29 +0000 (14:36 -0700)]
pathops coincident work

This is working towards fixing all bugs around simplifying the tiger.

This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable.

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

TBR=reed@google.com
BUG=skia:5131

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

8 years agoHave GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids
robertphillips [Wed, 31 Aug 2016 21:04:06 +0000 (14:04 -0700)]
Have GrSurfaceProxys and GrGpuResources draw from the same pool of unique ids

The idea here is that, for wrapped Proxy objects, we want the uniqueID to reflect that of the wrapped object. For this to work the IDs for the non-wrapped versions can't conflict with GrGpuResource's pool of IDs.

Split off of: https://codereview.chromium.org/2215323003/ (Start using RenderTargetProxy (omnibus))

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

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

8 years agoMove clip mask generation into GrReducedClip
csmartdalton [Wed, 31 Aug 2016 19:54:46 +0000 (12:54 -0700)]
Move clip mask generation into GrReducedClip

This is a temporary solution to facilitate window rectangles and make
clip mask generation more accessible for testing. The eventual goal is
to simplify clips and merge GrReducedClip into GrClipStackClip.

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

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

8 years agoSkPDF: Fix Type3 ToUnicode table.
halcanary [Wed, 31 Aug 2016 19:52:35 +0000 (12:52 -0700)]
SkPDF: Fix Type3 ToUnicode table.

This seems to fix text extraction on Adobe Reader

  - Registry/Ordering is now set to Skia/SkiaOrdering.
  - Type3 fonts now get a FontDescriptor (force symbolic font).
  - CMapName is now Skia-Identity-SkiaOrdering
  - CMap behaves correctly for single-byte fonts.

Also:
  - SkTestTypeface returns tounicode map for testing.
  - Unit test updated

All PDFs render the same

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

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

8 years agoUpdate FreeType dependency from 2.6.1 to 2.6.5.
bungeman [Wed, 31 Aug 2016 19:48:18 +0000 (12:48 -0700)]
Update FreeType dependency from 2.6.1 to 2.6.5.

6a19a7d332c5446542196e5aeda0ede109ef097b
4d3f7ca8cedbddad40b9e93a82926618e3fb4265

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

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

8 years agoFix up presubmit for SAN GCC->Clang fix.
mtklein [Wed, 31 Aug 2016 19:43:14 +0000 (12:43 -0700)]
Fix up presubmit for SAN GCC->Clang fix.

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

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

8 years agoAdd and use a clang_linux asset.
mtklein [Wed, 31 Aug 2016 19:35:21 +0000 (12:35 -0700)]
Add and use a clang_linux asset.

This gives us a consistent Clang toolchain on Linux bots,
most importantly for *SAN bots.  It's ~300MB unpacked.

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

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

8 years agoDefine clear regions in terms of GrFixedClip
csmartdalton [Wed, 31 Aug 2016 18:55:52 +0000 (11:55 -0700)]
Define clear regions in terms of GrFixedClip

Updates clear APIs to take GrFixedClip instead of a rectangle. This
will allow us to use window rectangles with clears. Removes stencil
knobs from GrFixedClip.

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

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

8 years agoDon't purge resources for trivial GrContext flushes
bsalomon [Wed, 31 Aug 2016 18:53:49 +0000 (11:53 -0700)]
Don't purge resources for trivial GrContext flushes
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298003003

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

8 years agoadded point light attenuations to raster
vjiaoblack [Wed, 31 Aug 2016 18:48:29 +0000 (11:48 -0700)]
added point light attenuations to raster

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

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

8 years agoOptimizations and more documentation of SkShadowShader
vjiaoblack [Wed, 31 Aug 2016 18:15:21 +0000 (11:15 -0700)]
Optimizations and more documentation of SkShadowShader

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

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

8 years agoIn VulkanWindowContext add check to see if ganesh changed the layout of the image.
egdaniel [Wed, 31 Aug 2016 18:03:50 +0000 (11:03 -0700)]
In VulkanWindowContext add check to see if ganesh changed the layout of the image.

BUG=skia:

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

8 years agoScreenspace AA tessellated GPU path rendering.
senorblanco [Wed, 31 Aug 2016 17:36:19 +0000 (10:36 -0700)]
Screenspace AA tessellated GPU path rendering.

This is an approach to antialiased concave path rendering
on the GPU without using MSAA. It uses GrTessellator to
extract boundary contours from the given path, then
inflates by half a pixel in screen space each direction,
then renders the result with zero alpha on the outer
contour and one alpha on in the inner contour. This
requires two passes through the tessellation code: one
to extract the boundaries, then one to tessellate the
result.

This gives approximately a 3X improvement on the IE
chalkboard demo in non-MSAA mode, a 30-40% improvement
on MotionMark's "Fill Paths", and a ~3X improvement on
MotionMark's "canvas arcTo segments".

It works best for large, simple paths, so there's currently
a limit of 10 verbs in the onCanDrawPath() check. This
dovetails nicely with the distance field path renderer's
support for small, detailed (and cached) paths.

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

NOTRY=true

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

8 years agoAlways add a barrier when old layout was general in vulkan.
egdaniel [Wed, 31 Aug 2016 17:13:08 +0000 (10:13 -0700)]
Always add a barrier when old layout was general in vulkan.

When we have a general layout, we need to always add a barrier even if
leaving the layout in general since we don't know what the use case for
general was with the old layout.

This doesn't seem to fix any of our synchronization issues which makes
sense since we don't really use a general layout much. The only place it
is used is for mipmap generation, but then we add explicit barriers in
that function itself and the first use of the image after mipmap generation
will change the layout to something other than general, usually SHADER_READ.

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

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

8 years agoRevert of Screenspace AA tessellated path rendering. (patchset #37 id:730001 of https...
senorblanco [Wed, 31 Aug 2016 16:31:37 +0000 (09:31 -0700)]
Revert of Screenspace AA tessellated path rendering. (patchset #37 id:730001 of https://codereview.chromium.org/1152733009/ )

Reason for revert:
Causing asserts in GLPrograms test on Mac.

Original issue's description:
> Screenspace AA tessellated GPU path rendering.
>
> This is an approach to antialiased concave path rendering
> on the GPU without using MSAA. It uses GrTessellator to
> extract boundary contours from the given path, then
> inflates by half a pixel in screen space each direction,
> then renders the result with zero alpha on the outer
> contour and one alpha on in the inner contour. This
> requires two passes through the tessellation code: one
> to extract the boundaries, then one to tessellate the
> result.
>
> This gives approximately a 3X improvement on the IE
> chalkboard demo in non-MSAA mode, a 30-40% improvement
> on MotionMark's "Fill Paths", and a ~3X improvement on
> MotionMark's "canvas arcTo segments".
>
> It works best for large, simple paths, so there's currently
> a limit of 10 verbs in the onCanDrawPath() check. This
> dovetails nicely with the distance field path renderer's
> support for small, detailed (and cached) paths.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1152733009
>
> Committed: https://skia.googlesource.com/skia/+/9992bdef8ae97b3e5b109d278ccfab84c66bcbf0

TBR=bsalomon@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/2299683002

8 years agoswitch CQ over to GN_Android compile bots
mtklein [Wed, 31 Aug 2016 15:42:06 +0000 (08:42 -0700)]
switch CQ over to GN_Android compile bots

These are going to replace the old compile bots.

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

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

8 years agoScreenspace AA tessellated GPU path rendering.
senorblanco [Wed, 31 Aug 2016 15:41:57 +0000 (08:41 -0700)]
Screenspace AA tessellated GPU path rendering.

This is an approach to antialiased concave path rendering
on the GPU without using MSAA. It uses GrTessellator to
extract boundary contours from the given path, then
inflates by half a pixel in screen space each direction,
then renders the result with zero alpha on the outer
contour and one alpha on in the inner contour. This
requires two passes through the tessellation code: one
to extract the boundaries, then one to tessellate the
result.

This gives approximately a 3X improvement on the IE
chalkboard demo in non-MSAA mode, a 30-40% improvement
on MotionMark's "Fill Paths", and a ~3X improvement on
MotionMark's "canvas arcTo segments".

It works best for large, simple paths, so there's currently
a limit of 10 verbs in the onCanDrawPath() check. This
dovetails nicely with the distance field path renderer's
support for small, detailed (and cached) paths.

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

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

8 years agoAdd some copy support for vulkan msaa
egdaniel [Wed, 31 Aug 2016 14:37:31 +0000 (07:37 -0700)]
Add some copy support for vulkan msaa

This allows us to do copies from:
    msaa->msaa with same sample count
    msaa->no-msaa with a resolve

Still missing support for no-msaa to msaa which will require a copyAsDraw
which is currently stalled and fixing possible driver bugs.

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

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

8 years agoGN: forgot Clang+ccache fix on Android. And sort.
mtklein [Wed, 31 Aug 2016 12:03:31 +0000 (05:03 -0700)]
GN: forgot Clang+ccache fix on Android.  And sort.

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

No trybots for these yet...
NOTRY=true
TBR=jcgregorio@google.com

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

8 years agoGN: add sources_when_disabled to optional
mtklein [Wed, 31 Aug 2016 11:58:19 +0000 (04:58 -0700)]
GN: add sources_when_disabled to optional

Also make sources_when_disabled and public_defines optional arguments.
These are the two mechanisms code uses to turn itself off...
probably at most one is ever used per optional.

Update fiddle to not crash when there's no PDF backend.

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

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

8 years agoWhitespace change
msarett [Tue, 30 Aug 2016 20:51:10 +0000 (13:51 -0700)]
Whitespace change

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

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

8 years agoRemove SkBitmap::getTexture()
bsalomon [Tue, 30 Aug 2016 19:52:49 +0000 (12:52 -0700)]
Remove SkBitmap::getTexture()
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289313002

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

8 years agoStore mipmap levels in deferred texture image
cblume [Tue, 30 Aug 2016 19:09:23 +0000 (12:09 -0700)]
Store mipmap levels in deferred texture image

This is a follow-up to https://codereview.chromium.org/2115023002/ and
https://codereview.chromium.org/2034933003/ which were reverted due to
an access violation and a memory leak, respectively.

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=2242883004

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

8 years agomade raster shadows variance shadows
vjiaoblack [Tue, 30 Aug 2016 19:03:37 +0000 (12:03 -0700)]
made raster shadows variance shadows

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

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

8 years agoRevert of SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. (patchset...
halcanary [Tue, 30 Aug 2016 18:58:52 +0000 (11:58 -0700)]
Revert of SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName. (patchset #3 id:40001 of https://codereview.chromium.org/2258233002/ )

Reason for revert:
forgot to roll sfntly in android!

Original issue's description:
> SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.
>
> Also, minor code refactoring.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002
>
> Committed: https://skia.googlesource.com/skia/+/fce190647285423bf36c44bca09db78a6af30f9f

TBR=bungeman@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/2296683004

8 years agoSkTextBlob: Begin implementing Extended TextBlob API
halcanary [Tue, 30 Aug 2016 18:58:33 +0000 (11:58 -0700)]
SkTextBlob:  Begin implementing Extended TextBlob API

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

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

8 years agoIncrease run_benchmarks timeout because the two Chromium page sets can take a while
rmistry [Tue, 30 Aug 2016 18:50:23 +0000 (11:50 -0700)]
Increase run_benchmarks timeout because the two Chromium page sets can take a while

BUG=skia:5700
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298453002
# Trybots do not exercise this code.
NOTRY=true
TBR=borenet

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

8 years agoclean up use of register storage class
mtklein [Tue, 30 Aug 2016 18:49:24 +0000 (11:49 -0700)]
clean up use of register storage class

This fixes this warning-as-error, so we don't have to stifle it any more:
    error: 'register' storage class specifier is deprecated and incompatible with C++1z [-Werror,-Wdeprecated-register]

Tested by building for mipsel via GN.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289293002
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/2289293002

8 years agoSkPDF: SK_SFNTLY_SUBSETTER is gone
halcanary [Tue, 30 Aug 2016 18:07:01 +0000 (11:07 -0700)]
SkPDF: SK_SFNTLY_SUBSETTER is gone

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

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

8 years agoDetect TSAN instead of relying on #ifdef THREAD_SANITIZER.
mtklein [Tue, 30 Aug 2016 17:45:17 +0000 (10:45 -0700)]
Detect TSAN instead of relying on #ifdef THREAD_SANITIZER.

And reindent.

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot

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

8 years agoSkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.
halcanary [Tue, 30 Aug 2016 17:43:48 +0000 (10:43 -0700)]
SkPDF: hand SfntlyWrapper::SubsetFont() ttcIndex, not fontName.

Also, minor code refactoring.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2258233002

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

8 years agoGN: add sksl
mtklein [Tue, 30 Aug 2016 17:37:19 +0000 (10:37 -0700)]
GN: add sksl

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

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

8 years agoRemove unneeded variables from ResourceCache test
bsalomon [Tue, 30 Aug 2016 17:27:20 +0000 (10:27 -0700)]
Remove unneeded variables from ResourceCache test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2295883002

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

8 years agoRemove custom data from GrGpuResource
bsalomon [Tue, 30 Aug 2016 16:42:29 +0000 (09:42 -0700)]
Remove custom data from GrGpuResource

Chrome is no longer relying on this feature to track mailboxes for textures.

BUG=skia:4134

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

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

8 years agochanged kCurveConnectionThreshold in GrAAConvexTessellator
ethannicholas [Tue, 30 Aug 2016 14:26:58 +0000 (07:26 -0700)]
changed kCurveConnectionThreshold in GrAAConvexTessellator
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2297563003
TBR=bsalomon@google.com

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

8 years agoraster shadows
vjiaoblack [Tue, 30 Aug 2016 14:13:04 +0000 (07:13 -0700)]
raster shadows

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

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

8 years agoImprove the gamma GM significantly
brianosman [Tue, 30 Aug 2016 14:08:07 +0000 (07:08 -0700)]
Improve the gamma GM significantly

- Switch to portable typeface, to avoid per-platform diffs in the labels
- Stretch out the image slightly, to avoid overlap with larger font
- Fix several tests that were no longer matching ground-truth. We treat
  SkColor as sRGB, so 0x7F is incorrect, for example. Several of the
  XferMode tests had similar math errors now. Computed new values, and
  verified that they work as expected.
- Removed a couple tests that were mixing color and alpha in funny ways

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

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

8 years agoSome tests around surface creation and snapshotting with color space
brianosman [Tue, 30 Aug 2016 14:07:59 +0000 (07:07 -0700)]
Some tests around surface creation and snapshotting with color space

Verify the rules that we're converging on for surfaces:
- For 8888, we only support sRGB-like gamma, or no color space at all.
- For F16, we require a color space, with linear gamma.
- For all other formats, we do not support color spaces.

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

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

8 years agoDisable sktexttopdf when building for mipsel.
mtklein [Mon, 29 Aug 2016 23:01:10 +0000 (16:01 -0700)]
Disable sktexttopdf when building for mipsel.

The Clang in the latest NDK crashes when we try to build it for MIPS.

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

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

8 years agoGN: fontmgr_android
mtklein [Mon, 29 Aug 2016 22:22:10 +0000 (15:22 -0700)]
GN: fontmgr_android

Should be enough to run parser tests on Linux.

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

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

8 years agoSkip spinlock overhead on Android
msarett [Mon, 29 Aug 2016 21:52:24 +0000 (14:52 -0700)]
Skip spinlock overhead on Android

Using the spinlock is only necessary when we multiple threads
might use a GrContext.  Android uses the GrContext from a
single thread, so these locks are not needed.

This is a temporary fix until we can refactor to avoid
creating GrContexts in a global memory pool.

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

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

8 years agoAdd Gray support to SkPNGImageEncoder
msarett [Mon, 29 Aug 2016 21:47:49 +0000 (14:47 -0700)]
Add Gray support to SkPNGImageEncoder

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

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

8 years agoremove dead code
mtklein [Mon, 29 Aug 2016 21:27:15 +0000 (14:27 -0700)]
remove dead code

TBR=

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

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

8 years agoFix stroked rrects with batching.
jvanverth [Mon, 29 Aug 2016 20:50:07 +0000 (13:50 -0700)]
Fix stroked rrects with batching.

Was using stroked shader for fills and vice versa.

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

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

8 years agoRemove unneeded pipeline barrier in vulkan
egdaniel [Mon, 29 Aug 2016 20:42:55 +0000 (13:42 -0700)]
Remove unneeded pipeline barrier in vulkan

We don't need to syncronize the mapped memory writes to the buffer since
all CPU writes are already syncronized when we submit a command buffer. And we are using coherent memory for buffers so we don't need to call vkFlushMappedMemory

BUG=skia:

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

8 years agobenchmarks: Avoid brackets and commas in test names.
jcgregorio [Mon, 29 Aug 2016 20:33:04 +0000 (13:33 -0700)]
benchmarks: Avoid brackets and commas in test names.

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

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

8 years agoGN: ft and fc as optionals
mtklein [Mon, 29 Aug 2016 20:26:14 +0000 (13:26 -0700)]
GN: ft and fc as optionals

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

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

8 years agoadd gn_android_flavor
mtklein [Mon, 29 Aug 2016 20:14:55 +0000 (13:14 -0700)]
add gn_android_flavor

This ought to support compiles for now.

Am I picking up my CIPD ndk packages right?

The main thing to note is that I'm passing the target_arch directly through
as target_cpu.  This means these bots will have a slightly different naming
convention than we've been using, but it'll agree with what you must type
yourself when using GN to build for Android:

  - Arm7 -> arm
  - Arm64 -> arm64
  - Mips -> mipsel
  - Mips64 -> mips64el
  - x86 -> x86 (unchanged)
  - x86_64 -> x64

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

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

8 years agoSkip batch iteration in GrDrawTarget::forwardCombine when the max look ahead is 0
bsalomon [Mon, 29 Aug 2016 19:43:27 +0000 (12:43 -0700)]
Skip batch iteration in GrDrawTarget::forwardCombine when the max look ahead is 0

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

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

8 years agoAdd docs for GN/Android
mtklein [Mon, 29 Aug 2016 17:27:16 +0000 (10:27 -0700)]
Add docs for GN/Android

While I'm at it, add a few more examples of other types of builds you can do.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2289883002
NOTRY=true
DOCS_PREVIEW= https://skia.org/user/quick/gn?cl=2289883002

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

8 years agoGN: release -> -O3, to match GYP
mtklein [Mon, 29 Aug 2016 17:23:15 +0000 (10:23 -0700)]
GN: release -> -O3, to match GYP

-O3 does trigger some important compiler optimizations that -Os does not,
like autovectorization.

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

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

8 years agoMoved ambient lights out of SkLight's light array
vjiaoblack [Mon, 29 Aug 2016 17:22:09 +0000 (10:22 -0700)]
Moved ambient lights out of SkLight's light array

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

Committed: https://skia.googlesource.com/skia/+/8f98f0aa2d3f7571a890b916c7c4b5ee831e9686
Review-Url: https://codereview.chromium.org/2287553002

8 years agoBatch all circular rrects together
jvanverth [Mon, 29 Aug 2016 17:16:40 +0000 (10:16 -0700)]
Batch all circular rrects together

When possible, this change will place all circular rrect
types in the same batch. If the batch is all fills, we
use the fill shader, otherwise we use the stroke shader.

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

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

8 years agoSkPDF: Remove some unused glyphs from fallback fonts
halcanary [Mon, 29 Aug 2016 16:47:48 +0000 (09:47 -0700)]
SkPDF: Remove some unused glyphs from fallback fonts

This makes the /Widths and the /Differences arrays smaller.

Example diff in output PDF (lines are wrapped for easy viewing):

 <</Type /Font
 /Subtype /Type3
 /FontMatrix [.00100000005 0 0 -.00100000005 0 0]
 /FirstChar 0
-/LastChar 255
+/LastChar 118
 /FontBBox [23 228 669 -694]
 /CIDToGIDMap /Identity
 /ToUnicode 8 0 R
-/Widths [280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-525 0 0 0 525 0 0 0 0 525 525 525 525 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0
-0 0 0 0 0 525 0 525 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0
-525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 525
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
+/Widths [280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+525 0 0 0 525 0 0 0 0 525 525 525 525 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0
+0 0 0 0 0 525 0 525 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0
+525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0
+525]
 /Encoding <</Type /Encoding
-/Differences [0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g1D
-/g0 /g0 /g0 /g21 /g0 /g0 /g0 /g0 /g26 /g27 /g28 /g29 /g0 /g0 /g0 /g0
-/g0 /g0 /g30 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g3E
-/g0 /g40 /g0 /g0 /g0 /g44 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g50 /g0 /g0 /g0 /g0 /g0 /g0 /g57 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g6E /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g76 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
-/g0 /g0 /g0 /g0 /g0 /g0]>>
+/Differences [0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
+/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g1D
+/g0 /g0 /g0 /g21 /g0 /g0 /g0 /g0 /g26 /g27 /g28 /g29 /g0 /g0 /g0 /g0
+/g0 /g0 /g30 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g3E
+/g0 /g40 /g0 /g0 /g0 /g44 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
+/g50 /g0 /g0 /g0 /g0 /g0 /g0 /g57 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0
+/g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g0 /g6E /g0 /g0 /g0
+/g0 /g0 /g0 /g0 /g76]>>
 /CharProcs <</g0 9 0 R
 /g1D 10 0 R
 /g21 11 0 R
.......

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

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

8 years agoAdd support for glDrawRangeElements
bsalomon [Mon, 29 Aug 2016 16:18:39 +0000 (09:18 -0700)]
Add support for glDrawRangeElements
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287003002

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

8 years agoAdd width, height, unique ID, alpha to debugger DrawImageCommand
msarett [Mon, 29 Aug 2016 16:15:33 +0000 (09:15 -0700)]
Add width, height, unique ID, alpha to debugger DrawImageCommand

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

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

8 years agoRevert of Moved ambient lights out of SkLight's light array (patchset #7 id:120001...
vjiaoblack [Mon, 29 Aug 2016 15:38:04 +0000 (08:38 -0700)]
Revert of Moved ambient lights out of SkLight's light array (patchset #7 id:120001 of https://codereview.chromium.org/2287553002/ )

Reason for revert:
Made Deigo's GM miss their ambient lights

Original issue's description:
> Moved ambient lights out of SkLight's light array
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2287553002
>
> Committed: https://skia.googlesource.com/skia/+/8f98f0aa2d3f7571a890b916c7c4b5ee831e9686

TBR=robertphillips@google.com,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/2291663002

8 years agoAdd Gerrit API support to Skia's PRESUBMIT.py
rmistry [Mon, 29 Aug 2016 15:13:29 +0000 (08:13 -0700)]
Add Gerrit API support to Skia's PRESUBMIT.py

Also skip post upload hooks for Gerrit.

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

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

8 years agodedup images/blobs/pictures by ID in old serialization format
reed [Mon, 29 Aug 2016 14:52:13 +0000 (07:52 -0700)]
dedup images/blobs/pictures by ID in old serialization format

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

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

8 years agoWhitespace change to test Gerrit Submit
Ravi Mistry [Mon, 29 Aug 2016 13:33:03 +0000 (09:33 -0400)]
Whitespace change to test Gerrit Submit

BUG=skia:5680

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

8 years agoUse stroked rrects for Android shadow sample
jvanverth [Mon, 29 Aug 2016 14:17:47 +0000 (07:17 -0700)]
Use stroked rrects for Android shadow sample

Changes the Android shadow sample to use stroked roundrects when
we can (mainly if stroked geometry area < fill geometry area).

Also changes the setup for the overstroke geometry so that it computes
the correct distance to the outer edge.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2283003003

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

8 years agoRoll GN
mtklein [Mon, 29 Aug 2016 14:14:28 +0000 (07:14 -0700)]
Roll GN

This picks up https://chromium.googlesource.com/chromium/src/tools/gn/+/efc976e5029419fde92111ce52f913c61fb9553c, which means we don't need to create a link_pool any more.  The default behavior is unlimited linking, what we were asking for explicitly.

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

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

8 years agoMoved ambient lights out of SkLight's light array
vjiaoblack [Mon, 29 Aug 2016 14:08:52 +0000 (07:08 -0700)]
Moved ambient lights out of SkLight's light array

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

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

8 years agochange readTypeface to return sk_sp
reed [Mon, 29 Aug 2016 13:57:28 +0000 (06:57 -0700)]
change readTypeface to return sk_sp

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

TBR=mtklein

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

8 years agoRemove FP16 support from ANGLE. Previous workaround was incomplete.
brianosman [Mon, 29 Aug 2016 13:46:07 +0000 (06:46 -0700)]
Remove FP16 support from ANGLE. Previous workaround was incomplete.

ANGLE is using the wrong external type (GL_HALF_FLOAT) when querying for
ReadPixels format, but it validates parameters to TexImage2D against the
correct type (GL_HALF_FLOAT_OES). Rather than introduce a lot of
complexity to work around the inconsistency, I'm just going to remove
support for now.

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

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

8 years ago[SVGDom] Don't truncate opacity scalars
fmalita [Mon, 29 Aug 2016 12:54:42 +0000 (05:54 -0700)]
[SVGDom] Don't truncate opacity scalars

Round instead, for more accurate values.

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

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

8 years agoUpdate SKP version
update-skps [Sun, 28 Aug 2016 08:53:34 +0000 (01:53 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years agocleanup dead nanomsg and build_overrides
mtklein [Sat, 27 Aug 2016 13:50:11 +0000 (06:50 -0700)]
cleanup dead nanomsg and build_overrides

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

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

8 years agoif the winding of the top can't be computed, give up
caryclark [Fri, 26 Aug 2016 21:24:24 +0000 (14:24 -0700)]
if the winding of the top can't be computed, give up

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

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

8 years agoGN: support compiler_prefix, use it for ccache on bots.
mtklein [Fri, 26 Aug 2016 20:43:19 +0000 (13:43 -0700)]
GN: support compiler_prefix, use it for ccache on bots.

This makes it considerably easier to use ccache with the Android NDK.
You can now just set
  compiler_prefix = "ccache"
  ndk = "/path/to/ndk"
and we'll use the NDK clang, wrapped with ccache.

The name compiler_prefix is stolen from / compatible with Chrome.

If you have ccache, you can just always leave compiler_prefix="ccache" enabled.
This should make it an unusual thing for humans to have to change cc or cxx.

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

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

8 years agoSkPDF: Glyph validation change
halcanary [Fri, 26 Aug 2016 20:17:44 +0000 (13:17 -0700)]
SkPDF: Glyph validation change

Instead of mapping invaid glyphIDs to zero or maxGlyphID,
don't draw them at all.

Validate glyphs when glyph is written, not ahead of time.

Don't allocate array to copy user-provided glyphs.

Easy early exit from SkPDFDevice::internalDrawText()
    GlyphPositioner::flush() called ~GlyphPositioner()
    SkScopeExit class now exists.

Assume SkTypeface* pointers are now never null in more
places.

precalculate alignmentFactor to clean up code.

SkPDFDevice::updateFont must be called with validated
glyphID.  Skip bad glyphs to make this true.

SkPDFDevice::updateFont always succeeds.

SkPDFFont::GetFontResource always succeeds (preconditions are
asserted).  If GetMetrics fails, don't call GetFontResource.

SkPDFFont::glyphsToPDFFontEncodingCount() becomes
SkPDFFont::countStretch() and is inlined.

SkPDFFont::glyphsToPDFFontEncoding now works one Glyph at a
time and is inlined.

SkPDFFont::noteGlyphUsage() operates one glyph at a time.

Add SkScopeExit.h; also a unit test for it.

SkPostConfig: Fix SK_UNUSED for Win32.

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

BUG=625995

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

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