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

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

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

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

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

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

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

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

Reason for revert:
Valgrind bot failures

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Disable testing embedded bitmaps on iOS for now.

BUG=skia:5530

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Swarming makes the extra wall-clock cost negligible.

TBR=

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

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

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

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

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

8 years agoNever allow dither for non-legacy (sRGB or F16) targets.
brianosman [Wed, 13 Jul 2016 16:05:47 +0000 (09:05 -0700)]
Never allow dither for non-legacy (sRGB or F16) targets.

With sRGB, the noise from dithering is (obviously) non-linear, and
highly objectionable for very dark values. With F16, it's completely
unnecessary.

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

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

8 years agoRevert "Added the framework for having canvas/recorder/picture record depth_set's."
mtklein [Wed, 13 Jul 2016 16:03:48 +0000 (09:03 -0700)]
Revert "Added the framework for having canvas/recorder/picture record depth_set's."

1-click revert failed again.
This reverts commit 1185d90c785f743364cc9113d7007a59af07470c.

BUG=skia:

TBR=
NOTRY=true

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

8 years agoFix various issues with instanced rendering precision
csmartdalton [Wed, 13 Jul 2016 15:59:52 +0000 (08:59 -0700)]
Fix various issues with instanced rendering precision

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

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

8 years agoReplace switch statements in instanced vertex shaders
csmartdalton [Wed, 13 Jul 2016 15:48:53 +0000 (08:48 -0700)]
Replace switch statements in instanced vertex shaders

Replaces switch statements with 3-way if’s. The switches as they were
seemed to be the cause of an Adreno compiler crash.

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

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

8 years agoFix GL shader sources getting truncated by ADB log
csmartdalton [Wed, 13 Jul 2016 15:47:54 +0000 (08:47 -0700)]
Fix GL shader sources getting truncated by ADB log

Prints the shaders one line at a time so they don't get truncated by
the ADB log.

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

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

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

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

8 years agoSkRasterPipeline: simplify impl and remove need to rewire stages
mtklein [Wed, 13 Jul 2016 15:22:20 +0000 (08:22 -0700)]
SkRasterPipeline: simplify impl and remove need to rewire stages

This builds the stages correctly wired from the get-go.  With a little clever
setup, we can also design around the previous error cases like having no stages
or pipelines that call st->next() off the end.

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

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

8 years agoTry blacklisting RAW images on Nexus 9
msarett [Wed, 13 Jul 2016 15:03:35 +0000 (08:03 -0700)]
Try blacklisting RAW images on Nexus 9

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

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

8 years agoUpdate SkOpts namespaces.
mtklein [Wed, 13 Jul 2016 15:02:20 +0000 (08:02 -0700)]
Update SkOpts namespaces.

If we make sure all SkOpts functions are static, we can give the namespaces any
name we like.  This lets us drop the sk_ prefix and give a real indication of
the default SIMD instruction set rather than just saying sk_default.

Both of these changes help debugger, profiler, and crash report readability.
Perhaps more importantly, keeping these functions static helps prevent
accidentally linking in unused versions of functions, as you see here with
sk_avx::srcover_srgb_srgb().

This requires we update SkBlend_opts tests and benches to call SkOpts functions
through SkOpts rather than declaring the methods externally.  In practice this
drops testing of the SSE2 version on machines with SSE4.  If we still really
need to test/bench the compile time best SIMD level version of this method
against the runtime detected best, we can include SkBlend_opts.h into the tests
or benches directly, similar to what we do for the trivial, brute-force, or best
non-SIMD versions.

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

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

8 years agoMove GrDrawTarget::clear logic into GrDrawContext
robertphillips [Wed, 13 Jul 2016 14:48:43 +0000 (07:48 -0700)]
Move GrDrawTarget::clear logic into GrDrawContext

I found it a bit worrisome that GrDrawTarget was calling back into GrDrawContext. This also moves GrDrawTarget closer to being a simple-ish container of batches.

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

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

8 years agoRemove user specified typeface id.
bungeman [Wed, 13 Jul 2016 12:16:58 +0000 (05:16 -0700)]
Remove user specified typeface id.

Now that there may be multiple font managers in a process the typeface
ids must be unique across all typefaces, not just unique within a font
manager. If two typefaces have the same id there will be issues in the
glyph cache. All existing font managers were already doing this by
calling SkFontCache::NewFontID, so centralize this in SkTypeface.

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

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

8 years agoRevert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of https...
msarett [Wed, 13 Jul 2016 01:48:21 +0000 (18:48 -0700)]
Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of https://codereview.chromium.org/2132073002/ )

Reason for revert:
I think this is still causing a test failure on Chrome windows bots.

https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/243928/steps/cc_unittests%20%28with%20patch%29%20on%20Windows-7-SP1/logs/stdio

Original issue's description:
> Pre-crop filled rects to avoid scissor
>
> Updates GrDrawContext to crop filled rects to the clip bounds before
> creating batches for them. Also adds clipping logic to ignore scissor
> when the draw falls completely inside. These two changes combined
> reduce API traffic and improve batching.
>
> In the future this can and should be improved by switching to floating
> point clip boundaries, thus allowing us to throw out non pixel aligned
> rectangle clips as well.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002
>
> Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a
> Committed: https://skia.googlesource.com/skia/+/86de59f4a99b5f54be0483c60ff0335be55b2bdf

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

