Commit Graph

53726 Commits

Author SHA1 Message Date
Greg Daniel
d2a3912e88 Updated vulkan persistently mapped to work with new transfer type.
When I adding the new kTransferCpuToGpu enum for vulkanmemory the
persistently mapped property was dropped for those buffers and this adds
this back.

Also we are now using the special DEVICE_LOCAL and HOST_VISIBLE memory
so disable the persistent mapping for those buffers (see deleted comment
and added comment in caps).

Change-Id: I9353b6da5da57b3c8ae1f93cc89c671174a86b84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371476
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-02-18 16:56:17 +00:00
Michael Ludwig
1d60c19a08 Rename SkDisplacementMapEffect to SkDisplacementMapImageFilter
Also deletes unnecessary header and deprecated types
associated with implementation.

Bug: skia:11230
Change-Id: Ibfd7dcf305febae794edfe777fc64efc0559909b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368597
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-02-18 16:51:14 +00:00
Jason Simmons
ecfaeb3de0 Avoid allocating an SkString buffer for the TextStyle default font family
Change-Id: I3aa121bd5f84b9f9fdf21e3bdea4223136f47f43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370903
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2021-02-18 16:51:13 +00:00
John Stiles
70e51e6d76 Enable printf warnings on SkSL::String.
Change-Id: Ifea2b490b86e69b871d31dea544407e857dc4677
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371484
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-18 14:16:35 +00:00
Ethan Nicholas
9f8e9ece8a Converted GrConvexPolyEffect to SkSL DSL
Change-Id: I3df21c585ae399d5a78d8b8dd9f4b3253f5f1fa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370877
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 14:12:02 +00:00
Mike Klein
0fdcaa5757 Revert "Remove (unused) gpuType from SkRuntimeEffect::Uniform"
This reverts commit cc80a47566.

Reason for revert:  IWYU cleanup broke less IWYU-clean Android,

frameworks/native/libs/renderengine/skia/filters/BlurFilter.cpp:180:17: error: variable has incomplete type 'SkRRect'
        SkRRect roundedRect;
                ^
external/skia/include/core/SkCanvas.h:58:7: note: forward declaration of 'SkRRect'
class SkRRect;


Original change's description:
> Remove (unused) gpuType from SkRuntimeEffect::Uniform
>
> Also remove some unnecessary includes, then IWYU.
>
> Change-Id: I41e88f0e661c59e75cb26e28768801b811fe8ee8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371140
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com,johnstiles@google.com

Change-Id: Id655a6835ebffdb4f5f82474c287c09a69a737df
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371941
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-18 13:16:33 +00:00
Robert Phillips
6933774c44 Revert "use a linked list for GrAtlasTextOp geometries"
This reverts commit 82a8130654.

Reason for revert: I believe this is blocking the Chrome roll

Original change's description:
> use a linked list for GrAtlasTextOp geometries
>
> Instead of using a GrTBlockList<Geometry> to hold the geometries
> in the op. Allocate them on the RecordTimeAllocator, and
> link them together.
>
> Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,robertphillips@google.com

Change-Id: I238f7e91e1b1131c46ad1097371855eda2dbf553
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371956
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-18 12:58:13 +00:00
Mike Klein
1144072691 Revert "Add number ordering to SkFilterQuality"
This reverts commit af68258c2e.

Reason for revert: SkFilterQuality is not a scoped enum, so this defines `kMaxValue` without any scoping to Skia by naming convention or namespace, breaking compatibility with other systems that want to use that.  (E.g. Android)

Original change's description:
> Add number ordering to SkFilterQuality
>
> As explained in the bug, I would like to add a histogram to study how
> users use the image smoothing quality in Chrome. In order to do that,
> we need to ensure that the enums are not reordered or changed, so I
> added kNone_SkFilterQuality = 0, etc. I also added kMaxValue for
> histogram to work.
>
> Bug: 1176091
> Change-Id: I3af3213f699016a525caad5b0b51e0cc7aab2c52
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368157
> Commit-Queue: Mike Reed <reed@google.com>
> Auto-Submit: Yi Xu <yiyix@chromium.org>
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com,yiyix@chromium.org

