Commit Graph

12291 Commits

Author SHA1 Message Date
Stephen White e4877b7e68 Rename AdapterBase -> PhysicalDeviceBase.
AdapterBase will become a (thin) wrapper class in an upcoming patch,
allowing a single PhysicalDeviceBase to be wrapped in multiple AdapterBases,
each with different toggles and flags.

For now, alias AdapterBase to PhysicalDeviceBase.

Design doc: https://docs.google.com/document/d/1Ag3UAD6D1OVt9-MwKltzLefVhwKRdX0RqML2etrYVS4/edit

Change-Id: Ie77e99508be5285b651aa24ccb412bc9ff8b0111
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130300
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2023-05-01 16:39:04 +00:00
Peng Huang 0e2a833da8 d3d11: enable entrypoint tests for d3d11 backend
Bug: dawn:1705
Change-Id: Ie8f29132726c015cbe4f552eb77afc1ecbc4a325
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130660
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-01 16:29:15 +00:00
Peng Huang 925b77605e d3d11: enable d3d11 by default if it is not built with chromium
Bug: dawn:1705
Bug: dawn:1778
Change-Id: I8d84582f6f9e84676572ecb9c174d0117468888b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130580
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-01 16:13:00 +00:00
Dawn Autoroller 0b3f098435 Roll ANGLE from f9a700ee36d1 to 568013739fe4 (1 revision)
f9a700ee36..568013739f

