Bug: chromium:897031
Bug: chromium:896776
Prior to this fix, we would treat the output from such a JPEG
as if it were a 16 bit per component RGB PNG. We hit an assert
in debug, but in release mode we do the wrong thing.
Split up SkSwizzler::CreateSwizzler into two public factories
(and a private one) based on whether format conversion is desired.
Without format conversion, we may have already converted (as is
the case with this JPEG), so the SkEncodedInfo::Color is not relevant.
That flavor of the factory just needs to know the bytes per pixel,
so provide that info instead.
Add a test file to Google Storage: apron.jpg, from Chromium's
benchmark files.
Change-Id: If1337d58a508466299f9e4666778727c6cdc879a
Reviewed-on: https://skia-review.googlesource.com/c/164619
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:5774
This recently added image is incomplete, and CG leaves memory
uninitialized. Stop testing it to avoid seeing random images in Gold.
Change-Id: I512c3af6d6df6eedbea96ea5d809cdd5b475833a
Reviewed-on: https://skia-review.googlesource.com/c/165302
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Pubsub errors are causing lots of flaky bot failures
Bug: skia:
Change-Id: I2fc6d57d296899faea36d37dd93fa1e381cea199
Reviewed-on: https://skia-review.googlesource.com/c/164048
Commit-Queue: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Distance field glyphs draw slightly differently based on where the
glyph lands in the atlas.
Change-Id: If09f95e3a707db03a658b251906c912ba504cab7
Reviewed-on: https://skia-review.googlesource.com/c/163540
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
The bloaty here was compiled with this patch:
https://github.com/google/bloaty/pull/149
Hopefully that lands upstream and we can track master again.
This adds BuildStats.+Debug because we need symbols
to get sensical data. Bloaty's WASM support is experimental
and currently doesn't support having a stripped (Release)
version be profiled using the symbols of a Debug version.
This means that the buildStats for debug will be higher
than actual, but hopefully the absolute positioning will be
the same and thus the outputs useful.
Bug: skia:
Change-Id: Id7bf721843e8c52a0aae2b7e57ff95397693b3dd
Reviewed-on: https://skia-review.googlesource.com/c/163256
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
The platform generators seem to leave memory uninitialized on these
files without reporting an error. Blacklist them so we do not get lots
of random images in Gold
Change-Id: If5f2b65d7a20c8a3c71716591d194556bdbf17a5
Reviewed-on: https://skia-review.googlesource.com/c/163254
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Of note, the perf results reported are not directly
comparable CPU->GPU because the GPU ones are likely
emulated (no real gpu in the Docker container on an
GCE VM).
Bug: skia:
Change-Id: I52259085f4d9e22c45b67f3e8ce1211a5c6c6d3e
Reviewed-on: https://skia-review.googlesource.com/c/163126
Reviewed-by: Kevin Lubick <kjlubick@google.com>
- Initialize rowsDecoded in SkSampledCodec. Otherwise,
fillIncompleteImage may be called with an uninitialized
value. This change was originally uploaded to AOSP as
https://android-review.googlesource.com/c/platform/external/skia/+/785816
- If SkPngCodec hits an error, still transform from the
interlace buffer (if needed) and set rowsDecoded properly.
- Do not copy uninitialized memory from the interlace buffer.
- Make BRD treat kErrorInInput like kIncompleteInput. The two errors
are different for the purposes of incremental decode. For a direct
decode, they're essentially the same - part was decoded, but then
the decode was interrupted. This allows testing images with
errors on the bots without reporting a failure.
- Add some images to test incomplete pngs
- errorInInput.png: color_wheel.png truncated with extra 0s at the
end to trigger kErrorInInput
- incInterlaced.png: basi3p02.png (from PNGSuite) similarly modified.
This triggers kIncompleteInput. We have several incomplete PNGs that
we are testing on the bots, but this is the first interlaced
- errorInInputInterlaced.png: This is the same as incInterlaced with
more zeroes at the end. The incorrect CRC (all zeroes) results in
kErrorInInput
Change-Id: I25e1ea917e1c1ca212f104cb9d70290265a51b2d
Reviewed-on: https://skia-review.googlesource.com/c/161822
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Also make a CPU only and GPU only build (although
the latter still has a lot of CPU logic).
Bug: skia:
Change-Id: I857c2300021c2adb5344865c28e4ad3e8d332954
Reviewed-on: https://skia-review.googlesource.com/c/162022
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Previously we didn't do this at all for multiple-texture ops.
Improve the test detecting when filtering can be disabled.
Make draw_image_set GM create tiles with pixel of overlap for correct
filtering.
Add draw_image_set_rect_to_rect to exercise filtering/aa disablement
in combination with tiling.
Makes SkGpuDevice filter out inverted src rects (as is done implicitly
in SkBaseDevice by relying on drawImageRect).
Puts GrTextureOp::fFilter in bitfield.
Change-Id: Iee96cb54d665877c7f4aee422a3a7af2b249b1d6
Reviewed-on: https://skia-review.googlesource.com/c/161641
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
That's what their treemap says and we should try to match it.
Bug: skia:
Change-Id: Iefa95c0440eb6b45a94a72c1beffb8a1199152a4
Reviewed-on: https://skia-review.googlesource.com/c/161825
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
We have a similar ingestion strategy to Gold.
I tried to use something off the shelf like benchmark.js
but passing the PathKit context into the benchmarks was
non-trivial. Plus, making a basic benchmarking tool
ended up being not too hard.
We should be able to re-use the docker container/aggregator
for CanvasKit too.
Bug: skia:
Change-Id: I613dfc58ea57c31cf71566a8ac55f8df9272ad25
Reviewed-on: https://skia-review.googlesource.com/c/161620
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Also remove the unit tests that were enforcing those rules,
and the blacklist of that unit test.
Bug: skia:
Change-Id: I802c9e81a412fe0b19d02f9224b801f4fbd901f2
Reviewed-on: https://skia-review.googlesource.com/c/161562
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Change-Id: Id9e86327bf85f766fac67704078e00bac4af346d
Reviewed-on: https://skia-review.googlesource.com/c/161422
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I92ea1b75bc72515d55bd753d42a6bfa0e701829e
Reviewed-on: https://skia-review.googlesource.com/c/161045
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This creates a nice readable display, since Bloaty
doesn't allow filtering through the CLI.
Additionally, rename the flutter job to accurately
represent what settings it actually is (32 bit ARM built
with clang).
Bug: skia:
Change-Id: Iaed313caf43a31105adc8c85c545cc6cb2bcbe30
Reviewed-on: https://skia-review.googlesource.com/c/160920
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:
Change-Id: Ibb47179315d191af5023039212e4c9b5e784bb75
Reviewed-on: https://skia-review.googlesource.com/c/160765
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Building CanvasKit uses very similar logic to PathKit, so there
was a fair amount of copy/paste/customize.
Fixes the name of skia.js/wasm -> canvaskit.js/wasm and
adds a package.json to formally track versions.
Also move PathKit helper scripts to align better.
Docs-Preview: https://skia.org/?cl=160463
Bug: skia:
Change-Id: Ie75b30592dcc4d520dca41f6f5579006aaa8849b
Reviewed-on: https://skia-review.googlesource.com/c/160463
Reviewed-by: Eric Boren <borenet@google.com>
Additionally, include the revision name in the json file name
to avoid collisions.
Bug: skia:
Change-Id: I6601c28679f82406721d740041a60077b460c0f4
Reviewed-on: https://skia-review.googlesource.com/c/160560
Reviewed-by: Eric Boren <borenet@google.com>
Uses Docker to compile an APK and then run it on an emulator.
We use a specialized image for build (includes Clang, etc)
And then the 3rd party base image for just the test (which
has the emulator and SDK on it).
Bug: skia:7578, skia:7692
Change-Id: I948e0b091868e7173b00e3affd7c3d59a5cd1ec2
Reviewed-on: https://skia-review.googlesource.com/c/159681
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
This should be extensible to do something similar
for libskia and other outputs.
Bug: skia:
Change-Id: Id9f30a82f4eb0e7ce868a32409b1be429917e7f6
Reviewed-on: https://skia-review.googlesource.com/c/160220
Reviewed-by: Eric Boren <borenet@google.com>