History log of /external/skia/src/core/SkDraw.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d3b65972aad96453ff4510caa3e25a2b847c6d1e 22-Mar-2017 Brian Salomon <bsalomon@google.com> Mark overridden destructors with 'override' and remove 'virtual'

This silences a new warning in clang 5.0

Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8
Reviewed-on: https://skia-review.googlesource.com/10006
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkDraw.cpp
a1361364e64138adda3dc5f71d50d7503838bb6d 07-Mar-2017 Mike Reed <reed@google.com> Revert[6] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""""""

Previous failure was failure to detect that the clip wasn't wide-open when
optimizing for retain-vs-discard in copy-on-write. gm:copy_on_write_retain
detected this. Now fixed by adding new method to SkBaseDevice.h

This reverts commit 27d07f0acb85eea4062075dfbe9148ce12d92c66.

BUG=skia:6214

Change-Id: I532d16ec075a4525c2a550b1157bcec695dd8efd
Reviewed-on: https://skia-review.googlesource.com/9341
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
27d07f0acb85eea4062075dfbe9148ce12d92c66 04-Mar-2017 Mike Reed <reed@google.com> Revert "Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""""

This reverts commit 025e2444c1f5a0c3cdc0bf60d1fa59941a0b5db4.

Reason for revert: layouttest failures -- need to rebase these (tiny diffs in gradients)

https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/6018/layout-test-results/results.html

Original change's description:
> Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""""
>
> This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79.
>
> Reason for revert: reland to diagnose possible g3 failure
>
> Original change's description:
> > Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""
> >
> > This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.
> >
> > Reason for revert: speculative revert to fix Google3
> >
> > Original change's description:
> > > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
> > >
> > > passes new (augmented) CanvasClipType unittest
> > > fixed rasterclipstack::setnewsize
> > >
> > > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
> > >
> > > BUG=skia:
> > >
> > > Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> > > Reviewed-on: https://skia-review.googlesource.com/9185
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Mike Reed <reed@google.com>
> > >
> >
> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:
> >
> > Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
> > Reviewed-on: https://skia-review.googlesource.com/9230
> > Reviewed-by: Cary Clark <caryclark@google.com>
> > Commit-Queue: Cary Clark <caryclark@google.com>
> >
>
> TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954
> Reviewed-on: https://skia-review.googlesource.com/9244
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=mtklein@chromium.org,bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I58f810a8ff241dbaf3133e2fe844548fcd0fa67a
Reviewed-on: https://skia-review.googlesource.com/9245
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
025e2444c1f5a0c3cdc0bf60d1fa59941a0b5db4 04-Mar-2017 Mike Reed <reed@google.com> Revert "Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""""

This reverts commit baf06bc89a0ee2ac4033281e7310f6c727faab79.

Reason for revert: reland to diagnose possible g3 failure

Original change's description:
> Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""
>
> This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.
>
> Reason for revert: speculative revert to fix Google3
>
> Original change's description:
> > Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
> >
> > passes new (augmented) CanvasClipType unittest
> > fixed rasterclipstack::setnewsize
> >
> > This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
> >
> > BUG=skia:
> >
> > Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> > Reviewed-on: https://skia-review.googlesource.com/9185
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> >
>
> TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
> Reviewed-on: https://skia-review.googlesource.com/9230
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Cary Clark <caryclark@google.com>
>

TBR=bsalomon@google.com,reviews@skia.org,caryclark@google.com,reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I093fa8788056be39af01191bbf3a9e5de9f73954
Reviewed-on: https://skia-review.googlesource.com/9244
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
baf06bc89a0ee2ac4033281e7310f6c727faab79 03-Mar-2017 Cary Clark <caryclark@google.com> Revert "Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping."""

This reverts commit cfaa63237b152ae216f1351207bce3ea9808814c.

Reason for revert: speculative revert to fix Google3

Original change's description:
> Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""
>
> passes new (augmented) CanvasClipType unittest
> fixed rasterclipstack::setnewsize
>
> This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.
>
> BUG=skia:
>
> Change-Id: I004653e0f4d01454662f8516fccab0046486f273
> Reviewed-on: https://skia-review.googlesource.com/9185
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: Ibd7ee6383999f008eb6ee59c1c3f1c06a86044ea
Reviewed-on: https://skia-review.googlesource.com/9230
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
/external/skia/src/core/SkDraw.cpp
cfaa63237b152ae216f1351207bce3ea9808814c 03-Mar-2017 Mike Reed <reed@google.com> Revert[2] "Remove SkDraw from device-draw methods, and enable device-centric clipping.""

passes new (augmented) CanvasClipType unittest
fixed rasterclipstack::setnewsize

This reverts commit ea5e676a7b75600edcde3912886486004ccd7626.

BUG=skia:

Change-Id: I004653e0f4d01454662f8516fccab0046486f273
Reviewed-on: https://skia-review.googlesource.com/9185
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
ea5e676a7b75600edcde3912886486004ccd7626 02-Mar-2017 Mike Reed <reed@google.com> Revert "Remove SkDraw from device-draw methods, and enable device-centric clipping."

This reverts commit c77e33f73d3e86cfabf925d6f2e1166f81022575.

Reason for revert: breaks isClipRect
- this CL inspected the conservative clip for this, which is (by definition) a rect
- probably need to query the device for this info

Original change's description:
> Remove SkDraw from device-draw methods, and enable device-centric clipping.
>
> BUG=skia:6214
>
> Change-Id: I593900724310d09133ae4791ef68d38c43762fc2
> Reviewed-on: https://skia-review.googlesource.com/8806
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,halcanary@google.com,msarett@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6214

Change-Id: I9090cbbb9f45b2dd204d9fdc187de2ff714b93f6
Reviewed-on: https://skia-review.googlesource.com/9172
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
c464035f81caa06dab12a2761d24cfc8d9e598db 02-Mar-2017 Mike Reed <reed@google.com> pass storage directly to allocator for blitters

BUG=skia:

Change-Id: If93df0437b2aba813042241f00eb0c6fba2a3c6f
Reviewed-on: https://skia-review.googlesource.com/9161
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
c77e33f73d3e86cfabf925d6f2e1166f81022575 02-Mar-2017 Mike Reed <reed@google.com> Remove SkDraw from device-draw methods, and enable device-centric clipping.

BUG=skia:6214

Change-Id: I593900724310d09133ae4791ef68d38c43762fc2
Reviewed-on: https://skia-review.googlesource.com/8806
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
99330ba6227137866a0dbd63478d36f335203ebd 22-Feb-2017 Mike Reed <reed@google.com> remove device field from SkDraw

BUG=skia:6214

Change-Id: I5d57feb3e92f2c1691231c982e74020560febeca
Reviewed-on: https://skia-review.googlesource.com/8837
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
f614ba2ddc7e0805616bd40e104021695ff7d767 17-Feb-2017 Florin Malita <fmalita@chromium.org> Fix drawVertices() texture mapping in the presence of a local matrix

Change-Id: I6379f2e7c030d7d1e0fcb2bd6ecc7d81c8a4eec5
Reviewed-on: https://skia-review.googlesource.com/8502
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/core/SkDraw.cpp
4b66512a6384d32c1a89396bd4a229c03cce67a0 14-Feb-2017 Florin Malita <fmalita@chromium.org> Handle collapsed drawVertices() texture coords gracefully

Detect collapsed coords and implement using a solid color shader.

Replace SkTLazy objects with a stack-based SkArenaAllocator.

Change-Id: I5d867648d551ea30558fd8ae0c99b9292bc92961
Reviewed-on: https://skia-review.googlesource.com/8451
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/core/SkDraw.cpp
4bf560a056d7ba5b3051ebc87e687d4997928ff6 14-Feb-2017 Herb Derby <herb@google.com> Simplify code for making paints with shaders.

Since SkAutoBitmapShaderInstall was simplified to create shaders on the
heap, it is no longer needed. Simplify to a single routine.

TBR=mtklein@google.com

Change-Id: Ib18be559b03e234a05105d0892c1457cafce28b7
Reviewed-on: https://skia-review.googlesource.com/8391
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
bfdc87a62193aae20fac0bce37bed7b656f299bb 14-Feb-2017 Herb Derby <herb@google.com> Revert "Revert "Always make SkImageShaders in heap.""

This reverts commit 07f665efb918f68e406b76a78d0b76d5c714f16c.

Reason for revert: Android code moved from priv api to real api

Original change's description:
> Revert "Always make SkImageShaders in heap."
>
> This reverts commit ff590a12441002d281254ec6a86070ac0a19263f.
>
> Reason for revert: This breaks the android roll because they are using
> a private call. Updating android tests to use new api.
>
> Original change's description:
> > Always make SkImageShaders in heap.
> >
> > I made a couple of measurments, and it looks like any differences is
> > well below the noise threshold.
> >
> > Just for the record run1: .9991 of baseline and run2 .9988 of baseline.
> > I was using top25 .skps as workload.
> >
> > TBR=mtklein@google.com
> >
> > Change-Id: If4fa06e5d5df72fb67dbb4bbb99c926f05765897
> > Reviewed-on: https://skia-review.googlesource.com/8341
> > Reviewed-by: Herb Derby <herb@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
> >
>
> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: Ibdaafc796702e250933b62e5f4abb5e2ce8d40c0
> Reviewed-on: https://skia-review.googlesource.com/8393
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Herb Derby <herb@google.com>
>

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I320b5ebf707d74ffafd8b70d69646b74a30f0ae8
Reviewed-on: https://skia-review.googlesource.com/8407
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
07f665efb918f68e406b76a78d0b76d5c714f16c 13-Feb-2017 Herb Derby <herb@google.com> Revert "Always make SkImageShaders in heap."

This reverts commit ff590a12441002d281254ec6a86070ac0a19263f.

Reason for revert: This breaks the android roll because they are using
a private call. Updating android tests to use new api.

Original change's description:
> Always make SkImageShaders in heap.
>
> I made a couple of measurments, and it looks like any differences is
> well below the noise threshold.
>
> Just for the record run1: .9991 of baseline and run2 .9988 of baseline.
> I was using top25 .skps as workload.
>
> TBR=mtklein@google.com
>
> Change-Id: If4fa06e5d5df72fb67dbb4bbb99c926f05765897
> Reviewed-on: https://skia-review.googlesource.com/8341
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
>

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ibdaafc796702e250933b62e5f4abb5e2ce8d40c0
Reviewed-on: https://skia-review.googlesource.com/8393
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
ff590a12441002d281254ec6a86070ac0a19263f 13-Feb-2017 Herb Derby <herb@google.com> Always make SkImageShaders in heap.

I made a couple of measurments, and it looks like any differences is
well below the noise threshold.

Just for the record run1: .9991 of baseline and run2 .9988 of baseline.
I was using top25 .skps as workload.

TBR=mtklein@google.com

Change-Id: If4fa06e5d5df72fb67dbb4bbb99c926f05765897
Reviewed-on: https://skia-review.googlesource.com/8341
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
34e91ca5ccd9aa1d13838631212e26ef5fadf71a 10-Feb-2017 Herb Derby <herb@google.com> Remove unused field, and use official size.

TBR=reed@google.com

Change-Id: I15fd225651142eefb0eb94a4f1dde55b13abe0aa
Reviewed-on: https://skia-review.googlesource.com/8343
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
57bfa0209e3379385b7ef6217cafb22ca83836c8 09-Feb-2017 Herb Derby <herb@google.com> Change the Sprite portion of SkBlitter use SkArenaAlloc.

The semantics of createT and make are the same with respect to
dtors, so it just a simple replacement of calls.

TBR=reed@google.com

Change-Id: Ib7d071d214edb44ea5c5466ce81252e9374b6eb7
Reviewed-on: https://skia-review.googlesource.com/8301
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
83e939bcb79790f5ae3b28c398fbcf034675a6e5 07-Feb-2017 Herb Derby <herb@google.com> Use SkArenaAlloc in the SkAutoBlitterChoose code.

- Added default implementation of onMakeContext to support use in android.

Searches for uses:
"public SkShader" package:^chromium$ -file:^src/third_party/skia
package:^aosp.* "public SkShader" -file:external/skia -file:.*third_party/skia
package:^android$ "public SkShader" -file:external/skia -file:.*third_party/skia

... shows that no subclass overrides onCreateContext.

TBR=reed@google.com
TBR=mtklein@google.com

Change-Id: I8bd5f57a79534574e344b165d31dccee41c31767
Reviewed-on: https://skia-review.googlesource.com/8140
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
dd8b72ae7319598cfc1024901e860c52f06e6ae1 07-Feb-2017 Robert Phillips <robertphillips@google.com> Revert "Use SkArenaAlloc instead of SkSmallAllocator in the SkAutoBlitterChoose code."

This reverts commit 2b57b7f7a7fc97db57f190b5a8ebcf68e177ee2d.

Reason for revert: Android compile failing

Original change's description:
> Use SkArenaAlloc instead of SkSmallAllocator in the SkAutoBlitterChoose code.
>
>
> TBR=reed@google.com
> Change-Id: Iefb044bf7657fbf982f23aa91a3f4d013ce2c626
> Reviewed-on: https://skia-review.googlesource.com/7786
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Herb Derby <herb@google.com>
>

TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Id09c35377dddae0811d998b7d0c34c422325a5bc
Reviewed-on: https://skia-review.googlesource.com/8129
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkDraw.cpp
2b57b7f7a7fc97db57f190b5a8ebcf68e177ee2d 06-Feb-2017 Herb Derby <herb@google.com> Use SkArenaAlloc instead of SkSmallAllocator in the SkAutoBlitterChoose code.


TBR=reed@google.com
Change-Id: Iefb044bf7657fbf982f23aa91a3f4d013ce2c626
Reviewed-on: https://skia-review.googlesource.com/7786
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
/external/skia/src/core/SkDraw.cpp
a99b6ceff92183b424634f2e7276b9ea1d59e69d 04-Feb-2017 Mike Reed <reed@google.com> start removing uses of SkScalarMul

BUG=skia:6197

Change-Id: Ic444c7ee4ca547f483dc8232dcacd6d4ba87d913
Reviewed-on: https://skia-review.googlesource.com/8041
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
00dca8cb09aaeca067cac022e97c4af31e656b37 27-Jan-2017 Florin Malita <fmalita@chromium.org> Remove SkBlitter:resetShaderContext()

