Commit Graph

51606 Commits

Author SHA1 Message Date
John Stiles
1c03d336d7 Revert "Clean up SkSL inliner and allow it to be disabled."
This reverts commit d34d56e279.

Reason for revert: Pinpoint

This is not a pure rollback (we keep the early-out checks for
fInlineThreshold to avoid breaking tests).

Original change's description:
> Clean up SkSL inliner and allow it to be disabled.
>
> - When fInlineThreshold is zero, the inliner doesn't need to run at all.
> - Inlining functionality outside of `analyze` can be made private now;
>   it's not referenced by the IRGenerator any more.
>
> Change-Id: If61fd8998bc024201bf4489b7aa48ac4d117e449
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325617
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

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

Change-Id: I288d82273abfc2587859cc92d5a4c663694c38a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325621
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-10-13 15:13:26 +00:00
Brian Osman
f1319c3756 Add GLSL type aliases for SkRuntimeEffect SkSL
Adds vec[N], mat[N], and mat[NxM] aliases when building runtime effect
code. Also moves the "shader" alias for fragmentProcessor so it's only
usable in that context.

Bug: skia:10679
Change-Id: Ia337bb680c50da32639bb1d4ffc3bc01df306b0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325620
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-10-13 14:57:06 +00:00
Michael Ludwig
01b93eabe2 Add SkImageFilters::Blend rename for Xfermode filter
This better matches SkShaders::Blend and SkColorFilters::Blend factories.

Bug: skia:9310
Change-Id: I02a3fe488a446b803df96518caacff1fdf536e9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324623
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-10-13 14:28:26 +00:00
Brian Osman
8dbdf23f31 Remove two uses of setModifiersHandle
As a prelude to going back to sharing global data (safely), we want to
eliminate as much mutation of shared state as possible. The special
cases for global variable declaration were unnecessary, so just remove
them. The editing of main's parameters immediately after they were
created is also unnecessary - just hoist the logic up so we create the
variables correctly in the first place.

There is still one use, related to invocation ID. That's more
complicated (?), so leaving it as a separate CL.

Change-Id: Ia3dad78dd5a634273b2e2239368be7adaff65f38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325661
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
2020-10-13 14:15:18 +00:00
Adlai Holler
3acc69a908 Migrate flush & misc methods to GrDirectContext
More cut and paste work.

Change-Id: I0dfc822ae168e15c6734a6c079bb930fc0fa9e60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325618
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-13 13:45:35 +00:00
Ethan Nicholas
48b6df4bc0 moved SkSL Section data into IRNode
Change-Id: I255eb58fc4e6e3b08dfd8e962ee8fe22144d4c36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325859
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-10-13 13:36:05 +00:00
John Stiles
fa88911640 Improve performance of determineFinalTypes.
This function was originally responsible for about ~1% of compilation
time, almost entirely due to unnecessary vector allocation. The call to
`coercibleTypes` was copying the result every time due to a missing &,
and the `outParameterTypes` vector was not calling reserve before being
populated. Additionally, converted the out-parameter array to an
SkSTArray so that in the common case, we should not need to allocate at
all.

Change-Id: Iad085cf4ebc61d1ae1a92cc5f214272580ab0959
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325862
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-10-13 12:54:04 +00:00
Greg Daniel
c89a7ee628 Use shared gpu memory size for all GrAttachments.
Bug: skia:10727
Change-Id: I07ad4684c7a09963aa4be60e08877dde1c5ca192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325663
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-13 12:08:54 +00:00
skia-autoroll
387fd62a12 Roll Chromium from 4a368eae5a6f to c41005660bb2 (954 revisions)
4a368eae5a..c41005660b

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 robertphillips@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: robertphillips@google.com
Change-Id: Ibe14fdfeedbb22c0d600e619f711401a554dda26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325996
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-13 05:08:03 +00:00
skia-autoroll
0c4ed558e1 Roll ANGLE from 0f55e3e5d266 to df6b7298bb41 (5 revisions)
0f55e3e5d2..df6b7298bb

