History log of /external/skia/src/core/SkClipStack.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0b02ec9ac8c496e954aeeaf38598fb022ab5b563 25-Jan-2018 Skia_Android Canary Bot <31977622648@project.gserviceaccount.com> Roll external/skia c341d3829..be84b720c (27 commits)

https://skia.googlesource.com/skia.git/+log/c341d3829..be84b720c

2018-01-25 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ 68981eb56..2e551f6bc (1 commit)
2018-01-25 reed@google.com compose and combine maskfilters
2018-01-25 scroggo@google.com Remove unused field/methods
2018-01-25 fmalita@chromium.org [skottie] Cache the last keyframe
2018-01-25 stani@google.com Revert "Increase depth threshold for SkClipStack::isRRect."
2018-01-24 fmalita@chromium.org [skottie] Animator scrubbing
2018-01-24 benjaminwagner@google.com [bazel] Add third_party to skia_all_hdrs
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ 01b21b194..68981eb56 (2 commits)
2018-01-24 mtklein@chromium.org Start of cross process SkScalerContext.
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ 1b1a8640e..01b21b194 (2 commits)
2018-01-24 robertphillips@google.com Misc guarding of enums in ImageFilter CreateProcs
2018-01-24 mtklein@chromium.org Keep SkRasterPipelineSpriteBlitter's src/dst offset math in size_t
2018-01-24 mtklein@chromium.org pass size_t to ptr_and_ix()
2018-01-24 kjlubick@google.com Update Chromecasts
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ 112a3a8ef..1b1a8640e (1 commit)
2018-01-24 caryclark@skia.org minor imageinfo fixes
2018-01-24 halcanary@google.com SkQP: Stop requiring users to use posix shell
2018-01-24 halcanary@google.com SkQP: add slack to model
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ adcf0ae61..112a3a8ef (1 commit)
2018-01-24 robertphillips@google.com Check enum values in SkDisplacementMapEffect's CreateProc
2018-01-24 robertphillips@google.com Add check for bad enum in SkMatrixConvolutionImageFilter's CreateProc
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ 7e9b13b5b..adcf0ae61 (1 commit)
2018-01-24 fmalita@chromium.org [skottie] Clamp keyframe values
2018-01-24 reed@google.com fix serializing shadowrec
2018-01-24 mtklein@chromium.org allow 4444 sw surfaces
2018-01-24 egdaniel@google.com Add return value to doLazyInstantiation to know if it succeedes.
2018-01-24 angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/externals/angle2/ c081020c7..7e9b13b5b (1 commit)

The AutoRoll server is located here: https://android-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

Test: Presubmit checks will test this change.
Change-Id: I81a07681fa1c2f495287da8d112d157901807d29
Exempt-From-Owner-Approval: The autoroll bot does not require owner approval.
(cherry picked from commit fbed126d2075c70659de088538e99eda13ca1776)
/external/skia/src/core/SkClipStack.cpp
3bfba2a731015af41547c932987a667b5b015246 23-Jan-2018 Brian Salomon <bsalomon@google.com> Increase depth threshold for SkClipStack::isRRect.

Also first check if stack is an intersection of rects.

Bug: skia:
Change-Id: Iaa0c65941b07739998cd8c0a4edd424d995da387
Reviewed-on: https://skia-review.googlesource.com/98761
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/core/SkClipStack.cpp
f3b46e5193da843cac07d42fdc36c76c05f7fa77 30-Aug-2017 Brian Salomon <bsalomon@google.com> Rename methods and enum on SkClipStack::Element to indicate "device space"

Change-Id: I83056843b530f76590f755f97e3d0a5a58f371fa
Reviewed-on: https://skia-review.googlesource.com/39402
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkClipStack.cpp
2e86634ae64ac333100d55a49992143fbf143384 28-Aug-2017 Brian Salomon <bsalomon@google.com> Move transformation of clip elements to SkClipStack::Element

Change-Id: Ia6ff3fdc927e33dbd28ccfb345859594289d0690
Reviewed-on: https://skia-review.googlesource.com/36820
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/core/SkClipStack.cpp
5c7279677e3ee9a0e71d6b1c189b49526f97c7df 21-Aug-2017 Brian Salomon <bsalomon@google.com> Deinline methods of SkClipStack::Element

Change-Id: Id234acc00d04cd9f3321b954902b83c4fd103c46
Reviewed-on: https://skia-review.googlesource.com/36740
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/core/SkClipStack.cpp
121ad19a7ecefa6fc814cfc24d2625df2178b61c 03-Aug-2017 Robert Phillips <robertphillips@google.com> Update SkClipStack's bound computation

I believe this was originally added to make Raster & GPU rendering more similar. I think we've moved on from there.

Change-Id: Ic980f3308fbd427e5857b720488c91383a32a149
Reviewed-on: https://skia-review.googlesource.com/30761
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkClipStack.cpp
806be2d50160f540293d9dda13636b63fdfdc47b 28-Jun-2017 Robert Phillips <robertphillips@google.com> Improve handling of clip stack ID

Change-Id: I1d5cf06d9b50c370f969a8778181fe94f7d35844
Reviewed-on: https://skia-review.googlesource.com/21061
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkClipStack.cpp
1335a0561e28b97ff4347129c7cc3fdcbf952eb5 13-Apr-2017 Mike Reed <reed@google.com> remove dead code around replayClips

Bug: skia:
Change-Id: I208bf41846265524d86f65de660311199fefc158
Reviewed-on: https://skia-review.googlesource.com/13338
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
93b1b4feda10c50ce10763ddf7e807f9b85c7953 05-Apr-2017 Mike Reed <reed@google.com> add guard for obsolete (non-functioning) replayClips