Change-Id: Iec24ba3864af69e34f2721a72de1c0a271d328f6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1176091
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371936
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-18 12:49:36 +00:00
Leandro Lovisolo
a94ca0a9d3 CIPD package for Bazel.
Bug: skia:11111
Change-Id: I2a79aea9d679efe22138cf8c1f00b9c4449e805a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371498
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-02-18 08:10:59 +00:00
Herb Derby
82a8130654 use a linked list for GrAtlasTextOp geometries
Instead of using a GrTBlockList<Geometry> to hold the geometries
in the op. Allocate them on the RecordTimeAllocator, and
link them together.

Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-18 05:14:29 +00:00
Ben Wagner
a6e776060f Move SK_WINUWP into skia_private.
The skia_winuwp config is removed and the content moved into the
skia_private config. This allows for SK_WINUWP to be set more
uniformally. The skia_winuwp config was only used in the optional
template since all the code which required SK_WINUWP to be set correctly
was in the sources of an optional target. The optional targets already
have skia_private config available (through skia_library_configs).

Change-Id: I7f934cac0f68fb69cbac39ae76d5b45e4a47eab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371483
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-18 02:09:53 +00:00
Ravi Mistry
bec62308e4 Make S6's dimensions more generic
The new S6 has successful run one of the tryjobs: https://chromium-swarm.appspot.com/bot?id=skia-rpi2-rack4-shelf1-026

Context is in the bug.

Bug: skia:11337
Change-Id: I157c894b6b48ce394c17bbe6af50d85d2cc5f192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371416
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-02-18 01:11:59 +00:00
Brian Osman
2fe67f9680 Disallow initializers on uniform variables
Bug: skia:11335
Change-Id: I88c952cbfe2d2c5920e17675da1674928f37b982
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371480
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-18 01:01:38 +00:00
Brian Osman
5e603c3a46 Support global variables in pipeline stage generator
Bug: skia:11295
Change-Id: Iec11f3f4d26eb5b1c07707b3cedd09096bad80d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371478
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-18 00:54:49 +00:00
Yi Xu
af68258c2e Add number ordering to SkFilterQuality
As explained in the bug, I would like to add a histogram to study how
users use the image smoothing quality in Chrome. In order to do that,
we need to ensure that the enums are not reordered or changed, so I
added kNone_SkFilterQuality = 0, etc. I also added kMaxValue for
histogram to work.

Bug: 1176091
Change-Id: I3af3213f699016a525caad5b0b51e0cc7aab2c52
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368157
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Yi Xu <yiyix@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2021-02-18 00:27:29 +00:00
Mike Klein
5db699af9d split working-format filter into two parts
The old filter represented the whole (xform -> child -> xform) sandwich,
where this new one represents just one xform, with the factory now using
Compose() to piece the sandwich together.

This is conceptually simpler, which is nice, and we should also be able
to use this to replace SkSRGBGammaColorFilter (next CL).

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I6dee3c968329ab74f24e01fcdb82872141cdd496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371456
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-17 23:01:38 +00:00
John Stiles
973009b04b Clean up type coercion code and IRGenerator::checkValid().
When coercing a type, we would previously call checkValid() so we could
detect function-references and type-references, so we could get a nicer
error message.

It turns out that we can just do the "is this a type-reference/
function-reference?" check directly inside coerce() and get the same
improved error messages. Since we should be coercing all our values to
the right type, and type/function-references aren't coercible to
anything, this should catch them all. I don't expect any of these
to survive all the way to the end of IR generation.

(In case one of these types does slip through, I've left the error case
in checkValid, but I've also put in an assertion. If the fuzzer can
make that assertion fire, we are probably missing a call to coerce()
somewhere.)

This cleanup is meant to help migrate coerce() out of IRGenerator.

Change-Id: I031809adf439b1766048768b782c57e7f2494006
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371479
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-17 22:39:48 +00:00
John Stiles
d12046432d Remove ProgramSettings from IRGenerator and the Inliner.
These classes now read the program configuration from the Context.

Change-Id: I15c95cacebb9836ee8f2162c4f4b7f99d453639c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371396
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-17 22:17:22 +00:00
Brian Osman
a5ab63a062 Tweak GlobalVariables.rte test, and adjust .stage output
Adds trivial name mangling to the .stage output, so we can verify that
it's working in all places (declarations, references, etc). Also added
another global variable whose initializer is - in turn - another global.

Bug: skia:11295
Change-Id: Ic220bfae0a6d1eeeba66ade30d3d781af15c5dea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371477
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-17 22:13:19 +00:00
Mike Klein
6bba1bcdc1 impl WorkingFormatCF::getFlags()
The only color filter flag is isAlphaUnchanged(), so since alpha is
unchanged through any working format transformation, we can just return
whatever flags the child filter claims.