Refactor SkDraw::drawVertices() to reset the whole blitter instead.

No noticeable bench diff.

out/Release/nanobench --config 8888 -m patch_grid_colors_tex

Before:

9/9 MB 1 9.24ms 11.4ms 11.5ms 15ms 16% █▆▅▄▄▃▂▂▁▁ 8888 patch_grid_colors_texs_big
9/9 MB 1 5.2ms 5.2ms 5.2ms 5.21ms 0% █▃▂▁▂▂▃▂▂▁ 8888 patch_grid_colors_texs_medium
9/9 MB 2 378µs 380µs 380µs 382µs 0% █▆▅▄▄▁▄▄▆▄ 8888 patch_grid_colors_texs_small

After:
9/9 MB 1 9.29ms 11.5ms 11.6ms 15.3ms 17% █▇▅▄▄▃▂▂▁▁ 8888 patch_grid_colors_texs_big
9/9 MB 1 5.15ms 5.16ms 5.16ms 5.18ms 0% █▄▁▁▄▂▁▂▃▂ 8888 patch_grid_colors_texs_medium
9/9 MB 2 378µs 380µs 380µs 382µs 0% █▅▄▃▁▄▄▄▃▄ 8888 patch_grid_colors_texs_small

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

Change-Id: I0b6b7d1297323681d8d2838040450c4e1afabc17
Reviewed-on: https://skia-review.googlesource.com/7626
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/core/SkDraw.cpp
986480a71f4e860663ced7ad90a1fe346a164afb 13-Jan-2017 Mike Reed <reed@google.com> Revert "move SkDevice.h and SkBitmapDevice.h contents in to src headers"

This reverts commit 2f719a6b9214997e4cc24646d4b280038962b836.

Reason for revert: <INSERT REASONING HERE>

swf/transform/jsrunner/swiffy_canvas.h

caller included SkDevice.h, but really wanted SkBitmap and SkColor

Original change's description:
> move SkDevice.h and SkBitmapDevice.h contents in to src headers
>
> BUG=skia:
>
> Change-Id: I3d8d313f0500c13db21cb973fed4064ec3816912
> Reviewed-on: https://skia-review.googlesource.com/7082
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bungeman@google.com,fmalita@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: I40f7f1e4ad62685facdd39492da7a0b105178221
Reviewed-on: https://skia-review.googlesource.com/7087
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
2f719a6b9214997e4cc24646d4b280038962b836 13-Jan-2017 Mike Reed <reed@google.com> move SkDevice.h and SkBitmapDevice.h contents in to src headers

BUG=skia:

Change-Id: I3d8d313f0500c13db21cb973fed4064ec3816912
Reviewed-on: https://skia-review.googlesource.com/7082
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
693fdbd6b81a860657612e7604430dd55d6e721b 12-Jan-2017 Mike Reed <reed@google.com> refFoo variant for getters that naturally have a sk_sp

BUG=skia:

Change-Id: I13afa1b81e8a72d93e45fb4d37228be196b0f388
Reviewed-on: https://skia-review.googlesource.com/6923
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
11970e56c10b49ad06adbe9e835d32c00a63dd7d 05-Dec-2016 Brian Osman <brianosman@google.com> Add destination color space to shader ContextRec

BUG=skia:

Change-Id: Ib1920fffd5735ad54a5b785bbc2676ea240bdbfa
Reviewed-on: https://skia-review.googlesource.com/5611
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/core/SkDraw.cpp
0e39f97cd7af16e57c7257770af8340750c9b3b0 23-Nov-2016 Mike Reed <reed@google.com> Revert "Revert "make it illegal to include SkXfermode.h""

This reverts commit e9d1b299ccbf8017ba57040986ded638f954684a.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "make it illegal to include SkXfermode.h"
>
> This reverts commit 07764cefbb18041a77897df3453903b0a2016583.
>
> Reason for revert: breaking google3
>
> Original change's description:
> > make it illegal to include SkXfermode.h
> >
> > BUG=skia:
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
> >
> > Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> > Reviewed-on: https://skia-review.googlesource.com/5133
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> >
>
> TBR=reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
> Reviewed-on: https://skia-review.googlesource.com/5196
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>

TBR=egdaniel@google.com,reviews@skia.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0b767ce778a4ade83c2f07d5ece486bb46d7712c
Reviewed-on: https://skia-review.googlesource.com/5223
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
e9d1b299ccbf8017ba57040986ded638f954684a 23-Nov-2016 Greg Daniel <egdaniel@google.com> Revert "make it illegal to include SkXfermode.h"

This reverts commit 07764cefbb18041a77897df3453903b0a2016583.

Reason for revert: breaking google3

Original change's description:
> make it illegal to include SkXfermode.h
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
>
> Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> Reviewed-on: https://skia-review.googlesource.com/5133
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
Reviewed-on: https://skia-review.googlesource.com/5196
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/core/SkDraw.cpp
07764cefbb18041a77897df3453903b0a2016583 23-Nov-2016 Mike Reed <reed@google.com> make it illegal to include SkXfermode.h

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133

Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
Reviewed-on: https://skia-review.googlesource.com/5133
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
70ac8a9d091d385bf5244125159c4d8509a0c470 03-Nov-2016 Matt Sarett <msarett@google.com> Fix bitmap shaders gm

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4373

Change-Id: If3938e529fbf82830048d3c194673603d509bf28
Reviewed-on: https://skia-review.googlesource.com/4373
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkDraw.cpp
7039f74a8b1d39b9c44fd357912ce66e6bc9fd25 01-Nov-2016 Brian Osman <brianosman@google.com> Remove SkImageInfoIsGammaCorrect, etc...

Our internal definition is (and will continue to be) that anything with
a color space is gamma correct. F16 is irrelevant (whether or not we
choose to support untagged F16). This makes these helpers less than
helpful, and lets us remove them from (public) API.

API change is just removal (of unused functions).

TBR=reed@google.com

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4228

Change-Id: Ia84a423548bfee14a3ba4a43d6d5b8c4686fb5ff
Reviewed-on: https://skia-review.googlesource.com/4228
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/core/SkDraw.cpp
a9fd106d0c4dd5449c607add0716db7bbd81bc73 28-Oct-2016 Matt Sarett <msarett@google.com> Draw Alpha8 + color filter correctly in software

This makes the behavior match our gpu backend.

BUG=android:31019366

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3979

Change-Id: I941623d0bdf54f61aafb1383de46bbedceb7578d
Reviewed-on: https://skia-review.googlesource.com/3979
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
/external/skia/src/core/SkDraw.cpp
7d954ad797176afedb9262fdea4507d0fc60eb9d 28-Oct-2016 Mike Reed <reed@google.com> remove xfermode from public api

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4020

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
374772bd61951f01bf84fe17bf53d8867681c9ae 06-Oct-2016 reed <reed@google.com> Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit c245574ba3d0e2ade6c94b2812de3baa383bf4c4.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2396953002

TBR=

Review-Url: https://codereview.chromium.org/2396953002
/external/skia/src/core/SkDraw.cpp
c245574ba3d0e2ade6c94b2812de3baa383bf4c4 05-Oct-2016 Mike Reed <reed@google.com> Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8.

Reason for revert: new assert from 100K bot

Original change's description:
> Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> - perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
> This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992
>
> Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8
> Reviewed-on: https://skia-review.googlesource.com/2992
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I848e5a69c5cd67f2c14889f4f0a346652578c4ff
Reviewed-on: https://skia-review.googlesource.com/3023
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
2b2fc7db4f8a4a4d4a51d7eb4df6aa62e309928d 05-Oct-2016 Mike Reed <reed@google.com> Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"

- perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992

Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8
Reviewed-on: https://skia-review.googlesource.com/2992
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
3ed485f4249e17abb4b11f5018d03175fd1afb44 04-Oct-2016 Mike Reed <reed@google.com> Revert[5] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I0fa5c58af428f3da8565465d1219a34ef8417d9a.

Reason for revert: failing to deserialize some of the 100K

Original change's description:
> Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2924
>
> Change-Id: I0fa5c58af428f3da8565465d1219a34ef8417d9a
> Reviewed-on: https://skia-review.googlesource.com/2924
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1805a57eef5ebcac203da5989c8539345ecf806f
Reviewed-on: https://skia-review.googlesource.com/2962
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
1834242ec6e3cd62669227d394bc79e1cd66dcfb 04-Oct-2016 Mike Reed <reed@google.com> Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2924

Change-Id: I0fa5c58af428f3da8565465d1219a34ef8417d9a
Reviewed-on: https://skia-review.googlesource.com/2924
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
2cbcd12281ee807214df094964c584c78932e10b 03-Oct-2016 Mike Reed <reed@google.com> Revert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""

This reverts commit I86875511a13497112827cbaed1dbd7639e9e3d10.

legacy (100K) skp failure

Original change's description:
> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
>
> This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
>
> Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
> Reviewed-on: https://skia-review.googlesource.com/2878
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=msarett@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ife6f0cf3a22b3e8cf885a188f7f44e1ff62e06a5
Reviewed-on: https://skia-review.googlesource.com/2881
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
f85d2a4fa1b71e6ee28518431e2a34df5683bc81 03-Oct-2016 fmalita <fmalita@chromium.org> Avoid unneeded paint copies in SkDraw::drawBitmap

Use SkTCopyOnFirstWrite to only copy when needed.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2389973003

Review-Url: https://codereview.chromium.org/2389973003
/external/skia/src/core/SkDraw.cpp
70cdb396eb5ffbbed128b902532e9292b5ec0e9d 03-Oct-2016 Mike Reed <reed@google.com> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""

This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878

Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
Reviewed-on: https://skia-review.googlesource.com/2878
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
ce02e7175872abde3721df9e5d3ec0ab8384cd8e 03-Oct-2016 Mike Reed <reed@google.com> Revert "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I4fb489ba6b3f77b458f7e4a99f79c7ad10859135.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> replace SkXfermode obj with SkBlendMode enum in paints
>
> BUG=skia:5814
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714
>
> Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
> Reviewed-on: https://skia-review.googlesource.com/2714
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I3e43f79ef5c1709929663fe63cc1f67cd78270b7
Reviewed-on: https://skia-review.googlesource.com/2871
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
0591897548c8fcb7d53cc94053e01702e58f1ac5 03-Oct-2016 Mike Reed <reed@google.com> replace SkXfermode obj with SkBlendMode enum in paints

BUG=skia:5814

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714

Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
Reviewed-on: https://skia-review.googlesource.com/2714
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkDraw.cpp
d0cd2ecf31bb49988bc8a7ff74ee05161c9538de 01-Sep-2016 sylvestre.ledru <sylvestre.ledru@gmail.com> Remove some useless declarations

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270613003

Review-Url: https://codereview.chromium.org/2270613003
/external/skia/src/core/SkDraw.cpp
1ec04d9553af68b458c8dd6bd18d8c25ebd41d7a 05-Aug-2016 reed <reed@google.com> rename FoceCopyMode to SkCopyPixelMode

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2220603002

Review-Url: https://codereview.chromium.org/2220603002
/external/skia/src/core/SkDraw.cpp
9ac6d8d9f16f8e1e523f677da4de5ebc9a2d8089 26-Jul-2016 brianosman <brianosman@google.com> Fix F16 raster text masks. We don't want fake gamma in that case.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184443002

Review-Url: https://codereview.chromium.org/2184443002
/external/skia/src/core/SkDraw.cpp
e34f17d23699abfc672289f51319b37294b3c257 19-Jul-2016 robertphillips <robertphillips@google.com> Make SkFont a bit more useable

Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002

Review-Url: https://codereview.chromium.org/2163633002
/external/skia/src/core/SkDraw.cpp
01a2ff8a325e17221b139968e337413df0c2e60c 18-Jul-2016 reed <reed@google.com> check for culled-out paths inside SkDraw

BUG=629026
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155213002

Review-Url: https://codereview.chromium.org/2155213002
/external/skia/src/core/SkDraw.cpp
a4b8704e76cb2136a3ff8c1553690f30b96870e0 06-Jul-2016 lsalzman <lsalzman@mozilla.com> check for zero scale in SkDraw::ComputeResScaleForStroking

If the transform used to compute the res scale has both 0 scale and skew,
then it will currently compute a 0 res scale. This causes getFillPath
to trigger an assertion while using SkStroke since that can't handle
a 0 res scale.

Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1284356

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2125933003

Review-Url: https://codereview.chromium.org/2125933003
/external/skia/src/core/SkDraw.cpp
dabe5d3780dee956882c0d65c979ccd09a99ea8f 21-Jun-2016 reed <reed@google.com> update callers to not use SkColorProfileType

Requires https://codereview.chromium.org/2087833002/ to land first.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086583002

Review-Url: https://codereview.chromium.org/2086583002
/external/skia/src/core/SkDraw.cpp
875e13ca0990e32da9db639743a913efe77f7e89 19-Jun-2016 mtklein <mtklein@chromium.org> Simplify mask/clip intersection, making sure to explicitly check for an empty mask.

Previously we were only asserting the mask wasn't empty, which isn't necessarily true when we're given pathological float coordinates like +Inf or NaN.

A local run of nanobench --match text_ was not able to show this is faster or slower.

This patch fixed this first Chrome bug on my desktop, and the second is probably a dupe.
BUG=chromium:619378,chromium:613912

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2073873002

Review-Url: https://codereview.chromium.org/2073873002
/external/skia/src/core/SkDraw.cpp
804b461bc4fe3cfd959fc065c1c0b524ef96e90b 09-Jun-2016 msarett <msarett@google.com> SkPixmap::setColorSpace

Landed for reed@ with bug fix:
Use default copy constructor for SkDraw

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2057563002

