History log of /external/skia/src/core/SkPathPriv.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c88cb8942e9b0097784d048dc2734b9e0d4391d1 15-Dec-2015 ethannicholas <ethannicholas@google.com> Fix for GrAALinearizingConvexPathRenderer incorrectly drawing non-convex paths

BUG=552080

Review URL: https://codereview.chromium.org/1522973002
/external/skia/src/core/SkPathPriv.h
84cd621670a357484e1674e06d3d8d6f929a4ab2 04-Aug-2015 senorblanco <senorblanco@chromium.org> Implement caching of filled paths in the tessellated path renderer.

Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.

Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.

In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.

Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.

BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004

Committed: https://skia.googlesource.com/skia/+/468dfa72eb6694145487be17876804dfca3b7adb

Review URL: https://codereview.chromium.org/1114353004
/external/skia/src/core/SkPathPriv.h
562a66b093c45e2788aab1572d6138eb39c6dc37 04-Aug-2015 mtklein <mtklein@chromium.org> Revert "Implement caching of filled paths in the tessellated path renderer."
This reverts commit 468dfa72eb6694145487be17876804dfca3b7adb.

This CL caused signficant GM diffs.

Revert "Fix resource cache test."
This reverts commit b001c41ed37d2018d38ce787b412ed741585d75d.
Revert "Fix SkData leaks at GrResourceKey::setCustomData() call sites."
This reverts commit c369348aa596d7be05c9ce0ca5d349e5d1903789.

These CLs depend on the first one.

BUG=skia:
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1260363007
/external/skia/src/core/SkPathPriv.h
468dfa72eb6694145487be17876804dfca3b7adb 03-Aug-2015 senorblanco <senorblanco@chromium.org> Implement caching of filled paths in the tessellated path renderer.

Paths are cached as tessellated triangle meshes in vertex buffers on the GPU. Stroked paths are not (yet) cached.

Paths containing no curved segments (linear paths) are reused at all scales. Paths containing curved segments are reused within a scale tolerance threshold.

In order to invalidate the cache when an SkPath is changed or deleted,
this required implementing genID change notification in SkPath. This is
modelled almost exactly on SkPixelRef::GenIDChangeListener.
However, It does not currently implement the check for unique genIDs,
so notifiers will fire when the first instance of an SkPathRef
using a given genID is destroyed.

Another caveat is that you cannot successfully add a change notifier
to an empty path, since it uses the "canonical" empty path which is
never modified or destroyed. For this reason, we prevent adding
listeners to it.

BUG=skia:4121,skia:4122, 497403
DOCS_PREVIEW= https://skia.org/?cl=1114353004

Review URL: https://codereview.chromium.org/1114353004
/external/skia/src/core/SkPathPriv.h
1e8a58b5680508c241f25f03af5b57502221f215 29-Jul-2015 Mike Klein <mtklein@google.com> Revert "Move headers with no dependencies."

This reverts commit 117842223bd13325b6da26110d80e0590c1a742b.

No good:
https://uberchromegw.corp.google.com/i/client.skia/builders/Mac%20Builder/builds/3465/steps/compile/logs/stdio

BUG=skia:4126

Review URL: https://codereview.chromium.org/1262173002 .
/external/skia/src/core/SkPathPriv.h
117842223bd13325b6da26110d80e0590c1a742b 29-Jul-2015 mtklein <mtklein@chromium.org> Move headers with no dependencies.

C.f. https://codereview.chromium.org/1261013003/

BUG=skia:4126

Will follow up with two more CLs if this works:
- one moving SkRecords.h
- one moving SkMiniRecorder.h

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

Review URL: https://codereview.chromium.org/1266593002
/external/skia/src/core/SkPathPriv.h
3a4b13498885dc42970b9795c0cc3d71fcb8b810 28-Jul-2015 Mike Klein <mtklein@google.com> Revert "Move the rest of src headers used by include to include/private."

This reverts commit d12e6ffa5cc1c1af47bf73c7c127d8d7f7443058.

Our Chrome roll canaries are failing with the dreaded
Ninja-says-there's-more-work-to-do message. I will break this up
smaller (if possible) and try again tomorrow.

BUG=skia:4126

