Commit Graph

3786 Commits

Author SHA1 Message Date
Austin Eng 6c6707021a Add Buffer::GetAllocatedSize()
Buffer allocations may need padding based on backend requirements.
GetAllocatedSize returns the size of the buffer actually allocated.

This CL also updates the backends to use GetAllocatedSize for buffer
clearing and barrier operations which should operate over the
entire allocated resource.

Bug: dawn:1011
Change-Id: Ic5233214414fa090725a4f50fff70d6e178494c3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60701
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-05 15:26:58 +00:00
Aleksi Sapon fef90b8a4a Fix bind groups not being applied
Fix for crbug.com/dawn/1049, where setting a pipeline without drawing can
prevent bind groups from being applied later. This occurs because the mask
for the pipeline is being saved but not its layout, because the bind
groups are never applied. This changes to only save the mask if the bind
groups are applied (the pipeline is used in a draw or dispatch).

Bug: dawn:1049
Change-Id: I4c7ae1125d1b6a06af90aea49a9dd1e4883f4826
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60740
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-05 14:45:48 +00:00
Austin Eng ae840d5e61 D3D12: Check for device lost after ID3D12Fence::GetCompletedValue
The D3D12 docs say it returns UINT64_MAX if the device was removed

Fixed: dawn:1051
Change-Id: Ide3731e9389bdb4a5a81c9f65aa9bcad1b049446
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60961
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-05 14:02:49 +00:00
Dawn Autoroller 213ac89edf Roll Tint from a5d73ce965 to b5025dbc82 (1 revision)
https://dawn.googlesource.com/tint.git/+log/a5d73ce965a7..b5025dbc82e1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: dawn:802
Tbr: enga@google.com
Change-Id: I25f7dad8571f34b5233a3f0d516271bd39c07544
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60981
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-05 05:51:28 +00:00
Dawn Autoroller 1ee777fcd5 Roll Tint from 5c61d6d12c to a5d73ce965 (4 revisions)
https://dawn.googlesource.com/tint.git/+log/5c61d6d12ce3..a5d73ce965a7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I0bed78e89a6b5bb832c2185d8bc90e769a48a1ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60980
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-05 01:08:38 +00:00
Bryan Bernhart 18bc89ee62 D3D12: Enable D3D12 debug names in Dawn builds.
Labels GPU allocations by Dawn resource type so we
can debug GPU memory consumption given traces or
full memory dumps.

BUG=dawn:967

Change-Id: I7eb19b4f2f9dd4c55c9039d39ffec9f09461556f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60620
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-08-04 21:52:29 +00:00
Austin Eng b5e2089768 Hook up dump_shaders toggle to dump SPIRV and GLSL
Bug: none
Change-Id: I742067d70bac5b43afe38d8d39b5eb2dae647a74
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60960
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-04 21:11:19 +00:00
Ben Clayton 5c19bf25e3 metal: Fix stray '\' prefix on MSL shaders
Seems harmless, but I'm assuming it was not intentional.

Change-Id: I86875f8bbe5923435b4c02cd224197ec2dc6f3a1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60924
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-04 20:44:18 +00:00
Dawn Autoroller 616bfb832e Roll Tint from 98fbf241d8 to 5c61d6d12c (1 revision)
https://dawn.googlesource.com/tint.git/+log/98fbf241d80a..5c61d6d12ce3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I76553e1710de7bf02df973032c4a95a4c34067cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60940
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-04 20:03:18 +00:00
Dawn Autoroller 149bd0feb3 Roll Tint from 51750f15d2 to 98fbf241d8 (1 revision)
https://dawn.googlesource.com/tint.git/+log/51750f15d219..98fbf241d80a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I89992dcae5c92af1dfaca5f5b5ff98ca7c7acdd6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60781
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-04 07:51:12 +00:00
Dawn Autoroller 2639165788 Roll Tint from 72f9ce98d1 to 51750f15d2 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/72f9ce98d17c..51750f15d219

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: If176bbb29589ab00150821d5de775d16062b3439
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60780
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 23:50:09 +00:00
Austin Eng 8ec325cfc6 Fix VVL error when creating a bind group from a destroyed texture
Fixed: dawn:1043
Change-Id: Ibc91361a984cd5d51d192d130206c20d620dff9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60641
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-03 21:48:59 +00:00
Austin Eng 8e957160b1 Use Tint SingleEntryPoint transform in Vulkan/GL backends
Some Vulkan drivers don't handle multiple entrypoints well.
In addition, SPIRV-Cross translation can be wrong for
shader modules with multiple entrypoints. Always emit a single
SPIR-V entrypoint to workaround these issues.

