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

10 years agoChange if/else to if in two GrGLInterface factories.
commit-bot@chromium.org [Mon, 31 Mar 2014 18:34:16 +0000 (18:34 +0000)]
Change if/else to if in two GrGLInterface factories.

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

Author: bsalomon@google.com

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

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

10 years agoRevert "disable passing discards through GrIODB."
bsalomon@google.com [Mon, 31 Mar 2014 18:03:06 +0000 (18:03 +0000)]
Revert "disable passing discards through GrIODB."

This reverts commit 3cdd1460991b723521be8b7c26e808e640402b7e.

The original CL was landed only to do an experimental DEPS roll to Chromium.

BUG=skia:

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

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

10 years agodisable passing discards through GrIODB.
bsalomon@google.com [Mon, 31 Mar 2014 18:01:21 +0000 (18:01 +0000)]
disable passing discards through GrIODB.

R=robertphillips@google.com

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

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

10 years agoActually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPicture
commit-bot@chromium.org [Mon, 31 Mar 2014 17:55:12 +0000 (17:55 +0000)]
Actually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPicture

NOTRY=true
R=bsalomon@google.com, rmistry@google.com

Author: robertphillips@google.com

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

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

10 years agoIgnore failure on more GTX660 GMs
commit-bot@chromium.org [Mon, 31 Mar 2014 16:22:26 +0000 (16:22 +0000)]
Ignore failure on more GTX660 GMs

verttext_msaa16
megalooper_0x0_nvprmsaa4
megalooper_1x4_nvprmsaa4

BUG=skia:2354
NOTRY=true
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

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

10 years agorebaseline_server: add --compare-configs option
commit-bot@chromium.org [Mon, 31 Mar 2014 15:17:52 +0000 (15:17 +0000)]
rebaseline_server: add --compare-configs option

This allows us to compare GMs between configs across all builders, so we can see the largest deviations between raster and GPU renderings.

BUG=skia:1919
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

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

10 years agoWhitespace change to trigger rebuilds after master migration
commit-bot@chromium.org [Mon, 31 Mar 2014 13:42:10 +0000 (13:42 +0000)]
Whitespace change to trigger rebuilds after master migration

BUG=skia:2323
NOTREECHECKS=true
NOTRY=true
TBR=

Author: rmistry@google.com

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

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Sat, 29 Mar 2014 03:02:36 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoUse int rather than size_t for pathCount in GrDrawTarget::drawPaths
commit-bot@chromium.org [Fri, 28 Mar 2014 21:31:34 +0000 (21:31 +0000)]
Use int rather than size_t for pathCount in GrDrawTarget::drawPaths

R=reed@google.com
TBR=reed@google.com

Author: bsalomon@google.com

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

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

10 years agoRebaseline expectations for desk_facebook.skp on gpu runs with scale=1.1
bsalomon@google.com [Fri, 28 Mar 2014 21:02:43 +0000 (21:02 +0000)]
Rebaseline expectations for desk_facebook.skp on gpu runs with scale=1.1

R=mtklein@google.com

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

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

10 years agoSkOnce for SkXfermode::Create(Mode)
commit-bot@chromium.org [Fri, 28 Mar 2014 20:04:11 +0000 (20:04 +0000)]
SkOnce for SkXfermode::Create(Mode)

This removes the mutex from the fast path when we've already cached it.

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

Author: mtklein@chromium.org

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

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

10 years agoFix the ninja build on mac to use nm/readelf from the Android toolchain instead of...
commit-bot@chromium.org [Fri, 28 Mar 2014 18:08:59 +0000 (18:08 +0000)]
Fix the ninja build on mac to use nm/readelf from the Android toolchain instead of the host system.

BUG=skia:2338
R=mtklein@google.com

Author: djsollen@google.com

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

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

10 years agoThread picture version through to SkReadBuffer.
commit-bot@chromium.org [Fri, 28 Mar 2014 18:05:47 +0000 (18:05 +0000)]
Thread picture version through to SkReadBuffer.

This will let code outside SkPicture* fork its read code based on the picture version.

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

Author: mtklein@chromium.org

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

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