patch from issue 2057563002 at patchset 1 (http://crrev.com/2057563002#ps1)

Review-Url: https://codereview.chromium.org/2052943002
/external/skia/src/core/SkDraw.cpp
66a96d07d5583cc018cb70127bd5483799b69d0e 19-May-2016 brianosman <brianosman@google.com> Propagate filter mode when rendering Alpha8 bitmaps

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1988023009

Review-Url: https://codereview.chromium.org/1988023009
/external/skia/src/core/SkDraw.cpp
82595b6fa4733e1525f357bdcac22db058790550 10-May-2016 reed <reed@google.com> refactor drawPath to have drawDevPath
pre-CL for larger change to support read-only paths

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957263003

TBR=

Review-Url: https://codereview.chromium.org/1957263003
/external/skia/src/core/SkDraw.cpp
055e192adc0072ae2548ef5431ceee652945f9c2 06-May-2016 bsalomon <bsalomon@google.com> Take SkStrokeRec::InitStyle rather than SkPaint::Style in mask filter and DrawMask
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955633002

Review-Url: https://codereview.chromium.org/1955633002
/external/skia/src/core/SkDraw.cpp
1e7f5e708e5daeb0c18ae49001c9e3cd5e3b13cb 27-Apr-2016 reed <reed@google.com> remove 'deprecated' region from SkDraw

Most call-sites that used it just took its bounds, so it was trivial to convert them
to get the bounds of the RasterClip. Two clients wanted the actual region:
1. layeriter for android
2. pdf

Android already only has BW clips, so should be safe.
PDF now overrides its clip methods to ensure that all clips are BW.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925693002

Review URL: https://codereview.chromium.org/1925693002
/external/skia/src/core/SkDraw.cpp
a1e8f8d8f1a0b7141136d7d49df1cc2fec0528df 08-Apr-2016 brianosman <brianosman@google.com> Decouple contrast boost from fake gamma.

Replace FakeGamma with FontWeightFlags. Largely mechanical, except for
the changes in ignorePreBlend. With this change, text GMs generally look
the same (or at least more similar) in 8888/srgb/gpu/gpusrgb configs.

No public API changes.
TBR=reed@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1866293003

Review URL: https://codereview.chromium.org/1866293003
/external/skia/src/core/SkDraw.cpp
cfb6bdf767796c950f89985445738d2d8e7f12b0 29-Mar-2016 reed <reed@google.com> switch xfermodes over to sk_sp

waiting on https://codereview.chromium.org/1835163002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1832223002

Review URL: https://codereview.chromium.org/1832223002
/external/skia/src/core/SkDraw.cpp
77a9cc1dead147fc547895d3725d9ee2150cda73 25-Mar-2016 benjaminwagner <benjaminwagner@google.com> Don't convert to Sk48Dot16 in DrawOneGlyph.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1831983002

Review URL: https://codereview.chromium.org/1831983002
/external/skia/src/core/SkDraw.cpp
a439334b6e758d38501e225e2e5d0ab73e2fb6eb 18-Mar-2016 reed <reed@google.com> Reland of "switch patheffects over to sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1813553005/ )"

This reverts commit f28ad894272018fd2855e3f77ea1236ea0cce1c0.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813123003

TBR=

Review URL: https://codereview.chromium.org/1813123003
/external/skia/src/core/SkDraw.cpp
f28ad894272018fd2855e3f77ea1236ea0cce1c0 18-Mar-2016 reed <reed@google.com> Revert of switch patheffects over to sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1813553005/ )

Reason for revert:
some build breaks, possibly related to paint having to know what a patheffect is

Original issue's description:
> switch patheffects over to sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813553005
>
> Committed: https://skia.googlesource.com/skia/+/9fbee18f691a0afed1e38a851048ce06063505ed

TBR=caryclark@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1817543002
/external/skia/src/core/SkDraw.cpp
9fbee18f691a0afed1e38a851048ce06063505ed 18-Mar-2016 reed <reed@google.com> switch patheffects over to sk_sp

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813553005

Review URL: https://codereview.chromium.org/1813553005
/external/skia/src/core/SkDraw.cpp
94ad73ac1648fec5e73e29839d461ecb6366a888 13-Mar-2016 fmalita <fmalita@chromium.org> Avoid unneeded ref churn in SkDraw::drawVertices

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1790303002

Review URL: https://codereview.chromium.org/1790303002
/external/skia/src/core/SkDraw.cpp
d7dc76f7e99309cbd09a5420c22e55b951067deb 10-Mar-2016 bungeman <bungeman@google.com> Remove version checks for _MSC_VER < 1800 (msvs2013).

We already actively do not support older versions of the vc++
compiler and runtime, so don't check for them anymore.

TBR=reed
No API changes.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1777213003

Review URL: https://codereview.chromium.org/1777213003
/external/skia/src/core/SkDraw.cpp
8a21c9fe7f5fef9e87115defef27bd7218419f28 09-Mar-2016 reed <reed@google.com> use Make instead of Create to return a shared shader

Partially updated call sites. Undefine the flag in SkSHader.h to convert the remaining sites.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772463002

Review URL: https://codereview.chromium.org/1772463002
/external/skia/src/core/SkDraw.cpp
88cb82246a5dc141cb9f49a3b9187abb515cd49d 08-Mar-2016 aleksandar.stojiljkovic <aleksandar.stojiljkovic@intel.com> 4377: drawVertices crashes when shader+colorfilter in the paint

Fix memory corruption that is result of static_casting SkFilterShaderContext*
to SkTriColorShaderContext* and then changing it's state using setup()

SkTriColorShader and it's Context could be wrapped by Compose, 3DShader and
SkFilterShader, but the link SkTriColorShaderContext -> SkTriColorShader
(fShader) always remain - so this way, data about triangle is propagated.

BUG=4377

Didn't add new unit test - it would be redundant since the GM vertices update here: https://codereview.chromium.org/1361173003/ is covering the bug. With this patch it passes.

Review URL: https://codereview.chromium.org/1431713003
/external/skia/src/core/SkDraw.cpp
a0cee5f30e9254187a6bb943e6b8a9296214c353 04-Mar-2016 reed <reed@google.com> remove align16 calls in skhader context sizes. will handle this elsewhere as needed

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1768433003

TBR=

basically reverts previous CL, but keeps the create --> onCreate change

Review URL: https://codereview.chromium.org/1768433003
/external/skia/src/core/SkDraw.cpp
773ceda51ca120b686ba2d1aff1b6d5173143be0 04-Mar-2016 reed <reed@google.com> Enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )"

This reverts commit e38bcaf24b00066e167e03a5ac63cf828914d747.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1763973002

TBR=

Review URL: https://codereview.chromium.org/1763973002
/external/skia/src/core/SkDraw.cpp
e38bcaf24b00066e167e03a5ac63cf828914d747 03-Mar-2016 halcanary <halcanary@google.com> Revert of enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )

Reason for revert:

Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86-Debug failed dm:

....
FYI: loaded 23439 distinct uninteresting hashes from 23439 lines
Skipping config gpu: Don't understand 'gpu'.
Skipping config msaa16: Don't understand 'msaa16'.
168400 srcs * 7 sinks + 481 tests == 1179281 tasks
0ns elapsed, 5 active, 1179276 queued, 55MB RAM, 55MB peak
565 gm xfermodes2
565 gm xfermodes
565 gm xfermodeimagefilter
565 gm xfermodes3
565 gm verylarge_picture_image
c:\0\build\slave\workdir\build\skia\src\core\skshader.cpp:108:
fatal error: ""(0 == ((size) & 15))""
step returned non-zero exit code: 3
@@@STEP_FAILURE@@@

Original issue's description:
> enforce 16byte alignment in shader contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1759653004
>
> Committed: https://skia.googlesource.com/skia/+/d812fb458807245daa812adb7af0733cf5b54d96

TBR=mtklein@google.com,fmalita@chromium.org,herb@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1759323002
/external/skia/src/core/SkDraw.cpp
d812fb458807245daa812adb7af0733cf5b54d96 03-Mar-2016 reed <reed@google.com> enforce 16byte alignment in shader contexts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1759653004

Review URL: https://codereview.chromium.org/1759653004
/external/skia/src/core/SkDraw.cpp
43437c2f1928073a30c2bab6d32df854658235ec 24-Feb-2016 benjaminwagner <benjaminwagner@google.com> Round to nearest in ScalarTo256.

This is a followup to https://codereview.chromium.org/1693683002 per discussion on https://codereview.chromium.org/1691403002.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1723483004

Review URL: https://codereview.chromium.org/1723483004
/external/skia/src/core/SkDraw.cpp
d936f63c35fb7dfb2b6c20802206adbfc3cc48d0 23-Feb-2016 benjaminwagner <benjaminwagner@google.com> Simplify and combine SkDrawCacheProc and SkMeasureCacheProc to SkPaint::GlyphCacheProc.

All callers of (the result of) SkPaint::getDrawCacheProc were passing zero as the last two arguments. This is the same as (the result of) SkPaint::getMeasureCacheProc(true).

Per bungeman, make this typedef a member of SkPaint.

Although the typedef is technically public, the only uses are private, so this is not really an API change.

TBR=reed
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718423002

Review URL: https://codereview.chromium.org/1718423002
/external/skia/src/core/SkDraw.cpp
d0c4e092d54d281991ecfdc2e4ddd5217e45b42a 23-Feb-2016 fmalita <fmalita@chromium.org> Add dest type hint to SkShader::ContextRec

Let SkBlitter decide which dst type is optimal (PMColor vs PM4f), and
pass that info to shaders.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1724503002

Review URL: https://codereview.chromium.org/1724503002
/external/skia/src/core/SkDraw.cpp
f6d1e605317917146362706ed460b5ed6624fcc5 22-Feb-2016 bungeman <bungeman@google.com> Only use fake gamma with linear devices.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711223003

Review URL: https://codereview.chromium.org/1711223003
/external/skia/src/core/SkDraw.cpp
8d9f2e474ac9d175c28079357b022d31408e2fe4 22-Feb-2016 fmalita <fmalita@chromium.org> Add ContextRec param to SkShader::contextSize()

To facilitate upcoming context selection changes.

R=reed@google.com,mtklein@google.com,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720933002

Review URL: https://codereview.chromium.org/1720933002
/external/skia/src/core/SkDraw.cpp
e6af96a88901b3c6f0c27575197a93db6cb04042 12-Feb-2016 benjaminwagner <benjaminwagner@google.com> Change ScalarTo256 to more efficient implementation.

The previous implementation was likely more efficient when SkScalar was SkFixed.

BUG=skia:4632
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1693683002

Review URL: https://codereview.chromium.org/1693683002
/external/skia/src/core/SkDraw.cpp
a273c0f6676b261ef82bc43b0dcc53282f2bdf8c 25-Jan-2016 caryclark <caryclark@google.com> remove legacy defines

The defines

SK_SUPPORT_LEGACY_ARCTO
SK_SUPPORT_LEGACY_CONIC_MEASURE
SK_SUPPORT_LEGACY_DASH_MEASURE
SK_SUPPORT_LEGACY_HAIR_IGNORES_CAPS
SK_SUPPORT_LEGACY_PATH_MEASURE_TVALUE

have been removed from Chrome. This removes the obsolete code
from Skia as well.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1627703002

Review URL: https://codereview.chromium.org/1627703002
/external/skia/src/core/SkDraw.cpp
1a7eb266644d2e1b0968dbca606ca0a91903419d 21-Jan-2016 caryclark <caryclark@google.com> resolution dependent path measure

When a dash is drawn through a canvas with a scaled up
matrix, path measure needs the pixel resolution through
the matrix to construct the dash with sufficient
resolution.

Pass the resolution through to path measure.

Replicate chrome bug in skia GM.

R=reed@google.com
BUG=530095
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1608353002

Review URL: https://codereview.chromium.org/1608353002
/external/skia/src/core/SkDraw.cpp
c7e211acd0c9201688de7ff0c9a2271c67440adf 07-Jan-2016 fmalita <fmalita@chromium.org> SkTreatAsSprite should take AA into account

Currently we always call SkTreatAsSprite with 0 subpixel bits, which means
subpixel translations are ignored. This is incorrect for the anti-aliased
case (drawSprite always pixel-snaps, so we lose edge AA).

The CL updates SkTreatAsSprite to take an SkPaint argument and use 8 subpixel
bits when AA is requested.

Also remove unused SkTreatAsSpriteFilter.

BUG=skia:4761
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1566943002

Committed: https://skia.googlesource.com/skia/+/983dc2541a729609037a05eba731b3eb9788c517