This allows updating CopyTextureForBrowser to use a single
shader module, and it fixes some tests with multiple
entrypoints.

Fixed: dawn:948, dawn:959, dawn:1013
Change-Id: Ie129a32a54845316d11917331937ca44fba3d347
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60640
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-08-03 19:07:29 +00:00
Dawn Autoroller c5989a9042 Roll Tint from b75e4b96a6 to 72f9ce98d1 (1 revision)
https://dawn.googlesource.com/tint.git/+log/b75e4b96a6ba..72f9ce98d17c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: Iac52e4451e7f13d542947f83026b854ed4ec1f4b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60720
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 18:56:09 +00:00
Austin Eng a0b92db396 Unsuppress tests failing from crbug.com/dawn/978
Tests are no longer failing.

Fixed: dawn:978
Change-Id: I60f19935bf81e3249c94f0d8b8dcfd7de52e47fe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60700
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-08-03 15:29:38 +00:00
Dawn Autoroller 858e585cce Roll Tint from c0fbce65d8 to b75e4b96a6 (1 revision)
https://dawn.googlesource.com/tint.git/+log/c0fbce65d8c6..b75e4b96a6ba

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I784a96846077204a0718ba51bc61c9a6f392b29d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60660
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 01:57:09 +00:00
Dawn Autoroller 8975f1656d Roll Tint from 8ebff3dc85 to c0fbce65d8 (1 revision)
https://dawn.googlesource.com/tint.git/+log/8ebff3dc85e7..c0fbce65d8c6

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
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/main/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: Id38ccb67e55f2569ffba0cb6ba8581f083692afd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60600
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 20:28:29 +00:00
Dawn Autoroller ccc4766e76 Roll Tint from b209c477db to 8ebff3dc85 (1 revision)
https://dawn.googlesource.com/tint.git/+log/b209c477db71..8ebff3dc85e7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: Icbded1817bfc4e0b8a3dce4b0f02038633c90167
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60580
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 13:53:29 +00:00
Dawn Autoroller 7e874a1c09 Roll Tint from 2c1fbe801b to b209c477db (5 revisions)
https://dawn.googlesource.com/tint.git/+log/2c1fbe801b3a..b209c477db71

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I34b133ed14b0b088bd47c8d5913127110c494b22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60540
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-31 03:30:56 +00:00
Dawn Autoroller 8f78875183 Roll Tint from 1f0200a3ff to 2c1fbe801b (19 revisions)
https://dawn.googlesource.com/tint.git/+log/1f0200a3fffc..2c1fbe801b3a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I2d1cbe31db7b4f29a17555fad18f23760edab1d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60382
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-30 22:03:26 +00:00
Jiawei Shao b7c7f62829 Implement inter-stage variable matching rules - Part II
This patch implements the inter-stage variable matching rules on
the interpolation attributes ('interpolation type' and
'interpolation sampling'). WebGPU SPEC requires that the interpolation
attributes must match between vertex outputs and fragment inputs with
the same location assignment within the same pipeline.

BUG=dawn:802
TEST=dawn_unittests

