Extract most of the mutable state of SkShader into a separate Context object.

SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.

Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.

TEST=out/Debug/dm
BUG=skia:1976
R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14216 2bbb7eff-a529-9590-31e7-b0007b416f81
remove legacy filter-flags, and store FilterLevel directly

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14217 2bbb7eff-a529-9590-31e7-b0007b416f81
fix #if SK_DEBUG -- should be #ifdef SK_DEBUG

git-svn-id: http://skia.googlecode.com/svn/trunk@14218 2bbb7eff-a529-9590-31e7-b0007b416f81
Update baselines for bug 2404.

BUG=skia:2404

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14219 2bbb7eff-a529-9590-31e7-b0007b416f81
glDiscardFramebuffer() in GrGpuGL::discard uses invalid GLenum

According to the spec:

  "If a framebuffer object is bound to <target>, then <attachments> may
  contain COLOR_ATTACHMENT0, DEPTH_ATTACHMENT, and/or
  STENCIL_ATTACHMENT.  If the framebuffer object is not complete,
  DiscardFramebufferEXT may be ignored.

  If the default framebuffer is bound to <target>,
  then <attachment> may contain COLOR, identifying the color buffer;
  DEPTH, identifying the depth buffer; or STENCIL, identifying the
  stencil buffer."

Do the same as in glInvalidateFramebuffer() case.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>

R=bsalomon@google.com
BUG=skia:2411

Author: siglesias@igalia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14220 2bbb7eff-a529-9590-31e7-b0007b416f81
Retract SkPicture::kOptimizeForClippedPlayback_RecordingFlag from public API


This CL sets the stage for retracting the SkPicture::kOptimizeForClippedPlayback_RecordingFlag flag
from the public API (more work needs to be done in Blink & Chrome). In the new world the only way
to set this flag (and thus instantiate an SkPicture-derived
class) is by passing a factory to the SkPictureRecorder class. This is to get all clients always using
factories so that we can then change the factory call used (i.e., so the factory just creates a BBH) and
do away with the SkPicture-derived classes.

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

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14221 2bbb7eff-a529-9590-31e7-b0007b416f81
Double assignment in GrGpuGL::configToGLFormats()

Remove the first one.

R=hcm@google.com, bsalomon@google.com
BUG=skia:2427

Author: siglesias@igalia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14222 2bbb7eff-a529-9590-31e7-b0007b416f81
Fix memory leak in SkGradientShader.

Make sure pointer to gradient shader cache is unreffed in SkGradientShaderBase::getGradientTableBitmap.
Rename methods returning a "pre-reffed" object to indicate obligations.

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

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14223 2bbb7eff-a529-9590-31e7-b0007b416f81
read/write function_ptrs as just void*, and not as 'array of bytes'

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

Author: reed@google.com

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

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

https://codereview.chromium.org/237673017/



git-svn-id: http://skia.googlecode.com/svn/trunk@14225 2bbb7eff-a529-9590-31e7-b0007b416f81
Reverting r14225 (Fix SK_SUPPORT_DEPRECATED_RECORD_FLAGS handling - https://codereview.chromium.org/237673017/) due to compiler complaints



git-svn-id: http://skia.googlecode.com/svn/trunk@14226 2bbb7eff-a529-9590-31e7-b0007b416f81
This is an short replacement for gclient.

Makes use of our current DEPS file to allow for a smooth transition.

BUG=skia:291
NOTRY=true
R=borenet@google.com, tfarina@chromium.org, epoger@google.com, mtklein@google.com

Author: halcanary@google.com

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

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

Contains small changes to ANGLE to pass skia tests.

BUG=skia:2272
R=bsalomon@google.com

Author: geofflang@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14228 2bbb7eff-a529-9590-31e7-b0007b416f81
always store bitfields along with dirty in FlatteningTraits

This allows us to simplify lots of setters in SkPaint, which in the non-android case, could now be just assignments (and therefore inlineable).

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14229 2bbb7eff-a529-9590-31e7-b0007b416f81
Support picture recording in Android framework.

Fixes master-skia build.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14230 2bbb7eff-a529-9590-31e7-b0007b416f81
install_dependencides tool for posix-type systems

R=mtklein@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14231 2bbb7eff-a529-9590-31e7-b0007b416f81
Don't unset gFCSafeToUse when it's still safe to use.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14232 2bbb7eff-a529-9590-31e7-b0007b416f81
More flags needed to build Android framework.

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

Author: scroggo@google.com

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

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