Commit Graph

53854 Commits

Author SHA1 Message Date
Mike Klein
56a1f06db2 Revert "Reland "Remove GrProgramDesc::KeyHeader structure""
This reverts commit 202420e014.

Reason for revert: MSVC build failures

Original change's description:
> Reland "Remove GrProgramDesc::KeyHeader structure"
>
> This is a reland of 4bcd58afbf
>
> Original change's description:
> > Remove GrProgramDesc::KeyHeader structure
> >
> > Instead, just fold all of this information into the key, like everything
> > else. The only value that was accessed elsewhere is the initial key
> > length. That doesn't need to be part of the key, so store it separately
> > in the GrProgramDesc.
> >
> > Removing this special case logic is just the first step in revising how
> > we assemble keys.
> >
> > Bug: skia:11372
> > Change-Id: I52eb76812045e1906797cb37e809cfd0b3332ef0
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376797
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
>
> Bug: skia:11372
> Change-Id: I2cdb49aee3537e54dad9af1f9b47cf1aed1aca21
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376849
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I0f4a76fa5d38d516554eed642eb9ab5f3222d9f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11372
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377231
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-28 15:21:17 +00:00
skia-recreate-skps
59b389a407 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ie0537448677a14b9af92d3e8018eedd586a237e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377396
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-02-28 06:33:05 +00:00
Brian Osman
202420e014 Reland "Remove GrProgramDesc::KeyHeader structure"
This is a reland of 4bcd58afbf

Original change's description:
> Remove GrProgramDesc::KeyHeader structure
>
> Instead, just fold all of this information into the key, like everything
> else. The only value that was accessed elsewhere is the initial key
> length. That doesn't need to be part of the key, so store it separately
> in the GrProgramDesc.
>
> Removing this special case logic is just the first step in revising how
> we assemble keys.
>
> Bug: skia:11372
> Change-Id: I52eb76812045e1906797cb37e809cfd0b3332ef0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376797
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:11372
Change-Id: I2cdb49aee3537e54dad9af1f9b47cf1aed1aca21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376849
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-27 19:45:25 +00:00
Mike Reed
4a4fbe8140 Revert "centralize runtime effect caching"
This reverts commit ef7a28e26a.

Reason for revert: static initializers issue for chrome?

Original change's description:
> centralize runtime effect caching
>
> Relative runtimes for creating luma color filter:
>
>     - cached SkColorFilter   -->   1x
>     - cached SkRuntimeEffect -->  12x
>     - no caching             --> 186x
>     - this CL                -->  24x
>
> Added insert_or_update() to SkLRUCache because
> I keep falling into this trap using insert()...
>
> Change-Id: Ic3dad32d38fc001701d8e1ad5662ad382503418f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376776
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=mtklein@google.com,brianosman@google.com

Change-Id: I66f132dbda96e7673da73d0e2ac59a0057247faa
No-Presubmit: true
No-Tree-Checks: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377197
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-27 15:46:00 +00:00
Jim Van Verth
07c8401a54 Getting Metal shader precompiling working.
* Adds GrMtlPipelineStateBuilder::PrecompileShaders.
* Adds GrMtlPrecompileShaderLibrary.
* Stores metadata with SkSL shaders so we can convert to MSL properly

Change-Id: Id2c23a54cc04ca3b61a639c1cbc7234b697c41ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376856
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-26 22:43:17 +00:00
John Stiles
52d3b01da8 Convert IRGenerator::convertPostfixExpr to PostfixExpr::Make.
We have no optimizations on postfix-expressions at all so this is a very
straightforward cut-and-paste.

Change-Id: I73b3bc73ad833e668306301e6d6859e44230393a
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376846
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 22:34:34 +00:00
John Stiles
b0eb20f83a Convert IRGenerator::convertPrefixExpr to PrefixExpression::Make.
Surprisingly, this actually improved our error detection slightly.
The expression `- -half4(0)` can now be simplified to `half4(0)` at
IR generation time, which allows the constant-folder to detect a
constant zero (and from there, a division by constant zero).

Change-Id: I8c4f6ab522efab5bf98913f9c6a1487b7af39a99
Bug: skia:11342, skia:11343
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376842
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 22:34:05 +00:00
Heather Miller
4add8b3624 update release notes
Change-Id: If6157c345b0329665ac385de23e42d4cd7331cbc
Docs-Preview: https://skia.org/?cl=376847
TBR Joe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376847
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2021-02-26 22:02:24 +00:00
John Stiles
516704b63a Migrate IRGenerator::setRefKind to Analysis::MakeAssignmentExpr.
Fundamentally this function wasn't a generic "set the refKind on an
expression" at all; it was intended specifically as "this expression
must be IsAssignable and contain a VariableReference." Also, it needs
nothing at all from the IRGenerator. Moving it out is important because
it will be used by Make functions for things like VariableReference.

