Bug: skia:12813
Change-Id: I282d16d67624e14e5e02d69fdc18d729db81a16f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493856
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Track the scaling hints as the minimum of the maximum dimension and
the maximum of the maximum dimension. Having the range will allow
for better scaling choices in the drawing of last resort.
The next CL will start using this range to calculate scaling factors.
Bug: chromium:1280180
Change-Id: I2c07303d3303c71ede2a0b1133ee2e218f7bd84e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493456
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This moves away from using the old readPixels call that we don't
plan on supporting. It also removes a use of context from recorder.
Bug: skia:12794
Change-Id: I28838c5e3301558518b40e67e74bd96c5377286d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493199
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: skia:12700
Change-Id: Icbd1ff6f98f5de8830b40b8a714e8092e40b1c97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/485217
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This documents the various factory settings (I kept getting
confused as to what each was doing).
Additionally, this makes setting the factory flag bring in
the dependent code as well (like our current GN rules do).
Change-Id: I93437651b078baac04433c14c573a95982b7bc15
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493396
Reviewed-by: Ben Wagner <bungeman@google.com>
This is to be used in the PaintParamKey's block dumping methods.
Bug: skia:12701
Change-Id: I14de21d2d8b30e0fa69ac2e33fa975dc20f6656c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493217
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: dawn:824
Change-Id: I261c3329e53de62df83b4cca10aa9e909dd293df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492456
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@google.com>
Commit-Queue: Stephen White <senorblanco@google.com>
//:skia_core
//src/effects:srcs
//src/effects/imagefilters:SkBlurImageFilter_src
//src/gpu/v1:SurfaceDrawContext_v1_hdr
//src/core:SkGlyphRunPainter_hdr
//src/core:SkGlyphBuffer_hdr
.-> //src/core:SkGlyph_hdr
| //src/core:SkStrikeForGPU_hdr
`-- //src/core:SkGlyph_hdr
This was found by running the following commands:
cd bazel
make generate
make known_good_builds
Change-Id: I24e33124c4bb5217ac87a0ad2ab3dd8a590c53c3
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493376
Reviewed-by: Herb Derby <herb@google.com>
bazel run //example:hello_world --config=clang
causes a window to open and draws a circle and a square.
Text to follow in a future CL.
To make this work, I had to get rid of musl and use glibc.
All the shared libraries (.so files) that were pre-built
and available for download (e.g. from https://packages.debian.org/bullseye/amd64/libgl1/download)
were compiled against glibc. When I tried to run a
program statically linked with musl and dynamically linked
against things using glibc, I got a segmentation fault
on things like calloc().
Initial attempts to use glibc had failed because it was thought
that the libc.so.6 file could only be referred to by absolute
path (and thus Bazel would not be happy about it). As it turns out,
that was simply a misconfiguration of the builtin_sysroot
parameter to cc_common.create_cc_toolchain_config_info
(see //toolchain/clang_toolchain_config.bzl). By setting that
to `external/clang_linux_amd64` and not
`external/clang_linux_amd64/usr`, the libc binary which had
been extracted to `external/clang_linux_amd64/lib/x86_64-linux-gnu`
was perfectly reachable from
`external/clang_linux_amd64/usr/usr/lib/x86_64-linux-gnu/libc.so`
To bring in the shared libraries to link against (e.g. X11, GL)
I made build_toolchain.bzl easier to modify in that we simply need
to add a debian download url and sha256 hash to a list (rather than
having to plumb this through via arguments).
Recommended Review Order:
- example/BUILD.bazel (not sure if we always want to set bare
link arguments like that or if we want to use "features" to
pass those along to the toolchain).
- tools/sk_app/BUILD.bazel to see initial cc_library for
wrapping sk_app code.
- toolchain/build_toolchain.bzl to see removal of musl and
new list of debs.
- toolchain/clang_toolchain_config.bzl (where use of the
no-canonical-prefixes was key to compilation success).
Notice also that we statically linked libc++ (I did not
have any shared libraries for it locally, so I guessed
a typical developer might not either).
- Rest of toolchain/ for trivial renames.
- bazel/Makefile to see extra docs on those targets and
a new target that compiles all the exes so far for a
quick way to test the build.
- third_party/BUILD.bazel and src/gpu/BUILD.bazel which have
non-generated changes. (all other BUILD.bazel files do).
- go.mod, which needed to update the infra repo version in
order to pick up http://review.skia.org/491736).
Change-Id: I8687bd227353040eca2dffa9465798d8bd395027
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492117
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
This is a reland of 73657689b6
Original change's description:
> drawVertices in GPU backend uses drawVustomMesh implementation.
>
> This still allows batching across view matrix changes but does not batch
> across SkVertices that have different attributes.
>
> Bug: skia:12720
> Change-Id: I34b58e2ae3aa7330b1fe3280b9448197e2bb68b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491047
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:12720
Change-Id: I24230e2a284b98ce71ccf034ff71d903896f1da1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492357
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Use SkGlyphDigest in the remote glyph cache. This allows future
CLs to use maximum glyph information for calculating scale factors.
Move SkGlyphDigest to a more central location in the code.
Bugs: chromium:1280180
Change-Id: Id916d39b8a46a29723bc9f244969c8d00162e5df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493197
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
When the layer type is missing, fType == -1 and we rely on unsigned
(size_t) underflow + check against the known types array size to catch
the condition.
The problem is SkToSizeT() itself asserts the input is a valid size_t,
and even if it didn't clusterfuzz would likely complain about
underflowing.
Refactor to check for negative values explicitly.
Bug: b/200660146
Change-Id: Iae74dca14ac0202ffcdd4449f0d470063916eff5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493116
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
PolyUtils is only ever used when generating shadows, and the data there
is pre-clamped to 1/16th values, so we should be fuzzing on that.
Bug: oss-fuzz:39746
Change-Id: I609059ab14cd83f0dab2d40cb17e3cb7979cff8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493039
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This CL creates a new build target with a customized set of GN
flags that enable the native components of SkQP to be built using
NDK APIs.
Bug: skia:12777
Change-Id: I8341eafa7fc794cfb759045b7c7238e69c29b0a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491447
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:12787
Change-Id: I0b77f093859564778fbde65024b47f08b77063a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493017
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
We do test for and catch int overflows, but after casting -- which is
enough to trip clusterfuzz.
Refactor to catch upfront.
Bug: b/200722666
Bug: b/200663331
Bug: b/200662108
Change-Id: I26da4b1ca21ad0bc34384e957a30211402219841
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/493018
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
We are now using AFDO and these rules are no longer needed. AFDO
profiles from surfaceflinger are automatically propagated by the build
system.
Change-Id: I19c4d4fbe7daeeb4475965ff2b24f63305c19c05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492537
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Explains several different features for:
- Uniforms
- Raw image shaders
- Color transform intrinsics
Bug: skia:10479
Change-Id: I9254d30283e74f039eb1490636efec1ddd125aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492656
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Allow direct glyph drawing to handle more cases. Instead of using
the approximate glyphs size to control using direct drawing, directly
measure each glyph. This will be useful in latter CL to better scale
*very* big emoji.
This is its own CL to check pixel problem in chrome layout and
google3. It's a simple revert.
Bug: chromium:1280180
Change-Id: Ic2e4aed7d401b99909ba2aceaf0f2f849070a80c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492402
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Bug: skia:12701
Change-Id: I8138633dee9eaf65077da8534600393196c7942e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492404
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 88c5af7ecd.
Reason for revert: Various input bugs in the new editor make it somewhat unusable.
Original change's description:
> Spruce up SkSL slide with a much nicer editor
>
> Pulls in a new GitHub repo that implements a syntax-highlighting code
> editor ImGui widget.
>
> Change-Id: I968e5eb827c226259eaaad2996eeaad9de592e37
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491444
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ifa5bc87327785d107956201c4d866c7259006ec2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492359
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This allows solid color and opaque shader draws to be more flexibly
re-ordered in the DrawPass. Previously everything was considered
transparent so we could only re-order non-overlapping draws.
Bug: skia:12787
Change-Id: Ic8b1f23e8042b9063c7a95edd1a9087c5ef4d1a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491821
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 35ac48c715.
Reason for revert: guarded needs_subset
Original change's description:
> Revert "Fill intermediate device image with clamped backdrop content"
>
> This reverts commit 25f5e1f838.
>
> Reason for revert: needs_subset is unused for no-gpu+release builds
>
> Original change's description:
> > Fill intermediate device image with clamped backdrop content
> >
> > Adds asShader() to SkSpecialImage that accepts a local matrix and a
> > tilemode. It automatically handles the subsetting of the image data
> > (either by making a new bitmap view, or using GrTexturEffect), as well
> > as modifying the local matrix to account for the subset's offset within
> > the image data.
> >
> > By adding asShader(), SkCanvas can fill a device using drawPaint() to
> > apply the image's tilemode to the entire contents, ensuring that any
> > device bounds clipping from snapping of backdrop filters doesn't leave
> > the default transparent pixels around for later filtering.
> >
> > Additionally, making SkSpecialImage more like a shader will make it
> > easier down the road to continue refactoring the image filter pipeline
> > to be more backend agnostic and allow operations to be performed by
> > filling devices with shaders, instead of relying on FPs directly.
> >
> > Lastly, once SkImage::makeShader() can support subsets on the raster
> > backend, then SkSpecialImage may not be required at all in order to
> > implement the image filtering pipeline...
> >
> > Bug: b/197774543, skia:12784
> > Change-Id: I21dcb22b56b19ff58d246b3c0517bb8a265649bc
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491445
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> Bug: b/197774543, skia:12784
> Change-Id: Ia9adedaab9378d2679353ab94c7a9589c0ff9e02
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491978
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: b/197774543, skia:12784
Change-Id: I6034e4ddbe4f6da476d058a78f85f4e2bb6742fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492116
Reviewed-by: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 73657689b6.
Reason for revert: Many bad GMs.
Original change's description:
> drawVertices in GPU backend uses drawVustomMesh implementation.
>
> This still allows batching across view matrix changes but does not batch
> across SkVertices that have different attributes.
>
> Bug: skia:12720
> Change-Id: I34b58e2ae3aa7330b1fe3280b9448197e2bb68b0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491047
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:12720
Change-Id: I2aa0a62323e54cb999cc89eccd72cf9b93dccba9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492356
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
The core of this CL is replacing the Combination in GraphicsPipelineDesc with a uniqueID. All the other changes are just in support of that.
Bug: skia:12701
Change-Id: Id5fe9b39d1e497adbc879e7c933a2d9bdb788a58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491048
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
fd0142714e..2ebdd23b60
2022-01-07 timvp@google.com Cleanup TextureCubeTestES3.CubeMapPixelUnpackBuffer
2022-01-07 cclao@google.com Vulkan: Rename releaseStagingBuffer to releaseStagedUpdate
2022-01-06 cclao@google.com Vulkan: Remove DynamicShadowBuffer implementation
2022-01-06 ynovikov@chromium.org Revert "Re-skip MSRTT tests on Linux/AMD/Vulkan"
2022-01-06 cclao@google.com Vulkan: Switch GPU translated vertex buffer to NonHostVisible
2022-01-06 cclao@google.com Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
2022-01-06 cclao@google.com Vulkan: Switch ReadPixels from DynamicBuffer to shared pool
2022-01-06 cclao@google.com Reland "Vulkan: Consolidate all vertex conversion buffers to shared pool"
2022-01-06 ynovikov@chromium.org Suppress headers includes privacy checks for iOS executables
2022-01-06 timvp@google.com Vulkan: Use correct aspectMask
2022-01-06 cclao@google.com Revert "Vulkan: Consolidate all vertex conversion buffers to shared pool"
2022-01-06 cclao@google.com Vulkan: Consolidate all vertex conversion buffers to shared pool
2022-01-06 sugoi@google.com Avoid using GetCWD() on MacOS when possible
2022-01-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from c73969d73ff9 to 0b901607cad4 (6 revisions)
2022-01-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b1dc46c0f1be to 8712e27d7e28 (483 revisions)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC ethannicholas@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: ethannicholas@google.com
Test: Test: DepthStencilFormatsTest.DepthTextureRender
Test: Test: TextureCubeTestES3.CubeMapPixelUnpackBuffer
Change-Id: I0138973af860cf04145eb819ba932219e88afabb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/492257
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Encapsulate the direct/SDFT decisions in the bool functions
isDirect() and isSDFT().
Encapsulate the notion of glyph approximations in:
approximateTransformedTextSize().
Use these to replace drawingType through the code.
Bug: chromium:1280180
Change-Id: I8de7ee8bc4a24e576e79eeb1ed8670179a860aa9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491448
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
These were missing linkTitle, so they didn't really show up in the
left-hand tree view. (Each article had a clickable space, and they were
all jammed together). Now they actually appear.
The relative links were also wrong, resulting in 404s, those have been
updated as well.
Change-Id: Ia0bc9d59e87225e68ae8efda6ebfbc74a5465804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491449
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
This still allows batching across view matrix changes but does not batch
across SkVertices that have different attributes.
Bug: skia:12720
Change-Id: I34b58e2ae3aa7330b1fe3280b9448197e2bb68b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491047
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This updates all current resources that are tracked on the CommandBuffer
to use the new Resource class.
Bug: skia:12754
Change-Id: If96f47972c3b8acc43a9926cafa82c2860e01371
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/490276
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: b/213293147
Bug: b/206415266
The intent of RENDERENGINE_ABORTF was for the error message to show as
part of the stack trace, as logs before the stack trace may not be
available. However, a closer reading of SK_ABORTF reveals that it's just
an SkDebugf followed by an abort, and a device hitting the abort still
doesn't show the debug statement.
Switch to LOG_ALWAYS_FATAL, which includes the message in the stack
trace.
Change-Id: I7b83805d946011f39fd43ac8efe742acf760c769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491977
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This reverts commit 25f5e1f838.
Reason for revert: needs_subset is unused for no-gpu+release builds
Original change's description:
> Fill intermediate device image with clamped backdrop content
>
> Adds asShader() to SkSpecialImage that accepts a local matrix and a
> tilemode. It automatically handles the subsetting of the image data
> (either by making a new bitmap view, or using GrTexturEffect), as well
> as modifying the local matrix to account for the subset's offset within
> the image data.
>
> By adding asShader(), SkCanvas can fill a device using drawPaint() to
> apply the image's tilemode to the entire contents, ensuring that any
> device bounds clipping from snapping of backdrop filters doesn't leave
> the default transparent pixels around for later filtering.
>
> Additionally, making SkSpecialImage more like a shader will make it
> easier down the road to continue refactoring the image filter pipeline
> to be more backend agnostic and allow operations to be performed by
> filling devices with shaders, instead of relying on FPs directly.
>
> Lastly, once SkImage::makeShader() can support subsets on the raster
> backend, then SkSpecialImage may not be required at all in order to
> implement the image filtering pipeline...
>
> Bug: b/197774543, skia:12784
> Change-Id: I21dcb22b56b19ff58d246b3c0517bb8a265649bc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491445
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Bug: b/197774543, skia:12784
Change-Id: Ia9adedaab9378d2679353ab94c7a9589c0ff9e02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491978
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
As @johnstiles suggested I add the test first and the fix after.
bug: skia:12712
Change-Id: I9316cf40f71e756fc1730ee630bc0d0377f200d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/491936
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>