platform/upstream/libSkiaSharp.git
10 years agoSimplify benchmark internal API.
commit-bot@chromium.org [Tue, 3 Dec 2013 18:17:16 +0000 (18:17 +0000)]
Simplify benchmark internal API.

I'm not quite sure why I wrote such a convoluted API with setLoops()/getLoops().
This replaces it with a loops argument passed to onDraw().

This CL is largely mechanical translation from the old API to the new one.
MathBench used this->getLoops() outside onDraw(), which seems incorrect.  I
fixed it.

BUG=
R=djsollen@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12466 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd JSON output option to bench.
commit-bot@chromium.org [Tue, 3 Dec 2013 18:16:48 +0000 (18:16 +0000)]
Add JSON output option to bench.

A new command-line flag --outResultsFile takes the filename to write the JSON into.

The human readable output is the same as before with one exception. Previously DEBUG would be printed if in debug mode, or nothing would be printed if in release mode. Now this is reported as a named option:

  build=DEBUG

or

  build=RELEASE

R=djsollen@google.com, bsalomon@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12465 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix for SkPathRef::CreateTransformedCopy bug
robertphillips@google.com [Tue, 3 Dec 2013 17:15:36 +0000 (17:15 +0000)]
Fix for SkPathRef::CreateTransformedCopy bug

https://codereview.chromium.org/99423004/

git-svn-id: http://skia.googlecode.com/svn/trunk@12464 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMove fIsOval from SkPath to SkPathRef
robertphillips@google.com [Tue, 3 Dec 2013 16:43:54 +0000 (16:43 +0000)]
Move fIsOval from SkPath to SkPathRef

https://codereview.chromium.org/89123002/

git-svn-id: http://skia.googlecode.com/svn/trunk@12463 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove SkPdfNativeDoc::tokenizerOfStream.
scroggo@google.com [Tue, 3 Dec 2013 16:15:31 +0000 (16:15 +0000)]
Remove SkPdfNativeDoc::tokenizerOfStream.

Instead, initialize an SkPdfNativeTokenizer directly on the stack.

Fixes a memory leak in SkPdfFont.

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12462 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoUse lowercase windows.h in includes to fix Windows cross compilation using mingw.
bungeman@google.com [Tue, 3 Dec 2013 15:23:37 +0000 (15:23 +0000)]
Use lowercase windows.h in includes to fix Windows cross compilation using mingw.

While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRefreshed mozilla,googleplus and wikipedia SKPs. Triggering rebuilds.
rmistry@google.com [Tue, 3 Dec 2013 14:51:00 +0000 (14:51 +0000)]
Refreshed mozilla,googleplus and wikipedia SKPs. Triggering rebuilds.

git-svn-id: http://skia.googlecode.com/svn/trunk@12459 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRebaseline GMs for r12440 (HQ filtering for tiled/bleed drawBitmap)
robertphillips@google.com [Tue, 3 Dec 2013 12:49:32 +0000 (12:49 +0000)]
Rebaseline GMs for r12440 (HQ filtering for tiled/bleed drawBitmap)

https://codereview.chromium.org/101793002/

git-svn-id: http://skia.googlecode.com/svn/trunk@12455 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Tue, 3 Dec 2013 07:02:11 +0000 (07:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12453 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert of r12450 (Move fIsOval from SkPath to SkPathRef)
robertphillips@google.com [Tue, 3 Dec 2013 00:23:39 +0000 (00:23 +0000)]
Revert of r12450 (Move fIsOval from SkPath to SkPathRef)

git-svn-id: http://skia.googlecode.com/svn/trunk@12452 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix off-by-one in four_byte_interp benches.
mtklein@google.com [Tue, 3 Dec 2013 00:01:03 +0000 (00:01 +0000)]
Fix off-by-one in four_byte_interp benches.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12451 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMove fIsOval from SkPath to SkPathRef
robertphillips@google.com [Mon, 2 Dec 2013 23:55:11 +0000 (23:55 +0000)]
Move fIsOval from SkPath to SkPathRef

https://codereview.chromium.org/89123002/

git-svn-id: http://skia.googlecode.com/svn/trunk@12450 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix ignored-tests.txt
bsalomon@google.com [Mon, 2 Dec 2013 22:54:50 +0000 (22:54 +0000)]
Fix ignored-tests.txt

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12449 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoARM Skia NEON patches - 29 - Xfermode: SkFourByteInterp
commit-bot@chromium.org [Mon, 2 Dec 2013 22:40:56 +0000 (22:40 +0000)]
ARM Skia NEON patches - 29 - Xfermode: SkFourByteInterp

Xfermode: add a NEON version of SkFourByteInterp

Brings a modest performance improvement on its own in
ProcXfermodes when aa is neither zero nor FF. Combined
with 1-pixel NEON modeprocs, it brings up to 35% speed
improvement on the aa case.

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com, mtklein@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12448 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSimplify SkPdfTokenLooper behavior.
scroggo@google.com [Mon, 2 Dec 2013 22:34:45 +0000 (22:34 +0000)]
Simplify SkPdfTokenLooper behavior.

