This CL is 100% plumbing. We ultimately want all GrPrimitiveProcessor-derived objects to not be refCounted. This will make several helper objects POD and, by putting them into an arena, will make managing their lifetime easier (e.g., for DDL prePreparing).
Note: the CCPR GrGeometryProcessor-derived classes only ever appear on the stack so aren't forced into arenas.
Bug: skia:9455
Change-Id: Ib9be503d2fbf8c2578642df93fc301156629829d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255304
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Change-Id: I723902c552541a7c8db70f153c73a51d2e29a5bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255397
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
If none of the families in the requested list are available, then use the
platform default font family.
Change-Id: If0c69febb112c660f96a768cea8d3ae6b35ea68a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255311
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
We've just been getting lucky that the char[] was 4-byte aligned.
Change-Id: I550be24b0e6f074a38ef002b6b10fbdc5cdfcf2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255557
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Change-Id: I204f04596809e1e33f20b67b454cdd0e1f269630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255303
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:9603
Change-Id: I971852cc913382ee17fdc9c8b3dfc04f7fe8c14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255518
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
- skia_libgifcodec_path gn var. Default is
third_party/externals/libgifcodec. Anfroid framework uses
third_party/libgifcodec.
- skia_use_libgifcodec gn var; defaults to !skia_use_wuffs. Allow
disabling both codecs.
- BUILD.gn `gif` optional source_set: use new skia_libgifcodec_path
code, not third_party/gif code.
- GN template("optional"): add public_include_dirs, similar to
public_defines.
- SK_USE_LIBGIFCODEC, ifdef for skia_use_libgifcodec.
- SkCodec.cpp: use third_party version of SkGifCodec.h.
- src/codec/SkGifCodec.*, third_party/gif/*: remove files.
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian9-Clang-x86-devrel-Android_SKQP
Bug: skia:9654
Change-Id: Ie22d2bb7e52322fd3eedb97015f3aec2ce5e3402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254582
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Also deleted GrVkBufferView which isn't used anywhere.
Bug: skia:9603
Change-Id: Ia5a2cefe06a1e27a7d126990ea20a9d663d89c0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255308
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
We can't create a GrMtlTextureRenderTarget in any situation where
framebufferOnly is true as we can't sample or copy from it. Creating
it as a plain GrMtlRenderTarget still allows the resolve while
restricting any other read.
Bug: skia:9573
Change-Id: I3316cb7402ddf12ddc7a7dab0efb16c1e5b3d804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255527
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Also, do away with complex exclude rules. Explicit is often better.
Change-Id: I1d945c237a179f6db2552742fdf9e067d6d9eaf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254578
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Bug: chromium:1023191
Bug: skia:8235
Chromium has detected a performance regression on the Nexus 5x when
switching to Wuffs. Benchmark Wuffs on Nexus 5x to help isolate and
fix the problem.
Change-Id: I36a13845ec83290d640263499ec4e5aca7b1239a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255080
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This reverts commit c6a278aa71.
Reason for revert: Trying to get Chrome to roll
Original change's description:
> Block MSAA CCPR on NVIDIA without mixed samples
>
> We are still seeing problems on the GTX660. It's not crashing, but
> still is producing incorrect renderings. For now let's just block MSAA
> CCPR completely on non-mixed-sampled NVIDIA.
>
> Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
Change-Id: Ice3995e8a87be084bc5847dd4b3ada1de1a1aaf1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255522
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
e4b3136913..99bd10b704
git log e4b3136913c6..99bd10b70422 --date=short --no-merges --format='%ad %ae %s'
2019-11-20 tobine@google.com Vulkan:Disable AtomicCounterBuffer tests on Vulkan
2019-11-19 flibitijibibo@gmail.com Headers: Add EGLAPI to SwapBuffersWithFrameTokenANGLE
2019-11-19 courtneygo@google.com Vulkan: Ensure consistent limits for texture & framebuffer
2019-11-19 mihu@microsoft.com EXT_multisampled_render_to_texture clean up and prep for 2DMultisampleArray.
2019-11-19 syoussefi@chromium.org Skip crashing KHR tests on Nvidia
2019-11-19 shrekshao@google.com Skip TextureNorm16Test on Nexus6P
2019-11-19 tobine@google.com Add support for gl_HelperInvocation
2019-11-19 courtneygo@google.com Add suppressions for failures on Intel/Linux
2019-11-19 flibitijibibo@gmail.com GN: Make X11 optional, based on a user-defined variable.
2019-11-19 lehoangq@gmail.com Metal: support texture's incomplete image definitions.
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src c3f22f7cba60..57b4cb40b21d (1 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src e2441190bb0c..c2bd11586919 (2 commits)
2019-11-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader aba1020d3914..79afb7620a69 (5 commits)
Created with:
gclient setdep -r third_party/externals/angle2@99bd10b70422
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: I5b55452cc4ecfa45702a621508a7485dd2574932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255448
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
I think we may not need this limit since 3.15.0 added f16c support.
Cq-Include-Trybots: skia.primary:Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext,Perf-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext
Change-Id: I4de547069ca0c77f2208c86f995496880df75d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255342
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This makes it possible to pass more types as uniforms / inputs and fixes an
issue with non-main functions calling other non-main functions.
Change-Id: I6b5623b3c967d8219b992a455cc68bb0a29706b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255300
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
These are really designed around x86, so forcing them
on ARM where our existing non-immediate ops work better
is kind of silly.
Change-Id: I6b66ed0b0a71b335becdcb1d67dec471620542b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254440
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@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.
recipe_engine:
https://crrev.com/8143132bb9539bb3ab7ba8dc222941c6a0a2f51f [buildbucket] Expose DEFAULT_FIELDS (olivernewman@google.com)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I76f132a95714da35422f35e7493579f5e6088060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255357
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>
We are still seeing problems on the GTX660. It's not crashing, but
still is producing incorrect renderings. For now let's just block MSAA
CCPR completely on non-mixed-sampled NVIDIA.
Change-Id: I505281cc0731f3c106cbb4c685d41f801955d648
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255416
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
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>