Change-Id: I52d613989cd5fb0feb2e98ae454943cdacb9404b
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376841
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 21:46:25 +00:00
Brian Osman
deed7f65ff Revert "Remove GrProgramDesc::KeyHeader structure"
This reverts commit 4bcd58afbf.

Reason for revert: Possible issue with copying/assignment

Original change's description:
> Remove GrProgramDesc::KeyHeader structure
>
> Instead, just fold all of this information into the key, like everything
> else. The only value that was accessed elsewhere is the initial key
> length. That doesn't need to be part of the key, so store it separately
> in the GrProgramDesc.
>
> Removing this special case logic is just the first step in revising how
> we assemble keys.
>
> Bug: skia:11372
> Change-Id: I52eb76812045e1906797cb37e809cfd0b3332ef0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376797
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I58b39a173abc45cd4932fd758fa005d1f727a0d9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11372
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376848
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-26 21:23:36 +00:00
Brian Osman
4bcd58afbf Remove GrProgramDesc::KeyHeader structure
Instead, just fold all of this information into the key, like everything
else. The only value that was accessed elsewhere is the initial key
length. That doesn't need to be part of the key, so store it separately
in the GrProgramDesc.

Removing this special case logic is just the first step in revising how
we assemble keys.

Bug: skia:11372
Change-Id: I52eb76812045e1906797cb37e809cfd0b3332ef0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376797
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-26 21:04:14 +00:00
Mike Klein
ef7a28e26a centralize runtime effect caching
Relative runtimes for creating luma color filter:

    - cached SkColorFilter   -->   1x
    - cached SkRuntimeEffect -->  12x
    - no caching             --> 186x
    - this CL                -->  24x

Added insert_or_update() to SkLRUCache because
I keep falling into this trap using insert()...

Change-Id: Ic3dad32d38fc001701d8e1ad5662ad382503418f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376776
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 20:05:34 +00:00
Mike Klein
6706c9fa14 use SkColorInfo in fm
Just refactoring code that predates SkColorInfo.

Change-Id: Iba5ffdf91e2e2517bf55ea8c5a36c4fe6583a6b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376760
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-26 19:52:34 +00:00
Brian Osman
a654faaf7f Add permittedLayoutFlags to checkModifiers
For now, just use this to prevent *any* layout qualifiers from appearing
on functions, or their parameters.

Bug: skia:11301
Change-Id: I05d8118c7121048c6ef49695a54e3714a8f8687e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376796
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-26 18:38:31 +00:00
Robert Phillips
f20e75619c Flesh out ddlbench's startup boiler-plate
Change-Id: I609587db52b442df9565bb56adb83f8808efc0e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376717
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-26 18:12:01 +00:00
Brian Osman
7b361499c9 Align SkSL const rules more closely with GLSL
This adds Analysis::IsConstantExpression, to determine if an expression
is a constant-expression. It now expands to cover 'const' local and
global variables, because we also enforce that the initializer on those
variables is - in turn - a constant expression.

This fixes 10837 - previously you could initialize a const variable with
a non-constant expression, and we'd emit GLSL that contained that same
pattern, which would fail to compile at the driver level. That should
not be possible any longer.

Bug: skia:10679
Bug: skia:10837
Change-Id: I517820ef4da57fff45768c0b04c55aebc18d3272
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375856
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-26 17:44:11 +00:00
John Stiles
bb8542f086 Fix fuzzer-discovered error with ~ prefix on literals.
The expression `~123` was making a PrefixExpression of type $intLiteral.
It should be converted to type `int` when the ~ prefix is applied.

This change also changes the output from oss-fuzz:27614. Both programs
are essentially nonsense expressions with no real behavior, so this is
fine.

Change-Id: I586be149ce95136fabee72fdd3473814d54948cf
Bug: oss-fuzz:31410
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376620
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 17:30:26 +00:00
John Stiles
ea5822ea27 Convert IRGenerator::convertDo to DoStatement::Make.
We currently don't have any optimizations for do-statements so the
primary benefit is moving code out of IRGenerator.