Add a simple test.

Change-Id: I2ce0300d9db55f953660ed157510070755c4c677
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370824
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-17 21:25:58 +00:00
Ethan Nicholas
4635b5dad0 Added assert to catch unbalanced DSL FP Start/Ends
Change-Id: Ic2c823ed8d8ac77fd6654cc2db1347eb648edf56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371397
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-17 20:42:04 +00:00
Brian Osman
c057669d1b Support initializers on global variables in SkSL to SkVM
Bug: skia:11295
Change-Id: I72c09b75a3ff5d668e99dcc3620850b82071b560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371340
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-17 20:40:32 +00:00
Brian Osman
cc80a47566 Remove (unused) gpuType from SkRuntimeEffect::Uniform
Also remove some unnecessary includes, then IWYU.

Change-Id: I41e88f0e661c59e75cb26e28768801b811fe8ee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371140
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-17 20:33:28 +00:00
Greg Daniel
d50ccf2d53 Remove SK_USE_LEGACY_VK_ALLOCATOR_USAGE_NAMES code.
Bug: skia:11207
Change-Id: I7e6f7bc93bac6d36c61c2e6500a2c5e0f7556bcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369477
Auto-Submit: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-17 20:30:48 +00:00
John Stiles
270cec21a7 Make program configuration accessible from the SkSL context.
During IR generation, this information was previously only accessible
from inside the IRGenerator class. Now anyplace with access to the
Context can look up the program settings or kind.

Moving the ProgramKind inside the ProgramSettings struct would be an
interesting future goal, but this ends up causing significant ripple
effects outside of SkSL and may not be worth untangling. Many of our
callers expect to compile a Vertex, Fragment, and/or Geometry shader all
at once with the same Settings but differing ProgramKind, so perhaps
the distinction between Kind and Settings is relevant and worth
keeping as-is.

Change-Id: I8b3a61510911b4ff309549663f81f3b960bdb0da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371256
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-17 18:49:34 +00:00
Herb Derby
eeb30aea42 a few text blob and text op cleanups
Change-Id: I2dd7cacc19232c0ff9d890c613fe6cc2346e8553
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371142
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-17 18:38:16 +00:00
Ethan Nicholas
fa648a1be3 Renamed DSL Ternary to Select
Change-Id: Idd0d49d3564dc3a24455db3c504ffa124f34dd05
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371336
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-17 18:26:56 +00:00
Brian Osman
b41a1f9025 Add runtime effect test for global variables
Includes variables with and without initializers. Note that both the
.skvm and .stage output is incorrect right now. (No declarations for
global variables in .stage, and the initializer is dropped in .skvm).

Bug: skia:11295
Change-Id: Icb6d797616be6a1bc7cbdc9db4fefa7e30c65656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371143
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-17 18:11:46 +00:00
Brian Osman
78a845aa19 Remove declaration of obsolete runtime effect inlining API
Change-Id: I7be9a95bc190760245966c36ed088afd68108a5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371316
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-17 18:10:16 +00:00
Ben Wagner
f11898aa0a Work around macOS 11 variation issue.
On macOS 11 cloning a system font with an opsz axis and not changing the
value of the opsz axis (either by setting it to the same value or not
specifying it at all) when setting a variation causes the variation to
be set but the cloned font will still compare CFEqual to the original
font. Work around this by setting the opsz to something which isn't the
desired value before setting the entire desired variation.

This may also incidentally improve the situation for fonts created from
data on macOS 10.15, since a similar issue occurs and the same work
around seems to apply.

Bug: skia:10968
Change-Id: I2240f905644b753e2389446d248c27b1e62cdcd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370917
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-17 18:05:26 +00:00
Brian Osman
6e2dccb979 Runtime Effects: Disallow all operators on arrays or arrays-in-structs
None of these are legal in GLSL ES 1.0. Added a new test that previously
compiled without error. Started out with just assignment and equality,
then realized that sequence and ternary should be blocked, too.

Bug: skia:11323
Change-Id: I02691f819565afabeadbb12cab6c07acf40093f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370880
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-17 18:05:04 +00:00
Florin Malita
4f14135f5e [skottie/ck] Expose logs in JS API
Plumb a JS logger object, and forward errors/warnings to its methods:

  onError(err_str, json_node_str)
  onWarning(wrn_str, json_node_str)