replayClips has been disabled (broken) for a while.
This CL just attempts to hide the api (will remove
once android's callsite is removed)

Bug: skia:
Change-Id: I35b412addfc0a08ea888a62609888b9b54dce2a6
Reviewed-on: https://skia-review.googlesource.com/11401
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
d37f22b1e81be69d05e9422c305a0595952695d7 10-Mar-2017 Mike Reed <reed@google.com> Clients can provide preallocated storage to clipstack

This allows devices (gpu, pdf) which are themselves always dynamically allocated
(since they are reference counted) to provide storage to clipstack, allowing it
to avoid calls to malloc.

Previously this was attempted by embedding the storage directly in clipstack,
but that increased the size of clipstack in all instances, even those where
it might be on the stack. This can be problematic for small-stack environments
like servers.

See previous (reverted) CL: https://skia-review.googlesource.com/c/9522/

BUG=skia:

Change-Id: Ifc7f5ef411303f33513195b1502ea9f281e995c5
Reviewed-on: https://skia-review.googlesource.com/9508
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
6e1e27b7fccd74d91d9bbc2a22bf55f2725f2a1b 10-Mar-2017 Mike Reed <reed@google.com> Revert "prealloc room for some number of Elements to avoid malloc"

This reverts commit 94cbbba96f1a2a425663e631c09591023f2e48d7.

Reason for revert: exceeded stack-size on g3 (in SkPDFDevice.cpp:1552

Original change's description:
> prealloc room for some number of Elements to avoid malloc
>
> I chose 16, as in my test case from android, the depth was
> at least 9. Possibly we could make it even smaller if our
> underlying impl (SkDeque) would never prune its allocations,
> so that we don't malloc repeatedly if we save/restore/save/restore
> across the boundary of the first/nth chunk...
>
> BUG=skia:
>
> Change-Id: Id3f0b900b1931f713f80a664f2b4b142f264be8d
> Reviewed-on: https://skia-review.googlesource.com/9522
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

Change-Id: I22c45970b1e3f585087ed22f75c300df00c8124d
Reviewed-on: https://skia-review.googlesource.com/9505
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
94cbbba96f1a2a425663e631c09591023f2e48d7 09-Mar-2017 Mike Reed <reed@google.com> prealloc room for some number of Elements to avoid malloc

I chose 16, as in my test case from android, the depth was
at least 9. Possibly we could make it even smaller if our
underlying impl (SkDeque) would never prune its allocations,
so that we don't malloc repeatedly if we save/restore/save/restore
across the boundary of the first/nth chunk...

BUG=skia:

Change-Id: Id3f0b900b1931f713f80a664f2b4b142f264be8d
Reviewed-on: https://skia-review.googlesource.com/9522
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
8310f0e051e5cb19206428336720bd9988190416 08-Mar-2017 Mike Reed <reed@google.com> Revert "remove SkClipVisitor"

This reverts commit 91b961d33d1d3e78c212be8738c1c7c468c358ca.

Reason for revert: need to update caller in android

Original change's description:
> remove SkClipVisitor
>
> With new device clipping, this is unsupported on SkCanvas
>
> BUG=skia:
>
> Change-Id: I39443f213be1005b8b9208d604e4bfb31cbda424
> Reviewed-on: https://skia-review.googlesource.com/9349
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

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

Change-Id: I22df0c66ec564ca32355179d2ee5ea14bff7b1d5
Reviewed-on: https://skia-review.googlesource.com/9456
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
91b961d33d1d3e78c212be8738c1c7c468c358ca 08-Mar-2017 Mike Reed <reed@google.com> remove SkClipVisitor

With new device clipping, this is unsupported on SkCanvas

BUG=skia:

Change-Id: I39443f213be1005b8b9208d604e4bfb31cbda424
Reviewed-on: https://skia-review.googlesource.com/9349
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkClipStack.cpp
f3ee34f1eca8f32fa0ec5494c335ce75382420a7 07-Feb-2017 Hal Canary <halcanary@google.com> SkClipStack: add bounds() and isEmpty() methods

Also: update some of SkPDF to use these rather than the RasterClip.

Change-Id: I5a2564d2269c145135df6a8eda65ab05e4aeaf14
Reviewed-on: https://skia-review.googlesource.com/8159
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkClipStack.cpp
5f1bb0a7c5186e797aa0f0d447a68fc3fbf3c2fe 12-Dec-2016 Stan Iliev <stani@google.com> Add a method in SkCanvas to set "hard" clip bounds.

Add SkCanvas::setBoundRect, which sets the max clip rectangle,
which can be replaced by clipRect, clipRRect and clipPath.

BUG=skia:

Change-Id: Ie39eb1715214971576e7a1dda760c6997a7e0208
Reviewed-on: https://skia-review.googlesource.com/5359
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
/external/skia/src/core/SkClipStack.cpp
ebfce6d9b42198e04288a15953f40c395a7b6139 12-Dec-2016 Mike Reed <reed@google.com> change SkClipOp to a class enum

BUG=skia:

Change-Id: I25dbe6d6b8666a2a0a7be7bdd2ae0b067868d14e
Reviewed-on: https://skia-review.googlesource.com/5718
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
c1f7774e8d327e3c98b4094c9c01d26e27013f71 09-Dec-2016 Mike Reed <reed@google.com> Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"

This reverts commit a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72.

BUG=skia:

Change-Id: I717de6e5fcd4516aa684b014b1414b0f82ac2b91
Reviewed-on: https://skia-review.googlesource.com/5722
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
/external/skia/src/core/SkClipStack.cpp
a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72 09-Dec-2016 Mike Reed <reed@google.com> Revert "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"

This reverts commit 8e7432b7f98dd592e529a0c8bb038d73ebfb0478.

Reason for revert: <INSERT REASONING HERE>

external/skia/bench/../tools/android/SkAndroidSDKCanvas.h:103:36: error: C++ requires a type specifier for all declarations
void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override;

Original change's description:
> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS
>
>
> switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone
>
> BUG=skia:
>
> Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
> Reviewed-on: https://skia-review.googlesource.com/5714
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

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

Change-Id: If26ea91d7464615e43c1d3d2f726e337ff56b55c
Reviewed-on: https://skia-review.googlesource.com/5721
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
8e7432b7f98dd592e529a0c8bb038d73ebfb0478 08-Dec-2016 Mike Reed <reed@google.com> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS


switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone

BUG=skia:

Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
Reviewed-on: https://skia-review.googlesource.com/5714
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/core/SkClipStack.cpp
a3b45d4f7db953472df4f11ab1595964b65175f9 03-Oct-2016 Brian Salomon <bsalomon@google.com> Move clip CTM application to SkRasterClip and SkClipStack

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

Change-Id: I914a57d6ba128acc457e12586c99ba6766eb940c
Reviewed-on: https://skia-review.googlesource.com/2866
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
/external/skia/src/core/SkClipStack.cpp
73603f3c52ffd89fe9d035be827b566a0e7d3b79 20-Sep-2016 reed <reed@google.com> abstract name of clipping ops, to transtion to a more restricted set

SkRegion::Op --> SkCanvas::ClipOp (alias) --> SkClipOp

pre-CL needed in chrome : https://codereview.chromium.org/2355583002/

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

Review-Url: https://codereview.chromium.org/2355483002
/external/skia/src/core/SkClipStack.cpp
cb31e51d9355adb1d25ce3e121cde21b05ecf63e 26-Aug-2016 bsalomon <bsalomon@google.com> Converts a drawPaint through a rrect clip to a drawRRect in GrDrawContext.

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

Review-Url: https://codereview.chromium.org/2271053004
/external/skia/src/core/SkClipStack.cpp
4d2cce442dc2d5a7b35c0ed65c725d0686071e23 22-Aug-2016 reed <reed@google.com> check for wide-open inside quickContains

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

Review-Url: https://codereview.chromium.org/2263373002
/external/skia/src/core/SkClipStack.cpp
7f0d9f39206d0bf67e0a14e9cf3351243c9b5a1b 15-Aug-2016 bsalomon <bsalomon@google.com> Attempt to throw away rrect clips of rrects.

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

Review-Url: https://codereview.chromium.org/2241273003
/external/skia/src/core/SkClipStack.cpp
d50e2401787dc5632453293b65f8255b12450b9b 22-Jul-2016 csmartdalton <csmartdalton@google.com> Fix SkClipStack bug with inverse-filled difference elements

Previously, SkClipStack would call "setEmpty" on itself when an
inverse-filled difference element made the stack empty. This was
a problem because setEmpty would forget the element had an inverse
fill, yet leave the op as "difference". This change modifies it to
manually update the clip bounds and set the gen-ID to kEmptyGenID,
rather than calling setEmpty.

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

Review-Url: https://codereview.chromium.org/2175493002
/external/skia/src/core/SkClipStack.cpp
efe46d20949efbc59bedd1f28e6f42a0dd069688 29-Apr-2016 djsollen <djsollen@google.com> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.

The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1931903002
DOCS_PREVIEW= https://skia.org/?cl=1931903002

Review-Url: https://codereview.chromium.org/1931903002
/external/skia/src/core/SkClipStack.cpp
28d5bdd97ebbbdfff49d2e719b24a6343b0f0b48 28-Apr-2016 reed <reed@google.com> Revert of Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER. (patchset #2 id:20001 of https://codereview.chromium.org/1927583002/ )

Reason for revert:
still blocking DEPS roll

Original issue's description:
> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.
>
> The Release_Developer build type is now used to build Skia with
> release level optimizations but still enable SK_DEBUG. This in turn
> means that SkASSERTS and SkRTConf are available in this mode.
>
> Further we can then remove SK_DEVELOPER as a define as it is true
> iff SK_DEBUG is true.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
> DOCS_PREVIEW= https://skia.org/?cl=1927583002
>
> Committed: https://skia.googlesource.com/skia/+/48d6f88479e72efaf9b9d8f9c0769acb1ba773db

TBR=bungeman@gmail.com,bungeman@google.com,benjaminwagner@google.com,djsollen@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/1918253006
/external/skia/src/core/SkClipStack.cpp
48d6f88479e72efaf9b9d8f9c0769acb1ba773db 27-Apr-2016 djsollen <djsollen@google.com> Repurpose Release_Developer BUILDTYPE and remove SK_DEVELOPER.

The Release_Developer build type is now used to build Skia with
release level optimizations but still enable SK_DEBUG. This in turn
means that SkASSERTS and SkRTConf are available in this mode.

Further we can then remove SK_DEVELOPER as a define as it is true
iff SK_DEBUG is true.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1927583002
DOCS_PREVIEW= https://skia.org/?cl=1927583002

Review-Url: https://codereview.chromium.org/1927583002
/external/skia/src/core/SkClipStack.cpp
b893a4c569d0719a395abffb266d1d61af847e2f 17-Mar-2016 cdalton <cdalton@nvidia.com> Add asRRect method to SkClipStack::Element

Adds an asRRect method alongside asPath, for clip implementations that
can be generalized to round rects.

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

Review URL: https://codereview.chromium.org/1793373002
/external/skia/src/core/SkClipStack.cpp
4d8762f8b055b9211a465bf67f136f496c5d182a 26-Oct-2015 robertphillips <robertphillips@google.com> Fix up the clip mask manager's creation of paths (w.r.t. volatility)

I don't expect this to make any difference (perf-wise) but it seems more correct.

This CL relies on https://codereview.chromium.org/1421533007/ (Fix ClipMaskManager's SW-fallback logic)

Committed: https://skia.googlesource.com/skia/+/953fe3139fa60ce56abcfa45a3647d924e637083

Review URL: https://codereview.chromium.org/1419403002
/external/skia/src/core/SkClipStack.cpp
ee7d516d4bc13a0e449ccdc55a3858845516b864 26-Oct-2015 robertphillips <robertphillips@google.com> Revert of Fix up the clip mask manager's creation of paths (w.r.t. volatility) (patchset #1 id:1 of https://codereview.chromium.org/1419403002/ )

Reason for revert:
Logic may be incorrect

Original issue's description:
> Fix up the clip mask manager's creation of paths (w.r.t. volatility)
>
> I don't expect this to make any difference (perf-wise) but it seems more correct.
>
> This CL relies on https://codereview.chromium.org/1421533007/ (Fix ClipMaskManager's SW-fallback logic)
>
> Committed: https://skia.googlesource.com/skia/+/953fe3139fa60ce56abcfa45a3647d924e637083

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

Review URL: https://codereview.chromium.org/1415413007
/external/skia/src/core/SkClipStack.cpp
953fe3139fa60ce56abcfa45a3647d924e637083 26-Oct-2015 robertphillips <robertphillips@google.com> Fix up the clip mask manager's creation of paths (w.r.t. volatility)

I don't expect this to make any difference (perf-wise) but it seems more correct.

This CL relies on https://codereview.chromium.org/1421533007/ (Fix ClipMaskManager's SW-fallback logic)

Review URL: https://codereview.chromium.org/1419403002
/external/skia/src/core/SkClipStack.cpp
b906daf112416c1698a79cf51aa70fe11aa19d0a 29-Sep-2015 herb <herb@google.com> Have /src files use header directly.

BUG=skia:

Review URL: https://codereview.chromium.org/1373253003
/external/skia/src/core/SkClipStack.cpp
e6e41a8a19976a822de36379db23184ff2f28601 28-Sep-2015 herb <herb@google.com> Move SkAtomics.h to private.

There are no API changes.

TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1369333004
/external/skia/src/core/SkClipStack.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/SkClipStack.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/SkClipStack.cpp
99fe82260633fcf5d92cca38d12ef0937ecca61c 20-Aug-2015 bungeman <bungeman@google.com> Use static_assert instead of SK_COMPILE_ASSERT.

Now that static_assert is allowed, there is no need to use a non-
standard compile time assertion

Review URL: https://codereview.chromium.org/1306443004
/external/skia/src/core/SkClipStack.cpp
1b24933e52f50773de29332387a12721811f3012 07-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

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

BUG=skia:

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

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/core/SkClipStack.cpp
02802f64ea0b1fc9223386328a95280b74092c94 02-Jul-2015 jvanverth <jvanverth@google.com> Revert of Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. (patchset #4 id:60001 of https://codereview.chromium.org/1215393002/)

Reason for revert:
Breaking the roll.

E.g. on android_chromium_gn_compile_dbg:

FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/skia/ext/libskia.SkMemory_new_handler.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=1 -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DDONT_EMBED_BUILD_METADATA -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_CONFIGURATION_POLICY -DENABLE_SUPERVISED_USERS=1 -DENABLE_AUTOFILL_DIALOG=1 -DUSE_PROPRIETARY_CODECS -DV8_USE_EXTERNAL_STARTUP_DATA -DVIDEO_HOLE=1 -DMOBILE_SAFE_BROWSING -DSAFE_BROWSING_SERVICE -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSKIA_IMPLEMENTATION=1 -DSK_ARM_HAS_OPTIONAL_NEON -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DXML_STATIC -I../.. -Igen -I../../third_party/skia/include/private -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/zlib -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -I../../third_party/android_tools/ndk/sources/android/cpufeatures -fno-strict-aliasing -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mthumb -mthumb-interwork -fno-tree-sra -fno-caller-saves -funwind-tables -fPIC -pipe -ffunction-sections -funwind-tables -fno-short-enums -finline-limit=64 -mfpu=vfpv3-d16 -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fvisibility=hidden --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-16/arch-arm -Os -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -Wno-format -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-extra -Wno-ignored-qualifiers -Wno-type-limits -Wno-unused-local-typedefs -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-narrowing -Wno-literal-suffix -Wno-error=c++0x-compat -Wno-non-virtual-dtor -Wno-sign-promo -c ../../skia/ext/SkMemory_new_handler.cpp -o obj/skia/ext/libskia.SkMemory_new_handler.o
../../skia/ext/SkMemory_new_handler.cpp:12:52: fatal error: third_party/skia/include/core/SkThread.h: No such file or directory
#include "third_party/skia/include/core/SkThread.h"

Original issue's description:
> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
>
> SkThread.h doesn't do anything anymore execept include those two,
> and thankfully, it doesn't seem to be mentioned outside Skia.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1214603003
/external/skia/src/core/SkClipStack.cpp
c50acf2321d7a934c80d754e9cbe936dfb8eb4cc 01-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

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

BUG=skia:

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/core/SkClipStack.cpp
ff420217394e6e35e831b11e98b46202e37de23f 30-Mar-2015 robertphillips <robertphillips@google.com> Revert of Remove SkClipStack's manual rounding of BW clip rects (patchset #3 id:80001 of https://codereview.chromium.org/1033453003/)

Reason for revert:
Reverting due to performance regression: https://code.google.com/p/skia/issues/detail?id=3597

Original issue's description:
> Remove SkClipStack's manual rounding of BW clip rects
>
> The full fix for this bug is nudging the image in device space. That is going to be a large change. This CL should address the immediate problem.
>
> This CL will alter the following GMs:
> clipdrawdraw
> convex_poly_clip
> complexclip_bw_*
> filltypespersp
> complexclip3_simple
>
>
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/e523d4f90c3368c555282a98b41ca5ee2045103e

TBR=bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=423834

Review URL: https://codereview.chromium.org/1045853002
/external/skia/src/core/SkClipStack.cpp
e523d4f90c3368c555282a98b41ca5ee2045103e 25-Mar-2015 robertphillips <robertphillips@google.com> Remove SkClipStack's manual rounding of BW clip rects

The full fix for this bug is nudging the image in device space. That is going to be a large change. This CL should address the immediate problem.

This CL will alter the following GMs:
clipdrawdraw
convex_poly_clip
complexclip_bw_*
filltypespersp
complexclip3_simple

BUG=423834

Review URL: https://codereview.chromium.org/1033453003
/external/skia/src/core/SkClipStack.cpp
e85a32d4f8ce7fb9b6aaae89137dbf3766d833f2 10-Feb-2015 robertphillips <robertphillips@google.com> Clean up clipping code a bit

Review URL: https://codereview.chromium.org/913693002
/external/skia/src/core/SkClipStack.cpp
1a481fe4bf632ed4f76cb337691236fabfd4ab03 04-Feb-2015 fmalita <fmalita@chromium.org> [SkSVGDevice] Initial clipping support

Implement SVG clips based on clip stack flattening -
which is now exposed in SkClipStack::asPath() and shared
with SkCanvas's simplify-clip code.

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

Review URL: https://codereview.chromium.org/876923003
/external/skia/src/core/SkClipStack.cpp
7f14c9bbf1954a88226a0b56f1abb1a17f31534c 30-Jan-2015 robertphillips <robertphillips@google.com> Revert of Add device space "nudge" to gpu draws (patchset #6 id:90001 of https://codereview.chromium.org/877473005/)

Reason for revert:
Blink layout tests this time :(

Original issue's description:
> Add device space "nudge" to gpu draws
>
> This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too.
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78
>
> Committed: https://skia.googlesource.com/skia/+/b9329991426d0b77ea194a380d72d73fb855308a

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=423834

Review URL: https://codereview.chromium.org/886153002
/external/skia/src/core/SkClipStack.cpp
b9329991426d0b77ea194a380d72d73fb855308a 30-Jan-2015 robertphillips <robertphillips@google.com> Add device space "nudge" to gpu draws

This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too.

BUG=423834

Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78

Review URL: https://codereview.chromium.org/877473005
/external/skia/src/core/SkClipStack.cpp
9cc2f2613a4fa27de2c6c79830433867c72d8cd5 29-Jan-2015 robertphillips <robertphillips@google.com> Revert of Add device space "nudge" to gpu draws (patchset #5 id:70001 of https://codereview.chromium.org/877473005/)

Reason for revert:
Chrome pixel test :(

Original issue's description:
> Add device space "nudge" to gpu draws
>
> This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too.
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/2d55d07501c56310f97d2092d789a2bc9fa01b78

TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=423834

Review URL: https://codereview.chromium.org/890433003
/external/skia/src/core/SkClipStack.cpp
2d55d07501c56310f97d2092d789a2bc9fa01b78 28-Jan-2015 robertphillips <robertphillips@google.com> Add device space "nudge" to gpu draws

This CL nudges all the GPU draws and clips slightly to match raster's round behavior for BW draws. We assume the effect will be negligible and do it for AA draws too.

BUG=423834

Review URL: https://codereview.chromium.org/877473005
/external/skia/src/core/SkClipStack.cpp
125ee60ed3e510b1b9cbbaae8efdef2df5542ac1 13-Jan-2015 robertphillips <robertphillips@google.com> Revert of Fix GPU clipped-AA vs. non-AA drawRect discrepancy (patchset #2 id:20001 of https://codereview.chromium.org/839883003/)

Reason for revert:
This CL introduces rendering conflicts with hairlines (i.e., the hairlines get overwritten). These conflicts are particularly visible on the following GMs (for the Ubuntu and Android gpu configs):

coloremoji & complexclip2_rrect_bw

Original issue's description:
> Fix GPU clipped-AA vs. non-AA drawRect discrepancy
>
> In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.
>
> BUG=423834
>
> Committed: https://skia.googlesource.com/skia/+/933a03fecb65c83f81cf65d5cf9870c69aa379ff

TBR=bsalomon@google.com,jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
BUG=423834

Review URL: https://codereview.chromium.org/847033002
/external/skia/src/core/SkClipStack.cpp
933a03fecb65c83f81cf65d5cf9870c69aa379ff 13-Jan-2015 robertphillips <robertphillips@google.com> Fix GPU clipped-AA vs. non-AA drawRect discrepancy

In the clip stack we were manually rounding out non-AA clip rects but leaving the hardening of non-AA drawRects up to the GPU. In some border cases the GPU can truncate rather than round out resulting in visual discrepancies.

BUG=423834

Review URL: https://codereview.chromium.org/839883003
/external/skia/src/core/SkClipStack.cpp
2b6ab61e2229bd76291b3d16ad7e386b3075eddb 05-Jan-2015 robertphillips <robertphillips@google.com> Remove SkPath::asRect

AFAICT the asRect entry point is not needed.

Greg: GPU
Reed: API
Cary: Path

Review URL: https://codereview.chromium.org/833193002
/external/skia/src/core/SkClipStack.cpp
0deb2d9c5d62f8c16fa6049902f9346af735b496 24-Oct-2014 jvanverth <jvanverth@google.com> Add some more volatile paths.

Some clip paths were not marked as volatile, and ending up in the
distance field path renderer when they shouldn't.

BUG=skia:3066

Review URL: https://codereview.chromium.org/680543002
/external/skia/src/core/SkClipStack.cpp
e956259c5a4f71768afb34ec032eaed49dcbe9f2 15-Sep-2014 caryclark <caryclark@google.com> add dumpHex() option to SkPath

This provides exact precision
to help debugging when the float
representation of a SkScalar may
introduce error.

R=reed@google.com

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/571973003
/external/skia/src/core/SkClipStack.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/SkClipStack.cpp
66a5d8bf13fe98baae268db0211e9c25e5ece7fa 24-Jun-2014 caryclark <caryclark@google.com> add path dump test

Add a unit test for SkPath::dump(). The unit test exposed a minor
bug (inconsistent CRs) and an unused parameter (title).

R=bsalomon@google.com
TBR=bsalomon
BUG=skia:1836

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/351833003
/external/skia/src/core/SkClipStack.cpp
b6b02526438d6839481fb40ccf610d28f7652397 09-Jun-2014 bsalomon <bsalomon@google.com> Add dump() to SkClipStack to help with debugging.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/311263015
/external/skia/src/core/SkClipStack.cpp
c3b589a24eb4d567a906189f882c259ecf5c2f58 05-Jun-2014 fmalita <fmalita@chromium.org> SkClipStack::Element tweaks.

(
This is intended to facilitate efficient kMatrix_SaveFlags emulation
on restore():

* collect all clip stack elements for the current save count into a
side clip stack
* canvas.restore(everything)
* replay the collected clip ops to restore the initial clip state
=> we restored the matrix but the clip state is unchanged
)

Two main changes:

* expose the save count for SkClipStack::Element
* expose a replay method for the same (logic relocated from
SkCanvas::replayClips)

The SkCanvas::ClipVisitor shuffling is to enable forward decl
in SkClipStack.h (cannot fwdecl a nested class).

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/269693003
/external/skia/src/core/SkClipStack.cpp
6f954b956fc5c36ebbcac404d93ba9349fb0355f 27-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use SkTLazy to hold path in SkClipStack::Element

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13610 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
032a52fd4ceda001e44b80ff0462b570817bfe6f 21-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use SkRRect to store rects in SkClipStack::Element


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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13544 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
9cb671a0017e8f2906e8351ff35efcd6d8fbf7b0 16-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix calling undef inline func build error

Fixes error introduced in https://code.google.com/p/skia/source/detail?r=13465

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13466 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
e5b2af955b7d06815ddd405659ad62a2a8355ca3 16-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Store SkRRects in SkClipStack

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

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13465 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
86b39f311e174ddbd0d2f8de8d18dd45a8a2334f 06-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Avoid some work on SkClipStack equality when the topmost genids match

Two clip stacks are defined being equal if the topmost genids match.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12909 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.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/SkClipStack.cpp
d3e5842db0cb169e10d6da1e62c94ba5cf182bb4 05-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Avoid re-rendering stencil clip for every draw with reducable clip stack

Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.

Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to

a) clip stack reduction creating new elements in the element list.

b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.

Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.

Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.

The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.

Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.

Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.

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

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12127 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
f0784bde753feaff601f703089872fc1af265328 01-Nov-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Avoid re-rendering stencil clip for every draw with reducable clip stack"

This reverts commit 92a7d4bf6a371f1f864154be902e8d86938e560b.

Revert "fix mac 10.6 build"

This reverts commit 114cd1a9f2734aaed6914718814364811b78bd7f.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12087 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
679eb674fc064993d534df4d48a4ddaff4e33e06 01-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Avoid re-rendering stencil clip for every draw with reducable clip stack

Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.

Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to

a) clip stack reduction creating new elements in the element list.

b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.

Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.

Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.

The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.

Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.

Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12084 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
6fbe54c663bd0eed6f6519c31a4c8e291db2613b 11-Jun-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Compact the clipstack for kReplace_Op'd geometry

When adding a clip rect or clip path to the stack with the
kReplace_Op operation, remove all previous elements within the
same save frame (elements with fSaveCount equal to the current
fSaveCount of the stack). This prevents unbounded growth of the
clipstack for long-lived instances that gets reused.

Addresses https://code.google.com/p/skia/issues/detail?id=748

R=robertphillips@google.com

Author: fs@opera.com

Review URL: https://chromiumcodereview.appspot.com/16160020

git-svn-id: http://skia.googlecode.com/svn/trunk@9502 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
8cdf0f52ff395d4053f7ed5c20861c42eba25d31 12-Dec-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Adding quickContains API method to SkClipStack

BUG=http://code.google.com/p/chromium/issues/detail?id=164580
TEST=unit test ClipStack/quickContains
Review URL: https://codereview.appspot.com/6919044

git-svn-id: http://skia.googlecode.com/svn/trunk@6760 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
edf32d5b0e7694833287024e03da38521a0adf05 10-Dec-2012 junov@chromium.org <junov@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fixing SkClipStack::clipDevPath so that it will not convert rectangular paths to rectangle clips if inverse fill.

BUG=http://code.google.com/p/chromium/issues/detail?id=164580
TEST=unit test ClipStackTest/test_rect_inverse_fill
Review URL: https://codereview.appspot.com/6880044

git-svn-id: http://skia.googlecode.com/svn/trunk@6731 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
c6b3e48cb3a22d83ba3f4b9a614a5a35b05958a0 07-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Improve handling of inverse clip paths in GrClipMaskManager.

Will require rebaselining of complexclip_aa and complexclip_aa_layer on GPU.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6907052

git-svn-id: http://skia.googlecode.com/svn/trunk@6712 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
8182fa0cac76e7e6d583aebba060229230516887 04-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make SkClipStack::Iter use SkClipStack::Element.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6871051

git-svn-id: http://skia.googlecode.com/svn/trunk@6661 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
5fac58c91d8053dcc05c5bc72cfccee9246d9add 29-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove SkClipStack::Iter::combinedNext.
Review URL: https://codereview.appspot.com/6844114

git-svn-id: http://skia.googlecode.com/svn/trunk@6619 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
8a98e3bd18f1a8914cbfe1461e1ff47f51286556 29-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make SkClipStack::Element public.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6858096

git-svn-id: http://skia.googlecode.com/svn/trunk@6617 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
417bc1382ee527077d96414552b52050335b3350 29-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Change SkClipStack::Element::State to SkClipStack::Type, rename Comine* members to combine*

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6844113

git-svn-id: http://skia.googlecode.com/svn/trunk@6607 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
9128edc700ce1b722f1290c585af829542f98a33 29-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename SkClipStack::Rec to SkClipStack::Element

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6854115

git-svn-id: http://skia.googlecode.com/svn/trunk@6605 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
edb26fdb8349a727b226e90cbeab06cd25f5cac0 28-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Set empty/wide-open genID on clip stack in more places and fix a bug in GrReduceClipStack.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6847116

git-svn-id: http://skia.googlecode.com/svn/trunk@6579 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
51a6286c241c1dc750d263ed9676079c898148b0 26-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a function that computes a reduced representation of the clip stack.

Also adds a unit test. The function is not yet used other than in the test.
Review URL: https://codereview.appspot.com/6855098

git-svn-id: http://skia.googlecode.com/svn/trunk@6553 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
2e0c79fb637c870780e7a041259e7bdc1443cd63 12-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert 6351 due to bugs.



git-svn-id: http://skia.googlecode.com/svn/trunk@6377 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
6794a258e39358e8003b5106247db1b6812d8c84 08-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Apply intersect rects to earlier clip elements and skip rects when possible.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6814105

git-svn-id: http://skia.googlecode.com/svn/trunk@6351 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
e8ca6c6e3a55634ac76efe5aceafaf8d669f43ba 07-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Combine multiple intersecting rects in SkClipStack::Iter.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6816104

git-svn-id: http://skia.googlecode.com/svn/trunk@6339 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
7b7cdd147f5528865238e5ed98c79e6d319fde9b 07-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Some improvements to reduce the number of pixels touched in generating alpha clip masks
Review URL: https://codereview.appspot.com/6828043

git-svn-id: http://skia.googlecode.com/svn/trunk@6329 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
5b6f91643d3ad1bdcdd65329d656f0fc43174be3 12-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@5908 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
3ab43d5c5b4d77f46dd0266618f92e5fefce2021 11-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Minimize use of SkDraw's matrix in SkGpuDevice.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6604068

git-svn-id: http://skia.googlecode.com/svn/trunk@5906 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.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/SkClipStack.cpp
f9a90847820a8ec4a3c97a2b544c622e3ca6b09a 17-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Decrease SkClipStack memory allocations & deallocations

http://codereview.appspot.com/6443138



git-svn-id: http://skia.googlecode.com/svn/trunk@5151 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
63ae1cfb10d0d14722df59cba0012f8a4370c090 17-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make SkDeque::back faster & inline

http://codereview.appspot.com/6462073/



git-svn-id: http://skia.googlecode.com/svn/trunk@5149 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
0557d9ea94d5435a9072c9b4141a05190d648442 16-Aug-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add SkClipStack::clipEmpty() as an optimized way to say clipDevRect(empty, intersect)
if the caller knows up-front that it wants the clipstact to become empty.
Review URL: https://codereview.appspot.com/6443132

git-svn-id: http://skia.googlecode.com/svn/trunk@5127 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
73e71023a05393ef0aa12bf3644a1c704feeec0c 09-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added method of getting top genID from SkClipStack

http://codereview.appspot.com/6446108/



git-svn-id: http://skia.googlecode.com/svn/trunk@5034 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
b9640612b9c812ca69d2e0657f3eb5c5ff036a3c 07-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for r4978 unit test failure. TBR by Brian



git-svn-id: http://skia.googlecode.com/svn/trunk@4983 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
46f935002c2b25331e552520dc7b1a912e12dfdc 07-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added SkClipStack portion of new clip mask caching system

http://codereview.appspot.com/6449089/



git-svn-id: http://skia.googlecode.com/svn/trunk@4978 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
08eacc144711cd5d33513b2fba7a635ad28b7208 02-Aug-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added check for aa/bw rect merging

http://codereview.appspot.com/6449079/



git-svn-id: http://skia.googlecode.com/svn/trunk@4907 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
641f8b19a6799b6d73ac17b9c2d2f8a5e6f5ad4d 31-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace GrClip with SkClipStack

http://codereview.appspot.com/6449070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
7b11289b4e4d117bbcee6d2460b057d0fcf6e437 31-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added dev- & canv- prefixes to Ganesh bounding boxes to indicate coordinate space

http://codereview.appspot.com/6457061/



git-svn-id: http://skia.googlecode.com/svn/trunk@4856 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
cc6493bbef7c9c2adf4b1ed8701e2ed015ae745d 26-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added ctor to SkClipStack and isEmpty method

http://codereview.appspot.com/6444048/



git-svn-id: http://skia.googlecode.com/svn/trunk@4787 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
4c2a2f7c5e8ec77771153f94c454adf21fd33805 25-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added isIntersectionOfRects to SkClipStack

http://codereview.appspot.com/6434050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4745 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
607fe077c893fdb230e29631be096de614a14e2a 24-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Added bound computation to SkClipStack

http://codereview.appspot.com/6419048/

This will require re-baselining of complexclip* and filltypespersp



git-svn-id: http://skia.googlecode.com/svn/trunk@4730 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
a6f11c4f717961070cd6fc5e60c361db14c5c4f3 23-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Gave GrClip an SkClipStack-style iterator

http://codereview.appspot.com/6434046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4723 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
80214e26c57c5fea954006400852e8999e201923 20-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Made clarifying renamings to SkClipStack's iterators (and added to unit test)

http://codereview.appspot.com/6423051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4692 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
5836b6dec5563e6273099fcf23984dd3818a168f 18-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add skipToLast method to SkClipStack

http://codereview.appspot.com/6411043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4644 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
52cb2c7cdf87f1e7d4b5d24b3609aaa514a26c10 16-Jul-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Extended SkDeque's reverse iteration capability to SkClipStack

http://codereview.appspot.com/6409046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4631 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
610f716b00f214e4899a102c1bbc1d6a323e114e 14-Mar-2012 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix four memory leaks uncovered by valgrinding gm tests.

All are triggered by PDF code.
Two are missing unref's on SkData.
One is a missing unref on a SkAdvancedTypefaceMetrics.
The last is missing destruction of SkClipStack internal state.

BUG=526

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3386 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
4c4337291d873c4f27cb7903645863dc65b98a7b 09-Mar-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> If we try to clip against a path and the path only contains a rect, treat it as a clip against a rect.
(Works around a performance issue: JavaScript Canvas2D API only provides canvas.clipPath(), and we don't
optimize path clips nearly as much as we can rects; this shows up more in Ganesh than in the software
rasterizer.)

http://codereview.appspot.com/5795044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3355 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
0017708a5bcb6d0fbff0fac565085bef65de7433 12-Oct-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> use SkRasterClip inside canvas (check-point for soft clipping)



git-svn-id: http://skia.googlecode.com/svn/trunk@2462 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.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/SkClipStack.cpp
e1bc274295ec57cb3d3f01aaa8abff3b49c76c73 22-Jun-2011 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix a batch of coverity defects, uninitialized class fields.

In SkClipStack::B2FIter::Clip, SkWriter32, SkClipStack::Rec, SkDeque::F2BIter, SkPDFShader::State
CID 15427,15433,15533,15532,16274,16740

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1669 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
e03c652478aba1f632d5bf7c966617621be84155 21-Jun-2011 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Handle possibly NULL deref in comparison

Committed on behalf of groby@chromium.org

OCL=http://codereview.appspot.com/4633058/
CID=16790,16789

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1666 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
8887ede82465687355c7a1c51e4553e99b2fb15a 25-May-2011 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> [PDF] Improve the SkClipStack skipping prefix code.

Because of intersecting done in SkClipStack, we may have to do more work in the last entry of the prefix.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1418 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
9fbdf875183f5142b8e0ba46ab430cc46ad701bf 09-May-2011 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> [PDF] Refactor content stream creation in SkPDFDevice to support more xfermodes.

Instead of writing all drawing and state updates into the final content stream immediately, this change creates a new ContentEntry each time the transform, clip, or paint changes. Drawing is done into a stream in the ContentEntry. When the consumer asks for the content, we combine all the ContentEntries with appropriate updates to the state (clip, transform, paint) in between. This allows us to modify the clip even after a drawing has completed. It also lets us remove ContentEntries with no drawing. Further optimization can be done to better use the stack features of PDF, for now we follow the previous model of having a single clip followed by a single transform on the graphic state stack.

Push rectangle logic into SkPDFUtil::AppendRectangle.
Change private functions to adhere to coding standards.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1269 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
1e1c36f4f89ad39e1d248edb745919e493242c68 03-May-2011 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add comparison and assignment to SkClipStack (and fix an optimization bug).

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1230 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
d302f1401b3c9aea094804bad4e76de98782cfe8 03-Mar-2011 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add support for clipstack to Gr. GrClip is now a list of rects and paths with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL.

git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkClipStack.cpp
5c3d1471e4908706cd053a5e2ea9ded3a6c2eaeb 22-Feb-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
want to see how the clip was built



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