Change-Id: Ibc4d1ecd87ebef572e742dfdb15821cf4ac0f047
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376179
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 17:08:01 +00:00
Adlai Holler
dc8a6b64cc Remove bug-prone SkIDChangeListener singleThreaded arg
A given object may be unique, but its owner may not be unique
and another thread may ref the object via the owner at any time.

This happens e.g. when sharing SkPictures between threads.

Bug: skia:10286
Change-Id: I51b5239338a81aaa4d67db05f01f2c7c24182096
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376619
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-02-26 17:05:53 +00:00
Robert Phillips
96f6d9a37f Add DDLTileHelper option to tile separately in x & y
afaik Chrome only tiles in Y which should yield less threaded text blob contention

Change-Id: I9ff484ed2ce66428e2d7ca6188eba79cd99b1547
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376608
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-26 16:34:51 +00:00
John Stiles
e7f071acc1 Avoid making a constructor with a $literal type.
While working on an unrelated fix, I noticed that Ossfuzz28904.sksl has
an expression which generates a constructor of $literal type: `-2 .L1`

This shouldn't ever happen, so the code is now fixed to avoid it. This
doesn't affect any of the output from our existing tests. (In that
oss-fuzz test, that literal constructor is immediately expanded out to
an ivec2 by the swizzle, at which point it loses its $literal status
anyway.)

Change-Id: I34d1b0ad9e7c25987119d3337f4bb9e7b8a5619c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376617
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-26 16:27:01 +00:00
John Stiles
85e1ecf4da Add #pragma settings flag to disable control-flow analysis.
This can be a useful debugging tool when working on skslc issues.

Change-Id: I838122828a704c9b959b0babda2909c182c66b55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376618
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 15:42:01 +00:00
Michael Ludwig
1f57a0f1ae Remove unnecessary SkImageFilters.cpp
After having moved all other filter factory definitions into their
per-filter implementation files, all that remained was the
MatrixTransform factory, which is just moved into the
SkMatrixImageFilter CPP file.