8 years agoAdd a function to convert a texture backed SkImage to raster.
bsalomon [Wed, 13 Jul 2016 01:11:17 +0000 (18:11 -0700)]
Add a function to convert a texture backed SkImage to raster.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147493004

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

8 years agoRevert "Added the framework for having canvas/recorder/picture record depth_set's."
mtklein [Tue, 12 Jul 2016 22:41:08 +0000 (15:41 -0700)]
Revert "Added the framework for having canvas/recorder/picture record depth_set's."

1-click revert failed.
This reverts commit 6d3fb898d5f73a82e36f11c712a633c3921ed518.

TBR=

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

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

8 years agoRun the Vulkan config on nanobench for Vulkan bots
borenet [Tue, 12 Jul 2016 22:11:35 +0000 (15:11 -0700)]
Run the Vulkan config on nanobench for Vulkan bots

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

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

8 years agoFix option name typo
liyuqian [Tue, 12 Jul 2016 22:11:31 +0000 (15:11 -0700)]
Fix option name typo

BUG=skia:
TBR=jvanverth@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143093002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2143093002

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

8 years agocenter glyphs for text-on-path-via-rsxform
reed [Tue, 12 Jul 2016 22:06:33 +0000 (15:06 -0700)]
center glyphs for text-on-path-via-rsxform

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

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

8 years agoMonitor profile tool, now with Windows support, too!
brianosman [Tue, 12 Jul 2016 22:06:24 +0000 (15:06 -0700)]
Monitor profile tool, now with Windows support, too!

Original Mac support by Matt.

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

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