Instead of passing a pointer to a pointer to a NULL looper, which can
then be set to point to a new looper (which then must be looped and
deleted), pass a pointer to the current looper. Each function can then
create a looper based on the parent (on the stack) and call loop()
itself.

Remove setUp(). Now that there is a pointer to the parent at creation
time, there is no need for this function.

Modify the constructors to only provide ones that are needed.

Add documentation.

Remove PdfInlineImageLooper::done(), which is never used.

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12447 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDelay setting initial memory block until it officially exists.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:32:58 +0000 (22:32 +0000)]
Delay setting initial memory block until it officially exists.

BUG=323017
R=robertphillips@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12446 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSkDiscardablePixelRef objects are now marked immutable.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:32:54 +0000 (22:32 +0000)]
SkDiscardablePixelRef objects are now marked immutable.

I also specifically mentioned in the SkImageGenerator documentation
that it should always return the same information on subsequent calls
to getInfo() and getPixels().

Motivation: When a bitmap is recorded into a SkPicture, it will choose
whether to shallow- or deep-copy itself into the SkBitmapHeap based on
the immutable flag.  Failing to set it would make picture recording slow.

BUG=
R=fmalita@google.com, reed@google.com, scroggo@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12445 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd four_byte_interp benches.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:32:47 +0000 (22:32 +0000)]
Add four_byte_interp benches.

Desktop:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =      6.18
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =      6.83
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =      5.02
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =      5.88

N5:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =     22.84
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =     25.11
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =     18.89
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =     22.32

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12444 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove the comments settings for vim tab width and expansion variables.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:23:03 +0000 (22:23 +0000)]
Remove the comments settings for vim tab width and expansion variables.

These add unnecessary bloat for everyone to carry around, so we just
remove them now.

The same change was made in chromium by Tony in
http://codereview.chromium.org/7310019 - crrev.com/92046

BUG=None
TEST=./gyp_skia
R=mtklein@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12443 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove GR_IMPLEMENTATION define.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:22:45 +0000 (22:22 +0000)]
Remove GR_IMPLEMENTATION define.

skgputest is built as a static library and thus this define is not
needed. If the library was built as shared, then this define would
be necessary and used. But it isn't, so we remove it now.

BUG=None
TEST=None
R=bsalomon@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12442 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMissed this flag. imagemagnifier asserts without it.
commit-bot@chromium.org [Mon, 2 Dec 2013 22:22:40 +0000 (22:22 +0000)]
Missed this flag.  imagemagnifier asserts without it.

BUG=skia:781
R=epoger@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12441 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoHQ filtering for tiled/bleed drawBitmap
commit-bot@chromium.org [Mon, 2 Dec 2013 22:22:35 +0000 (22:22 +0000)]
HQ filtering for tiled/bleed drawBitmap
sample at pix center in bicubic

R=senorblanco@chromium.org, jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12440 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix 'i-i' to 'i-1' in SkCanvasStack.
bungeman@google.com [Mon, 2 Dec 2013 21:34:36 +0000 (21:34 +0000)]
Fix 'i-i' to 'i-1' in SkCanvasStack.

Pointed out in http://www.viva64.com/en/b/0225/ .

R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12439 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove some PdfViewer warnings.
scroggo@google.com [Mon, 2 Dec 2013 20:58:12 +0000 (20:58 +0000)]
Remove some PdfViewer warnings.

Fix build.

git-svn-id: http://skia.googlecode.com/svn/trunk@12438 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd some debugging to buildbot_globals, sort the trybot list
borenet@google.com [Mon, 2 Dec 2013 20:27:16 +0000 (20:27 +0000)]
Add some debugging to buildbot_globals, sort the trybot list

R=epoger@google.com, rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12437 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSeparate and update PDF_DIFF_TRACE_IN_PNG
scroggo@google.com [Mon, 2 Dec 2013 20:22:31 +0000 (20:22 +0000)]
Separate and update PDF_DIFF_TRACE_IN_PNG

Move its functionality out of readToken() and into its own class.
Callers of the previous readToken() now call
SkPdfNativeTokenizer::readToken(), which in turn calls a function
for writing the diff to a file, if the caller requests it and
PDF_TRACE_DIFF_IN_PNG is defined.

Do not attempt to draw a diff for compatibility sections, which we
do not draw.

Use SkString to handle string manipulation.

Hide globals only used by PDF_TRACE_DIFF_IN_PNG behind that flag.

Remove hasVisualEffects, which always returns true.

Rename gLastOpKeyword to gOpCounter for clarity.

In SkPdfNativeTokenizer, set fEmpty to true when the entire stream
has been read.

Use SkBitmap::copyTo instead of manually copying an SkBitmap.

Builds on https://codereview.chromium.org/79933003/

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12436 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRestructuring of PdfViewer code.
scroggo@google.com [Mon, 2 Dec 2013 20:18:09 +0000 (20:18 +0000)]
Restructuring of PdfViewer code.