Review URL: https://codereview.chromium.org/1566943002
/external/skia/src/core/SkDraw.cpp
5423ee17ed5a1becd0aeaa89d8faaaa5e2696cbb 07-Jan-2016 reed <reed@google.com> Revert of SkTreatAsSprite should take AA into account (patchset #5 id:80001 of https://codereview.chromium.org/1566943002/ )

Reason for revert:
Need to use SkLeftShift since the arg could be negative

Original issue's description:
> SkTreatAsSprite should take AA into account
>
> Currently we always call SkTreatAsSprite with 0 subpixel bits, which means
> subpixel translations are ignored. This is incorrect for the anti-aliased
> case (drawSprite always pixel-snaps, so we lose edge AA).
>
> The CL updates SkTreatAsSprite to take an SkPaint argument and use 8 subpixel
> bits when AA is requested.
>
> Also remove unused SkTreatAsSpriteFilter.
>
> BUG=skia:4761
> R=reed@google.com
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1566943002
>
> Committed: https://skia.googlesource.com/skia/+/983dc2541a729609037a05eba731b3eb9788c517

TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4761

Review URL: https://codereview.chromium.org/1569873003
/external/skia/src/core/SkDraw.cpp
983dc2541a729609037a05eba731b3eb9788c517 07-Jan-2016 fmalita <fmalita@chromium.org> SkTreatAsSprite should take AA into account

Currently we always call SkTreatAsSprite with 0 subpixel bits, which means
subpixel translations are ignored. This is incorrect for the anti-aliased
case (drawSprite always pixel-snaps, so we lose edge AA).

The CL updates SkTreatAsSprite to take an SkPaint argument and use 8 subpixel
bits when AA is requested.

Also remove unused SkTreatAsSpriteFilter.

BUG=skia:4761
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1566943002

Review URL: https://codereview.chromium.org/1566943002
/external/skia/src/core/SkDraw.cpp
221524de3be1fc343ad328c5e99562f32b5cad9c 05-Jan-2016 bungeman <bungeman@google.com> Start using <type_traits> and <utility> (C++11).

SkUtility.h and SkTLogic.h implement a number of type traits now
available through <type_traits> and <utility>. This removes SkUtility.h,
replacing it with <utility>, and moves a number of traits in
SkTLogic.h to use the std:: equivelents. This change only uses C++11
parts of the standard library; SkTLogic.h will continue to provide
C++14 and beyond for now in the skstd namespace.

The changes to SkTLogic.h are being done gradually so that safe changes
may be landed confidently, with more risky changes in the future.

Review URL: https://codereview.chromium.org/1561683002
/external/skia/src/core/SkDraw.cpp
e80eb928ba0248a5a5dea6e1f0005aa08ecf8740 17-Dec-2015 robertphillips <robertphillips@google.com> Add default ctor to SkMask

The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea.

BUG=570232
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002

Review URL: https://codereview.chromium.org/1539553002
/external/skia/src/core/SkDraw.cpp
565901db954c231840750ea955ed31b820b9ade8 10-Dec-2015 scroggo <scroggo@google.com> Switch SkAutoMalloc to SkAutoTMalloc to avoid cast

Make SkAutoTMalloc's interface look more like SkAutoMalloc:
- add free(), which does what you expect
- make reset() return a pointer fPtr

No public API changes (SkAutoTMalloc is in include/private)

BUG=skia:2148

Review URL: https://codereview.chromium.org/1516833003
/external/skia/src/core/SkDraw.cpp
2028d7ff744c36855ed36d602e3e050e9f18ec9f 09-Dec-2015 caryclark <caryclark@google.com> add support for capped hairlines

Extend the ends of hairline and haircurve segments when the paint is set to square or round, and the line or curve is at the start or end of a contour.

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

Review URL: https://codereview.chromium.org/1491843006
/external/skia/src/core/SkDraw.cpp
d4c24f67496ff2e5e83bc7ce7945cbb85484bfa6 07-Dec-2015 herb <herb@google.com> Simplify D1G so that it can inline DrawOneGlyph, and fix a bug in codegen
that only happens on ARM64 using GCC 4.9.

Review URL: https://codereview.chromium.org/1507633004
/external/skia/src/core/SkDraw.cpp
2e8fec79658baef06f4a9fca5e91a4e116b47b3d 01-Dec-2015 herb <herb@google.com> Revert of Simplify draw one glyph (patchset #3 id:40001 of https://codereview.chromium.org/1403573002/ )

Reason for revert:
This seems to break nexus 9 release.

Original issue's description:
> Replace D1G with a simpler implementation.
>
> Committed: https://skia.googlesource.com/skia/+/001e74426672e00f3f2783ccf728031662d4a358

TBR=bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1486723004
/external/skia/src/core/SkDraw.cpp
001e74426672e00f3f2783ccf728031662d4a358 01-Dec-2015 herb <herb@google.com> Replace D1G with a simpler implementation.

Review URL: https://codereview.chromium.org/1403573002
/external/skia/src/core/SkDraw.cpp
11a7f7f5998cb3d5605741e37a7f12f7477d480c 24-Nov-2015 herb <herb@google.com> Remove SkDrawProcs

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1476563002
/external/skia/src/core/SkDraw.cpp
4c11b3f8a2d9919a21110dbdd29e67e5cbaa41fb 20-Nov-2015 herb <herb@google.com> Move glyph choosing to the find and place glyph code.

This duplicates the functionality of the (private)
SkPaint::getDrawCacheProc method into
SkFindAndPlaceGlyph::LookupGlyph. Eventually LookupGlyph
should replace getDrawCacheProc, at which point it should be
removed. The remaining users are gpu and pdf.

Review URL: https://codereview.chromium.org/1458193003
/external/skia/src/core/SkDraw.cpp
e59124ed1a62f1fec79679c38cabed622a756f75 18-Nov-2015 herb <herb@google.com> Convert drawText to using the find and place code.
BUG=skia:

Review URL: https://codereview.chromium.org/1448453002
/external/skia/src/core/SkDraw.cpp
9be5ff6f9871ef22740094e7c25dd67329a73d20 11-Nov-2015 herb <herb@google.com> Replace glyph find and position with common code for the gpu bitmap case.

BUG=skia:

Review URL: https://codereview.chromium.org/1424173005
/external/skia/src/core/SkDraw.cpp
e5911c9c5b859d60208f4b9ac4bf2a638f4bc35f 09-Nov-2015 herb <herb@google.com> Extract glyph find and position code in preparation to use it in XPS and GPU code.

BUG=skia:

Review URL: https://codereview.chromium.org/1409123010
/external/skia/src/core/SkDraw.cpp
a267904213ee6220982918b4c4358988e3230dc5 09-Nov-2015 herb <herb@google.com> Fix compile error mac 10.8.

The mac 10.8 compiler seems to get the constructor wrong. Remove the SkNoCopy.

BUG=skia:4037

Review URL: https://codereview.chromium.org/1421863004
/external/skia/src/core/SkDraw.cpp
f553e4e09cd2baf15fc041daab8a08bd46e352f0 09-Nov-2015 herb <herb@google.com> Extract the glyph picking and placing code.

There is a common piece of code which finds and positions glyphs and is used in four places. Some places copied the code, some places added callbacks. Here is a list of code:

SkDraw::drawPosText
GrAtlasTextContext::internalDrawBMPPosText
GrAtlasTextContext::internalDrawDFPosText
SkXPSDevice::drawPosText

This only extracts the code from SkDraw::drawPosText. I would like to use it in the other three places. I think this code is performance neutral.

BUG=skia:

Review URL: https://codereview.chromium.org/1420973005
/external/skia/src/core/SkDraw.cpp
cd7f03597475ea423aa819bdae03996b26874dd5 16-Sep-2015 herb <herb@google.com> Revert of Parallel cache - preliminary (patchset #24 id:460001 of https://codereview.chromium.org/1264103003/ )

Reason for revert:
Breaks DrMemory in the chrome roll.

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330,528560
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec
>
> Committed: https://skia.googlesource.com/skia/+/014ffdb01ea5317614a1569efc30c50f06434222

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:1330,528560

Review URL: https://codereview.chromium.org/1345903002
/external/skia/src/core/SkDraw.cpp
435657fd62960ceffb1c3c63f63e836373560bc5 15-Sep-2015 halcanary <halcanary@google.com> Forward declare SkStrokeRec in SkPathEffect

Review URL: https://codereview.chromium.org/1312163008
/external/skia/src/core/SkDraw.cpp
014ffdb01ea5317614a1569efc30c50f06434222 15-Sep-2015 herb <herb@google.com> Parallel cache.

TBR=reed@google.com

BUG=skia:1330,528560

Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f

Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec

Review URL: https://codereview.chromium.org/1264103003
/external/skia/src/core/SkDraw.cpp
951d8543271ff541a45576bea207b33748802d2e 11-Sep-2015 jyasskin <jyasskin@chromium.org> Revert of Parallel cache - preliminary (patchset #23 id:440001 of https://codereview.chromium.org/1264103003/ )
Also reverts https://codereview.chromium.org/1333003002/ which was layered on top.

Reason for revert:
Appears to leak GDI handles: http://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%282%29/builds/8247

~~Dr.M~~ Error #1: HANDLE LEAK: GDI handle 0x03050a84 and 3 similar handle(s) were opened but not closed:
~~Dr.M~~ # 0 system call NtGdiCreateDIBSection
~~Dr.M~~ # 1 GDI32.dll!CreateDIBSection +0xdc (0x768ead23 <GDI32.dll+0x1ad23>)
~~Dr.M~~ # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:499]
~~Dr.M~~ # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107]
~~Dr.M~~ #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66]
~~Dr.M~~ #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>)
~~Dr.M~~ Note: @0:15:51.087 in thread 196
~~Dr.M~~ Note: handles created with the same callstack are closed here:
~~Dr.M~~ Note: # 0 system call NtGdiDeleteObjectApp
~~Dr.M~~ Note: # 1 GDI32.dll!DeleteObject +0x149 (0x768e57d3 <GDI32.dll+0x157d3>)
~~Dr.M~~ Note: # 2 skia.dll!HDCOffscreen::draw [third_party\skia\src\ports\skfonthost_win.cpp:471]
~~Dr.M~~ Note: # 3 skia.dll!SkScalerContext_GDI::generateImage [third_party\skia\src\ports\skfonthost_win.cpp:1233]
~~Dr.M~~ Note: # 4 skia.dll!SkScalerContext::getImage [third_party\skia\src\core\skscalercontext.cpp:530]
~~Dr.M~~ Note: # 5 skia.dll!SkGlyphCache::OnceFillInImage [third_party\skia\src\core\skglyphcache.cpp:252]
~~Dr.M~~ Note: # 6 skia.dll!sk_once_slow<> [third_party\skia\include\core\skonce.h:76]
~~Dr.M~~ Note: # 7 skia.dll!SkGlyphCache::findImage [third_party\skia\src\core\skglyphcache.cpp:260]
~~Dr.M~~ Note: # 8 skia.dll!D1G_RectClip [third_party\skia\src\core\skdraw.cpp:1479]
~~Dr.M~~ Note: # 9 skia.dll!SkDraw::drawPosText [third_party\skia\src\core\skdraw.cpp:1838]
~~Dr.M~~ Note: #10 skia.dll!SkBitmapDevice::drawPosText [third_party\skia\src\core\skbitmapdevice.cpp:348]
~~Dr.M~~ Note: #11 skia.dll!SkCanvas::onDrawPosText [third_party\skia\src\core\skcanvas.cpp:2433]
~~Dr.M~~ Note: #12 skia.dll!SkCanvas::drawPosText [third_party\skia\src\core\skcanvas.cpp:2507]
~~Dr.M~~ Note: #13 skia.dll!SkRecords::Draw::draw<> [third_party\skia\src\core\skrecorddraw.cpp:109]
~~Dr.M~~ Note: #14 skia.dll!SkRecord::Record::visit<> [third_party\skia\src\core\skrecord.h:170]
~~Dr.M~~ Note: #15 skia.dll!SkRecordDraw [third_party\skia\src\core\skrecorddraw.cpp:55]
~~Dr.M~~ Note: #16 skia.dll!SkBigPicture::playback [third_party\skia\src\core\skbigpicture.cpp:43]
~~Dr.M~~ Note: #17 skia.dll!SkCanvas::onDrawPicture [third_party\skia\src\core\skcanvas.cpp:2800]
~~Dr.M~~ Note: #18 skia.dll!SkCanvas::drawPicture [third_party\skia\src\core\skcanvas.cpp:2770]
~~Dr.M~~ Note: #19 cc.dll!cc::DrawingDisplayItem::Raster [cc\playback\drawing_display_item.cc:51]
~~Dr.M~~ Note: #20 cc.dll!cc::DisplayItemList::Raster [cc\playback\display_item_list.cc:107]
~~Dr.M~~ Note: #21 cc.dll!cc::DisplayListRasterSource::RasterCommon [cc\playback\display_list_raster_source.cc:122]
~~Dr.M~~ Note: #22 cc.dll!cc::DisplayListRasterSource::PlaybackToCanvas [cc\playback\display_list_raster_source.cc:100]
~~Dr.M~~ Note: #23 cc.dll!cc::TileTaskWorkerPool::PlaybackToMemory [cc\raster\tile_task_worker_pool.cc:208]
~~Dr.M~~ Note: #24 cc.dll!cc::OneCopyTileTaskWorkerPool::PlaybackAndCopyOnWorkerThread [cc\raster\one_copy_tile_task_worker_pool.cc:413]
~~Dr.M~~ Note: #25 cc.dll!cc::`anonymous namespace'::RasterBufferImpl::Playback [cc\raster\one_copy_tile_task_worker_pool.cc:53]
~~Dr.M~~ Note: #26 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::Raster [cc\tiles\tile_manager.cc:131]
~~Dr.M~~ Note: #27 cc.dll!cc::`anonymous namespace'::RasterTaskImpl::RunOnWorkerThread [cc\tiles\tile_manager.cc:90]
~~Dr.M~~ Note: #28 cc.dll!cc::TaskGraphRunner::RunTaskWithLockAcquired [cc\raster\task_graph_runner.cc:418]
~~Dr.M~~ Note: #29 cc.dll!cc::TaskGraphRunner::Run [cc\raster\task_graph_runner.cc:361]
~~Dr.M~~ Note: #30 base.dll!base::SimpleThread::ThreadMain [base\threading\simple_thread.cc:66]
~~Dr.M~~ Note: #31 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:82]
~~Dr.M~~ Note: #32 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x7570337a <KERNEL32.dll+0x1337a>)

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f
>
> Committed: https://skia.googlesource.com/skia/+/bf2988833e5a36c6b430da6fdd2cfebd0015adec

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org,herb@google.com
BUG=skia:1330

[mtklein mucking around]
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1339493002
/external/skia/src/core/SkDraw.cpp
8e74046b355853a56101f3abadc2a11c4530aeae 09-Sep-2015 herb <herb@google.com> Remove race.

BUG=skia:

Review URL: https://codereview.chromium.org/1327193003
/external/skia/src/core/SkDraw.cpp
bf2988833e5a36c6b430da6fdd2cfebd0015adec 09-Sep-2015 herb <herb@google.com> Parallel cache.

TBR=reed@google.com

BUG=skia:1330

Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f

Review URL: https://codereview.chromium.org/1264103003
/external/skia/src/core/SkDraw.cpp
ef2df09997f5afa836bbffdab1ff732d0c766a93 04-Sep-2015 herb <herb@google.com> Revert of Parallel cache - preliminary (patchset #22 id:420001 of https://codereview.chromium.org/1264103003/ )

Reason for revert:
Seems to freeze android devices.

Original issue's description:
> Parallel cache.
>
> TBR=reed@google.com
>
> BUG=skia:1330
>
> Committed: https://skia.googlesource.com/skia/+/6f2a486040cb25465990196c229feb47e668e87f

TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:1330

Review URL: https://codereview.chromium.org/1327703003
/external/skia/src/core/SkDraw.cpp
6f2a486040cb25465990196c229feb47e668e87f 04-Sep-2015 herb <herb@google.com> Parallel cache.

TBR=reed@google.com

BUG=skia:1330

Review URL: https://codereview.chromium.org/1264103003
/external/skia/src/core/SkDraw.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/core/SkDraw.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/core/SkDraw.cpp
8e0c1500a78f450115ce1a8de438d66e2e892cdc 07-Jul-2015 robertphillips <robertphillips@google.com> Propagate SkSurfaceProps when known

This CL just closes the loop on some low hanging fruit w.r.t. propagating surface properties.

Review URL: https://codereview.chromium.org/1214853025
/external/skia/src/core/SkDraw.cpp
7b05ff11ebc51f3f3abd1c1756337a04f563537e 19-Jun-2015 robertphillips <robertphillips@google.com> Rename all things "leaky" in SkDevice

Review URL: https://codereview.chromium.org/1198603002
/external/skia/src/core/SkDraw.cpp
41e010cb901c0da9066c4df562030808c9ccd7f8 09-Jun-2015 reed <reed@google.com> Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapi

This reverts commit b3f0ec9f9967da2f80f0d842cb7fd53617b48de3.

BUG=skia:

Review URL: https://codereview.chromium.org/1168303006
/external/skia/src/core/SkDraw.cpp
b3f0ec9f9967da2f80f0d842cb7fd53617b48de3 09-Jun-2015 reed <reed@chromium.org> Revert of change SkDraw and all Blitters to use pixmap instead of bitmap (patchset #6 id:100001 of https://codereview.chromium.org/1148793007/)

Reason for revert:
speculative revert to try to unblock DEPS roll

Original issue's description:
> change SkDraw and all Blitters to use pixmap instead of bitmap
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c31af44336f5eb4a50e83e76e51962d46c3ed458

TBR=scroggo@google.com,jvanverth@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1164373003
/external/skia/src/core/SkDraw.cpp
c31af44336f5eb4a50e83e76e51962d46c3ed458 08-Jun-2015 reed <reed@google.com> change SkDraw and all Blitters to use pixmap instead of bitmap

BUG=skia:

Review URL: https://codereview.chromium.org/1148793007
/external/skia/src/core/SkDraw.cpp
56263c78d86cb536d463b8d46f00ac44cad3defb 05-Jun-2015 reed <reed@google.com> delete (unused) TransparentShader

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1153193014
/external/skia/src/core/SkDraw.cpp
cb674144545866ed31a9ab5dd8e7152282017e40 05-Jun-2015 reed <reed@google.com> use pixmaps for dst in sprites -- NO BITMAPS

BUG=skia:
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/1143173011
/external/skia/src/core/SkDraw.cpp
c240e719b2bebd3711ade4e6fe056921aa7b0521 23-May-2015 reed <reed@chromium.org> remove bitmaps entirely from sprite blits (as source)

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1156713004
/external/skia/src/core/SkDraw.cpp
92fc2ae58331662ec411a048686cb4801e0a909a 22-May-2015 reed <reed@google.com> add SkPixmap and external locking to bitmaps

BUG=skia:

Review URL: https://codereview.chromium.org/1074983003
/external/skia/src/core/SkDraw.cpp
3ece53ed30b934894c87c8adb2a77cfdf2ecfcfe 22-May-2015 ochang <ochang@chromium.org> Add mode validation to PtProcRec::init.

BUG=486946

Review URL: https://codereview.chromium.org/1142563003
/external/skia/src/core/SkDraw.cpp
5dc6b7d1a8bc591d62366ff83c434ff74f3e10fc 14-Apr-2015 reed <reed@google.com> change hairline procs to take array of points

BUG=skia:

Review URL: https://codereview.chromium.org/1085883002
/external/skia/src/core/SkDraw.cpp
054eef2b5ca84bf5b03e5ddba0c30055f5e474cc 11-Apr-2015 reed <reed@chromium.org> change hairline procs to take SkPoint by value, more efficient on SSE and NEON

precursor for https://codereview.chromium.org/1074313002/

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084433002
/external/skia/src/core/SkDraw.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/src/core/SkDraw.cpp
903dcb08b146cbaf81420a734a64692038b467ca 16-Mar-2015 bungeman <bungeman@google.com> Add __STDC_LIMIT_MACROS to SkDraw.cpp.
/external/skia/src/core/SkDraw.cpp
d095f2bf06ca810844233bea9fb06de585643b32 16-Mar-2015 bungeman <bungeman@google.com> Test for glyphs which straddle the edge of device space.

If a glyph ends up with a left edge near the extreme right edge of
device space, the right edge may end up at the extreme left. The
current clip tests do not test for this situation and attempt to
draw the glyphs. This results in the blitters never reaching the
right edge of the glyph and so reading from other memory.

BUG=chromium:467011

Review URL: https://codereview.chromium.org/1012763002
/external/skia/src/core/SkDraw.cpp
11fa2247b747eb75e2f158dc7571d458ed6c0115 13-Mar-2015 reed <reed@chromium.org> some utils for rect and matrix

BUG=skia:

Review URL: https://codereview.chromium.org/1003813003
/external/skia/src/core/SkDraw.cpp
79738cc7bf12d212bef4ff80591d1bf6f383663d 11-Mar-2015 bungeman <bungeman@google.com> Glyph positions maintain 32 bit integer part.

A glyph position when mapped from canvas space to device space may land
outside the bounds of the current 16 bit integer part of device space.
Device space is already limited to 32 bits for the integer part,
but for a short space in drawText and drawPosText it is currently
limited to 16 bits (SkFixed). Raise this limit by moving to 48.16.
This matches the current similar fix for measureText.

BUG=chromium:375322

Review URL: https://codereview.chromium.org/977623002
/external/skia/src/core/SkDraw.cpp
b69d0e0ac45e13f667bc11a937dcb547072bc93d 25-Feb-2015 herb <herb@google.com> BUG=skia:

(mtklein from here on)
No public API changes.
TBR=reed@google.com

Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15

Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkDraw.cpp
e59bbf1cd5dcce66181083821c43a157998bc78b 24-Feb-2015 scroggo <scroggo@google.com> Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of https://codereview.chromium.org/939123002/)

Reason for revert:
This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 :

In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0:
external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)':
external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private
uint32_t fID;
^
frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context
newGlyph->mGlyphIndex = skiaGlyph.fID;

We need to update Android in order to hide fID.

Original issue's description:
> BUG=skia:
>
> (mtklein from here on)
> No public API changes.
> TBR=reed@google.com
>
> Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15

TBR=mtklein@google.com,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/951353002
/external/skia/src/core/SkDraw.cpp
f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 24-Feb-2015 herb <herb@google.com> BUG=skia:

(mtklein from here on)
No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/939123002
/external/skia/src/core/SkDraw.cpp
f87fe78bc36c94143625fc38cc848d0da86eb60d 17-Feb-2015 reed <reed@chromium.org> use common impl for drawTextOnPath

BUG=skia:

Review URL: https://codereview.chromium.org/925343003
/external/skia/src/core/SkDraw.cpp
05d9044de4f1c6e791df66a425638752daac4c6b 12-Feb-2015 reed <reed@google.com> optional res-scale parameter to getFillPath

BUG=skia:
NOTREECHECKS=True
TBR=

Review URL: https://codereview.chromium.org/911053005
/external/skia/src/core/SkDraw.cpp
dcfb7cf336cafffd8d149c908b615e1deaa3a49b 22-Jan-2015 egdaniel <egdaniel@google.com> Remove the need for asCoeff in SkXfermode.

BUG=skia:

Review URL: https://codereview.chromium.org/864833002
/external/skia/src/core/SkDraw.cpp
1a178ca6dd2ff7f62c684f7d0ee94e54fc31c91b 15-Jan-2015 fmalita <fmalita@chromium.org> Use device-space stroke width for SkDraw::drawRect() quick-reject

The stroke width needs to be CTM-adjusted when applied to device space
rects.

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

Review URL: https://codereview.chromium.org/801353008
/external/skia/src/core/SkDraw.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
/external/skia/src/core/SkDraw.cpp
7e44bb191633e225fd0455c267dbf67f9ee8633e 07-Jan-2015 mtklein <mtklein@chromium.org> Remove macros that make it look like it's a good idea to not be able to flatten.

There are only a handful of SkFlattenables that are not flattenable. That
there are any seems highly illogical. To make this look less like a normal
thing, this removes both macros that marked SkFlattenables as non-flattenable
(in slightly different ways).

The handful of SkFlattenables in our codebase that can't be flattened now
assert violently that they can't be flattened. They're internal or
part of animator... places where we'll never actually flatten them.

TestLooper and DummyRasterizer were so trivial that I just made them flattenable.

BUG=skia:

Review URL: https://codereview.chromium.org/841753002
/external/skia/src/core/SkDraw.cpp
0393912de72bc3d8b3640c122c53470dd0da1e6d 15-Dec-2014 reed <reed@google.com> pass dst-rect through from drawBitmapRect for better precision

BUG=skia:

Review URL: https://codereview.chromium.org/797963002
/external/skia/src/core/SkDraw.cpp
7ef849d45a4de02697697ea213bfae7c215a0c38 24-Nov-2014 mtklein <mtklein@chromium.org> Add Sk prefix to CreateBitmapShader.

It's neither static nor namespaced, so we should probably prefix it.

BUG=skia:

Review URL: https://codereview.chromium.org/754083002
/external/skia/src/core/SkDraw.cpp
b07a94f1cba3976596ae1a7f23d8c2043ba353f3 19-Nov-2014 reed <reed@chromium.org> add roundOut that returns its result

BUG=skia:

Review URL: https://codereview.chromium.org/742663002
/external/skia/src/core/SkDraw.cpp
bc97c9378bf8b89cc17280a2a04a5c3a9405e6ab 13-Nov-2014 bungeman <bungeman@google.com> Remove SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX.

This define was added with "Always round text position correctly."
9447103029273a9f8dd7f5997e8af7a1e3ee7488 . The affected clients
have been rebaselined and this is no longer defined anywhere.

Review URL: https://codereview.chromium.org/722333002
/external/skia/src/core/SkDraw.cpp
9f2251c73ed6f417dd1057d487bf523e04488440 04-Nov-2014 robertphillips <robertphillips@google.com> Crop the fast path dashed lines to the cull rect

Without:

maxrss loops min median mean max stddev samples config bench
56M 1 13.3ms 13.6ms 13.6ms 14.2ms 2% Ooooo..... 8888 GM_dashing5_bw
56M 13 390us 417us 416us 459us 5% ooooO..o.o gpu GM_dashing5_bw
56M 1 13.4ms 13.9ms 14.1ms 15ms 3% Oooo..ooOo 8888 GM_dashing5_aa
56M 13 402us 421us 416us 425us 2% Ooo.ooOOOO gpu GM_dashing5_aa

With:

40M 1 1.53ms 1.54ms 1.54ms 1.55ms 0% oo.O...o.. 8888 GM_dashing5_bw
40M 12 407us 412us 415us 445us 3% ...Oo..... gpu GM_dashing5_bw
40M 1 1.7ms 1.7ms 1.7ms 1.72ms 0% o.O....... 8888 GM_dashing5_aa
43M 13 405us 409us 409us 415us 1% ooo.Ooo..o gpu GM_dashing5_aa

The GM images (including the new one) are the same with and without this CL.

BUG=428296

Review URL: https://codereview.chromium.org/699623003
/external/skia/src/core/SkDraw.cpp
5698f91d602dc974ad5c453ff9588ded7353050b 04-Nov-2014 reed <reed@google.com> remove dead SK_DISABLE_DASHING_OPTIMIZATION flag

BUG=skia:

Review URL: https://codereview.chromium.org/698003004
/external/skia/src/core/SkDraw.cpp
b3eb687f8a89eb1eacd1afb4016401eb392f66ab 24-Oct-2014 jvanverth <jvanverth@google.com> Set temporary paths volatile so we don't cache them.

Any path that is generated frame-to-frame should not be rendered by using the
DistanceFieldPathRenderer, because generating the initial distance field,
uploading it and rendering it takes longer than the SoftwarePathRenderer.

BUG=skia:2935

Review URL: https://codereview.chromium.org/677463002
/external/skia/src/core/SkDraw.cpp
05c4a4322e7d4f3417b7df33825bab8603d52051 29-Sep-2014 fmalita <fmalita@chromium.org> Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of https://codereview.chromium.org/609223003/)

Reason for revert:
Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/)

Original issue's description:
> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)
>
> Reason for revert:
> Breaking the Chrome builds with the error:
>
> [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
> [14:54:14.318022] virtual void drawPosText(const SkDraw& draw,
> [14:54:14.318082] ^
>
> Original issue's description:
> > Fix SkTextBlob offset semantics.
> >
> > Implement proper x/y drawTextBlob() handling by plumbing a
> > drawPosText() offset parameter (to act as an additional glyph pos
> > translation) throughout the device layer.
> >
> > The new offset superceeds the existing constY, with a minor semantic
> > tweak: whereas previous implementations were ignoring constY in 2D
> > positioning mode (scalarsPerGlyph == 2), now the offset is always
> > observed, in all positioning modes. We can do this because existing
> > drawPosText() clients always pass constY == 0 for full positioning mode.
> >
> > R=reed@google.com, jvanverth@google.com, robertphillips@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2
>
> TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/607413003
/external/skia/src/core/SkDraw.cpp
d46b8d2bab7cfba8458432248e1568ac377429e9 29-Sep-2014 robertphillips <robertphillips@google.com> Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/)

Reason for revert:
Breaking the Chrome builds with the error:

[14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions
[14:54:14.318022] virtual void drawPosText(const SkDraw& draw,
[14:54:14.318082] ^

Original issue's description:
> Fix SkTextBlob offset semantics.
>
> Implement proper x/y drawTextBlob() handling by plumbing a
> drawPosText() offset parameter (to act as an additional glyph pos
> translation) throughout the device layer.
>
> The new offset superceeds the existing constY, with a minor semantic
> tweak: whereas previous implementations were ignoring constY in 2D
> positioning mode (scalarsPerGlyph == 2), now the offset is always
> observed, in all positioning modes. We can do this because existing
> drawPosText() clients always pass constY == 0 for full positioning mode.
>
> R=reed@google.com, jvanverth@google.com, robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/609223003
/external/skia/src/core/SkDraw.cpp
c13bc571d3e61a43b87eb97f0719abd304cafaf2 26-Sep-2014 Florin Malita <fmalita@google.com> Fix SkTextBlob offset semantics.

Implement proper x/y drawTextBlob() handling by plumbing a
drawPosText() offset parameter (to act as an additional glyph pos
translation) throughout the device layer.

The new offset superceeds the existing constY, with a minor semantic
tweak: whereas previous implementations were ignoring constY in 2D
positioning mode (scalarsPerGlyph == 2), now the offset is always
observed, in all positioning modes. We can do this because existing
drawPosText() clients always pass constY == 0 for full positioning mode.

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

Review URL: https://codereview.chromium.org/605533002
/external/skia/src/core/SkDraw.cpp
e010f1c2a0e6fe9cbaa73be01c7d878308b5166c 17-Sep-2014 reed <reed@google.com> hide deviceproperties, prepare the way for surfaceprops

BUG=skia:
NOTRY=True
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/577023002
/external/skia/src/core/SkDraw.cpp
b3eba478d5bed5fb2b5f0f224738c8c292cebf36 09-Sep-2014 george <george@mozilla.com> Outset the stroke width when computing the bounds for drawing a stroked rect, or 1 if it's a hairline

Adds a testcase for stroke rect bug

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

Author: george@mozilla.com

Review URL: https://codereview.chromium.org/552743004
/external/skia/src/core/SkDraw.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/src/core/SkDraw.cpp
9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187 21-Aug-2014 reed <reed@google.com> Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).

Refactoring pattern:

1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).

If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.

R=robertphillips@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org, sugoi@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/395603002
/external/skia/src/core/SkDraw.cpp
53f0959fc024c56dc55fe6bf86380127b59abec9 06-Aug-2014 krajcevski <krajcevski@google.com> Allow custom blitters to be passed to SkDraw::drawPath

R=reed@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/444003004
/external/skia/src/core/SkDraw.cpp
cb9a2c8934f009b6ee1ca73d662ac18b285085d9 13-Jun-2014 kkinnunen <kkinnunen@nvidia.com> Extract "text align proc" functions as reusable classes

Extract "text align proc" as reusable classes. These classes need to be used
when writing GrTextContext subclasses.

Moves "text align proc" code that is duplicated in SkDraw and
SkBitmapTextContext to SkDrawProcs.h and SkTextMapState.h. This functionality is
also used in the new GrStencilAndCoverTextContext.

Creates new functor classes SkTextAlignProc and SkTextAlignProcScalar which
represent the previous "text align procs".

Moves TextMapState from SkDraw to SkTextMapStateProc and make it similar functor.

The transform should be comparable in speed, as the compiler can and does avoid
the call and eliminate some of the branches.

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/335573002
/external/skia/src/core/SkDraw.cpp
868074b50b0fc3e460d2aa97c1096827fe0a1935 03-Jun-2014 reed <reed@google.com> remove SkBounder -- unused and unloved

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/312553006
/external/skia/src/core/SkDraw.cpp
a3264e53ee3f3c5d6a2c813df7e44b5b96d207f2 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)"

This reverts commit eecaea4148805834f223681f70b6488ceba12d09.

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
559a8833f0eae4af37dc0ffc3ee97e1fb14817b1 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix the rendering error of SkDraw::drawVertices in gpu path for solid color.

If both textures and vertex-colors are NULL, drawVertices should stroke hairlines with the paint's color.
This behavior is a useful debugging mode to visualize the mesh.

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

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14985 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4e82cdb90abb34a2ab60fcdb26e7bfc17e8e4da9 23-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix stroking large drawPosText

BUG=skia:
R=bungeman@google.com, yunchao.he@intel.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14865 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
80116dcf1e1baf9817ae42d0aca51f7eabaa2880 06-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add local-matrix to shader::context

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14592 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
06a32062620daee7a93742f553829a8d4f93f720 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@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
/external/skia/src/core/SkDraw.cpp
ce56d965069c1649afe14319cb239e6ad670682a 05-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@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
/external/skia/src/core/SkDraw.cpp
6803c219dd3be4a73e7bb5c4bb8a5b1f803624d0 04-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of fix the error that path is inversed for stroke and strokeAndFill styles (https://codereview.chromium.org/183683010/)

R=bsalomon@google.com, reed@google.com, yunchao.he@intel.com
TBR=reed@google.com
NOTRY=True

Reason for revert:
broke unittests

Original issue's description:
> fix the error that path is inversed for stroke and strokeAndFill styles.
>
> However, because hairline stroke + fill = fill (see src/core/SkStrokeRec.cpp), strokeAndFill will be thought as fill style when paint.getStrokeWidth() <= 0, this edge case can be inverse-filled.
>
> BUG=skia:2222
>
> Committed: http://code.google.com/p/skia/source/detail?r=14561

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14562 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1f99d933e5dab98c5047c7fe19fd4d7180c2cad4 04-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix the error that path is inversed for stroke and strokeAndFill styles.

However, because hairline stroke + fill = fill (see src/core/SkStrokeRec.cpp), strokeAndFill will be thought as fill style when paint.getStrokeWidth() <= 0, this edge case can be inverse-filled.

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

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14561 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e901b6de3ef8dea842008a08fc81e92fb1478d61 01-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> create struct to hold all the params passed around for shader::context

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14514 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9c9005a347e9996f357bd79591bd34f74f8bbc66 28-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move SkShader::fLocalMatrix into SkShader constructor.

As a first step towards removing SkShader::setLocalMatrix, which will make
SkShader thread-safe, remove calls to setLocalMatrix that happen immediately
after the shader is being created. Instead, pass the matrix into the constructor
or factory method.

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

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14401 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
87fcd950198a16211b3988610beebb5ca5bcf323 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/249643002/)

Reason for revert:
Chromium side change landed along side DEPS roll that includes r14323.

Original issue's description:
> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)
>
> Reason for revert:
> This is blocking the DEPS roll into Chromium. Failures can be seen here:
>
> http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
>
> Original issue's description:
> > 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
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14216
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14323
>
> TBR=scroggo@google.com,skyostil@chromium.org,tomhudson@chromium.org,senorblanco@chromium.org,reed@google.com,bungeman@google.com,dominikg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14326

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14328 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6e5671d8c9b2d9885e351b631b1dfbb4ed403789 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)

Reason for revert:
This is blocking the DEPS roll into Chromium. Failures can be seen here:

http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333

Original issue's description:
> 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
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216
>
> Committed: http://code.google.com/p/skia/source/detail?r=14323

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14326 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
bc2f1dc85e458af7bdb87873e60207f9f7299e4a 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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

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

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@14323 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
53783b026a00683c1fb504127c3398dabb61ea73 17-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)