Change-Id: I796aeb313c4a693accafe04edf80178b227ab118
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370937
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-02-17 17:57:16 +00:00
Ethan Nicholas
0584ac0e27 DSLWriter now cleans up the changes it makes to IRGenerator
Change-Id: I83380bde91146b0b28365b76359cecea0d99da1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371196
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-02-17 17:50:36 +00:00
Ethan Nicholas
3af656b276 SkSL DSL code is now automatically incorporated into the output
Previously, a manual codeAppend call was required to add a statement. We
now automatically invoke codeAppend when a statement is destroyed.

Change-Id: I09eaf230b1d58242c3ff6abb85e970ed5ed3bce2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371141
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-17 17:23:16 +00:00
Mike Klein
2bb5ef3e9f move rgb<->hsl sksl to common spot
We'll want to reuse these for other HSL effects, e.g. matrix filter.
Any preference where they go?  New header?

Change-Id: I64534d9801b8bdecf0ef22b3517f8232de998170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370712
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-17 17:06:08 +00:00
Mike Klein
e0d9b86421 impl SkRuntimeColorFilter::getFlags()
Simply build the skvm program and look to see if in.a.id == out.a.id.

This obviously is conservative, with false negatives possible.  I
haven't done it here, but one possible improvement is to splat uniforms
so constant folding can peer through uniforms too.

Add some basic tests.

