This reverts commit 215da624d1.
Reason for revert: Blink issues ironed out.
Original change's description:
> Revert "Remove the NullGL interface (and associated test context)"
>
> This reverts commit de206c75c2.
>
> Reason for revert: Chrome is having issues with the switch to Mock in blink tests.
>
> Original change's description:
> > Remove the NullGL interface (and associated test context)
> >
> > Bug: skia:
> > Change-Id: Ie3c9ee39fc1e0a4406de085c60d8433ffb4419df
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203708
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
>
> TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
>
> Change-Id: Iff0cbf29dcea26957efc800a8c33d0ad8285de0a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205343
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: I1f4fbbcb00f302c5d830cb1392badd6ec7a33c69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205832
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
E.g.
cat <<EOF | go run tools/fm/fm_bot.go -processLimit 0 -quiet -script - out/fm
b=cpu gms ct=8888 w=$WHERE/8888 legacy=true # old and busted
b=cpu gms ct=8888 w=$WHERE/srgb # new hotness
EOF
Change-Id: Ia92ba113ae95478313e1f2cc18b7270ea1aa8a42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205831
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
These do the same thing:
$ go run tools/fm_bot.go out/fm b=cpu gms
$ echo "b=cpu gms" | go run tools/fm/fm_bot.go -s - out/fm
~/skia (make-from-memory↑2|…) $ cat test.sh
set -e
set -x
mkdir -p foo
cat <<EOF | go run tools/fm/fm_bot.go -j 0 -q -s - out/fm
b=cpu ct=8888 gms w=foo/8888
b=cpu ct=565 gms w=foo/565
b=cpu ct=f16 gms w=foo/f16
EOF
~/skia (make-from-memory↑2|…) $ time ./test.sh
+ mkdir -p foo
+ cat
+ go run tools/fm/fm_bot.go -j 0 -q -s - out/fm
9.47 real 234.71 user 9.12 sys
Change-Id: If0e8de2772f12de4257671d24f70662c423581c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205826
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Running fm_bot at head I'm confronted with a puzzling error:
2019/04/03 10:26:01
out/fm -b cpu -w foo -s big_rrect_rect_aa_effect filterbitmap_image_mandrill_512.png #failed (exit status 1):
Don't understand --source ... bailing out.
2019/04/03 10:26:05 1 invocations of out/fm failed
And of course running that command works fine. Puzzling!
To fix this, we must take care not to subslice sources past its end,
which fills with defaults, a bunch of extra "" sources. And add some ''
around the unknown source to make the error message easier to parse.
Serves me right for not testing this before I landed that tweak...
Change-Id: I5c2abb35733b32a1142b0f42c4323112969ad2bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205825
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
This is a reland of 730c53ae3c
Original change's description:
> Inset blur domain a tiny bit to prevent certain GPUs from sampling transparent black from scratch textures.
>
> When running Skia GPU blur on an iPhone X, I noticed a bit a of transparency seeping into my clamped blur on the right and/or bottom edges of certain-sized rectangular blurs with large blur radii.
>
> I could only repro this on an iPhone X; I couldn't repro on a retina Macbook Pro or a 1x external screen.
>
> I think the iPhone X GPU is rounding the sampling coordinate a little differently than most other GPUs or there's some floating point error involved in the shader that makes it sample pixels outside of the desired blur domain. Since the blur source is inside a scratch texture filled with transparent black, some undesirable transparent black gets pulled in when we're decimating and blurring the source.
>
> Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
>
> Change-Id: Iff28c3ee5d069c6999a831d4b156a650be3a9eb8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205208
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
Change-Id: Id7737476e36ab824d5e50b8d7c3c8a7468a7807b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205821
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
It's hard to run the preAbandonGpuContext bots if we consider abandoned
to be a hard failure.
Actually, can you double check my suspicion that checking
ctx->abandoned() here might kind of make the whole bot moot? If we
check ctx->abandoned() here before drawing any GpuGM's content, isn't
the bot just spinning through without ever attempting to draw anything?
Cq-Include-Trybots: skia.primary:Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-PreAbandonGpuContext
Change-Id: Id545ce88faef3bab6150cb5229422ab48399f5b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205594
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
b3f3a36219..38969ffb5d
Created with:
gclient setdep -r ../src@38969ffb5d
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
TBR=jlavrova@google.com
Change-Id: Ia6f7175d6adfddd72ee0e162cfff62b617f26c57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205478
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
6cb0cff573..89899748a8
git log 6cb0cff57376..89899748a858 --date=short --no-merges --format='%ad %ae %s'
2019-04-03 jie.a.chen@intel.com ParallelCompile: D3D compute
2019-04-03 jdarpinian@chromium.org Mac: Support using an IOSurface as the default framebuffer
2019-04-02 geofflang@chromium.org Vulkan: Have the WindowSurfaceVk own the submit semaphores.
2019-04-02 jgilbert@mozilla.com Windows SDK includes need to be lowercase for MinGW builds.
2019-04-02 syoussefi@chromium.org Vulkan: glClearBuffer* implementation
2019-04-02 jonahr@google.com Ignore flaky dEQP failures on Windows
2019-04-02 geofflang@chromium.org Add a mac_toolchain update DEP. Update use_system_xcode to match Chrome.
2019-04-02 syoussefi@chromium.org Add a test for glClearBuffers of render targets of same FBO
2019-04-02 syoussefi@chromium.org Add a test for glClearColor followed by glClearBuffer
2019-04-02 jmadill@chromium.org Use revision.h for glslang dirty checks.
2019-04-02 jmadill@chromium.org Move presubmit from ci -> try.
Created with:
gclient setdep -r third_party/externals/angle2@89899748a858
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=jlavrova@google.com
Change-Id: I5141c8490151e522855a8a18d477a5c330ca487d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205476
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
We want GrResourceCache to be able to track which resources are held by
refs (as opposed to pending IOs) so that it can track the affect of
flushing on resource purgeability. Therefore, all cases that can add the
first ref to a GrGpuResource must funnel through GrResourceCache. This
lays the groundwork by restricting initial refs.
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8927
Change-Id: I1213c3db258d2412df6666e3222419211ceaa192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205482
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Introduce a Skottie JSON extension for controlling vertical text
alignment ("sk_vj"), with a single public value for now: 1 (centered).
Refactor SkottieShaper to handle vertical adjustments based on a VAlign
enum:
kTop - the topmost line is ascent-aligned with the box top
(AE text-box behavior)
kTopBaseline - the topmost line is baseline-aligned with the top box
(AE text-point behavior)
kCenter - the text center is aligned with the box center
("sk_vj": 1, Skottie extension)
Also externalize the vertical adjustment as a text blob offset (instead
of baking into blob glyph offsets).
Change-Id: I29a414d4c6ccfafc534ca7b61f48ef96d8cff86e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205590
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
- move shader factories to their host (e.g. picture->makeShader)
More to do to formally deprecated SkShader::TileMode
Bug: skia:8937
Change-Id: I101e42fb9fba4ab91d028a34888f1fde16fdece4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205589
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
The value hasn't changed in a long time, and is unlikely to be useful
anytime soon.
Change-Id: Iec5ca31558bd427087f4b7f90cdde5c3c09f12ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205586
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
fm itself can always be verbose. We'll rarely call it directly
and when we do and we don't want to see its output, we can always
pipe to /dev/null.
Switch fm_bot.go over to random shuffle by default, and to verbose by
default with a -q/-quiet flag to only print failures.
Change-Id: Ibd53bf7f1d29e0fd5deb7d4689dc0ca100df648f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205587
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This fixes the case where SkBitmapDevice or SkDraw falls back to use an SkShader
to draw the image. Previously it just assigned a new shader to a paint clone,
which worked fine with color images that are defined to ignore any set shader.
However, with alpha images it would overwrite the effect. This changes it to
compose the image shader with the original shader.
It fixes the behavior of GMs bleed_alpha_image_shader, bleed_alpha_bmp_shader,
and alpha_image.
Bug: skia:
Change-Id: Iaf0552ddb9991dd8d414b76f625a45cd167b7070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/190677
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Bug: skia:8946
Change-Id: If0ed9aa440b5927d3fe2efb1698044d88afc4c62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205581
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 730c53ae3c.
Reason for revert: Requires Layout Test suppressions.
Original change's description:
> Inset blur domain a tiny bit to prevent certain GPUs from sampling transparent black from scratch textures.
>
> When running Skia GPU blur on an iPhone X, I noticed a bit a of transparency seeping into my clamped blur on the right and/or bottom edges of certain-sized rectangular blurs with large blur radii.
>
> I could only repro this on an iPhone X; I couldn't repro on a retina Macbook Pro or a 1x external screen.
>
> I think the iPhone X GPU is rounding the sampling coordinate a little differently than most other GPUs or there's some floating point error involved in the shader that makes it sample pixels outside of the desired blur domain. Since the blur source is inside a scratch texture filled with transparent black, some undesirable transparent black gets pulled in when we're decimating and blurring the source.
>
> Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
>
> Change-Id: Iff28c3ee5d069c6999a831d4b156a650be3a9eb8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205208
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,mvujovic@adobe.com
Change-Id: I3b35965183e47b69167bb8763c433685c30e286a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205585
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
GMs sometimes want to skip instead of drawing or failing.
E.g. GPU-only GMs with a non-GPU backend.
Change-Id: I5bd8acecbef1aa88b4d7e6cfb88dfde04424aa8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205349
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:8243
Change-Id: I2b9a4cd898bbb665dc250c2310311cdcdd75d064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205497
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I30a042a41991a47ff1a4e008b88431b4767453dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205496
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The src access flags on memory barriers are used to make writes to a specific
memory location by a specific agent and reference object available to the
entire domain (device in this case). When the previous operation done on a
reference was a read, we don't not need to make changes to that memory available.
Bug: skia:8933
Change-Id: I756b391f02cb8bf47bbe386a0b9e3b7ba788098e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204960
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Change-Id: Ied09d28149cdb38ab1b4a4b704c993a726324220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205488
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
And mark atlastext as GPU-only, so it's skipped instead
of running and failing on non-GPU --configs.
Change-Id: I9b41873bed14e20f2e086a04f57b247994e9266e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205347
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: I78fe9ad9ac6a617d0f060d92262ddfe661aa06c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205487
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
* Enable data bundling for all test apps unless specifically disabled.
* Add support to bundle symbols so that the stack trace in Instruments
is correct.
Bug: skia:7525
Change-Id: I5eef9fa21ecee8f790b0736f5e23c9d678e47bef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205001
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This handles batching and things like figuring out "skps" means "all the
files under the directory skps", "gms" means "all the GMs linked into
fm", etc.
You can set up one job on the command line, or any number of them
with a -script file, e.g.
~/skia (fm-bot↑1|●1…) $ cat fm.script
gms b=cpu w=foo/8888
gms b=cpu w=foo/565 ct=565
skps b=gl w=foo/msaa4-skps samples=4
Change-Id: I878c623bfc8673f04b4effa247bc850c0258a89b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204582
Reviewed-by: Brian Osman <brianosman@google.com>
This differed from the separate versions in that it snapped to zero.
It was also strictly worse than calling the two separate versions.
Most clients don't need the snapping, so just call the two existing
functions. For clients that need the snapping, call new variants of
each that do snap.
Change-Id: Ia4e09fd9651932fe15caeab1399df7f6281bdc17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205303
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Change-Id: Ic6f86f615d046b7afdc8bd2fe21d76024d800613
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205348
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
No implementations remain.
Change-Id: I569d2ca9c69df27228a33dd433790c6c06aebe08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205340
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Implement gradient ramp using SG shader effects.
A couple of quirks:
- since the gradient type (linear/radial) is animatiable (?!),
update sksg::ShaderEffect to allow resetting the shader
- gradient ramp doesn't have an assigned/stable JSON effect type,
but the data is present; introduce a name-based effect lookup method
(used as a fallback when the type is not recognized)
Change-Id: I02bbd6c75c3af175b64c1df502aa52b7c0875162
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205342
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
When running Skia GPU blur on an iPhone X, I noticed a bit a of transparency seeping into my clamped blur on the right and/or bottom edges of certain-sized rectangular blurs with large blur radii.
I could only repro this on an iPhone X; I couldn't repro on a retina Macbook Pro or a 1x external screen.
I think the iPhone X GPU is rounding the sampling coordinate a little differently than most other GPUs or there's some floating point error involved in the shader that makes it sample pixels outside of the desired blur domain. Since the blur source is inside a scratch texture filled with transparent black, some undesirable transparent black gets pulled in when we're decimating and blurring the source.
Bug: https://bugs.chromium.org/p/skia/issues/detail?id=8942
Change-Id: Iff28c3ee5d069c6999a831d4b156a650be3a9eb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205208
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit de206c75c2.
Reason for revert: Chrome is having issues with the switch to Mock in blink tests.
Original change's description:
> Remove the NullGL interface (and associated test context)
>
> Bug: skia:
> Change-Id: Ie3c9ee39fc1e0a4406de085c60d8433ffb4419df
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203708
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: Iff0cbf29dcea26957efc800a8c33d0ad8285de0a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205343
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:8235 (Wuffs)
Bug: skia:8751 (Color correction)
Bug: skia:8762 (565)
This was brought up in https://skia-review.googlesource.com/c/skia/+/171645/1/src/codec/SkWuffsCodec.cpp#499
Remove the SkSwizzler and code that supports it (e.g.
SkWuffsSpySampler). In its place, use an SkDraw and draw from Wuffs'
working buffer into the output pixel memory. This trivially allows
support for 565 and f16, while removing the blend function that was
8888 specific. The draw operation also takes care of color correction
and allows arbitrary downscaling.
Add the intermediate subclass SkScalingCodec, to share methods between
SkWebpCodec and SkWuffsCodec.
Allowing arbitrary scaling from an SkCodec subclass is a bit of a break
from an original goal of SkCodec, which was to only do what the
underlying format supports naturally. Otherwise a client could just use
Skia to do effectively the same thing in a layer above SkCodec. (e.g.
jpegs can be downscaled by throwing away information during decode,
which libjpeg(-turbo) will do as requested. But gifs don't scale down
naturally in the same way, so SkGifCodec did not support downscaling
except when used with SkAndroidCodec.) But SkCodec has already deviated
from this goals in two ways. With SkAndroidCodec, sampling is done
inside SkGifCodec (and others) in order to save on memory allocation (we
can sample on a single line without allocating memory for the full size
image at its original size). (Note that this memory is not saved anyway
in SkWuffsCodec, because wuffs has its own image buffer.) The second
deviation is color correction, which could also be done in a layer
outside SkCodec. Since SkCodec is already doing this extra work,
simplify it.
Change-Id: If9a1698e0c353f60250aef5b6229855e6538a42d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/194186
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/3c830222aedad072e0ee6c9feb55214cc24b36f1 git cl status: differentiate "dry-run" from generic "commit". (tandrii@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idbcbd14040ded6214638c45daa486265c654def5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205380
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>