Commit Graph

59124 Commits

Author SHA1 Message Date
John Stiles
43539c22a2 Revert "Verify that tests in errors/ actually generate the expected errors."
This reverts commit 8d646c127a.

Reason for revert: triggering UBSAN
http://screen/887FeQtZWs2A6oo

Original change's description:
> Verify that tests in errors/ actually generate the expected errors.
>
> Error expectations are embedded in the source with a special *%%*
> marker, like this:
>
>      /*%%*
>      expected 'foo', but found 'bar'
>      'baz' is not a valid identifier
>      *%%*/
>
> This unit test compiles every effect in errors/ and verifies that it
> makes an error. It also verifies that the errors returned include the
> expectations from the *%%* marker section, in the listed order, if any
> expectations have been listed. (Error expectations are not meant to be
> exhaustive; additional errors are allowed.)
>
> In this CL, I've manually attached error expectations to the first few
> error tests. A followup CL will (mechanically) add expectations to every
> error test, based on their current error reports.
>
> Change-Id: I4add30fef6419c4d3f8d2a221c5aeb53eee35ae7
> Bug: skia:12665
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505399
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:12665
Change-Id: I3bcdbe9fc1abab13656d6462b73f6439967fd96f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505642
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-08 16:29:36 +00:00
Leon Scroggins III
7fa16d9a08 Remove MPL from Android's license_kinds
Change-Id: I8942814623e4d66df3a8810c68fa36aaab5bd578
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504538
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
2022-02-08 16:18:12 +00:00
Jason Simmons
9116bd3bee Convert font width values from variable axes to SkFontStyle widths
A recent change added support for using the width variable axis to
override the usWidthClass value from the font's OS/2 table.

However, the width axis uses a different value scale.  This PR converts
the axis value to a usWidthClass value that is equivalent to the
SkFontStyle Width enum.

Change-Id: I6ce78f4dcad3abdcf3e00bd524ffb08a57e51919
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505356
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-02-08 16:10:52 +00:00
Robert Phillips
07b639da6f [graphite] Consolidate functionality in the SkShaderCodeDictionary
At some point we'll need to go through the dictionary for user provided SkSL

Bug: skia:12701
Change-Id: I484ae30626dad64f2bce1e0948071380d9f8282e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504596
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-08 15:54:35 +00:00
John Stiles
8d646c127a Verify that tests in errors/ actually generate the expected errors.
Error expectations are embedded in the source with a special *%%*
marker, like this:

     /*%%*
     expected 'foo', but found 'bar'
     'baz' is not a valid identifier
     *%%*/

This unit test compiles every effect in errors/ and verifies that it
makes an error. It also verifies that the errors returned include the
expectations from the *%%* marker section, in the listed order, if any
expectations have been listed. (Error expectations are not meant to be
exhaustive; additional errors are allowed.)

In this CL, I've manually attached error expectations to the first few
error tests. A followup CL will (mechanically) add expectations to every
error test, based on their current error reports.

Change-Id: I4add30fef6419c4d3f8d2a221c5aeb53eee35ae7
Bug: skia:12665
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505399
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-08 14:38:39 +00:00
John Stiles
f1bb464ee4 Add support for constant folding of matrix-times-matrix.
This code should be easily adaptable to matrix-times-vector as well;
just treat the vector as a 1-row or 1-column matrix. I haven't gotten
around to writing tests for this, though.

Change-Id: If59ae52cd12952b44d3574d54398b2dc66edbcc8
Bug: skia:12819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505221
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-02-08 14:35:45 +00:00
John Stiles
d0234ba3bf Move backend-specific error tests out of errors/ test folder.
These tests only generate an error in the SPIR-V or GLSL backends. We
will soon enforce that everything in errors/ must actually fail to
compile.

Change-Id: Ic54707eb3bfa19287b4ed52335066fc0fbf19ec1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505397
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-08 14:18:46 +00:00
John Stiles
a941901639 Add missing const to Operator methods.
This was missed when doing the initial conversion; none of the methods
here modify the state of the Operator (which just holds a Token::Kind).

Change-Id: Iba4a736613b9ad20f8f400ddf78e99f46810ea90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505219
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-02-08 14:16:03 +00:00
Hans Wennborg
55f6115f80 Remove mentions of -Wweak-template-vtables
the Clang warning is being removed, see bug.