Reason for revert:
Causing memory leaks in Chromium.

Original issue's description:
> 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
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, dominikg@chromium.org
TBR=dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
001f4ed2fb62ecdc98ce2884d925de11b7516d23 16-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/src/core/SkDraw.cpp
28fcae2ec77eb16a79e155f8d788b20457f1c951 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)

Reason for revert:
Want to reland the original CL.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, bensong@google.com
TBR=bensong@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
96edc2459820f0f60ea9b57959c1e5018ef95e28 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)

Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d923288e50b5a69afb0bdd5c161191b24cab8345 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)

Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
757ebd20ef284b6428eb9f4b9b69826cc3640a82 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)

Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
149e9a107c356b0151433fb23c2b1c8d0634947c 09-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename kPMColor_SkColorType to kN32_SkColorType.

The new name better represents what this flag means.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
92362383a4de7b0d819c88fa8b74242bb2507602 18-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SkCanvas matrix ops return value.

The internal SkMatrix ops can no longer fail -> we can remove the bool
return value.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13849 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0f10f7bf1fb43ca6346dc220a076773b1f19a367 13-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow toString capability to be toggled independent of developer mode.

This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted.

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a5572e5bb2a2bbeeb59de0741c2527869d365a0c 07-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a class to allocate small objects w/o extra calls to new.

