platform/upstream/libSkiaSharp.git
10 years agouse default to fix warning (or I will shoot myself)
reed@google.com [Tue, 8 Apr 2014 16:57:05 +0000 (16:57 +0000)]
use default to fix warning (or I will shoot myself)

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

10 years agofix warning for uninitialized count
reed@google.com [Tue, 8 Apr 2014 16:02:45 +0000 (16:02 +0000)]
fix warning for uninitialized count

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

10 years agofix warning about uninitialized typeface_encoding by folding glyph case into switch
reed@google.com [Tue, 8 Apr 2014 15:48:26 +0000 (15:48 +0000)]
fix warning about uninitialized typeface_encoding by folding glyph case into switch

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

10 years agofix warning by removing padding field
reed@google.com [Tue, 8 Apr 2014 15:29:10 +0000 (15:29 +0000)]
fix warning by removing padding field

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

10 years agoInitial picture shader implementation
commit-bot@chromium.org [Tue, 8 Apr 2014 15:19:34 +0000 (15:19 +0000)]
Initial picture shader implementation

This CL adds an SkPictureShader class to support SkPicture-based
patterns.

The implementation renders the picture into an SkBitmap tile and then
delegates to SkBitmapProcShader for the actual operation.

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

Committed: http://code.google.com/p/skia/source/detail?r=14085

Author: fmalita@chromium.org

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

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

10 years agoAdd push/pop cull to SkRecord.
commit-bot@chromium.org [Tue, 8 Apr 2014 15:17:17 +0000 (15:17 +0000)]
Add push/pop cull to SkRecord.

BUG=skia:2378
R=fmalita@google.com, mtklein@google.com, fmalita@chromium.org

Author: mtklein@chromium.org

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

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

10 years agoWIP -- SkFont
reed@google.com [Tue, 8 Apr 2014 15:04:29 +0000 (15:04 +0000)]
WIP -- SkFont

BUG=skia:
R=bungeman@google.com, fmalita@chromium.org

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

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

10 years agoRelax the assert in SkReadBuffer::setPictureVersion().
fmalita@google.com [Tue, 8 Apr 2014 14:11:26 +0000 (14:11 +0000)]
Relax the assert in SkReadBuffer::setPictureVersion().

I'm hitting this with SkPictureShader serialization because there can be
multiple pictures deserialized from the same buffer.

I think we can relax the assert to allow setting the same version
multiple times.

(Alternatively, we could guard all the callers - but since setting the
same version is a no-op, that seems overkill)

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

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

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

10 years agoRemoves deleted files SkBitmapShader* from gyp/core.gypi.
commit-bot@chromium.org [Tue, 8 Apr 2014 12:24:01 +0000 (12:24 +0000)]
Removes deleted files SkBitmapShader* from gyp/core.gypi.

BUG=skia:
NOTRY=true
R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bensong@google.com

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

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