Change-Id: Ied38d68f73868c30b0392954683963a801e3f3aa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60160
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-30 00:40:26 +00:00
Austin Eng da3c5ef3a9 Allow creating texture views from destroyed textures
Bug: dawn:1031
Change-Id: I3af52d5c53c4ccf2c30a4eccb9c50dfe2e822f25
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60221
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-07-29 21:49:47 +00:00
shrekshao f43822a3fd Add docs/external_resources.md to put links to google docs etc.
Bug: dawn:773
Change-Id: I52f405a8edf6c15067bbf51a547a9eedbf72f9e8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60162
Reviewed-by: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Shrek Shao <shrekshao@google.com>
2021-07-29 20:26:27 +00:00
Dawn Autoroller 21ae62ca5e Roll Tint from 7249404827 to 1f0200a3ff (1 revision)
https://dawn.googlesource.com/tint.git/+log/72494048277a..1f0200a3fffc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I1147c0570df28c1fa149bb93dbca2bc9aa15f6b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60260
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 13:24:27 +00:00
Austin Eng d05777bd2f Support multisampled depth texture bindings
Adds support for processing texture_depth_multisampled_2d bindings
reflected from Tint, and also removes Dawn restrictions against
multisampled depth. These restrictions were originally added in
https://dawn-review.googlesource.com/c/dawn/+/30240 to validate
against using a multisampled depth texture with a
comparison sampler. This is now disallowed by the language with
distinct binding types and builtins in WGSL. Previously with
SPIR-V, we inferred Depth if the texture was used
with a comparison sampler.

Also check Vulkan limits for supported sample counts.

Bug: dawn:1021, dawn:1030
Change-Id: I7233b16c14dc80d10a851cc4e786d5b05512b57a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60020
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-07-29 08:06:07 +00:00
Dawn Autoroller 448e3ac4c2 Roll Tint from 889b77a2a1 to 7249404827 (4 revisions)
https://dawn.googlesource.com/tint.git/+log/889b77a2a17c..72494048277a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: Ic4093f3cfed499c698a0e58927b8230216ce744b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60222
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 01:21:57 +00:00
Dawn Autoroller 4bb1ae15f0 Roll Tint from 085dcbbe20 to 889b77a2a1 (3 revisions)
https://dawn.googlesource.com/tint.git/+log/085dcbbe2037..889b77a2a17c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: Ie8ae81aa63a7d25653772e6bd48ac0fb139f61f4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60161
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 19:46:47 +00:00
Corentin Wallez 52201303f3 Deprecate readonly storage textures
Bug: dawn:1025
Change-Id: Ie799507b534d983959d44b573436bb5421162150
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59841
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-07-28 18:00:56 +00:00
Dawn Autoroller b550c143c0 Roll Tint from edecbb161f to 085dcbbe20 (1 revision)
https://dawn.googlesource.com/tint.git/+log/edecbb161f41..085dcbbe2037

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I4ea77aab1b10f2e9e75d88101b92660ec5d1fb6b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60220
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 13:34:47 +00:00
Dawn Autoroller d59ba7c18b Roll Tint from 3647df3fb7 to edecbb161f (1 revision)
https://dawn.googlesource.com/tint.git/+log/3647df3fb790..edecbb161f41

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I2d8b9eaa70bd964d5ae1e301859dc176f68d116f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60180
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 06:51:56 +00:00
Li Hao 366c9d8c43 Skip noop dispatches on D3D12 backend
Execution warning is produced from D3D12 validation layers for noop
dispatches, which leads to device lost. The skip noop dispatch handling
was added to the front-end before, and moved to Metal backend due
to it gets in the way of a validation change in the follow-up CL. We
also need to add it to D3D12 backend now.