Bug: skia:11230
Change-Id: Ifd7f3eb58ef1d05ed6d0aef0517ca9caa01436d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372121
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-02-26 15:31:51 +00:00
Robert Phillips
1cc7d45f9a Remove ViaDDL
With the removal of promise image texture caching here (https://skia-review.googlesource.com/c/skia/+/375201) we no longer need these configs.

This can't land until after (https://skia-review.googlesource.com/c/skia/+/376221) which removes use of these configs on the bots.

Change-Id: I49e122fc820d5b72498b65933e15bcc74c0f3fa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376219
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-26 15:31:01 +00:00
John Stiles
3e5871c498 Convert make_unique<ExpressionStatement> to ExpressionStatement::Make.
This allows for elimination expression-statements with no side effects
when they are first created, rather than later on in the control-flow
optimization pass.

Change-Id: I09ec8421a3af7fa37f98b0405657198c0a24f2ac
Bug: skia:11342, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376136
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-26 14:58:31 +00:00
Mike Klein
1f77cd802c always work from fBitmap in table CF
No point holding two copies of our data, an SkBitmap and fStorage array.
The GPU backend wants a bitmap, so make the CPU backend work from that.

Updating the flattened format removed the last use of SkPackBits.

Change-Id: I97f75ebe9324ec5eed37dfe6282e10d0fe08711f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376599
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-02-26 14:48:19 +00:00
Mike Klein
effc2d5fe0 simplify cached bitmap in table CF
Don't create the bitmap in a lazy, thread-unsafe way.
Create it in a proactive, thread-safe way.

There's still opportunity to dedup the data between
fStorage and fBitmap that I'll follow up on next.

Change-Id: I1a71fbc560c84ff1e9e6b8c05673e461417a5b58
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376598
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-26 14:43:47 +00:00
Robert Phillips
b323836cac Remove ddl2-* bot runs
With the removal of promise image texture caching here (https://skia-review.googlesource.com/c/skia/+/375201) we no longer need to run these configs.

Change-Id: Id736fc7be517c0df519651957961149f93efb63c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376221
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-02-26 14:37:57 +00:00
John Stiles
453f143dba Improve dead-code elimination check in SPIR-V.
The dead-code elimination pass only occurs when three separate flags are
all enabled: optimize, control-flow analysis, dead-code elimination.
Previously the code checked just the dead-code elimination flag, not the
other two.

Change-Id: I1e7e356432c4398f6b072d472fe4d1ec5dac107e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376178
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-26 14:01:07 +00:00
Ethan Nicholas
34c7e11492 Revert "Revert "SkSL DSL now reports the C++ line numbers of errors""
This reverts commit 3a4e19da8e.

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

Change-Id: I5ae97aba2df5b9c3b3dcca8e30da4e5ce9009109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376117
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-02-26 12:19:45 +00:00
skia-autoroll
2d247a10f3 Roll Dawn from 0a295c027d81 to 6cbef93c73ce (15 revisions)
https://dawn.googlesource.com/dawn.git/+log/0a295c027d81..6cbef93c73ce

2021-02-26 xinghua.cao@intel.com Vulkan: fix validation failure when using fp16 feature
2021-02-26 bajones@chromium.org Updated VertexFormat enums
2021-02-25 enga@chromium.org Reject createPipelineAsync callback if unsafe APIs are disabled
2021-02-25 jiawei.shao@intel.com D3D12: Add test for the crash issue about T2T copy with Depth32Float
2021-02-25 cwallez@chromium.org Deprecate fences.
2021-02-25 enga@chromium.org Log a warning if unrecognized args are passed to the test binary
2021-02-25 enga@chromium.org dawn_wire: Move BufferConsumer to it's own file. Unify WIRE_TRY
2021-02-25 enga@chromium.org Skip QueryInternalShaderTests.TimestampComputeShader with Tint
2021-02-25 enga@chromium.org Un-skip use_tint_generator tests using runtime arrays
2021-02-25 enga@chromium.org Update ComputeCopyStorageBufferTests to use WGSL
2021-02-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from f8fa6cf43c02 to c1f7e904176d (2 revisions)
2021-02-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 80cb20de7ca4 to f8fa6cf43c02 (1 revision)
2021-02-25 bclayton@google.com Enable BindGroupTests.ReusedUBO for tint generation
2021-02-25 bclayton@google.com ShaderModule: Fix transform error message
2021-02-25 cwallez@chromium.org Implement Queue::OnSubmittedWorkDone

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 80cb20de7ca4 to c1f7e904176d

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 dsinclair@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: dsinclair@google.com
Change-Id: I9ee26dbbd208e61f0ecf219a6cd9b464754126ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376359
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-26 05:22:05 +00:00
skia-autoroll
e3a8980915 Roll ANGLE from 9b1c569b14e9 to d24398b3e361 (6 revisions)
9b1c569b14..d24398b3e3

2021-02-26 lubosz.sarnecki@collabora.com gl.xml: Annotate glDiscardFramebufferEXT with param groups.
2021-02-25 syoussefi@chromium.org Vulkan: Generate xfb support code in SPIR-V for emulation path
2021-02-25 ianelliott@google.com Vulkan: Add GPU memory report and analysis documentation
2021-02-25 ynovikov@chromium.org Cleanup EGLMakeCurrentPerfTest instantiation
2021-02-25 ynovikov@chromium.org Suppress 1 VulkanExternalImageTest on Linux AMD Vulkan
2021-02-25 lubosz.sarnecki@collabora.com gen_vk_internal_shaders: Don't include full path on Python 3.4+.

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 fmalita@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: fmalita@google.com
Change-Id: I9e078dae4ec883b7d81d81214c1bac91db055c7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376360
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-26 04:57:55 +00:00
Mike Klein
a42c6192ff make matrix color filter runtime-only
The unit test Paint_nothingToDraw expects isAlphaUnchanged() to work
correctly on a matrix color filter, so we take care to make it easy
to prove alpha is unchanged when its row is [0 0 0 1 0].

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I1bc537b2c1c4892bd65831806cf32b933539bff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370713
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-26 00:38:20 +00:00
Herb Derby
1499249539 build the entire blob and runs while single threaded
Change-Id: I4e98dd9da7a003fd6cd857301f1cfd1fabc65662
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376176
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-25 23:37:00 +00:00
Mike Klein
c63d1668c3 remove unused Mode from GrBlurredEdgeFP
Only Mode::kGaussian is used, so fold that through.

Change-Id: Ic87f66c913e4e64c28dade2f65a9034b163af3ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375941
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-25 22:28:30 +00:00
John Stiles
b321a07f16 Convert IRGenerator::convertFor to ForStatement::Make.
Since while statements are implemented in terms of a for loop, also
added ForStatement::MakeWhile() which assumes null for the init-stmt and
the next-expr.

We currently don't have any optimizations for for-statements so the
primary benefit is moving code out of IRGenerator.

Change-Id: I4b3fc3482e28b7d28065e85670a6037b511847ff
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375203
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-25 22:25:50 +00:00
Brian Salomon
76d13bbdf8 Remove texture idle proc mechanism
Bug: skia:11369
Change-Id: I0d1a74cc64dd74486acbb69df529ccc0f8b63ef3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375202
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-25 22:23:20 +00:00
Yi Xu
d206315caa Update comment for SkFilterQuality
SkFilterQuality is recorded in the chrome UMA metrics, the enum should
not be reordered or changed; otherwise, the result may produce false
alarm. Adding the comment to reflect it t avoid future misunderstanding.

Bug:1176091
Change-Id: I6cdf0d8c4f59a5548e456a2c641b2b6158abde48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/374417
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-25 22:15:20 +00:00
Heather Miller
eb8b1344df Update Skia milestone to 91
TBR reed

Change-Id: Ibfb76e9b08f5b427ff693f023419130107f857ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/376138
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2021-02-25 22:04:56 +00:00
Ethan Nicholas
48850575b9 Converted GrGaussianConvolutionFragmentProcessor to SkSL DSL
Change-Id: I75d29c0b93954fe72dd556d3ab3d8987fff38eaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375778
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-02-25 21:35:00 +00:00
Adlai Holler
ccb686685a Activate FuzzDDLThreading
This was landed but not turned on. D'oh!

Bug: skia:10286
Change-Id: I65682370046c87c854d806253db32795ef3a9d14
Cq-Include-Trybots: luci.skia.skia.primary:Fuzz-Debian10-Clang
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375736
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-02-25 21:26:07 +00:00
Brian Salomon
d59b56e586 Delete promise image texture caching code
Bug: skia:11369
Change-Id: I44e316de76231cf1451cd61a24b53c6d74eea15d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375201
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-25 21:26:05 +00:00
Jorge Betancourt
f1107f7891 [SkottieView] surface methods for adding and removing listeners in SkottieView
Change-Id: Iaa97a5661269c9f725cf44f977fed12c3c994b31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375070
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2021-02-25 21:21:02 +00:00
Jason Simmons
0b398cb2f4 Support multiple default font families
Change-Id: I79da6b47bad97968b54f8b0288c65c037998d19b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375316
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2021-02-25 21:21:00 +00:00
Jim Van Verth
9fe8661741 Revamp Metal shader creation.
Try to make this a little cleaner and set up for shader precompiles.

Change-Id: Id0cf7c88e67addfdf9f79acef4484d1d2ee2d5ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375199
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-25 20:08:00 +00:00
Eric Boren
335d752886 [infra] Roll infra dependency
Change-Id: Ibe4e929b7d160b3dbf0e5b6ae093b4bab419817d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375198
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-02-25 19:56:00 +00:00
Ethan Nicholas
b956304bc7 Revert "Revert "Add DSL PossibleExpression & PossibleStatement""
This reverts commit 4903482a2a.

Change-Id: Ie56583344897fcb2c072bcac4d97d582edeadf07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375660
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-02-25 19:50:20 +00:00
John Stiles
cf3059e719 Convert IRGenerator::convertIf to IfStatement::Make.
This lets the Rehydrator and Inliner benefit from static optimization
opportunities, like converting `if (false) {...}` to a Nop.

Change-Id: I70b4fceab84c50ea270dc894b0d6fe0e7e2369eb
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375777
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-25 19:28:59 +00:00
John Stiles
511c500ad4 Avoid generating unused variables in the Inliner.
These variables were later being eliminated by the dead-code-elimination
pass, so you can't see them directly in the final output, but removing
them affects the name mangling off all future symbols, so it causes an
enormous ripple effect in the diff. And of course, it's a waste of time
and memory to synthesize IRNodes just to destroy them later.

If we disable control-flow analysis, we lose the dead-code-elimination
pass entirely; this change is also beneficial for emitting better code
when optimizations are turned off.

Change-Id: I882b3be4f3fd99b77d99b6abe128f26bb9252c89
Bug: skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375776
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-25 19:18:19 +00:00
John Stiles
a935c3f661 Replace Setting IRNodes with actual caps-values during IR generation.
Previously, this happened during optimization, so we couldn't disable
control-flow analysis on any code which used sk_Caps. Now this happens
as soon as the IRNode is rehydrated or instantiated. The logic has
migrated to a static helper function, Setting::Make.

Change-Id: I102557845ccd1b68cc2b12381563f06bc64c621f
Bug: skia:11365, skia:11343, skia:11319
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375298
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-25 19:16:29 +00:00