mtklein [Tue, 8 Dec 2015 22:26:17 +0000 (14:26 -0800)]
Disable sanitizers with a blacklist.
We think this might be more flexible. It allows, e.g, function-level blacklisting,
and here an easy one-stop-shop blacklist for all of third_party/externals.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1509733003
mtklein [Tue, 8 Dec 2015 19:55:17 +0000 (11:55 -0800)]
Add sk_careful_memcpy to catch undefined behavior in memcpy.
It's undefined behavior to pass null as src or dst to memcpy, even if len is 0.
This currently triggers -fsanitize=attribute-nonnull warnings, but also can
lead to very unexpected code generation with GCC.
sk_careful_memcpy() checks len first before calling memcpy(),
which prevents that weird undefined situation.
This allows me to mark all sanitizers as no-recover, i.e. make-the-bots-red fatal.
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
BUG=skia:4641
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1510683002
reed [Tue, 8 Dec 2015 18:59:13 +0000 (10:59 -0800)]
Revert of default SkPixelSerializer (patchset #1 id:1 of https://codereview.chromium.org/
1507123002/ )
Reason for revert:
Breaking DEPS roll (linker error)
Original issue's description:
> default SkPixelSerializer
>
> Add SkImageEncoder::EncodeData(const SkPixmap&, ...) function.
>
> Add SkImageEncoder::CreatePixelSerializer() to return a
> PixelSerializer that calls into SkImageEncoder::EncodeData.
>
> SkImage::encode() make use of SkImageEncoder::CreatePixelSerializer.
>
> Committed: https://skia.googlesource.com/skia/+/
b0bd1516bff3f5afcbfd615e805867531657811b
TBR=scroggo@google.com,halcanary@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1505203003
bsalomon [Tue, 8 Dec 2015 18:53:43 +0000 (10:53 -0800)]
Stop wrapping images backed by generators as bitmaps in SkGpuDevice (except when tiling)
Review URL: https://codereview.chromium.org/
1510903002
mtklein [Tue, 8 Dec 2015 18:53:01 +0000 (10:53 -0800)]
spin off remaining integer overflow fixes
- Carmack rsqrt uses an int where it wants a uint32_t.
- turn off all santizers (including signed-integer-overflow) in third_party/externals/sftntly.
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
BUG=skia:4635
Review URL: https://codereview.chromium.org/
1511643002
cdalton [Tue, 8 Dec 2015 18:48:31 +0000 (10:48 -0800)]
Improve nvpr glyph batching
Batches together path range draws whose view matrices differ by a
simple translation by pre-translating the individual path transforms
during the copy.
BUG=skia:
Review URL: https://codereview.chromium.org/
1507203002
joshualitt [Tue, 8 Dec 2015 18:47:55 +0000 (10:47 -0800)]
Allow LCD text to batch across colorchanges. This will always use
color vertices, even when we can't batch across color changes
BUG=skia:
Review URL: https://codereview.chromium.org/
1502253003
halcanary [Tue, 8 Dec 2015 18:29:58 +0000 (10:29 -0800)]
default SkPixelSerializer
Add SkImageEncoder::EncodeData(const SkPixmap&, ...) function.
Add SkImageEncoder::CreatePixelSerializer() to return a
PixelSerializer that calls into SkImageEncoder::EncodeData.
SkImage::encode() make use of SkImageEncoder::CreatePixelSerializer.
Review URL: https://codereview.chromium.org/
1507123002
cdalton [Tue, 8 Dec 2015 18:20:32 +0000 (10:20 -0800)]
Remove drawPathsFromRange from GrDrawContext
Replaces drawPathsFromRange with a more general drawPathBatch method.
While this still isn't perfect, it's a step in the right direction that
removes the need for path range draws to fit in a public API.
BUG=skia:
Review URL: https://codereview.chromium.org/
1506823004
mtklein [Tue, 8 Dec 2015 18:04:42 +0000 (10:04 -0800)]
simplify the way we disable sanitizers for yasm
seems to work fine
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/
1505013003
joshualitt [Tue, 8 Dec 2015 17:14:01 +0000 (09:14 -0800)]
Enable gpudft on GalaxyS3
BUG=skia:
Review URL: https://codereview.chromium.org/
1509193002
robertphillips [Tue, 8 Dec 2015 13:19:12 +0000 (05:19 -0800)]
Loosen check for zero vectors in GrPathUtils::convert_noninflect_cubic_to_quads
In the repro case the conic in question has a replicated control point at the end. These points end up being slightly different by the time they get to convert_noninflect_cubic_to_quads so the initial checks for a zero vector don't fire. The following checks, in the constrainWithinTangents path, do fire however leading to a premature termination of conversion to quads.
BUG=skia:4611
Review URL: https://codereview.chromium.org/
1504983003
caryclark [Tue, 8 Dec 2015 12:29:45 +0000 (04:29 -0800)]
Zero length lines may have caps, but do not need joins.
Check to see if the point is preceeded or followed
by a line with a computable tangent before adding the join.
R=reed@google.com
BUG=566075
Review URL: https://codereview.chromium.org/
1504043002
kkinnunen [Tue, 8 Dec 2015 09:24:40 +0000 (01:24 -0800)]
Make NVPR a GL context option instead of a GL context
Make NVPR a GL context option instead of a GL context.
This may enable NVPR to be run with command buffer
interface.
No functionality change in DM or nanobench. NVPR can
only be run with normal GL APIs.
BUG=skia:2992
Committed: https://skia.googlesource.com/skia/+/
eeebdb538d476c1bfc8b63a946094ca1b505ecd1
Review URL: https://codereview.chromium.org/
1448883002
kkinnunen [Tue, 8 Dec 2015 07:39:01 +0000 (23:39 -0800)]
Use correct fill type and bounds for NVPR paths that are stroked with Skia
When using NVPR, sometimes paths must be stroked by Skia and then drawn
with fill using NVPR. In these cases, use the fill type and bounds of
the stroked path, not the original path.
Fixes degeneratesegments for nvprmsaa backends.
BUG=skia:4608
Review URL: https://codereview.chromium.org/
1504753003
halcanary [Mon, 7 Dec 2015 22:07:31 +0000 (14:07 -0800)]
SkPNGImageEncoder encodes all SkColorTypes
Review URL: https://codereview.chromium.org/
1506663002
bsalomon [Mon, 7 Dec 2015 22:05:31 +0000 (14:05 -0800)]
Remove SK_IGNORE_GL_TEXTURE_TARGET from skia_for_chromium_defines.gypi
This has been added to Chrome's SkUserConfig.h
Review URL: https://codereview.chromium.org/
1503173003
mtklein [Mon, 7 Dec 2015 21:37:00 +0000 (13:37 -0800)]
fix funky formatting in SkNVRefCnt
BUG=skia:
TBR=reed@google.com
No API change.
Review URL: https://codereview.chromium.org/
1505023002
mtklein [Mon, 7 Dec 2015 21:27:32 +0000 (13:27 -0800)]
When was SkPDiff last used?
BUG=skia:1451,skia:1463,skia:1798,skia:1859,skia:2710,skia:2711,skia:2712,skia:2713
Review URL: https://codereview.chromium.org/
1502173003
joshualitt [Mon, 7 Dec 2015 21:26:31 +0000 (13:26 -0800)]
Make GrAtlasTextBlob non-virtual
BUG=skia:
Review URL: https://codereview.chromium.org/
1503213003
senorblanco [Mon, 7 Dec 2015 20:51:30 +0000 (12:51 -0800)]
Minor code cleanups in SkCanvas.
Since the SK_SAVE_LAYER_BOUNDS_ARE_FILTERED path is long gone from
SkCanvas, remove or localize some temporary variables.
Cleanup only; no user-visible changes.
BUG=skia:
Review URL: https://codereview.chromium.org/
1508823002
halcanary [Mon, 7 Dec 2015 20:42:24 +0000 (12:42 -0800)]
SkPixelSerializer: support indexed pixels
By taking a SkPixmap, SkPixelSerializer::encode() can now handle colortables.
Review URL: https://codereview.chromium.org/
1501303002
mtklein [Mon, 7 Dec 2015 20:33:13 +0000 (12:33 -0800)]
add signed-integer-overflow to yasm exceptions
BUG=skia:4635
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot
Review URL: https://codereview.chromium.org/
1509613002
joshualitt [Mon, 7 Dec 2015 20:26:12 +0000 (12:26 -0800)]
A small cleanup of GrAtlasTextContext
BUG=skia:
Review URL: https://codereview.chromium.org/
1502323002
caryclark [Mon, 7 Dec 2015 20:18:02 +0000 (12:18 -0800)]
fix coincident fuzzer
This fuzzer has very large Y values that cause the
points to sort incorrectly by t. Exit out as soon
as this is detected.
TBR=reed@google.com
BUG=561121
Review URL: https://codereview.chromium.org/
1507803002
herb [Mon, 7 Dec 2015 20:12:29 +0000 (12:12 -0800)]
Simplify D1G so that it can inline DrawOneGlyph, and fix a bug in codegen
that only happens on ARM64 using GCC 4.9.
Review URL: https://codereview.chromium.org/
1507633004
halcanary [Mon, 7 Dec 2015 20:02:33 +0000 (12:02 -0800)]
SkImageShaderFactoryToName SkAlphaThresholdFilterFactoryToName
https://gold.skia.org/diff?test=image-shader&left=
8807a80c69a5d565821432fe6a7b74ec&top=
80222191bf0768b0fc62c8e05b58fb5f
https://gold.skia.org/diff?test=imagealphathreshold&left=
fc3fbbfbd1b1e7ec1c33c00c6c22b9a8&top=
493096aac6f44b91cd6522c6049d5a56
BUG=skia:4613
Review URL: https://codereview.chromium.org/
1499443002
scroggo [Mon, 7 Dec 2015 19:37:13 +0000 (11:37 -0800)]
Allow SkStream::peek() to partially succeed
If the stream can peek less than requested, peek that amount. Return
the number of bytes peeked.
This simplifies crrev.com/
1472123002. For a stream that is smaller than
14 bytes, it can successfully peek, meaning the client will not need to
fall back to read() + rewind(), which may fail if the stream can peek
but not rewind.
This CL revives code from patch set 3 of crrev.com/
1044953002, where I
initially introduced peek() (including tests).
Add a test for SkFrontBufferedStream that verifies that peeking does
not make rewind() fail (i.e. by reading past the internal buffer).
BUG=skia:3257
Review URL: https://codereview.chromium.org/
1490923005
joshualitt [Mon, 7 Dec 2015 19:32:50 +0000 (11:32 -0800)]
Start objectifying GrAtlasTextBlob
BUG=skia:
Review URL: https://codereview.chromium.org/
1503193002
thakis [Mon, 7 Dec 2015 18:41:36 +0000 (10:41 -0800)]
clang/win: Let SK_TRACEHR not produce -Wunused-value warnings in release builds.
Fixes warnings like:
..\..\third_party\skia\include\utils\win\SkHRESULT.h(51,23) : note: expanded from macro 'HRNM'
^~~~~~~~~~~~~~~~~~~~~~~~~
..\..\third_party\skia\include\utils\win\SkHRESULT.h(26,20) : note: expanded from macro 'HR_GENERAL'
SK_TRACEHR(_hr, _msg);\
^~~
..\..\third_party\skia\include\utils\win\SkHRESULT.h(20,31) : note: expanded from macro 'SK_TRACEHR'
^~~
BUG=chromium:505318
TBR=reed
This is a trivial implementation change.
Review URL: https://codereview.chromium.org/
1503463004
tomhudson [Mon, 7 Dec 2015 18:38:05 +0000 (10:38 -0800)]
Fix up signed-integer-overflow warnings
When checking whether a matrix was a pure scale, we subtracted
0x3f800000 from the diagonals; if the diagonal value was already
very negative, we'd underflow. Replace subtraction with XOR.
When dealing with repeating tiled bitmaps, when the bitmap was
very large, we'd multiply an offset by 65535, possibly causing
underflow. Throw in a cast to long (casting to unsigned also
silences the warning and wouldn't involve extension, but I can't
convince myself that it's correct).
BUG=skia:4635
R=mtklein@google.com
Review URL: https://codereview.chromium.org/
1504933002
senorblanco [Mon, 7 Dec 2015 18:36:30 +0000 (10:36 -0800)]
Add SkTileImageFilter sample to filterfastbounds GM.
NOTE: will affect pixel results for filterfastbounds GM.
BUG=skia:3194
Review URL: https://codereview.chromium.org/
1500373004
joel.liang [Mon, 7 Dec 2015 18:33:00 +0000 (10:33 -0800)]
Always use high precision on NDS transform
To fix the Chrome fillRect issue on Galaxy S6.
We should use high precision for position related calculation.
BUG=chromium:552999
Review URL: https://codereview.chromium.org/
1500393002
halcanary [Mon, 7 Dec 2015 18:29:54 +0000 (10:29 -0800)]
SkAlphaThresholdFilter.h allow flattening
Motivation: allows this:
#include "SkAlphaThresholdFilter.h"
void init() {
SkAlphaThresholdFilter::InitializeFlattenables();
}
BUG=skia:4613
Review URL: https://codereview.chromium.org/
1500373003
robertphillips [Mon, 7 Dec 2015 17:54:02 +0000 (09:54 -0800)]
Pin result in SkATan2_255
BUG=555544
Review URL: https://codereview.chromium.org/
1506913002
reed [Mon, 7 Dec 2015 17:28:34 +0000 (09:28 -0800)]
add gm to exercise large sigmas
BUG=skia:4437
TBR=
Review URL: https://codereview.chromium.org/
1503143002
mtklein [Mon, 7 Dec 2015 16:21:11 +0000 (08:21 -0800)]
better NEON div255
We were doing (x+127)/255 = ((x+128) + (x+128)>>8)>>8 in three instructions:
1) x += 128
2) shift x right 8 bits
3) add x and x>>8 together, then shift right more 8 bits
Now do it as two instructions:
1) shift (x+128) right 8 bits
2) add x and (x+128)>>8 and 128 all together, then shift right 8 more bits
On ARM this will be a 5-10% speedup for SrcATop, DstATop, Xor, Multiply, Difference, HardLight, Darken, and Lighten xfermodes. When we have a mask (e.g. text), *all* xfermodes except Plus will get a similar boost.
This should mean now that (a*b).div255() is the same speed as a.approxMulDiv255(b) on both x86 and ARM, and of course it's perfect instead of approximate. So we should eliminate approxMulDiv255(), but I'll leave it to another CL, as it'll need Blink rebaselines.
This CL should not change GMs or Blink.
https://gold.skia.org/search2?issue=
1502843002&unt=true&query=source_type%3Dgm&master=false
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.android:Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot,Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot
Review URL: https://codereview.chromium.org/
1502843002
senorblanco [Mon, 7 Dec 2015 15:48:34 +0000 (07:48 -0800)]
Matrix convolution bounds fix; affectsTransparentBlack fixes.
Because the convolution kernel is (currently) applied in device space,
there's no way to know which object-space pixels will be touched. So
return false from canComputeFastBounds().
The results from the matrixconvolution GM were actually wrong, since
they were showing edge differences on the clip boundaries, where they
should really only show on crop boundaries. I added a crop to the GM
to keep the results the same (which are useful to test the different
convolution tile modes).
While I was at it, SkImageFilter::affectsTransparentBlack() was
inapplicable on most things except color filters, and its use on
leaf nodes was confusing. So I removed it, and made
SkImageFilter::canComputeFastBounds() virtual instead.
BUG=skia:4630
Review URL: https://codereview.chromium.org/
1500923004
jvanverth [Mon, 7 Dec 2015 15:36:44 +0000 (07:36 -0800)]
Add transfer buffer to GLCaps
Adds a check for PBO/transfer buffer support to GrGLCaps,
and uses that to pick the correct buffer type.
BUG=skia:4604
Review URL: https://codereview.chromium.org/
1503593002
update-skps [Sun, 6 Dec 2015 08:27:08 +0000 (00:27 -0800)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1502893002
reed [Sat, 5 Dec 2015 21:07:27 +0000 (13:07 -0800)]
detect when we can filter bitmaps/images directly, w/o a tmp layer
visual bench run on Mac Pro
curr/maxrss loops min median mean max stddev samples config bench
100/100 MB 16 412µs 413µs 413µs 414µs 0% ▄▁▇▄▄▄▄█▄▃▅ gpu warmupbench
101/102 MB 32 547µs 548µs 611µs 1.24ms 34% █▁▁▁▁▁▁▁▁▁▁ gpu image-filter-sprite-draw-image
102/103 MB 32 547µs 548µs 721µs 1.23ms 41% █▁▇▁▁█▁▁▁▁▁ gpu image-filter-sprite-draw-bitmap
103/103 MB 64 546µs 546µs 546µs 547µs 0% ▆▄▂▁▇█▅▇▅▇▃ gpu image-filter-sprite-draw-sprite
Should have no effect on Chrome while SK_SUPPORT_LEGACY_LAYER_BITMAP_IMAGEFILTERS is defined (which it is in chrome)
BUG=skia:1073
Review URL: https://codereview.chromium.org/
1491293002
senorblanco [Sat, 5 Dec 2015 13:59:41 +0000 (05:59 -0800)]
Revert of Matrix convolution bounds fix; affectsTransparentBlack fixes. (patchset #4 id:60001 of https://codereview.chromium.org/
1500923004/ )
Reason for revert:
Introduced memory leak; pixel changes in Chrome.
Original issue's description:
> Matrix convolution bounds fix; affectsTransparentBlack fixes.
>
> Because the convolution kernel is (currently) applied in device space,
> there's no way to know which object-space pixels will be touched. So
> return false from canComputeFastBounds().
>
> The results from the matrixconvolution GM were actually wrong, since
> they were showing edge differences on the clip boundaries, where they
> should really only show on crop boundaries. I added a crop to the GM
> to keep the results the same (which are useful to test the different
> convolution tile modes).
>
> While I was at it, SkImageFilter::affectsTransparentBlack() was
> inapplicable on most things except color filters, and its use on
> leaf nodes was confusing. So I removed it, and made
> SkImageFilter::canComputeFastBounds() virtual instead.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
8705ec80518ef551994b82ca5ccaeb0241d6adec
TBR=reed@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1497083005
reed [Sat, 5 Dec 2015 04:45:59 +0000 (20:45 -0800)]
report back colorfilters in lua
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1498293002
senorblanco [Fri, 4 Dec 2015 21:57:30 +0000 (13:57 -0800)]
Matrix convolution bounds fix; affectsTransparentBlack fixes.
Because the convolution kernel is (currently) applied in device space,
there's no way to know which object-space pixels will be touched. So
return false from canComputeFastBounds().
The results from the matrixconvolution GM were actually wrong, since
they were showing edge differences on the clip boundaries, where they
should really only show on crop boundaries. I added a crop to the GM
to keep the results the same (which are useful to test the different
convolution tile modes).
While I was at it, SkImageFilter::affectsTransparentBlack() was
inapplicable on most things except color filters, and its use on
leaf nodes was confusing. So I removed it, and made
SkImageFilter::canComputeFastBounds() virtual instead.
BUG=skia:
Review URL: https://codereview.chromium.org/
1500923004
reed [Fri, 4 Dec 2015 20:44:24 +0000 (12:44 -0800)]
clarify diff manually, showing black where they differ
BUG=skia:
TBR=robertphilips@google.com
Review URL: https://codereview.chromium.org/
1498243002
reed [Fri, 4 Dec 2015 19:59:05 +0000 (11:59 -0800)]
use RawIter in hairpath (simplifies)
no impact on nanobench
BUG=skia:
Review URL: https://codereview.chromium.org/
1497283002
caryclark [Fri, 4 Dec 2015 19:08:42 +0000 (11:08 -0800)]
add hairline with caps gm
TBR=reed@google.com
Review URL: https://codereview.chromium.org/
1502613002
borenet [Fri, 4 Dec 2015 18:19:21 +0000 (10:19 -0800)]
Add iOS compile bot to the CQ
BUG=skia:4252
Review URL: https://codereview.chromium.org/
1501453005
joshualitt [Fri, 4 Dec 2015 17:02:34 +0000 (09:02 -0800)]
Create a skeleton VisualDebugModule
BUG=skia:
Review URL: https://codereview.chromium.org/
1498043002
joshualitt [Fri, 4 Dec 2015 16:51:11 +0000 (08:51 -0800)]
fix mozilla bug
TBR=bsalomon@google.com
BUG=skia:4621
Review URL: https://codereview.chromium.org/
1500023002
benjaminwagner [Fri, 4 Dec 2015 16:48:26 +0000 (08:48 -0800)]
Fix overflow caught by ASAN.
BUG=skia:
Review URL: https://codereview.chromium.org/
1498923002
msarett [Fri, 4 Dec 2015 16:00:50 +0000 (08:00 -0800)]
Make SkAndroidCodec support ico
BUG=skia:
Review URL: https://codereview.chromium.org/
1472933002
bsalomon [Fri, 4 Dec 2015 15:27:36 +0000 (07:27 -0800)]
Speculative fix for win8 bot crash in ~GrAutoLocaleSetter
Review URL: https://codereview.chromium.org/
1493913008
scroggo [Fri, 4 Dec 2015 15:09:57 +0000 (07:09 -0800)]
Revert of Make SkAndroidCodec support ico (patchset #7 id:130002 of https://codereview.chromium.org/
1472933002/ )
Reason for revert:
Crashing: https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-NexusPlayer-CPU-SSE4-x86-Release/builds/1499/steps/dm/logs/stdio
Also, related ASAN failures:
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN/builds/3676/steps/dm/logs/stdio
Original issue's description:
> Make SkAndroidCodec support ico
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
1603e9310f62cf0dd543cdb09dea06aa78373f13
TBR=djsollen@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1498903004
borenet [Fri, 4 Dec 2015 14:59:31 +0000 (06:59 -0800)]
Add android_skp_capture.py, JSON file for geniewidget
The script runs through the directory of JSON files, capturing SKPs from
the apps specified by the JSON files.
BUG=skia:
Review URL: https://codereview.chromium.org/
1483063006
robertphillips [Fri, 4 Dec 2015 14:58:16 +0000 (06:58 -0800)]
Reduce calls sites where both the GrDrawContext & GrRenderTarget are both passed
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1494083003
mtklein [Fri, 4 Dec 2015 14:35:30 +0000 (06:35 -0800)]
simplify nanobench --quiet / -q output
This tries to cut things down to the very minimum you might want to know:
$ out/Release/nanobench --match nytimes --config 8888 gpu -q
Timer overhead: 29.6ns
! -> high variance, ? -> moderate variance
micros bench
2479.05 ! desk_nytimes.skp_1_mpd 8888
1313.92 desk_nytimes.skp_1_mpd gpu
3617.65 desk_nytimes.skp_1 8888
1158.34 desk_nytimes.skp_1 gpu
1368.99 ! keymobi_nytimes_com_.skp_1_mpd 8888
393.40 keymobi_nytimes_com_.skp_1_mpd gpu
1179.68 ! keymobi_nytimes_com_.skp_1 8888
342.74 keymobi_nytimes_com_.skp_1 gpu
All times are printed in microseconds, and high variance runs are marked.
BUG=skia:
Review URL: https://codereview.chromium.org/
1493313003
msarett [Fri, 4 Dec 2015 13:43:09 +0000 (05:43 -0800)]
Make SkAndroidCodec support ico
BUG=skia:
Review URL: https://codereview.chromium.org/
1472933002
kkinnunen [Fri, 4 Dec 2015 07:11:40 +0000 (23:11 -0800)]
Load ANGLE EGL library correctly on Linux
Assign dynamically loaded ANGLE EGL library to correct variable.
BUG=skia:
Review URL: https://codereview.chromium.org/
1494963002
kkinnunen [Fri, 4 Dec 2015 07:04:50 +0000 (23:04 -0800)]
Skip dm GPU configs when context creation fails
Skip dm GPU configs when context creation fails instead of stopping
the whole dm run.
Review URL: https://codereview.chromium.org/
1497713002
bsalomon [Thu, 3 Dec 2015 20:58:06 +0000 (12:58 -0800)]
Add option to draw wireframe batch bounds
Committed: https://skia.googlesource.com/skia/+/
26489ef21ff5df33b8cb5943fddfd4604e203960
Review URL: https://codereview.chromium.org/
1494473005
reed [Thu, 3 Dec 2015 20:56:59 +0000 (12:56 -0800)]
add bench for sprite-like drawing w/ imagefilters
visualbench run on Mac Pro
curr/maxrss loops min median mean max stddev samples config bench
96/96 MB 16 412µs 413µs 413µs 414µs 0% ▄▁█▅▅▅▅▆▅▃▅ gpu warmupbench
98/98 MB 4 1.86ms 1.86ms 1.86ms 1.86ms 0% ▁▂▇█▆▅▇▄▃▃▃ gpu image-filter-sprite-draw-image
100/100 MB 4 1.86ms 1.86ms 1.86ms 1.86ms 0% ▆▇▅▄▁▆▅█▅▄▅ gpu image-filter-sprite-draw-bitmap
100/100 MB 32 547µs 548µs 590µs 1.01ms 24% █▁▁▁▁▁▁▁▁▁▁ gpu image-filter-sprite-draw-sprite
BUG=skia:
Review URL: https://codereview.chromium.org/
1497843003
msarett [Thu, 3 Dec 2015 20:23:43 +0000 (12:23 -0800)]
Add currScanline() getter to SkCodec API
This is more correct than using nextScanline() for the
SkGifCodec scanline decoder (since we will get a strange
result in the interlaced case) and is necessary if we want
to add scanline decoding to SkIcoCodec.
This does not actually fix bugs or change behavior.
BUG=skia:
Review URL: https://codereview.chromium.org/
1489163002
erikchen [Thu, 3 Dec 2015 20:12:13 +0000 (12:12 -0800)]
Update documentation for SkFontMgr methods.
The appropriate way to get the default system font is to pass |nullptr| as the
familyName. This was not clear from the interface, which may be why ui/gfx/ has
the wrong behavior.
BUG=chromium:564266
Review URL: https://codereview.chromium.org/
1494253002
scroggo [Thu, 3 Dec 2015 18:30:34 +0000 (10:30 -0800)]
Revert of Add option to draw wireframe batch bounds (patchset #6 id:100001 of https://codereview.chromium.org/
1494473005/ )
Reason for revert:
Looks to be responsible for breaking builds e.g. https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/3030/steps/dm/logs/stdio
Original issue's description:
> Add option to draw wireframe batch bounds
>
> Committed: https://skia.googlesource.com/skia/+/
26489ef21ff5df33b8cb5943fddfd4604e203960
TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1492633007
scroggo [Thu, 3 Dec 2015 17:49:02 +0000 (09:49 -0800)]
Stop disabling fixed test
skbug.com/1282 has been fixed, so there is no need to skip these
images
BUG=skia:1282
Review URL: https://codereview.chromium.org/
1391143007
msarett [Thu, 3 Dec 2015 17:48:54 +0000 (09:48 -0800)]
Match libjpeg-turbo name change in Android
BUG=skia:
Review URL: https://codereview.chromium.org/
1464423003
bsalomon [Thu, 3 Dec 2015 17:36:48 +0000 (09:36 -0800)]
Add option to draw wireframe batch bounds
Review URL: https://codereview.chromium.org/
1494473005
kjlubick [Thu, 3 Dec 2015 17:20:55 +0000 (09:20 -0800)]
Make building with clang documentation a bit easier to find
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=
1495913002
Review URL: https://codereview.chromium.org/
1495913002
egdaniel [Thu, 3 Dec 2015 17:20:44 +0000 (09:20 -0800)]
Create GLSLUniformHandler class for gpu backend
BUG=skia:
Review URL: https://codereview.chromium.org/
1490283004
jvanverth [Thu, 3 Dec 2015 17:15:47 +0000 (09:15 -0800)]
Add transfer buffer support.
BUG=skia:4604
Committed: https://skia.googlesource.com/skia/+/
fa498fe12239988578465d0dee69f0d5645bb361
Review URL: https://codereview.chromium.org/
1490473003
fmalita [Thu, 3 Dec 2015 17:15:25 +0000 (09:15 -0800)]
Don't use the Sk4f gradient impl without SIMD
Also remove the SK_SUPPORT_LEGACY_LINEAR_GRADIENT_TABLE guard since it is no
longer used in Chromium.
BUG=chromium:563492
R=reed@google.com,mtklein@google.com
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/
1489233005
egdaniel [Thu, 3 Dec 2015 14:32:22 +0000 (06:32 -0800)]
Revert of Add transfer buffer support. (patchset #9 id:160001 of https://codereview.chromium.org/
1490473003/ )
Reason for revert:
speculative revert for deps roll failures
Original issue's description:
> Add transfer buffer support.
>
> BUG=skia:4604
>
> Committed: https://skia.googlesource.com/skia/+/
fa498fe12239988578465d0dee69f0d5645bb361
TBR=bsalomon@google.com,jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4604
Review URL: https://codereview.chromium.org/
1496843003
benjaminwagner [Thu, 3 Dec 2015 13:04:03 +0000 (05:04 -0800)]
Fix ODR violation.
src/ports/SkFontMgr_fontconfig.cpp and src/fonts/SkFontMgr_fontconfig.cpp both define SkFontMgr_fontconfig.
BUG=skia:
TBR=bungeman
Review URL: https://codereview.chromium.org/
1491943004
reed [Wed, 2 Dec 2015 22:19:47 +0000 (14:19 -0800)]
API to support native scaling by image-generator
BUG=skia:
Review URL: https://codereview.chromium.org/
1396323007
joshualitt [Wed, 2 Dec 2015 22:08:25 +0000 (14:08 -0800)]
Wire up resource cache stats dumping in nanobench
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1495543003
joshualitt [Wed, 2 Dec 2015 22:04:46 +0000 (14:04 -0800)]
Wire up new define in buildbot_spec
BUG=skia:
Review URL: https://codereview.chromium.org/
1492133002
joshualitt [Wed, 2 Dec 2015 21:36:47 +0000 (13:36 -0800)]
reset shader compilations for stats
BUG=skia:
Review URL: https://codereview.chromium.org/
1491823003
jvanverth [Wed, 2 Dec 2015 21:06:37 +0000 (13:06 -0800)]
Add transfer buffer support.
BUG=skia:4604
Review URL: https://codereview.chromium.org/
1490473003
joshualitt [Wed, 2 Dec 2015 21:00:37 +0000 (13:00 -0800)]
Create a define for nanobench builds to dump stats
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1499453002
reed [Wed, 2 Dec 2015 20:58:39 +0000 (12:58 -0800)]
drawSprite and drawImage+clip should draw the same w/ an imagefilter applied. This gm exercises that invariant.
BUG=skia:
Review URL: https://codereview.chromium.org/
1498523002
mtklein [Wed, 2 Dec 2015 20:32:02 +0000 (12:32 -0800)]
Revert of skstd -> std for unique_ptr (patchset #17 id:320001 of https://codereview.chromium.org/
1436033003/ )
Reason for revert:
Chromium bots can't handle forward declared types, e.g.
struct Foo {
int x,y;
std::unique_ptr<Foo> next;
};
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/86497
Original issue's description:
> skstd -> std for unique_ptr
>
> TBR=reed@google.com
> No public API changes.
>
> BUG=skia:4564
>
> Committed: https://skia.googlesource.com/skia/+/
755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50
>
> CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/
06189155d987db5c7e69015f6ea87c2168d6a065
>
> Committed: https://skia.googlesource.com/skia/+/
70e8dfca4a7f5bce97b8021a6e378c4828b09c8c
>
> Committed: https://skia.googlesource.com/skia/+/
dadfc245cc9a0279ff7b73da3344f2ca5d139907
TBR=bungeman@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4564
Review URL: https://codereview.chromium.org/
1498583002
joshualitt [Wed, 2 Dec 2015 19:04:51 +0000 (11:04 -0800)]
Add gpuStatsDump to nanobench GPU bots
BUG=skia:
Review URL: https://codereview.chromium.org/
1497533002
mtklein [Wed, 2 Dec 2015 18:46:18 +0000 (10:46 -0800)]
skstd -> std for unique_ptr
TBR=reed@google.com
No public API changes.
BUG=skia:4564
Committed: https://skia.googlesource.com/skia/+/
755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot
Committed: https://skia.googlesource.com/skia/+/
06189155d987db5c7e69015f6ea87c2168d6a065
Committed: https://skia.googlesource.com/skia/+/
70e8dfca4a7f5bce97b8021a6e378c4828b09c8c
Review URL: https://codereview.chromium.org/
1436033003
robertphillips [Wed, 2 Dec 2015 18:33:46 +0000 (10:33 -0800)]
Reduce use of GrRenderTarget in GrTextContexts
Cleanup prior to switching over to GrRenderTargetProxy.
Review URL: https://codereview.chromium.org/
1485973004
stephana [Wed, 2 Dec 2015 17:45:30 +0000 (09:45 -0800)]
Modify iOSShell-gyp to generate unique bundle identifier
BUG=skia:
Review URL: https://codereview.chromium.org/
1483143002
joshualitt [Wed, 2 Dec 2015 17:05:37 +0000 (09:05 -0800)]
Began logging more gpu stats from nanobench
BUG=skia:
Review URL: https://codereview.chromium.org/
1489033004
robertphillips [Wed, 2 Dec 2015 16:57:50 +0000 (08:57 -0800)]
Remove plumbing of clipRect thoughout the TextContexts
The RenderTarget was only being passed around to be able to recreate the clipRect.
Review URL: https://codereview.chromium.org/
1486323002
msarett [Wed, 2 Dec 2015 15:02:41 +0000 (07:02 -0800)]
Allow SkAndroidCodec to use SkPngChunkReader
Also update documentation of SkPngChunkReader
in SkCodec.
BUG=skia:
Review URL: https://codereview.chromium.org/
1487583003
herb [Tue, 1 Dec 2015 22:14:17 +0000 (14:14 -0800)]
Revert of Simplify draw one glyph (patchset #3 id:40001 of https://codereview.chromium.org/
1403573002/ )
Reason for revert:
This seems to break nexus 9 release.
Original issue's description:
> Replace D1G with a simpler implementation.
>
> Committed: https://skia.googlesource.com/skia/+/
001e74426672e00f3f2783ccf728031662d4a358
TBR=bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1486723004
egdaniel [Tue, 1 Dec 2015 21:54:06 +0000 (13:54 -0800)]
Add in shader blending for CoverageSetOp XP
BUG=skia:
Review URL: https://codereview.chromium.org/
1488213002
robertphillips [Tue, 1 Dec 2015 20:51:26 +0000 (12:51 -0800)]
Retract GrRenderTarget a bit
These sites don't necessarily need the full power of a GrRenderTarget object. This is a clean up for switching over to GrRenderTargetProxys.
Review URL: https://codereview.chromium.org/
1486923004
bungeman [Tue, 1 Dec 2015 19:26:28 +0000 (14:26 -0500)]
Update CMakeLists.txt to exclude SkFontConfigInterface_direct_*.
These files are not expected to be used by common users.
benjaminwagner [Tue, 1 Dec 2015 19:12:05 +0000 (11:12 -0800)]
Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching.
Some future dependents require these changes.
Depends on internal cl/
108287941.
Review URL: https://codereview.chromium.org/
1471033002
herb [Tue, 1 Dec 2015 17:50:04 +0000 (09:50 -0800)]
Replace D1G with a simpler implementation.
Review URL: https://codereview.chromium.org/
1403573002
fmalita [Tue, 1 Dec 2015 17:13:23 +0000 (09:13 -0800)]
Add an SkPath conic conversion utility.
Expose SkConic::chopIntoQuadsPOW2() as SkPath::ConvertConicToQuads().
BUG=chromium:315277
R=reed@google.com
Review URL: https://codereview.chromium.org/
1484373002
halcanary [Tue, 1 Dec 2015 17:02:49 +0000 (09:02 -0800)]
CMake, include/: changes to make fiddle 2.0 better
cmake: remove unused directories from skia.h / ${public_includes}
SkPreConfig.h: work around buggy `#ifdef linux`
include: guard many platform-specific headers
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/
1488813002
scroggo [Tue, 1 Dec 2015 16:08:18 +0000 (08:08 -0800)]
Revert of Fix Android framework build (patchset #1 id:1 of https://codereview.chromium.org/
1491563003/ )
Reason for revert:
eeebdb538d476c1bfc8b63a946094ca1b505ecd1 was reverted, so this one needs to be reverted, too
Original issue's description:
> Fix Android framework build
>
>
eeebdb538d476c1bfc8b63a946094ca1b505ecd1 did not update a Config that
> only builds if SK_BUILD_FOR_ANDROID_FRAMEWORK. This appears to be the
> necessary parameter that is missing.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/
cb6cb21cd9d27054810d2c80ef534dcddd615d4b
TBR=bsalomon@google.com,tomhudson@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992
Review URL: https://codereview.chromium.org/
1487033002
bsalomon [Tue, 1 Dec 2015 15:58:44 +0000 (07:58 -0800)]
Revert of Make NVPR a GL context option instead of a GL context (patchset #2 id:20001 of https://codereview.chromium.org/
1448883002/ )
Reason for revert:
BUG=skia:4609
skbug.com/4609
Seems like GrContextFactory needs to fail when the NVPR option is requested but the driver version isn't sufficiently high.
Original issue's description:
> Make NVPR a GL context option instead of a GL context
>
> Make NVPR a GL context option instead of a GL context.
> This may enable NVPR to be run with command buffer
> interface.
>
> No functionality change in DM or nanobench. NVPR can
> only be run with normal GL APIs.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/
eeebdb538d476c1bfc8b63a946094ca1b505ecd1
TBR=mtklein@google.com,jvanverth@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992
Review URL: https://codereview.chromium.org/
1486153002
scroggo [Tue, 1 Dec 2015 15:53:37 +0000 (07:53 -0800)]
Fix Android framework build
eeebdb538d476c1bfc8b63a946094ca1b505ecd1 did not update a Config that
only builds if SK_BUILD_FOR_ANDROID_FRAMEWORK. This appears to be the
necessary parameter that is missing.
BUG=skia:2992
Review URL: https://codereview.chromium.org/
1491563003