2020-10-13 cclao@google.com Vulkan: Use StoreOp_None_QCOM for read only depth stencil buffer
2020-10-13 cclao@google.com Vulkan: Expand PackedAttachmentOpsDesc from uint16_t to two uint16_ts
2020-10-12 cclao@google.com Vulkan: TexSubImage3D using PBO should use correct layerCount
2020-10-12 jmadill@chromium.org Test Runner: Pass batch ID to child processes.
2020-10-12 cnorthrop@google.com FrameCapture: Move compressed texture cache to shared location

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 robertphillips@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: robertphillips@google.com
Test: Test: Asphalt 8 MECTest: Test: https://chromium-swarm.appspot.com/task?id=4f2b87c4f8234910
Change-Id: I0f889934b7b533fbc92d8b49c0afed1c12627a98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325895
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-13 04:49:13 +00:00
skia-autoroll
5d9815744f Roll Dawn from 793a07e36636 to d1bca09f4ab3 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/793a07e36636..d1bca09f4ab3

2020-10-12 kainino@chromium.org Change rowsPerImage units from texels to blocks
2020-10-12 natlee@microsoft.com Have Queue timeline tasks resolve in order
2020-10-12 cwallez@chromium.org Make SetScissorRect match upstream WebGPU specification.
2020-10-12 hao.x.li@intel.com Query API: Timestamp Query on Metal
2020-10-11 cwallez@chromium.org Make SetViewport validation match upstream WebGPU.
2020-10-10 enrico.galli@intel.com Adding multiple of 4 validation on indirect draws and dispatches

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: I08faef78225c5c07f375df51ec602072c65c10a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325894
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-13 04:37:34 +00:00
Chris Dalton
f58db3c94d Various optimizations to stroke tessellation shaders
Bug: skia:10419
Change-Id: I1544113b6ea2327674a48a0430146a859a547723
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/322796
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-10-13 02:23:03 +00:00
Brian Salomon
7205080055 Revert "Reland "Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers."""
This reverts commit 4efaf5e9fe.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-Direct3D,Test-Win10-Clang-ShuttleA-GPU-RadeonHD7770-x86_64-Debug-All-Direct3D
Change-Id: I0f5f1c427e8892a67b027b0fbe4863d9fcee2363
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325863
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-13 01:22:13 +00:00
Michael Ludwig
a587865e05 Enable new GrClipStack for flutter
Bug: skia:10205
Change-Id: I4dfb5b69009a41cf44ae1a2a06b71c067071a964
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325665
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-13 00:42:53 +00:00
Brian Salomon
4efaf5e9fe Reland "Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers.""
This reverts commit 21f8b51099.

Reason for revert: D3D traced resource assert from unit test

Original change's description:
> Revert "Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers.""
>
> This reverts commit f625e4ce45.
>
> Change-Id: Id73c53ec7ab8d4a5951712dc150d86e6349addbf
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325658
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: I407f1d522d5c4f28d070cc2ce87af7faffca11fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325860
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-12 22:16:13 +00:00
Brian Osman
5d08a27530 Add geometry shader test demonstrating max_vertices/invocations bug
Declaring max_vertices before invocations fails to adjust max_vertices
when invocation support is not present. (It should be 4, not 2 in this
case).

Bug: skia:10827
Change-Id: Ief7af97eabf5414ea8363808fc1ad2e9c480fe10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325664
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-10-12 21:19:33 +00:00
Ethan Nicholas
6b4d5819af moved SkSL Swizzle data into IRNode
Change-Id: Idb10db5cc4fff4f10ce84c5ae021e4c0e7bfc49b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325662
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-10-12 21:18:43 +00:00
Michael Ludwig
ab6e62c131 Enable new clip stack for Fuchsia
Bug: skia:10205
Change-Id: I9d9ead1d40c34cd31ce0235e773de20f36f93e32
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325816
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-12 20:41:03 +00:00
Michael Ludwig
7b15e6d511 Enable new clip stack for google3
Bug: skia:10205
Change-Id: I635936d3c0e9bcd1dfe825cbc1f1f67930370d10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325836
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-12 20:40:55 +00:00
Michael Ludwig
c98d5b6250 Expand image filter factories to accept more types for crop rects
The original SkIRect* crop rect argument was a little too onerous.
First, as a pointer, it required you to declare your crop rect separately
just to take a pointer to it. Now, you can pass an SkIRect or SkRect in
directly when you are explicitly constructing a cropped filter.

Second, the crop rect is transformed by the same matrix as the other
filter parameters, so it can be scaled and translated. Allowing SkRect
instead of just SkIRect gives more precision and flexibility for local
coordinate systems. Now a crop rect could be defined to be from [-.5, .5]
and still map to real pixels after transformation (this was a request
from the skia-discuss mailing list, and also better matches the SVG spec).

The crop rect argument was always meant to be a convenience, since I
plan to refactor cropping into an indenendent image filter that will
give more explicit control over when the crop is applied in the DAG.
To maintain the convenience for the factories, the constructors of
the new CropRect type are not explicit so that callers don't ever need
to concern themselves with it.

Bug: skia:9296
Change-Id: I29a684cb925f1fca4dabc803114ab2b125660aaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324622
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-10-12 20:25:43 +00:00
Greg Daniel
5d0330e381 Add scratch msaa attachment creation to GrResourceProvider.
This basically adds the functionality to GrResourceProvider to handle
scrate MSAA attachments. There are not current users of this, but
users will be added in follow on changes.

Bug: skia:10727
Change-Id: Ieb8d247e034fb22ac9ff4fc549935310329a1c1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/320267
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-12 20:22:13 +00:00
Mike Klein
3637a44a36 update comments and rearrange SkVx.h
Just a little refactor no-op.

Change-Id: I1842a0190cd96c60da2fe3c7f88fa56c9f73af81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325681
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-10-12 20:06:13 +00:00
Greg Daniel
b8949bde33 Update attachment unique key to handle format and protected.
Previously we didn't have the format in the key since this was only used
for stencil which we always pick the same format for.

Bug: skia:10727
Change-Id: I3744846eb74d6b9a66990747cf17f6e881fc6eac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324708
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-10-12 20:03:03 +00:00
Michael Ludwig
5ea4a5427d Take crop rect into account for input bounds/reverse filter bounds
The crop rect was already applied for output bounds / forward filter
bounds. However, it also is applied to the output of filterImage so it's
also a constraint on the target output that's passed through the filter
dag during an input/reverse bounds query.

When there aren't other content hints provided, the device clip bounds
used as the target can be much bigger than the crop rect, so this will
help reduce layer size for a filtered layer.

Once cropping is handled as its own image filter, this will happen
naturally as part of the crop filter's input/output bounds implementation.

Bug: skia:9296
Change-Id: I662b3d083e6797d426a5f7bb9d69454dda737184
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/323676
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-10-12 19:55:33 +00:00
Mike Klein
840e8ea740 power up skvx::map
Rewrite map() to allow any number of arguments,
now also used for 2-argument (pow) and 3-argument (fma) operations.

I left a note about fma()... I can't understand why, but calling as
map(fmaf, x,y,z) ends up with scalar calls to fmaf(), but with the
lambda indirection we see perfect vector codegen.

I had to break map() back into two parts. I don't see any way to pass
both a variadic number of arguments and play our trick with the default
std::index_sequence parameter.  The lane lambda similarly exists only to
split up the expansion of the Rest... type pack from the I... index
pack; you can't use two pack expansions in the same expression.

Change-Id: Ia156a7fd846237f687d6018a7f95550c9fd4a56d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325736
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-10-12 19:43:33 +00:00
Brian Salomon
21f8b51099 Revert "Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers.""
This reverts commit f625e4ce45.

Change-Id: Id73c53ec7ab8d4a5951712dc150d86e6349addbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325658
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-12 19:30:43 +00:00
Adlai Holler
4aa4c6014d Migrate gpu resource methods to GrDirectContext
Cut & paste job

Change-Id: I92e7d1ca5fdf7a7f9961b77a6088f06ed401cc2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325616
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-12 18:36:57 +00:00
John Stiles
01bdceb869 Rename SkTArray::allocCntForTest to capacity.
A change made in the spirit of not being weird. C++ containers typically
expose their capacities to non-test code, with a function "capacity."

Change-Id: Icc7e175a20aff53ef9e144ac9620ced29ef5e95a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325657
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-10-12 18:31:27 +00:00
Adlai Holler
3a508e94ef Migrate resource cache methods to GrDirectContext
Cut and paste job.

Change-Id: If9b7e0f74b16b2559dc4149f81720df96b09761e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325461
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-12 18:11:07 +00:00
Brian Salomon
30c9b4cfb0 Remove SkSurface::MakeFromBackendTextureAsRenderTarget
Bug: skia:9832
Change-Id: I4cb6f8abdb58ac37e9304a4c484e6cac4a25f0d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324890
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-12 17:57:37 +00:00
Adlai Holler
61a591ca18 Migrate releaseResourcesAndAbandonContext to GrDirectContext
The call order here is a little weird – it could use some refactoring
but for now it's just a cut-and-paste job.

Change-Id: I931493a421f7fd1df69f0c47055b90a2996c7dc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325459
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2020-10-12 17:20:57 +00:00
John Stiles
f972313fa1 Add test for disabling the inliner.
This golden verifies that when the inline threshold is zero, inlining is
not performed.

Change-Id: Icad6e1faed569dd1b2469874be3b9e635ad0b9ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325656
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-10-12 17:14:07 +00:00
John Stiles
d34d56e279 Clean up SkSL inliner and allow it to be disabled.
- When fInlineThreshold is zero, the inliner doesn't need to run at all.
- Inlining functionality outside of `analyze` can be made private now;
  it's not referenced by the IRGenerator any more.

Change-Id: If61fd8998bc024201bf4489b7aa48ac4d117e449
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325617
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-10-12 16:54:37 +00:00
John Stiles
e497a08065 Reland "Remove inliner from IR generation stage."
This reverts commit 941fc7174f.

Reason for revert: performance now seems to be roughly equal or better
(~1%) over several trials.
Nanobench: http://screen/A8e8sojaXBgbMgF

Original change's description:
> Revert "Remove inliner from IR generation stage."
>
> This reverts commit 21d7778cb5.
>
> Reason for revert: Pinpoint absolutely hates this change
>
> Original change's description:
> > Remove inliner from IR generation stage.
> >
> > There is no need to inline code during IR generation, as the optimizer
> > can now handle this.
> >
> > Change-Id: If272bfb98e945a75ec91fb4aa026e5631ac51b5b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315971
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I62c235415bcdc92a088e2a7f9c3d7dbf7e1bf669
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317976
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

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

Change-Id: I6189806c678283188f4b67ee61e5886f88c2d6fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324891
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-10-12 16:53:27 +00:00
skia-autoroll
79995e2bf7 Roll ANGLE from 3df629c55d89 to 0f55e3e5d266 (62 revisions)
3df629c55d..0f55e3e5d2

2020-10-12 lexa.knyazev@gmail.com Reland "Remove redundant BlendStateArray tracking"
2020-10-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 51b03d58fb17 to e72c6099f946 (5 revisions)
2020-10-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 0046c31f2f96 to 9d4b40ae645e (10 revisions)
2020-10-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 77bfcdcde874 to efbcef254191 (569 revisions)
2020-10-12 syoussefi@chromium.org Reland: "4 Vulkan content defined CLs."
2020-10-10 jmadill@chromium.org Sync extended dirty bit on texture copies.
2020-10-10 jmadill@chromium.org Revert 4 Vulkan content defined CLs.
2020-10-10 jmadill@chromium.org Suppress more tests on Intel/GL/Mac.
2020-10-10 syoussefi@chromium.org Vulkan: Avoid content restore by detecting no-op stencil
2020-10-10 syoussefi@chromium.org Vulkan: Clear depth by shader if depthClamp not supported
2020-10-10 syoussefi@chromium.org Vulkan: Restore at the end of RP if write-after-invalidate
2020-10-10 syoussefi@chromium.org Vulkan: Use depthClamp to clear depth where available
2020-10-10 syoussefi@chromium.org Vulkan: Boilerplace for vkCmdSetScissor
2020-10-10 syoussefi@chromium.org Vulkan: Invalidate/restore depth/stencil separately.
2020-10-10 timvp@google.com Metal: Disable fence sync extension on Nvidia
2020-10-09 syoussefi@chromium.org Vulkan: Support invalidate of MSRTT attachments
2020-10-09 timvp@google.com Vulkan: Call onColorDraw in resolveColorWithSubpass
2020-10-09 jmadill@chromium.org trigger.py: Append user tag.
2020-10-09 jonahr@google.com Add perf-alert monitoring instruction to docs
2020-10-09 cclao@google.com Vulkan: DepthStencil layout should use both early and late stages
2020-10-09 liaoyuke@chromium.org Declare ozone_platform_gbm when angle doesn't have build
2020-10-09 syoussefi@chromium.org Remove gaps in Framebuffer::DirtyBits
2020-10-09 syoussefi@chromium.org Vulkan: Move content-defined tracking to ImageHelper
2020-10-09 jmadill@chromium.org Suppress Mac/GL test failures with standalone runner.
2020-10-09 gbiv@chromium.org fix an instance of bugprone-unused-return-value
2020-10-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from fc8264854c53 to c2553a315f5c (5 revisions)
2020-10-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 952149303d06 to 51b03d58fb17 (2 revisions)
2020-10-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 24184fe81c6f to 0046c31f2f96 (2 revisions)
2020-10-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from dc8a96d60b6b to 14ad927e679a (2 revisions)
2020-10-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 090102a7065c to 77bfcdcde874 (466 revisions)
2020-10-09 kainino@chromium.org Suppress gl_test failures on Mac ARM64 (Apple DTK)
2020-10-08 geofflang@google.com GL: Work around Mac glBindBufferRange issue.
2020-10-08 timvp@google.com Target the "absl" component for component builds.
2020-10-08 timvp@google.com Suppress TransformFeedbackTest.RecordAndDrawWithScissorTest
2020-10-08 jmadill@chromium.org Support RGB -> BGRX copies in copySubImage.
2020-10-08 timvp@google.com Vulkan: Disable vkCreateDevice-physical-device-features-not-retrieved
2020-10-08 timvp@google.com Vulkan: Disable UNASSIGNED-CoreValidation-DevLimit-MissingQueryCount
2020-10-08 ianelliott@google.com Document how to revert/reland a CL
2020-10-08 syoussefi@chromium.org Vulkan: Add resolve/unresolve counters
2020-10-08 syoussefi@chromium.org Pass in Command::Clear to framebuffer syncState
2020-10-08 lehoangq@gmail.com Metal: Implement fence sync
2020-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from e171d8431cfa to 24184fe81c6f (3 revisions)
2020-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from bacaef3237c5 to 2067d1a93e6e (8 revisions)
2020-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from a638f3acae94 to dc8a96d60b6b (2 revisions)
2020-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 635de036d766 to 952149303d06 (2 revisions)
2020-10-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a5a8696e5087 to 090102a7065c (466 revisions)
2020-10-08 syoussefi@chromium.org Add a test for deferred clears and 0-sized scissor clears
2020-10-07 geofflang@google.com Ensure a CGL context is current for WindowSurfaceCGL.
2020-10-07 timvp@google.com Skip GLES1ConformanceTest.SpotExpDir for Win+Vulkan
2020-10-07 jmadill@chromium.org Fix debug message formatting.
2020-10-07 liaoyuke@chromium.org Roll Chromium manually from edbb6564c87b to a5a8696e5087 (458 revisions)
2020-10-07 jmadill@chromium.org Move entry point enum utils to common.
2020-10-07 cclao@google.com Vulkan: Remove depth stencil access out of RenderPassDesc
2020-10-07 ianelliott@google.com DisplayNULL::makeCurrent() must install DebugAnnotator
2020-10-07 sdefresne@chromium.org build: Remove no-op calls to set_sources_assignment_filter
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 63cc22d645ba to fc8264854c53 (1 revision)
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 14289452a832 to 1abaced34b84 (1 revision)
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from afe6ca45b6da to 635de036d766 (3 revisions)
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from c7d7610581df to e171d8431cfa (1 revision)
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 3610ce9fa2d8 to a638f3acae94 (3 revisions)
2020-10-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 02da53e45d9e to 618e41c871d6 (7 revisions)
2020-10-07 syoussefi@chromium.org Add emulated format clear perf test

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 robertphillips@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: robertphillips@google.com
Test: Test: CQTest: Test: GLES1ConformanceTest.SpotExpDir/ES1_VulkanTest: Test: TransformFeedbackTest.RecordAndDrawWithScissorTestTest: Test: angle_end2end_tests on OSX 10.15
Change-Id: Id41abc7a9b42c7d9caae62837fa951f2a98d50bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325507
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-12 16:42:37 +00:00
Chris Dalton
9213e610ed Disable the tessellation atlas on non-direct contexts
The atlas is not compatible with DDL. This is a temporary fix that will
allow us to finally enable tessellation. In the near future we plan to
remove the atlas entirely by implementing SkRegion batching and
reordering instead.

Bug: skia:10419
Change-Id: Ie2d1bda31c12cda8ecd4889004483f679f5ba7e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324976
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-10-12 16:33:07 +00:00
Brian Salomon
f625e4ce45 Revert "Use ManagedBackendTexture in place of TestUtils backend texture helpers."
This reverts commit 5ee0556048.

Reason for revert: breaking bots

Original change's description:
> Use ManagedBackendTexture in place of TestUtils backend texture helpers.
>
> Unify on a single family of helpers for making backend textures.
>
> Stresses callback systems in more tests by avoiding artificial
> flush/submit/syncs.
>
> some misc test cleanup along the way.
>
> Change-Id: Ia692e8927ba97b391ee77ea06ebf437a555617b2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324710
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: I7d4fc9412c870ae13f7498671379b871dbf5a6c4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325619
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-12 16:19:49 +00:00
Florin Malita
3bfeab7d95 Reland [svg] Add svg_tool
A simple svg -> png converter, to demonstrate basic API usage.

TBR=

Change-Id: Id723946e2c1cbdaf324a24202279cb6a6d7082b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325460
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-10-12 16:18:27 +00:00
John Stiles
0f37907ac7 Undo call-count fix for intrinsic functions.
This CL is conceptually a revert of http://review.skia.org/320258,
although the code has changed shape a bit since that CL was landed.

This fix was too aggressive, and can lead to functions being dead-
stripped while they still have an active reference.

Change-Id: I6ce8b0ad9cc2a42e8be8cb10d3a8219149eca6aa
Bug: skia:10776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325462
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-10-12 15:58:27 +00:00
Ethan Nicholas
5194a7018a moved SkSL FunctionReference/TypeReference data into IRNode
Change-Id: Ie3982e22c764455f3ae11472f6d1cacf4e9f64ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325458
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-10-12 15:54:13 +00:00
Brian Salomon
5ee0556048 Use ManagedBackendTexture in place of TestUtils backend texture helpers.
Unify on a single family of helpers for making backend textures.

Stresses callback systems in more tests by avoiding artificial
flush/submit/syncs.

some misc test cleanup along the way.

Change-Id: Ia692e8927ba97b391ee77ea06ebf437a555617b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324710
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-10-12 15:28:52 +00:00
Florin Malita
0f02d0b822 [svg] Add public.bzl defs for SVG source sets
Change-Id: I2c690b1e079494a3e1217330c3791d29bc37e27c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325337
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-10-12 15:23:57 +00:00
Ben Wagner
52c277ba3c Update site favicon to new theme.
Change-Id: I9666a2358489cf2492515ea2dab5cc8dcf475bb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324884
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-10-12 15:23:48 +00:00
Ethan Nicholas
ceb6214a55 moved SkSL InlineMarker and UnresolvedFunction data into IRNode
Change-Id: I05b940c69b7756d41277626fc3eef06003d133c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324886
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-10-12 14:29:37 +00:00
skia-autoroll
c67948d2c0 Roll SwiftShader from 952149303d06 to e72c6099f946 (7 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/952149303d06..e72c6099f946

2020-10-11 natsu@google.com Revert "Update virlg_hw path to reflect Minigbm"
2020-10-10 swiftshader.regress@gmail.com Regres: Update test lists @ 139f5c35
2020-10-10 natsu@google.com Update virlg_hw path to reflect Minigbm
2020-10-09 capn@google.com Fix depth bias calculations
2020-10-09 capn@google.com Move interpolant clamping out of interpolate()
2020-10-09 bclayton@google.com SpirvShaderDebugger: Fix store() of arrays
2020-10-09 bclayton@google.com SpirvShaderDebugger: Improve ASSERT() messages

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 robertphillips@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: robertphillips@google.com
Change-Id: I3c36d28ffedb99aa231d78c9bde1a205193f4d13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325320
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-12 14:04:27 +00:00
Matthew Leibowitz
07055b5e25 Parse out the orientation in the SubIFD of EXIF
Orientation information is sometimes stored in
the SubIFD section of EXIF, so read that. This is
just a matter of searching for the SubIFD offset
value in the EXIF tags and then parsing the
values from there onwards. The data format is
the same as the EXIF data.

The images are not under any copyright as I made
them up locally specifically for these tests.

Bug: skia:10799

Change-Id: I5384ffc1c4a9a0c7d3fc8510ef4da2f278cb8b97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/323217
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-10-12 13:50:27 +00:00
Robert Phillips
91c752a014 Revert "[svg] Add svg_tool"
This reverts commit 2531de9926.

Reason for revert: Breaking some builds

Original change's description:
> [svg] Add svg_tool
>
> A simple svg -> png converter, to demonstrate basic API usage.
>
> TBR=
> Change-Id: I34417c437b91e97811f5db512a9e79aa5cc099b8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325336
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,fmalita@google.com,tdenniston@google.com

Change-Id: I59117a1764a3a98bd910a3a76a44d9bba8bc2de4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325456
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-10-12 13:49:49 +00:00
Florin Malita
2531de9926 [svg] Add svg_tool
A simple svg -> png converter, to demonstrate basic API usage.

TBR=
Change-Id: I34417c437b91e97811f5db512a9e79aa5cc099b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325336
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-10-12 02:24:36 +00:00
skia-recreate-skps
d71dc2d25b Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Idba7ae9346115893f3847c39671cc37e4beaa23a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/325216
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-10-11 06:26:35 +00:00
Brian Salomon
aa64c352b3 Remove legacy gpu blur util code
TBR:michaelludwig@google.com

Bug: skia:10818
Change-Id: I1326aa017c0ed000efee1b9e0372a12976ba09eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324895
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-10-10 12:52:04 +00:00