Add SkSmallAllocator, a template for allocating small (as defined by the
instantiation) objects without extra calls to new. Add a helper macro to
make using it simple.

Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator.
The old SK_PLACEMENT_NEW had the following drawbacks:
- Easily confused with SkNEW_PLACEMENT.
- Requires passing around lots of void*s along with the storageSize.
- Requires using a separate class for deleting it.
- We had multiple ways Auto objects for deleting in different places.
- It always did a straight heap allocation on Windows, meaning Windows
did not get any advantages from the confusing code.
The new SkSmallAllocator simplifies things:
- It is clear about what it does.
- It takes care of the deletion in one place that is automatically
handled.

Further, the new class can be used to create more than one object. This
is in preparation for BUG=skia:1976, for which we would like to create
a new object without extra heap allocations. The plan is to create both
the blitter and the new object on the stack using the SkSmallAllocator.

Add a new test for SkSmallAllocator.

SkShader.h:
Move the private version of CreateBitmapShader to SkBitmapProcShader
(which already has the implementation) and remove the friend class
(which was only used to call this private function). This allows
SkSmallAllocator to reside in the private src/ directory.

SkBitmapProcShader:
Move CreateBitmapShader and the macro for the storage size here. With
the macro in a (private) header, the (private) headers with function
declarations (which now depend on the storage size used) can see the
macro.
Use SkSmallAllocator in CreateBitmapShader.
Change the macro to kBlitterStorageByteCount, since SkSmallAllocator
takes a byte count as its template parameter.

SkBlitter:
Use the SkSmallAllocator.
Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their
behaviors have been moved into SkSmallAllocator (SkAutoCallProc was
unnecessary anyway, because the only time we ever used it we also
called detach(), so its auto behavior never happened).
Create the Sk3DShader on the stack, if there's room.
Remove the helper version of Choose, which was unused.

SmallAllocatorTest:
Test for the new class.

The rest:
Use SkSmallAllocator.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
900ecf2f1579d42c9d2959831787af0346320f86 20-Feb-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use colortype instead of config

patch from issue 172063004

BUG=skia:
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13520 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8b0e8ac5f582de80356019406e2975079bf0829d 30-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactor read and write buffers.

Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.

What used to be this:

SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer -> SkOrderedReadBuffer
SkFlattenableReadBuffer -> SkValidatingReadBuffer

is now

SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer

Benefits:
- code is simpler, names are less wordy
- the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
- write buffers are completely devirtualized, important for record speed

This refactoring was mostly mechanical. You aren't going to find anything
interesting in files with less than 10 lines changed.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a8c7f7702fb4bbedb615031bc653c5cd161a038e 24-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix (some) 64bit warnings -- size_t -> int

BUG=skia:
R=mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13178 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9fb00413ec55deb3a4953d4dff2dba3ec5cdb645 06-Jan-2014 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> SK_SUPPORTED_DEPRECATED_FIXEDROUND around deprecated fixed[round,ceil,floor]

git-svn-id: http://skia.googlecode.com/svn/trunk@12903 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
51c2a83bdac0745fc3b60795401d5db29c10ce11 30-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix drawVertices when we have both colors and textures

fix: don't re-call setContext on the composshader (i.e. on the tricolor shader) for each triangle,
since the trishader handles that explicitly. Just call setContext on the original shader.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12847 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8128d8c119382279918b90ad8d80ccb3aaebb8a0 19-Dec-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move distance field font code into GrDistanceFieldTextContext.

This avoids the SkDraw path and renders the distance field glyphs directly from
GrDistanceFieldTextContext. It also disables LCD, subpixel and autohinting, and
removes the supporting code when rendering DF fonts.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12770 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e1ca705cac4b946993f6cbf798e2a0ba27e739f3 17-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cfd90d6073baef9841dcb6e7b25d244f06ceeeaa 13-Dec-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use SkScalar when aligning glyphs in user space.

Drawing text from paths is done in user space and not in device space.
All operations in user space should be performed with SkScalars.

BUG=327031
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12682 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e0a868c84ebc34c5a16b5faa1546016abb9ca0ac 22-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Apply hairline optimization only if the path renderer wants it

Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.

Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.

This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
75a22954453f4c0e3c0cb2ec0a46f32a473622f9 21-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Minor fixes for distance field fonts:
- Remove additional transform in drawpostext()
- Use bitmap fonts if rasterizer set in paint
- Correctly set scale ratio for drawtext()

R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12338 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e61a86cfa00ea393ecc4a71fca94e1d476a37ecc 18-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Guard against most unintentionally ephemeral SkAutoFoo instantiations.

I think I applied the trick everywhere possible. Limitations:
- can't be used with templated classes
- all constructors and destructors must be defined inline

A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them. This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.

BUG=
R=reed@google.com, caryclark@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5308c83a366f965c308862bed1b6acf594af3df9 13-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawPosTextOnPath is now deprecated, removing all overrides and impls

BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
11a253b686d2f6e9def2de8a4507591fcadfe987 12-Nov-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@12232 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d830d13c27437b4677a4a1abfa866d98dc2d2ab9 11-Nov-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Hook in rough distance field support for fonts

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a8e33a92e27ca1523601226cad83c79a7e00c93b 08-Nov-2013 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add ability to ninepatch blurred rounded rectangle

Speed up drawing large blurry round rectangles by converting them to
nine patches.

SkDraw:
Add drawRRect.

SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.

SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.

SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.

Depends on https://codereview.chromium.org/52703003

Tests are in https://codereview.chromium.org/52793005

BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1b20a10f0205da2d53e0837e4ddc6b2bd3b8a462 08-Nov-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"

This reverts commit r12185.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
44fb865e81a57e0c72de3109d0ed5ea428aa1f44 08-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Do not apply hairline optimization for paths if nv_path_rendering is used

Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
126f7f5244502c0cbf1e5fec1d2ad7a0f2eb6c34 07-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""

This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
84e922bfb3e7a03f6e35beb2f1e4f2657e7cd3e9 04-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."

This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.

Revert "must initialize SkDraw.fClip"

This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ac9d306a92e569e85a7611e9db00943b5b551f1e 04-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4469938e92d779dff05e745559e67907bbf21e78 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""

This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6fcbfcead5dc1b61fa5b4c139a1a3714e8c58091 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"

This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.

git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
081560e3abe25c4821b79ca1465f4dbd371c4b5c 31-Oct-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning

BUG=
R=robertphillips@google.com, senorblanco@chromium.org, vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6b00a1ec2ad525cae559d6b6e2157786686b2953 29-Aug-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@10992 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1c028bd395dc52ca12b99f85f0c297d15a288c2d 28-Aug-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix state machine so we know simple only loops once, but we can call maprect in debug mode

Revert "Revert of r10943."

This reverts commit 9e83074cce521d3cc3b8b3a9b819a612a07d800a.

BUG=
R=tomhudson@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10981 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e09d6f48190ee8c015fc22e9531293861bd99184 27-Aug-2013 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of r10943.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10944 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
42cb6c0247894b631976fd361d46be9260b27c3b 27-Aug-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add SkDeviceLooper to handle larger-than-fixedpoint

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10943 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2853429d39b16c1bd09d1e88147a608908f284df 24-Jul-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove dead defines from SkUserConfig.h

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10296 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
81e3412ebf2ca936a1c7d11f0b9e23cf518b8895 26-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "avoid AntiFrameRect when strokeSize is too small. Workaround for skbug/1368"