The only change in behavior is that SkPdfAllocator on SkPdfContext is
no longer allocated on the heap.

In general, I have just moved code.

SkPdfContext:
Inherit from SkNoncopyable.
Make SkPdfContext directly own fTmpPageAllocator. fTmpPageAllocator is
created when SkPdfContext is, and destroyed at the same time as well,
so there is no reason for the extra allocation.
Add the function parseStream. This eliminates code duplication, and
allows making fTmpPageAllocator private.
Move PdfMainLooper into the implementation file, since it is now only
used by parseStream.
Move SkTDictWithDefaultConstructor and render stats info here, in
support of PdfMainLooper.

SkPdfTokenLooper:
Rename PdfTokenLooper to SkPdfTokenLooper.
Move readToken here, unchanged.
Remove tokenizer(), which is unused.

SkPdfNativeDoc:
Remove tokenizerOfPage and tokenizerOfBuffer, which are unused.

SkPdfOps:
Move gPdfOps and PdfOperatorRenderer into a header file (hidden for
now), so they can be accessed by both SkPdfRenderer.cpp and
SkPdfContext.cpp.

SkPdfRenderer:
Harvest things into other files:
PdfMainLooper (and the code that calls it) -> SkPdfContext.
readToken -> SkPdfTokenLooper.

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12435 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoLibraries without '-l' treated as relative paths.
bungeman@google.com [Mon, 2 Dec 2013 19:54:33 +0000 (19:54 +0000)]
Libraries without '-l' treated as relative paths.

The following have the same effect on Windows:
'msvs_settings': { 'VCLinkerTool': { 'AdditionalDependencies': [ 'windowscodecs.lib', ],},},
'link_settings': {'libraries': ['-lwindowscodecs.lib',],},

But this one is different:
'link_settings': {'libraries': ['windowscodecs.lib',],},

since this last one will attempt to find the library at
third_party\skia\gyp\windowscodecs.lib
or a place like this, instead of looking in the library paths.

This also fixes capitalization of the affected libraries.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12434 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorestore [6] for setPrefConfigTable, accidentally changed with A1 CL
reed@google.com [Mon, 2 Dec 2013 19:50:16 +0000 (19:50 +0000)]
restore [6] for setPrefConfigTable, accidentally changed with A1 CL

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12433 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix spelling errors in SkWeakRefCnt.
bungeman@google.com [Mon, 2 Dec 2013 19:12:04 +0000 (19:12 +0000)]
Fix spelling errors in SkWeakRefCnt.

git-svn-id: http://skia.googlecode.com/svn/trunk@12432 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoActually mark other types of fonts as 'kOther' in FreeType port.
bungeman@google.com [Mon, 2 Dec 2013 19:10:02 +0000 (19:10 +0000)]
Actually mark other types of fonts as 'kOther' in FreeType port.

Without this, the fType is garbage and will most likely cause an assert
or unwanted behavior later.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12431 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix truncation of glyphs in SkScalerContext.cpp
robertphillips@google.com [Mon, 2 Dec 2013 15:43:39 +0000 (15:43 +0000)]
Fix truncation of glyphs in SkScalerContext.cpp

https://codereview.chromium.org/99323002/

git-svn-id: http://skia.googlecode.com/svn/trunk@12430 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoReverting r12427
rmistry@google.com [Mon, 2 Dec 2013 13:50:38 +0000 (13:50 +0000)]
Reverting r12427

