Commit Graph

59908 Commits

Author SHA1 Message Date
John Stiles
d0242346b8 Allow prefix-expressions in IsSameExpressionTree.
This will allow expressions like `-x == -x` or `!y == !y` to be detected
as matching expressions (which enables various constant-folding paths).

(Also, migrated the analysis code into a separate cpp.)

Change-Id: I3e317fdaed3762f8fa19e684a5ed557fc9348c7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-05 20:16:35 +00:00
Michael Ludwig
759deb9ec2 [graphite] Implement onClip-related functions in Device
The clip isn't actually applied, but clip stack manipulation is wired
up. This may have a slight impact on how things draw because the device
clip bounds now reflect the clip actions, and that is currently used as
each draw's scissor.

Bug: skia:12698
Change-Id: I1d2e9cea49762dbfaa008c7c6af6034387b62519
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526917
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-05 20:08:06 +00:00
skia-autoroll
6d59d396d8 Roll SwiftShader from a190ceed7293 to 7d100c556081 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a190ceed7293..7d100c556081

2022-04-05 sugoi@google.com Added missing feature structure for VK_KHR_maintenance4
2022-04-04 capn@google.com Validate SPIR-V instruction word array accesses
2022-04-04 dvet@google.com Add documentation for the configuration file mechanism
2022-04-04 capn@google.com Support VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
2022-04-04 rebecca.chang@starfivetech.com Reactor: riscv64 is not supported in subzero
2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: add configs/common and configs/linux for riscv64
2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: update script to include riscv64 target
2022-04-04 rebecca.chang@starfivetech.com marl: add new source file for riscv64
2022-04-04 sugoi@google.com Add missing imageView compatible formats for YCbCr

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 djsollen@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: djsollen@google.com
Change-Id: Ifa4a1eb68cd01ac6b6d2ea71c873c17d12336bc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527425
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 20:07:40 +00:00
Ethan Nicholas
453e4def6f Improved BinaryExpression position tracking
This avoids a situation where we didn't know the position of a binary
expression while we were in the middle of evaluating it, which was
leading to problems with upcoming error reporting changes.

Change-Id: Ie41fa82d077de1aa1041cd84c539ba29aaa2f5f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527500
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 20:02:34 +00:00
Ethan Nicholas
59b0688e5e Improved PostfixExpression position tracking
This avoids a situation where we didn't know the position of a postfix
expression while we were in the middle of evaluating it, which was
leading to problems with upcoming error reporting changes.

Change-Id: Ie6d4dd8411ffb24ac7ee95d3e908483d0d92ba0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527499
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 20:02:26 +00:00
Ravi Mistry
c5c38dec95 [infra] Move TSAN_Vulkan jobs from Golo machines to Skolo
This change does the following:
* Removes 2 Golo Test-TSAN_Vulkan jobs because their counterparts already exist in Skolo.
* Moves 1 Golo Test-TSAN_Vulkan job to Skolo.

Bug: skia:13129
Change-Id: I28b40320c831d109aa4f8778ddc1d03be9473592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526916
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-05 19:57:24 +00:00
Jorge Betancourt
7e5823b0c8 guard includes behind swiftshader build flag
This adds egl through swiftshader to unix builds as a separate build target, supporting cl in g3

Change-Id: Ied8c413e9dee0f78f25cbcec1bf937a5eb55dd60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526676
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-04-05 19:57:18 +00:00
John Stiles
0e3a248cbe Add new folding tests involving prefix expressions.
Followup CLs will improve their output.

Change-Id: I07059348f68cd6cd3154c31a41f81018b26a44e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527616
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-05 19:52:07 +00:00
skia-autoroll
11fac8788c Roll SK Tool from 90b64b7f512e to 5d48b27e1dea
https://skia.googlesource.com/buildbot.git/+log/90b64b7f512e..5d48b27e1dea

2022-04-04 kjlubick@google.com [debugger] Update docs with port
2022-04-04 kjlubick@google.com [bazel] Make Debugger, particles, et all not require Docker auth when running locally
2022-04-04 borenet@google.com [infra] Update Go CIPD package to use "copy" install mode

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 jcgregorio@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: jcgregorio@google.com
Change-Id: I934403e920374c8043c0b3fb23108e87042ab5f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527426
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:52:01 +00:00
John Stiles
2e6f60f423 Fix color fringes on blend_hue and blend_saturation.
Previously, we checked for division against zero, but didn't do anything
to prevent division against extraordinarily small values. Now, we only
saturate if the delta between max and min is greater than 0.00001.

