platform/upstream/libSkiaSharp.git
9 years agoAdd new GM/bench for line-only convex paths
robertphillips [Tue, 28 Apr 2015 14:42:04 +0000 (07:42 -0700)]
Add new GM/bench for line-only convex paths

BUG=472723

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

9 years agoremove old text contexts and fontcache
joshualitt [Tue, 28 Apr 2015 14:04:11 +0000 (07:04 -0700)]
remove old text contexts and fontcache

BUG=skia:

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

9 years agoSkPDF: clean up uses of deprecated calls in SkPDFDevice.
halcanary [Tue, 28 Apr 2015 13:21:01 +0000 (06:21 -0700)]
SkPDF: clean up uses of deprecated calls in SkPDFDevice.

Clean up reference count handling to avoid churn and follow pattern used elsewhere in SkPDF.

BUG=skia:3585

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

9 years agoUpdate more directories under src/ to follow C++11 style rule for {virtual,override}.
tfarina [Tue, 28 Apr 2015 00:18:28 +0000 (17:18 -0700)]
Update more directories under src/ to follow C++11 style rule for {virtual,override}.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/ -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 22:11:01 +0000 (15:11 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Mips-Debug-Android-Trybot

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

9 years agoRevert of De-proc Color32 (patchset #5 id:80001 of https://codereview.chromium.org...
mtklein [Mon, 27 Apr 2015 21:51:16 +0000 (14:51 -0700)]
Revert of De-proc Color32 (patchset #5 id:80001 of https://codereview.chromium.org/1104183004/)

Reason for revert:
duh

Original issue's description:
> De-proc Color32
>
> Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
> which is no longer needed.
>
> Seems handy to have SkTypes include the relevant intrinsics when
> we know we've got them, but I'm not married to it.
>
> Locally this looks like a pointlessly small perf win, but I'm mostly
> keen to get all the code together.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b
>
> Committed: https://skia.googlesource.com/skia/+/d65dc0cedd5b50dd407b6ff8fdc39123f11511cc

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

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 21:47:22 +0000 (14:47 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

9 years agoSplit rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
mtklein [Mon, 27 Apr 2015 21:22:32 +0000 (14:22 -0700)]
Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM

This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/9de16283fdc8cc0d31a84f503578d0ecea4e8297

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm64-Debug-Android-Trybot

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

9 years agoRevert of De-proc Color32 (patchset #4 id:60001 of https://codereview.chromium.org...
mtklein [Mon, 27 Apr 2015 21:17:37 +0000 (14:17 -0700)]
Revert of De-proc Color32 (patchset #4 id:60001 of https://codereview.chromium.org/1104183004/)

Reason for revert:
MIPS

Original issue's description:
> De-proc Color32
>
> Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
> which is no longer needed.
>
> Seems handy to have SkTypes include the relevant intrinsics when
> we know we've got them, but I'm not married to it.
>
> Locally this looks like a pointlessly small perf win, but I'm mostly
> keen to get all the code together.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/376e9bc206b69d9190f38dfebb132a8769bbd72b

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

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

9 years agoDe-proc Color32
mtklein [Mon, 27 Apr 2015 21:14:16 +0000 (14:14 -0700)]
De-proc Color32

Also strips SK_SUPPORT_LEGACY_COLOR32_MATH,
which is no longer needed.

Seems handy to have SkTypes include the relevant intrinsics when
we know we've got them, but I'm not married to it.

Locally this looks like a pointlessly small perf win, but I'm mostly
keen to get all the code together.

BUG=skia:

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

9 years agoSkPDF: clean up uses of deprecated calls in other SkPDF classes
halcanary [Mon, 27 Apr 2015 21:00:09 +0000 (14:00 -0700)]
SkPDF: clean up uses of deprecated calls in other SkPDF classes

BUG=skia:3585

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

9 years agoRevert of Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM...
mtklein [Mon, 27 Apr 2015 20:55:53 +0000 (13:55 -0700)]
Revert of Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM (patchset #2 id:20001 of https://codereview.chromium.org/1109913002/)

Reason for revert:
arm64 typos

Original issue's description:
> Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
>
> This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/9de16283fdc8cc0d31a84f503578d0ecea4e8297

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

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

9 years agoSplit rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM
mtklein [Mon, 27 Apr 2015 20:51:28 +0000 (13:51 -0700)]
Split rsqrt into rsqrt{0,1,2}, with increasing cost and precision on ARM

This is a logical no-op.  Everything was using the equivalent of rsqrt1() before, and is now after.

BUG=skia:

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

9 years agoAdd presentations section and pathops file for test
hcm [Mon, 27 Apr 2015 19:44:40 +0000 (12:44 -0700)]
Add presentations section and pathops file for test

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1111453002

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

9 years agoMike's radial gradient CL with better float -> int.
mtklein [Mon, 27 Apr 2015 19:08:01 +0000 (12:08 -0700)]
Mike's radial gradient CL with better float -> int.

patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)

This looks quite launchable.  radial_gradient3, min of 100 samples:
  N5:  985µs -> 946µs
  MBP: 395µs -> 279µs

On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.8-Clang-Arm7-Debug-Android-Trybot,Build-Ubuntu-GCC-Arm7-Release-Android_NoNeon-Trybot

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

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 19:03:05 +0000 (12:03 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

Committed: https://skia.googlesource.com/skia/+/9e830ead85e544924344b01436c44cfb09fcf177

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

9 years agoRevert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview...
joshualitt [Mon, 27 Apr 2015 18:42:30 +0000 (11:42 -0700)]
Revert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview.chromium.org/1092403002/)

Reason for revert:
really does break windows bots

Original issue's description:
> In this CL we stop closing batches prematurely, and only close immediately before a flush.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/db3ce12c810ead7b76faa784e7293197aca0d9f1
>
> Committed: https://skia.googlesource.com/skia/+/9e830ead85e544924344b01436c44cfb09fcf177

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

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 18:29:09 +0000 (11:29 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

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

9 years agoRevert of Mike's radial gradient CL with better float -> int. (patchset #7 id:120001...
mtklein [Mon, 27 Apr 2015 18:21:16 +0000 (11:21 -0700)]
Revert of Mike's radial gradient CL with better float -> int. (patchset #7 id:120001 of https://codereview.chromium.org/1109643002/)

Reason for revert:
compile failures.

Original issue's description:
> Mike's radial gradient CL with better float -> int.
>
> patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)
>
> This looks quite launchable.  radial_gradient3, min of 100 samples:
>   N5:  985µs -> 946µs
>   MBP: 395µs -> 279µs
>
> On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?
>
> BUG=skia:
>
> CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/abf6c5cf95e921fae59efb487480e5b5081cf0ec

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

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

9 years agoRevert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview...
joshualitt [Mon, 27 Apr 2015 18:19:33 +0000 (11:19 -0700)]
Revert of Stop closing batch prematurely (patchset #4 id:60001 of https://codereview.chromium.org/1092403002/)

Reason for revert:
breaking windows bots

Original issue's description:
> In this CL we stop closing batches prematurely, and only close immediately before a flush.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/db3ce12c810ead7b76faa784e7293197aca0d9f1

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

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

9 years agoMike's radial gradient CL with better float -> int.
mtklein [Mon, 27 Apr 2015 18:13:53 +0000 (11:13 -0700)]
Mike's radial gradient CL with better float -> int.

patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)

This looks quite launchable.  radial_gradient3, min of 100 samples:
  N5:  985µs -> 946µs
  MBP: 395µs -> 279µs

On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot

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

9 years agoMake Skia for Android libjpeg use ashmem
msarett [Mon, 27 Apr 2015 17:57:22 +0000 (10:57 -0700)]
Make Skia for Android libjpeg use ashmem

BUG=skia:1282

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

9 years agoIn this CL we stop closing batches prematurely, and only close immediately before...
joshualitt [Mon, 27 Apr 2015 17:43:19 +0000 (10:43 -0700)]
In this CL we stop closing batches prematurely, and only close immediately before a flush.

BUG=skia:

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

9 years agoRemove legacy NVPR support
jvanverth [Mon, 27 Apr 2015 17:36:27 +0000 (10:36 -0700)]
Remove legacy NVPR support

BUG=skia:

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

9 years agoMake non-AA hairline stroke rects snap to pixels centers so they close.
bsalomon [Mon, 27 Apr 2015 17:07:04 +0000 (10:07 -0700)]
Make non-AA hairline stroke rects snap to pixels centers so they close.

BUG=skia:3717

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

9 years agofix a bug in scrolling BitmapText gpu cached textblobs
joshualitt [Mon, 27 Apr 2015 16:36:55 +0000 (09:36 -0700)]
fix a bug in scrolling BitmapText gpu cached textblobs

BUG=skia:

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

9 years agoChange to add zoom animations to nanobench
joshualitt [Mon, 27 Apr 2015 16:16:57 +0000 (09:16 -0700)]
Change to add zoom animations to nanobench

BUG=skia:

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

9 years agoReduce ref counting in SkPictureRecorder.
mtklein [Mon, 27 Apr 2015 15:54:23 +0000 (08:54 -0700)]
Reduce ref counting in SkPictureRecorder.

This may be a small help to slimming paint:

  picture_overhead_draw 1.25us -> 1.22us    0.98x
  picture_overhead_nodraw    318ns ->  276ns    0.87x

It certainly cannot hurt performance.

BUG=chromium:470553

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

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

9 years agoAdd source-data sharding to DM.
mtklein [Mon, 27 Apr 2015 15:45:01 +0000 (08:45 -0700)]
Add source-data sharding to DM.

E.g.  out/Debug/dm --shards 4 --shard 1

This shards all inputs, GMs, SKPs, tests, etc.

BUG=skia:

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

9 years agoReduce sizeof(SkPicture::Analysis) from 24 bytes to 2 bytes.
jbroman [Mon, 27 Apr 2015 14:55:33 +0000 (07:55 -0700)]
Reduce sizeof(SkPicture::Analysis) from 24 bytes to 2 bytes.

This saves "up to" 22 bytes per SkPicture.

Due to alignment, this reduces sizeof(SkPicture):
- from 88 to 72 bytes on Linux x64
- from 68 to 48 bytes on Android
(with Chrome's build settings)

It also somewhat simplifies the GPU veto logic.

BUG=skia:

[mtklein] No public API changes.
TBR=reed@google.com

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

9 years agoUpdate more directories under src/ to follow C++11 style rule for {virtual,override}.
tfarina [Mon, 27 Apr 2015 14:53:07 +0000 (07:53 -0700)]
Update more directories under src/ to follow C++11 style rule for {virtual,override}.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/ -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com
NOPRESUBMIT=true

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

9 years agoCleanup: Remove unnecessary double-semicolons.
tfarina [Mon, 27 Apr 2015 14:01:44 +0000 (07:01 -0700)]
Cleanup: Remove unnecessary double-semicolons.

The entries were found by the following command line:

$ find . -regex ".*\.[cChH]\(pp\)?" | xargs git grep -e ';;' --and --not
-e 'for *(.*;;'

Which is a combination of http://stackoverflow.com/a/3858879 and
http://gitster.livejournal.com/27674.html

BUG=None
R=mtklein@google.com

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

9 years agodm||nanobench --help looks nice when $COLUMNS == 80.
halcanary [Mon, 27 Apr 2015 13:41:35 +0000 (06:41 -0700)]
dm||nanobench --help looks nice when $COLUMNS == 80.

Also, add to --config help message

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

9 years agofix valgrind
caryclark [Mon, 27 Apr 2015 12:39:33 +0000 (05:39 -0700)]
fix valgrind

TBR=mtklein@google.com
BUG=skia:

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

9 years agoExtract gpu line dashing to GrDashLinePathRenderer
kkinnunen [Mon, 27 Apr 2015 06:18:49 +0000 (23:18 -0700)]
Extract gpu line dashing to GrDashLinePathRenderer

Move line dashing logic from GrContext::drawPath to
GrDashLinePathRenderer. This makes it possible to let path renderers render arbitrary dashed paths.

End goal is to implement dashing in GrStencilAndCoverPathRenderer.

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

9 years agoUpdate SKP version
skia.buildbots [Sun, 26 Apr 2015 08:10:31 +0000 (01:10 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/utils.
tfarina [Sat, 25 Apr 2015 19:59:44 +0000 (12:59 -0700)]
Update {virtual,override} to follow C++11 style in src/utils.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual
and final implies both virtual and override.

The entries were found using the following command line:

$ find src/utils -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoSkPDF: Refactor SkPDFObject heiararchy.
halcanary [Sat, 25 Apr 2015 13:45:07 +0000 (06:45 -0700)]
SkPDF: Refactor SkPDFObject heiararchy.

Flatten and use a tagged union type

        Δmemory ~= -2.4% ± 0.5%
        Δtime   ~= -1.2% ± 0.2%

BUG=skia:3585

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

9 years agofix for GrBatchAtlas valgrind error
joshualitt [Sat, 25 Apr 2015 01:47:11 +0000 (18:47 -0700)]
fix for GrBatchAtlas valgrind error

TBR=bsalomon@google.com
BUG=skia:

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

9 years agosync-and-gyp script: fix to work in MSYS shell
halcanary [Fri, 24 Apr 2015 21:33:06 +0000 (14:33 -0700)]
sync-and-gyp script: fix to work in MSYS shell

NOTRY=true
TBR=scroggo@google.com

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/fonts.
tfarina [Fri, 24 Apr 2015 21:25:33 +0000 (14:25 -0700)]
Update {virtual,override} to follow C++11 style in src/fonts.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/fonts -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoUpdate {virtual,override} to follow C++11 style in src/pipe.
tfarina [Fri, 24 Apr 2015 20:12:44 +0000 (13:12 -0700)]
Update {virtual,override} to follow C++11 style in src/pipe.

The Google style guide states that only one of {virtual,override,final}
should be used for each declaration, since override implies virtual and
final implies both virtual and override.

The entries were found using the following command line:

$ find src/pipe -iname "*.h" -or -iname "*.cpp" | xargs pcregrep -M
"[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]"

The regex was a courtesy of nick@chromium.org

BUG=None
R=mtklein@google.com

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

9 years agoDo not crash nanobench in debug mode
msarett [Fri, 24 Apr 2015 18:41:55 +0000 (11:41 -0700)]
Do not crash nanobench in debug mode

Instead print an error message

BUG=skia:

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

9 years agoFix some lingering typos
robertphillips [Fri, 24 Apr 2015 18:10:51 +0000 (11:10 -0700)]
Fix some lingering typos

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

9 years agoRevert of Remove validation exceptions in GrGLInterface. These are all now set by...
bsalomon [Fri, 24 Apr 2015 18:08:25 +0000 (11:08 -0700)]
Revert of Remove validation exceptions in GrGLInterface. These are all now set by Chromium. (patchset #1 id:1 of https://codereview.chromium.org/1100413003/)

Reason for revert:
Crashing bots

Original issue's description:
> Remove validation exceptions in GrGLInterface. These are all now set by Chromium.
>
> Committed: https://skia.googlesource.com/skia/+/42d9f35a8daf7f24ba542ba3783ec46fd965ef2f

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

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

9 years agosimple fix for preabandon valgrind error
joshualitt [Fri, 24 Apr 2015 16:57:12 +0000 (09:57 -0700)]
simple fix for preabandon valgrind error

TBR=bsalomon@google.com
BUG=skia:

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

9 years agofix multiple intersection logic
caryclark [Fri, 24 Apr 2015 16:08:57 +0000 (09:08 -0700)]
fix multiple intersection logic

When three or more curves intersect at the same point, ensure that
each curve records the intersections of the others. This fixes a
number of cubic tests.

TBR=reed@google.com
BUG=skia:3588

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

9 years agofix for using too much memory in GrBatchAtlas
joshualitt [Fri, 24 Apr 2015 15:33:21 +0000 (08:33 -0700)]
fix for using too much memory in GrBatchAtlas

BUG=skia:

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

9 years agoRemove validation exceptions in GrGLInterface. These are all now set by Chromium.
bsalomon [Fri, 24 Apr 2015 14:38:43 +0000 (07:38 -0700)]
Remove validation exceptions in GrGLInterface. These are all now set by Chromium.

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

9 years agoAdd ability to specify extra browser args and a prefix for SKP names to webpages_play...
rmistry [Thu, 23 Apr 2015 19:47:33 +0000 (12:47 -0700)]
Add ability to specify extra browser args and a prefix for SKP names to webpages_playback.py

BUG=skia:3763
NOTRY=true

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

9 years agoBlacklist desk_unicodetable SKP on Nexus Player
borenet [Thu, 23 Apr 2015 19:44:31 +0000 (12:44 -0700)]
Blacklist desk_unicodetable SKP on Nexus Player

It's getting us killed for OOM.

BUG=skia:3240

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

9 years agoRemove validation of blend barrier until Chrome can provide this function
bsalomon [Thu, 23 Apr 2015 19:25:51 +0000 (12:25 -0700)]
Remove validation of blend barrier until Chrome can provide this function
BUG=chromium:480534
TBR=egdaniel@google.com

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

9 years agoadd GM to show bad banding in raster for radial gradients
reed [Thu, 23 Apr 2015 17:30:27 +0000 (10:30 -0700)]
add GM to show bad banding in raster for radial gradients

BUG=427508
TBR=

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

9 years agoAdd onGetBlendInfo to GrXferProcessor
cdalton [Thu, 23 Apr 2015 16:40:23 +0000 (09:40 -0700)]
Add onGetBlendInfo to GrXferProcessor

Adds an onGetBlendInfo method for GrXferProcessor subclasses to
override instead of overriding getBlendInfo directly. This gives the
base class a chance to initialize the struct with default values
before passing it on. As the BlendInfo struct grows, this will keep
things simple and less error prone.

BUG=skia:
NOTREECHECKS=true
NOTRY=true

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

9 years agoworking on initial winding for cubics
caryclark [Thu, 23 Apr 2015 16:13:37 +0000 (09:13 -0700)]
working on initial winding for cubics

Path ops works well for all tests except for cubics.
Isolate failures caused by cubics, and do a better job of computing
the initial winding for cubics.

TBR=reed@google.com
BUG=skia:3588

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

9 years agoEnsure that we create a NULL codec for images with zero dimensions
msarett [Thu, 23 Apr 2015 15:53:39 +0000 (08:53 -0700)]
Ensure that we create a NULL codec for images with zero dimensions

BUG=skia:3534
BUG=skia:3257

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

9 years agosmall fix for perf regression in GrAtlasTextContext.cpp
joshualitt [Thu, 23 Apr 2015 15:03:35 +0000 (08:03 -0700)]
small fix for perf regression in GrAtlasTextContext.cpp

BUG=skia:

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

9 years agouse acquire/release in SkEventTracer.cpp
mtklein [Thu, 23 Apr 2015 03:30:12 +0000 (20:30 -0700)]
use acquire/release in SkEventTracer.cpp

BUG=chromium:437044

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

9 years agoRemove unnecessary viewmatrix compare in GrAtlasTextContext
joshualitt [Thu, 23 Apr 2015 01:23:15 +0000 (18:23 -0700)]
Remove unnecessary viewmatrix compare in GrAtlasTextContext

BUG=skia:

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

9 years agonew GM to test clipping cubics
reed [Thu, 23 Apr 2015 00:38:23 +0000 (17:38 -0700)]
new GM to test clipping cubics

BUG=skia:3716
TBR=caryclark@google.com

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

9 years ago[SkPDFDevice] Enable pathops-based inverse fills
fmalita [Wed, 22 Apr 2015 22:02:03 +0000 (15:02 -0700)]
[SkPDFDevice] Enable pathops-based inverse fills

Keeping the old compile guard for clipping only.

BUG=skia:3749
R=halcanary@google.com,caryclark@google.com,reed@google.com

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

9 years agoRemove MSAA check from Ganesh veto (dashed paths are no longer slow).
senorblanco [Wed, 22 Apr 2015 21:33:34 +0000 (14:33 -0700)]
Remove MSAA check from Ganesh veto (dashed paths are no longer slow).

R=egdaniel@google.com
BUG=skia:

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

9 years agoMove function to be static instead of anonymous namespace
egdaniel [Wed, 22 Apr 2015 20:58:58 +0000 (13:58 -0700)]
Move function to be static instead of anonymous namespace

TBR=bsalomon@google.com, jvanverth@google.com

BUG=skia:

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

9 years agoFix for segfault on destruction of BitmapTextBlob
joshualitt [Wed, 22 Apr 2015 20:47:02 +0000 (13:47 -0700)]
Fix for segfault on destruction of BitmapTextBlob

BUG=skia:

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

9 years agoImprove the curve tessellation subdivision of the path renderers.
senorblanco [Wed, 22 Apr 2015 20:45:18 +0000 (13:45 -0700)]
Improve the curve tessellation subdivision of the path renderers.

The stencil-and-cover and tessellating path renderers currently
tessellate curves to linear segments to within one screen space pixel.
This is fairly poor accuracy, as can be seen from the strokecircle GM:
there are noticeable rotating bumps on the circles.

Improving the tolerance to 0.25 pixel eliminates the bumps, and
approximates the 16x supersampling of the raster path.
This does have a performance hit: 3-6% on desktop on
the IE chalkboard demo, ~1% on Nexus 7 2013.

Note: this will require rebaselining a number of GPU and  MSAA images
in Skia, but nothing in Chrome (yet).

BUG=skia:3731

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

9 years agoRefactor createTexture and onCreateTexture
egdaniel [Wed, 22 Apr 2015 20:27:39 +0000 (13:27 -0700)]
Refactor createTexture and onCreateTexture

BUG=skia:

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

9 years agoRevert of enable TextBlob / Batch (patchset #1 id:1 of https://codereview.chromium...
joshualitt [Wed, 22 Apr 2015 18:38:58 +0000 (11:38 -0700)]
Revert of enable TextBlob / Batch (patchset #1 id:1 of https://codereview.chromium.org/1077813004/)

Reason for revert:
seg fault

Original issue's description:
> enable TextBlob / Batch
>
> TBR=bsalomon@google.com
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/b75f8100ace48e74319ccf43d82deaac446784b2

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

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

9 years agoMake pixel_snap GMs incur less platform-specific variation
bsalomon [Wed, 22 Apr 2015 18:34:46 +0000 (11:34 -0700)]
Make pixel_snap GMs incur less platform-specific variation

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

9 years agoFix for GrAtlasTextContext memory leak
joshualitt [Wed, 22 Apr 2015 18:24:20 +0000 (11:24 -0700)]
Fix for GrAtlasTextContext memory leak

BUG=skia:

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

9 years agoRewrite and move Cluster Telemetry documentation to skia.org
rmistry [Wed, 22 Apr 2015 18:03:12 +0000 (11:03 -0700)]
Rewrite and move Cluster Telemetry documentation to skia.org

BUG=skia:3754
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1074943003

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

9 years agoAdd tokens and entry points for KHR_blend_equation_advanced
cdalton [Wed, 22 Apr 2015 17:39:03 +0000 (10:39 -0700)]
Add tokens and entry points for KHR_blend_equation_advanced

Also adds glBlendEquation, which the extension interacts with, to the
core of GrGLInterface. Validation of this function is temporarily
disabled until Chrome hooks it up.

BUG=skia:

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

9 years agoAdd GM to test non-AA pixel snapping for points, lines, rects.
bsalomon [Wed, 22 Apr 2015 15:51:38 +0000 (08:51 -0700)]
Add GM to test non-AA pixel snapping for points, lines, rects.

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

9 years agoenable TextBlob / Batch
joshualitt [Wed, 22 Apr 2015 12:19:54 +0000 (05:19 -0700)]
enable TextBlob / Batch

TBR=bsalomon@google.com
BUG=skia:

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

9 years agoO(1) SkPictureUtils::ApproxBytesUsed()
mtklein [Tue, 21 Apr 2015 22:23:59 +0000 (15:23 -0700)]
O(1) SkPictureUtils::ApproxBytesUsed()

Chrome wants to call this more often, and it's quite slow today.

Seems like this could be clearer if SkPictureUtils::ApproxBytesUsed() were SkPicture::approxBytesUsed().

BUG=chromium:471873

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

9 years agoDefault to arm_v7_neon.
mtklein [Tue, 21 Apr 2015 21:25:34 +0000 (14:25 -0700)]
Default to arm_v7_neon.

This aliases all devices we know have NEON over to that too.

BUG=skia:

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

9 years agoRevert of Add tokens and entry points for KHR_blend_equation_advanced (patchset ...
tomhudson [Tue, 21 Apr 2015 21:16:53 +0000 (14:16 -0700)]
Revert of Add tokens and entry points for KHR_blend_equation_advanced (patchset #3 id:40001 of https://codereview.chromium.org/1039693004/)

Reason for revert:
We're getting repeated crashes since this CL landed when we try to evaluate a roll into Chrome on our bots. (https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1902)

Our initial reflex is to put a #if 0 around this code (just like the immediately following lines 334-338 in GrGLInterface.cpp), but the error isn't what the GPU team expected to see if that was all we needed, so we're reverting now and asking you to resubmit tomorrow after running more thorough tests.

Original issue's description:
> Add tokens and entry points for KHR_blend_equation_advanced
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8e578859f80b46a63144add215955221017d3609

TBR=markkilgard@gmail.com,bsalomon@google.com,cdalton@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

9 years agofix some small bugs with GrAtlasTextContext
joshualitt [Tue, 21 Apr 2015 20:24:37 +0000 (13:24 -0700)]
fix some small bugs with GrAtlasTextContext

BUG=skia:

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

9 years agoAdd tokens and entry points for KHR_blend_equation_advanced
cdalton [Tue, 21 Apr 2015 19:34:09 +0000 (12:34 -0700)]
Add tokens and entry points for KHR_blend_equation_advanced

BUG=skia:

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

9 years agoAndroid's Clang toolchain can't assemble the JPEG's .S files.
mtklein [Tue, 21 Apr 2015 19:07:38 +0000 (12:07 -0700)]
Android's Clang toolchain can't assemble the JPEG's .S files.

Only affecting Build-Mac10.8-Clang-Arm7-Debug-Android.

BUG=skia:

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

9 years agoImport glTextureBarrier
cdalton [Tue, 21 Apr 2015 18:45:56 +0000 (11:45 -0700)]
Import glTextureBarrier

BUG=skia:

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

9 years agoSkip msaa4 on Tegra 2 and 3.
mtklein [Tue, 21 Apr 2015 18:25:47 +0000 (11:25 -0700)]
Skip msaa4 on Tegra 2 and 3.

This will fix the N7 and Xoom bots.

TBR=borenet@google.com

BUG=skia:

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

9 years agoRevert "One more ASAN fix."
senorblanco [Tue, 21 Apr 2015 18:13:17 +0000 (11:13 -0700)]
Revert "One more ASAN fix."

This reverts commit 409fd66a5afcef5f165f7ccec7c3473add231752.

We don't expect to pass this test until the ASAN bots are
correctly configured, and can run GPU tests.

BUG=skia:
TBR=robertphillips@google.com

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

9 years agoDM: failure to canary a sink is now fatal.
mtklein [Tue, 21 Apr 2015 17:49:13 +0000 (10:49 -0700)]
DM: failure to canary a sink is now fatal.

This requires we remove NVPR from the default set of configs, as we only find
out at runtime that it's not available.  All the other defaults will either be
compiled in and supported, or not compiled in and non-fatally skipped as
unknown configs.

BUG=skia:

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

9 years agoAsk for NVPR only when we expect it to be available.
mtklein [Tue, 21 Apr 2015 17:34:47 +0000 (10:34 -0700)]
Ask for NVPR only when we expect it to be available.

BUG=skia:

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

9 years agotypo in sherrifing docs
Greg Humphreys [Tue, 21 Apr 2015 17:28:44 +0000 (10:28 -0700)]
typo in sherrifing docs

BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1097353002

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

9 years agoSupport HWUI rename of DisplayListRenderer
tomhudson [Tue, 21 Apr 2015 17:09:07 +0000 (10:09 -0700)]
Support HWUI rename of DisplayListRenderer

R=djsollen@google.com,ccraik@google.com

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

9 years agoSome simple optimizations for improving GrAtlasTextContext perf
joshualitt [Tue, 21 Apr 2015 17:07:26 +0000 (10:07 -0700)]
Some simple optimizations for improving GrAtlasTextContext perf

BUG=skia:

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

9 years agoOne more ASAN fix.
senorblanco [Tue, 21 Apr 2015 16:43:08 +0000 (09:43 -0700)]
One more ASAN fix.

Don't fail the GL validation check if the GL context fails to create.

TBR=robertphillips@google.com
BUG=skia:

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

9 years agoAdd support for rotating / scaling / translating gpu cached distance field textblobs
joshualitt [Tue, 21 Apr 2015 16:43:03 +0000 (09:43 -0700)]
Add support for rotating / scaling / translating gpu cached distance field textblobs

BUG=skia:

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

9 years agoSplit default and user-supplied event tracers.
mtklein [Tue, 21 Apr 2015 16:38:03 +0000 (09:38 -0700)]
Split default and user-supplied event tracers.

Chrome's got a test scenario where setting the user-supplied tracer is racing with a concurrent use of the default tracer.

BUG=chromium:437044

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

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

9 years agoStore pointers to GrGlyph directly in BitmapTextBlob. This patch improves performanc...
joshualitt [Tue, 21 Apr 2015 16:37:57 +0000 (09:37 -0700)]
Store pointers to GrGlyph directly in BitmapTextBlob.  This patch improves performance by avoiding hashmap lookups under normal use

BUG=skia:

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

9 years agoLanding directly for testing the ios buildbot code.
stephana [Tue, 21 Apr 2015 15:31:59 +0000 (08:31 -0700)]
Landing directly for testing the ios buildbot code.

BUG=skia:
TBR=borenet

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

9 years agoRevert of Convert Color32 code to perfect blend. (patchset #6 id:100001 of https...
mtklein [Tue, 21 Apr 2015 15:09:30 +0000 (08:09 -0700)]
Revert of Convert Color32 code to perfect blend. (patchset #6 id:100001 of https://codereview.chromium.org/1098913002/)

Reason for revert:
Xfermode_SrcOver not looking encouraging.  Up to 50% regressions.

https://perf.skia.org/#3242

Original issue's description:
> Convert Color32 code to perfect blend.
>
> Before we commit to blend_256_round_alt, let's make sure blend_perfect is
> really slower in practice (i.e. regresses on perf.skia.org).
>
> blend_perfect is really the most desirable algorithm if we can afford it.  Not
> only is it correct, but it's easy to think about and break into correct pieces:
> for instance, its div255() doesn't require any coordination with the multiply.
>
> This looks like a 30% hit according to microbenches.  That said, microbenches
> said my previous change would be a 20-25% perf improvement, but it didn't end
> up showing a significant effect at a high level.
>
> As for correctness, I see a bunch of off-by-1 compared to blend_256_round_alt
> (exactly what we'd expect), and one off-by-3 in a GM that looks like it has a
> bunch of overdraw.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/61221e7f87a99765b0e034020e06bb018e2a08c2

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

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

9 years agoPack BitmapTextBlob a bit tighter
joshualitt [Tue, 21 Apr 2015 15:03:04 +0000 (08:03 -0700)]
Pack BitmapTextBlob a bit tighter

BUG=skia:

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

9 years agoreuse scaler across consecutive textbatch flushes
joshualitt [Tue, 21 Apr 2015 14:49:49 +0000 (07:49 -0700)]
reuse scaler across consecutive textbatch flushes

BUG=skia:

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

9 years agoA small patch to enable distance field text in textblobs
joshualitt [Tue, 21 Apr 2015 14:35:10 +0000 (07:35 -0700)]
A small patch to enable distance field text in textblobs

BUG=skia:

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

9 years agoYet more ASAN fixes.
senorblanco [Tue, 21 Apr 2015 14:20:36 +0000 (07:20 -0700)]
Yet more ASAN fixes.

More nullptr checks for factories I have added.
Other checks more Yoda-like I have made. (Skia style this is.)

BUG=skia:

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

9 years agoAnother speculative ASAN fix.
senorblanco [Tue, 21 Apr 2015 13:59:17 +0000 (06:59 -0700)]
Another speculative ASAN fix.

Add a GrContext nullptr check in SurfaceTest.

TBR=robertphillips@google.com

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

9 years agoSkTHash: remove()
mtklein [Tue, 21 Apr 2015 13:53:56 +0000 (06:53 -0700)]
SkTHash: remove()

BUG=skia:

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

9 years agoUndo the bounds mapping of bounds for GrOvalRenderer for certain draws
egdaniel [Tue, 21 Apr 2015 13:28:08 +0000 (06:28 -0700)]
Undo the bounds mapping of bounds for GrOvalRenderer for certain draws

BUG=skia:

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