Bug: chromium:1264351, chromium:1294786
Change-Id: I206f1c891f722cd906fd357176c9f68778e0861f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/464616
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-08 13:55:28 +00:00
John Stiles
26e1285932 Remove unused caps bit for do-while loops.
This bit was originally tied to the inliner, but do-while loops have not
been used by the inliner in a very long time, and this caps bit is no
longer referenced anywhere.

Change-Id: I1b90ec7d86b4cb1b49edd156ee209c5c6f390927
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505398
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-08 13:54:34 +00:00
skia-autoroll
507b6dd516 Roll ANGLE from f65e7c3ca739 to 236a3d0f0898 (11 revisions)
f65e7c3ca7..236a3d0f08

2022-02-08 cnorthrop@google.com Tests: Add Dead Trigger 2 trace
2022-02-08 cnorthrop@google.com Test: Add Last Shelter: Survival trace
2022-02-07 jmadill@chromium.org Vulkan: Move shader resources descriptor set update.
2022-02-07 syoussefi@chromium.org Vulkan: Fix vkCmdResolveImage offsets
2022-02-07 syoussefi@chromium.org Vulkan: Make framebuffer fetch syncval errors more specific
2022-02-07 cnorthrop@google.com Tests: Add Magic Rush: Heroes trace
2022-02-07 ianelliott@google.com Revert "Vulkan: Enable framebuffer fetch on SwiftShader"
2022-02-07 cnorthrop@google.com Tests: Add Dragon Mania Legends trace
2022-02-07 jmadill@chromium.org Vulkan: Remove buffer get method from descriptors desc.
2022-02-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
2022-02-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 55ed02951fa2 to 26dacbf4b527 (583 revisions)

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 herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/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
Tbr: herb@google.com
Test: Test: angle_perftests --gtest_filter="*dead_trigger_2*"
Test: Test: angle_perftests --gtest_filter="*dragon_mania_legends*"
Test: Test: angle_perftests --gtest_filter="*last_shelter_survival*"
Test: Test: angle_perftests --gtest_filter="*magic_rush_heroes*"
Change-Id: I4c62e297bcfb63f922a054495981f0575394e546
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505424
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-08 05:25:15 +00:00
skia-autoroll
e297dba5b9 Roll SwiftShader from ad6d7f84f2a1 to e576ca6011cd (19 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ad6d7f84f2a1..e576ca6011cd

2022-02-08 natsu@google.com Fix `WARNING: UNSUPPORTED:` warnings related to Android swapchain
2022-02-08 natsu@google.com Fix `WARNING: UNSUPPORTED: ... EXTERNAL_FORMAT_ANDROID` warnings
2022-02-07 capn@google.com Benchmark optimized SPIR-V transcendental instructions
2022-02-07 capn@google.com Copy Reactor transcendentals benchmarks to new PipelineBenchmarks
2022-02-07 capn@google.com Test building benchmarks with Kokoro
2022-02-07 swiftshader.regress@gmail.com Regres: Update test lists @ 45f7fdc3
2022-02-07 capn@google.com Ignore VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT usage
2022-02-07 capn@google.com Eliminate EmulatedIntrinsics
2022-02-07 capn@google.com Remove OptimalIntrinsics source and header
2022-02-07 capn@google.com Eliminate rr::Precision
2022-02-07 capn@google.com Use full-precision transcendental function implementations in Reactor
2022-02-07 capn@google.com Update dEQP-VK and Cherry usage documentation
2022-02-07 capn@google.com Use ShaderCore functions to implement GLSL.std.450 transcendentals
2022-02-07 capn@google.com Copy optimized transcendental intrinsics to ShaderCore
2022-02-07 dvet@google.com Add an option to control where ASM listings are dumped.
2022-02-07 capn@google.com Make the Reactor build target an alias
2022-02-07 swiftshader.regress@gmail.com Regres: Update test lists @ ad6d7f84
2022-02-07 capn@google.com Regres: Adjust mustpass folder for Vulkan 1.3
2022-02-07 nicolascapens@google.com Revert "Regres: Apply lazy initialization patch"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: I7139042200689c533a2b721d08790f0a98f6281c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505423
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-08 04:51:19 +00:00
skia-autoroll
fc25fba823 Roll Chromium from 670c075d7b1d to 26b1b87c9091 (498 revisions)
670c075d7b..26b1b87c90

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: herb@google.com
Change-Id: Id2db1ca7b28aaca84dcfccbddf12806a83428d60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505422
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-08 04:43:46 +00:00
skia-autoroll
bcda6919d6 Roll Dawn from 8e519d3bde60 to f994c5637c2d (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/8e519d3bde60..f994c5637c2d

2022-02-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from bf0180bcee90 to c6d8cadd3300 (2 revisions)
2022-02-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 06150ab2fb9f to 8b81742dd8d1 (8 revisions)
2022-02-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 89c730dbf3da to bf0180bcee90 (1 revision)
2022-02-07 bajones@chromium.org Deprecate endPass(), replace with end()
2022-02-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2d87beb20076 to 89c730dbf3da (1 revision)
2022-02-07 cwallez@chromium.org Guard for [MTLDevice counterSets] being null.
2022-02-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ad6d7f84f2a1 to c9e8f23b0fb8 (2 revisions)
2022-02-07 cwallez@chromium.org Add validation of the max binding number.
2022-02-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6d770093bdf1 to 2d87beb20076 (1 revision)
2022-02-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from f65e7c3ca739 to 06150ab2fb9f (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 6d770093bdf1 to c6d8cadd3300

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC amaiorano@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: amaiorano@google.com
Change-Id: Ia574195099aa1f3d3d4fa615b2464384f853f8a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505425
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-08 04:42:49 +00:00
John Stiles
156e7d15a4 Revert "Remove skstd::optional entirely."
This reverts commit 0596094b81.

Reason for revert: Flutter somehow still references skstd::optional

flutter_engine in google3 still has old code:
http://screen/BHDrjqwzchdFVfQ

Original change's description:
> Remove skstd::optional entirely.
>
> Change-Id: Id9862712ea3e769797abd654922879ce6bc4487c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504976
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Change-Id: Idea391399c2e11b83d5a130023adb340d40cadcb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505396
Auto-Submit: John Stiles <johnstiles@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2022-02-08 02:13:27 +00:00
Michael Ludwig
4eb6e56b19 Use correct line->cubic for fixed-count stroke tessellation
Removes the (p0,p0,p1,p1) encoding of a line, to favor the 1/3,2/3
mixed form that the wedge path tessellator also uses. This has the
benefit of Wang's formula evaluating to 0 for a cubic of that form.

Change-Id: I4d86fcaf528c29288c4735f1cf8d9517654dd700
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504417
Reviewed-by: Christopher Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-02-08 01:43:39 +00:00
John Stiles
0596094b81 Remove skstd::optional entirely.
Change-Id: Id9862712ea3e769797abd654922879ce6bc4487c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504976
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-02-08 00:02:40 +00:00
John Stiles
89ddd74f80 Enable warning -Wunneeded-internal-declaration.
When we set -Wno-unused-template, this also implicitly disables the
related warning flag -Wunneeded-internal-declaration:
http://screen/5WX2Js6YYYyTb6g

Fixing -Wno-unused-template is nontrivial, but we can just reenable the
warning we care about on the next line.

This warning is triggered by Android builds so it's important to enable
it to prevent blocking the Android roll.
Context: http://review.skia.org/504416

Change-Id: I7e68608beb46dc69a4685c1b13680b97fc9f1cef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505299
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-02-07 22:22:14 +00:00
Jorge Betancourt
716456c335 Revert "add defines for new os condition flag(no_codec added in google3 build)"
This reverts commit d831da5b8a.

Reason for revert: Failing LSAN leak detection https://ci.chromium.org/raw/build/logs.chromium.org/skia/58eec496c79be011/+/annotations

Original change's description:
> add defines for new os condition flag(no_codec added in google3 build)
>
> flag reduces build size in xeno by .1 MB
>
> Change-Id: I3fac4ebd243ea506b0a2df2eba32f016ed13a456
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504539
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>

Change-Id: I1a19d9e74b0ebff90ea7de447e92fcc578c45982
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505298
Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-07 21:35:04 +00:00
Ben Wagner
88ddcb8f50 Reland "Pin FcConfig for FCIDirect at creation."
This reverts commit d7f7cc8791.

SkFontConfigInterfaceDirect class methods used the FontConfig library
static global "current" FcConfig (implicitly through the use of
nullptr). This was pinned down once per call to each method which used
it (to avoid the "current" FcConfig from being changed out from under it
while running). However, the use of global state as a matter of course
makes it very difficult to reliably test.

Modify SkFontConfigInterface to optionally take an FcConfig on
contruction. If nullptr is provided it is equivelent to the old behavior
so that existing users are unaffected. SkFontConfigInterface takes
ownership of any passed FcConfig and will release it on destruction.

Bug: skia:12916
Change-Id: I20a3cd9405ad40f28b394c713c0514aaa3b08cd0
Revert-Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504776
Revert-Change-Id: I812547bf27371ab716b7a167d7e975f7538d37fb
Revert-Reason: google3 roll failure due to memory leak
Original-Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504477
Origianl-Change-Id: Ie3573403a95c6bf627ce5ff7f2eb5617c9cd162d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505136
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-02-07 21:32:21 +00:00
Michael Ludwig
f85d177016 Update PatchWriter API to writeFoo instead of << Foo
Change-Id: Iee54fd52b9ac291c82cfd9ce3a0876ee6c1f972a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502787
Reviewed-by: Christopher Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-02-07 21:26:39 +00:00
Herb Derby
2562144c11 rename fontID to typefaceID
Change-Id: Ifb387d315fdd083190128f448aadb3e54c4e3369
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505198
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-02-07 20:12:39 +00:00
John Stiles
78eb43826f Fill out matrix-folding ES3 tests.
This mirrors a lot of the existing matrix ES2 tests, but using
non-square matrices. This is still important because a lot of subtle
bugs can slip through the cracks when rows == columns.

Change-Id: I626c4c2b176c8280da64513d16f59e76e726cbe7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/505218
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-07 19:53:00 +00:00
Jorge Betancourt
d831da5b8a add defines for new os condition flag(no_codec added in google3 build)
flag reduces build size in xeno by .1 MB

Change-Id: I3fac4ebd243ea506b0a2df2eba32f016ed13a456
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504539
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-02-07 18:24:39 +00:00
Julia Lavrova
14f559fd23 Add SkTypeface::openExistingStream.
Allow users to retrieve the stream from an SkTypeface, but only if that stream is inexpensive to create.

Bug: https://github.com/flutter/flutter/issues/97384

Change-Id: I9bab1a775273363500cf7482f1babeee75c5a3df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503349
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-02-07 17:06:09 +00:00
Florin Malita
dcafc5d2bc [skottie] Visual-only text valign
Historically, Skottie started with vertical alignment based on the
typographic bounding box.  This was meant to account for empty
leading/trailing lines.

At some point [1], the strategy was changed to also take the visual
bounding box into account (union of typographic and visual bounds).

It turns out this is still suboptimal: aligning based on font metrics
yields poor results in practice, and pretty much everyone expects
visual-only alignment.

This CL is an attempt to fix things:

1) update kVisualTop/kVisualCenter/kVisualBottom to use visual bounds
   only (as their name implies)
2) introduce kDeprecatedVisualCenter to preserves the old behavior
   for compatibility, and use it for the legacy sk_vj flags

The latter is done to minimize disruption for clients which have
adjusted for the current misalignment: luckily they're mostly using the
old sk_vj flag instead of explicit resize/valign policies, and they can
continue to do so without change, while new clients can opt into the
new/improved valign modes.

The change is guarded by a build flag for g3 staging.

[1] https://skia-review.googlesource.com/c/skia/+/224188

Change-Id: I334c1713ce32635e3649711f072a3dcdf6b12244
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501016
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-02-07 17:04:17 +00:00
Greg Daniel
45e4e0ed2b Fix Surface::resolveMSAA for non msaa surfaces.
Bug: chromium:1292418
Change-Id: I48dc15fa43b4f3c12e5ca87f1665b2da85d93ddf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504697
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-02-07 15:29:40 +00:00
John Stiles
b73789dc4a Reland "Reenable unreachable-code warnings."
This is a reland of b292c30aa0

This CL also addresses the Wuffs-specific unreachable code.

Original change's description:
> Reenable unreachable-code warnings.
>
> Change-Id: Ie56967a4b823388f0975384e88be23ff2fceecf7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504598
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

Change-Id: I655db50134e0de0d0448f22b636ba027513e28f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504757
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-07 14:56:09 +00:00
John Stiles
87aa7a9095 Add SK_PRINTF_LIKE to existing variadic print functions.
This shook out a handful of formatting issues:
[SkVMVisualizer]
- We were passing plain text like "width:35%;" through printf.
- One particular opcode type was printing a string as a number.
[Skottie, SortToy]
- Used wrong integer type instead of %zu for size_t

This CL does not update print functions which take printf arguments via
variadic template, as __attribute__((format)) does not support this
style. These could be converted to va_list style, but that's not done in
this CL.

(For some reason, GCC requires the attribute to be set on a prototype
for freestanding functions, so a few of these now have a prototype
immediately followed by a declaration.)

Change-Id: I63a6c2486c785cc38563028fdf8df0662ec04935
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504698
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-07 14:55:39 +00:00
skia-autoroll
84632c9616 Roll ANGLE from 1608a9567b66 to f65e7c3ca739 (12 revisions)
1608a9567b..f65e7c3ca7

2022-02-05 m.maiya@samsung.com Vulkan: Take base level into account in image views
2022-02-05 lexa.knyazev@gmail.com Metal: Fix ANGLEUniformBlock alignment
2022-02-04 antonio.caggiano@collabora.com Vulkan: Fix present region rectangles
2022-02-04 syoussefi@chromium.org Vulkan: Enable framebuffer fetch on SwiftShader
2022-02-04 sergeyu@google.com Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE
2022-02-04 penghuang@chromium.org Add more info in BlitFramebuffer error message
2022-02-04 j.vigil@samsung.com Fix bug in protected content validation
2022-02-04 penghuang@chromium.org Support gl internal format for creating EGLImage from VkImage
2022-02-04 ynovikov@chromium.org Fix GLES Display creation on ChromeOS when Vulkan is enabled
2022-02-04 jmadill@chromium.org Vulkan: Binding available buffer range to descriptor.
2022-02-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 6014f10de554 to 2b76a13c38ae (3 revisions)
2022-02-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 8894f7c632dd to 55ed02951fa2 (509 revisions)

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 herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/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
Tbr: herb@google.com
Test: Test: MipmapTestES31.UpdateBaseLevel/*
Change-Id: Ie656c80edd3d1d70b68f18afe0ae522d163002aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504998
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-07 05:24:44 +00:00
skia-autoroll
81248e23b5 Roll Chromium from 9ece57e6815c to 670c075d7b1d (582 revisions)
9ece57e681..670c075d7b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: herb@google.com
Change-Id: I8a3b8a2ccf4c035725a5a8380e08ec7c7337c9a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504997
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-07 05:01:09 +00:00
skia-autoroll
2f61e948c7 Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2b76a13c38ae..ad6d7f84f2a1

2022-02-06 sugoi@google.com VK_KHR_synchronization2 support

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC herb@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: I533033280e18a96cce2146cf8a0009adec3aca99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504999
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-07 04:58:15 +00:00
skia-autoroll
271070d50f Roll Dawn from 327d020468b4 to 8e519d3bde60 (23 revisions)
https://dawn.googlesource.com/dawn.git/+log/327d020468b4..8e519d3bde60

2022-02-06 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
2022-02-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2ab8f48fead8 to f65e7c3ca739 (4 revisions)
2022-02-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 3d5b38447aec to 6d770093bdf1 (5 revisions)
2022-02-05 enga@chromium.org Fix version check for timestamp queries - Mac 11.0+ AMD
2022-02-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from de857e1c581c to 3d5b38447aec (5 revisions)
2022-02-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1608a9567b66 to 2ab8f48fead8 (8 revisions)
2022-02-04 bclayton@google.com tint->dawn Add src/dawn/CMakeLists.txt
2022-02-04 bclayton@google.com tint->dawn: Move src/fuzzers/dawn -> src/dawn/fuzzers
2022-02-04 bclayton@google.com tint->dawn: Move examples -> samples/dawn
2022-02-04 bclayton@google.com tint->dawn: Move src/include -> include
2022-02-04 bclayton@google.com tint->dawn: Fix output_name of dawn_component template
2022-02-04 bclayton@google.com gn: Trim target prefixes from src/dawn targets
2022-02-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from fa0d64b76d0a to de857e1c581c (1 revision)
2022-02-04 bclayton@google.com tint->dawn: Move src/dawn_native -> src/dawn/native
2022-02-04 bclayton@google.com tint->dawn: Move src/dawn_platform -> src/dawn/platform
2022-02-04 bclayton@google.com tint->dawn: Move src/dawn_wire -> src/dawn/wire
2022-02-04 bclayton@google.com gn: Trim target prefix from static and shared libraries
2022-02-04 bclayton@google.com tint->dawn: Move src/dawn_node -> src/dawn/node
2022-02-04 bclayton@google.com tint->dawn: Move src/utils -> src/dawn/utils
2022-02-04 bclayton@google.com tint->dawn: Move src/common -> src/dawn/common
2022-02-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e3d4197822b1 to fa0d64b76d0a (13 revisions)
2022-02-04 cwallez@chromium.org Implement creating and using 1D texture views.
2022-02-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e56f0e293319 to 1608a9567b66 (7 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from e3d4197822b1 to 6d770093bdf1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC shrekshao@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: shrekshao@google.com
Change-Id: I128275a1902e5eaaf4cc8348b548ec480e0bdcb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504996
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-07 04:37:45 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
d41771865b Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idbeb0632c137e5a094945415128c8b0f7534b2c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504916
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-02-06 08:28:40 +00:00
skia-autoroll
ffeda7863d Roll SK Tool from dd3d60323096 to e42d2da16c45
https://skia.googlesource.com/buildbot.git/+log/dd3d60323096..e42d2da16c45

2022-02-06 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: Iab30b6bc33e40702daff3daa8c53a2f0520fd375
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504857
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-02-06 06:22:08 +00:00
John Stiles
d7f7cc8791 Revert "Pin FcConfig for FCIDirect at creation."
This reverts commit 8b618c3e16.

Reason for revert: google3 roll failure due to memory leak
http://screen/4pH356LBiTMTQK7

Original change's description:
> Pin FcConfig for FCIDirect at creation.
>
> SkFontConfigInterfaceDirect class methods used the FontConfig library
> static global "current" FcConfig (implicitly through the use of
> nullptr). This was pinned down once per call to each method which used
> it (to avoid the "current" FcConfig from being changed out from under it
> while running). However, the use of global state as a matter of course
> makes it very difficult to reliably test.
>
> Modify SkFontConfigInterface to optionally take an FcConfig on
> contruction. If nullptr is provided it is equivelent to the user passing
> the result of `FcConfigReference(nullptr)` so that existing users are
> unaffected. SkFontConfigInterface now takes ownership of this FcConfig
> and will release it on destruction.
>
> Change-Id: Ie3573403a95c6bf627ce5ff7f2eb5617c9cd162d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504477
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>

Change-Id: I812547bf27371ab716b7a167d7e975f7538d37fb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504776
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-04 23:32:11 +00:00
John Stiles
7dda12a88a Revert "Reenable unreachable-code warnings."
This reverts commit b292c30aa0.

Reason for revert: breaks Wuffs build

Original change's description:
> Reenable unreachable-code warnings.
>
> Change-Id: Ie56967a4b823388f0975384e88be23ff2fceecf7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504598
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

Change-Id: I3844f535b3940a0408f0896ddf7ae9894328cba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504756
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-02-04 22:50:10 +00:00
Greg Daniel
fc80c11138 [graphite] Don't initialize Recorder BufferManager until after initializing ResourceProvider.
Change-Id: Ic37b07919478af59fb775285dc2cfc932ce3f2b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504696
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-04 22:43:39 +00:00
John Stiles
b292c30aa0 Reenable unreachable-code warnings.
Change-Id: Ie56967a4b823388f0975384e88be23ff2fceecf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504598
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-02-04 21:45:43 +00:00
John Stiles
4250effcc5 Prepare to reenable unreachable-code warnings.
Adding double-parens around an `if ((false))` squelches the warning.
In other cases, you can squelch the warning by assigning the
always-constant(-on-this-machine) check into a constexpr bool.

Change-Id: I5a344fb45779c5bd2865edb3cffaf839ba9a5d85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504597
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-02-04 21:45:39 +00:00
Kevin Lubick
a803794df7 [canvaskit] Add more features to Bazel build
PS 1 adds particles to the build
PS 2+ ports many of the options from //modules/canvaskit/compile.sh

With this CL, all the CanvasKit tests pass with both the
debug and release build.

Change-Id: Id70f0c16a087109c56949417f940849f2e3b5200
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504537
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-02-04 21:33:20 +00:00
Robert Phillips
6c28bd97fe [graphite] Reorganize code snippets a bit
This inches us towards the model of the code snippets being subroutines that are then glued together in a main method.

Bug: skia:12701
Change-Id: I49c39636debd2dbe512c7d5f9bc401dd899df1dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504556
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-04 21:31:04 +00:00
Greg Daniel
324e00243f [graphite] Add RecorderPriv class
Change-Id: If2ef260cf015e7f7ae2ebc7de1a41a5ef52b8dd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504616
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-02-04 21:23:08 +00:00
Greg Daniel
94f0b94a3d [graphite] Fix unused member warning in Release build.
Change-Id: Ib995ebae0ad54d6ce672ce4afe61f67c4247bd9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504540
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-04 21:22:45 +00:00
Robert Phillips
c2cb2d9ae2 [graphite] Split up Mtl uniform generation a bit
GetMtlUniforms will allow fusing uniforms from a set of code snippets.

Bug: skia:12701
Change-Id: Idf9767135acca6f918590b13fe7189bcf85b927a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504536
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-04 21:17:41 +00:00
Ben Wagner
8b618c3e16 Pin FcConfig for FCIDirect at creation.
SkFontConfigInterfaceDirect class methods used the FontConfig library
static global "current" FcConfig (implicitly through the use of
nullptr). This was pinned down once per call to each method which used
it (to avoid the "current" FcConfig from being changed out from under it
while running). However, the use of global state as a matter of course
makes it very difficult to reliably test.

Modify SkFontConfigInterface to optionally take an FcConfig on
contruction. If nullptr is provided it is equivelent to the user passing
the result of `FcConfigReference(nullptr)` so that existing users are
unaffected. SkFontConfigInterface now takes ownership of this FcConfig
and will release it on destruction.

Change-Id: Ie3573403a95c6bf627ce5ff7f2eb5617c9cd162d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504477
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-02-04 20:37:16 +00:00
Greg Daniel
92c2ace930 [graphite] Add basic stubs for ResourceCache.
This also moves the creation of the ResourceProvider from Context into
Recorder so that we can share the SingleOwner object.

Bug: skia:12754
Change-Id: I97f5c8bf86f86835582a78250acb929722f26688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504478
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-02-04 19:25:11 +00:00
Kevin Lubick
e94b52c442 [canvaskit] Add skottie to Bazel build
PS 1 regenerates existing Bazel files
PS 2 adds generated Bazel files to skottie and its dependencies,
as well as incorporating it into CanvasKit.

This changes the version of Bazel we use to 5.0.0 (recently
released).We had been using a pre-release of 6.0 because we
wanted the new features in one of the 5.0 release candidates,
but not the regression that was there (and reverted before the
full 5.0 release). I'd like to stick to the latest stable Bazel
release where possible.

Suggested Review Order:
 - //modules/skottie/BUILD.bazel (this was hand written
   to encapsulate the skottie library). The files in the
   deps are based on skottie.gni.
 - //modules/skresources/BUILD.bazel and //modules/sksg/BUILD.bazel
   which expose all sources
 - //third_party/file_map_for_bazel.json which ignores the
   ffmpeg libraries (we won't actually build the SkVideoDecoder
   stuff because HAVE_VIDEO_DECODER is not set).
 - //modules/canvaskit/BUILD.bazel which makes use of the skottie
   library and includes the interface skottie.js file.
 - .bazelversion which changes the Bazel version used (e.g. by
   Bazelisk).
 - All other changes should be auto-generated or related to
   deleted files.

Change-Id: Ic26f9a9dea5310f2cbd9cda7d701847924a39a22
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/503828
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-02-04 19:18:27 +00:00
Robert Phillips
b58173c96b [graphite] Fix graphite Release builds
Change-Id: I6c5ac0811a4c9bc7592a75e7fc31354467ff704c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504476
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-02-04 16:12:58 +00:00
Ben Wagner
bee5ccd548 Avoid "drawable" when not referring to SkDrawable.
Change all use of "drawable" to "accepted" in glyph drawing code. To
improve uniformity "rejects" is also changed to "rejected".  This is
motivated by the desire to add SkDrawable backed glyph rendering, which
would make the use of "drawable" for both "glyphs which are drawable"
and "glyph which renders with SkDrawable" very confusing.

Change-Id: I6d080bc9ec25f81aa9479757d2cca47ae74f4db6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/504236
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-02-04 15:52:11 +00:00