This reverts commit b70c77bb33495b5956550b39d479cf9b911d6114.

git-svn-id: http://skia.googlecode.com/svn/trunk@9762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
056ae7cec3f2643796d275861f90c858e3a26c1e 26-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> avoid AntiFrameRect when strokeSize is too small. Workaround for skbug/1368

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9761 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6ba4572eed5a4ecfdd22d118fa55b5c06902b574 21-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove dst/rendertarget support for kARGB_4444_Config

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5a64902ee92847f53dfc5b211da19d074179be64 05-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> call through to the device from SkDraw

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9449 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8f6ef4010f6835c5ce9ede180e50a6a58512a81e 05-Jun-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@9440 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ed43dffbf140cebc0575bed7b4dff1b32430ad21 04-Jun-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add size limit for using glyphcache. above that, draw using paths

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9429 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5bdfb331ac650cf464baa96a49e2473ee10a515c 02-May-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Detect color masks, and divert to draw-sprite instead of maskblitters.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8967 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fc2f0d0e6e6f72503ff9504296556dc637059c15 29-Mar-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use SkTCast



git-svn-id: http://skia.googlecode.com/svn/trunk@8443 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e5f48243bdbed2662be7a31be0888abc273b09e8 25-Feb-2013 scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix a bunch of warnings, mainly around rowBytes.

My recent change changed the way SkBitmap::fRowBytes is stored,
and parameter/return values referring to rowBytes were changed
to type size_t. Change the storage back, and eliminate warnings
resulting from returning a size_t.

Review URL: https://codereview.appspot.com/7396059

git-svn-id: http://skia.googlecode.com/svn/trunk@7855 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9447103029273a9f8dd7f5997e8af7a1e3ee7488 25-Feb-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Always round text position correctly.
https://codereview.appspot.com/7383049/

Will require rebaseline of fontscaler GM.

Must add SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX to Chromium
until ~150 layout tests can be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@7842 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
13b77e83076d3735a86926f6f48741e1360c525c 22-Feb-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove obsolete build flags:

SK_IGNORE_TRANS_CLAMP_FIX
SK_IGNORE_1XN_BITMAP_OPT
SK_IGNORE_CLIP_BUG_FIX
SK_IGNORE_FAST_SCALEMATRIX_INVERT
SK_IGNORE_QUAD_STROKE_FIX
SK_IGNORE_MULTIPLY_XFERMODE_OPT
SK_IGNORE_LARGE_DASH_OPT
Review URL: https://codereview.appspot.com/7381050

git-svn-id: http://skia.googlecode.com/svn/trunk@7829 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
19376b80476b0fdbdcc8ac33bfdbae9b0d3fdce7 05-Feb-2013 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix unbalanced Shader set/endContext calls in drawVertices

Review URL: https://codereview.appspot.com/7309047

git-svn-id: http://skia.googlecode.com/svn/trunk@7588 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8d3cd7a170c810e3816bf00220cbef51e7b16795 30-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> clone of https://codereview.appspot.com/7208043/
Review URL: https://codereview.appspot.com/7232062

git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e16efc1882ab34a0bb3ae361a2d37f840044cf87 26-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4024f32d99b63a599c544a49f526e53c25135159 25-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7385 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4bbdeac58cc928dc66296bde3bd06e78070d96b7 24-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add optional cull-rect to patheffects, so they can do less work if their results
lie outside of the current clip-bounds (the cull rect).
Review URL: https://codereview.appspot.com/7206044

git-svn-id: http://skia.googlecode.com/svn/trunk@7378 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f38f93c118b71e414c33fe2619ed1d7b1267a7a1 22-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix Android only code in SkDraw for 7317.


git-svn-id: http://skia.googlecode.com/svn/trunk@7322 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
532470f34dbe9fc0b8b71e3917eca8894feaf336 22-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Expose geometry and gamma on device.
https://codereview.appspot.com/6499101/


git-svn-id: http://skia.googlecode.com/svn/trunk@7317 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
76f9e938df0b5826fd4c80b854ceafaf385cfbe1 15-Jan-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added print out of SkShader information to debugger

https://codereview.appspot.com/7105045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7201 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7f5350346aa69447d59ef976011746fd3fe6904e 14-Jan-2013 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SK_DRAW_POS_TEXT_IGNORE_SUBPIXEL_LEFT_ALIGN_FIX.
https://codereview.appspot.com/7070073/


git-svn-id: http://skia.googlecode.com/svn/trunk@7159 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
070dcd8ad37a4c5b8a9015938409b27bb3ce3ab9 07-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> abandon SK_IGNORE_TREAT_AS_SPRITE as a flag, and use SK_IGNORE_TRANS_CLAMP_FIX
for the fixes in SkDraw.cpp and SkBitmapProcState.cpp

Also, change the call in SkDraw.cpp to pass 0 for subpixel bits, to match the
old logic.... we should have a runtime fix for this in the future, so a caller
*can* get subpixel-filtered images w/ just translate.



git-svn-id: http://skia.googlecode.com/svn/trunk@7065 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ae57358447bac678e3fc458fa2857a349a6a7081 03-Jan-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use SkTreatAsSprite in SkDraw (with guard for chrome if needed)



git-svn-id: http://skia.googlecode.com/svn/trunk@6994 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
30711b764be6bbb58caa30a0ac5d1474c894efe7 18-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> change SkMaskFilter methods to const, in preparation for making the class as
immutable and re-entrant safe.
Review URL: https://codereview.appspot.com/6944069

git-svn-id: http://skia.googlecode.com/svn/trunk@6881 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7a03d86a3d9adcb13432fbd82039725149487c97 18-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6872 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6d87557278052c131957e5d6e093d3a675162d22 17-Dec-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 3on/3off dashing optimization

https://codereview.appspot.com/6891046/



git-svn-id: http://skia.googlecode.com/svn/trunk@6851 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f7ef56d9104fc651769760df9d5f861ef36de658 14-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> call lock-pixels once we know we're a sprite
Review URL: https://codereview.appspot.com/6938058

git-svn-id: http://skia.googlecode.com/svn/trunk@6819 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ea033606a06d05d2d42aa7118409fee798e53167 14-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add per-draw checks for lockcounts
Review URL: https://codereview.appspot.com/6943056

git-svn-id: http://skia.googlecode.com/svn/trunk@6815 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a641f3f18e5319773989812a888f3fad49e4f2ad 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> reland 6798 w/ fix for bitmap-as-mask pixel-locking



git-svn-id: http://skia.googlecode.com/svn/trunk@6806 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
135e16cd8ebb2ba30458b284d4a17e1eea81ad35 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 6798 (assert in GM)



git-svn-id: http://skia.googlecode.com/svn/trunk@6802 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1adcf8859cc9414591038e440e3f22382c8e4aa0 13-Dec-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Goal: ensure we always balance lock/unlock pixels calls.

A big caller of lockPixels is setContext in the bitmapshader.

This change replaces beginSession/endSession with adding endContext(), and
adds debugging code to ensure that
1. setContext calls are never nested
2. endContext is always called after each setContext call.
Review URL: https://codereview.appspot.com/6937046

git-svn-id: http://skia.googlecode.com/svn/trunk@6798 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0264fb4543b0d8cebe00f1ee32433784f4ceb074 06-Dec-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6687 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
935ad026826fb7d31d562ff7326b84ec3a827456 05-Dec-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add drawPoints dash bench

https://codereview.appspot.com/6866053/



git-svn-id: http://skia.googlecode.com/svn/trunk@6678 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
c3d7d90973528527131c72549b10c2a21300e0ac 30-Nov-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6632 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2d47a21b27035798d53de4d5cb8ac7c03534ab27 29-Nov-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use fast-pt case when radius <= 1/2, instead of just hairlines
Review URL: https://codereview.appspot.com/6854116

git-svn-id: http://skia.googlecode.com/svn/trunk@6616 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
629ab540667422d3edcb97c51e9628b7051e1ba4 28-Nov-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added dashing fast path

https://codereview.appspot.com/6844067/



git-svn-id: http://skia.googlecode.com/svn/trunk@6585 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5f0add3ad6e1d6129307276c81ba6624f92ca112 26-Nov-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove legacy build-guards, now that webkit has rebaselined these.

SK_DISABLE_FAST_AA_STROKE_RECT
SK_IGNORE_FAST_BLURRECT
SK_DISABLE_EXTRACTSUBSET_OPAQUE_FIX
SK_IGNORE_CF_OPTIMIZATION
SK_IGNORE_NEW_STROKERECT
SK_DISABLE_GPU_BLUR
SK_IGNORE_ROTATED_FREETYPE_FIX

The changes should all be:

remove code for #ifdef
remove guard for #ifndef
Review URL: https://codereview.appspot.com/6858073

git-svn-id: http://skia.googlecode.com/svn/trunk@6546 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f94b3a4cebd4adab09c40ebe23c02a615e10c394 31-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make SkShader store localM directly rather than as a separate alloc.

May cause very slight GM changes in gpu two pt radial/conical radients.
Review URL: https://codereview.appspot.com/6821056

git-svn-id: http://skia.googlecode.com/svn/trunk@6221 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5dc26b97366934ba0f896cea02a3fec027d5d5c1 11-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> SkTCopyOnFirstWrite

R=reed@google.com
Review URL: https://codereview.appspot.com/6650047

git-svn-id: http://skia.googlecode.com/svn/trunk@5905 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fc84359aa920567e72742877a1249f52d076ad35 11-Oct-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@5892 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
36d6edac9f3e63d9a5f499d0076550d08b80eaca 10-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Draw hairline text as path.

R=reed@google.com
Review URL: https://codereview.appspot.com/6632060

git-svn-id: http://skia.googlecode.com/svn/trunk@5884 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0e354aacd84d3bede3f97cbde35a54ba62a89533 08-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove external matrix feature.

We haven't been testing this for nearly two years.

R=reed@google.com
Review URL: https://codereview.appspot.com/6640044

git-svn-id: http://skia.googlecode.com/svn/trunk@5857 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)

This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7b4531f64cbd85d32a77ceab1bdec8335c5a7864 07-Aug-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> change SkTextToPathIter to allow continuation even when there is no path for
the current glyph. Fixes bug in getTextPath() if there are spaces in the text.

Update gm to add space-characters, so images will have to be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@4979 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
e69137620ab0b5b40d230318c8e11b822f63cb9d 07-Aug-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> move SkTextToPathIter into private header



git-svn-id: http://skia.googlecode.com/svn/trunk@4977 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7324415759fe0c5a0902877b664aa942a89bd940 11-May-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use mapPoints instead of mapXY for the 2 corners of a rect (faster)



git-svn-id: http://skia.googlecode.com/svn/trunk@3906 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
aeb07864052fde0acba0ae1a42a01db3407f1f6e 18-Apr-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> inline common case when we are left-aligned in drawPosText
Review URL: https://codereview.appspot.com/6051051

git-svn-id: http://skia.googlecode.com/svn/trunk@3727 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8f17b0d5e14fa336f65e33ecf30f15929aa75790 12-Apr-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> detect when pathmeasure fails, and don't access uninitialized tangent



git-svn-id: http://skia.googlecode.com/svn/trunk@3655 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2ac4ef5e6e0c9c95c9200408ba25a95ca758eac2 04-Apr-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing the drawing of blurred shodows for hairline paths with software rendering

BUG=http://code.google.com/p/chromium/issues/detail?id=121251
REVIEW=http://codereview.appspot.com/5981053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3592 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ba28d03e94dc221d6a803bf2a84a420b9159255c 26-Mar-2012 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063

git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6db75fc2c393ba86a3f533597a8bcd348477e79c 23-Mar-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Initialize margin, which was being used uninitialized in compute_bounds()
on some code paths we apparently aren't exercising.
Caught by Matt Woodrow & gwright@kde.org

http://codereview.appspot.com/5519056/
http://code.google.com/p/skia/issues/detail?id=435



git-svn-id: http://skia.googlecode.com/svn/trunk@3474 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
166e653f67f3fffc3846184a25ce45ab083f07a2 20-Mar-2012 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix scaling issue when drawing text on a path.

If the paint is stroked and the font size is small
we were incorrectly rendering the sample text.
Review URL: https://codereview.appspot.com/5844060

git-svn-id: http://skia.googlecode.com/svn/trunk@3437 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
dd1be60702b3622f49d97651e31d13eaf2175cf8 18-Jan-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Pull xfer mode test out of generic draw-as-hairline test. Use coverage rather than alpha to draw hairlines < 1pix wide in GPU.

Review URL: http://codereview.appspot.com/5528112/




git-svn-id: http://skia.googlecode.com/svn/trunk@3070 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
2211b623274e24d0025763cfa855c9eb53d5b900 13-Jan-2012 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Subpixel text 3/8 of a pixel too far to the right.
http://codereview.appspot.com/5502097/


git-svn-id: http://skia.googlecode.com/svn/trunk@3037 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
9330cfe851b14b8985acc14caa3dc5ad20b0b2a8 04-Jan-2012 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> drawPosText with center or right align skips every other character.
http://codereview.appspot.com/5504118/


git-svn-id: http://skia.googlecode.com/svn/trunk@2959 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0c00f21fee3f5cfa3aa7e5d46ff94cb8cf340451 28-Dec-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");
catch a couple of latent SkASSERT("text") bugs.

http://codereview.appspot.com/5504090/



git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
be2aa2aa1f8bf73d974bdd9438fc741bbf0cfbe6 17-Nov-2011 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> use AsMode instead of deprecated IsMode



git-svn-id: http://skia.googlecode.com/svn/trunk@2705 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
56c69773aea56c6c6bd47bc7e7970dd081205184 08-Nov-2011 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Update files to use SK_BUILD_FOR_ANDROID.

This CL also removes any unecessary references to
the ANDROID definition.
Review URL: http://codereview.appspot.com/5354049

git-svn-id: http://skia.googlecode.com/svn/trunk@2629 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
83a444602ec580a0040713eed588c245b4ae0ee9 27-Oct-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove warnings (trailing \, signed vs unsigned, parenthesization).
Convert some tabs into spaces.