Bug: dawn:1028
Change-Id: I364f6f1e0ac79679a43c064cb402874f1e959537
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59960
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-07-28 05:00:26 +00:00
Dawn Autoroller ce5b9a6c4b Roll Tint from dffa60ca98 to 3647df3fb7 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/dffa60ca9882..3647df3fb790

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: Ic964711103d3b484d1c5c5a253db94be334a59bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/60060
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 01:31:36 +00:00
Jiawei Shao 9d92f31f21 Vulkan: Enable sampleRateShading for WGSL builtin variable [[sample_index]]
This patch enables VkPhysicalDeviceFeatures.sampleRateShading as is required
by the SPIR-V Capability (SampleRateShading) for the implementation of
WGSL built-in variable [[sample_index]] (gl_SampleID). Without enabling
smapleRateShading on the creation of VkDevice the Vulkan validation layer
will generate below error message:

Warning: Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-01091 ]
Object 0: handle = xxx, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa7bb8db6 |
vkCreateShaderModule(): The SPIR-V Capability (SampleRateShading) was declared,
but none of the requirements were met to use it. The Vulkan spec states: If
pCode declares any of the capabilities listed in the SPIR-V Environment appendix,
one of the corresponding requirements must be satisfied.

BUG=tint:471, dawn:802
TEST=dawn_end2end_tests

Change-Id: Id0c91fa48dfae37b2548ee9f3922d93dfa1da5d9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59900
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-07-28 00:36:36 +00:00
Austin Eng d6af6bd7f3 Deprecate sampling depth textures with float/unfilterable-float
Dawn currently allows sampling depth textures this way, but it is
not in the WebGPU spec, and the behavior is not guaranteed with the
Metal API.

This commit also updates the stencil sampling tests to expect
(s, s, s, s) or (s, 0, 0, 1).

Bug: dawn:1021
Change-Id: I9210a2a3ff1655747a202a51f46f38faa35c85d4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59320
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-07-27 22:08:32 +00:00
Austin Eng 0eff5987f0 Add chained DawnTextureInternalUsageDescriptor
This chained struct can be used for internally adding usages to
Dawn textures. It will affect how the texture is allocated, but
not affect frontend validation.

One use case for this is so that Chromium can use an internal
copyTextureToTexture command to implement copies from a WebGPU
texture-backed canvas to other Web platform primitives when the
swapchain texture was not explicitly created with CopySrc usage
in Javascript.

Usage:

wgpu::DawnTextureInternalUsageDescriptor internalDesc = {};
internalDesc.internalUsage = wgpu::TextureUsage::CopySrc;

wgpu::TextureDescriptor desc = {};
// set properties of desc.
desc.nextInChain = &internalDesc;

device.createTexture(&desc);

Fixed: dawn:1027
Change-Id: Id4d08b5588d4960d150d559aa11502c69f40a674
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58140
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-07-27 19:59:58 +00:00
Peter Kasting 7e50a7fad3 Enable -Wunused-but-set-variable.
Bug: chromium:1203071

Change-Id: I73e58baa9a581bfc72f191184998d68dba9941d6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59720
Auto-Submit: Peter Kasting <pkasting@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-27 18:42:59 +00:00
Dawn Autoroller 08a3900522 Roll Tint from 97668c8c37 to dffa60ca98 (1 revision)
https://dawn.googlesource.com/tint.git/+log/97668c8c37fa..dffa60ca9882

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I47083c999e4e05115062c1f1661be90691d23823
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59980
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 17:17:18 +00:00
Dawn Autoroller 310895c203 Roll Tint from 60d1eb6688 to 97668c8c37 (7 revisions)
https://dawn.googlesource.com/tint.git/+log/60d1eb6688f7..97668c8c37fa

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: dawn:1023
Tbr: bclayton@google.com
Change-Id: I18c0ec0d3f2b53b5d00019807842ecbfe5f4abd6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59940
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 10:57:15 +00:00
Austin Eng ce15395190 Fix WGSL usage of "let"
Bug: none
Change-Id: If2e1617bc17192880aff88d8f4a52315be593553
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59880
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-27 07:51:26 +00:00
Li Hao 6e5b080547 Improve buffer zero-initialization in resolveQuerySet on Vulkan
Simplify the buffer clear logic, and tolerate clear twice when resolving
unavailable queries if the destination buffer is not initialized and not
fully written.