Review URL: https://codereview.chromium.org/1258293004 .
/external/skia/src/core/SkPathPriv.h
d12e6ffa5cc1c1af47bf73c7c127d8d7f7443058 28-Jul-2015 mtklein <mtklein@chromium.org> Move the rest of src headers used by include to include/private.

$ git grep "../../src/" | grep include

now returns nothing.

BUG=skia:4126

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

Review URL: https://codereview.chromium.org/1261013003
/external/skia/src/core/SkPathPriv.h
478c9e4851eff5feb74dd2f8a14143bec569e1a8 01-Jul-2015 Mike Klein <mtklein@google.com> Revert "Move headers used by headers in include/ to include/private."

This reverts commit 928e16565f3e69cd6661e9ad300ac17e3f33c0c8.

BUG=skia:

Review URL: https://codereview.chromium.org/1213093004.
/external/skia/src/core/SkPathPriv.h
928e16565f3e69cd6661e9ad300ac17e3f33c0c8 01-Jul-2015 mtklein <mtklein@chromium.org> Move headers used by headers in include/ to include/private.

Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h
used by (public) SkPictureRecorder.h.

BUG=skia:

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

Review URL: https://codereview.chromium.org/1217293004
/external/skia/src/core/SkPathPriv.h
4417c7f8bb85aa1eae536cc50c70c0cc87f31171 01-Jul-2015 jvanverth <jvanverth@google.com> Revert "Move headers used by headers in include/ to include/private."

This reverts commit a89f55198bdc58f0b6f6196907ab25a6afc1a661.

Reason: breaking the roll.

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

Review URL: https://codereview.chromium.org/1216033008
/external/skia/src/core/SkPathPriv.h
a89f55198bdc58f0b6f6196907ab25a6afc1a661 01-Jul-2015 mtklein <mtklein@chromium.org> Move headers used by headers in include/ to include/private.

Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h
used by (public) SkPictureRecorder.h.

BUG=skia:

Review URL: https://codereview.chromium.org/1217293004
/external/skia/src/core/SkPathPriv.h
bd5d7e75c1ef08816bfd8eed52150cd716e15d5b 26-Jun-2015 fmalita <fmalita@chromium.org> Revert of Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #1 id:1 of https://codereview.chromium.org/1212833002/)

Reason for revert:
Manual roll is in: https://codereview.chromium.org/1212373002

Let's re-land this.

Original issue's description:
> Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/1180903006/)
>
> Reason for revert:
> speculative revert to try to fix DEPS roll (layouttests)
>
> Original issue's description:
> > added stroking support to GrAALinearizingConvexPathRenderer
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/2436f191e6602953b32a51cf50f2d7a4e2af90fd
>
> TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9730f4a663534009d216c2f6d834bd534dd44a3d

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

Review URL: https://codereview.chromium.org/1209003004
/external/skia/src/core/SkPathPriv.h
9730f4a663534009d216c2f6d834bd534dd44a3d 26-Jun-2015 reed <reed@chromium.org> Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/1180903006/)

Reason for revert:
speculative revert to try to fix DEPS roll (layouttests)

Original issue's description:
> added stroking support to GrAALinearizingConvexPathRenderer
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2436f191e6602953b32a51cf50f2d7a4e2af90fd

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

Review URL: https://codereview.chromium.org/1212833002
/external/skia/src/core/SkPathPriv.h
2436f191e6602953b32a51cf50f2d7a4e2af90fd 25-Jun-2015 ethannicholas <ethannicholas@google.com> added stroking support to GrAALinearizingConvexPathRenderer

BUG=skia:

Review URL: https://codereview.chromium.org/1180903006
/external/skia/src/core/SkPathPriv.h
026beb52a29a620290fcfb24f1e7e9e75547b80f 10-Jun-2015 reed <reed@google.com> SkPath::Direction serves two masters:
- input param to addFoo (e.g. addRect), where only CW or CCW are valid)
- output param from computing functions, that sometimes return kUnknown

This CL's intent is to split these into distinct enums/features:
- Direction (public) loses kUnknown, and is only used for input
- FirstDirection (private) is used for computing the first direction we see when analyzing a contour

BUG=skia:

Review URL: https://codereview.chromium.org/1176953002
/external/skia/src/core/SkPathPriv.h