8 years agoSkRasterPipeline preliminaries
mtklein [Tue, 12 Jul 2016 22:01:26 +0000 (15:01 -0700)]
SkRasterPipeline preliminaries

    Re-uploading to see if I can get a CL number < 2^31.
    patch from issue 2147533002 at patchset 240001 (http://crrev.com/2147533002#ps240001)

Already reviewed at the other crrev link.
TBR=

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

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

8 years agoFactor code to rotate a canvas about a point.
bungeman [Tue, 12 Jul 2016 22:01:19 +0000 (15:01 -0700)]
Factor code to rotate a canvas about a point.

SkMatrix::scale and ::rotate take a point around which to scale or rotate.
Canvas lacks these helpers, so the code to rotate a canvas around a
point has been duplicated many times. Factor all of these
implementations into SkCanvas::rotate.

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

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

8 years agoRemove bloat from SkBlend_opts.
herb [Tue, 12 Jul 2016 22:00:46 +0000 (15:00 -0700)]
Remove bloat from SkBlend_opts.

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

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

8 years agoAdd Sk4f_RoundToInt
msarett [Tue, 12 Jul 2016 21:55:45 +0000 (14:55 -0700)]
Add Sk4f_RoundToInt

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

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

8 years agoFix Lua bugs, nit name change
fmenozzi [Tue, 12 Jul 2016 21:55:39 +0000 (14:55 -0700)]
Fix Lua bugs, nit name change

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

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

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

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

8 years agoEnable SkTaskGroup threading in monobench.
mtklein [Tue, 12 Jul 2016 21:50:28 +0000 (14:50 -0700)]
Enable SkTaskGroup threading in monobench.

Without this Enabler, SkTaskGroups all run serially.

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

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

8 years agoAdd benchmarks for 3 and 4 colors (most common)
fmenozzi [Tue, 12 Jul 2016 21:45:31 +0000 (14:45 -0700)]
Add benchmarks for 3 and 4 colors (most common)

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

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

8 years agoPre-crop filled rects to avoid scissor
csmartdalton [Tue, 12 Jul 2016 21:45:23 +0000 (14:45 -0700)]
Pre-crop filled rects to avoid scissor

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

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

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

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

8 years agotools/SkShaper: SkStream->blob
halcanary [Tue, 12 Jul 2016 16:17:43 +0000 (09:17 -0700)]
tools/SkShaper: SkStream->blob

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

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

8 years agoAdd hard stop count
fmenozzi [Tue, 12 Jul 2016 16:17:39 +0000 (09:17 -0700)]
Add hard stop count

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

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

8 years agoUpdate documents/scripts for SampleApp removal
liyuqian [Tue, 12 Jul 2016 16:12:39 +0000 (09:12 -0700)]
Update documents/scripts for SampleApp removal

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2140663002
DOCS_PREVIEW= https://skia.org/?cl=2140663002

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

8 years agoremove unused parameter to make android happy (when this header is moved to private)
reed [Tue, 12 Jul 2016 16:12:30 +0000 (09:12 -0700)]
remove unused parameter to make android happy (when this header is moved to private)

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

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

8 years agoRespect --match for samples and jpgs in viewer
brianosman [Tue, 12 Jul 2016 16:07:33 +0000 (09:07 -0700)]
Respect --match for samples and jpgs in viewer

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

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

8 years agoSkSL performance improvements (plus a couple of minor warning fixes)
ethannicholas [Tue, 12 Jul 2016 16:07:21 +0000 (09:07 -0700)]
SkSL performance improvements (plus a couple of minor warning fixes)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131223002

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

8 years agoUse hintgasp font when testing rendering.
bungeman [Tue, 12 Jul 2016 13:55:25 +0000 (06:55 -0700)]
Use hintgasp font when testing rendering.

The hintgasp font was added specifically for the typefacerendering gm.
However, this gm didn't actually use the font, so now use it. In
addition this adds embedded bitmap strikes to the hintgasp font and the
gm is updated to test these as well.

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

NOTREECHECKS=true
Test only change, does not affect users.

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

8 years agoRevert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of https...
msarett [Tue, 12 Jul 2016 12:40:39 +0000 (05:40 -0700)]
Revert of Pre-crop filled rects to avoid scissor (patchset #6 id:100001 of https://codereview.chromium.org/2132073002/ )

Reason for revert:
I believe that this is breaking the roll.

https://codereview.chromium.org/2141923002

https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/258434/steps/cc_unittests%20%28with%20patch%29%20on%20Mac-10.9/logs/stdio

Original issue's description:
> Pre-crop filled rects to avoid scissor
>
> Updates GrDrawContext to crop filled rects to the clip bounds before
> creating batches for them. Also adds clipping logic to ignore scissor
> when the draw falls completely inside. These two changes combined
> reduce API traffic and improve batching.
>
> In the future this can and should be improved by switching to floating
> point clip boundaries, thus allowing us to throw out non pixel aligned
> rectangle clips as well.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132073002
>
> Committed: https://skia.googlesource.com/skia/+/7969838702135b9f127bd738728da61bc49b050a

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

8 years agotools/fiddle: remove unused fiddler.go
halcanary [Mon, 11 Jul 2016 23:26:26 +0000 (16:26 -0700)]
tools/fiddle: remove unused fiddler.go

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

8 years agoRevert of try to speed-up maprect + round2i + contains (patchset #8 id:140001 of...
msarett [Mon, 11 Jul 2016 21:57:26 +0000 (14:57 -0700)]
Revert of try to speed-up maprect + round2i + contains (patchset #8 id:140001 of https://codereview.chromium.org/2133413002/ )

Reason for revert:
Breaking the roll...
https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253294/steps/compile%20%28with%20patch%29/logs/stdio

Original issue's description:
> try to speed-up maprect + round2i + contains
>
> We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well.
>
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133413002
> CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/b42b785d1cbc98bd34aceae338060831b974f9c5

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

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

8 years agoRevert of Fix compile error on MSAN bot (patchset #1 id:1 of https://codereview.chrom...
msarett [Mon, 11 Jul 2016 21:54:55 +0000 (14:54 -0700)]
Revert of Fix compile error on MSAN bot (patchset #1 id:1 of https://codereview.chromium.org/2142653002/ )

Reason for revert:
Reverting CL that this is based on

Original issue's description:
> Fix compile error on MSAN bot
>
> TBR=reed@google.com
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142653002
>
> Committed: https://skia.googlesource.com/skia/+/76c52ace16a7846d7d2ddf166d64572546f2de69

TBR=
# 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/2134023003

8 years agoFix compile error on MSAN bot
msarett [Mon, 11 Jul 2016 21:52:21 +0000 (14:52 -0700)]
Fix compile error on MSAN bot

TBR=reed@google.com

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

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

8 years agoPre-crop filled rects to avoid scissor
csmartdalton [Mon, 11 Jul 2016 21:34:11 +0000 (14:34 -0700)]
Pre-crop filled rects to avoid scissor

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

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

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

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

8 years agotools/SkShaper: factor shaping out of using_skia_and_harfbuzz
halcanary [Mon, 11 Jul 2016 21:30:39 +0000 (14:30 -0700)]
tools/SkShaper: factor shaping out of using_skia_and_harfbuzz

Make a clearer demarcation between shaping and layout.

also: refactor using_skia_and_harfbuzz; stop leaking
like a sieve.

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

8 years agoHandle negative scale in SkDropShadowImageFilter::onFilterNodeBounds.
jbroman [Mon, 11 Jul 2016 21:07:59 +0000 (14:07 -0700)]
Handle negative scale in SkDropShadowImageFilter::onFilterNodeBounds.

Add unit tests for positive and negative scale factors for the two effects that
apply a Gaussian blur like this: blur and drop-shadow. The last two assertions
fail without the fix in SkDropShadowImageFilter.

BUG=chromium:600821
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114313002

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

8 years agotry to speed-up maprect + round2i + contains
reed [Mon, 11 Jul 2016 20:17:35 +0000 (13:17 -0700)]
try to speed-up maprect + round2i + contains

We call roundOut in a few places. If we can get SkNx::Ceil we could efficiently implement that as well.

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

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

8 years agohacking on a single-benchmark tool
mtklein [Mon, 11 Jul 2016 18:27:30 +0000 (11:27 -0700)]
hacking on a single-benchmark tool

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

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

8 years agoSimplify GrDefaultPathRenderer a tiny bit
robertphillips [Mon, 11 Jul 2016 17:44:07 +0000 (10:44 -0700)]
Simplify GrDefaultPathRenderer a tiny bit

This is far less compelling than https://codereview.chromium.org/2135053002/ (Simplify MSAA path renderer) but is probably still worth it.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135853003

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

8 years agoSimplify MSAA path renderer
robertphillips [Mon, 11 Jul 2016 17:43:58 +0000 (10:43 -0700)]
Simplify MSAA path renderer

This simplification is based on the observations that:
   there were never more than 2 passes
   the only time passes[] was null was the single-pass, !stencilOnly case
   only kBoth_DrawFace was was ever used

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

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

8 years agoReduce size of LinearBitmapPipeline from 281K to 134K, but keep the same speed.
herb [Mon, 11 Jul 2016 17:33:37 +0000 (10:33 -0700)]
Reduce size of LinearBitmapPipeline from 281K to 134K, but keep the same speed.

Speed checked using top25desk SKPS.

Size measured using:
 llvm-nm-3.6  -print-file-name  -print-size -U out/Release/libskia_core.a | awk '{totals[$1] += strtonum("0x" $3)} END { for (i in totals) {print totals[i], i}}' | sort -n | column -t

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

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

8 years agoFix MIPS32r2 + DSP2 builders after NDK update.
mtklein [Mon, 11 Jul 2016 17:30:19 +0000 (10:30 -0700)]
Fix MIPS32r2 + DSP2 builders after NDK update.

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

TBR=djsollen@google.com

CQ_INCLUDE_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-MipsDSP2-Debug-Android-Trybot,Build-Ubuntu-GCC-MipsDSP2-Release-Android-Trybot

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

8 years agoRemove obsolete bench analysis scripts
tomhudson [Mon, 11 Jul 2016 17:26:56 +0000 (10:26 -0700)]
Remove obsolete bench analysis scripts

R=bungeman@google.com
BUG=skia:5459
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125953002

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

8 years agoClean up hyper-local SkCpu feature test experiment.
mtklein [Mon, 11 Jul 2016 16:59:21 +0000 (09:59 -0700)]
Clean up hyper-local SkCpu feature test experiment.

    This removes the code paths where we make SkCpu::Supports() calls
    from within a tight loop.  It keeps code paths using SkCpu::Supports()
    to choose entire routines from src/opts/.

    We can't rely on these hyper-local checks to be hoisted up reliably enough.
    It worked pretty well with the first couple platforms we tried (e.g. Clang
    on Linux/Mac) but we can't gaurantee it works everywhere.

    Further, I'm not able to actually do anything fancy with those tests
    outside of x86... I've not found a way to get, say, NEON+F16 conversion
    code embedded into ordinary NEON code outside writing then entire function
    in external assembly.

    This whole idea becomes less important now that we've got a way to chain
    separate function calls together efficiently.  We can now, e.g., use an
    AVX+F16C method to load some pixels, then chain that into an ordinary AVX
    method to color filter them.

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

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

8 years agoAdd HardStopGradientBench.cpp
fmenozzi [Mon, 11 Jul 2016 16:56:31 +0000 (09:56 -0700)]
Add HardStopGradientBench.cpp

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

Committed: https://skia.googlesource.com/skia/+/d0d652e0e0cb4bcecb7ccac9f4f4831fcaccdc45
Review-Url: https://codereview.chromium.org/2131643002

8 years agoRevert of Add HardStopGradientBench.cpp (patchset #3 id:40001 of https://codereview...
fmenozzi [Mon, 11 Jul 2016 16:30:25 +0000 (09:30 -0700)]
Revert of Add HardStopGradientBench.cpp (patchset #3 id:40001 of https://codereview.chromium.org/2131643002/ )

Reason for revert:
Segfaulting on HardStopGradientBench; didn't allocate enough stack memory for color/position arrays.

Original issue's description:
> Add HardStopGradientBench.cpp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2131643002
>
> Committed: https://skia.googlesource.com/skia/+/d0d652e0e0cb4bcecb7ccac9f4f4831fcaccdc45

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/2140603003

8 years agoDelay initialization of free list in SkTLList until first use of list
bsalomon [Mon, 11 Jul 2016 15:31:27 +0000 (08:31 -0700)]
Delay initialization of free list in SkTLList until first use of list
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2138043002

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

8 years agoAdd HardStopGradientBench.cpp
fmenozzi [Mon, 11 Jul 2016 15:31:23 +0000 (08:31 -0700)]
Add HardStopGradientBench.cpp

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

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

8 years agoDo not use the deprecated CQ_EXTRA_TRYBOTS
rmistry [Mon, 11 Jul 2016 15:27:49 +0000 (08:27 -0700)]
Do not use the deprecated CQ_EXTRA_TRYBOTS

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

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

8 years agondk: r11c -> r12b
mtklein [Mon, 11 Jul 2016 15:27:43 +0000 (08:27 -0700)]
ndk: r11c -> r12b

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

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

8 years agoMake all color xforms 'fast' (step 1)
msarett [Mon, 11 Jul 2016 12:49:17 +0000 (05:49 -0700)]
Make all color xforms 'fast' (step 1)

This refactors opt code to handle arbitrary src and dst
gammas that are specified by tables.

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

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

8 years agoChanged SkLightingShader API to take in a shader as color source
dvonbeck [Mon, 11 Jul 2016 01:38:33 +0000 (18:38 -0700)]
Changed SkLightingShader API to take in a shader as color source

This CL's base is the CL for the same modification, but in the implementation side: https://codereview.chromium.org/2062703003/

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

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

8 years agoFix misplaced guard
robertphillips [Sun, 10 Jul 2016 18:49:39 +0000 (11:49 -0700)]
Fix misplaced guard

This fixes an error in https://codereview.chromium.org/2125333002 (Add choke point for modifying non-AA rect draws (e.g., applying clipping)).

In GrDrawContext::drawRect, when we need to draw a filled rect, we always want to call drawFilledRect when useDrawInsteadOfClear is false. With the buggy code I believe we were falling back to drawing a path.

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

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

8 years agoRevert of change mapRectScaleTranslate to pass args/ret by value (patchset #1 id...
reed [Sun, 10 Jul 2016 18:45:34 +0000 (11:45 -0700)]
Revert of change mapRectScaleTranslate to pass args/ret by value (patchset #1 id:1 of https://codereview.chromium.org/2137853002/ )

Reason for revert:
Triggered a compiler bug on Android?

FAILED: /usr/bin/ccache /b/work/skia/platform_tools/android/bin/../toolchains/arm-r11c-14/bin/arm-linux-androideabi-g++ -MMD -MF obj/src/core/core.SkMatrix.o.d -DSK_INTERNAL -DSK_GAMMA_APPLY_TO_A8 -DQT_NO_KEYWORDS -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0 -DSK_SUPPORT_GPU=1 -DSK_FORCE_DISTANCE_FIELD_TEXT=0 -DSK_HAS_GIF_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_TEST_QCMS -DSK_IS_BOT -DSK_CODEC_DECODES_RAW -DSK_ARM_HAS_NEON -DSK_BUILD_FOR_ANDROID -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSKIA_DLL -DSKIA_IMPLEMENTATION=1 -DSK_SUPPORT_LEGACY_CLIPTOLAYERFLAG -DNDEBUG -I../../../include/c -I../../../include/config -I../../../include/core -I../../../include/pathops -I../../../include/ports -I../../../include/private -I../../../include/utils -I../../../include/images -I../../../src/core -I../../../src/sfnt -I../../../src/image -I../../../src/opts -I../../../src/utils -I../../../include/gpu -I../../../src/gpu -I../../../platform_tools/android/third_party/cpufeatures -fPIC -g -fno-exceptions -fstrict-aliasing -Wall -Wextra -Winit-self -Wpointer-arith -Wsign-compare -Wvla -Wno-unused-parameter -Werror -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -fuse-ld=gold -O2 -std=c++11 -fno-rtti -fno-threadsafe-statics -Wnon-virtual-dtor  -c ../../../src/core/SkMatrix.cpp -o obj/src/core/core.SkMatrix.o
../../../src/core/SkMatrix.cpp: In member function 'SkRect SkMatrix::mapRectScaleTranslate(SkRect) const':
../../../src/core/SkMatrix.cpp:1120:1: error: unrecognizable insn:
 }
 ^
(insn 32 31 33 2 (set (reg:V4SF 115 [ D.83077 ])
        (unspec:V4SF [
                (mem/c:V4SF (reg/f:SI 104 virtual-incoming-args) [0 MEM[(const __builtin_neon_sf[4] *)&src]+0 S16 A32])
            ] UNSPEC_VLD1)) /b/work/skia/platform_tools/android/toolchains/arm-r11c-14/lib/gcc/arm-linux-androideabi/4.9/include/arm_neon.h:8693 -1
     (nil))
../../../src/core/SkMatrix.cpp:1120:1: internal compiler error: in extract_insn, at recog.c:2202
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://source.android.com/source/report-bugs.html> for instructions.

Original issue's description:
> change mapRectScaleTranslate to pass args/ret by value
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137853002
>
> TBR=mtklein
>
> Committed: https://skia.googlesource.com/skia/+/14dce6ed5934d7a6e1fac79f8e76e12f5670aae2

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

8 years agochange mapRectScaleTranslate to pass args/ret by value
reed [Sun, 10 Jul 2016 18:35:03 +0000 (11:35 -0700)]
change mapRectScaleTranslate to pass args/ret by value

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

TBR=mtklein

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

8 years agoUpdate SKP version
update-skps [Sun, 10 Jul 2016 07:41:28 +0000 (00:41 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years agoUpdate markdown docs to specify --local for the local devserver
pdr [Sun, 10 Jul 2016 00:08:24 +0000 (17:08 -0700)]
Update markdown docs to specify --local for the local devserver

If the devserver is run locally following the instructions on
https://skia.org/dev/tools/markdown, you'll get an error about influxdb.
It looks like an influxdb username/password is required but using
--local works around this issue.

-------------------8<-------------------
$ ./bin/docserver --preview
E0703 19:33:31.510379   30448 common.go:37] Initializing logserver for log level ERROR.
F0703 19:33:31.516750   30448 common.go:63] metadata.Get() failed to make HTTP request for influxdb_name: Get http://metadata/computeMetadata/v1/project/attributes/influxdb_name: dial tcp: lookup metadata: no such host
goroutine 1 [running]:
github.com/skia-dev/glog.stacks(0x772300, 0x0, 0x0, 0x0)
    /src/github.com/skia-dev/glog/glog.go:769 +0xb8
github.com/skia-dev/glog.(*loggingT).output(0x756000, 0xc800000003, 0xc820136000, 0x73613e, 0x9, 0x3f, 0x0)
    /src/github.com/skia-dev/glog/glog.go:720 +0x259
github.com/skia-dev/glog.(*loggingT).printDepth(0x756000, 0x3, 0x1, 0xc8200dde28, 0x1, 0x1)
    /src/github.com/skia-dev/glog/glog.go:649 +0x1b8
github.com/skia-dev/glog.(*loggingT).print(0x756000, 0x3, 0xc8200dde28, 0x1, 0x1)
    /src/github.com/skia-dev/glog/glog.go:640 +0x50
github.com/skia-dev/glog.Fatal(0xc8200dde28, 0x1, 0x1)
    /src/github.com/skia-dev/glog/glog.go:1128 +0x49
go.skia.org/infra/go/common.StartMetrics2(0x5103e0, 0x9, 0xc820104400, 0xc820104430, 0xc820104450, 0xc820104470, 0xc8200dde00)
    /src/go.skia.org/infra/go/common/common.go:63 +0x192
go.skia.org/infra/go/common.InitWithMetrics2(0x5103e0, 0x9, 0xc820104400, 0xc820104430, 0xc820104450, 0xc820104470, 0xc820104498)
    /src/go.skia.org/infra/go/common/common.go:48 +0x65
main.main()
    /src/skia.googlesource.com/buildbot.git/doc/go/docserver/main.go:183 +0x95
-------------------8<-------------------

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118113002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2118113002

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

8 years agoAbstracted diffuse color map out of SkLightingShaderImpl into a generic SkShader
dvonbeck [Sun, 10 Jul 2016 00:08:15 +0000 (17:08 -0700)]
Abstracted diffuse color map out of SkLightingShaderImpl into a generic SkShader

Will not run until after landing https://codereview.chromium.org/2106893003/

This CL's base is the CL for the addition of NormalSource to the API: https://codereview.chromium.org/2063793002/

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

Committed: https://skia.googlesource.com/skia/+/3f58cd0eb8bf4499c4f179aa6111d7e005809df8
Review-Url: https://codereview.chromium.org/2062703003

8 years agoAdd choke point for modifying non-AA rect draws (e.g., applying clipping)
robertphillips [Fri, 8 Jul 2016 21:43:03 +0000 (14:43 -0700)]
Add choke point for modifying non-AA rect draws (e.g., applying clipping)

NOTREECHECKS=true
NOPRESUBMIT=true

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

Committed: https://skia.googlesource.com/skia/+/e5e3a7a5203f256083d015c923cc9c662877aba9
Review-Url: https://codereview.chromium.org/2125333002

8 years agoRevert of Add choke point for modifying non-AA rect draws (e.g., applying clipping...
robertphillips [Fri, 8 Jul 2016 20:30:04 +0000 (13:30 -0700)]
Revert of Add choke point for modifying non-AA rect draws (e.g., applying clipping) (patchset #6 id:100001 of https://codereview.chromium.org/2125333002/ )

Reason for revert:
problems

Original issue's description:
> Add choke point for modifying non-AA rect draws (e.g., applying clipping)
>
> NOTREECHECKS=true
> NOPRESUBMIT=true
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125333002
>
> Committed: https://skia.googlesource.com/skia/+/e5e3a7a5203f256083d015c923cc9c662877aba9

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

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

8 years agoCorrected test for gcc/libc++ workaround.
bungeman [Fri, 8 Jul 2016 19:25:37 +0000 (12:25 -0700)]
Corrected test for gcc/libc++ workaround.

NOTREECHECKS=true
NOTRY=true
The presubmit bot is all hung up.

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

8 years agoAdd choke point for modifying non-AA rect draws (e.g., applying clipping)
robertphillips [Fri, 8 Jul 2016 19:00:07 +0000 (12:00 -0700)]
Add choke point for modifying non-AA rect draws (e.g., applying clipping)

NOTREECHECKS=true
NOPRESUBMIT=true

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

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

8 years agoUse clipped bounds for reordering decisions
bsalomon [Fri, 8 Jul 2016 18:31:22 +0000 (11:31 -0700)]
Use clipped bounds for reordering decisions
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2137543002

NOTREECHECKS=true
NOPRESUBMIT=true

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

8 years agoRevert change of bounds computation in MSAA path renderer.
bsalomon [Fri, 8 Jul 2016 16:14:07 +0000 (09:14 -0700)]
Revert change of bounds computation in MSAA path renderer.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2133773002

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

8 years agoFixed error when normal.z = 1 in GPUs with binary16 floats
dvonbeck [Fri, 8 Jul 2016 15:59:47 +0000 (08:59 -0700)]
Fixed error when normal.z = 1 in GPUs with binary16 floats

Check failed in GPUs with low-precision floats since 0.9999 was too small a difference from 1 to be detected by a 16-bit float comparison. Changed it to 0.999 which fixed the issue and results in indistinguishable correct behavior.

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

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

8 years agodeferred canvas
reed [Fri, 8 Jul 2016 15:43:27 +0000 (08:43 -0700)]
deferred canvas

tries to eliminate unneeded clipRects and concats (and their associated save/restores).

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

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

8 years agoDon't scissor draws overlapping the render target's edges
bsalomon [Fri, 8 Jul 2016 14:36:42 +0000 (07:36 -0700)]
Don't scissor draws overlapping the render target's edges
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2135673002

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

8 years agoConsolidate handling of infinitely thin primitives and aa bloat handing WRT batch...
bsalomon [Fri, 8 Jul 2016 13:40:56 +0000 (06:40 -0700)]
Consolidate handling of infinitely thin primitives and aa bloat handing WRT batch bounds.

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

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

8 years agoMove sRGB <-> linear conversion components to their own files.
mtklein [Fri, 8 Jul 2016 13:33:16 +0000 (06:33 -0700)]
Move sRGB <-> linear conversion components to their own files.

This makes them a little easier to use outside SkColorXform code.

I've added some notes about how best to use them and their eccentricities, and added a test.

Ultimately any software sRGB <-> linear conversion should funnel somehow through here.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128893002
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Committed: https://skia.googlesource.com/skia/+/45e58c8807179638980aae8503573b950b844e4c
Review-Url: https://codereview.chromium.org/2128893002

8 years agoRevert of Abstracted diffuse color map out of SkLightingShaderImpl into a generic...
rmistry [Fri, 8 Jul 2016 13:23:35 +0000 (06:23 -0700)]
Revert of Abstracted diffuse color map out of SkLightingShaderImpl into a generic SkShader (patchset #11 id:200001 of https://codereview.chromium.org/2062703003/ )

Reason for revert:
Causing the Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind builder to fail.

Started failing at this build:
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1214

Snippet from build log:

==3016== Invalid read of size 4
==3016==    at 0xCD1901: GrFragmentProcessor::registerChildProcessor(sk_sp<GrFragmentProcessor>) (SkTArray.h:163)
==3016==    by 0xA58B47: _Z10sk_make_spI11NormalMapFPI5sk_spI19GrFragmentProcessorERK8SkMatrixEES1_IT_EDpOT0_ (SkNormalSource.cpp:84)
==3016==    by 0xA582E8: NormalMapSourceImpl::asFragmentProcessor(GrContext*, SkMatrix const&, SkMatrix const*, SkFilterQuality, SkSourceGammaTreatment) const (SkNormalSource.cpp:187)
==3016==    by 0xA0ADB5: SkLightingShaderImpl::asFragmentProcessor(GrContext*, SkMatrix const&, SkMatrix const*, SkFilterQuality, SkSourceGammaTreatment) const (SkLightingShader.cpp:268)
==3016==    by 0xDA17E6: skpaint_to_grpaint_impl(GrContext*, SkPaint const&, SkMatrix const&, sk_sp<GrFragmentProcessor>*, SkXfermode::Mode*, bool, bool, GrPaint*) (SkGr.cpp:552)
==3016==    by 0xDA4532: SkPaintToGrPaint(GrContext*, SkPaint const&, SkMatrix const&, bool, GrPaint*) (SkGr.cpp:668)
==3016==    by 0xD99B51: SkGpuDevice::drawRect(SkDraw const&, SkRect const&, SkPaint const&) (SkGpuDevice.cpp:534)
==3016==    by 0x9DDB1C: SkCanvas::onDrawRect(SkRect const&, SkPaint const&) (SkCanvas.cpp:2148)
==3016==    by 0x9DBF40: SkCanvas::drawRect(SkRect const&, SkPaint const&) (SkCanvas.cpp:1919)
==3016==    by 0x8D2A55: skiagm::LightingShaderGM::onDraw(SkCanvas*) (lightingshader.cpp:110)
==3016==    by 0x625659: skiagm::GM::drawContent(SkCanvas*) (gm.cpp:32)
==3016==    by 0x6256AD: skiagm::GM::draw(SkCanvas*) (gm.cpp:24)
==3016==    by 0x61B747: DM::GMSrc::draw(SkCanvas*) const (DMSrcSink.cpp:61)
==3016==    by 0x61F37B: DM::GPUSink::draw(DM::Src const&, SkBitmap*, SkWStream*, SkString*) const (DMSrcSink.cpp:1115)
==3016==    by 0x619261: dm_main() (DM.cpp:1016)
==3016==    by 0x619841: main (DM.cpp:1409)
==3016==  Address 0xf4 is not stack'd, malloc'd or (recently) free'd
==3016==

Caught signal 11 [Segmentation fault], was running:
gpu gm  lightingshader

Original issue's description:
> Abstracted diffuse color map out of SkLightingShaderImpl into a generic SkShader
>
> Will not run until after landing https://codereview.chromium.org/2106893003/
>
> This CL's base is the CL for the addition of NormalSource to the API: https://codereview.chromium.org/2063793002/
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062703003
>
> Committed: https://skia.googlesource.com/skia/+/3f58cd0eb8bf4499c4f179aa6111d7e005809df8

TBR=egdaniel@google.com,robertphillips@google.com,dvonbeck@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:
NOTRY=true

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

8 years agoUse sRGB pixel config for ARGB masks (color emoji)
brianosman [Fri, 8 Jul 2016 13:15:45 +0000 (06:15 -0700)]
Use sRGB pixel config for ARGB masks (color emoji)

Fixes over-bright color emoji and GM:colortype in sRGB mode

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

Committed: https://skia.googlesource.com/skia/+/920af9fac3d9e275a93910d9c626ee7bc23ed17a
Review-Url: https://codereview.chromium.org/2129913004

8 years agoReland of Better encapsulate oval/rrect batchs. (patchset #1 id:1 of https://coderevi...
bsalomon [Fri, 8 Jul 2016 11:42:54 +0000 (04:42 -0700)]
Reland of Better encapsulate oval/rrect batchs. (patchset #1 id:1 of https://codereview.chromium.org/2121313004/ )

Reason for revert:
Workaround for compiler/stdlib bug landed: https://codereview.chromium.org/2135453002

Original issue's description:
> Revert of Better encapsulate oval/rrect batchs. (patchset #5 id:80001 of https://codereview.chromium.org/2104423003/ )
>
> Reason for revert:
> This CL is suspected to break compilation on arm64.
> https://build.chromium.org/p/chromium.android/builders/Android%20arm64%20Builder%20%28dbg%29/builds/5851/steps/compile/logs/stdio
>
> Original issue's description:
> > Better encapsulate oval/rrect batchs.
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003
> >
> > Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc
> > Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90
> > Committed: https://skia.googlesource.com/skia/+/11bf8b2eae7d1780cb969146422a2ab3b933047a
>
> TBR=robertphillips@google.com,bsalomon@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/c79fc33d3e83664ffbd3651df3131c3e9e0b635c

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

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

8 years agoupdate path->rsxform to correctly interp dy
reed [Fri, 8 Jul 2016 10:31:09 +0000 (03:31 -0700)]
update path->rsxform to correctly interp dy

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

TBR=

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

8 years agoPromote the GCC/libc++/<memory> 'typedef float float32_t' workaround to SkTypes.h
bsalomon [Fri, 8 Jul 2016 10:28:42 +0000 (03:28 -0700)]
Promote the GCC/libc++/<memory> 'typedef float float32_t' workaround to SkTypes.h

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

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

8 years agoMake all parameters reqiured to GrReducedClip::ReduceClipStack
bsalomon [Fri, 8 Jul 2016 10:28:34 +0000 (03:28 -0700)]
Make all parameters reqiured to GrReducedClip::ReduceClipStack
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2130903002

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

8 years agoRevert of Move sRGB <-> linear conversion components to their own files. (patchset...
mtklein [Fri, 8 Jul 2016 01:34:06 +0000 (18:34 -0700)]
Revert of Move sRGB <-> linear conversion components to their own files. (patchset #5 id:80001 of https://codereview.chromium.org/2128893002/ )

Reason for revert:
Monotonicity assert is failing on ARM.  (Different rsqrt() and invert() precision?)  Will investigate a bit tomorrow... might reland with the test TODO.

Original issue's description:
> Move sRGB <-> linear conversion components to their own files.
>
> This makes them a little easier to use outside SkColorXform code.
>
> I've added some notes about how best to use them and their eccentricities, and added a test.
>
> Ultimately any software sRGB <-> linear conversion should funnel somehow through here.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128893002
> CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/45e58c8807179638980aae8503573b950b844e4c

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

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

8 years agomake some canvas utils virtual (for proxy based subclasses)
reed [Thu, 7 Jul 2016 23:44:27 +0000 (16:44 -0700)]
make some canvas utils virtual (for proxy based subclasses)

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

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

8 years agofix typos and capitalization on drawTextRSXform CL
reed [Thu, 7 Jul 2016 23:32:51 +0000 (16:32 -0700)]
fix typos and capitalization on drawTextRSXform CL

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

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

8 years agoUpdate markdown to use absolute image paths, fixing broken images
pdr [Thu, 7 Jul 2016 21:48:52 +0000 (14:48 -0700)]
Update markdown to use absolute image paths, fixing broken images

Markdown can be served with or without a trailing slash but when a
trailing slash is present, relative image links were broken.

The following example works as expected:
url: https://skia.org/dev/design/pdftheory
image url: PdfLogicalDocumentStructure.png
resolves to: https://skia.org/dev/design/PdfLogicalDocumentStructure.png

The following example was broken before this patch:
url: https://skia.org/dev/design/pdftheory/
image url: PdfLogicalDocumentStructure.png
resolves to: https://skia.org/dev/design/pdftheory/PdfLogicalDocumentStructure.png

The PdfLogicalDocumentStructure.png file lives in /dev/design/, not
/dev/design/pdftheory/. This patch updates all images in our markdown
files to be served with the full path so a trailing slash no longer
breaks images.

I hit this bug when promoting the new Skia debugger:
https://groups.google.com/a/chromium.org/d/msg/paint-dev/QJ8xpu8dNyA/F4KX2O4ZBwAJ

BUG=skia:5493
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128013003
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2128013003

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

8 years agoMove sRGB <-> linear conversion components to their own files.
mtklein [Thu, 7 Jul 2016 21:47:36 +0000 (14:47 -0700)]
Move sRGB <-> linear conversion components to their own files.

This makes them a little easier to use outside SkColorXform code.

I've added some notes about how best to use them and their eccentricities, and added a test.

Ultimately any software sRGB <-> linear conversion should funnel somehow through here.

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

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

8 years agoadd bounds to textblob
reed [Thu, 7 Jul 2016 21:10:14 +0000 (14:10 -0700)]
add bounds to textblob

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

TBR=

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

8 years agoRevert of Better encapsulate oval/rrect batchs. (patchset #5 id:80001 of https:/...
hush [Thu, 7 Jul 2016 20:58:38 +0000 (13:58 -0700)]
Revert of Better encapsulate oval/rrect batchs. (patchset #5 id:80001 of https://codereview.chromium.org/2104423003/ )

Reason for revert:
This CL is suspected to break compilation on arm64.
https://build.chromium.org/p/chromium.android/builders/Android%20arm64%20Builder%20%28dbg%29/builds/5851/steps/compile/logs/stdio

Original issue's description:
> Better encapsulate oval/rrect batchs.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003
>
> Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc
> Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90
> Committed: https://skia.googlesource.com/skia/+/11bf8b2eae7d1780cb969146422a2ab3b933047a

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

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