Change-Id: I7d1df3430941c7e1a7f94e597d5449f9259612d6
Bug: skia:9320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527498
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-05 19:46:58 +00:00
Ethan Nicholas
e0b6115a04 Added position tracking for SkSL struct fields
Change-Id: Ibff49d1928d7f82d04930c8cfd9d574780732c0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527497
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-04-05 19:46:52 +00:00
skia-autoroll
cedfb2b5a9 Roll ANGLE from 4b232a9a8261 to 83d3a98cde77 (7 revisions)
4b232a9a82..83d3a98cde

2022-04-04 romanl@google.com Remove commented out mSkipTest.
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from fbc38865227d to 6f8a7182bd26 (14 revisions)
2022-04-04 romanl@google.com Use GTEST_SKIP to set gTest status of skipped tests to SKIPPED.
2022-04-04 jmadill@chromium.org Revert "Vulkan: Fix texture-after-framebuffer sync issues"
2022-04-04 penghuang@chromium.org Use provided format as intended format for EGLImage from VkImage
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 649d6e46aeae to a190ceed7293 (1 revision)
2022-04-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 804d5a91d49d to f39b4372b8a8 (124 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 djsollen@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: djsollen@google.com
Change-Id: If97bdd22673509e315c7f653aa8ea99087041ca0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527424
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:41:49 +00:00
skia-autoroll
66c035981a Roll Chromium from f3dd53b9f4ab to a192f7252b19 (466 revisions)
f3dd53b9f4..a192f7252b

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 djsollen@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: djsollen@google.com
Change-Id: Ibad13786340f1bf30e2086fa39f4ff0ac8e7bb24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527423
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-05 19:41:43 +00:00
Ethan Nicholas
b47a67ab75 Fixed SkSL positioning error with double negation
We were not propagating the position into a double-negated expression,
leading to an assertion failure in PrefixExpression.

Change-Id: I1970ff1a06d9631582626c68e151f12f6b3ef278
Bug: oss-fuzz:46381
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527507
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-05 17:10:23 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2fff9bf2bf Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Idc0b092dc5a35dca3a41bd8e4348e23016d87fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527418
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-04-04 21:42:58 +00:00
John Stiles
58cd446331 Remove GrGLSLBlend::AppendMode.
GrProcessors should use BlendExpression instead. In practice, this is
currently a wash for GrXferProcessor generation, because anything that
BlendExpression can optimize right now is already be handled by the
PorterDuffXferProcessor. But it does allow us to remove AppendMode.
Also, any future improvements to BlendExpression will be accessible by
CustomXfermode.

Change-Id: Iaad82e4fe62ba5326b69020f254be9d2468813a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-04 21:32:00 +00:00
Ben Wagner
e961fd40d9 GM scaledemojiperspective consistently use ToolUtils
This gm is using ToolUtils::emoji_typeface() to draw, but hardcoding the
result of ToolUtils::emoji_sample_text() to remove the space. Remove
the hardcoded string and use the emoji_sample_text instead. Adjust the
sample text by using only the first two non-space codepoints.

Change-Id: Ifae79b3f73951a2b6216d838b1fe0a63608bd678
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527067
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
2022-04-04 21:17:26 +00:00
John Stiles
33f14278d2 Migrate uniform-based blend logic out of BlendFragmentProcessor.
The goal here is to replace GrGLSLBlend::AppendMode with a version that
supports blend_porter_duff (i.e., uniform handling must be supported).
AppendMode is removed in the followup CL.

Change-Id: I166232b1238cef57af53d00246e7fee19d1ea156
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526516
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-04 20:55:45 +00:00
Kevin Lubick
174a9c5330 [debugger] Fix externs
This also adds a make target to build a release version of
the debugger, which is handy when we want to push a fix
quickly. The make targets will also create the local_build
folder in the infra repo if it does not exist.

Change-Id: I073615a35068c425608454311a51c0c4e0a8152a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527181
Reviewed-by: Brian Osman <brianosman@google.com>
2022-04-04 20:38:18 +00:00
Ben Wagner
8381a3b52a Pass FT_COLR_Paint by const reference.
This FreeType union is 80 bytes in size and sometimes two of them are
being passed by value. Pass them by const reference instead.

Change-Id: I69f2a326e586c1ddf80d79db96f3df7ed2d00e31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527285
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 20:19:04 +00:00
Robert Phillips
9fbd4984c8 [graphite] Begin making UniformManager more incremental
Once the UniformManager is moved into the SkPipelineDataGatherer, it
will need to be reset-able and write{Uniforms} will need to be able
to be called repeatedly. This CL starts setting up for that future.

Bug: skia:12701
Change-Id: Ia652c05b4eb508dce12c66b2298930d799d1e445
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527280
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 19:58:03 +00:00
Brian Salomon
8bc46f3cd2 One binary serialization path for SkSamplingOptions
Bug: skia:13036
Change-Id: I31ccc3d1cfb271a2c2000476b91a695390cef4a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526518
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-04 19:23:53 +00:00
Julia Lavrova
597877ab4a Simplify or even skip glyph spacing if possible
Change-Id: Ibcf5db117b338c9a4c0582067e63e98f55e25a3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526271
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-04-04 18:35:14 +00:00
Arman Uguray
bd901c8982 [sksl][codegen] Remove some unused declarations
Change-Id: I86af19cd11dc52af353257b73b4f9bcf730dbef7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526756
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-04-04 18:28:31 +00:00
Michael Ludwig
57ca232731 [graphite] Consolidate and improve accuracy of contains/intersect for clip shapes
The internal ClipGeometry enum is moved to SimplifyResult in header.
The internal get_clip_geometry is renamed to Simplify and declared
header. This was so that the internal types (SaveRecord, Element, etc)
and TransformedShape could easily interoperate.

TransformedShape is a view that bundles references together instead
of requiring that all the internal types have some magical set of
functions that get_clip_geometry used.

The contains and intersect logic has all been consolidated into
TransformedShape instead of spread across many different contains()
functions. Intersect() is also more detailed because it can take
coordinate systems into account the coordinate systems, which will be
particularly useful when draw checking is added in a follow-up patch.

Bug: skia:12698
Change-Id: Ifac41a40715c7b0369fe31c273f12edc1efa956a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526736
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-04 18:02:15 +00:00
Herb Derby
a8156239a2 combine lowest level DirectMask vertex filler
Change-Id: Ib6e46accfaf3697d32b840ad0030160c7e2472c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527278
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 17:59:20 +00:00
Robert Phillips
f8b1ba0410 [graphite] Make the SkPipelineDataGatherer be the source of the Layout
The SkPipelineDataGatherer is going to subsume all the UniformManagers
scattered across the code so it will need the Layout in its ctor and
be plumbed where ever there is a UniformManager (in order to replace it).

Bug: skia:12701
Change-Id: I4f42bf50023e9e66c90f9a14833b976e214e1cc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526275
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 16:30:16 +00:00
Robert Phillips
f8b30ffab1 [graphite] Remove unused local variable
The unused variable was breaking compilation for some versions of clang

Bug: skia:12701
Change-Id: I8ded5bf3d18136b5679878090186746b88292c3d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527236
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-04 16:05:01 +00:00
John Stiles
e1eec147f4 Add test for fuzzer-discovered error with ^^ operator.
We didn't have any existing tests that exercised this path; it is
separate from most operators since it has no C++ equivalent.

Change-Id: I95b538dad01f8c8b122954fb5f66337371a398a8
Bug: oss-fuzz:46289
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527196
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-04 15:41:08 +00:00
Herb Derby
a43115cb25 fix programming error with flag validation
Change-Id: I94cb1c1ccc53cd1991e2cb13d1844f1d775f015f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527062
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-04 14:33:56 +00:00
Kevin Lubick
af31b20181 [canvaskit] Copy additional file needed for local debugger build
Change-Id: I8f5f24eaf340e8cf2479a2771fbb1d09bb311ab4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527136
Reviewed-by: Brian Salomon <bsalomon@google.com>
2022-04-04 14:31:39 +00:00
Robert Phillips
2cd9799cb2 [graphite] No longer store spans of SkUniforms w/in the SkUniformData
This is currently unused and can be re-obtained from the paint params
key if needed. Currently, it is getting in the way of updating how we
collect uniform data.

Bug: skia:12701
Change-Id: I5057cdfa42252b03b0f9756290735bf4b20dcb6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526272
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-04 14:30:02 +00:00
Eric Boren
08a22ac147 [infra] Make Go asset use "copy" install mode
This fixes an issue with "go embed" not liking symlinks.

Bug: skia:13126
Change-Id: I994751e63ec467e37555f5bfc192243498b0d6cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527057
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2022-04-04 14:00:04 +00:00
John Stiles
c6a8752e76 Allow any GrProcessor to be a Uniform owner.
The `owner` field was previously restricted to GrFragmentProcessor,
which excludes other GrProcessor classes like GrXferProcessors from
using the uniform handlers.

Change-Id: I465190334f0fb1e27393108ab7b18d2d3089e69c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526461
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-04 13:56:17 +00:00
Ethan Nicholas
3d3a510071 Require a Position to be passed into various SkSL expressions
This removes some hacks where we were creating nodes with the wrong
positions and later updating them to have the correct positions, along
with a general increase in the rigorousness of position tracking.

Change-Id: I2bc635de6d5f516d5fb6763b00a22a10ccdf135f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526678
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-04 13:52:06 +00:00
Leon Scroggins III
db83b77758 Better error message for SkAnimatedImage
Print a string instead of an integer version of the enum.

Bug: b/215136610
Change-Id: Ia0f11b71e79c87a14347683f42cccb3d8f8be246
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521532
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-04-04 13:51:12 +00:00
skia-autoroll
65ea360613 Roll SK Tool from d5969ee9f8a7 to 90b64b7f512e
https://skia.googlesource.com/buildbot.git/+log/d5969ee9f8a7..90b64b7f512e

2022-04-04 borenet@google.com [sk] Add support for extra per-package options

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 jcgregorio@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: jcgregorio@google.com
Change-Id: I35a4be36138f9e14895a8594f76a120449f50302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 13:27:16 +00:00
skia-autoroll
72d67dfcc9 Roll Chromium from 8fa4c9362816 to f3dd53b9f4ab (17336 revisions)
8fa4c93628..f3dd53b9f4

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 djsollen@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: djsollen@google.com
Change-Id: I93f2721ba05fefd44eacb11a31370ccfe957196d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526939
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:37:54 +00:00
skia-autoroll
e10ef972d8 Roll ANGLE from d3492eef5c78 to 4b232a9a8261 (15 revisions)
d3492eef5c..4b232a9a82

2022-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 384f873e0970 to 804d5a91d49d (4365 revisions)
2022-04-03 ynovikov@chromium.org Skip end2end tests timing out on TSAN and ASAN
2022-04-02 syoussefi@chromium.org Vulkan: Fix texture-after-framebuffer sync issues
2022-04-02 syoussefi@chromium.org Skip failing tests on Pixel 6
2022-04-02 jmadill@chromium.org Vulkan: Lift SwS suppressions.
2022-04-02 abdolrashidi@google.com Remove the TODOs regarding multisample buffer age
2022-04-02 abdolrashidi@google.com Vulkan: Add multisample buffer age tests
2022-04-01 cclao@google.com Vulkan: Move memory allocation initialization code into function
2022-04-01 syoussefi@chromium.org Vulkan: Fix no location decoration vs framebuffer fetch
2022-04-01 cnorthrop@google.com Android: Track peak GPU memory in restricted_trace_perf
2022-04-01 jmadill@chromium.org infra: Use logarithmic batching in LUCI config.
2022-04-01 cnorthrop@google.com Compiler: Allow deferred array sizing in geometry shaders
2022-04-01 jmadill@chromium.org Cache outer array offset in linked uniforms.
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from bc5bec05c369 to 649d6e46aeae (3 revisions)
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e37ba68c0fde to 6d732e01d9ea (4 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 djsollen@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: djsollen@google.com
Test: Test: GeometryShaderTest.DeferredSetOfArrayInputSize
Change-Id: I4a35b488cb6c05d857767120edd43e525f40590d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526937
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:24:53 +00:00
skia-autoroll
5b7befea76 Roll SwiftShader from afcbbd0ad3b5 to a190ceed7293 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afcbbd0ad3b5..a190ceed7293

2022-04-04 capn@google.com Correct border clamp and depth comparison order
2022-04-01 swiftshader.regress@gmail.com Regres: Update test lists @ afcbbd0a

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 djsollen@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: djsollen@google.com
Change-Id: Ie4e2b2f0e9fda54ddea868ee7cdc0ad794dd3da9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526938
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 04:48:30 +00:00
skia-autoroll
04a49c5644 Roll SK Tool from f5702264b946 to d5969ee9f8a7
https://skia.googlesource.com/buildbot.git/+log/f5702264b946..d5969ee9f8a7

2022-04-03 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 lovisolo@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: lovisolo@google.com
Change-Id: I8f4ac3183c3dedeac6533d4bb507f34d88007bc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526837
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-03 06:35:26 +00:00
Ethan Nicholas
fd9c66e180 Enforce correct positions for SkSL expressions
This adds asserts to DSLParser::expression() to ensure that every
generated expression actually starts at the current offset, and fixes
all of the various spots we weren't successfully doing that.

Change-Id: Ie37dbf9ee8bb47fd03f7a290d2e15da4fbfff938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525316
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-02 16:42:58 +00:00
Herb Derby
5215ec1ab9 guard against deserializing bad values for VertexFiller
Bug: oss-fuzz:46251

Change-Id: I4bed79ab085860030732d29eaa674b59ea3d2808
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526521
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-01 21:25:39 +00:00
Ben Wagner
06fd22c7aa Replace glyph debugging macros with if constexpr
Replace SK_SHOW_TEXT_BLIT_COVERAGE macro with kSkShowTextBlitCoverage.
Covert the ifdefs to if constexpr. Also fix issue with debugging
converage of aliased masks with FreeType (don't try to treat them like
a8 masks).

Change-Id: I50b5c06b2b4f8ee74ea9c3710740af623be7d6fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526520
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-04-01 21:20:44 +00:00
Brian Osman
087b5a2fff Disable all unit tests on CommandBuffer Test bots
Temporary workaround for crashes that are blocking the Chromium -> Skia
roller.

Bug: skia:13040
Change-Id: I684eb0d0f63fc7e7949a1205ceef16a44eaf5148
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526679
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-01 21:03:17 +00:00
Robert Phillips
2921f7df36 [graphite] No longer store the offsets w/in SkUniformData
These aren't currently used (we recompute them from the PaintParamsKey)
and are only getting in the way as we change how we accumulate uniforms.

We can always re-add them if the recomputation becomes a hot spot.

Bug: skia:12701
Change-Id: Id91ea0d27543666c75c154fc585d954c5f89aded
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526270
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-01 19:44:04 +00:00
Florin Malita
de6af36e6e [skottie] Fix white-space/horizontal-alignment interactions
AE alignment semantics:

  - leading white-space counts (i.e. "pushes" the line to the right
    in left/center alignment mode)
  - trailing white-space is ignored (does not push the line to the left
    in center/right alignment mode)

Skottie currently always takes white-space into account.  This yields
incorrect center/right alignment not just in the presence of explicit
trailing WS, but also due to residual WS from paragraph line breaks.

To fix, detect trailing WS for each committed line, and adjust glyph
positions to compensate.

Change-Id: Id8589cb30f743f21d77961c0eb4fa20a97e5f13c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526457
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-04-01 18:54:14 +00:00
Ben Wagner
b198752832 Correct FontArguments.h location in build file.
Change-Id: Ia12c07752a9d31dfbf846f2cd2bb63d47532d6f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526677
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-04-01 18:09:18 +00:00
Ravi Mistry
30a50f3df5 Use updated GPU driver version for GOLO bots
Bug: chromium:1309590
Change-Id: I2542bdfd5bc18f73fb07f6248d84a5eb0c5ad069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524001
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-01 18:01:23 +00:00
Brian Salomon
863bc82c62 Reland "Always apply mipmap sharpening on GPU"
This is a reland of commit 1aedd5dc11

Original change's description:
> Always apply mipmap sharpening on GPU
>
> Bug: skia:13078
>
> Change-Id: If459a96eba09fb10e967bc364435f79b83fdc1ec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522099
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:13078
Change-Id: Ic05b38fc07566f090d609431f2738d64dfdc8a66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524218
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-01 17:53:28 +00:00