10 years agoRevert of ARM Skia NEON patches - 35 - First AArch64 support (https://codereview...
commit-bot@chromium.org [Fri, 28 Mar 2014 18:05:29 +0000 (18:05 +0000)]
Revert of ARM Skia NEON patches - 35 - First AArch64 support (https://codereview.chromium.org/143423004/)

Reason for revert:
GYP's failing on most (all?) bots.

Original issue's description:
> 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, halcanary@google.com, kevin.petit@arm.com
TBR=djsollen@google.com, halcanary@google.com, kevin.petit@arm.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

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

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

10 years agoSK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.h
commit-bot@chromium.org [Fri, 28 Mar 2014 17:58:28 +0000 (17:58 +0000)]
SK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.h

BUG=skia:
R=bsalomon@google.com

Author: reed@google.com

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

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

10 years agoRoll back tests/TileGridTest.cpp back to where ASAN was happy.
commit-bot@chromium.org [Fri, 28 Mar 2014 17:57:14 +0000 (17:57 +0000)]
Roll back tests/TileGridTest.cpp back to where ASAN was happy.

Revert "Change tilegrid test to test it directly, rather than through SkPicture"
This reverts commit 7ae3bc7ffb3068b0585ad313d5c43ff1aab99737.

Revert "Fix result order reliance"
This reverts commit be4825c873856d8a6a91ea19cf1499da4b0a1fc1.

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

Author: mtklein@chromium.org

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

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

10 years agoARM Skia NEON patches - 35 - First AArch64 support
commit-bot@chromium.org [Fri, 28 Mar 2014 17:56:14 +0000 (17:56 +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:
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@13980 2bbb7eff-a529-9590-31e7-b0007b416f81

10 years agoAdds bench expectations to expectations/bench; fixes bench alert test's dependency...
commit-bot@chromium.org [Fri, 28 Mar 2014 17:55:51 +0000 (17:55 +0000)]
Adds bench expectations to expectations/bench; fixes bench alert test's dependency on script line number.

BUG=skia:2307
NOTRY=true
R=borenet@google.com

Author: bensong@google.com

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

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

10 years agoNew Win7 baselines for resize image filters.
senorblanco@chromium.org [Fri, 28 Mar 2014 17:11:13 +0000 (17:11 +0000)]
New Win7 baselines for resize image filters.

New Win7 baselines for imageresizetiled, imagefiltersclipped,
imagefiltersscaled GM. Likely affected by
https://code.google.com/p/skia/source/detail?r=13941.

TBR=borenet@google.com
BUG=skia:

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

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

10 years agoLazy image decoding to reduce bench_record overhead.
commit-bot@chromium.org [Fri, 28 Mar 2014 16:08:18 +0000 (16:08 +0000)]
Lazy image decoding to reduce bench_record overhead.

We want bench_record to time recording only, and are willing to accept
some time spent playing back the source pictures only out of necessity.

This lets us skip the JPEG and PNG decoding, which are a pretty fair
chunk of time.  Should mean better record numbers at the same --loops.

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

Author: mtklein@chromium.org

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

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

10 years agoAdd discard API to SkCanvas, plumb it to glDiscardFramebuffer()
commit-bot@chromium.org [Fri, 28 Mar 2014 16:08:05 +0000 (16:08 +0000)]
Add discard API to SkCanvas, plumb it to glDiscardFramebuffer()

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

Author: bsalomon@google.com

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

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

10 years agoUpdates to Android.mk generation.
commit-bot@chromium.org [Fri, 28 Mar 2014 15:59:04 +0000 (15:59 +0000)]
Updates to Android.mk generation.

Generate SkUserConfig.
Include arm64 as another build flavor.
Add tests.

gyp/common_conditions.gypi:
Add conditions for Android framework. These will get written into the generated SkUserConfig.

include/core/SkUserConfig.h:
Generated version that will ultimately be checked into Android (but not here).

platform_tools/android/bin/gyp_to_android.py:
Generate SkUserConfig.
Add arm64 (note that arm64 is not currently respected by our gyp files, so it results in use _none.cpp for the various opts).
Reset the common defines, which are now passed to the generated SkUserConfig.

platform_tools/android/gyp_gen/generate_user_config.py:
New script to generate SkUserConfig.h.

platform_tools/android/gyp_gen/gypd_parser.py:
Fix a lint error (unused import).

platform_tools/android/gyp_gen/makefile_writer.py:
Append any remaining DEFINES to LOCAL_CFLAGS (previously this was done during parsing).
Add a warning for arm64 (corresponds to downstream Android.mk).

platform_tools/android/gyp_gen/vars_dict_lib.py:
Add OrderedSet.reset().
Add DEFINES to VarsDict.

platform_tools/android/tests/expectations/:
Add and update expectations files.

platform_tools/android/tests/generate_user_config_tests.py:
New test for generate_user_config.py

platform_tools/android/tests/inputs/SkUserConfig.h:
Input to the new test, so we don't have to update the expectations each time the real SkUserConfig.h changes.

platform_tools/android/tests/makefile_writer_tests.py:
Add a way to rebaseline test_write_local_vars, which has changed.
Refactor EXPECTATIONS_DIR and compare_files into a separate file for sharing with generate_user_config_tests.py.

platform_tools/android/tests/utils.py:
Common code for tests.

platform_tools/android/tests/var_dict_tests.py:
Use a for loop to test the new key (DEFINES) and future proof this test to test any new keys in the future.

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

Author: scroggo@google.com

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

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

10 years agoAdd clip effect for circles
commit-bot@chromium.org [Fri, 28 Mar 2014 15:58:31 +0000 (15:58 +0000)]
Add clip effect for circles

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

Author: bsalomon@google.com

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

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

10 years agoIncrease GrGpuGL's program cache size
commit-bot@chromium.org [Fri, 28 Mar 2014 15:52:18 +0000 (15:52 +0000)]
Increase GrGpuGL's program cache size

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

Author: bsalomon@google.com

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

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

10 years agoPlease Valgrind by calling preConcat.
commit-bot@chromium.org [Fri, 28 Mar 2014 14:29:23 +0000 (14:29 +0000)]
Please Valgrind by calling preConcat.

Valgrind's whining about m.setConcat(m, I).  That special cases into m =
m, which compiles into memcpy(&m, &m, sizeof(m)), and then Valgrind
decides that's not kosher because &m and &m overlap.  (memmove would
have been fine, but this is compiler generated code; not much we can do.)

preConcat gets us the same thing with an early can-we-noop check for I,
sidestepping the whole problem.

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

Author: mtklein@chromium.org

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

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

10 years agorebaseline_server: add option to read actuals from local disk
commit-bot@chromium.org [Fri, 28 Mar 2014 14:28:04 +0000 (14:28 +0000)]
rebaseline_server: add option to read actuals from local disk

(SkipBuildbotRuns)
BUG=skia:1908
NOTREECHECKS=True
NOTRY=True
R=halcanary@google.com

Author: epoger@google.com

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

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

10 years agoMark megalooper_0x0_gpu and complexclip2_rrect_aa_gpu flaky on Win7 perspective
commit-bot@chromium.org [Fri, 28 Mar 2014 14:22:16 +0000 (14:22 +0000)]
Mark megalooper_0x0_gpu and complexclip2_rrect_aa_gpu flaky on Win7 perspective

NOTRY=true
BUG=skia:2359,skia:2332
R=epoger@google.com, bsalomon@google.com

Author: borenet@google.com

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

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

10 years agoAdd GM expectations for Test-Linux-Bare-NoGPU-Arm8_64-Debug
commit-bot@chromium.org [Fri, 28 Mar 2014 14:20:35 +0000 (14:20 +0000)]
Add GM expectations for Test-Linux-Bare-NoGPU-Arm8_64-Debug
NOTRY=true
R=djsollen@google.com, borenet@google.com, epoger@google.com

Author: halcanary@google.com

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

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

10 years agoWhitespace change to trigger builds after master crash
commit-bot@chromium.org [Thu, 27 Mar 2014 20:24:18 +0000 (20:24 +0000)]
Whitespace change to trigger builds after master crash

NOTRY=true
NOTREECHECKS=true
BUG=skia:2356
R=rmistry@google.com

Author: borenet@google.com

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

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

10 years agoMark some msaa GMs flaky on Ubuntu12-GTX660
commit-bot@chromium.org [Thu, 27 Mar 2014 17:51:11 +0000 (17:51 +0000)]
Mark some msaa GMs flaky on Ubuntu12-GTX660

NOTREECHECKS=true
NOTRY=true
BUG=skia:2354
R=bsalomon@google.com, epoger@google.com

Author: borenet@google.com

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

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

10 years agoAdd a default-default font for DirectWrite.
bungeman@google.com [Thu, 27 Mar 2014 16:21:31 +0000 (16:21 +0000)]
Add a default-default font for DirectWrite.

BUG=357067
R=reed@google.com

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

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

10 years agoMaking SkDeferredCanvas::silentFlush trigger a skippedPendingDrawCommands callback
commit-bot@chromium.org [Thu, 27 Mar 2014 15:48:52 +0000 (15:48 +0000)]
Making SkDeferredCanvas::silentFlush trigger a skippedPendingDrawCommands callback

The bug was preventing Canvas2DLayerBridge from properly tracking changes
in memory consumption that were triggered by calls to silentFlush.

BUG=344666
TEST=DeferredCanvas unit test
R=senorblanco@google.com, senorblanco@chromium.org

Author: junov@chromium.org

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

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

10 years agofix SkBitmap::erase to handle RGBA and BGRA
commit-bot@chromium.org [Thu, 27 Mar 2014 15:30:35 +0000 (15:30 +0000)]
fix SkBitmap::erase to handle RGBA and BGRA

BUG=skia:2352
R=mtklein@google.com

Author: reed@google.com

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

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

10 years agoRevert of Implement text rendering with NVPR (https://codereview.chromium.org/196133014/)
commit-bot@chromium.org [Thu, 27 Mar 2014 14:19:17 +0000 (14:19 +0000)]
Revert of Implement text rendering with NVPR (https://codereview.chromium.org/196133014/)

Reason for revert:
This probably caused Win8 test bot fail during gm run:

http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/574

I can not identify any errors from the logs, so maybe it hung or something?

Original issue's description:
> Implement text rendering with NVPR
>
> Use path rendering to render the text from outlines if supported by the
> GPU. Implement this in GrStencilAndCoverTextContext by copying large
> chunks of code from GrBitmapTextContext (drawText) and
> GrDistanceFieldTextContext (drawPosText).
>
> The drawing is implemented with "instanced" path drawing
> functions.
>
> Moves the creation of the "main" text context from SkGpuDevice to the
> GrContext::createTextContext. This is done because the decision of which
> text renderer is optimal can be made only with the internal
> implementation-specific information of the context.
>
> Committed: http://code.google.com/p/skia/source/detail?r=13962

R=jvanverth@google.com, bsalomon@google.com, mtklein@google.com
TBR=bsalomon@google.com, jvanverth@google.com, mtklein@google.com
NOTREECHECKS=true
NOTRY=true

Author: kkinnunen@nvidia.com

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

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

10 years agoImplement text rendering with NVPR
commit-bot@chromium.org [Thu, 27 Mar 2014 11:26:10 +0000 (11:26 +0000)]
Implement text rendering with NVPR

Use path rendering to render the text from outlines if supported by the
GPU. Implement this in GrStencilAndCoverTextContext by copying large
chunks of code from GrBitmapTextContext (drawText) and
GrDistanceFieldTextContext (drawPosText).

The drawing is implemented with "instanced" path drawing
functions.

Moves the creation of the "main" text context from SkGpuDevice to the
GrContext::createTextContext. This is done because the decision of which
text renderer is optimal can be made only with the internal
implementation-specific information of the context.

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

Author: kkinnunen@nvidia.com

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

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

10 years agoSanitizing source files in Housekeeper-Nightly
skia.committer@gmail.com [Thu, 27 Mar 2014 03:02:48 +0000 (03:02 +0000)]
Sanitizing source files in Housekeeper-Nightly

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

10 years agoLet DM work without a GPU.
commit-bot@chromium.org [Wed, 26 Mar 2014 21:26:15 +0000 (21:26 +0000)]
Let DM work without a GPU.

Testing:

/m/s/skia (dm) $ d dm; and env GYP_DEFINES=skia_gpu=0 d dm
ninja: Entering directory `out/Debug'
ninja: no work to do.
(294 GMs, 620 benches) x 4 configs, 245 tests
4507 tasks leftUnsupported vertex-color/texture xfer mode.
Unsupported vertex-color/texture xfer mode.
0 tasks left
416.53user 9.86system 0:47.43elapsed 898%CPU (0avgtext+0avgdata
13353376maxresident)k
0inputs+0outputs (0major+3579906minor)pagefaults 0swaps
ninja: Entering directory `out/Debug'
[909/909] LINK dm
(287 GMs, 612 benches) x 4 configs, 227 tests
0 tasks left
365.24user 7.71system 0:14.55elapsed 2562%CPU (0avgtext+0avgdata
14718912maxresident)k
0inputs+0outputs (0major+3328269minor)pagefaults 0swaps

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

Author: mtklein@chromium.org

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

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

10 years agoRemove static bmp from shadertext3
commit-bot@chromium.org [Wed, 26 Mar 2014 21:21:40 +0000 (21:21 +0000)]
Remove static bmp from shadertext3

R=mtklein@google.com

Author: bsalomon@google.com

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

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

10 years agoDistance field fixes for Android
commit-bot@chromium.org [Wed, 26 Mar 2014 19:49:03 +0000 (19:49 +0000)]
Distance field fixes for Android
- Expand glyph size by 2 on each side to compensate for bilerp lookup
- Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0
- Fix blurriness on Adreno by using uv coords to compute gradient instead
  of st coords
- Add faster version for uniform scale

BUG=skia:2173

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

R=bsalomon@google.com

Author: jvanverth@google.com

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

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

10 years agoAdd tests for makefile_writer.py.
commit-bot@chromium.org [Wed, 26 Mar 2014 19:46:51 +0000 (19:46 +0000)]
Add tests for makefile_writer.py.

Many of the tests performed are comparison tests, where we call the
functions using dummy values and then compare to expectations (also
newly added).

Add a way to rebaseline the test for write_android_mk, which is likely
to change in the future.

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

Author: scroggo@google.com

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

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