git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Mon, 2 Dec 2013 13:36:22 +0000 (13:36 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSpeed up GrResourceCache lookup by inlining GrBinHashKey comparisons
commit-bot@chromium.org [Thu, 28 Nov 2013 08:24:29 +0000 (08:24 +0000)]
Speed up GrResourceCache lookup by inlining GrBinHashKey comparisons

The GCC compilers for Android and Ubuntu do not seem to be able to
inline the memcmp operations on GrBinHashKey data. Write the comparisons
manually. Also shortcut GrBinHashKey::EQ to skip comparison when hashes
do not match.

Speeds up grresourcecache_find test on ARM and x86_64. Speeds up
grresourcecache_add on x86_64.

In order to test the change, moves ad hoc Gr unit tests from
src/gr_unittest.cpp to tests/GrUnitTests to be consistent with other
tests and enables GrUnitTests.

Fixes a regression from r2863 with where re-setting GrBinHashKey data
would not set the hash correctly. This should also improve the hash
function itself. The regression caused many of the hash operations be
no-ops. This is caught by the unit test.

Renames the comparison functions that GrHashTable needs from EQ, LT to
Equals, LessThan.

Renames GrTBinHashKey to GrBinHashKey. The GrTBinHashKey used to
forward comparison functions to an ENTRY template class, which would
extract the key and call back to the GrTBinHashKey. This would save
the user from writing one comparison function when comparison was done
with int ENTRY::compare(). There's no real benefit in this now. Also
this was used only for one class (GrTextureStripAtlas). The other use
in GrResourceKey was not actually using the provided "shortcut". The
new GrBinHashKey is not templated with the entry, rather just provides
== and < functions. The users of GrTHashTable provide the needed
functions now.

Adds explicit documentation of functions that are actually needed
GrTHashTable for the Key template. Adds SK_DEBUG guards according to
the contract.

R=bsalomon@google.com, mtklein@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12426 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Thu, 28 Nov 2013 07:02:25 +0000 (07:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12425 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove completed TODO in SkFontMgr.h.
bungeman@google.com [Wed, 27 Nov 2013 22:05:22 +0000 (22:05 +0000)]
Remove completed TODO in SkFontMgr.h.

git-svn-id: http://skia.googlecode.com/svn/trunk@12424 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDocument the SkScalerContext pure virtuals.
bungeman@google.com [Wed, 27 Nov 2013 20:53:45 +0000 (20:53 +0000)]
Document the SkScalerContext pure virtuals.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12423 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoTrying to add the same scaled image twice shouldn't assert.
commit-bot@chromium.org [Wed, 27 Nov 2013 20:22:23 +0000 (20:22 +0000)]
Trying to add the same scaled image twice shouldn't assert.

This unbreaks bench_pictures --multi foo for me.

BUG=skia:1868
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12422 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDon't check the framebuffer status every time we flush when we're on Chromium;
commit-bot@chromium.org [Wed, 27 Nov 2013 18:13:17 +0000 (18:13 +0000)]
Don't check the framebuffer status every time we flush when we're on Chromium;
this reduces the number of unnecessary command buffer flushes by about 50%
for page loads when doing Ganesh rendering, since we do a flush on clear.

BUG=
R=bsalomon@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12421 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoARM Skia NEON patches - 16/17 - Blitmask
commit-bot@chromium.org [Wed, 27 Nov 2013 17:08:36 +0000 (17:08 +0000)]
ARM Skia NEON patches - 16/17 - Blitmask

Blitmask: NEON optimised version of the D32_A8 functions

    Here are the microbenchmark results I got for the D32_A8
    functions:

    Cortex-A9:
    ==========
    +-------+--------+--------+--------+
    | count | Black  | Opaque | Color  |
    +-------+--------+--------+--------+
    | 1     | -14%   | -39,5% | -37,5% |
    +-------+--------+--------+--------+
    | 2     | -3%    | -29,9% | -25%   |
    +-------+--------+--------+--------+
    | 4     | -11,3% | -22%   | -14,5% |
    +-------+--------+--------+--------+
    | 8     | +128%  | +66,6% | +105%  |
    +-------+--------+--------+--------+
    | 16    | +159%  | +102%  | +149%  |
    +-------+--------+--------+--------+
    | 64    | +189%  | +136%  | +189%  |
    +-------+--------+--------+--------+
    | 256   | +126%  | +102%  | +149%  |
    +-------+--------+--------+--------+
    | 1024  | +67,5% | +81,4% | +123%  |
    +-------+--------+--------+--------+

    Cortex-A15:
    ===========
    +-------+--------+--------+--------+
    | count | Black  | Opaque | Color  |
    +-------+--------+--------+--------+
    | 1     | -24%   | -46,5% | -37,5% |
    +-------+--------+--------+--------+
    | 2     | -18,5% | -35,5% | -28%   |
    +-------+--------+--------+--------+
    | 4     | -5,2%  | -17,5% | -15,5% |
    +-------+--------+--------+--------+
    | 8     | +72%   | +65,8% | +84,7% |
    +-------+--------+--------+--------+
    | 16    | +168%  | +117%  | +149%  |
    +-------+--------+--------+--------+
    | 64    | +165%  | +110%  | +145%  |
    +-------+--------+--------+--------+
    | 256   | +106%  | +99,6% | +141%  |
    +-------+--------+--------+--------+
    | 1024  | +93,7% | +94,7% | +130%  |
    +-------+--------+--------+--------+

    Blitmask: add NEON optimised PlatformBlitRowProcs16

    Here are the microbenchmark results (speedup vs. C code):

    +-------+-----------------+-----------------+
    |       |    Cortex-A9    |   Cortex-A15    |
    | count +--------+--------+--------+--------+
    |       | Blend  | Opaque | Blend  | Opaque |
    +-------+--------+--------+--------+--------+
    | 1     | -19,2% | -36,7% | -33,6% | -44,7% |
    +-------+--------+--------+--------+--------+
    | 2     | -12,6% | -27,8% | -39%   | -48%   |
    +-------+--------+--------+--------+--------+
    | 4     | -11,5% | -21,6% | -37,7% | -44,3% |
    +-------+--------+--------+--------+--------+
    | 8     | +141%  | +59,7% | +123%  | +48,7% |
    +-------+--------+--------+--------+--------+
    | 16    | +213%  | +119%  | +214%  | +121%  |
    +-------+--------+--------+--------+--------+
    | 64    | +212%  | +105%  | +242%  | +167%  |
    +-------+--------+--------+--------+--------+
    | 256   | +289%  | +167%  | +249%  | +207%  |
    +-------+--------+--------+--------+--------+
    | 1024  | +273%  | +169%  | +146%  | +220%  |
    +-------+--------+--------+--------+--------+

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
BUG=
R=djsollen@google.com, mtklein@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12420 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix Valgrind reports of test branching on uninitialized data.
bungeman@google.com [Wed, 27 Nov 2013 17:00:12 +0000 (17:00 +0000)]
Fix Valgrind reports of test branching on uninitialized data.

Fixes reports like:
[07:10:01.235147] [ 71/188] (9) Serialization
[07:10:01.235186] ==20052== Thread 3:
[07:10:01.235223] ==20052== Conditional jump or move depends on uninitialised value(s)
[07:10:01.235259] ==20052==    at 0x546632: SkRRect::setRectRadii(SkRect const&, SkPoint const*) (SkRect.h:426)
[07:10:01.735876] ==20052==    by 0x546FB7: SkRRect::readFromMemory(void const*, unsigned long) (SkRRect.cpp:362)
[07:10:01.735965] ==20052==    by 0x47F87F: Tests(skiatest::Reporter*) (SerializationTest.cpp:20)
[07:10:01.736007] ==20052==    by 0x480367: skiatest::SerializationClass::onRun(skiatest::Reporter*) (SerializationTest.cpp:212)
[07:10:01.736048] ==20052==    by 0x4881DA: skiatest::Test::run() (Test.cpp:109)
[07:10:01.736086] ==20052==    by 0x482516: SkTestRunnable::run() (skia_test.cpp:155)
[07:10:01.736122] ==20052==    by 0x6236E5: SkThreadPool::Loop(void*) (SkThreadPool.cpp:97)
[07:10:01.736158] ==20052==    by 0x62DDB2: thread_start(void*) (SkThreadUtils_pthread.cpp:66)
[07:10:01.736192] ==20052==    by 0x4E39E99: start_thread (pthread_create.c:308)
[07:10:01.736228] ==20052==    by 0x6A5BCCC: clone (clone.S:112)
[07:10:01.736262] ==20052==  Uninitialised value was created by a stack allocation
[07:10:01.736296] ==20052==    at 0x47EC6A: Tests(skiatest::Reporter*) (SerializationTest.cpp:155)

git-svn-id: http://skia.googlecode.com/svn/trunk@12419 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFix warning as error on Mac for implicit narrowing conversion from r12413.
bungeman@google.com [Wed, 27 Nov 2013 16:08:37 +0000 (16:08 +0000)]
Fix warning as error on Mac for implicit narrowing conversion from r12413.

git-svn-id: http://skia.googlecode.com/svn/trunk@12418 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoEver yet even more remaining rebaslines for r12400.
bungeman@google.com [Wed, 27 Nov 2013 15:55:57 +0000 (15:55 +0000)]
Ever yet even more remaining rebaslines for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12417 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agomove to newer angle
commit-bot@chromium.org [Wed, 27 Nov 2013 15:43:22 +0000 (15:43 +0000)]
move to newer angle

R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12416 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agofix 8->1 bugs shown by removal of A1 config
reed@google.com [Wed, 27 Nov 2013 14:47:30 +0000 (14:47 +0000)]
fix 8->1 bugs shown by removal of A1 config

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12415 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Wed, 27 Nov 2013 07:02:04 +0000 (07:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12414 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoNon-rect polygons are not covered in GM cases, such as triangle, trapezoid, diamond...
commit-bot@chromium.org [Wed, 27 Nov 2013 01:24:53 +0000 (01:24 +0000)]
Non-rect polygons are not covered in GM cases, such as triangle, trapezoid, diamond, polygons with lots of edges, concave polygons, etc, especially for stroke-style and stroke-and-fill style painters. So add a GM case to avoid potential rendering errors.

R=bsalomon@google.com, robertphillips@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12413 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFold bench source file list into bench.gyp.
commit-bot@chromium.org [Wed, 27 Nov 2013 00:44:03 +0000 (00:44 +0000)]
Fold bench source file list into bench.gyp.

It is one less file and doesn't make things much worse.

BUG=None
TEST=./gyp_skia
R=mtklein@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12412 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd missing SkIntToScalars.
mtklein@google.com [Wed, 27 Nov 2013 00:04:15 +0000 (00:04 +0000)]
Add missing SkIntToScalars.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12411 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFixed bad memory access
commit-bot@chromium.org [Tue, 26 Nov 2013 23:52:20 +0000 (23:52 +0000)]
Fixed bad memory access

BUG=323595
R=senorblanco@google.com, reed@google.com, sugoi@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12410 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoEver yet even more rebaslines for r12400.
bungeman@google.com [Tue, 26 Nov 2013 23:37:01 +0000 (23:37 +0000)]
Ever yet even more rebaslines for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12409 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: add --tileGrid
mtklein@google.com [Tue, 26 Nov 2013 23:36:51 +0000 (23:36 +0000)]
DM: add --tileGrid

BUG=
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12408 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemove unused fields from SkGlyphCache.
bungeman@google.com [Tue, 26 Nov 2013 23:17:46 +0000 (23:17 +0000)]
Remove unused fields from SkGlyphCache.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12407 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoYet even more rebaslines for r12400.
bungeman@google.com [Tue, 26 Nov 2013 23:15:51 +0000 (23:15 +0000)]
Yet even more rebaslines for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12406 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoEven more rebaslines for r12400.
bungeman@google.com [Tue, 26 Nov 2013 22:58:30 +0000 (22:58 +0000)]
Even more rebaslines for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12405 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMore rebaslines for r12400.
bungeman@google.com [Tue, 26 Nov 2013 22:26:51 +0000 (22:26 +0000)]
More rebaslines for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12404 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRebasline for r12400.
bungeman@google.com [Tue, 26 Nov 2013 22:15:49 +0000 (22:15 +0000)]
Rebasline for r12400.

git-svn-id: http://skia.googlecode.com/svn/trunk@12403 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: write failed comparison mode .pngs one more level deep in the tree.
mtklein@google.com [Tue, 26 Nov 2013 22:06:12 +0000 (22:06 +0000)]
DM: write failed comparison mode .pngs one more level deep in the tree.

E.g.  instead of having to compare
    /tmp/dm/565/optimizations.png
vs.
    /tmp/dm/replay/optimizations_565.png

it's now

    /tmp/dm/565/optimizations.png
vs.
    /tmp/dm/replay/565/optimizations.png

This lets working with skdiff go a lot more smoothly.

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12402 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoEnhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect....
senorblanco@chromium.org [Tue, 26 Nov 2013 21:52:38 +0000 (21:52 +0000)]
Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor.

This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas.

Covered by new GM dropshadowimagefilter.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoMinimal changes to not crash GPU with color fonts.
bungeman@google.com [Tue, 26 Nov 2013 20:43:27 +0000 (20:43 +0000)]
Minimal changes to not crash GPU with color fonts.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12400 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSupport linking skia statically on Android
commit-bot@chromium.org [Tue, 26 Nov 2013 20:39:11 +0000 (20:39 +0000)]
Support linking skia statically on Android

Support linking skia statically on Android. Skia symbols should be
exported by the app library, to the extent that skia_launcher needs
them.

Syncs libskia_android.so to the device only if it exists.

R=djsollen@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12399 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDM: some refactoring
mtklein@google.com [Tue, 26 Nov 2013 18:52:31 +0000 (18:52 +0000)]
DM: some refactoring
  - rename ComparisonTask to ChecksumTask
  - have ChecksumTask handle all the checksum-checking
  - turn on all extra modes by default
  - simplify progress output to a countdown

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12398 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: make --reload work in git checkout
epoger@google.com [Tue, 26 Nov 2013 17:59:28 +0000 (17:59 +0000)]
rebaseline_server: make --reload work in git checkout
(SkipBuildbotRuns)

R=rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12397 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemoving 3 more SKPs to fix BenchPictures in Debug
rmistry@google.com [Tue, 26 Nov 2013 17:29:49 +0000 (17:29 +0000)]
Removing 3 more SKPs to fix BenchPictures in Debug

git-svn-id: http://skia.googlecode.com/svn/trunk@12396 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemoved 3 more SKPs that were failing in Debug
rmistry@google.com [Tue, 26 Nov 2013 16:26:16 +0000 (16:26 +0000)]
Removed 3 more SKPs that were failing in Debug

git-svn-id: http://skia.googlecode.com/svn/trunk@12395 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRemoved desk_wowwiki.skp. Whitespace change to trigger rebuilds.
rmistry@google.com [Tue, 26 Nov 2013 15:46:14 +0000 (15:46 +0000)]
Removed desk_wowwiki.skp. Whitespace change to trigger rebuilds.

git-svn-id: http://skia.googlecode.com/svn/trunk@12394 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoBuildbot SKPs have been refreshed. Whitespace change to trigger rebuilds.
rmistry@google.com [Tue, 26 Nov 2013 14:43:01 +0000 (14:43 +0000)]
Buildbot SKPs have been refreshed. Whitespace change to trigger rebuilds.

git-svn-id: http://skia.googlecode.com/svn/trunk@12393 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert "Revert "remove kA1_Config, as it is no longer supported""
commit-bot@chromium.org [Tue, 26 Nov 2013 12:51:57 +0000 (12:51 +0000)]
Revert "Revert "remove kA1_Config, as it is no longer supported""

This reverts commit 36d712f2d4c5c79719280ad95523e6aaa88b068e.

BUG=
R=rmistry@google.com, mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12392 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd 'skiapict' magic bytes to SkPicture format.
commit-bot@chromium.org [Tue, 26 Nov 2013 12:46:59 +0000 (12:46 +0000)]
Add 'skiapict' magic bytes to SkPicture format.

Testing: out/Debug/tests && out/Release/gm --replay --serialize

BUG=
R=fmalita@google.com, reed@google.com, fmalita@chromium.org

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12391 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoClean up 4 old bytes per paint.
commit-bot@chromium.org [Tue, 26 Nov 2013 12:46:52 +0000 (12:46 +0000)]
Clean up 4 old bytes per paint.

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12390 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Tue, 26 Nov 2013 07:02:21 +0000 (07:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12389 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdding more validation
commit-bot@chromium.org [Mon, 25 Nov 2013 21:46:31 +0000 (21:46 +0000)]
Adding more validation

- Added a way to check that the number of inputs of a filter is not more than a filter expects
- Added validation of reftype in SkBitmap::unflatten()
- Added validation on fKD (diffuse lighting constant) and fKS (specular lighting constant) to make sure that they are always non-negative numbers
- Added validation of SkPerlinNoiseShader::fType and SkPerlinNoiseShader::fNumOctaves

BUG=
R=reed@google.com, senorblanco@google.com, mtklein@google.com, senorblanco@chromium.org, sugoi@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12388 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert "remove kA1_Config, as it is no longer supported"
reed@google.com [Mon, 25 Nov 2013 20:54:56 +0000 (20:54 +0000)]
Revert "remove kA1_Config, as it is no longer supported"

This reverts commit 2d72d8b242eac6e9d30228f5b0a407236491c369.

git-svn-id: http://skia.googlecode.com/svn/trunk@12387 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoExport GrGLCreateNullInterface for use in Chromium compositor unit tests.
commit-bot@chromium.org [Mon, 25 Nov 2013 20:39:27 +0000 (20:39 +0000)]
Export GrGLCreateNullInterface for use in Chromium compositor unit tests.

R=bsalomon@google.com

Author: mvujovic@adobe.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12386 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove SkFloatToScalar macro
commit-bot@chromium.org [Mon, 25 Nov 2013 19:44:07 +0000 (19:44 +0000)]
remove SkFloatToScalar macro

BUG=
R=reed@google.com, djsollen@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove kA1_Config, as it is no longer supported
reed@google.com [Mon, 25 Nov 2013 18:58:29 +0000 (18:58 +0000)]
remove kA1_Config, as it is no longer supported

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12384 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd logan to android_setup.sh
commit-bot@chromium.org [Mon, 25 Nov 2013 18:54:44 +0000 (18:54 +0000)]
Add logan to android_setup.sh

R=djsollen@google.com, bsalomon@google.com, robertphillips@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12383 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRebaseline lingering (Ubuntu13) image for r12357
robertphillips@google.com [Mon, 25 Nov 2013 18:13:33 +0000 (18:13 +0000)]
Rebaseline lingering (Ubuntu13) image for r12357

https://codereview.chromium.org/85203004/

git-svn-id: http://skia.googlecode.com/svn/trunk@12382 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: remove deprecated-expectations-dir option
epoger@google.com [Mon, 25 Nov 2013 18:06:29 +0000 (18:06 +0000)]
rebaseline_server: remove deprecated-expectations-dir option

followup to https://codereview.chromium.org/81243002/ ('rebaseline_server:
deprecate --expectations-dir option in advance of git transition')

(SkipBuildbotRuns)

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12381 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdding SkDeferredCanvas::NoticifationClient to the exported API.
commit-bot@chromium.org [Mon, 25 Nov 2013 15:44:37 +0000 (15:44 +0000)]
Adding SkDeferredCanvas::NoticifationClient to the exported API.

R=reed@android.com, robertphillips@google.com, reed, robertphillips
BUG=1861

Author: schenney@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12380 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove more unused static functions
caryclark@google.com [Mon, 25 Nov 2013 15:05:05 +0000 (15:05 +0000)]
remove more unused static functions

git-svn-id: http://skia.googlecode.com/svn/trunk@12379 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove unused static function
caryclark@google.com [Mon, 25 Nov 2013 14:36:58 +0000 (14:36 +0000)]
remove unused static function

git-svn-id: http://skia.googlecode.com/svn/trunk@12378 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoremove unused reduce order code
caryclark@google.com [Mon, 25 Nov 2013 14:18:21 +0000 (14:18 +0000)]
remove unused reduce order code

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12377 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert of https://codereview.chromium.org/85343004/
commit-bot@chromium.org [Mon, 25 Nov 2013 14:03:52 +0000 (14:03 +0000)]
Revert of https://codereview.chromium.org/85343004/
Reason for revert: Reverting the temporary CL

TBR=
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12376 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoTemporary changes to test one-click revert.
commit-bot@chromium.org [Mon, 25 Nov 2013 14:02:01 +0000 (14:02 +0000)]
Temporary changes to test one-click revert.

(SkipBuildbotRuns)

BUG=
NOTRY=true
TBR=borenet@google.com

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12375 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agofix pathops quad line intersection
caryclark@google.com [Mon, 25 Nov 2013 13:39:12 +0000 (13:39 +0000)]
fix pathops quad line intersection

git-svn-id: http://skia.googlecode.com/svn/trunk@12374 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRevert of https://1215-da983df0eebc.chromiumcodereview-hr.appspot.com/84603002/
commit-bot@chromium.org [Sun, 24 Nov 2013 03:50:22 +0000 (03:50 +0000)]
Revert of https://1215-da983df0eebc.chromiumcodereview-hr.appspot.com/84603002/
Reason for revert: Testing one-click revert

TBR=
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12373 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoWhitespace change to test CQ and one-click revert.
commit-bot@chromium.org [Sun, 24 Nov 2013 03:47:03 +0000 (03:47 +0000)]
Whitespace change to test CQ and one-click revert.
TBR=borenet@google.com

(SkipBuildbotRuns)

BUG=

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12372 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoInline performance-critical methods on SkAlphaRuns.
mtklein@google.com [Fri, 22 Nov 2013 21:25:55 +0000 (21:25 +0000)]
Inline performance-critical methods on SkAlphaRuns.

Clang needs to be forced to inline add, so we do that.

GCC on desktop
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        236.08     212.01     +24.07   +10.2%
 draw_coverage_true 8888 c        125.67     104.49     +21.18   +16.9%

GCC on N5
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        566.33     529.96     +36.37    +6.4%
 draw_coverage_true 8888 c        315.39     293.85     +21.54    +6.8%

Clang on desktop
              bench conf time        old        new       diff    diffP
draw_coverage_false 8888 c        337.37     330.63      +6.74    +2.0%
 draw_coverage_true 8888 c        126.87     119.32      +7.55    +6.0%

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12370 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoI feel like my clang is especially sensitive to unused variables.
mtklein@google.com [Fri, 22 Nov 2013 20:43:54 +0000 (20:43 +0000)]
I feel like my clang is especially sensitive to unused variables.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12369 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years ago[GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a...
commit-bot@chromium.org [Fri, 22 Nov 2013 20:34:59 +0000 (20:34 +0000)]
[GPU] Use view matrix + rect to implement subrect for drawBitmap when there is a mask filter and bleed.

R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12368 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoDisable the save/clip/restore peephole optimization when a bounding hierarchy is...
commit-bot@chromium.org [Fri, 22 Nov 2013 19:42:13 +0000 (19:42 +0000)]
Disable the save/clip/restore peephole optimization when a bounding hierarchy is used

This optimization is redundant with the state traversal optimization that is
performed by SkPictureStateTree and it introduces significant record time
overhead.  Therefore it is better not to perform this optimization when using
a BBoxHierarchy.

BUG=1852
R=tomhudson@google.com, robertphillips@google.com, reed@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12367 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agorebaseline_server: improve pixel diff reporting
epoger@google.com [Fri, 22 Nov 2013 19:26:18 +0000 (19:26 +0000)]
rebaseline_server: improve pixel diff reporting
- fix differing pixels count (we weren't always doing this right)
- report number of differing pixels, as well as percentage
- report worst difference per RGB channel
- apply alpha mask to difference image (changed pixels = opaque, unchanged = transparent)
- add tooltips with further explanation of pixel diffs
(SkipBuildbotRuns)

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12366 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdd SK_ALWAYS_INLINE.
mtklein@google.com [Fri, 22 Nov 2013 16:56:22 +0000 (16:56 +0000)]
Add SK_ALWAYS_INLINE.

I'm working on some code that's much faster when compiled by GCC than by Clang
because GCC inlines more aggressively.  Using SK_ATTRIBUTE(always_inline) on
the appropriate methods narrows the performance gap considerably.

This should work for MSVC, GCC, and Clang, otherwise falling back to "inline".

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12364 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoFixing issues found by fuzzer
commit-bot@chromium.org [Fri, 22 Nov 2013 16:43:14 +0000 (16:43 +0000)]
Fixing issues found by fuzzer

BUG=321802,321790
R=reed@google.com, senorblanco@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12362 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoLaggard rebaselines for r12357
robertphillips@google.com [Fri, 22 Nov 2013 14:32:27 +0000 (14:32 +0000)]
Laggard rebaselines for r12357

https://codereview.chromium.org/82733005/

git-svn-id: http://skia.googlecode.com/svn/trunk@12360 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoRebaseline dashing3 GMs for r12357
robertphillips@google.com [Fri, 22 Nov 2013 13:40:48 +0000 (13:40 +0000)]
Rebaseline dashing3 GMs for r12357

https://codereview.chromium.org/83543002/

git-svn-id: http://skia.googlecode.com/svn/trunk@12359 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Fri, 22 Nov 2013 07:02:24 +0000 (07:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12358 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoApply hairline optimization only if the path renderer wants it
commit-bot@chromium.org [Fri, 22 Nov 2013 07:02:11 +0000 (07:02 +0000)]
Apply hairline optimization only if the path renderer wants it

Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.

Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.

This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.

R=bsalomon@google.com, jvanverth@google.com, rmistry@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81