git-svn-id: http://skia.googlecode.com/svn/trunk@2541 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
045e62d715f5ee9b03deb5af3c750f8318096179 24-Oct-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> enable soft clipping (yikes)



git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
02f55841854ae32f21a13417e9ee711463e488cf 04-Oct-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Change SkAutoMaskImage so that we're less likely to write leaky code.
http://codereview.appspot.com/5180047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2409 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
dcd0f3a980095b77ebe605b49777a4bd37ca7b0a 04-Oct-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> quick-rejects based on xfermode, using SkPaint::nothingToDraw()



git-svn-id: http://skia.googlecode.com/svn/trunk@2402 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
bf2ac7e52f84095368dc50600fd6e78cc96044e3 26-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix 2333. Be sure fImage is assigned before giving to SkAutoMaskImage.


git-svn-id: http://skia.googlecode.com/svn/trunk@2334 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0a60b3d32eae945688b69599f11679662657f751 26-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix leak of mask in draw.
http://codereview.appspot.com/5132046/


git-svn-id: http://skia.googlecode.com/svn/trunk@2333 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6a87fafc5ce0d7fdf1decf8bb9dd6942f2433add 19-Sep-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert match for newAlpha to exactly match old math, so we don't drive
dumprendertree crazy



git-svn-id: http://skia.googlecode.com/svn/trunk@2287 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ecadf99c8450646dfd9c2754f3e845245beab8b6 19-Sep-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use new SkDrawTreatAsHairline method to decide when to approximate a thin-line
with a hairline (and have its alpha modulated).

idea is to be able to share this new function with SkGpuDevice



git-svn-id: http://skia.googlecode.com/svn/trunk@2283 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5af16f8d670b3ce1c7644a4737e02e2e2257614e 02-Sep-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reduce size of filter mask.
http://codereview.appspot.com/4965057/

Reduce the size of filter masks, fix HQ blur when clipped, and add tests.


git-svn-id: http://skia.googlecode.com/svn/trunk@2211 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cb6ccdde5120ec45df208c0b958b263d8252a505 23-Aug-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> respect subpixel positioning



git-svn-id: http://skia.googlecode.com/svn/trunk@2165 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
52c748b1691f02f90b27c35bc05074fcef709e66 22-Aug-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Gpu can draw underlined text.
http://codereview.appspot.com/4919047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2154 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ddc75dc216c36acce70aceb293b9b0a0257c2f21 22-Aug-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow the y-baseline to float except when text is horizontal, as we were already
doing for the gpu case. Note: drawPosText was already behaving this way, this
change just brings drawText into line with drawPosText.



git-svn-id: http://skia.googlecode.com/svn/trunk@2152 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b81be7a7809fb0c24ff7d589d537c38b04b772f1 28-Jul-2011 bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Include <new> required for placement new in SkTLazy.

Also, add SkTLazy to gyp and remove old includes.


git-svn-id: http://skia.googlecode.com/svn/trunk@1984 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e 28-Jul-2011 epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Automatic update of all copyright notices to reflect new license terms.

I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
026dceead9b957e0b080d55c5a7fbb919e6f00b6 27-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> include <new> for SkTLazy, since windows seems to need it.



git-svn-id: http://skia.googlecode.com/svn/trunk@1976 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
32e5d97ccf60f859db063ebd6e903c362e625767 27-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't modify a const paint



git-svn-id: http://skia.googlecode.com/svn/trunk@1974 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fd4236ecc1d5eb1bb48ca9dc33df5e9051c3036e 25-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't modify const SkDraw, since multiple threads may be watching it...



git-svn-id: http://skia.googlecode.com/svn/trunk@1954 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
40c2ba27b6e5c6a4b6c073264f8c0a7c86355abe 25-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don/t modify const paint, since it could be used in different threads



git-svn-id: http://skia.googlecode.com/svn/trunk@1953 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
1d6ee0bd4db7f3b676209341214641d9af5a965f 05-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> defer allocating blitter until we know we need it (i.e. gpu-devices don't need,
which they signal by setting a custom D1G proc)



git-svn-id: http://skia.googlecode.com/svn/trunk@1791 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8d430185e08d2067584837a76b7193b803fee7a0 06-Jun-2011 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Increase use of SkMatrix::hasPerspective(), merge in has_perspective().
Unifies SkMatrix::hasPerspective(), has_perspective(), and manual tests of SkMatrix::getType & kPerspective_Mask.



git-svn-id: http://skia.googlecode.com/svn/trunk@1517 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
39ce0ac09a375aab18659b1a4ed0c503b0b81a4c 08-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> unbias fy in the gpu glyphproc, since skia has pre-added 1/2 to the value
(assuming we would call floor to get a rounded value.)

apply finalFYMask not to the initial fy, but to the fyMask (so it is always
applied in the loop) in drawText.



git-svn-id: http://skia.googlecode.com/svn/trunk@1084 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
62ab7addb06bbc5b93460eaf2f70a9f8399308d3 05-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> export SkDraw::ComputeRectType() and share that with SkGpuDevice



git-svn-id: http://skia.googlecode.com/svn/trunk@1055 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6115338c59799b4ef09cda187f23867dea093f6e 05-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> handle scale < 0 for stroke-rects



git-svn-id: http://skia.googlecode.com/svn/trunk@1052 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
761fb62b0eb174783316d2a8b933fba896ca6355 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> reenable fast stroked rects, now that we correctly handle non-square scale
also, degenerate non-antialias rectangles now draw properly



git-svn-id: http://skia.googlecode.com/svn/trunk@1049 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
338029608024c1c735e4d351aec7ed3319c5f0b4 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> temporarily disable fast stroking, until we handle non-square scales in matrix



git-svn-id: http://skia.googlecode.com/svn/trunk@1047 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
5bff8d2030ec976cd5081b759a495cc28e79deb6 04-Apr-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add #ifdef SK_DISABLE_FAST_AA_STROKE_RECT to disable new 8x faster antialiased
stroked rects, since it draws slightly different (more correct) pixels, for
clients that want pixel compatibility.



git-svn-id: http://skia.googlecode.com/svn/trunk@1043 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
7ff678bc1618dc669648198a7bdca8adfb189505 04-Apr-2011 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> faster stroke rects



git-svn-id: http://skia.googlecode.com/svn/trunk@1042 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0a0a236c3ba241046d38caaf78226ec68ff9c998 23-Mar-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Initialize fClip in SkBounder, in case doIRect() is called before it is used
inside a canvas (which calls setClip).

Export a global empty region. Used by SkBounder's constructor.



git-svn-id: http://skia.googlecode.com/svn/trunk@985 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
cd9d69b9ce7eb301a9fd8d91b9f95fd99b07bae5 14-Mar-2011 djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Upstreaming changes from android.

- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails



git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
82065d667f64e232bcde2ad849756a6096fcbe6f 07-Feb-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
SkSafeRef() and SkSafeUnref().

This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...

void SkRefCnt::safeRef() {
if (this) {
this->ref();
}
}

Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.

static inline void SkSafeRef(SkRefCnt* obj) {
if (obj) {
obj->ref();
}
}

This form is not ignored by an optimizing compile, so we use it instead.




git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a76de3d1a92134c3e95ad7fce99234f92fa48268 13-Jan-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> If you #define SK_ALLOW_OVER_32K_BITMAPS, then skia will try to draw bitmaps
whose dimensions exceed 32K. In my testing, this is fine, but I'm coding this
as an opt-in feature for now, to allow for more testing before its enabled
by default.



git-svn-id: http://skia.googlecode.com/svn/trunk@693 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
f2b98d67dcb6fcb3120feede9c72016fc7b3ead8 20-Dec-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> merge with changes for GPU backend



git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
28be72b63e457c680c192a34fb9f58e1c693363f 11-Nov-2010 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> PDF: Add text support with a font framework (font embedding to come).

Supports fakeBold, underline, strikethrough, mode (fill, stroke, both), size, skew, alignment (left, center, right).
Missing is drawFontOnPath and font lookup and embedding.
Changed SkPDFString to support how it is used from drawText methods.
Moved compile assert into SkTypes.
Moved constants and utility function used to support fakeBold, underline, and strikethrough into higher level locations.

Review URL: http://codereview.appspot.com/2946041

git-svn-id: http://skia.googlecode.com/svn/trunk@624 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
99a45d3b5a2f492b3ee3d5d8c8baa52745c4b2fa 26-Oct-2010 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix SkDraw::validate to work with vector Devices.

Vector devices don't have a (valid) fBitmap, so pass in width and height.

Review URL: http://codereview.appspot.com/2718041

git-svn-id: http://skia.googlecode.com/svn/trunk@616 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
652807bbc8c57e5fa9622126b51fd369f5c67935 27-Apr-2010 agl@chromium.org <agl@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Revert "Use hairline when line width <= 1.0, instead of < 1.0.""

This reverts commit r560. Chromium has landed at r560, so I'm applying the
revert-revert. (See the comments in r560 for details.)

git-svn-id: http://skia.googlecode.com/svn/trunk@561 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6fd950ca5c40ff4c537ec850086ce76fc51bf316 26-Apr-2010 agl@chromium.org <agl@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Use hairline when line width <= 1.0, instead of < 1.0."

This reverts commit r538 for the moment. In order to roll Chrome to include
some bug fixes, I want to land it in between this revert, and the revert
revert. That way the baseline changes from the other revisions can be
considered without conflating the huge number of changes due to r538.

git-svn-id: http://skia.googlecode.com/svn/trunk@560 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
a956e4fe2e7a6701f778c632ff11e8a0ed01168f 12-Apr-2010 anatoly@google.com <anatoly@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use hairline when line width <= 1.0, instead of < 1.0.
This speeds line drawing up considerably when drawing with
default linewidth on canvas.

Review: http://codereview.appspot.com/883047/show



git-svn-id: http://skia.googlecode.com/svn/trunk@538 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b641c9f20beb36dbf4e8df53a199c84cef3be9b2 25-Mar-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> if we're strokeandfill+hairline, just draw fill (they way paths do) instead
of just hairline stroking (bad)



git-svn-id: http://skia.googlecode.com/svn/trunk@533 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d055c1fde2128514167b315f4d104b177e04a3de 01-Mar-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> convert matrix <--> matrix44
add glyphrec to bounder



git-svn-id: http://skia.googlecode.com/svn/trunk@516 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
218521e15706c4377b1be49d931c4d7c8d597445 09-Feb-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> check bounder before lockPixels on the bitmap



git-svn-id: http://skia.googlecode.com/svn/trunk@493 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
474a12c4976b3000174cad5df74c498cd723c5e2 04-Jan-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added a virtual to SkBounder, called by text, that passes
the glyph's ID as well as its bounds. Made the universal
doIRect() non-abstract so that a child class can override
either the general flavor or the text flavor.



git-svn-id: http://skia.googlecode.com/svn/trunk@468 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
55e76b209c9249308a9ba3d75c2472dd55e9d298 23-Nov-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> outset the bounds if we're in hairline before quick-reject in SkDraw.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@445 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
ebdeeb8a018f2df01e190fd961d68a94f0e0fcb9 03-Sep-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> don't magically convert to hairline unless we're < 1.0 in both X and Y. The new routine both checks,
and if legal, returns the new width which will be used to compute a modulated alpha.



git-svn-id: http://skia.googlecode.com/svn/trunk@352 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
b4f404ac4195e5b1f49e49c591bd69f98b246f9b 10-Jul-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> handle cap==round for drawPoints



git-svn-id: http://skia.googlecode.com/svn/trunk@266 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
187d5595901d1120d9425851e5afdd773f574502 08-Jul-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add dox for scalarcomparetype
use internal mutable version of drawPath when we've cons'd up a path on behalf
of a rect



git-svn-id: http://skia.googlecode.com/svn/trunk@258 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
4516f4786f5dda1b86a8f825b9e8e910d9c2363c 29-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use sk_bzero instead of bzero, since it isn't always available.



git-svn-id: http://skia.googlecode.com/svn/trunk@244 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
0baf19375466cfc24c96532df406e7c5b1d1aae8 24-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> detect nearly translate-only matrices when drawing bitmaps (for speed)
rename setXfermode(Mode) to setXfermodeMode(Mode) for sanity
fix memory leak in setXfermode(Mode)



git-svn-id: http://skia.googlecode.com/svn/trunk@239 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
845fdaca174f4675e9acc164b510e3a5ffa9053c 23-Jun-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove deprecated use of porterduff enum



git-svn-id: http://skia.googlecode.com/svn/trunk@235 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
543ed9352c7dfd93071c08b14930cca2e82a08d4 24-Apr-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add ADD xfermode
safely handle (don't draw) if the size of SkMask exceeds 31bits



git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
d252db03d9650013b545ef9781fe993c07f8f314 01-Apr-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> API change: SkPath computeBounds -> getBounds



git-svn-id: http://skia.googlecode.com/svn/trunk@140 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
6c14b43a840c791699747ba4cc0ed5abf2bda218 23-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use static_cast
fix comments



git-svn-id: http://skia.googlecode.com/svn/trunk@135 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
49f0ff25a046d6001dc2d095b6fa3c30f0f46b6a 19-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> promote SkMask's rowBytes to 32bits, since its bounds is a 32bit rect
be sure a rect is sorted before using it as the path's bounds cache



git-svn-id: http://skia.googlecode.com/svn/trunk@128 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
3555591c158c242b071c7ec92ad75b6e4cb74af2 16-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add sanity checks to handles extremely large coordinates or filter margins.
Should not hurt features (we hope), but is an easy way to survive malicious
values on a small-memory machine like a handset.



git-svn-id: http://skia.googlecode.com/svn/trunk@123 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
fb12c3e6ba84f95dc15fbaddc239dede0ba1d60e 05-Mar-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix ref() in CreateTypeface
fix comment in SkDraw.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@111 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
3469c76c40790b409621fd7eff34f56240718549 24-Feb-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Handle kA8 bitmaps drawing through a matrix (was infinitely recursive)



git-svn-id: http://skia.googlecode.com/svn/trunk@95 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
689411a87ca7d19abe04b5c9baff26bd96b2123e 18-Dec-2008 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix compile by using the right (new) name for SkComposeShader.h



git-svn-id: http://skia.googlecode.com/svn/trunk@29 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp
8a1c16ff38322f0210116fa7293eb8817c7e477e 17-Dec-2008 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> grab from latest android



git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDraw.cpp