2023-05-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 82c53dbf916a to fe2d690d4674 (760 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I75cbf48ef3428104a97e45cf584d1ba36a6cfdbd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130640
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-01 10:18:36 +00:00
Corentin Wallez 8ddaa51889 Remove dawn::native::ExternalImageDescriptorIOSurface::plane
It is no longer used anywhere.

Bug: None
Change-Id: Ife3fa9470f3059efe34e29aa96adb2922ce91ebc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129580
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-01 09:01:27 +00:00
dawn-autoroll 585787da55 Roll vulkan-deps from 493272235e76 to 1d74856fe8c0 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/493272235e76..1d74856fe8c0

Changed dependencies:
* vulkan-validation-layers: 188c2c4363..a20ed9ad21

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Ice085f10ed52994c1c0f7a4ab103c5e6562fcfeb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130620
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-01 05:22:56 +00:00
Dawn Autoroller 22f70bb098 Roll ANGLE from ae6b2d11dd71 to f9a700ee36d1 (1 revision)
ae6b2d11dd..f9a700ee36

2023-04-29 abdolrashidi@google.com Disable mutable texture upload for discrete GPUs

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I6d3a5608cf0bc577657b15ca539d53d0f4393b32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130560
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-29 13:59:58 +00:00
dawn-autoroll a47ca372de Roll vulkan-deps from 62b5ec9c7076 to 493272235e76 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/62b5ec9c7076..493272235e76

Changed dependencies:
* vulkan-validation-layers: c6f187b800..188c2c4363

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Ib2ea4589b3073b2254d67f42f955cd88e9445a77
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130540
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-29 13:32:04 +00:00
Dawn Autoroller 8a0b3840ab Roll SwiftShader from d3052046cbff to b89ed2f23a03 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d3052046cbff..b89ed2f23a03

2023-04-28 natsu@google.com Add Android host build support
2023-04-28 natsu@google.com UPSTREAM: Fix Android host build

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Ib033fb49fe9bcda65ff484071b75db31d100a8c7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130520
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-29 07:21:11 +00:00
Peng Huang 6ffec70123 d3d11: fix link errors
Bug: dawn:1724
Change-Id: If27342937e450d11a54f1d36f4378feb69d5e98e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130400
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-04-29 00:57:59 +00:00
Dawn Autoroller e17f341487 Roll ANGLE from d5eee882efc0 to ae6b2d11dd71 (4 revisions)
d5eee882ef..ae6b2d11dd

2023-04-28 geofflang@chromium.org Metal: Gracefully fail compilation of stencil blit shaders.
2023-04-28 sky@chromium.org Adds feature to output blob cache key and source for shader
2023-04-28 sky@chromium.org metal(ish): Adds platform function for logging cache hits/misses
2023-04-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3076b4c0d8ce to f0d31e0f4846 (1 revision)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I5c600d1510120e449668a2115a4d4170cffdea98
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130380
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-29 00:23:23 +00:00
dawn-autoroll f303dcc12a Roll vulkan-deps from 14eaf973d52a to 62b5ec9c7076 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/14eaf973d52a..62b5ec9c7076

Changed dependencies:
* spirv-tools: 6110f30a36..8e1001e938
* vulkan-validation-layers: 6e7ae19f04..c6f187b800

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Iaf9db20e7e7d7d97a1ea44b11123519b792f8921
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130360
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-29 00:10:34 +00:00
Brandon Jones df6cb23649 Change D3D12 Descriptor Allocator To Invalidate Submitted Descriptors
Changes D3D12 descriptor allocator to invalidate existing descriptors
after the descriptor heap was submitted for use. This fixes a
synchonization issue where stale descriptors were seen as valid because
command list execution ran long.

Bug: dawn:1701
Change-Id: Ibfd450b3be6cf91d66e8dce4ffd19ecf1a37f7f5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129920
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
2023-04-28 22:31:33 +00:00
Peng Huang 948ef4292f d3d11: fix Queue::WriteTexture() and enable queue related tests
Bug: dawn:1705
Change-Id: I63540d46335401aeaa46efe157fdb7a191aa4637
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/128860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-28 19:01:32 +00:00
Peng Huang 85d98a91f7 d3d11: fix and enable viewport end2end tests
Bug: dawn:1705
Change-Id: Ie75f301465b5000c9ebdd58ab0cb1901d251730e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/128862
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-04-28 19:01:18 +00:00
Dawn Autoroller 0621416bf4 Roll SwiftShader from f0d31e0f4846 to d3052046cbff (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f0d31e0f4846..d3052046cbff

2023-04-28 natsu@google.com Fix vulkan.pastel.debug build

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I2f0608aacdf0991cc487d8da26dbfe0b5afaa14e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130280
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-28 18:05:11 +00:00
Peng Huang e5a4cfb935 d3d11: enable some CopyTests
To make B2B, B2T and T2B testes work, this CL implements several
missed functions:
 - Texture::Clear() is need for initializing texture data
 - Texture::Read() is need for readback data from 2d and 3d textures

Bug: dawn:1740,dawn:1768
Change-Id: Ib9e354c82fcdc8cc4e86b1699fa652cfc4a50721
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/128621
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-04-28 17:22:03 +00:00
François Beaufort ad571cfb7c Add new errors to WGPUBufferMapAsyncStatusStatus
This CL adds "mapping already pending", "offset out of range",
"size out of range", and "validation error".
Those errors will be used in future CLs both in Dawn and Blink.

Bug: chromium:1431622

Change-Id: I70121f49542042b47e30f4acc67a8e9a869fc452
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130260
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Fr <beaufort.francois@gmail.com>
2023-04-28 17:07:45 +00:00
Peng Huang d7a4483148 d3d: move some external image related code to d3d namespace
Expect ExternalImageDXGIImpl, most external image related code can
be shared between d3d11 and d3d12. This CL move those code into
d3d namespace

Bug: dawn:1724
Change-Id: I6c32cfd36880d4d009b272886a9369dc99dffbe6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130100
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-04-28 16:53:28 +00:00
Austin Eng 220aa01153 Fix name of libdawn_webgpu_dawn to libwebgpu_dawn
Fixed: dawn:1298
Change-Id: I7a32b644349837fcfc5e258232285b591f7e99a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129860
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-04-28 15:14:37 +00:00
Corentin Wallez 96b61c56fa Remove support for macOS 10.11 and 10.12
Fixed: dawn:1397
Change-Id: I58c899bb58c445d56c544828a52eddd720bc4847
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129840
Reviewed-by: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-04-28 11:55:21 +00:00
Dawn Autoroller 161d8abf91 Roll ANGLE from b875f47b0fbf to d5eee882efc0 (3 revisions)
b875f47b0f..d5eee882ef

2023-04-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e055a80240d4 to 82c53dbf916a (663 revisions)
2023-04-27 romanl@google.com Revert "When asserts enabled, log validation errors as WARN"
2023-04-27 cclao@google.com Vulkan: Clean up some of trace events

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I2021fa03ce838db7b6275ed7042dbec70a82f7d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130240
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-28 11:05:21 +00:00
dawn-autoroll 16e21a5847 Roll vulkan-deps from 5abdeb9dc696 to 14eaf973d52a (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5abdeb9dc696..14eaf973d52a

Changed dependencies:
* vulkan-loader: f035e57c17..71254bedee
* vulkan-tools: df10a2759b..b647be6419

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I59b548c2ef64c8837aafab4e999bf6a81595b6d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130160
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-28 10:51:52 +00:00
Ben Clayton 9dede34fc1 Improvements to tint perfmon
* Bump timeouts
* Include changes description in results
* Use median times instead of means
* Use CPU time instead of real time
* Bump prority of the benchmark process

Change-Id: I40cb5635016fab4d6a1d1ee2434e94c120f7f6f5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/121700
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-28 09:25:44 +00:00
jchen10 c755ec54aa d3d11: enable BindGroupTests
The cases can pass now with a few fixes.

Bug: dawn:1776
Bug: dawn:1705
Change-Id: I4a38887c51d003b4e9b782fd9217c9ce2c7dd423
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/128980
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-28 02:40:48 +00:00
Kai Ninomiya ed2ce8bab3 Add Slow expectations for arithmetic expression tests
Bug: dawn:1783
Change-Id: Ief289e969fb6115c09b31e67c1779dcac01d01d6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129640
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2023-04-28 00:37:32 +00:00
Sunny Sachanandani 1ff6a0c25b d3d12: Remove deprecated useFenceSynchronization param
After https://chromium-review.googlesource.com/c/chromium/src/+/4483506,
Chromium has stopped using the deprecated useFenceSynchronization param.

Bug: dawn:1612
Change-Id: I5748000d947c1665606b0d0b145f7f5f86786441
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129900
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-28 00:33:31 +00:00
Dawn Autoroller 6ca1a1d727 Roll ANGLE from 5c0b4251bd2c to b875f47b0fbf (6 revisions)
5c0b4251bd..b875f47b0f

2023-04-27 cclao@google.com Vulkan: Make mLastSubmittedQueueSerial reflect what it means
2023-04-27 mark@lunarg.com Capture/Replay: Initialize MEC alpha test state
2023-04-27 blundell@chromium.org [ContextEGL] Synchronize state only when first making current
2023-04-27 cnorthrop@google.com Tests: Add Monster Hunter Stories trace
2023-04-27 i.nazarov@samsung.com Vulkan: Add missing ASSERTs to QueueSerial relation operators
2023-04-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 0b6a55056c05 to e055a80240d4 (569 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I761091d0fb80f2f3a570118b8c6f12046ea98782
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130020
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-27 21:24:43 +00:00
dan sinclair f26b1269bd [ir] Move `ir::Bitcast` to inherit `ir::Call`.
This CL moves `ir::Bitcast` from `ir::Instruction` to `ir::Call`. The
`bitcast` is, essentially, a templated call instruction.

Bug: tint:1904
Change-Id: Iab8ccffaa484767318433f5fc6c33670c5f6375e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129940
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-04-27 20:28:01 +00:00
dan sinclair 4a2e0ad36b [ir] Make `ir::Discard` a child of `ir::Call`.
The `discard` statement is, essentially, a function call. This CL moves
the `ir` node from being under `Instruction` to be under `Call`.

Bug: tint:1905
Change-Id: I8098dfc6047286b1c5249679139bcc83aa1cb21d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129681
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-04-27 20:02:17 +00:00
dawn-autoroll 6e614cc0b3 Roll vulkan-deps from f2700925e4c4 to 5abdeb9dc696 (10 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/f2700925e4c4..5abdeb9dc696

Changed dependencies:
* spirv-cross: fc9bee27f4..4faeb81f3f
* spirv-headers: e08a279cf9..7f1d2f4158
* spirv-tools: d4c0abdcad..6110f30a36
* vulkan-headers: 8a397558c4..870a531486
* vulkan-validation-layers: ef48791b3f..6e7ae19f04

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I224d3f4478c6cbdcc9b735d14e0598dd981c35b4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129960
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-27 19:52:16 +00:00
Ben Clayton bc6720b9f6 tint/type: Remove Source from Struct & StructMember
type::Struct is the base class of sem::Struct.

type::Struct does not have a Declaration() member, so it does not make sense for it to have a Source.

Given that sem::Struct has a Declaration() method, use this to obtain the source.

Same logic applies to StructMember.

Change-Id: I693f659c35216ebe5eac5ea2a5b6457773077ddc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129480
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
2023-04-27 19:29:45 +00:00
Ben Clayton bc9e422728 tint: Use type::Struct where possible
type::Struct does not have an ast::Struct declaration, so use that for
builtin structures.

Fix up logic that assumed sem::Struct for both user-declared and builtin
structures to use type::Struct instead.

Assert in the sem::Struct and sem::StructMember that the AST node is not
nullptr.

Change-Id: Ic8fcf27d5610c814ea3b504694c6a94db6cf1191
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129483
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
2023-04-27 18:31:44 +00:00
Ben Clayton 576ba1c493 tint: Add StructMember attributes to sem.
Removes the need to examine AST attributes.

Change-Id: Iaaa6b10fd56baf732057c4c3960c1bfc5bbdeaa6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129621
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-27 17:58:25 +00:00
Ben Clayton 333cea405c tint/resolver: Clean up attribute resolving
Attributes resolving was done ad-hoc throughout the resolver, with the
validator ensuring that attributes were only applied to the correct nodes.

The ad-hoc nature meant that attributes were inconsistently marked and
resolved, and the attribute arguments were not always validated
(especially when used internally).

This change inlines the attribute processing into the appropriate places
in the resolver, and uses a standardized error message for attributes
that cannot be applied.

Change-Id: Ic084820949bbf8276fb2d33c103fa29b77824a69
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129620
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-04-27 17:21:58 +00:00
dan sinclair fe8a76cbbc [ir] Use the const eval results for expressions.
If an expression has a `sem::ValueExpression` attached we can use it to
directly obtain the result of the expression and stop emission. This Cl
updates the IR builder to pull the expression result if possible.

Several of the tests have been updated to go through a function in order
to stop const-eval from removing all the test content.

Bug: tint:1924
Change-Id: I6458cc297efc7789ac200069c18f75e8eb70c63b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129680
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-04-27 15:45:56 +00:00
Dawn Autoroller b8a7d8da86 Roll SwiftShader from 3076b4c0d8ce to f0d31e0f4846 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3076b4c0d8ce..f0d31e0f4846

2023-04-27 jif@google.com Disable LLVM_ENABLE_ZSTD for darwin in llvm16.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: I449cb1c1331deb6318238cca40a55f0a3b6c24ff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129820
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-27 14:58:05 +00:00
Colin Blundell a406959e50 Add transient attachments and initial Metal support
This CL does the following:

* Adds a "transient attachment" bit to texture usage. This bit
  specifies that the created texture will be used only during
  this render pass.
* Adds a TransientAttachments Feature that gates the usage of
  transient attachments.
* Adds support for transient attachments on Metal, where they're
  used to create textures as memoryless.
* Adds validation tests and an E2T test of the feature.

A followup CL will add support in Vulkan.

Bug: dawn:1695
Change-Id: I3c7322dd1e4bee113062aae2e0494d292ee8cbc3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129080
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-27 14:55:09 +00:00
Sunny Sachanandani c820dcc53e d3d12: Remove keyed mutex support
Keyed mutex support was deprecated and the only known client using it,
Chromium, has migrated to fences. Remove all related keyed mutex related
code and tests. The useFenceSynchronization field is still present in
the external image descriptor since it's set by Chromium (to true) -
it'll be removed once Chromium stops setting it.

Bug: dawn:1612
Change-Id: Iaec3c16b18bb8ddbde55a7f54eaf4b944d0f06c6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129300
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-04-27 14:46:56 +00:00
Ben Clayton df218948ba Run clang-format
Change-Id: I9f93208a6670d9dc32a8900d03e0cfbc076adc41
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129800
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-04-27 14:00:57 +00:00
dan sinclair f00679fd72 [ir] Make ir::Instruction a ir::Value.
This CL removes the `ir::Runtime` and inherits `ir::Instruction` from
`ir::Value`. This means that any `Value` can be an `Instruction`. The
instruction id is used for debugging purposes.

Bug: tint:1895
Change-Id: I2b79cd6721268712d78a47d383a30f82aa3aa07e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129660
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-04-27 14:00:06 +00:00
Takahiro 5e4aad952e Make maxBindingsPerBindGroup 1000
To follow the WebGPU spec update
https://github.com/gpuweb/gpuweb/pull/4050

Bug: dawn:1767
Change-Id: Iec5c60de7af5cb8b8e1baa7fc378a6551c6b5bd1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129380
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Takahiro <hogehoge@gachapin.jp>
2023-04-27 13:51:54 +00:00
dan sinclair 5e344a338f [ir] Split AST and SEM sources out of core ir.
This CL moves the need to pull in SEM and AST into a specific
`libtint_ir_builder_src` library. This will make it a GN error if we
accidentally try to use the SEM or AST inside the IR after the initial
construction.

This required move the `ToProgram`/`FromProgram` methods out of
`ir::Module` and into an `ir::Converter` class.

Bug: tint:1921
Change-Id: I2e6ae195f9a100030b43f35a2c5dad634433147f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129661
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-04-27 11:56:58 +00:00
Dawn Autoroller 664e1e0702 Roll ANGLE from 8b97c8d3e6b4 to 5c0b4251bd2c (4 revisions)
8b97c8d3e6..5c0b4251bd

2023-04-26 cnorthrop@google.com Reland "Tests: Add Gacha Life trace"
2023-04-26 syoussefi@chromium.org Vulkan: Remove generic syncval suppression about storage buffers
2023-04-26 i.nazarov@samsung.com Vulkan: Fix regression not calling mRenderer->notifyDeviceLost
2023-04-26 cnorthrop@google.com Scripts: Update setup for restricted_trace_perf

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,enga@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Id1cc55e52bc766333277f60254d288ab717aee29
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129720
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-27 07:04:01 +00:00
dawn-autoroll 2ac5e44e91 Roll vulkan-deps from 66646c61d508 to f2700925e4c4 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/66646c61d508..f2700925e4c4

Changed dependencies:
* spirv-tools: 9e627132a8..d4c0abdcad
* vulkan-validation-layers: 4c747443f6..ef48791b3f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC enga@google.com,webgpu-developers@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry

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

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

Bug: None
Tbr: enga@google.com
Change-Id: Icce5d78537ce519d093d632b86e374373719edef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129700
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-27 06:31:59 +00:00
Austin Eng 3a0a827ebe Revert "Disable SamplerTests on NVIDIA D3D11"
This reverts commit f8ef5e95ac.

Reason for revert: Not the cause of flakes.

Original change's description:
> Disable SamplerTests on NVIDIA D3D11
>
> Suspect to be causing flakes in D3D12 sampler tests
>
> Bug: dawn:1779
> Change-Id: I7a8518683142191e05c7befed078d69abdaf9b77
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129280
> Reviewed-by: Loko Kung <lokokung@google.com>
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Austin Eng <enga@chromium.org>

Change-Id: I72630f21d861acd9e266a0ac0c80e917f4f440bb
Bug: dawn:1779
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129600
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-04-26 22:21:23 +00:00
James Price 9d3af6521b tint/ir: Add GN option for building the IR
This currently requires that we are not building with Chromium.

Bug: tint:1911
Change-Id: I6c37afe6c2b8250b30d244e8cc2274253b6ce8f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129560
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-04-26 22:05:42 +00:00
Brandon Jones 1040f0e087 Show encoder in command buffer/render bundle messages
Having labels like [CommandBuffer from CommandEncoder "B"] will
provide greater context when developers don't provide labels to
every tier of object.

Bug: dawn:1746
Change-Id: Ibf72f97e054ff943b33c210e457422466e46a013
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/127120
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-26 21:19:29 +00:00
Ben Clayton 47dd30117d tint/resolver: Resolve builtin structs
Allow the resolver to understand builtin structures, like
__frexp_result_f16. This allows backend transforms to declare the types,
even if they're "untypable" by the user.

Bug: chromium:1430309
Change-Id: I392709118182a058f737ccf1b7b46fc6b0b7264d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129482
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-04-26 18:27:53 +00:00
Ben Clayton d3b09b90e3 tint/resolver: Add builtin_structs.h / .cc
Contains the builtin structure creation logic moved out from
intrinsic_table.cc.

Bug: chromium:1430309
Change-Id: I2207f9ae42c6d7343c2f2ffa81effde59e6023fe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/129481
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-04-26 18:25:03 +00:00