Bug: dawn:973

Change-Id: Iaaf16acfd789787cb2f3eb18cd324c60d5f720b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59680
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-07-27 01:22:29 +00:00
Dawn Autoroller 3b6af4ff53 Roll Tint from dcd3dcec70 to 60d1eb6688 (11 revisions)
https://dawn.googlesource.com/tint.git/+log/dcd3dcec70a1..60d1eb6688f7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I74bedfa2c39bc2d67e719b8f5015732d961860bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59741
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-26 22:40:19 +00:00
Austin Eng 821b1cbf96 Validate that the color write mask is zero if there is no fragment output
Following spec change https://github.com/gpuweb/gpuweb/pull/1918

Fixed: dawn:962
Change-Id: I9d7eaee588301227736cf523bec46e5a60fe861b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59042
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2021-07-26 19:43:19 +00:00
Corentin Wallez 4840b8a518 Replace use of deprecated tint::transform::InputStepMode
Bug: dawn:1023
Change-Id: Ic5b0db7fc4a516077a62420cd97dcb09d30ee534
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59780
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-07-26 19:04:58 +00:00
Dawn Autoroller 01cc968a9d Roll Tint from b32c22cead to dcd3dcec70 (3 revisions)
https://dawn.googlesource.com/tint.git/+log/b32c22ceadf9..dcd3dcec70a1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@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/main/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I9830ab42947586d09da2c3b79b935f14dba59340
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59740
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-26 17:19:22 +00:00
Li Hao d812d57739 Update resolveQuerySet for unavailable queries on D3D12
Now resolving unavailable queries is undefined behaviour on D3D12, it
might cause device hangs or removal. Update to just resolve available
part like Vulkan did, and clear the destination buffer to 0s for the
unavailable part.

Bug: dawn:973

Change-Id: I7cf6808d67179425b4883e8847c76daaf8444dc2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-07-26 14:34:47 +00:00
Dawn Autoroller a6057ac716 Roll Tint from 13081d4e46 to b32c22cead (1 revision)
https://dawn.googlesource.com/tint.git/+log/13081d4e462b..b32c22ceadf9

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I7a95b2d64d67770bc5f9537084b4ea33c57d78bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59700
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-26 10:45:37 +00:00
Jiawei Shao c686a6a541 Implement inter-stage variable matching rules - Part I
This patch implements the inter-stage variable matching rules on
the attributes 'location', 'base type' and 'composition type'.

In the next patch we will implement the matching rules on the
'interpoliation type' and 'interpoliation sampling'.

BUG=dawn:802
TEST=dawn_unittests

Change-Id: Ic0a273e01dced301d437add83bad3d0c7d94a133
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58363
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-07-26 01:39:21 +00:00
Dawn Autoroller 68c771a637 Roll Tint from 1c6ff0ec3b to 13081d4e46 (1 revision)
https://dawn.googlesource.com/tint.git/+log/1c6ff0ec3b6a..13081d4e462b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@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/main/autoroll/README.md

Bug: dawn:1023
Tbr: cwallez@google.com
Change-Id: I9821deacf68582ab705095e81dde3e1de4365afe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59640
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-25 19:07:29 +00:00
Corentin Wallez ff6c9ca6f0 wgpu::InputStepMode -> VertexStepMode
See https://github.com/gpuweb/gpuweb/pull/1927

Adds a typedef to make a gradual deprecation.

Bug: dawn:1023
Change-Id: Ic81a933a95556fbf5726056530788dde017a1449
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59442
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-07-25 18:40:19 +00:00
Dawn Autoroller f004b6ec2a Roll Tint from f7d0c1cbfe to 1c6ff0ec3b (1 revision)
https://dawn.googlesource.com/tint.git/+log/f7d0c1cbfe46..1c6ff0ec3b6a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@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/main/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Ied649ccfde7ec4d80ff65159ffeb5720d8915aa1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/59600
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-25 08:10:39 +00:00