Change-Id: I5578ba38ff490b96bf84538025e08d9d352f0320
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370825
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-17 15:55:49 +00:00
Kevin Lubick
8172d16577 [canvaskit] Remove exposition of SkData
Change-Id: I5a7c2e30b2adc4b8947743ac82a800e96a7005b1
Bug: skia:10717
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370879
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2021-02-17 15:47:06 +00:00
Chris Dalton
fbc3a8362d Don't simplify shapes at all before trying the stroke tessellator
Bug: chromium:1172543
Bug: skia:11325
Change-Id: I96a6ca97c740f086871b1a41942ca3dd4d3586a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370649
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-02-17 08:31:18 +00:00
skia-autoroll
fcc758cdc2 Roll SwiftShader from 539ef8e9426e to bb04803b8daf (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/539ef8e9426e..bb04803b8daf

2021-02-16 gavinmak@google.com Move metadata in OWNERS files to DIR_METADATA files
2021-02-16 amaiorano@google.com Remove uses of deprecated CreateAlignedLoad/Store builders
2021-02-16 sugoi@google.com Enable the sampleRateShading feature
2021-02-16 amaiorano@google.com vk-unittest: fix crash when unloading shared lib twice
2021-02-16 amaiorano@google.com Expose VK_EXT_headless_surface

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 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/master/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: Ic37a6876c8efc8e366783e1c9d743f99deec2555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371016
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-17 06:15:58 +00:00
skia-autoroll
a6a1e44c7a Roll Chromium from fae825105dc5 to 9f186342d66a (467 revisions)
fae825105d..9f186342d6

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 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/master/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: I1dea145de9c651225d4b13e455f130c5bc2072de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371019
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-17 05:32:59 +00:00
skia-autoroll
2fadc98f8c Roll ANGLE from ca6573ebb08a to e8c0aa81af87 (16 revisions)
ca6573ebb0..e8c0aa81af

2021-02-17 syoussefi@chromium.org Vulkan: Clean up transform feedback extension pause/resume
2021-02-17 ianelliott@google.com Create getRotatedExtents() and related methods
2021-02-17 cnorthrop@google.com Fix spelling in capture owners
2021-02-17 m.maiya@samsung.com Vulkan: Consolidate image format list initialization code
2021-02-16 syoussefi@chromium.org Vulkan: noop glMemoryBarrier(CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT)
2021-02-16 syoussefi@chromium.org Vulkan: Fix missing visibility barrier for host-visible buffer writes
2021-02-16 syoussefi@chromium.org Vulkan: Fix crash with deferred clears and MSRTT
2021-02-16 geofflang@chromium.org Add timvp to ANGLE, vulkan and capture owners.
2021-02-16 penghuang@chromium.org Use the default build target vulkan_memory_allocator
2021-02-16 penghuang@chromium.org Roll third_party/vulkan_memory_allocator/ b1d65a2b3..732a76d9d (2 commits)
2021-02-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from d8a8a5c337df to eab348e95425 (17 revisions)
2021-02-16 cwallez@chromium.org Revert "Link angle_util statically into angle_system_info_test"
2021-02-16 cwallez@chromium.org Suppress Bus Simulator Indonesia on Linux AMD GLES too.
2021-02-16 cwallez@chromium.org Fix suppression for a SimpleStateChangeTestES31 on Linux AMD
2021-02-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 418fd62b5c0f to a1175c67dd67 (6 revisions)
2021-02-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 17c6b31351cf to a04f3d444779 (213 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 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/master/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
Change-Id: Iae36a9e8fe8751de9105ebc8104cb463822db251
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-17 05:06:59 +00:00
skia-autoroll
e97f4dc8d4 Roll Dawn from e61c9d868841 to a5ba2827f581 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/e61c9d868841..a5ba2827f581

2021-02-16 senorblanco@chromium.org GL: Implement WriteTexture for compressed textures.
2021-02-16 bryan.bernhart@intel.com Generalize multi-aspect formats
2021-02-16 rharrison@chromium.org Remove GLSL SPIRV-Cross fuzzer
2021-02-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 545c9742d5b8 to c8fa020a5e97 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 545c9742d5b8 to c8fa020a5e97

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I9a91261e2b36e8cb2b66cc4b1afe081c5c4f5316
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371017
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-17 05:01:59 +00:00
Michael Ludwig
bf43df6478 Delete compose image filter header
Bug: skia:11230
Change-Id: Ifa677319a04379dc36ff155590ba85d45790567e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368596
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-17 01:05:21 +00:00
Leon Scroggins
b66214e0be Add more tracing for SKSL compilation
Bug: b/179848728
Bug: b/146635333

We're seeing some slow shader_compiles on Android, so add some more
tracing to help determine where that time is being spent.

Use ATRACE_ANDROID_FRAMEWORK_ALWAYS instead of ATRACE_ANDROID_FRAMEWORK
for driver_compile_program and driver_link_program so that tracing for
the work done in the GPU driver will be turned on even if the developer
does not manually turn on skia tracing with

  adb shell setprop debug.hwui.skia_atrace_enabled true

This matches the "shader_compile" tag added in b/146635333 and allows
non-Skia developers to easily capture traces with more info.

Change-Id: Ic698daad878bc0b946e15ec2f2f2e8cf53f30fbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369483
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-02-16 23:03:21 +00:00
John Stiles
dbd4e6f0c0 Move ProgramKind and ProgramSettings types out of SkSL::Program.
This change will allow these types to be forward-declared; C++ doesn't
allow forward declaration of types declared inside a struct. Moving
these types out of Programs resulted in a large diff.

The Settings::Value helper class has been moved inside of the
IRGenerator. In practice, it was actually just an implementation detail
of how IRGenerator looks up caps-values by name. It seems very unlikely
that this will be necessary elsewhere going forward.

Change-Id: I6119417fae608f1c492a27de746d2b550ef8ca20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370836
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-16 19:30:48 +00:00
Mike Reed
ff0cd8c506 Remove old factory for Image()
Bug: skia:7650
Change-Id: I044c25206885669ae2e60cccb7a1cb4ef3a1430f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370796
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-16 19:26:33 +00:00
Ethan Nicholas
840f58197e Added SkSL DSL SampleChild function
Change-Id: Icd94540bbf0afcc57cfd93f3b576249e26e25724
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369776
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-16 19:13:04 +00:00
Ben Wagner
2478c70a03 Use current variation position in cloning typeface.
The FreeType and CoreText ports would use the default value for an axis
instead of the current value for any unspecified axes. Change this so
that when cloning a typeface any unspecified axes preferentially use the
current axis value if it is known.

Also adds a test that unspecified axes are not changed when cloning.

Change-Id: I751ee5517f1d6b827c6d4ab245e9d681c8df6b42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370456
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-02-16 18:06:19 +00:00
Brian Salomon
ed76e8109b Reenable Wdeprecated-copy-dtor
Change-Id: Id28ed827c4a896805c6d4eead339146fdd49e35f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359560
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-16 17:53:28 +00:00
Dominik Röttsches
fc48f2b5f6 Roll FreeType
54c5ad5c92..dfa7cca5f3

Update colrv1_samples.ttf font to account for changed format ids.

Change-Id: Ibf1271e11b69f421488ef24ba7536df782bacc20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370776
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-02-16 17:00:35 +00:00