aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkClipStack.h
Commit message (Collapse)AuthorAge
* Rename methods and enum on SkClipStack::Element to indicate "device space"Gravatar Brian Salomon2017-08-30
| | | | | | | 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>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Move transformation of clip elements to SkClipStack::ElementGravatar Brian Salomon2017-08-28
| | | | | | | 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>
* Deinline methods of SkClipStack::ElementGravatar Brian Salomon2017-08-22
| | | | | | | 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>
* Improve handling of clip stack IDGravatar Robert Phillips2017-06-28
| | | | | | | 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>
* add flag to hide deprecated clipopsGravatar Mike Reed2017-05-10
| | | | | | | | | | | | needs this to land first https://codereview.chromium.org/2877493002/# Bug: skia:3191 Change-Id: Iff5271064877c4e96353d3564464f513eaad0bb5 Reviewed-on: https://skia-review.googlesource.com/16365 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove dead code around replayClipsGravatar Mike Reed2017-04-13
| | | | | | | | 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>
* add guard for obsolete (non-functioning) replayClipsGravatar Mike Reed2017-04-06
| | | | | | | | | | | | 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>
* use AutoRestore instead of making a copy of the clipstackGravatar Mike Reed2017-03-13
| | | | | | | | | BUG=skia: Change-Id: I86683156926f7c63c83790eaf313112ba5fab763 Reviewed-on: https://skia-review.googlesource.com/9532 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* clipstacks can be on the stack or embedded, therefore should not be ref-countedGravatar Mike Reed2017-03-10
| | | | | | | | | BUG=skia: Change-Id: I7e16034d463a1db1baac404f775cf33076cbbf73 Reviewed-on: https://skia-review.googlesource.com/9509 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Clients can provide preallocated storage to clipstackGravatar Mike Reed2017-03-10
| | | | | | | | | | | | | | | | | | | | 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>
* Revert "prealloc room for some number of Elements to avoid malloc"Gravatar Mike Reed2017-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* prealloc room for some number of Elements to avoid mallocGravatar Mike Reed2017-03-10
| | | | | | | | | | | | | | | 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>
* Revert "remove SkClipVisitor"Gravatar Mike Reed2017-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* remove SkClipVisitorGravatar Mike Reed2017-03-08
| | | | | | | | | | | | 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>
* SkClipStack: add bounds() and isEmpty() methodsGravatar Hal Canary2017-02-22
| | | | | | | | | 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>
* Revert "Revert "make SkClipStack.h private (in src)""Gravatar Mike Reed2017-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1c8e82b72bfeb1a02297688cf082c365b62705f7. Reason for revert: previous reason to revert fixed. relanding. Original change's description: > Revert "make SkClipStack.h private (in src)" > > This reverts commit 3efca0a2a8fc412a318199fa386c1375b55ee81e. > > Reason for revert: update caller in GraphicsContext.cpp > > Original change's description: > > make SkClipStack.h private (in src) > > > > BUG=skia: > > > > Change-Id: I05f1140fe483f4a92093cb9783c6e9f067420d30 > > Reviewed-on: https://skia-review.googlesource.com/8481 > > Reviewed-by: Florin Malita <fmalita@chromium.org> > > Commit-Queue: Mike Reed <reed@google.com> > > > > TBR=fmalita@chromium.org,reed@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Change-Id: Iff1138d72ff2d1187d522487fe76ea293f706f60 > Reviewed-on: https://skia-review.googlesource.com/8501 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=reviews@skia.org,fmalita@chromium.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: If7e54653c00a0c57ffa60b0c9f40dd0ffad2fe42 Reviewed-on: https://skia-review.googlesource.com/8522 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "make SkClipStack.h private (in src)"Gravatar Mike Reed2017-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3efca0a2a8fc412a318199fa386c1375b55ee81e. Reason for revert: update caller in GraphicsContext.cpp Original change's description: > make SkClipStack.h private (in src) > > BUG=skia: > > Change-Id: I05f1140fe483f4a92093cb9783c6e9f067420d30 > Reviewed-on: https://skia-review.googlesource.com/8481 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> > TBR=fmalita@chromium.org,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Iff1138d72ff2d1187d522487fe76ea293f706f60 Reviewed-on: https://skia-review.googlesource.com/8501 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* make SkClipStack.h private (in src)Gravatar Mike Reed2017-02-15
BUG=skia: Change-Id: I05f1140fe483f4a92093cb9783c6e9f067420d30 Reviewed-on: https://skia-review.googlesource.com/8481 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>