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

10 years agoRevert of Distance field fixes for Android (https://codereview.chromium.org/205343008/)
commit-bot@chromium.org [Wed, 26 Mar 2014 18:21:55 +0000 (18:21 +0000)]
Revert of Distance field fixes for Android (https://codereview.chromium.org/205343008/)

Reason for revert:
compile error at line 110 in GrDistanceFieldTextureEffect.cpp

Original issue's description:
> 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
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2173

Author: jvanverth@google.com

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

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

10 years agoDistance field fixes for Android
commit-bot@chromium.org [Wed, 26 Mar 2014 18:03:05 +0000 (18:03 +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
R=bsalomon@google.com

Author: jvanverth@google.com

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

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

10 years agoremove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG
commit-bot@chromium.org [Wed, 26 Mar 2014 15:55:50 +0000 (15:55 +0000)]
remove SK_SUPPORT_LEGACY_COMPATIBLEDEVICE_CONFIG

NOTRY=True
TBR=bsalomon

Author: reed@google.com

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

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

10 years agoUpdated baselines for Ubuntu12-GTX660
commit-bot@chromium.org [Wed, 26 Mar 2014 15:32:23 +0000 (15:32 +0000)]
Updated baselines for Ubuntu12-GTX660

I think I may have committed incorrect baselines (left over from ATI5770) in
https://codereview.chromium.org/204983016/ due to https://code.google.com/p/skia/issues/detail?id=2247

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

Author: borenet@google.com

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

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

10 years agoremove all references to legacy Config8888
reed@google.com [Wed, 26 Mar 2014 13:44:58 +0000 (13:44 +0000)]
remove all references to legacy Config8888

BUG=skia:
R=bsalomon@google.com

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

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

10 years agorebaseline_server: delete invalid image files from local disk cache
commit-bot@chromium.org [Wed, 26 Mar 2014 13:38:29 +0000 (13:38 +0000)]
rebaseline_server: delete invalid image files from local disk cache

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

Author: epoger@google.com

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

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

10 years agoDebugger improvements
commit-bot@chromium.org [Tue, 25 Mar 2014 23:31:33 +0000 (23:31 +0000)]
Debugger improvements

This CL:
  improves the 'SaveAs' functionality
  allows switching between # and offset indexing in the command list
  minor nit cleanup

R=bsalomon@google.com

Author: robertphillips@google.com

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

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

10 years agoMinor cleanup (moved out of main CL)
commit-bot@chromium.org [Tue, 25 Mar 2014 23:29:53 +0000 (23:29 +0000)]
Minor cleanup (moved out of main CL)

R=bsalomon@google.com

Author: robertphillips@google.com

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

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

10 years agoRemove forceRenderTargetFlush (unused)
commit-bot@chromium.org [Tue, 25 Mar 2014 22:07:24 +0000 (22:07 +0000)]
Remove forceRenderTargetFlush (unused)

R=robertphillips@google.com

Author: bsalomon@google.com

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

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

10 years agoSpeculative Mac 10.6 fix: disable medium & high filter quality tests.
senorblanco@chromium.org [Tue, 25 Mar 2014 21:12:18 +0000 (21:12 +0000)]
Speculative Mac 10.6 fix: disable medium & high filter quality tests.

BUG=skia:
TBR=mtklein@google.com

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

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

10 years agoFix bug on android with GL_EXT_debug_marker
commit-bot@chromium.org [Tue, 25 Mar 2014 21:01:13 +0000 (21:01 +0000)]
Fix bug on android with GL_EXT_debug_marker

A device was finding the extension string, but was returning NULL
when getting the proc addresses

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

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

10 years agoAdd a minimal --undefok to SkCommandLineFlags.
commit-bot@chromium.org [Tue, 25 Mar 2014 21:00:02 +0000 (21:00 +0000)]
Add a minimal --undefok to SkCommandLineFlags.

Similar in spirit to gflags' undefok, I'd like to be able to ignore
specific unknown flags.  This lets me run the same command line on, say,
a branch that's got a new flag and on a clean branch tracking
origin/master.  This is handy for performance comparison, etc.

It's not essential, and if you hate this I can find another way.

As an example, I want to compare the runtime of SKP recording with my new code.  I've added a flag --skr to bench_record to help this.  So I want to compare

origin/master: out/Release/bench_record
my patch:      out/Release/bench_record --skr

This lets me run both as out/Release/bench_record --undefok skr --skr, which is handy for scripts and things.

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

Author: mtklein@chromium.org

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

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

10 years agoSpeculative Mac 10.6 fix: remove useless code from matriximagefilter GM.
senorblanco@chromium.org [Tue, 25 Mar 2014 20:47:29 +0000 (20:47 +0000)]
Speculative Mac 10.6 fix: remove useless code from matriximagefilter GM.

TBR=mtklein@google.com
BUG=skia:

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

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

10 years agoSuppress failing GMs for rebaseline.
fmalita@google.com [Tue, 25 Mar 2014 19:36:20 +0000 (19:36 +0000)]
Suppress failing GMs for rebaseline.

https://codereview.chromium.org/203203004 caused a couple of minor GM
diffs:

fontscaler
bleed

TBR=mtklein@google.com

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

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

10 years agoFurther tweak compare_codereview.py.
commit-bot@chromium.org [Tue, 25 Mar 2014 18:02:17 +0000 (18:02 +0000)]
Further tweak compare_codereview.py.

- only show details for bots where at least one side failed
- dedup identical failures

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

Author: mtklein@chromium.org

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

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

10 years agoImplement a generic matrix transform image filter.
senorblanco@chromium.org [Tue, 25 Mar 2014 17:35:10 +0000 (17:35 +0000)]
Implement a generic matrix transform image filter.

This will be used in Blink to accommodate matrices that contain
rotation or shearing. This is a generalization of SkResizeImageFilter,
so I've replaced all uses of SkResizeImageFilter in Skia. (It might be
easier to review by diffing it with SkResizeImageFilter, too.)

R=reed@google.com

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

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

10 years agoConsolidate SkCanvas matrix virtuals.
commit-bot@chromium.org [Tue, 25 Mar 2014 17:32:26 +0000 (17:32 +0000)]
Consolidate SkCanvas matrix virtuals.

Remove didTranslate, didScale, didRotate & didSkew, and rely on
didConcat instead. Subclasses can sniff the matrix type if they want to
differentiate.

(work in progress)

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

Author: fmalita@chromium.org

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

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

10 years agoRevert "Revert of implement readPixels and writePixels natively, w/o using the (depre...
reed@google.com [Tue, 25 Mar 2014 16:20:24 +0000 (16:20 +0000)]
Revert "Revert of implement readPixels and writePixels natively, w/o using the (deprecated) (https://codereview.chromium.org/199733016/)"

This reverts commit 9a90bd16dc6756395c422adf0f24560d033ed9ea.

BUG=skia:
R=bsalomon@google.com

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

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

10 years agoFix for int to bool in GrInOrderDrawBuffer
commit-bot@chromium.org [Tue, 25 Mar 2014 15:49:59 +0000 (15:49 +0000)]
Fix for int to bool in GrInOrderDrawBuffer
NOTREECHECK=True
NOTRY=True
R=bsalomon@google.com
TBR=bsalomon@google.com
BUG=skia:

Author: egdaniel@google.com

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

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