Greenify bench bot Perf-Android-Nexus7-Tegra3-Arm7-Release at build 2774
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14563 2bbb7eff-a529-9590-31e7-b0007b416f81
Add support for glMapBufferRange. Use glMapBufferRange and glMapBufferSubData.

BUG=skia:2402

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

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14564 2bbb7eff-a529-9590-31e7-b0007b416f81
Spelling fix, comments explaining script.

R=mtklein@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14565 2bbb7eff-a529-9590-31e7-b0007b416f81
add rounding-using-doubles methods on SkScalar and SkRect

Inspired by the excellent repro case for https://crbug.com/364224

patch from issue 265933010

BUG=skia:
R=bungeman@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14566 2bbb7eff-a529-9590-31e7-b0007b416f81
new gm for composeshader, exercising alpha

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14567 2bbb7eff-a529-9590-31e7-b0007b416f81
fix double->float warning

git-svn-id: http://skia.googlecode.com/svn/trunk@14568 2bbb7eff-a529-9590-31e7-b0007b416f81
fix composeshader to respect the paint's alpha

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14569 2bbb7eff-a529-9590-31e7-b0007b416f81
Update tests/RecordOptsTest.cpp
  - use REPORTER_ASSERT;
  - assert the type first, then the pointer != NULL.  This helps explain why ptr == NULL;
  - add a simpler NoopSaveRestore test case, which can help debugging failures of the larger test case.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14570 2bbb7eff-a529-9590-31e7-b0007b416f81
Infrastructure changes to support pull-saveLayers-forward task

This is split out of (First pass at pre-rendering saveLayers for GPU - https://codereview.chromium.org/261663003/).

It mainly:

	Moves NeedsDeepCopy to somewhere more accessible (so GrPictureUtils.cpp can use it)
	Moves ComputeAccelDataKey somewhere more accessible (so GPUPicture test can use it)
	Adds unit test for picture saveLayer analysis (done in EXPERIMENTAL_optimize)
        Adds new fields to SaveLayerInfo that are needed to pull forward layers

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14571 2bbb7eff-a529-9590-31e7-b0007b416f81
change composeshader_alpha to exercise srcover as well

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14572 2bbb7eff-a529-9590-31e7-b0007b416f81
Remove SkShader virtual method validContext

patch from issue 267923005

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14573 2bbb7eff-a529-9590-31e7-b0007b416f81
Fix android_perf script to work with changes from a137675
(http://crrev.com/223613004).  See http://crrev.com/256413006
for a similar change.

R=mtklein@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14574 2bbb7eff-a529-9590-31e7-b0007b416f81
Fix an issue with FireFox where it blurs when copying from a smaller to a
larger canvas. Work around that by drawing a rect for each pixel.

Also, add a drop shadow to the hex display so you can see it on a dark background color.

BUG=skia:
R=mtklein@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14575 2bbb7eff-a529-9590-31e7-b0007b416f81
Adds a mechanism for GrCacheable objects to notify the resource cache
when their size has changed. GrResourceCacheEntry now holds a
reference to the cache, and a cached value of the resource's most
recent size.

Also utilizes this new functionality for mipmaps, and adds a test for
changing resource sizes.

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

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
Allow custom resources in the GrContext's cache

Adds methods to GrContext for client code to store custom resources in
the cache.

BUG=skia:
R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14577 2bbb7eff-a529-9590-31e7-b0007b416f81
Revert r14571 (Infrastructure changes to support pull saveLayers forward task - https://codereview.chromium.org/266203003) due to breaking Android unit tests



git-svn-id: http://skia.googlecode.com/svn/trunk@14578 2bbb7eff-a529-9590-31e7-b0007b416f81
suppress new composeshader gm for quilt testing

git-svn-id: http://skia.googlecode.com/svn/trunk@14579 2bbb7eff-a529-9590-31e7-b0007b416f81
new vertices gm to test alpha

git-svn-id: http://skia.googlecode.com/svn/trunk@14580 2bbb7eff-a529-9590-31e7-b0007b416f81
fix TriColorShader to respect the paint's alpha

results can be seen in new gm: vertices_80

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14581 2bbb7eff-a529-9590-31e7-b0007b416f81
Add pattern matchers for SkRecord

This is a mid-level library for finding patterns of commands in an SkRecord.  At the API level, it's a bit regex inspired.  Some examples:
 - Pattern1<Is<DrawRect>> matches a single DrawRect

 - Pattern1<Star<Is<DrawRect>>> matches 0 or more DrawRects

 - Pattern2<Is<ClipRect>, Is<DrawRect>> matches a single clip rect followed by a single draw rect

  - Pattern3<Is<Save>, Star<IsDraw>, Is<Restore>> matches a single Save, followed by any number of Draws, followed by Restore

 - Pattern1<Or<Is<DrawRect>, Is<ClipRect>>> matches a DrawRect or a ClipRect

 - Pattern1<Not<Is<ClipRect>>> matches a command that's notClipRect.

Once you have a pattern, you can call .search() on it to step through ranges of matching commands.  This means patterns can replace most of the custom iteration logic for optimization passes: the generic pattern searching steps through all the optimization candidates, which optimization-specific code further inspects and mutates.

SkRecordTraits is now unused.  Bye bye!

Generated code and performance of SkRecordOpts is very similar to what it was before.  (I had to use SK_ALWAYS_INLINE in a few places to make this so.)

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

Author: mtklein@chromium.org

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

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