borenet [Tue, 4 Oct 2016 19:45:41 +0000 (12:45 -0700)]
Add --test to gen_tasks.go, add presubmit check
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2392083002
Review-Url: https://codereview.chromium.org/
2392083002
csmartdalton [Tue, 4 Oct 2016 19:33:44 +0000 (12:33 -0700)]
skpbench: add option for gpu timing
Adds a gpu timing option with a GL implementation.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2388433003
Review-Url: https://codereview.chromium.org/
2388433003
Mike Reed [Tue, 4 Oct 2016 19:12:01 +0000 (15:12 -0400)]
ensure we always set the pictinfo.fVersion
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2932
Change-Id: I8864a60f629e0f68b7871e0c388b42f4b6d78dbe
Reviewed-on: https://skia-review.googlesource.com/2932
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
borenet [Tue, 4 Oct 2016 19:32:04 +0000 (12:32 -0700)]
Make binary size analysis upload to skia-perf bucket
It's currently pointed at chromium-skia-gm, but Perf results are now
uploaded to skia-perf.
BUG=skia:2969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2371193002
Review-Url: https://codereview.chromium.org/
2371193002
Cary Clark [Tue, 4 Oct 2016 19:25:29 +0000 (15:25 -0400)]
run dean4 test everywhere
This test got different results when run with a
GCC compiler generating FMA instructions. The
support for those have been dropped, so the
test should no longer fail.
TBR=reed@google.com
BUG=skia:5508
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2935
Change-Id: I318ec8ae12c9eb489f6f89bd59b202453943d31e
Reviewed-on: https://skia-review.googlesource.com/2935
Reviewed-by: Cary Clark <caryclark@google.com>
Mike Klein [Tue, 4 Oct 2016 19:00:57 +0000 (15:00 -0400)]
Debug Mac test failure.
CQ_EXTRA_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Release-GN-Trybot
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2933
Change-Id: I0ed569b585f4962a90a0b6993acc484a74055177
Reviewed-on: https://skia-review.googlesource.com/2933
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Ben Wagner [Tue, 4 Oct 2016 17:49:42 +0000 (13:49 -0400)]
Remove SkFontConfigInterface_direct_google3.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2931
Change-Id: I4aa4e94453601e566e30d61ad286f58786477cfb
Reviewed-on: https://skia-review.googlesource.com/2931
Reviewed-by: Ben Wagner <bungeman@google.com>
Cary Clark [Tue, 4 Oct 2016 14:53:31 +0000 (10:53 -0400)]
fix fuzz with null check
TBR=reed@google.com
BUG=skia:5819
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2925
Change-Id: I1957d3f8f5c78bed41bb7fe413ae870df24f7c50
Reviewed-on: https://skia-review.googlesource.com/2925
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Mike Klein [Tue, 4 Oct 2016 18:03:27 +0000 (14:03 -0400)]
Make all SkRasterPipeline stages stock stages in SkOpts.
If we want to support VEX-encoded instructions (AVX, F16C, etc.) without a ridiculous slowdown, we need to make sure we're running either all VEX-encoded instructions or all non-VEX-encoded instructions. That means we cannot mix arbitrary user-defined SkRasterPipeline::Fn (never VEX) with those living in SkOpts (maybe VEX)... it's SkOpts or bust.
This ports the existing user-defined SkRasterPipeline::Fn use cases over to use stock stages from SkOpts. I rewrote the unit test to use stock stages, and moved the SkXfermode implementations to SkOpts. The code deleted for SkArithmeticMode_scalar should already be dead.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2940
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I94dbe766b2d65bfec6e544d260f71d721f0f5cb0
Reviewed-on: https://skia-review.googlesource.com/2940
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
liyuqian [Tue, 4 Oct 2016 18:23:22 +0000 (11:23 -0700)]
Resubmit issue
2221103002 to fix the iOS build by declaring the flag in
SkCommonFlags.h
TBR=reed@google.com,caryclark@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2393643002
Review-Url: https://codereview.chromium.org/
2393643002
csmartdalton [Tue, 4 Oct 2016 18:08:45 +0000 (11:08 -0700)]
Move GPU fences into sk_gpu_test
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383383002
Review-Url: https://codereview.chromium.org/
2383383002
stephana [Tue, 4 Oct 2016 16:56:08 +0000 (09:56 -0700)]
Revert of Analytic AntiAlias for Convex Shapes (patchset #14 id:260001 of https://codereview.chromium.org/
2221103002/ )
Reason for revert:
Breaks iOS build.
Original issue's description:
> Implement AnalyticAA for convex shapes.
>
> Design doc: go/analyticAA
>
> A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing
>
> Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown.
>
> To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html
> The most significant changes are in convexpaths and analytic_antialias_convex
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2221103002
>
> Committed: https://skia.googlesource.com/skia/+/
7795822807478143120c33228b68d2ab3918af2c
TBR=reed@google.com,caryclark@google.com,liyuqian@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2388213003
liyuqian [Tue, 4 Oct 2016 16:29:51 +0000 (09:29 -0700)]
Implement AnalyticAA for convex shapes.
Design doc: go/analyticAA
A performance test can be found here: https://docs.google.com/a/google.com/spreadsheets/d/1n9LSjFzrQzx0hovFddWey0GSMXNRjl1oFuSypMlHWZk/edit?usp=sharing
Our best case is filling big triangles, which according to our experiment has ~2.9x speedup. Our worst case is filling small ovals/circles, which has a ~1.06x slowdown.
To see how our new algorithm changes the DM images, see: https://x20web.corp.google.com/~liyuqian/dmdiff/index.html
The most significant changes are in convexpaths and analytic_antialias_convex
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2221103002
Review-Url: https://codereview.chromium.org/
2221103002
Mike Klein [Mon, 3 Oct 2016 15:02:53 +0000 (11:02 -0400)]
SkLiteDL: much simpler to eliminate bitmaps in recorder.
This shouldn't be any significant change in behavior or performance,
but it leaves the code in SkLiteDL a bit simpler.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2863
Change-Id: Ifb0023d56f7e9dae172d8021fb956b8fc9281b15
Reviewed-on: https://skia-review.googlesource.com/2863
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Cary Clark [Tue, 4 Oct 2016 14:59:29 +0000 (10:59 -0400)]
fix initialization order
Broke the linux build
with incorrectly ordered
construction initialization.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2926
Change-Id: I2555616b945021cf119122811db0cfaf999834a0
Reviewed-on: https://skia-review.googlesource.com/2926
Reviewed-by: Cary Clark <caryclark@google.com>
Mike Klein [Tue, 4 Oct 2016 13:29:32 +0000 (09:29 -0400)]
sk_linear_from_srgb_math
Looks great (imperceptibly different) but ~10% slower on both ARMv8 and x86-64. Probably need to hide the table-or-math logic behind Sk4f/Sk8f unless we find faster math.
I do like the new look of the pipeline stages though. A lot clearer.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2880
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I44952237d56ba167445b07d4830eb8959c4d47b7
Reviewed-on: https://skia-review.googlesource.com/2880
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Matt Sarett <msarett@google.com>
Cary Clark [Tue, 4 Oct 2016 14:01:04 +0000 (10:01 -0400)]
coin debugging runs all tests in extended
This extends path ops concidence debugging
to find unused algorithms and determine the extent
of loops.
This verifies that all 140M tests run without error
in release and debug.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2391733002
patch from issue
2391733002 at patchset 1 (http://crrev.com/
2391733002#ps1)
Change-Id: I02ca29764405c5ac3e7ca3b2621fba28dbaaffc2
Reviewed-on: https://skia-review.googlesource.com/2923
Reviewed-by: Cary Clark <caryclark@google.com>
borenet [Tue, 4 Oct 2016 13:32:54 +0000 (06:32 -0700)]
Add retries to upload_dm_results
BUG=skia:5818
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2390723003
Review-Url: https://codereview.chromium.org/
2390723003
robertphillips [Tue, 4 Oct 2016 12:30:20 +0000 (05:30 -0700)]
Revert of Make GrResourceCache dynamically change between LRU and random replacement strategies. (patchset #8 id:140001 of https://codereview.chromium.org/
2321563006/ )
Reason for revert:
Causing problems on Mac & Windows bots.
Original issue's description:
> Make GrResourceCache dynamically change between LRU and random replacement strategies.
>
> Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.
>
> The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2321563006
>
> Committed: https://skia.googlesource.com/skia/+/
0f147ac2ae575bbad3515a526f13700bc5c8e9d7
TBR=bsalomon@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/
2386993004
Brian Salomon [Mon, 3 Oct 2016 21:15:28 +0000 (17:15 -0400)]
Remove option to make GrCoordTransforms apply to device positions.
Adds a device space texture decal effect to use for clipping.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2870
Change-Id: Ifcc7617ea87f5a86e301995cba9dfc30a4b0e2c5
Reviewed-on: https://skia-review.googlesource.com/2870
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Mike Reed [Mon, 3 Oct 2016 21:34:16 +0000 (21:34 +0000)]
Revert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""
This reverts commit I86875511a13497112827cbaed1dbd7639e9e3d10.
legacy (100K) skp failure
Original change's description:
> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
>
> This reverts commit
ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
>
> Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
> Reviewed-on: https://skia-review.googlesource.com/2878
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=msarett@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: Ife6f0cf3a22b3e8cf885a188f7f44e1ff62e06a5
Reviewed-on: https://skia-review.googlesource.com/2881
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
reed [Mon, 3 Oct 2016 21:33:48 +0000 (14:33 -0700)]
Revert of add cast for tostring (patchset #1 id:1 of https://codereview.chromium.org/
2385353002/ )
Reason for revert:
base CL has legacy skp bug, so have to revert it
Original issue's description:
> add cast for tostring to fix google3
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2385353002
>
> TBR=True
> NOTRY=True
>
> Committed: https://skia.googlesource.com/skia/+/
4cfd5af26e5fab1699cfa2ab40d49c24cededd72
TBR=
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2384303002
reed [Mon, 3 Oct 2016 21:20:40 +0000 (14:20 -0700)]
add cast for tostring to fix google3
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2385353002
TBR=True
NOTRY=True
Review-Url: https://codereview.chromium.org/
2385353002
bsalomon [Mon, 3 Oct 2016 21:07:01 +0000 (14:07 -0700)]
Make GrResourceCache dynamically change between LRU and random replacement strategies.
Random performs significantly better when each frame exceeds the budget by a small margin whereas LRU has worst case behavior.
The decision of which to use is made based on the history from a few frames of the ratio of total unique key cache misses to unique key cache misses of resources purged in the last 2 frames.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2321563006
Review-Url: https://codereview.chromium.org/
2321563006
liyuqian [Mon, 3 Oct 2016 20:49:37 +0000 (13:49 -0700)]
Add GMs for Analytic Anti-Aliasing
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2386293002
Review-Url: https://codereview.chromium.org/
2386293002
fmalita [Mon, 3 Oct 2016 20:46:58 +0000 (13:46 -0700)]
Avoid unneeded paint copies in SkDraw::drawBitmap
Use SkTCopyOnFirstWrite to only copy when needed.
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2389973003
Review-Url: https://codereview.chromium.org/
2389973003
Greg Daniel [Mon, 3 Oct 2016 19:06:07 +0000 (15:06 -0400)]
Remove unused resolve parameters for vulkan render passes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2874
Change-Id: Ie8ad608c02e824ba5af2a81ada724dca22ac92e5
Reviewed-on: https://skia-review.googlesource.com/2874
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Brian Osman [Mon, 3 Oct 2016 19:24:44 +0000 (15:24 -0400)]
Supply random dst color space to asFP in unit tests
TBR=bsalomon@google.com (Testing-only API change)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2876
Change-Id: I0ca26da0307848cdfc8ffaac2d042601663ab00b
Reviewed-on: https://skia-review.googlesource.com/2876
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Mike Reed [Mon, 3 Oct 2016 19:44:23 +0000 (15:44 -0400)]
Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
This reverts commit
ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
Reviewed-on: https://skia-review.googlesource.com/2878
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Mike Klein [Mon, 3 Oct 2016 19:14:04 +0000 (15:14 -0400)]
Just add the F16 bench from https://skia-review.googlesource.com/c/2860/
BUG=skia:
TBR=msarett@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2875
Change-Id: I615d7aead07196f5c14b22be6f96e7d555a495a8
Reviewed-on: https://skia-review.googlesource.com/2875
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Brian Salomon [Mon, 3 Oct 2016 15:36:16 +0000 (11:36 -0400)]
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>
kjlubick [Mon, 3 Oct 2016 18:49:45 +0000 (11:49 -0700)]
Add fuzz executable to GN
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2389853002
Review-Url: https://codereview.chromium.org/
2389853002
Brian Osman [Mon, 3 Oct 2016 18:23:50 +0000 (14:23 -0400)]
Start supplying random color space xforms to FP tests
Added helper to create random GrColorSpaceXforms in unit tests, and
hooked it up for the FPs that currently accept one.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2873
Change-Id: Iaf93e379e405fbf745f5e0fd23b4daf017355966
Reviewed-on: https://skia-review.googlesource.com/2873
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
fmalita [Mon, 3 Oct 2016 18:07:36 +0000 (11:07 -0700)]
Disable the SVG tests on Valgrind bots
Timeouts:
https://build.chromium.org/p/client.skia/builders/Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind
R=stephana@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2385133003
Review-Url: https://codereview.chromium.org/
2385133003
Mike Reed [Mon, 3 Oct 2016 18:02:50 +0000 (18:02 +0000)]
Revert "replace SkXfermode obj with SkBlendMode enum in paints"
This reverts commit I4fb489ba6b3f77b458f7e4a99f79c7ad10859135.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> replace SkXfermode obj with SkBlendMode enum in paints
>
> BUG=skia:5814
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714
>
> Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
> Reviewed-on: https://skia-review.googlesource.com/2714
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>
TBR=bsalomon@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I3e43f79ef5c1709929663fe63cc1f67cd78270b7
Reviewed-on: https://skia-review.googlesource.com/2871
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Brian Osman [Mon, 3 Oct 2016 17:15:12 +0000 (13:15 -0400)]
Add color space xform to GrAlphaThresholdFragmentProcessor
Fix imagealphathreshold_surface GM to test gamut conversion.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2867
Change-Id: Id9aaebe72d1dadc613ef1a8d17d066b51049300f
Reviewed-on: https://skia-review.googlesource.com/2867
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Ben Wagner [Mon, 3 Oct 2016 17:15:58 +0000 (13:15 -0400)]
Remove exec bit from source file.
Exec bit added in https://skia.googlesource.com/skia/+/
40ff5fe59b77b0b3e34467cc2f8666e4e88356f9
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2869
Change-Id: I238f75fe2a865923568ac8f63ee1978df6c89f6c
Reviewed-on: https://skia-review.googlesource.com/2869
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
reed [Mon, 3 Oct 2016 17:35:37 +0000 (10:35 -0700)]
remove quickreject for drawables
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2388873002
Review-Url: https://codereview.chromium.org/
2388873002
Mike Reed [Mon, 3 Oct 2016 16:57:32 +0000 (12:57 -0400)]
replace SkXfermode obj with SkBlendMode enum in paints
BUG=skia:5814
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714
Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
Reviewed-on: https://skia-review.googlesource.com/2714
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
bsalomon [Mon, 3 Oct 2016 16:48:22 +0000 (09:48 -0700)]
Avoid unnecessary GrShape->SkPath conversion in GrStencilAndCoverPathRenderer
Also remove redundant param to the path batch constructor.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2348543002
Review-Url: https://codereview.chromium.org/
2348543002
Brian Osman [Mon, 3 Oct 2016 15:06:45 +0000 (11:06 -0400)]
Fix alpha threshold GM to test with and without crop rect
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2864
Change-Id: I09f24303b2a693a384fb7399c2287ab476f16319
Reviewed-on: https://skia-review.googlesource.com/2864
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
robertphillips [Mon, 3 Oct 2016 15:41:04 +0000 (08:41 -0700)]
Fix precision issues in SkRRectsGaussianEdgeShader.cpp
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383863002
Review-Url: https://codereview.chromium.org/
2383863002
borenet [Mon, 3 Oct 2016 13:21:56 +0000 (06:21 -0700)]
Roll recipe DEPS
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2386153002
Review-Url: https://codereview.chromium.org/
2386153002
Mike Klein [Fri, 30 Sep 2016 20:56:13 +0000 (16:56 -0400)]
There are no more cmake bots, so clean up their old scripts.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2854
Change-Id: Ieb94788182b35d8fd3197ce090d5f28a65903204
Reviewed-on: https://skia-review.googlesource.com/2854
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Fri, 30 Sep 2016 20:31:30 +0000 (16:31 -0400)]
Delete unused avx2_sources.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2853
Change-Id: If546af6bea8c51b857860be6d266347cdf064d33
Reviewed-on: https://skia-review.googlesource.com/2853
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
fmalita [Fri, 30 Sep 2016 20:34:19 +0000 (13:34 -0700)]
Add a SkRWBuffer reserve mechanism
Currently, Chromium stores segmented data in a SharedBuffer and appends
to SkRWBuffer one segment at a time:
const char* segment = 0;
for (size_t length = data->getSomeData(segment, m_rwBuffer->size());
length; length = data->getSomeData(segment, m_rwBuffer->size())) {
m_rwBuffer->append(segment, length, remaining);
}
This can yield a bunch of just-above-4k allocations => wasted RAM due to
internal fragmentation.
Ideally, we'd want a SkRWBuffer::reserve(size_t bytes) API, but the
current internals don't support that trivially.
Alternatively, the caller can pass a reserve hint at append() time.
BUG=chromium:651698
R=scroggo@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2385803002
Review-Url: https://codereview.chromium.org/
2385803002
msarett [Fri, 30 Sep 2016 20:09:01 +0000 (13:09 -0700)]
Fix nanobench crashes
TBR=egdaniel@google.com
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383223003
Review-Url: https://codereview.chromium.org/
2383223003
borenet [Fri, 30 Sep 2016 19:53:12 +0000 (12:53 -0700)]
[task scheduler] Add gen_tasks.go
This mimics the flow of infra/bots/recipes/swarm_trigger.py
but it builds the tasks.json file instead of triggering the
actual tasks.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2386663002
Review-Url: https://codereview.chromium.org/
2386663002
Mike Reed [Fri, 30 Sep 2016 19:26:47 +0000 (15:26 -0400)]
fix mac build
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2852
Change-Id: I58ba4c8be14b5a40ae94a1f8e69a3c1aa08060d5
Reviewed-on: https://skia-review.googlesource.com/2852
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
msarett [Fri, 30 Sep 2016 19:41:42 +0000 (12:41 -0700)]
Add a src rect to drawImageLattice() API
This will allow us to draw ninepatches directly from an asset
texture without having to upload them individually.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2382893002
Review-Url: https://codereview.chromium.org/
2382893002
borenet [Fri, 30 Sep 2016 19:39:31 +0000 (12:39 -0700)]
Stop uploading nanobench results on Valgrind bot
It's not needed, and it's probably making the bot a lot slower.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2382313003
Review-Url: https://codereview.chromium.org/
2382313003
borenet [Fri, 30 Sep 2016 19:18:47 +0000 (12:18 -0700)]
upload_dm_results: Remove JSON validation step
This is infra-failing frequently for some reason, possibly due to large
file size?
TBR=stephana
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383163002
Review-Url: https://codereview.chromium.org/
2383163002
Hal Canary [Fri, 30 Sep 2016 18:53:15 +0000 (14:53 -0400)]
SkPDF: de-duplicate text-as-paths
TBR=
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2851
Change-Id: I0accbca13945587cd5ef903cbd4127f1f6a3fb13
Reviewed-on: https://skia-review.googlesource.com/2851
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
benjaminwagner [Fri, 30 Sep 2016 19:06:27 +0000 (12:06 -0700)]
Unomit SkSL in public.bzl.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2380563006
Review-Url: https://codereview.chromium.org/
2380563006
Brian Salomon [Fri, 30 Sep 2016 17:41:03 +0000 (13:41 -0400)]
Add gn option to set the location of the Vulkan SDK
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2848
Change-Id: I0b60ae03d7b155d4f9a581cab6b551e152b03a86
Reviewed-on: https://skia-review.googlesource.com/2848
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
fmalita [Fri, 30 Sep 2016 17:52:08 +0000 (10:52 -0700)]
SkRWBuffer: preallocate 'initialCapacity'
We're currently ignoring the hint, resulting in multiple unneeded
allocations later.
BUG=chromium:651698
R=scroggo@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2384763002
Review-Url: https://codereview.chromium.org/
2384763002
Mike Klein [Fri, 30 Sep 2016 16:36:55 +0000 (12:36 -0400)]
Clean up public.bzl after G3-side CL.
One more tiny G3 CL after this...
BUG=skia:
NOTRY=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2847
Change-Id: Id237ca3853614c2b9b68eb0a679f6e64b3e95983
Reviewed-on: https://skia-review.googlesource.com/2847
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Brian Osman [Fri, 30 Sep 2016 15:41:59 +0000 (11:41 -0400)]
Helper functions to do SkColor -> GrColor4f
I started fixing more effects and realized I needed something like this.
Wanted to land it separately. After this, I'll add the DC's cached xform
from sRGB to AsFPArgs, so that we can easily leverage this code in more
places (mostly GrConstColorProcessor, or any effect that falls back to
that based on invariants, etc...)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2844
Change-Id: I335546f02a6c49620494d736140a72c14441b35d
Reviewed-on: https://skia-review.googlesource.com/2844
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
reed [Fri, 30 Sep 2016 16:27:20 +0000 (09:27 -0700)]
Propagate validation errors from inner readbuffer when deserializing picture. Also allow null paints.
BUG=skia:5812
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2379383002
Review-Url: https://codereview.chromium.org/
2379383002
jvanverth [Fri, 30 Sep 2016 15:39:02 +0000 (08:39 -0700)]
Add fence support for TransferBuffers
BUG=skia:4604
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2384463003
Review-Url: https://codereview.chromium.org/
2384463003
Mike Klein [Fri, 30 Sep 2016 15:34:54 +0000 (11:34 -0400)]
Fix G3 excludes lists for AVX2 -> HSW.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2843
Change-Id: I8dfd4133808dd768217a7978d7ae3f6d518cd744
Reviewed-on: https://skia-review.googlesource.com/2843
Reviewed-by: Mike Klein <mtklein@chromium.org>
Hal Canary [Fri, 30 Sep 2016 14:25:39 +0000 (10:25 -0400)]
SkPDF: subset drawImageRect while still deduping
- Replace SkImageBitmap with SkImageSubset
- SkBitmapKey becomes trivial for simplicity.
- SkPDFCanvas::onDraw(Bitmap|Image)Rect now clip and call
SkCanvas::onDraw(Bitmap|Image)Rect.
- SkPDFDevice::draw(Bitmap|BitmapRect|Sprite) now convert bitmap
into SkImageSubset via make_image_subset function.
- SkPDFDevice::draw(Image|Bitmap)Rect now implemented again.
- SkPDFDevice::internalDrawImage now performs image subsetting
as needed, while still deduping properly.
BUG=633528
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2785
Change-Id: I063346d12b0e9c6b6c0c4943ee25400c88aa1a44
Reviewed-on: https://skia-review.googlesource.com/2785
Reviewed-by: Ben Wagner <bungeman@google.com>
Mike Klein [Fri, 30 Sep 2016 14:48:01 +0000 (10:48 -0400)]
Add an SkOpts target for Haswell+ Intel chips.
Haswell brought a whole slew of handy new instructions for us (AVX2, FMA, BMI1+BMI2) and also feature F16C, which came one generation earlier on Ivybridge. We work with integers often enough that we really want to target AVX2 instead of AVX, and this means it's pretty practical to ask for all those other goodies along with it.
Chrome's GN files and Google3's BUILD file will need an update, before or after this CL.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2840
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I826daf77b5104664c5d31ddaabee347e287b87a2
Reviewed-on: https://skia-review.googlesource.com/2840
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
fmalita [Fri, 30 Sep 2016 15:05:24 +0000 (08:05 -0700)]
Revert of Turned on SkSL->GLSL compiler (patchset #41 id:880001 of https://codereview.chromium.org/
2288033003/ )
Reason for revert:
1) Chromium roll failures: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/307297/steps/screenshot_sync_tests%20on%20NVIDIA%20GPU%20on%20Linux%20%28with%20patch%29%20on%20Linux/logs/stdio
2) G3 roll failures
3) iOS failures: https://uberchromegw.corp.google.com/i/client.skia/builders/Perf-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release/builds/7177/steps/perf_skia%20on%20iOS-9.2/logs/stdio
Original issue's description:
> Turned on SkSL->GLSL compiler
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2288033003
>
> Committed: https://skia.googlesource.com/skia/+/
9b0fe3d125f237d9884732a48414fa85fc71b4e3
> Committed: https://skia.googlesource.com/skia/+/
b12b3c6908c62c908b3680be01e3b5bfd30de310
> Committed: https://skia.googlesource.com/skia/+/
f008b0a59f45c0d4bea3e66faf3b01805009ec89
TBR=benjaminwagner@google.com,bsalomon@google.com,egdaniel@google.com,ethannicholas@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/
2387643003
Ben Wagner [Thu, 29 Sep 2016 19:41:53 +0000 (15:41 -0400)]
Implement 'action' in gn_to_cmake.py.
With this change it is possible to build all Skia targets.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2784
Change-Id: I5c53a6ba5746d210e0ae8f7a29b409d40c7b9bff
Reviewed-on: https://skia-review.googlesource.com/2784
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
ethannicholas [Fri, 30 Sep 2016 13:23:24 +0000 (06:23 -0700)]
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2288033003
Committed: https://skia.googlesource.com/skia/+/
9b0fe3d125f237d9884732a48414fa85fc71b4e3
Committed: https://skia.googlesource.com/skia/+/
b12b3c6908c62c908b3680be01e3b5bfd30de310
Review-Url: https://codereview.chromium.org/
2288033003
fmalita [Fri, 30 Sep 2016 13:14:49 +0000 (06:14 -0700)]
Revert of Fix gamut GM to work w/serialization configs. Remove it from blacklist. (patchset #2 id:20001 of https://codereview.chromium.org/
2383513002/ )
Reason for revert:
Valgrind errors:
==2603== Invalid read of size 8
==2603== at 0xA284E0: SkSurface::getCanvas() (SkSurface_Base.h:108)
==2603== by 0x4F0B0F: gamut_GM(SkCanvas*) (gamut.cpp:163)
==2603== by 0x483B77: DM::GMSrc::draw(SkCanvas*) const (DMSrcSink.cpp:69)
==2603== by 0x485F04: DM::GPUSink::draw(DM::Src const&, SkBitmap*, SkWStream*, SkString*) const (DMSrcSink.cpp:1226)
==2603== by 0x47E974: dm_main() (DM.cpp:1035)
==2603== by 0x6652EC4: (below main) (libc-start.c:287)
==2603== Address 0x20 is not stack'd, malloc'd or (recently) free'd
==2603==
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1410/steps/test_skia%20on%20Ubuntu/logs/stdio
Original issue's description:
> Fix gamut GM to work w/serialization configs. Remove it from blacklist.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383513002
>
> Committed: https://skia.googlesource.com/skia/+/
e4a17372a188f1dffc3f9c9bcdfbb9860728630b
TBR=reed@google.com,borenet@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2380313002
brianosman [Thu, 29 Sep 2016 21:37:02 +0000 (14:37 -0700)]
Support monitor profile in SampleApp (on Windows)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2381913003
Review-Url: https://codereview.chromium.org/
2381913003
bsalomon [Thu, 29 Sep 2016 20:53:49 +0000 (13:53 -0700)]
Remove soft clip bool from SkCanvas
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2380163002
Review-Url: https://codereview.chromium.org/
2380163002
brianosman [Thu, 29 Sep 2016 20:43:49 +0000 (13:43 -0700)]
Remove caching from the draw-atlas GMs. Fixes bugs cycling backends.
When we would change backend or color type in SampleApp, we'd be rendering
from a no-longer-valid image, leading to missing output, etc...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2381893004
Review-Url: https://codereview.chromium.org/
2381893004
csmartdalton [Thu, 29 Sep 2016 20:11:23 +0000 (13:11 -0700)]
Add skstd version of std::exchange
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2381793004
Review-Url: https://codereview.chromium.org/
2381793004
Mike Reed [Thu, 29 Sep 2016 18:12:11 +0000 (14:12 -0400)]
simplify composing raster surface into window
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2820
Change-Id: Ifce7bce8b764d2dea02733d823396576a7da609f
Reviewed-on: https://skia-review.googlesource.com/2820
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
fmalita [Thu, 29 Sep 2016 19:25:26 +0000 (12:25 -0700)]
Reenable GM:arithmode
Convert to SkXfermodeImageFilter and reenable.
R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2379873003
Review-Url: https://codereview.chromium.org/
2379873003
raftias [Thu, 29 Sep 2016 18:31:44 +0000 (14:31 -0400)]
Fixed invalid memory access issue in SkColorSpaceXform::apply()
Passing in a large buffer along with a source colour space that
used a CLUT would cause apply() to read freed heap memory, or
for smaller buffers read possibly re-used stack memory.
The code previously likely lucked out due to optimizations
removing most or all of the subsequent stack allocations.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2759
Change-Id: I39f357bce080c4d737a83dd019f0d1ccbc56f995
Reviewed-on: https://skia-review.googlesource.com/2759
Commit-Queue: Robert Aftias <raftias@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Mike Klein [Thu, 29 Sep 2016 17:40:01 +0000 (13:40 -0400)]
Add an enum layer of indirection for stock raster pipeline stages.
This is handy now, and becomes necessary with fancier backends:
- most code can't speak the type of AVX pipeline stages,
so indirection's definitely needed there;
- if the pipleine is entirely composed of stock stages,
these enum values become an abstract recipe that can be JITted.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2782
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: Iedd62e99ce39e94cf3e6ffc78c428f0ccc182342
Reviewed-on: https://skia-review.googlesource.com/2782
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
brianosman [Thu, 29 Sep 2016 17:49:46 +0000 (10:49 -0700)]
Use SkOnce to squelch command buffer spam
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2382793002
Review-Url: https://codereview.chromium.org/
2382793002
brianosman [Thu, 29 Sep 2016 17:08:36 +0000 (10:08 -0700)]
Recent image filter work now allows this check to be enabled.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2379053002
Review-Url: https://codereview.chromium.org/
2379053002
bsalomon [Thu, 29 Sep 2016 17:07:22 +0000 (10:07 -0700)]
Revert of Explicit control in tools of ANGLE frontend and backend (patchset #6 id:90001 of https://codereview.chromium.org/
2381033002/ )
Reason for revert:
Broke bots
Original issue's description:
> Explicit control in tools of ANGLE frontend and backend
>
> Update the ANGLE test GL context, GrContextFactory, and config parsing to allow explicit control of ANGLE front/backend.
>
> This will allow us to explicitly test ES2 vs ES3 interfaces to ANGLE as well as D3D9, D3D11, and OpenGL backends.
>
> Also makes the angle api types valid in all builds (but will just fail when SK_ANGLE=1 or not on windows for the d3d backends).
>
> BUG=skia:5804
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2381033002
>
> Committed: https://skia.googlesource.com/skia/+/
50094fb489543655df026be4e4f99e09e57a1f49
TBR=brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5804
Review-Url: https://codereview.chromium.org/
2384483003
bsalomon [Thu, 29 Sep 2016 16:49:06 +0000 (09:49 -0700)]
Explicit control in tools of ANGLE frontend and backend
Update the ANGLE test GL context, GrContextFactory, and config parsing to allow explicit control of ANGLE front/backend.
This will allow us to explicitly test ES2 vs ES3 interfaces to ANGLE as well as D3D9, D3D11, and OpenGL backends.
Also makes the angle api types valid in all builds (but will just fail when SK_ANGLE=1 or not on windows for the d3d backends).
BUG=skia:5804
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2381033002
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
Review-Url: https://codereview.chromium.org/
2381033002
benjaminwagner [Thu, 29 Sep 2016 16:36:29 +0000 (09:36 -0700)]
Revert of Add SK_SUPPORT_LEGACY_HAIRLINE_END_CAP to work around dependent test failure. (patchset #1 id:1 of https://codereview.chromium.org/
2379843002/ )
Reason for revert:
Dependent test has been fixed.
Original issue's description:
> Add SK_SUPPORT_LEGACY_HAIRLINE_END_CAP to work around dependent test failure.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2379843002
>
> Committed: https://skia.googlesource.com/skia/+/
aa6ef3ebc60e0f70db0e599f4cd34d5be06486c9
TBR=caryclark@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/
2379993004
Mike Klein [Thu, 29 Sep 2016 13:04:15 +0000 (09:04 -0400)]
Start moving SkRasterPipeline stages to SkOpts.
This lets them pick up runtime CPU specializations. Here I've plugged in SSE4.1. This is still one of the N prelude CLs to full 8-at-a-time AVX.
I've moved the union of the stages used by SkRasterPipelineBench and SkRasterPipelineBlitter to SkOpts... they'll all be used by the blitter eventually. Picking up SSE4.1 specialization here (even still just 4 pixels at a time) is a significant speedup, especially to store_srgb(), so much that it's no longer really interesting to compare against the fused-but-default-instruction-set version in the bench. So that's gone now.
That left the SkRasterPipeline unit test as the only other user of the EasyFn simplified interface to SkRasterPipeline. So I converted that back down to the bare-metal interface, and EasyFn and its friends became SkRasterPipeline_opts.h exclusive abbreviations (now called Kernel_Sk4f). This isn't really unexpected: SkXfermode also wanted to build up its own little abstractions, and once you build your own abstraction, the value of an additional EasyFn-like layer plummets to negative.
For simplicity I've left the SkXfermode stages alone, except srcover() which was always part of the blitter. No particular reason except keeping the churn down while I hack. These _can_ be in SkOpts, but don't have to be until we go 8-at-a-time.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2752
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Change-Id: I3b476b18232a1598d8977e425be2150059ab71dc
Reviewed-on: https://skia-review.googlesource.com/2752
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Mike Klein [Thu, 29 Sep 2016 15:26:37 +0000 (11:26 -0400)]
Disable FP contraction on -Fast bot.
It's more annoying than helpful to have GCC turn mul,add into fma.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2780
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot
Change-Id: I63f4615f73aed112f10f6cb516d899b820918298
Reviewed-on: https://skia-review.googlesource.com/2780
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Mike Klein [Thu, 29 Sep 2016 15:15:15 +0000 (11:15 -0400)]
*SkTCast<int*>(float*) -> memcpy
In some build configurations (I think, GN, GCC 6, Debug) I get a warning that i is used unintialized. This likely has something to do with GCC correctly seeing that the SkTCast construction there is illegal aliasing, and perhaps thus "doesn't happen". Might be that if the SkTCast gets inlined, it decides its implementation is secretly kosher, and so Release builds don't see this. None of this happens with the GCCs we have on the bots... too old?
Instead use memcpy() here, which is well defined to do what we intended.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2758
Change-Id: Iaf5c75fbd852193b0b861bf5e71450502511d102
Reviewed-on: https://skia-review.googlesource.com/2758
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
halcanary [Thu, 29 Sep 2016 15:43:41 +0000 (08:43 -0700)]
SkPDF/Documentation: backend limitations
NOTRY=true
Review-Url: https://codereview.chromium.org/
2377473002
benjaminwagner [Thu, 29 Sep 2016 15:20:41 +0000 (08:20 -0700)]
Fix obvious bug in KTX encoder.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383523002
Review-Url: https://codereview.chromium.org/
2383523002
brianosman [Thu, 29 Sep 2016 14:25:45 +0000 (07:25 -0700)]
Fix gamut GM to work w/serialization configs. Remove it from blacklist.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2383513002
Review-Url: https://codereview.chromium.org/
2383513002
benjaminwagner [Thu, 29 Sep 2016 13:42:52 +0000 (06:42 -0700)]
Add SK_SUPPORT_LEGACY_HAIRLINE_END_CAP to work around dependent test failure.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2379843002
Review-Url: https://codereview.chromium.org/
2379843002
csmartdalton [Thu, 29 Sep 2016 13:23:23 +0000 (06:23 -0700)]
skpbench: use accumulative result as the default
Uses accum instead of median for the first column in skpbench.cpp, and
the default result for parseskpbench.py. The accum is empirically
proving to be more repeatable than the median.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2378383002
Review-Url: https://codereview.chromium.org/
2378383002
csmartdalton [Wed, 28 Sep 2016 21:53:07 +0000 (14:53 -0700)]
skpbench: use double buffering instead of triple
We have no need for our command stream to get more than a couple of
frames deep. Any more and we only increase our chances of sporadic
flushing and unreliable timings.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2376043002
Review-Url: https://codereview.chromium.org/
2376043002
Mike Reed [Wed, 28 Sep 2016 21:13:38 +0000 (17:13 -0400)]
isABitmap is deprecated, use isAImage
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2748
Change-Id: I7006a3231ff0e9e39b187deae550364bc97f49d6
Reviewed-on: https://skia-review.googlesource.com/2748
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
bungeman [Wed, 28 Sep 2016 20:45:35 +0000 (16:45 -0400)]
Improve GN to CMake translation for building.
This adds proper target types, dependencies, and library handling. This
is enough to build and run dm on Linux and Mac.
Change-Id: I5220f67f7dd3dbada7ad03ef83fff8fd80158fad
Reviewed-on: https://skia-review.googlesource.com/2664
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
brianosman [Wed, 28 Sep 2016 21:02:10 +0000 (14:02 -0700)]
Tag checkerboard bitmaps as sRGB
Significantly reduces the diff between legacy and sRGB/F16 on about 25
GMs. This is just the biggest piece of low-hanging fruit. Many GMs create
N32 raster surfaces to procedurally generate source textures, and I'd like
to fix all of them. It's much easier to reason about the GMs (is sRGB
doing the right thing) when everything is tagged like this - the only
expected differences are due to filtering and blending.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2368933003
Committed: https://skia.googlesource.com/skia/+/
fe843cea499ba163d53281425af210b1887d28e7
Review-Url: https://codereview.chromium.org/
2368933003
brianosman [Wed, 28 Sep 2016 21:01:51 +0000 (14:01 -0700)]
Latest ANGLE as of September 27, 2016
Includes a fix for ES3 texture reuse that solves many of the problems
we saw using ES3. (There are still issues with some YUV planes).
Also includes a fix for anglebug.com/1478, so half-float formats are
allowed again.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2302993004
Review-Url: https://codereview.chromium.org/
2302993004
csmartdalton [Wed, 28 Sep 2016 20:56:01 +0000 (13:56 -0700)]
skpbench: run for a fixed duration
Runs for a fixed amount of time instead of a fixed amount of samples.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2374093002
Review-Url: https://codereview.chromium.org/
2374093002
brianosman [Wed, 28 Sep 2016 20:03:05 +0000 (13:03 -0700)]
Make applyCropRect/pad_image convert to the output color space
The source's color space may not be renderable, leading to makeSurface
failing. This is unfortunate, but this solution is by far the simplest.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2380833002
Review-Url: https://codereview.chromium.org/
2380833002
bsalomon [Wed, 28 Sep 2016 19:40:22 +0000 (12:40 -0700)]
Use brackets for explicit GPU config params in tools
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2378163003
Review-Url: https://codereview.chromium.org/
2378163003
Mike Klein [Wed, 28 Sep 2016 18:00:51 +0000 (14:00 -0400)]
monobench: usability tweaks
- Allow an second argument to limit the number of samples.
- If no benchmarks match, warn and exit instead of infinitely looping.
The default limit of
2147483647 10ms samples will run for 9 months, which I think is long enough to not need any special infinity logic.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2747
Change-Id: Id70cf77b624e19dc04e1d75a71385aee3c988a80
Reviewed-on: https://skia-review.googlesource.com/2747
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Ben Wagner [Wed, 28 Sep 2016 18:05:39 +0000 (14:05 -0400)]
Roll buildtools
adb8bf4e8fc..
5fd66957f08bb7
https://chromium.googlesource.com/chromium/buildtools/+log/
adb8bf4e8fc..
5fd66957f08bb7
Primarily to pick up
https://chromium.googlesource.com/chromium/src/+/
d51d3527da33
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2749
Change-Id: I3f9ac18c8946fa28effcf8c8cff3bbd1120a86df
Reviewed-on: https://skia-review.googlesource.com/2749
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
brianosman [Wed, 28 Sep 2016 18:27:28 +0000 (11:27 -0700)]
Gradients are serialized (and can be constructed) as SkColor4f + SkColorSpace
Added gradient shader factories that take SkColor4f + SkColorSpace.
Modified Descriptor to only store SkColor4f + SkColorSpace.
Existing factories make use of helper code to convert SkColor and
forward to the new factories.
Bumped SKP version to handle new gradient serialization format.
I was toying with using half-float when serializing SkColor4f,
despite my aggressive packing of flags, this format is significantly
bigger.
Also added GM to use 4f factories. This GM should (and does)
look identical to the existing gradients GM.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=
2370063002
Review-Url: https://codereview.chromium.org/
2370063002
halcanary [Wed, 28 Sep 2016 18:19:52 +0000 (11:19 -0700)]
documentation: update PDF design doc
NOTRY=true
Review-Url: https://codereview.chromium.org/
2295373002