Code:
- Add a non-linear blending bit and makeNonlinearBlending()
to SkColorSpace
- remove enough F16=linear checks to make it possible to
create surfaces and encode pngs with nonlinear F16
Testing:
- add "esrgb" software config to DM, run it
- add "srgbnl" software config, run it
- deemphasize importance of "srgb" config on bots
- update unit tests to reflect relaxed F16 constraints
- add a new unit test file with _really_ basic tests,
and a new unit test that's not working yet
Bug: skia:7942
Change-Id: I8ac042bdf9f3d791765393b68fd9256375184d83
Reviewed-on: https://skia-review.googlesource.com/127325
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Each recipe now includes its own setup steps.
Bug: skia:6473
Change-Id: I97eab2cd63f5004c07408e844cbbed735aac355f
Reviewed-on: https://skia-review.googlesource.com/125660
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
This reverts commit ea51393ba9.
Reason for revert: try again after many fixes of the threaded backend
Original change's description:
> Revert "Exercise the threaded backend in test bots"
>
> This reverts commit a39991ebd7.
>
> Reason for revert: Random bots timeout
>
> Original change's description:
> > Exercise the threaded backend in test bots
> >
> > We can't draw everything correctly now, but it's at least not crashing.
> >
> > The draw_to_canvas is modified by adding flush because now the raster
> > canvas also needs flush like GPU canvases because of the threaded
> > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> > and that's why it was not crashing.)
> >
> >
> > Bug: skia:
> > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> > Reviewed-on: https://skia-review.googlesource.com/118886
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Yuqian Li <liyuqian@google.com>
>
> TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
>
> Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/119100
> Reviewed-by: Yuqian Li <liyuqian@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>
TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:7838
Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f
Reviewed-on: https://skia-review.googlesource.com/121680
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Bug: skia:7050
Change-Id: Icf0bcfbbc505c90a4e8cee7437037a3037bdf33b
Reviewed-on: https://skia-review.googlesource.com/121781
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This reverts commit f39bbe5a31.
Reason for revert: Broke lots of bots
Original change's description:
> Reland "[infra] Run recipes through Kitchen"
>
> Bug: skia:7050
> Change-Id: I331014c408dd5b6f7baafd78ffd12f1235c5bfe7
> Reviewed-on: https://skia-review.googlesource.com/121481
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Reviewed-by: Ravi Mistry <rmistry@google.com>
TBR=borenet@google.com,benjaminwagner@google.com,rmistry@google.com
Change-Id: I4548c66a9cb0b4f105e2bc3b1c7185d14549172f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7050
Reviewed-on: https://skia-review.googlesource.com/121463
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:7050
Change-Id: I331014c408dd5b6f7baafd78ffd12f1235c5bfe7
Reviewed-on: https://skia-review.googlesource.com/121481
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Bug: skia:7050
Change-Id: I50632444eb4ca7f9ae2b1b30b766e531092ccad4
Reviewed-on: https://skia-review.googlesource.com/82500
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This reverts commit a39991ebd7.
Reason for revert: Random bots timeout
Original change's description:
> Exercise the threaded backend in test bots
>
> We can't draw everything correctly now, but it's at least not crashing.
>
> The draw_to_canvas is modified by adding flush because now the raster
> canvas also needs flush like GPU canvases because of the threaded
> backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
> and that's why it was not crashing.)
>
>
> Bug: skia:
> Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
> Reviewed-on: https://skia-review.googlesource.com/118886
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>
TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com
Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/119100
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
We can't draw everything correctly now, but it's at least not crashing.
The draw_to_canvas is modified by adding flush because now the raster
canvas also needs flush like GPU canvases because of the threaded
backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink
and that's why it was not crashing.)
Bug: skia:
Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd
Reviewed-on: https://skia-review.googlesource.com/118886
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Bug: skia:7720
Change-Id: I044ca5281354b21c9deffa408ad7ec20c51d2e2e
Reviewed-on: https://skia-review.googlesource.com/115122
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
This reverts commit e1c2945b5f.
Reason for revert: no crashes since
Original change's description:
> serialize NexusPlayer bots
>
> Temporarily serialize the NexusPlayer Test bots to help diagnose
> skia:7614.
>
> Bug: skia:7614
>
> Change-Id: I190327070f27e53d8344820f2215bad00f12e1ab
> Reviewed-on: https://skia-review.googlesource.com/106621
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
TBR=mtklein@chromium.org,caryclark@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:7614
Change-Id: I1c7508c3f9a171d14cad1b77506d98772ef4ef60
Reviewed-on: https://skia-review.googlesource.com/107620
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Temporarily serialize the NexusPlayer Test bots to help diagnose
skia:7614.
Bug: skia:7614
Change-Id: I190327070f27e53d8344820f2215bad00f12e1ab
Reviewed-on: https://skia-review.googlesource.com/106621
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 43307c09b9.
Reason for revert: Fixed this time. Echo 1 > already online cpu
returns exit code 1, which makes python over-react.
Original change's description:
> Revert "Disable extra CPUs during Nanobench"
>
> This reverts commit 32af335e7a.
>
> Reason for revert: many unhappy android bots
>
> Original change's description:
> > Disable extra CPUs during Nanobench
> >
> > The previous experiment revealed that nanobench can
> > run on any of the online CPUs, so rather than put
> > the ones we don't need/want into powersave mode, just
> > disable them.
> >
> > Maybe in the future we can run CPU tests on the big
> > or LITTLE cpus to get perf data on higher end or
> > lower end cpus, but only if we get very stable
> > results from this.
> >
> > Bug: skia:7378
> > Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
> > Reviewed-on: https://skia-review.googlesource.com/84820
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Commit-Queue: Kevin Lubick <kjlubick@google.com>
>
> TBR=borenet@google.com,mtklein@google.com,kjlubick@google.com
>
> Change-Id: I23c37a6bde631e95f0b4ae7277ec8fcf325a00e9
> Bug: skia:7378
> Reviewed-on: https://skia-review.googlesource.com/84921
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
No-Tree-Checks: true
Change-Id: Ie7f0a3dc6ba55c124c796aba16a0f0497f285f3a
Bug: skia:7378
Reviewed-on: https://skia-review.googlesource.com/84865
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit 32af335e7a.
Reason for revert: many unhappy android bots
Original change's description:
> Disable extra CPUs during Nanobench
>
> The previous experiment revealed that nanobench can
> run on any of the online CPUs, so rather than put
> the ones we don't need/want into powersave mode, just
> disable them.
>
> Maybe in the future we can run CPU tests on the big
> or LITTLE cpus to get perf data on higher end or
> lower end cpus, but only if we get very stable
> results from this.
>
> Bug: skia:7378
> notry=true
> notreechecks=true
> Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
> Reviewed-on: https://skia-review.googlesource.com/84820
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
TBR=borenet@google.com,mtklein@google.com,kjlubick@google.com
Change-Id: I23c37a6bde631e95f0b4ae7277ec8fcf325a00e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7378
Reviewed-on: https://skia-review.googlesource.com/84921
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
The previous experiment revealed that nanobench can
run on any of the online CPUs, so rather than put
the ones we don't need/want into powersave mode, just
disable them.
Maybe in the future we can run CPU tests on the big
or LITTLE cpus to get perf data on higher end or
lower end cpus, but only if we get very stable
results from this.
Bug: skia:7378
notry=true
notreechecks=true
Change-Id: I057513a691093e7f73c0f5790e17fab1a5ec0bc4
Reviewed-on: https://skia-review.googlesource.com/84820
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
They seem to be their own special cases for what
governors they support.
Bug: skia:
NOTRY=true
Change-Id: I7bb220e1d3ba6851c17c7e6ef327aab24ffdba42
Reviewed-on: https://skia-review.googlesource.com/83900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This scaling logic correctly accounts for some devices
which have multiple CPUs. Previously, we were scaling
the smaller of these CPUs, which likely had a negative
impact on nanobench, given nanobench was single threaded
and the CPUs weren't allowed to idle much (because we
set the CPU).
This CL sets those additional CPUs to powersave when we run
nanobench and then correctly scales down the beefier
CPU we want to run nanobench on.
For DM, we just run it in ondemand mode, which will
hopefully be "as fast as possible", but allow the CPU
governor to scale down if overheating becomes a problem.
Bug: skia:7378
notry=TRUE
Change-Id: I45ca5d9fb32182233d1b2d094842c879f2b84da4
Reviewed-on: https://skia-review.googlesource.com/83240
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Add logic to run on Nexus 5xs in Golo.
Bug:788839
Change-Id: I12290d11a0b1b0f012ada216da3e5b2599979c5e
Reviewed-on: https://skia-review.googlesource.com/81861
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The previous list was created from scaling_min_freq and scaling_max_freq
instead of cpuinfo_min_freq and cpuinfo_max_freq which are the actual mins
and maxes, not the current (transient) settings of the governor.
Before:
Test-Release: 61 minutes
Perf-Debug: 41 minutes
After:
Test-Release: 32 minutes
Perf-Debug: 16 minutes
NOTRY=true
Bug: skia:
Change-Id: I9b431e92d2abcecb4fe643389daddc912a1399e1
Reviewed-on: https://skia-review.googlesource.com/78141
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Some bots, especially the Nexus 7s, seemed to occasionally
fail when setting the CPU frequency. I was unable to
repro this behavior, so this is a shotgun approach.
We add a 5 second delay between setting and checking,
checking frequency using scaling_cur_freq instead of
scaling_setspeed, set the min_freq as well as max_freq,
and retry up to 3 times if setting cpu frequency fails.
NOTRY=true
Bug: skia:
Change-Id: Id4d85d8d509c9dba8e3a0e06b5992f5adadf36d2
Reviewed-on: https://skia-review.googlesource.com/78140
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: Iefef7d617e58de2b3be2e27aac075f822641e4ce
Reviewed-on: https://skia-review.googlesource.com/77641
Reviewed-by: Stephan Altmueller <stephana@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:
NOTRY=true
Change-Id: I1a1755dd03f2e6ebd8d9b2c9235cca8eb34f04ad
Reviewed-on: https://skia-review.googlesource.com/75280
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This also makes *sure* the CPU frequency we set the
device to actually "takes". Along the way, I learned
if scaling_max_freq is < the frequency we set, the
scaling_max_freq will be used instead, which was
happening to the PixelCs and AndroidOnes.
As a result, this may make those two Test- configs faster.
Bug: skia:
Change-Id: I10c98d37e296a19e1cf67bfe7269bb59cdd912d5
Reviewed-on: https://skia-review.googlesource.com/74360
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I994f67c3043306d7fa612feb03f8fbe8d7bf4c91
Reviewed-on: https://skia-review.googlesource.com/73760
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
a.k.a. GM fontpocalypse
Change-Id: If834940574adea29b48f35abec61f0a1c9bd59d3
Reviewed-on: https://skia-review.googlesource.com/69881
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
The first "sharding" technique we will try is just by test config
(e.g. 8888, gles, etc). Thus, for backwards compatibility,
the default "shard" is All, as in all configs
Bug: skia:
NOTRY=true
Change-Id: Ia02362477a5d97f8f74d688b5f0c4f45fc129375
Reviewed-on: https://skia-review.googlesource.com/59563
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>