History log of /external/skia/src/core/SkDistanceFieldGen.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df429f3beac1c191289ba1e3bd918bf84df57bf5 08-Nov-2017 Cary Clark <caryclark@skia.org> move parts of SkPoint to SkPointPriv

Move specialized SkPoint methods to SkPointPriv.
Use constexpr and inline initialization where possible.

R=reed@google.com,bsalomon@google.com
Bug: skia: 6898
Change-Id: I01ec5186f010f2dc80c068c70d9cc352f3221338
Reviewed-on: https://skia-review.googlesource.com/68700
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
/external/skia/src/core/SkDistanceFieldGen.cpp
95e3c058ef633782f7549e9e1c2727d60dbc8ee5 11-Jan-2017 Hal Canary <halcanary@google.com> SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h

* SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr).

* SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h

* "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);"

Revert "Revert 'SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h'"
This reverts commit c456b73fef9589bbdc5eb83eaa83e53c357bb3da.

Change-Id: Ie2c1a17c20134b8ceab85a68b3ae3e61c24fbaab
Reviewed-on: https://skia-review.googlesource.com/6886
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkDistanceFieldGen.cpp
c456b73fef9589bbdc5eb83eaa83e53c357bb3da 11-Jan-2017 Kevin Lubick <kjlubick@google.com> Revert "SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h"

This reverts commit a5494f117086d712855e4b6289c58c92d1549bcf.

Reason for revert: Broke Google3

Original change's description:
> SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h
>
> * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr).
>
> * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h
>
> * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);"
>
> Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88
> Reviewed-on: https://skia-review.googlesource.com/4543
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>

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

Change-Id: Ie8bd176121c3ee83c110d66c0d0ac65e09bfc9c5
Reviewed-on: https://skia-review.googlesource.com/6884
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
/external/skia/src/core/SkDistanceFieldGen.cpp
a5494f117086d712855e4b6289c58c92d1549bcf 10-Jan-2017 Hal Canary <halcanary@google.com> SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h

* SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr).

* SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h

* "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);"

Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88
Reviewed-on: https://skia-review.googlesource.com/4543
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkDistanceFieldGen.cpp
18fa6421e9cb7ac2ea6b1a97112a115d6643c0fc 27-Oct-2016 Hal Canary <halcanary@google.com> chmod -x *.cpp *.h

Change-Id: I5b37499505e26e0837921292c1aea0056e4d5ecd
Reviewed-on: https://skia-review.googlesource.com/4035
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/core/SkDistanceFieldGen.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/SkDistanceFieldGen.cpp
970fd1fbea16da013d5b103182d78499ed85f95f 24-Feb-2016 jvanverth <jvanverth@google.com> Use ARM fixes for SDF encoding.

This pulls out the encoding fixes by Joel Liang from
https://codereview.chromium.org/1643143002/
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1726763002

