~15% improvement for S32_alpha_D32_filter_DX on skylake-x.
nanobench result on 7900X(fixed frequency@3.2GHz)
before after
bitmaprect_FF_filter_trans 524µs 453µs
Change-Id: I1c0c05915ecd3dc6f59da5eb49b5ae1c6cd98814
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288436
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Use the device space offset from the dash centerline for
antialiasing in y direction.
Bug: chromium:1049028
Change-Id: Ib6363579680d05cbf1fe34795695422baeca7065
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288764
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We want to preserve this distinction so we can easily recreate the render target attachments.
This is pulled out of:
https://skia-review.googlesource.com/c/skia/+/288462 ([Omnibus] Add program pre-compilation to Vulkan backend)
Bug: skia:9455
Change-Id: Ic0d537c54d709bbb26a97b018d3107f4abbf4e27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288743
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I55cf2daa48ec694fc9e1939e270f55dd7a3162a7
Bug: skia:9935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287619
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
It looks like a bug slipped in quite a while back here:
https://codereview.chromium.org/1092793006/diff/30002/src/gpu/effects/GrDashingEffect.cpp
where a width snapping that was supposed to apply to non-AA lines was
changed to apply to AA lines.
Adds GM that tests < 1 pixel wide dashed horiz/vertical lines.
The lines look better with the change but are still a little too thick,
depending on the subpixel offset.
BUG: chromium:1049028
Change-Id: I45734f5ef55548b62c188d9f55d3150c00059eed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288628
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit ac09f7cd7a.
Reason for revert: breaking bots, may need to use swizzled color for
correctness test
Original change's description:
> Add api on GrContext to update the data of GrBackendTextures.
>
> Change-Id: I680f12bf58fc7b66a6b2f3fa4c4723ae84d3f949
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288555
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I47f41f536619ac13ca3ceeb216e7eaed9a9af255
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288630
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Adding in the mono rasterizer on freetype adds 12k of code size
(6k compressed), so we make it opt out and don't ship to npm with it.
Bug: skia:10192
Change-Id: I8352adbeaec288800ae1ca4709144860e9a1e84c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288546
Reviewed-by: Ben Wagner <bungeman@google.com>
101da75736..5b35c7f6ef
git log 101da7573691..5b35c7f6ef1a --date=short --first-parent --format='%ad %ae %s'
2020-05-07 jmadill@chromium.org Fix up screenshot saving for trace tests.
2020-05-07 cclao@google.com Vulkan: Wrap barrier data into PipelineBarrier class
2020-05-07 spang@chromium.org Fix validation errors & re-enable VulkanExternalImageTest clear tests
2020-05-07 jmadill@chromium.org Perf tests: Add screenshot capture mode.
2020-05-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader baa10d7b1dee..08afdde7726c (4 commits)
2020-05-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src d2b486219495..c8590c18bd0c (1 commits)
2020-05-07 jiajie.hu@intel.com Fix corruption when changing the base level of a framebuffer texture attachment
Created with:
gclient setdep -r third_party/externals/angle2@5b35c7f6ef1a
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 bsalomon@google.com on the revert to ensure that a human
is aware of the problem.
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/+/master/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
Bug: None
Tbr: bsalomon@google.com
Change-Id: I1928449cb498c0f17625af92cabf37ac3320c714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288674
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Fix: const auto [...] --> auto [...]
This reverts commit 0066adefa9.
Change-Id: I5d2df8bcc2bc681259a55b2b851d53fb18599287
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288550
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
The main value of current AnimationBuilder::attachAssetRef is to provide
scoping semantics for ref cycle detection.
Refactor using a RAII helper (ScopedAssetRef), and avoid std::function
callbacks.
Change-Id: Idf5327465b8a06313cd9ea89be5f229ddc0aef7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288617
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
...since it's used for both image and video Lottie layers.
TBR=
Change-Id: I52e85d70d4adbda61dfa3b33acdf4eb17ddbf332
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288616
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
BUG: chromium:1075540
Change-Id: Ice300ec25f148b9ccf3db07b66f37859f4711a1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288547
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
The dawn backend was calling GrDawnGpu::flush() in a few places (in
particular, for readpixels).Since GrGpu::submitToGpu() is now
responsible for unmapping the staging buffers prior to command
submission, internally calling GrDawnGpu::flush() is error-prone,
since it requires you to unmapStagingBuffers() manually.
The fix is to get rid of GrDawnGpu::flush(), and put its guts into
GrDawnGpu::onSubmitToGpu(). Then we call submitToGpu(true) where we
used to call flush().
Also, make the backend responsible for moving staging buffers from the
active to the busy list. We do it just before calling mapAsync(),
since the callback may return right away and we want the buffer to be
in the busy state at that point.
Change-Id: I99cfa5e7ea3a454b0383a30483fa93795191347a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288516
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This reverts commit 61642b3366.
Reason for revert: ../../src/utils/SkCustomTypeface.cpp(179,20): error: cannot decompose this type; 'std::tuple_size<const SkPoint>::value' is not a valid integral constant expression
Original change's description:
> Revert "Revert "custom typeface""
>
> Fix: implement onComputeBounds() and generateFontMetrics()
>
> This reverts commit 0066adefa9.
>
> Change-Id: Idb59336a3d201bb97e494ee0e0bb189e0a7186f1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288536
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=bungeman@google.com,reed@google.com
# Not skipping CQ checks because this is a reland.
Change-Id: I6845bb96a00a0c9ee54704a4c299556cc32e6438
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288557
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: I9508790d67bf62b5a064ff5222a74e9566354351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287888
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This reverts commit 3a79f33eca.
Reason for revert: MSAN issues
Uninitialized value was stored to memory at
#0 0x2cd74de in SkFontPriv::GetFontBounds(SkFont const&) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/src/core/SkFont.cpp:400:34
#1 0x31115ad in SkTextBlobBuilder::ConservativeRunBounds(SkTextBlob::RunRecord const&) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/src/core/SkTextBlob.cpp:307:31
#2 0x31104d2 in SkTextBlobBuilder::updateDeferredBounds() /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/src/core/SkTextBlob.cpp:374:47
#3 0x31104d2 in SkTextBlobBuilder::make() /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/src/core/SkTextBlob.cpp:605:11
#4 0x31175c1 in SkTextBlob::MakeFromText(void const*, unsigned long, SkFont const&, SkTextEncoding) /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/src/core/SkTextBlob.cpp:782:20
#5 0x1920415 in UserFontGM::onOnceBeforeDraw() /mnt/pd0/s/w/ir/cache/work/skia/out/Build-Debian10-Clang-x86_64-Release-MSAN/Release/../../../../../../skia/gm/userfont.cpp:65:17
Original change's description:
> custom typeface
>
> - only paths implemented at the moment
>
> Seems if we want to serialize/deserialize these, we will need to
> register a factory with skia, so it can sniff the beginning of the
> font "file", to know how to recreate it.
>
> Lots of follow-on things to explore:
> - do we need to even store/know advance widths?
> - should we also (optionally) support a CMAP? names? others?
>
> Change-Id: If9fa99b7b8f6e265f06eb3ba2ca4fcb073275250
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287157
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=bungeman@google.com,fmalita@chromium.org,reed@google.com
Change-Id: Iee93db8d0f94d706f0b97566d2d15e2ad2407601
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288463
Reviewed-by: Mike Reed <reed@google.com>
- only paths implemented at the moment
Seems if we want to serialize/deserialize these, we will need to
register a factory with skia, so it can sniff the beginning of the
font "file", to know how to recreate it.
Lots of follow-on things to explore:
- do we need to even store/know advance widths?
- should we also (optionally) support a CMAP? names? others?
Change-Id: If9fa99b7b8f6e265f06eb3ba2ca4fcb073275250
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287157
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Bug: chromium:1077355
Change-Id: Ie7a8310c07f6ba473e7937aa4c3cb435d488ef17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288459
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This fixes several issues introduced with DirectWrite and onMakeClone.
The primary issue is that the font file loader and collection loader
need to remain registered until the last font using them is no longer
in use. Prior to onMakeClone this was just the original font, so
unregistration was simple. However, when cloning a new font is brought
into existence using the same loaders as the original. All clones need
to keep a reference to the loaders so that the last can unregister them.
In addition variable fonts complicated the concept of equality of fonts.
As a result when variable font support was introduced an Equal method
was provided to make comparison easier. Use it when available to avoid
issues when comparing two system fonts which differ only by their
variation design position.
Change-Id: I6aa8d8cc3240f1244d16f661f6fbfd17ff0f7412
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288159
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
daed369cfd..101da75736
git log daed369cfdb6..101da7573691 --date=short --first-parent --format='%ad %ae %s'
2020-05-07 cnorthrop@google.com Capture/Replay: Update gfxbench traces
2020-05-06 cnorthrop@google.com Sync state when calling getTexImage
2020-05-06 patrto@microsoft.com Specify LUID in D3D11
2020-05-06 geofflang@google.com GL: Ignore warnings about requested extensions not being present.
2020-05-06 timvp@google.com No-Op draws when no active VS and/or FS is present
2020-05-06 spang@chromium.org Add spang to OWNERS for Fuchsia port
2020-05-06 geofflang@google.com Make sure all target names are unique in the generate Android.bp
2020-05-06 geofflang@google.com Vulkan: Initialize all members of VmaVulkanFunctions.
2020-05-06 tobine@google.com Vulkan: Move CommandBufferHelper to vk_helpers.h
2020-05-06 jmadill@chromium.org Revert "Capture/Replay: Update traces to include Reset"
2020-05-06 cnorthrop@google.com Capture/Replay: Update traces to include Reset
2020-05-06 courtneygo@google.com Revert "No-Op draws when no active VS and/or FS is present"
2020-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 2e1d208ed9de..d2b486219495 (1 commits)
2020-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 102687e26ec8..28b8813b3998 (7 commits)
2020-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader c4bbd378e95b..baa10d7b1dee (3 commits)
2020-05-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src 1bf08b392b8e..aaba2f0ac575 (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@101da7573691
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 bsalomon@google.com on the revert to ensure that a human
is aware of the problem.
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/+/master/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
Bug: None
Tbr: bsalomon@google.com
Change-Id: Ic563812f31232dd77b516d1618917d370c5ae573
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288348
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This reverts commit 9c4fa1e9cd.
Reason for revert: breaking things, maybe?
Original change's description:
> Fix tile modes in SkGpuBlurUtils.
>
> Expand direct GM testing of SkGpuBlurUtils.
>
> Decimate in SkGpuBlurUtils using GrSurfaceContext::rescale.
> GrSurfaceContext::rescale() works on recording context and
> uses approximate textures (to avoid memory issues for blurs
> of many different sizes).
>
> Don't preserve contents to the top/left of the source bounds
> in the rescaled image.
>
> GrGaussianConvolutionFragmentProcessor applies wrap mode to
> both axes.
>
> Rely on GrTextureEffect to omit subset enforcement in shader
> by providing a domain rect rather than turning off tiling in
> caller.
>
> Change-Id: I73e09b4fcbcbed590dd3599091c38d5de65f48c4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285099
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,michaelludwig@google.com
Change-Id: Ifdbfd9bdc67a082bf99e62371a7037e9544cf12a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288269
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
`zu` is the expected specifier for a size_t. `li` can cause errors in
the Android build.
Change-Id: Ie418c9e8778a629acf47ae58a2720fd11a732c87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287896
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>