Pushing the zero-initialization into the sk_malloc_etc call can be more
efficient than a two-step malloc-and-then-memset, e.g. if the memory
allocator gives us something from an already-known-zeroed region.
Some microbenchmark numbers (milliseconds per decode) from running
Chromium's image_decode_bench program on a few GIF files:
Before After Ratio Filename Width x Height = Pixels
0.109 0.107 1.02 hat.gif 90 x 112 = 10080
7.062 6.879 1.03 harvesters.gif 1165 x 859 = 1000735
33.342 30.544 1.09 droids.gif 2560 x 1920 = 4915200
Ratio > 1.00 means a performance improvement.
image_decode_bench comes from:
https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/testing/image_decode_bench.cc
hat.gif and harvesters.gif come from:
https://github.com/google/wuffs/tree/master/test/data
droids.gif comes from:
https://cs.chromium.org/chromium/src/third_party/blink/perf_tests/image_decoder/resources/
These are x86_64 Broadwell numbers. I don't have ARM numbers readily
available, but nothing about this commit should be arch-specific.
Bug: skia:8235
Change-Id: Icf45b7ac5b7194eaab455628e44d4aedf30ddbfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254836
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Instead most things are now passed around as unique_ptrs
Bug: skia:9603
Change-Id: I2b2f5c68ba1964953dd1457b65433e6098597605
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255086
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: chromium:1023191
Bug: skia:8235
Chromium is showing a performance regression on this image when
switching to Wuffs. (It is checked into Chromium as
src/third_party/blink/perf_tests/image_decoder/resources/droids.gif.)
Test it on our bots to help us verify we've fixed it.
Change-Id: I9a02e6fe9bdcfa1704aefbc1ea2cd3f0e6ac4409
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255081
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Bug: skia:8243
Change-Id: I9d588c732e9aba2348a294cd88f17d261ba05f03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255088
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This allows us to clip a path against a half-plane (an arbitrary
diagonal line), in an effort to handle perspective correctly with
the near-plane.
Change-Id: I2082a750acf858340e4500ad46cf581472cefc6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253996
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Docs-Preview: https://skia.org/?cl=255085
Change-Id: I8911862ca9814b89b8598ad743b1faa9c524399f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255085
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Bug: skia:9455
Change-Id: I2fb9bbba7c2315e300f363b34168f59eafdda8ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255084
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:9604
Change-Id: I16f487137c79e37493cd24b63ee29ac2e22d6cec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254981
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This CL also introduces creating the geometryProcessor in the arena (which bypasses the GrProcessor memory pool).
Bug: skia:9455
Change-Id: Ia9d5c0d886ea918d9e4209078a1f7e8595234d0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254963
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Hopefully this is a better name. "POD" is no longer accurate since we are storing GrPipeline's in this arena.
Bug: skia:9455
Change-Id: I610267633088b0af4f0cbb36f479bf5eb6c6d0cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254992
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
5f4db6a766..51b5a3222b
git log 5f4db6a76640..51b5a3222b60 --date=short --no-merges --format='%ad %ae %s'
2019-11-15 tobine@google.com Update dEQP 3.1 expectations
2019-11-15 jonahr@google.com Expose EGL_CHROMIUM_sync_control via GLX_OML_sync_control
2019-11-15 timvp@google.com Vulkan: Update Expectations with GLES 3.1 Conformance Failures
2019-11-15 lehoangq@gmail.com Enable Metal backend.
2019-11-15 timvp@google.com Update GLES31 Expectations
2019-11-15 jonahr@google.com Add a test to capture bug with LUMA blit workaround
2019-11-15 jiawei.shao@intel.com Add android_ndk and catapult to .gitignore
2019-11-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 3da910d55f20..c3f22f7cba60 (2 commits)
2019-11-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b2407dd746de..102fd19c65f4 (4 commits)
Created with:
gclient setdep -r third_party/externals/angle2@51b5a3222b60
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 robertphillips@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=robertphillips@google.com
Change-Id: I51249a8fe5b3a28cba2f63d0efcf68c858a2fd42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255056
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: I2619784eca0f7a4dd66f2db0104cb746d9266b4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244369
Commit-Queue: John Rosasco <rosasco@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Lots of bugfixes and trying out including a debug build (for Flutter).
Change-Id: Ie6b93386aa8dcce46ff62aaafe09c02384c50b6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255076
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This reverts commit f29caf1433.
Reason for revert: Breaks canvas-pattern-no-repeat-with-transformations.html layout test for legit reasons: https://test-results.appspot.com/data/layout_results/linux-blink-rel/22907/webkit_layout_tests%20%28with%20patch%29/layout-test-results/results.html
Original change's description:
> Replace GrTextureDomainEffect with GrDomainEffect.
>
> The new effect takes a child processor rather than a texture proxy.
>
> In future changes it can implement domains on top of other effects
> rather than incorporating the domain into each effect.
>
> The longer term plan is to remove GrTextureDomain as a helper and just
> have GrDomainEffect. That requires rewriting all the effects to take a
> child effect.
>
> Change-Id: Ieaab3a838b7eb4fbf7d8250b8816980645b7cea0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252097
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,brianosman@google.com,ethannicholas@google.com,michaelludwig@google.com
Change-Id: I59a594218e1a87e59f20935d5c55726bcb43b1de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254986
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This reverts commit 55a0a03c60.
Reason for revert: Parent CL breaks chrome roll, not fixed by this CL
Original change's description:
> fix issue introduced in f29caf1433
> where kClamp domain mode is always used.
>
> Change-Id: I1b5cb2ae262f0a89c1b119150d9f39ed43f5d2f6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254933
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,michaelludwig@google.com
Change-Id: I2a99e7b0e413edfaba2db36d4b05b211be4a2862
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254838
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Handy if you want to flush, or otherwise understand the underlying buffer(s).
Change-Id: I3d6610695c8603232192b26c687c6c74512165dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254803
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Hopefully this makes it clearer that the GrProgramInfo isn't copying these
objects.
Bug: skia:9455
Change-Id: Id43b7978d63b6d53d531601f3446745f33afcf2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254970
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The problem was we didn't have a way to not build with
SkParagraph, which we can't use when we are using the
primitive shaper.
Change-Id: Iafe070d6f5c01aaa7a42225793d5ad873f144798
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254968
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Change-Id: I01259b685859e2d95e4b87c0f611ccc074bd5229
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254807
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I95cf63a609d754a163428fd9c188800f44bd8e09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254806
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This is a trial balloon for the pulling forward of GrProgramInfo to DDL-record time
Bug: skia:9455
Change-Id: Icabf27fcf7169f12b0655ee23f98dafa7c770add
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/253099
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Chromium trybots are no longer listed in update_meta_config.py (they
were out of date anyway) so we can't import them here.
Also, fix the Buildbucket namespace warning.
Change-Id: I56fdc0f0629c43a9d180af11a88352bdc29e8314
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254802
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
where kClamp domain mode is always used.
Change-Id: I1b5cb2ae262f0a89c1b119150d9f39ed43f5d2f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254933
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
It is, arguably, not a good metric but the max number of AA Quads that are merged or chained together across all Skia's GMs and SKPs is 276.
This should also reduce the memory consumed from 245,760 bytes to 30,720 bytes.
Bug: b/143572065 skia:9601
Change-Id: I86f3ae2830d8a64ebcc6f5b7da8c0a4dac8761d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254916
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
More cleaning to do if we like this idea...
Change-Id: I608143db085911565dd5f5426f7ee6436ec58cdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254680
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The new effect takes a child processor rather than a texture proxy.
In future changes it can implement domains on top of other effects
rather than incorporating the domain into each effect.
The longer term plan is to remove GrTextureDomain as a helper and just
have GrDomainEffect. That requires rewriting all the effects to take a
child effect.
Change-Id: Ieaab3a838b7eb4fbf7d8250b8816980645b7cea0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252097
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We hadn't been requesting one, but told Skia we had one, which caused
issues.
Bug: skia:9564
Change-Id: I9a2e78a528778a386225cdcbbb2d2b3d8f705f05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254801
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is required before we can lower the max AA quad count (again).
Bug: b/143572065 skia:9601
Change-Id: Ibd029a59f6589e1ae6c66d072e5039f0e9de06dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254581
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Using indexes to name subruns seems overly complex. Just use pointers.
Change-Id: Ia02aed6a07e6bf91b70e42c45a0c5f6f903fa815
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254796
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Change-Id: I71059001567b39afc486a2f099efdffde42b0d1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254681
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
1b52f05868..5f4db6a766
git log 1b52f05868c9..5f4db6a76640 --date=short --no-merges --format='%ad %ae %s'
2019-11-15 mihu@microsoft.com Fix performance issue with EXT_multisampled_render_to_texture
2019-11-14 timvp@google.com Manually copy dEQP data files to output directory
2019-11-14 tobine@google.com Refactor end2end test macros
2019-11-14 timvp@google.com Treat VK_TIMEOUT as an error
2019-11-14 courtneygo@google.com Vulkan: Enable 3.0 as default context version
2019-11-14 courtneygo@google.com Vulkan: Add 565 and validate pixel formats: Windows
2019-11-14 geofflang@chromium.org Support standalone Android builds in ANGLE.
2019-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src ab3cdcaef56e..3da910d55f20 (3 commits)
2019-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 88632cac30e1..b2407dd746de (3 commits)
Created with:
gclient setdep -r third_party/externals/angle2@5f4db6a76640
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 halcanary@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.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=halcanary@google.com
Change-Id: If7321a01b0bea98cf9eff02761e316dfb73a30ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254824
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
This is a reland of 8a0f50944b
Original change's description:
> Reland "Reland "Implement sample mask and sample locations support in Vulkan""
>
> This is a reland of 97e917a25f, this
> time with MSAA CCPR disabled.
>
> Original change's description:
> > Reland "Implement sample mask and sample locations support in Vulkan"
> >
> > This is a reland of 8b915a0c27
> >
> > Original change's description:
> > > Implement sample mask and sample locations support in Vulkan
> > >
> > > Change-Id: I372695ec5360def42a8a997675993264740b0da4
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252038
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> >
> > TBR=ethannicholas@google.com
> >
> > Change-Id: I20de36719db52ad4dfc5290101d48a8fd9601c11
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/252936
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
>
> TBR=ethannicholas@google.com
>
> Change-Id: Ie0861dc20df1fa622cb26ed78369d29976e3be10
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254608
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
TBR=robertphillips@google.com
Change-Id: Ia831db32abf0037face708d742bda0600db0ec37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254625
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@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/90c88f097366f33f7d251ffa70b9f15c27479686 Reland "Fetch the input commit ref when both ref and id are specified." (gbeaty@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I70dcd6121fff4d78261e0bd689b05b49d592ed52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254734
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>