Review URL: https://codereview.chromium.org/1726763002
/external/skia/src/core/SkDistanceFieldGen.cpp
31d59e71cf5a571ff903d64ba2a6f17b715bfcfb 20-Jan-2016 mtklein <mtklein@google.com> Revert of sdf: use linear edge distance approximation for all gradient directions (patchset #1 id:1 of https://codereview.chromium.org/1545893003/ )

Reason for revert:
breaks roll?

https://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/81753

Original issue's description:
> sdf: use linear edge distance approximation for all gradient directions
>
> Image diff tools tell me there are diffs, but I sure can't see them.
> This drops edge_distance() off the chart as far as CPU cost goes.
>
> BUG=skia:4729
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1545893003
>
> Committed: https://skia.googlesource.com/skia/+/8a87bb4d5c23da83ef406ef87b470afa4217d7a4

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

Review URL: https://codereview.chromium.org/1603953005
/external/skia/src/core/SkDistanceFieldGen.cpp
8a87bb4d5c23da83ef406ef87b470afa4217d7a4 19-Jan-2016 mtklein <mtklein@chromium.org> sdf: use linear edge distance approximation for all gradient directions

Image diff tools tell me there are diffs, but I sure can't see them.
This drops edge_distance() off the chart as far as CPU cost goes.

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

Review URL: https://codereview.chromium.org/1545893003
/external/skia/src/core/SkDistanceFieldGen.cpp
2c2d8ab08c39fad2706895e69dcc9ed1aeb9bb2a 05-Jan-2016 mtklein <mtklein@chromium.org> df generation: single allocation with calloc

The dfStorage DFData allocation can never fit in its stack space: 5px padding on each side always implies at least a 10x10 DFData allocation, but the stack space only fits 64 DFData.

So we've always been spilling to the heap.

If we're going to spill to the heap, we might as well allocate/free all our temporary memory in one block, and since we want it zeroed, might as well calloc.

So in practice this replaces 1-2 malloc, 1-2 free, and 2 bzeros with 1 calloc and 1 free.

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

Committed: https://skia.googlesource.com/skia/+/12204d90337656542a42fa0fcccb7bec13af0cce

CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus6-GPU-Adreno420-Arm7-Release-Trybot

Review URL: https://codereview.chromium.org/1544983004
/external/skia/src/core/SkDistanceFieldGen.cpp
c4a0d73e9aebcb7d291aa3eb8d5b6926d9a0b77e 05-Jan-2016 mtklein <mtklein@google.com> Revert of df generation: single allocation with calloc (patchset #2 id:20001 of https://codereview.chromium.org/1544983004/ )

Reason for revert:
Crashing multiple bots, e.g.
https://uberchromegw.corp.google.com/i/client.skia.android/builders/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/3525

Original issue's description:
> df generation: single allocation with calloc
>
> The dfStorage DFData allocation can never fit in its stack space: 5px padding on each side always implies at least a 10x10 DFData allocation, but the stack space only fits 64 DFData.
>
> So we've always been spilling to the heap.
>
> If we're going to spill to the heap, we might as well allocate/free all our temporary memory in one block, and since we want it zeroed, might as well calloc.
>
> So in practice this replaces 1-2 malloc, 1-2 free, and 2 bzeros with 1 calloc and 1 free.
>
>
> BUG=skia:4729
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1544983004
>
> Committed: https://skia.googlesource.com/skia/+/12204d90337656542a42fa0fcccb7bec13af0cce

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

Review URL: https://codereview.chromium.org/1556263002
/external/skia/src/core/SkDistanceFieldGen.cpp
12204d90337656542a42fa0fcccb7bec13af0cce 05-Jan-2016 mtklein <mtklein@chromium.org> df generation: single allocation with calloc

The dfStorage DFData allocation can never fit in its stack space: 5px padding on each side always implies at least a 10x10 DFData allocation, but the stack space only fits 64 DFData.

So we've always been spilling to the heap.

If we're going to spill to the heap, we might as well allocate/free all our temporary memory in one block, and since we want it zeroed, might as well calloc.

So in practice this replaces 1-2 malloc, 1-2 free, and 2 bzeros with 1 calloc and 1 free.

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

Review URL: https://codereview.chromium.org/1544983004
/external/skia/src/core/SkDistanceFieldGen.cpp
ef3fcd877aa78c1d0ac802043cd8785180304c12 12-Dec-2014 bsalomon <bsalomon@google.com> More win64 warning fixes

Review URL: https://codereview.chromium.org/798723002
/external/skia/src/core/SkDistanceFieldGen.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/SkDistanceFieldGen.cpp
2cfa3200fda29279eba1240170c7e873d12f9d48 20-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix warnings around size_t/int
fix warnings around undeclared (non-static) functions

TBR=bsalomon@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14267 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
762cd804375ff8478427dba4fe29379562b8fb60 15-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move distance field generation to the glyph cache.

Distance fields are currently created in GrTextStrike, which is the wrong place. This moves that to the glyph cache where it belongs.

As part of my testing, I found that when we fall back to paths in the GrDistanceFieldTextContext it was not scaling them properly, so that's fixed in here too.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14193 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
4362a38563a958083aca2b456aaaa9f756f6f4e1 26-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Distance field fixes for Android
- Expand glyph size by 2 on each side to compensate for bilerp lookup
- Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0
- Fix blurriness on Adreno by using uv coords to compute gradient instead
of st coords
- Add faster version for uniform scale

BUG=skia:2173

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

R=bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13958 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
66beaf0a7386a1281dc63632a740d20a725358f9 26-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Distance field fixes for Android (https://codereview.chromium.org/205343008/)

Reason for revert:
compile error at line 110 in GrDistanceFieldTextureEffect.cpp

Original issue's description:
> Distance field fixes for Android
> - Expand glyph size by 2 on each side to compensate for bilerp lookup
> - Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0
> - Fix blurriness on Adreno by using uv coords to compute gradient instead
> of st coords
> - Add faster version for uniform scale
>
> BUG=skia:2173
>
> Committed: http://code.google.com/p/skia/source/detail?r=13955

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2173

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13956 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
8fe2ee1cf380ee8972c846f74fabd81b34665053 26-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Distance field fixes for Android
- Expand glyph size by 2 on each side to compensate for bilerp lookup
- Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0
- Fix blurriness on Adreno by using uv coords to compute gradient instead
of st coords
- Add faster version for uniform scale

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13955 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
6e4eb21d9c4cf10585b705d1a0ded8cafef29adc 25-Mar-2014 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@13928 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
a9dae71210c3d4a689518ee87be6b1930d843315 24-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> More distance field improvements:
- Make sure we only use the 0,0 subpixel glyph
- Copy image data into outsized buffer to ensure we capture outer edges
- Change edge dump to blend better with original glyph
- Edges are detected across >128 and <128 boundaries, or when
there are two non-zero <128 pixels next to each other

BUG=skia:
R=robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13916 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
f0f9f5f904a3f9a5c0e42ea19dafe6ae3c2ef8d0 15-Mar-2014 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@13820 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
0bed43c92623c01288812aae4f5030c56608d572 14-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Get correct text metrics for distance fields, and fix dropouts due to thin features.

BUG=skia:2173
R=robertphillips@google.com, reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13815 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
bc3d92a7d84b56eb235d6c2d9b7de00625200713 14-Mar-2014 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@13800 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
98e22b84ca90c9cf1b8efb2318f5c146881926d4 13-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix distance field edge detection.

When computing the initial edges for distance field generation, I was skipping
the outer pixels of glyphs to avoid accessing out of range memory. However,
there might be an edge transition on those pixels. This detects those cases.

R=robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13791 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
0b70816eb157ed6492623eea1e55005ef40c908c 12-Mar-2014 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@13755 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
8065ec50f1937c1562810bfe2b216abfb98362b3 11-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add new module for distance field generation.

This improves the speed over the previous method by 10x+, and makes using distance fields practical.

BUG=skia:2173

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

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13740 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
b5f3b35645ce5335021ecb8c34b486a3db9554eb 10-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert of Add new module for distance field generation. (https://codereview.chromium.org/178543007/)

Reason for revert:
multiple compile errors

Original issue's description:
> Add new module for distance field generation.
>
> This improves the speed over the previous method by 10x+, and makes using distance fields practical.
>
> BUG=skia:2173
>
> Committed: http://code.google.com/p/skia/source/detail?r=13729

R=bsalomon@google.com, robertphillips@google.com, jvanverth@google.com
TBR=bsalomon@google.com, jvanverth@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2173

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13732 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkDistanceFieldGen.cpp
bf998240837d8798e0b257416ce8832250b64af6 10-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add new module for distance field generation.

This improves the speed over the previous method by 10x+, and makes using distance fields practical.

BUG=skia:2173
R=bsalomon@google.com, robertphillips@google.com

Author: jvanverth@google.com

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

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