platform/upstream/libSkiaSharp.git
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

8 years agodrawBitmapRect() should not touch the CTM when mask filters are present
fmalita [Fri, 26 Aug 2016 20:04:14 +0000 (13:04 -0700)]
drawBitmapRect() should not touch the CTM when mask filters are present

Blur sigma calculations are CTM dependent, so we cannot take the
drawBitmap() fast path in the presence of mask filters.

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

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

8 years agoReduce CPU overhead on drawRegion()
msarett [Fri, 26 Aug 2016 19:49:27 +0000 (12:49 -0700)]
Reduce CPU overhead on drawRegion()

Only batch when the view matrices are the same.

This allows us to skip applying the matrix and uploading
local coords.

drawregion Bench on Nexus 6P:
Before 4.69ms
After  2.83ms

This puts SkiaGL nearly on par with OpenGL.

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

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

8 years agoFix angle build on Ubuntu
brianosman [Fri, 26 Aug 2016 19:33:58 +0000 (12:33 -0700)]
Fix angle build on Ubuntu

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

8 years agoExpat target exports includes instead of FreeType.
bungeman [Fri, 26 Aug 2016 19:15:54 +0000 (12:15 -0700)]
Expat target exports includes instead of FreeType.

Currently when building for Android framework the freetype target
exports the expat include directory, but the freetype target neither
uses nor logically provides this information. Instead, the expat target
itself should do this.

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

8 years agoAdd Mac NDK asset, and fetch NDK on Android compile bots.
mtklein [Fri, 26 Aug 2016 18:22:54 +0000 (11:22 -0700)]
Add Mac NDK asset, and fetch NDK on Android compile bots.

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

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

8 years agoDon't add the resolve attachment to vulkan render passes.
egdaniel [Fri, 26 Aug 2016 18:05:13 +0000 (11:05 -0700)]
Don't add the resolve attachment to vulkan render passes.

Also includes some other msaa bug fixes

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

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

8 years agofixed 'corners' of paths in GrAAConvexTessellator
ethannicholas [Fri, 26 Aug 2016 18:03:32 +0000 (11:03 -0700)]
fixed 'corners' of paths in GrAAConvexTessellator

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

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

8 years agoadd an asset for the Linux Android NDK.
mtklein [Fri, 26 Aug 2016 17:52:19 +0000 (10:52 -0700)]
add an asset for the Linux Android NDK.

I have run create_and_upload.py... cipd is uploading now.

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

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

8 years agoConverts a drawPaint through a rrect clip to a drawRRect in GrDrawContext.
bsalomon [Fri, 26 Aug 2016 17:48:19 +0000 (10:48 -0700)]
Converts a drawPaint through a rrect clip to a drawRRect in GrDrawContext.

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

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

8 years agoUpdate ANGLE to latest as of August 25, 2016
brianosman [Fri, 26 Aug 2016 17:37:57 +0000 (10:37 -0700)]
Update ANGLE to latest as of August 25, 2016

With this version, it's now exposing GL_EXT_color_buffer_half_float, but
it's (incorrectly) using GL_HALF_FLOAT rather than GL_HALF_FLOAT_OES.
In addition, release builds were crashing in EGLImageTest due to an
apparent disagreement about calling convention on function-pointer to
exported symbol. There is a proper typedef for that in one of their
headers, but I can't seem to include it without creating more problems,
so I just fixed the decoration on our local typedef.

With those changes, all tests pass, and (on my Windows machine), all
GMs and SKPs produce identical results vs. master in angle and angle-gl.

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

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

8 years agoRemove SVG serialization suppressions
fmalita [Fri, 26 Aug 2016 17:23:43 +0000 (10:23 -0700)]
Remove SVG serialization suppressions

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

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

8 years agoAdd imagemasksubset GM
fmalita [Fri, 26 Aug 2016 17:13:39 +0000 (10:13 -0700)]
Add imagemasksubset GM

(GM for non-N32 SkImage subsetting)

BUG=skia:5687
R=bsalomon@google.com,robertphillips@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2286733002

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

8 years agoRestrict supported font formats in Chrome context
drott [Fri, 26 Aug 2016 17:08:45 +0000 (10:08 -0700)]
Restrict supported font formats in Chrome context

Chrome's complex text path uses HarfBuzz OpenType glyph lookup
functions. These do not support glyph lookup in Type 1 / Postscript
fonts and we do not wish to support those in Chrome any longer.

In order to avoid matching fonts against Type 1 fonts possible present
on Linux installations and exposed through fontconfig, this CL filters
those out in Skia's font matching code.

This change might not be desirable for all context in which Skia is
used, hence making it conditional on a Chrome context define.

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

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

8 years agoMove work from ctor to onOnceBeforeDraw in ShowMipLevel GMs
robertphillips [Fri, 26 Aug 2016 17:04:26 +0000 (10:04 -0700)]
Move work from ctor to onOnceBeforeDraw in ShowMipLevel GMs

These were making debugging stroking more difficult than necessary

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

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

8 years agoavoid generating degenerate conic from arc
caryclark [Fri, 26 Aug 2016 16:54:25 +0000 (09:54 -0700)]
avoid generating degenerate conic from arc

R=bsalomon@google.com
BUG=skia:5672
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281953002

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

8 years agoAdded distance attenuation and diffuse shading to PointLights
vjiaoblack [Fri, 26 Aug 2016 15:49:46 +0000 (08:49 -0700)]
Added distance attenuation and diffuse shading to PointLights

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

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

8 years agoFix for fat stroked roundrects.
jvanverth [Fri, 26 Aug 2016 15:15:33 +0000 (08:15 -0700)]
Fix for fat stroked roundrects.

The original method did not correctly compute the distance value along
the inner edge, so the antialiasing was not quite correct. This fixes
that by adding additional vertices and setting a different outerRadius.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275423002

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

8 years agoGN: mac host and armv7 target
mtklein [Fri, 26 Aug 2016 15:13:04 +0000 (08:13 -0700)]
GN: mac host and armv7 target

Just when I thought it wouldn't be useful to override ar...

Tested by building 32- and 64-bit DM on my MBP and running it on my N5x.

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

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

8 years agoSkOSFile instead of dirent in android font parser.
bungeman [Fri, 26 Aug 2016 14:15:50 +0000 (07:15 -0700)]
SkOSFile instead of dirent in android font parser.

This makes the parser more portable while making essentially the same
file system calls on Android.

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

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