CCPR clip masks are never cached, and the clip FP proxies need to
ignore any unique keys that atlas textures use for path mask caching.
Change-Id: I40d0f40c8b1cebbae6798ff95c88cb32616c84a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255143
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
I don't think it makes things any slower, less clear, or less safe to
initialize this `isClosed` variable. I'd be inclined to leave it this
way even if hypothetically we roll to a newer Valgrind that can analyze
this correctly.
For background see
https://internals.rust-lang.org/t/valgrind-memcheck-false-positive-fixes-for-rust/11166
Change-Id: Ifef9417733824b857d4407c45c92c017d189a8fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255354
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:9603
Change-Id: I04bacda40383667b0655c14fba0181fe7d0a51da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255147
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Currently GrFence is used only to determine if the current command
buffer is completed, so we don't need the granularity of MTLSharedEvent.
This makes the implementation of GrFence the same across all versions.
Bug: skia:9589
Change-Id: I2556304362a99a67d12e38144e08e8066a6850a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255302
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: I14c005db9ef693eed0bcd07d4effbadc65e2004c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255355
Commit-Queue: Sean Gilhuly <sgilhuly@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Change-Id: I0f2f67167871c5d9b4ae929867e6382b6c0de5dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255296
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This maps all loop overhead instructions to "line 1",
each constant to its own line 2,3,4,... and each real
program instruction to 1000,1001,1002,...
It's vaguely helpful in VTune to see these notes.
Change-Id: If909e9dd5086ce02fbc217d206e4526356b268f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255337
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
There are two kinds of fallback glyphs. Ones rendered
directly (without transform) from the cache, and glyphs
that need to be transformed when drawn. Make the distinction
based on need of transform rather than fallback.
Bug: skia:9648
Change-Id: Icc87b3272ea7a8c80b21411bbc1f191fc1334641
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255263
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Previously the SkTypeface backed by DirectWrite always reported false
for the fixed pitch style bit. Set the value correctly when it is known.
Change-Id: I77fd1e5356b70928362ab49752cc50c32596f565
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255264
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
We previously assumed that the tessellator would wrap weights modulo
2 when the fill type was even/odd.
Change-Id: I092e4207db17a3deacd453a19981a1b6ef9c8516
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255180
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
There's no prebuilt libjitprofiling.so in the VTune SDK,
so I couldn't make this entirely automagic. To enable set
skia_vtune_path = "/opt/intel/vtune_amplifier"
or obviously to wherever your VTune is installed. Looking at
the source for jitprofiling.c, which is in the SDK, it might
be possible to replicate and make this more automatic, but I
think it's easy enough to just set a GN path variable.
For an assembly-level profile, leave this VTune option disabled:
[ ] Remove raw collector data after resolving the result
Change-Id: I1426ab1b838e00745e22ca4a97b9d0cd4c4e3280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255124
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Fixes a rare case when using the experimental_DrawEdgeAAQuad API with
a degenerate quadrilateral that forms a triangle. In this case, the
GrQuadUtils::CropRect code would sporadically calculate invalid barycentric
coordinates that then suggested the triangle contained the entire render
target. The quad optimizations would then replace that with a fullscreen
clear.
Change-Id: I2d9f300b899bfbddbe801c7478657e5885f41d62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255259
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This causes iOS builds to fail the app store check due to "Non-public API
usage" since it is technically undocumented (though required to work
around current bugs in CoreText).
Bug: skia:9657
Change-Id: If79b67703aefdf0f9cf25c5358ebd147691e1be6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255260
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I7adc1e01f4f9cec56e53e620ba4d04eae61f0b9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254899
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:9632
Change-Id: Ide4a077fa9a4c2588e6c2561348b0bbb778e9f68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254976
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
51b5a3222b..e4b3136913
git log 51b5a3222b60..e4b3136913c6 --date=short --no-merges --format='%ad %ae %s'
2019-11-18 syoussefi@chromium.org Update front-end image test failures' bug number
2019-11-18 syoussefi@chromium.org Vulkan: Fix col-major transformation of unsized arrays
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src d42d0747ee1b..ba6cbb047868 (1 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f8ea20adee82..e2441190bb0c (42 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 37dcb894574e..f4d4668529f1 (1 commits)
2019-11-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 102fd19c65f4..aba1020d3914 (7 commits)
Created with:
gclient setdep -r third_party/externals/angle2@e4b3136913c6
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: Ia0794cef8c6d41926aceed22c4be6834b82da469
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255182
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.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.
recipe_engine:
https://crrev.com/7c426bbd1c09baf26a19be775d10b7ff332fa139 Remove BOGUS_FIELDS (guterman@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2504f77cf81e7eadd9cd9a99e90e832aa702967e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255149
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>
One-node cameras start off by pointing forward, where "forward" is
decreasing z (as opposed to always facing z==0, as they currently do).
Change-Id: I2ccd5a7cf7d8f0aeeebde1537d44e188aabccd04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255117
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
It is odd asan/valgrind hasn't been complaining about this
Change-Id: I8e7952e6fc554450ff8c5c5940500f09be48d6b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255144
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
There are still some present (being used by Chromium or Android),
but I think all of these are internal-only.
Change-Id: I80177a65e0ea737e88ab7bb1ef36d03edebd4fa4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255138
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
A later CL will remove:
third_party/gif/*
src/codec/SkGifCodec.*
and update the BUILD.gn file.
But first, a CL will make the Android roller pick up this DEP.
Bug: skia:9654
Change-Id: I12a63dd83f6b2fd11c299537686c5219581fcc13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255083
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Motivation: to be used by android roller (android_skia_checkout.go)
to keep third_party/libgif updated to where DEPS points
third_party/external/libgif at.
No-Try: true
Bug: skia:9654
Change-Id: I18273dfc7da215b6081ffd454edfa1651791b6df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254896
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Change-Id: I94d22edf13b8392e1d7b84367fd65701f99a0e54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255137
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
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>