10 years agoRevert of Initial picture shader implementation (https://codereview.chromium.org...
commit-bot@chromium.org [Mon, 7 Apr 2014 23:45:31 +0000 (23:45 +0000)]
Revert of Initial picture shader implementation (https://codereview.chromium.org/221923007/)

Reason for revert:
breaking the buildbots. Subsequent CL only addressed CompareGMs but GenerateGMs are also failing.

Original issue's description:
> Initial picture shader implementation
>
> This CL adds an SkPictureShader class to support SkPicture-based
> patterns.
>
> The implementation renders the picture into an SkBitmap tile and then
> delegates to SkBitmapProcShader for the actual operation.
>
> R=reed@google.com,robertphillips@google.com,bsalomon@google.com
>
> Committed: http://code.google.com/p/skia/source/detail?r=14085

R=bsalomon@google.com, reed@google.com, robertphillips@google.com, fmalita@chromium.org
TBR=bsalomon@google.com, fmalita@chromium.org, reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bensong@google.com

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

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

10 years agoSuppress pictureshader GM failures.
fmalita@google.com [Mon, 7 Apr 2014 23:30:37 +0000 (23:30 +0000)]
Suppress pictureshader GM failures.

Pending baselines.

TBR=bensong@google.com

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

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

10 years agoInitial picture shader implementation
commit-bot@chromium.org [Mon, 7 Apr 2014 23:11:45 +0000 (23:11 +0000)]
Initial picture shader implementation

This CL adds an SkPictureShader class to support SkPicture-based
patterns.

The implementation renders the picture into an SkBitmap tile and then
delegates to SkBitmapProcShader for the actual operation.

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

Author: fmalita@chromium.org

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

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

10 years agoAdd option to SkDecodingImageGenerator to require unpremul.
commit-bot@chromium.org [Mon, 7 Apr 2014 21:37:36 +0000 (21:37 +0000)]
Add option to SkDecodingImageGenerator to require unpremul.

Android needs to be able to set unpremul for purgeable
pixelRefs.

Once Android switches to the new interface, we can delete SkImageRef.

Bug=skia:2389

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

Author: scroggo@google.com

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

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

10 years agoremove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG
commit-bot@chromium.org [Mon, 7 Apr 2014 21:33:06 +0000 (21:33 +0000)]
remove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG
remove SK_SUPPORT_LEGACY_GETDEVICECAPABILITIES

BUG=skia:
R=robertphillips@google.com, bsalomon@google.com

Author: reed@google.com

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

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

10 years agoclear bitmap in texture domain gm
commit-bot@chromium.org [Mon, 7 Apr 2014 21:18:46 +0000 (21:18 +0000)]
clear bitmap in texture domain gm

R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bsalomon@google.com

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

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

10 years agoSkNonCopyable should be used with private inheritance.
commit-bot@chromium.org [Mon, 7 Apr 2014 19:34:38 +0000 (19:34 +0000)]
SkNonCopyable should be used with private inheritance.

This is mostly s/public SkNoncopyable/SkNoncopyable/g.

Two classes (SkDrawLooper::Context and SkPicture::OperationList) don't actually work with SkNoncopyable because they introduce a virtual destructor.  I added SkNoncopyableVirtual to make them work as intended.  Sort of questionable whether they really need to be noncopyable in the first place, but I guess it doesn't hurt to keep the behavior the same.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoFactory methods for heap-allocated SkTypeface objects.
commit-bot@chromium.org [Mon, 7 Apr 2014 19:34:16 +0000 (19:34 +0000)]
Factory methods for heap-allocated SkTypeface objects.

This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkTypeface and its subclasses non-public
and instead provides factory methods for creating these objects on the heap.

BUG=skia:2187
R=scroggo@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

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

10 years agoConvert SkPicture's generation ID to a unique ID
commit-bot@chromium.org [Mon, 7 Apr 2014 18:26:22 +0000 (18:26 +0000)]
Convert SkPicture's generation ID to a unique ID

This CL addresses linger code review comments on r14037 (Add generation ID to SkPicture https://codereview.chromium.org/222683002/)

R=reed@google.com

Author: robertphillips@google.com

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

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

10 years agoRemove SkBitmapShaderTemplate.
commit-bot@chromium.org [Mon, 7 Apr 2014 18:01:09 +0000 (18:01 +0000)]
Remove SkBitmapShaderTemplate.

Remove files that are no longer needed:
src/core/SkBitmapShaderTemplate.h
src/core/SkBitmapShader16BilerpTemplate.h

BUG=skia:1976
R=scroggo@google.com

Author: dominikg@chromium.org

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

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

10 years agoRevert of Discard scratch render targets before reusing them. (https://codereview...
commit-bot@chromium.org [Mon, 7 Apr 2014 17:43:01 +0000 (17:43 +0000)]
Revert of Discard scratch render targets before reusing them. (https://codereview.chromium.org/225183012/)

Reason for revert:
Asserts in debug.

Original issue's description:
> Discard scratch render targets before reusing them.
>
> R=robertphillips@google.com
>
> Committed: http://code.google.com/p/skia/source/detail?r=14075

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

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

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

10 years agoFix EffectKey for XferEffect
commit-bot@chromium.org [Mon, 7 Apr 2014 17:13:10 +0000 (17:13 +0000)]
Fix EffectKey for XferEffect

R=robertphillips@google.com

Author: bsalomon@google.com

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

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

10 years agoDiscard scratch render targets before reusing them.
commit-bot@chromium.org [Mon, 7 Apr 2014 17:03:00 +0000 (17:03 +0000)]
Discard scratch render targets before reusing them.

R=robertphillips@google.com

Author: bsalomon@google.com

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

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

10 years agoremove SK_SUPPORT_LEGACY_GETCLIPTYPE
commit-bot@chromium.org [Mon, 7 Apr 2014 15:17:37 +0000 (15:17 +0000)]
remove SK_SUPPORT_LEGACY_GETCLIPTYPE

after this lands and sticks, we can remove the assocated code from skia

BUG=skia:
R=robertphillips@google.com, reed@chromium.org

Author: reed@google.com

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

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

10 years agoRemove SkResizeImageFilter.
commit-bot@chromium.org [Mon, 7 Apr 2014 15:11:08 +0000 (15:11 +0000)]
Remove SkResizeImageFilter.

Its functionality has been subsumed by SkMatrixImageFilter, and it's no longer
used in Blink.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

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

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

10 years agoRemove deprecated function.
commit-bot@chromium.org [Mon, 7 Apr 2014 14:00:31 +0000 (14:00 +0000)]
Remove deprecated function.

We have switched Android to call decodeSubset, so this function
is no longer necessary.

R=reed@google.com

Author: scroggo@google.com

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

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

10 years agoFixed Skia compilation error with strict clang.
commit-bot@chromium.org [Mon, 7 Apr 2014 13:12:47 +0000 (13:12 +0000)]
Fixed Skia compilation error with strict clang.

BUG=skia:
R=reed@google.com, sergeyberezin@chromium.org, hcm@google.com

Author: kolczyk@opera.com

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

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Sat, 5 Apr 2014 03:05:27 +0000 (03:05 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoget iOS building again
commit-bot@chromium.org [Sat, 5 Apr 2014 01:13:43 +0000 (01:13 +0000)]
get iOS building again

1) Disable SampleApp.  Seems like it's totally horked?  SkOSFile_iOS.mm is missing about half the functions needed, and SkOSFile_stdio.cpp is double-providing the others.

2) Drop armv6.

3) Switch from putting headers in sources to putting the corresponding directories in includes.

4)  Force cast the type of glShaderSource.  Something to do with GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE?

After all this,
    env CC=clang CXX=clang++ GYP_DEFINES=skia_os=ios make
builds for me.
BUG=skia:2363
R=bsalomon@google.com, epoger@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoRebaselining resizeimagefilter
commit-bot@chromium.org [Fri, 4 Apr 2014 21:23:30 +0000 (21:23 +0000)]
Rebaselining resizeimagefilter

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

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

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

10 years agoUpdates to Android.mk generation.
commit-bot@chromium.org [Fri, 4 Apr 2014 21:19:53 +0000 (21:19 +0000)]
Updates to Android.mk generation.

These defines were manually added to the last merge.

BUG=skia:1975
R=djsollen@google.com

Author: scroggo@google.com

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

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

10 years agoChange SkDecodingImageGenerator to hide implementation details.
commit-bot@chromium.org [Fri, 4 Apr 2014 20:13:05 +0000 (20:13 +0000)]
Change SkDecodingImageGenerator to hide implementation details.

Motivation: A later CL will move SkDecodingImageGenerator into
include/ for Android to use.

R=scroggo@google.com

Author: halcanary@google.com

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

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

10 years agofix nacl build using ninja
commit-bot@chromium.org [Fri, 4 Apr 2014 18:16:04 +0000 (18:16 +0000)]
fix nacl build using ninja

BUG=skia:2366
NOTREECHECKS=True
NOTRY=True
R=robertphillips@google.com
TBR=robertphillips

Author: epoger@google.com

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

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

10 years agoPrevent potential leaking of memory by using SkString and SkTArray.
commit-bot@chromium.org [Fri, 4 Apr 2014 18:14:39 +0000 (18:14 +0000)]
Prevent potential leaking of memory by using SkString and SkTArray.

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

Author: djsollen@google.com

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

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

10 years agoSkDiscardableMemoryPool to abstract class
commit-bot@chromium.org [Fri, 4 Apr 2014 16:43:38 +0000 (16:43 +0000)]
SkDiscardableMemoryPool to abstract class

Motivation - we want to keep our public headers small.

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

Author: halcanary@google.com

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

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

10 years agoteach rebaseline_server how to compare results of multiple render_pictures runs
commit-bot@chromium.org [Fri, 4 Apr 2014 16:40:25 +0000 (16:40 +0000)]
teach rebaseline_server how to compare results of multiple render_pictures runs

BUG=skia:2230,skia:1942
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

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

10 years agohack hack hack
commit-bot@chromium.org [Fri, 4 Apr 2014 16:26:42 +0000 (16:26 +0000)]
hack hack hack

Edit down the android scripts a bit.
  - set -e
  - detect ccache by default
  - -t for BUILDTYPE

I figure the -t changes are going to break some bots.

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoPerform perlin noise matrix computations once per frame, not per pixel.
senorblanco@chromium.org [Fri, 4 Apr 2014 14:46:10 +0000 (14:46 +0000)]
Perform perlin noise matrix computations once per frame, not per pixel.

Before (Retina MBP):
running bench [640 480]                              perlinnoise   8888:  cmsecs =   1853.18

After:
running bench [640 480]                              perlinnoise   8888:  cmsecs =   1667.06

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

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

10 years agoAdd base effect for gpu 2pt conical gradients
commit-bot@chromium.org [Fri, 4 Apr 2014 13:50:50 +0000 (13:50 +0000)]
Add base effect for gpu 2pt conical gradients

This is in preparation to add more "sub-effects" for the various fast path cases for 2 pt conical gradients

BUG=skia:
R=jvanverth@google.com, robertphillips@google.com, bsalomon@google.com

Author: egdaniel@google.com

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

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Fri, 4 Apr 2014 03:04:32 +0000 (03:04 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoRevert to old behavior regarding SK_CPU_ARM and update documentation around SK_CPU_AR...
commit-bot@chromium.org [Thu, 3 Apr 2014 23:39:46 +0000 (23:39 +0000)]
Revert to old behavior regarding SK_CPU_ARM and update documentation around SK_CPU_ARM64 on iOS.

R=robertphillips@google.com

Author: djsollen@google.com

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

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

10 years agoAdd skia.buildbots@gmail.com to CQ_COMMITTERS
commit-bot@chromium.org [Thu, 3 Apr 2014 22:21:08 +0000 (22:21 +0000)]
Add skia.buildbots@gmail.com to CQ_COMMITTERS

BUG=skia:2225
R=borenet@google.com, rmistry@google.com

Author: skia.buildbots@gmail.com

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

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

10 years agoRevert of Properly set alpha type in webp decode. (https://codereview.chromium.org...
commit-bot@chromium.org [Thu, 3 Apr 2014 21:47:15 +0000 (21:47 +0000)]
Revert of Properly set alpha type in webp decode. (https://codereview.chromium.org/223893002/)

Reason for revert:
Breaks ImageDecoding tests on several platforms.

Original issue's description:
> Properly set alpha type in webp decode.
>
> Also use the newer setConfig function.
>
> Add a test to confirm that we set the alpha type properly.
>
> Add some images with alpha for testing. (These images are also beneficial for the compare_unpremul test, which was previously not meaningful on 100% opaque images.)
>
> All of the added images are in the public domain. They were taken from https://developers.google.com/speed/webp/gallery2:
>
> yellow_rose:
> "Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers"
> Image Author: Jon Sullivan
> This file is in the public domain.
> http://www.public-domain-photos.com/free-stock-photos-4/flowers/yellow-rose-3.jpg
>
> baby_tux:
> "baby tux for my user page"
> Image Author: Fizyplankton
> This file is in the public domain.
> http://www.minecraftwiki.net/images/8/85/Fizyplankton.png
>
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=14054

R=halcanary@google.com
TBR=halcanary@google.com
NOTREECHECKS=true
NOTRY=true

Author: scroggo@google.com

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

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

10 years agoProperly set alpha type in webp decode.
commit-bot@chromium.org [Thu, 3 Apr 2014 20:55:39 +0000 (20:55 +0000)]
Properly set alpha type in webp decode.

Also use the newer setConfig function.

Add a test to confirm that we set the alpha type properly.

Add some images with alpha for testing. (These images are also beneficial for the compare_unpremul test, which was previously not meaningful on 100% opaque images.)

All of the added images are in the public domain. They were taken from https://developers.google.com/speed/webp/gallery2:

yellow_rose:
"Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers"
Image Author: Jon Sullivan
This file is in the public domain.
http://www.public-domain-photos.com/free-stock-photos-4/flowers/yellow-rose-3.jpg

baby_tux:
"baby tux for my user page"
Image Author: Fizyplankton
This file is in the public domain.
http://www.minecraftwiki.net/images/8/85/Fizyplankton.png

NOTRY=true
R=halcanary@google.com

Author: scroggo@google.com

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

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

10 years agoRevert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview...
commit-bot@chromium.org [Thu, 3 Apr 2014 18:53:33 +0000 (18:53 +0000)]
Revert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview.chromium.org/202903004/)

Reason for revert:
It looks like serialization is broken. The serialize and pipe-cross-process tests are failing and turning (at least the Ubuntu12 and Win7) bots red

Original issue's description:
> Xfermode: SSE2 implementation of multiply_modeproc
>
> This patch implements basics for Xfermode SSE optimization. Based on
> these basics, SSE2 implementation of multiply_modeproc is provided. SSE2
> implementation for other modes will come in future. With this patch
> performance of Xfermode_Multiply will improve about 45%. Here are the
> data on desktop i7-3770.
> before:
> Xfermode_Multiply   8888:  cmsecs =     33.30   565:  cmsecs =     45.65
> after:
> Xfermode_Multiply   8888:  cmsecs =     17.18   565:  cmsecs =     24.87
>
> BUG=
>
> Committed: http://code.google.com/p/skia/source/detail?r=14006
>
> Committed: http://code.google.com/p/skia/source/detail?r=14050

R=mtklein@google.com, qiankun.miao@intel.com
TBR=mtklein@google.com, qiankun.miao@intel.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: robertphillips@google.com

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

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

10 years agoRebaseline flaky image on Win7 GPU
robertphillips@google.com [Thu, 3 Apr 2014 18:37:13 +0000 (18:37 +0000)]
Rebaseline flaky image on Win7 GPU

https://codereview.chromium.org/216883009/

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

10 years agoFix for SkTwoPointConicalGradient_gpu define
commit-bot@chromium.org [Thu, 3 Apr 2014 18:27:11 +0000 (18:27 +0000)]
Fix for SkTwoPointConicalGradient_gpu define
NOTREECHECK=True
NOTRY=True
TBR=robertphillips@google.com

BUG=skia:

Author: egdaniel@google.com

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

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

10 years agoXfermode: SSE2 implementation of multiply_modeproc
commit-bot@chromium.org [Thu, 3 Apr 2014 18:26:40 +0000 (18:26 +0000)]
Xfermode: SSE2 implementation of multiply_modeproc

This patch implements basics for Xfermode SSE optimization. Based on
these basics, SSE2 implementation of multiply_modeproc is provided. SSE2
implementation for other modes will come in future. With this patch
performance of Xfermode_Multiply will improve about 45%. Here are the
data on desktop i7-3770.
before:
Xfermode_Multiply   8888:  cmsecs =     33.30   565:  cmsecs =     45.65
after:
Xfermode_Multiply   8888:  cmsecs =     17.18   565:  cmsecs =     24.87

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=14006

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

Author: qiankun.miao@intel.com

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

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

10 years agoAdd LCD support for distance field text.
commit-bot@chromium.org [Thu, 3 Apr 2014 18:25:48 +0000 (18:25 +0000)]
Add LCD support for distance field text.

LCD support is handled by shifting the uv coordinate by 1/3 of a pixel (transformed by the inverse CTM) to the left and right of the original texture coordinate, and using left, center, and right lookups to set the RGB values. This supports both RGB and BGR subpixel order.

BUG=skia:2173
R=robertphillips@google.com, egdaniel@google.com, bungeman@google.com

Author: jvanverth@google.com

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

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

10 years agoFix ios build in chromium when targeting multiple architectures
djsollen@google.com [Thu, 3 Apr 2014 17:50:01 +0000 (17:50 +0000)]
Fix ios build in chromium when targeting multiple architectures

R=robertphillips@google.com

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

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

10 years agoRemove RHB msaa4 from bench_pictures cfg
commit-bot@chromium.org [Thu, 3 Apr 2014 17:47:17 +0000 (17:47 +0000)]
Remove RHB msaa4 from bench_pictures cfg

NOTRY=true
BUG=skia:2386
R=robertphillips@google.com

Author: borenet@google.com

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

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

10 years agoAdd more big endian platforms
commit-bot@chromium.org [Thu, 3 Apr 2014 16:38:01 +0000 (16:38 +0000)]
Add more big endian platforms

This patch adds more platforms to the list that have the BIGENDIAN defines set.

Downstream users are using parts of SKIA on BigEndian machines.

R=cmp@chromium.org, bungeman@google.com, bsalomon@google.com, reed@google.com, sergeyberezin@chromium.org

Author: steve@ssinger.info

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

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

10 years agoandroid_make now exactly the same as android_ninja
commit-bot@chromium.org [Thu, 3 Apr 2014 15:08:49 +0000 (15:08 +0000)]
android_make now exactly the same as android_ninja

BUG=skia:2382
NOTREECHECKS=True
NOTRY=True
R=djsollen@google.com, mtklein@google.com

Author: epoger@google.com

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

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

10 years agoPull Gpu shader out of SkTwoPointConicalGradient into own file
commit-bot@chromium.org [Thu, 3 Apr 2014 14:59:19 +0000 (14:59 +0000)]
Pull Gpu shader out of SkTwoPointConicalGradient into own file

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

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

10 years agoFix ninja build for Android
commit-bot@chromium.org [Thu, 3 Apr 2014 14:48:17 +0000 (14:48 +0000)]
Fix ninja build for Android

android_ninja build script can't recognize "BUILDTYPE=Release". This
CL parses and sets the BUILDTYPE parameter in android_setup.sh.

BUG=skia:2383
R=epoger@google.com, scroggo@google.com, mtklein@google.com, djsollen@google.com

Author: qiankun.miao@intel.com

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

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

10 years agorebaseline Win7/Win8 GM changes caused by ninja build (!)
commit-bot@chromium.org [Thu, 3 Apr 2014 14:37:51 +0000 (14:37 +0000)]
rebaseline Win7/Win8 GM changes caused by ninja build (!)

BUG=skia:2369
NOTREECHECKS=True
NOTRY=True
R=robertphillips@google.com
TBR=robertphillips

Author: epoger@google.com

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

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

10 years agoFix SkRRect isEmpty assert
commit-bot@chromium.org [Thu, 3 Apr 2014 14:35:47 +0000 (14:35 +0000)]
Fix SkRRect isEmpty assert

The rectangle could be empty but not all zeroes.

BUG=skia:2379

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
R=robertphillips@google.com

Author: siglesias@igalia.com

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

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

10 years agoRebaseline Android perf triggers
robertphillips@google.com [Thu, 3 Apr 2014 12:19:50 +0000 (12:19 +0000)]
Rebaseline Android perf triggers

https://codereview.chromium.org/223763004/

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Thu, 3 Apr 2014 03:04:26 +0000 (03:04 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoAdd a GrLayerCache to GrContext
robertphillips@google.com [Thu, 3 Apr 2014 00:34:27 +0000 (00:34 +0000)]
Add a GrLayerCache to GrContext

https://codereview.chromium.org/217343006/

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

10 years agoAdd generation ID to SkPicture
robertphillips@google.com [Wed, 2 Apr 2014 23:51:13 +0000 (23:51 +0000)]
Add generation ID to SkPicture

https://codereview.chromium.org/222683002/

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

10 years agoRemove dead code in ports/.
commit-bot@chromium.org [Wed, 2 Apr 2014 22:03:22 +0000 (22:03 +0000)]
Remove dead code in ports/.

These files are not referenced by any .gyp file in Skia or Chromium.
ninja -C out/Debug everything still builds.

BUG=skia:
R=bungeman@google.com, mtklein@google.com, halcanary@google.com

Author: mtklein@chromium.org

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

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

10 years agoRemove misc. dead code.
commit-bot@chromium.org [Wed, 2 Apr 2014 22:01:38 +0000 (22:01 +0000)]
Remove misc. dead code.

These files are not referenced by any .gyp file in Skia or Chromium.
ninja -C out/Debug everything still builds.

BUG=skia:
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoRemove dead code in gpu/.
commit-bot@chromium.org [Wed, 2 Apr 2014 22:00:04 +0000 (22:00 +0000)]
Remove dead code in gpu/.

These files are not referenced by any .gyp file in Skia or Chromium.
ninja -C out/Debug everything still builds.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoFix early return when GrCoordTransform is identity.
bsalomon@google.com [Wed, 2 Apr 2014 20:47:57 +0000 (20:47 +0000)]
Fix early return when GrCoordTransform is identity.

BUG=339721
R=egdaniel@google.com

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

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

10 years agoarm64_make script changes
commit-bot@chromium.org [Wed, 2 Apr 2014 20:12:25 +0000 (20:12 +0000)]
arm64_make script changes

TODO: Call this script from the bots with command sh -x arm64_make

Motivation: This will give the logs more complete information about
what the scripts are doing.

NOTRY=true
R=mtklein@google.com

Author: halcanary@google.com

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

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

10 years agoArithmetic mode now has the option of not validating the output color, which will...
commit-bot@chromium.org [Wed, 2 Apr 2014 19:32:15 +0000 (19:32 +0000)]
Arithmetic mode now has the option of not validating the output color, which will allow multiple arithmetic operations to be done sequentially, without intermediate clamping. This is required for mimicking blink's current behavior.

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org, reed@google.com, bsalomon@google.com

Author: sugoi@chromium.org

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

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

10 years agoAdd support for multiple base distance field sizes.
commit-bot@chromium.org [Wed, 2 Apr 2014 19:24:32 +0000 (19:24 +0000)]
Add support for multiple base distance field sizes.

This improves quality at higher point sizes.

BUG=skia:2173
R=robertphillips@google.com

Author: jvanverth@google.com

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

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

10 years agoFix matrix adjustment passed to filter processing.
senorblanco@chromium.org [Wed, 2 Apr 2014 19:20:05 +0000 (19:20 +0000)]
Fix matrix adjustment passed to filter processing.

When adjusting the CTM for filter use, we were subtracting off the
destination coordinates of the drawDevice() or drawSprite(). This is
not quite correct: we should subtract off the coordinates relative to
the device origin instead. This occurs when one filtered saveLayer() is
drawn inside another saveLayer(), both with non-zero origin.

This fixes layout test svg/batik/text/smallFonts.svg in Blink, and is
exercised by the provided unit test.

BUG=skia:
R=bsalomon@google.com

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

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

10 years agoSkTDynamicHash: pick up GetKey(), Hash() from T by default.
commit-bot@chromium.org [Wed, 2 Apr 2014 19:17:00 +0000 (19:17 +0000)]
SkTDynamicHash: pick up GetKey(), Hash() from T by default.

This also has a somewhat obscure technical benefit: it removes the
requirement that GetKey() and Hash() must be functions with external
linkage, which is required when passing a function pointer to a
template.  A future CL that's run into this problem and the obvious
simplification are about 50/50 why I'm sending this CL.

BUG=skia:
DIFFBASE= https://codereview.chromium.org/222343002/
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoSkTDynamicHash: remove need for Equals(const T&, const Key&) param.
commit-bot@chromium.org [Wed, 2 Apr 2014 17:03:09 +0000 (17:03 +0000)]
SkTDynamicHash: remove need for Equals(const T&, const Key&) param.

All implementations are relying on bool operator==(const Key&, const Key&)
anyway, which makes total sense, so just make that required.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoUse glInvalidateFramebuffer() when it is supported.
commit-bot@chromium.org [Wed, 2 Apr 2014 16:19:33 +0000 (16:19 +0000)]
Use glInvalidateFramebuffer() when it is supported.

BUG=skia:1541
R=egdaniel@google.com

Author: bsalomon@google.com

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

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

10 years agoARM Skia NEON patches - 35 - First AArch64 support
commit-bot@chromium.org [Wed, 2 Apr 2014 15:03:56 +0000 (15:03 +0000)]
ARM Skia NEON patches - 35 - First AArch64 support

Aarch64 support

This change contains the necessary modifications to have Skia build and
run properly on an ARMv8 processor in aarch64 execution state.

Here's a list of the changes:

 - add an arm64 target to the build system + SK_CPU_ARM64 flag

 - MatrixTest was failing when built in Release mode. Fused MAC
   instructions were generated which made some intermediate results
   more accurate. As the test relies on result comparison, the more
   precise results when compared to others led to a gap bigger than
   what was tolerated. As I don't know if some actual skia code relies
   on results being comparable, I've disabled fused MAC instruction
   with -ffp-contract=off for arm64.

 - Modify include/core/SkOnce.h to have barriers work.

 - SK_CPU_ARM64 implies SK_ARM_NEON_MODE_ALWAYS.

 - use existing Xfermode optimisations with modifications that can be
   removed in the future when toolchains are ready. Also save a few
   instructions is two Xfermodes (will apply to ARM too).

 - use existing SkBoxBlur and SkMorphology optimisations.

 - use existing SkBlitMask optimisations

 - use existing BitmapProcState and Convolution optimisations.

Future changes will include:

 - Blitters (only partialy merged upstream)

 - SkUtils (there's little value in sending asm optimisations without
   having them benchmarked on real hardware).

Signed-off-by: Kevin PETIT <kevin.petit@arm.com>
BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=13980

R=djsollen@google.com, reed@google.com, mtklein@google.com, halcanary@google.com

Author: kevin.petit@arm.com

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

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

10 years agoAdd effect for ellipse clipping.
commit-bot@chromium.org [Wed, 2 Apr 2014 15:00:39 +0000 (15:00 +0000)]
Add effect for ellipse clipping.

BUG=skia:2181
R=jvanverth@google.com

Author: bsalomon@google.com

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

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

10 years agoNew GPU baselines for texteffects GM on NexusS, GalaxyNexus.
senorblanco@chromium.org [Wed, 2 Apr 2014 14:10:33 +0000 (14:10 +0000)]
New GPU baselines for texteffects GM on NexusS, GalaxyNexus.

TBR=robertphillips@google.com

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

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

10 years agoRebaseline images missed in r14005 (Rebaseline two tests after r13940)
robertphillips@google.com [Wed, 2 Apr 2014 13:11:06 +0000 (13:11 +0000)]
Rebaseline images missed in r14005 (Rebaseline two tests after r13940)

https://codereview.chromium.org/219383007/

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Wed, 2 Apr 2014 03:05:59 +0000 (03:05 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoPurge SkPurgeableMemoryBlock.
commit-bot@chromium.org [Tue, 1 Apr 2014 23:50:53 +0000 (23:50 +0000)]
Purge SkPurgeableMemoryBlock.

It was an experiment that is no longer used.

R=mtklein@google.com

Author: scroggo@google.com

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

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

10 years agorebaseline_server: display as much info as possible if expected/actual image is missing
commit-bot@chromium.org [Tue, 1 Apr 2014 22:16:33 +0000 (22:16 +0000)]
rebaseline_server: display as much info as possible if expected/actual image is missing

BUG=skia:2368
NOTRY=True
R=borenet@google.com

Author: epoger@google.com

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

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

10 years agoNew Nexus4 and Win7 perspective baselines for xfermodeimagefilter GM.
senorblanco@chromium.org [Tue, 1 Apr 2014 21:54:43 +0000 (21:54 +0000)]
New Nexus4 and Win7 perspective baselines for xfermodeimagefilter GM.
New Nexus4 baselines for imagefiltersgraph GM.

TBR=robertphillips@google.com

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

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

10 years agoRebaseline N10 bench pictures triggers
bsalomon@google.com [Tue, 1 Apr 2014 19:36:09 +0000 (19:36 +0000)]
Rebaseline N10 bench pictures triggers

BUG=skia:2372

TBR=robertphillips@google.com

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

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

10 years agoFix SkXfermodeImageFilter when an input is cropped out.
senorblanco@chromium.org [Tue, 1 Apr 2014 19:15:23 +0000 (19:15 +0000)]
Fix SkXfermodeImageFilter when an input is cropped out.

If one of inputs to SkXfermodeImageFilter draws nothing, either due to
it being cropped out upstream, or within the filter itself, the filter
should still draw the other input, since otherwise the result will be incorrect.

For the GPU path, since we can't detect this case in
canFilterImageGPU() without recursing, we'll just drop to
the generic path if either input is empty, since we can't use the effect in that case anyway.

While we're at it, let's drop to the generic path if the
xfermode can't be expressed as an effect, since the code
here was doing a 2-pass render in that case anyway, which
is equivalent to what the (xfermode == NULL) case was doing
anyway.

R=bsalomon@google.com, sugoi@chromium.org

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

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

10 years agoAdd show_gm_changes script: show change revisions and hashes for a GM
commit-bot@chromium.org [Tue, 1 Apr 2014 19:03:19 +0000 (19:03 +0000)]
Add show_gm_changes script: show change revisions and hashes for a GM

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

Author: borenet@google.com

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

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

10 years agoThe android framework should not embolden glyphs that originate from bold fonts.
commit-bot@chromium.org [Tue, 1 Apr 2014 19:03:07 +0000 (19:03 +0000)]
The android framework should not embolden glyphs that originate from bold fonts.

R=scroggo@google.com, bungeman@google.com

Author: djsollen@google.com

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

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

10 years agoRename test SkUserConfig files.
commit-bot@chromium.org [Tue, 1 Apr 2014 19:03:00 +0000 (19:03 +0000)]
Rename test SkUserConfig files.

Since we never want to build with the fake SkUserConfig.h files
(they're only there for testing), change their name to
SkUserConfig-h.txt. Now the housekeeper will ignore it.

Also, update the generated version to match what the housekeeper
wanted. It wants my tabs to be 4 spaces, so change my tabs to 4
spaces!

NOTRY=true

Fixes buildbots.

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

Author: scroggo@google.com

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

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

10 years agoFix ordering issue in perf expectations
robertphillips@google.com [Tue, 1 Apr 2014 18:46:11 +0000 (18:46 +0000)]
Fix ordering issue in perf expectations

https://codereview.chromium.org/218993015/

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

10 years agoMinor changes to GrFontCache system.
commit-bot@chromium.org [Tue, 1 Apr 2014 16:25:11 +0000 (16:25 +0000)]
Minor changes to GrFontCache system.

The main change is parameterizing the GrAtlasMgr so it can have a different sized backing texture and a different number of plots. This is in support of the saveLayer cache which has a smaller backing texture and only one plot.

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

Author: robertphillips@google.com

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

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

10 years agoSkRecord strawman
commit-bot@chromium.org [Tue, 1 Apr 2014 16:24:06 +0000 (16:24 +0000)]
SkRecord strawman

Record performance as measured by bench_record (out/Release/bench_record --skr) improves by at least 1.9x, at most 6.7x, arithmetic mean 2.6x, geometric mean 3.0x.  So, good.

Correctness as measured by DM (out/Debug/dm --skr) is ~ok.  One GM (shadertext2) fails because we're assuming all paint effects are immutable, but SkShaders are still mutable.

To do after this CL:
  - measure playback speed
  - catch up feature-wise to SkPicture
  - match today's playback speed

BUG=skia:
R=robertphillips@google.com, bsalomon@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoFold SkTSetBit into SkOTSet*Bit.
commit-bot@chromium.org [Tue, 1 Apr 2014 16:11:53 +0000 (16:11 +0000)]
Fold SkTSetBit into SkOTSet*Bit.

BUG=b/13729420
R=bungeman@google.com, mtklein@google.com, bsalomon@google.com, reed@google.com

Author: mtklein@chromium.org

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

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

10 years agoSkPerlinNoiseShader::CreateTubulenceNoise() is misspelled
commit-bot@chromium.org [Tue, 1 Apr 2014 16:09:37 +0000 (16:09 +0000)]
SkPerlinNoiseShader::CreateTubulenceNoise() is misspelled

Add missing 'r'.

BUG=skia:2329
R=bsalomon@google.com, hcm@google.com, sugoi@chromium.org

Author: siglesias@igalia.com

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

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

10 years agoRevert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview...
commit-bot@chromium.org [Tue, 1 Apr 2014 14:17:44 +0000 (14:17 +0000)]
Revert of Xfermode: SSE2 implementation of multiply_modeproc (https://codereview.chromium.org/202903004/)

Reason for revert:
Breaking builds

Original issue's description:
> Xfermode: SSE2 implementation of multiply_modeproc
>
> This patch implements basics for Xfermode SSE optimization. Based on
> these basics, SSE2 implementation of multiply_modeproc is provided. SSE2
> implementation for other modes will come in future. With this patch
> performance of Xfermode_Multiply will improve about 45%. Here are the
> data on desktop i7-3770.
> before:
> Xfermode_Multiply   8888:  cmsecs =     33.30   565:  cmsecs =     45.65
> after:
> Xfermode_Multiply   8888:  cmsecs =     17.18   565:  cmsecs =     24.87
>
> BUG=
>
> Committed: http://code.google.com/p/skia/source/detail?r=14006

R=mtklein@google.com, qiankun.miao@intel.com
TBR=mtklein@google.com, qiankun.miao@intel.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: robertphillips@google.com

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

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

10 years agoXfermode: SSE2 implementation of multiply_modeproc
commit-bot@chromium.org [Tue, 1 Apr 2014 14:01:32 +0000 (14:01 +0000)]
Xfermode: SSE2 implementation of multiply_modeproc

This patch implements basics for Xfermode SSE optimization. Based on
these basics, SSE2 implementation of multiply_modeproc is provided. SSE2
implementation for other modes will come in future. With this patch
performance of Xfermode_Multiply will improve about 45%. Here are the
data on desktop i7-3770.
before:
Xfermode_Multiply   8888:  cmsecs =     33.30   565:  cmsecs =     45.65
after:
Xfermode_Multiply   8888:  cmsecs =     17.18   565:  cmsecs =     24.87

BUG=
R=mtklein@google.com

Author: qiankun.miao@intel.com

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

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

10 years agoRebaseline two tests after r13940.
fmalita@google.com [Tue, 1 Apr 2014 13:28:19 +0000 (13:28 +0000)]
Rebaseline two tests after r13940.

TBR=robertphillips@google.com

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

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

10 years agoAdd GL_ARB_invalidate_subdata functions to GrGLInterface.
bsalomon@google.com [Tue, 1 Apr 2014 13:07:29 +0000 (13:07 +0000)]
Add GL_ARB_invalidate_subdata functions to GrGLInterface.

BUG=skia:1541
R=egdaniel@google.com

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

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

10 years agochange default build (in "make" wrapper) to ninja on all platforms
epoger@google.com [Tue, 1 Apr 2014 07:02:41 +0000 (07:02 +0000)]
change default build (in "make" wrapper) to ninja on all platforms

force-landed from https://codereview.chromium.org/206463007/ ;
the CommitQueue couldn't handle the diff properly for some reason

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Tue, 1 Apr 2014 03:07:47 +0000 (03:07 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoMake DM play nice with the plan to split CPU and GPU work.
commit-bot@chromium.org [Mon, 31 Mar 2014 19:59:44 +0000 (19:59 +0000)]
Make DM play nice with the plan to split CPU and GPU work.

--nocpu skips all CPU-bound work.
--nogpu skips all GPU-bound work.

/m/s/skia (dm) $ r dm --nogpu
ninja: Entering directory `out/Release'
[17/17] LINK dm
(294 GMs, 620 benches) x 4 configs, 245 tests
0 tasks left
71.46user 12.40system 0:04.52elapsed 1854%CPU (0avgtext+0avgdata 16828656maxresident)k
0inputs+0outputs (0major+3252811minor)pagefaults 0swaps

/m/s/skia (dm) $ r dm --nocpu
ninja: Entering directory `out/Release'
ninja: no work to do.
(294 GMs, 620 benches) x 4 configs, 245 tests
926 tasks leftUnsupported vertex-color/texture xfer mode.
Unsupported vertex-color/texture xfer mode.
0 tasks left
11.10user 2.38system 0:17.15elapsed 78%CPU (0avgtext+0avgdata 1310896maxresident)k
16inputs+4664outputs (0major+161322minor)pagefaults 0swaps

BUG=skia:2074
R=halcanary@google.com, borenet@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoPass the IDWriteFactory instead of relying on a global creator.
bungeman@google.com [Mon, 31 Mar 2014 19:18:07 +0000 (19:18 +0000)]
Pass the IDWriteFactory instead of relying on a global creator.

There are different variations or implementations of IDWriteFactory
with different behaviors. Allow the user to specify the factory to use.

R=scottmg@chromium.org

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

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

10 years agoRemove scaleToFit from DashPathEffect
commit-bot@chromium.org [Mon, 31 Mar 2014 18:52:51 +0000 (18:52 +0000)]
Remove scaleToFit from DashPathEffect

BUG=skia:
R=reed@google.com, bsalomon@google.com, scroggo@google.com

Author: egdaniel@google.com

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

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

10 years agoAdd global fontconfig lock.
commit-bot@chromium.org [Mon, 31 Mar 2014 18:41:30 +0000 (18:41 +0000)]
Add global fontconfig lock.

BUG=skia:2255, skia:1497
NOTRY=true
R=bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

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

10 years agoAdd eg...@google.com to CQ_COMMITTERS
bsalomon@google.com [Mon, 31 Mar 2014 18:38:11 +0000 (18:38 +0000)]
Add eg...@google.com to CQ_COMMITTERS

R=rmistry@google.com

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

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