This is mostly to test how easy rebaselining SkVMTest is.
Change-Id: I27ab6f6bb8b7e126327374009783afd86d416f55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218039
Reviewed-by: Brian Osman <brianosman@google.com>
- keep expectations in resources/
- overwrite automatically if needed
so we can see the diff in Git
Change-Id: I2486b127ebcc7f40332fd0462e38b1af04d3e32b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218038
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This reverts commit 375a953239.
Reason for revert: win7-rel bots failing on roll (didn't fail on CL).
Original change's description:
> Use DirectWrite for default font.
>
> This avoids the problematic use of SystemParametersInfoW.
>
> Bug: chromium:969107,chromium:963636
> Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
TBR=bungeman@google.com,herb@google.com
Change-Id: I8cb94a37027dad340fef04751386e6df81945e7c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:969107, chromium:963636
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217943
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Change-Id: I5aa5f789180b9caba70952cc60a2e9bbcf3b5a97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217983
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Things were running suspiciously well...
_I32 had a typo that cut out 3/4 of its multiplies...
_I32_SWAR was missing a mask operation needed to drop
the junk low byte of the high half after the multiply.
The bench times now make a bit more sense and are in line
with how much work we're actually doing: F32's the slowest,
I32 a little faster, and I32_SWAR fastest:
curr/maxrss loops min median mean max stddev samples config bench
35/36 MB 58 2.03ns 2.04ns 2.04ns 2.04ns 0% ▂▂▂▂▁▁█▁▂▁ nonrendering SkVM_4096_I32_SWAR
35/36 MB 42 3.44ns 3.48ns 3.49ns 3.59ns 1% ▂▆▅█▃▃▁▂▂▄ nonrendering SkVM_4096_I32
35/36 MB 30 4.9ns 5.21ns 5.11ns 5.33ns 3% ▆▇█▆▆▁▂▁▁▅ nonrendering SkVM_4096_F32
35/36 MB 203 0.696ns 0.697ns 0.705ns 0.758ns 3% █▂▂▁▁▁▁▁▁▂ nonrendering SkVM_4096_RP
35/36 MB 942 0.188ns 0.188ns 0.188ns 0.189ns 0% ▂▁▂▁▃█▂▁▁▁ nonrendering SkVM_4096_Opts
Change-Id: I2850dc3f9df1828f03499eb278b8231f48eaae63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217982
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This bug also appears to occur on Adreno and PowerVR HW.
Bug: skia:9141
Change-Id: I75a6e71ff76ee6fa6f4e1c1ba9307e9fdbb967e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217996
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
With all the thinking around a stack-based interpreter,
I figured I'd sketch out some ideas for a register VM too.
I kind of have the hunch that this is the direction that
will actually let us replace large amounts of Skia's CPU
backend with an efficient interpreter or JIT.
Change-Id: Ia2b5ba4a3fc27556f5b6ba95cd1ace46d3217403
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216665
Reviewed-by: Brian Osman <brianosman@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/b81bc5473638f2c9c2a6f567e4fc976c978a247d buildbucket: propagate `cq_experimental` when inheriting buildsets. (tandrii@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Id805d8e2047de9cecc8369ca5645c54b24851e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217919
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>
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/e5b7ae69e6b4b747abe479496b783c4c7ac904d9 cq: expose ordered_gerrit_changes as a property. (tandrii@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7fb5a1cdd6fa18f66c144f55ea3a2676c28502d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217916
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>
Bug: chromium:969609
Change-Id: I9c3f2a2365e44a5b28687b149848abaf33706e82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217868
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
When we're rescaling the conversion to the final colorspace happens during
the last rescaling draw. We were configuring the correct color space on
the final GrRenderTargetContext but not inserting a GrColorSpaceXform.
Bug: skia:8962
Change-Id: Iadcc0a8e438109ad4b74e7d2cf073ea157bfe236
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217896
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
In addition, inline all the small functions from
SkFontPriv.cpp.
Change-Id: I9d642aa194a3fc4d7eb451c89314892f591c5d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217865
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This avoids the problematic use of SystemParametersInfoW.
Bug: chromium:969107,chromium:963636
Change-Id: I78662deb5bc90502fd070da75b7f2cfdc7968941
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217857
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Fixes exception on iPhone6 bots.
Bug: skia:9117
Change-Id: Iba8bbf6481ef641245c261b545813da722302abc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217498
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This will make fuzzing more hermetic and less machine-dependent.
Docs-Preview: https://skia.org/?cl=217864
Change-Id: If29d7b86e5290e9f749cb2fdde6f2ff892ffc333
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217864
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
In some cases, a split edge may go out-of-order with a neighbouring edge
which has already been removed from the active edge list.
The only way to be sure is to always rewind to the edge top.
This may have performance implications for paths with many (hundreds) of
self-intersections. We'll have to watch the bots carefully.
Bug: 966274, 966364.
Change-Id: I5a1b7abe9baa7fc279cbf7d1dfa258dcdaa35f11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217637
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Bug: skia:
Change-Id: I8497ddbc5c5fef4e0fa87f3b9828034ba34284cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217636
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This lets you write a suite of benchmarks that
run against different sized workloads and see
numbers that normalized by that workload size,
e.g. nanoseconds / pixel.
C.f. the bench in "sketch an skvm".
Change-Id: I6106c51ceac59cd533449712a77c957bdf86846e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217416
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
It's slow, and I'm not convinced it's saving us anything.
Change-Id: I83adb84a04a9b15703f35754862087ebdfe20b06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217576
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
0a56f0e3d2..98f2167125
git log 0a56f0e3d22d..98f2167125a8 --date=short --no-merges --format='%ad %ae %s'
2019-06-02 jmadill@chromium.org Vulkan: Refactor index buffer convert functions.
2019-05-31 jmadill@chromium.org Re-enable WGL perf test configs.
2019-05-31 cnorthrop@google.com Revert "Revert "Vulkan: Use atomics in SerialFactory.""
2019-05-31 spang@chromium.org Vulkan: Fix synchronization with current surface
2019-05-31 jmadill@chromium.org Vulkan: Recycle command pools with vkResetCommandPool.
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 625eb25d6e80..6d88284607d2 (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-headers/src 7ac42f80c0e8..903d447d96eb (1 commits)
2019-05-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src e7866de4b1dc..209ff0ce90ce (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@98f2167125a8
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=jcgregorio@google.com
Change-Id: I0da2ebbccf0fd681bc62417befff7bc980fd073a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217777
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Use in GrColorMatrixFragmentProcessor.
Also make GrColorMatrixFragmentProcessor::Make() call
SkMatrix44::set4x4().
9bf803677ea133368178e1eb23e120dd823da151
Bug: skia:8962
Change-Id: I2476f4af03b4e43cc843e6eda28673d1c2454acc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217496
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Without this change fake bold text is always horizontal RGB and ignores
the settings.
Change-Id: I1b1cf6121dffdef626929c2fdf16326721a1c63a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217577
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
The interesting bit here is a change in glyph positioning:
AE text animator transforms are to be applied relative to the glyph position.
To support this behavior, update Shaper to externalize glyph positioning
when in fragmented mode. I.e. instead of baking glyph positions in blobs,
apply them at the scene graph transform level (such that they compose with
animated transforms correctly).
Change-Id: I9aeb5e6f8c1ec1a2c8b5351e8fc2a73d4bdf5cad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217556
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Simplify the gap calculation code. Mainly avoid passing
the interval all over the place. Change code from handling
both horizontal and vertical to just horizantal.
Change-Id: Idb364da1e489e6a95d9b6d6dd97c4f6e85900c42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216691
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
The file it was reading from is deleted at this point. Removing the
logic for now. If we want to add it in future we can make the script
write to a file and have the recipe read from it.
NoTry: true
Bug: skia:
Change-Id: If68547a0494be2ae1cd3145d6842961dfa61c7b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217537
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Specific case for this fuzz.
Assume that the font size is 0.
If the matrix is perspective then, we draw in paths. Drawing with paths
assumes a font size of 64, so glyphs have size. The glyph in question is
ARGB, so this will be drawn as fallback. The max glyph dimension, which is 13,
is multiplied by the strike-to-source ratio, which is 0 resulting in a
maxSourceGlyphDimension of 0.
Returning immediately from processARGBFallback when maxSourceGlyphDimension
equals 0 is the correct thing to do for all cases because no pixels will change.
BUG=oss-fuzz:15052
Change-Id: I8809a08f011c93a0f7f47422b594c8264a8a9326
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217497
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Limitations:
- no range selectors (applies to the whole text)
- only position, fill color and stroke color for now
Change-Id: I91e88a6107c5f66687c1c27f27a71be3914bde25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217386
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Bug: skia:8243
Change-Id: I5ffb75db0e213c37d3b2bfa2bd3d0c77d0ba42d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/215838
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
This is a reland of a36e089065
This is only active when Metal is enabled.
Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:8243
Change-Id: I743a3dcc93b46387a6a330e855c2e8810b482544
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
motivation: will be used by SkPDF backend in later CL.
Bug: chromium:967418
Change-Id: I1002c290f70245cce7ae2cf759d3eaf54cb8cd81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216873
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Auto-Submit: Hal Canary <halcanary@google.com>
Also adds flexibility to unpremul the input, clamp the output, premul the
output or not.
Also fixes SkMatrix44 as a ctype.
The intent is to reuse this for rgb->yuv conversion in async rescale and
read.
Bug: skia:3962
Change-Id: I470d1cfebdbd79d8541b633c1747d510a5549ac4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217128
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
The texture resource in MtlTextureInfo is a CoreFoundation object,
so we have to manage the refcounting ourselves. GrCFResource is a
wrapper class which will automatically take care of this for us on
creation, assignment, and destruction.
Bug: chromium:964498
Change-Id: I9a3768833744d4aaaec2142200283f0e7eaad165
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216351
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Christopher Cameron <ccameron@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
This reverts commit a36e089065.
Reason for revert: Primary suspect in breaking G3
Original change's description:
> Added AutoreleasePool for managing pool memory in testing apps.
>
> This is only active on MacOS and iOS -- on other platforms it
> will do nothing as they have no need for autorelease pools.
>
> Bug: skia:8243
> Change-Id: Ib74968dab6e3455a72e726429832101d0d410076
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217126
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,brianosman@google.com
Change-Id: I64f6e0baba21a9d35682ab53bdf418180be8579b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8243
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217377
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@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/a60ff0ed1597c637ca24b898bd1649c7d9b30838 Further refine cmd0 lookup. (iannucci@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If8ce903638301532a9462b54297e1ef835dfe4b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/217356
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>