tree 26c65a86190ecf778b42dab50b4982bba1e1cb68
parent 7a4fb42c574409f70d3e5b29ccc8b8992674dcd4
author Fr <beaufort.francois@gmail.com> 1731532903 +0000
committer Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> 1731532903 +0000

[dawn][wire] Use GetFeatures() instead of EnumerateFeatures()

This reverts commit 6366852ecf93927075e7cba01650678ab0e959ee.

Reason for revert: https://chromium-review.googlesource.com/c/chromium/src/+/6011908 has landed

Original change's description:
> Reland "Partial revert of webgpu.h: Add Adapter and Device GetFeatures() methods"
>
> This reverts commit df6873d0646714d9ff284848d84958e7412cd809.
>
> Reason for revert: flaky crashes on Chrome startup http://crbug.com/368672123#comment10
>
> Original change's description:
> > Revert "Partial revert of webgpu.h: Add Adapter and Device GetFeatures() methods"
> >
> > This reverts commit afd7389710ac47caed7cde667499877c6ccae327.
> >
> > Reason for revert: https://chromium-review.googlesource.com/c/chromium/src/+/5958567 has landed
> >
> > Original change's description:
> > > Partial revert of webgpu.h: Add Adapter and Device GetFeatures() methods
> > >
> > > Commit 78a100c8c999883350ea6e5a724119289d3ad45b changes
> > > dawn::wire::server to use GetFeatures to gather features instead of
> > > EnumerateFeatures. This breaks the filtering of features in Chromium's
> > > webgpu_cmd_decoder_impl.cc which proxies EnumerateFeatures but doesn't
> > > proxy GetFeatures yet. Before this code is relanded, Chromium must
> > > implement proxying of GetFeatures.
> > >
> > > Bug: 368672123
> > > Change-Id: I738d1d3f7b5342e73dfa59b63d42bb589c12ff41
> > > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213674
> > > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> > > Reviewed-by: Kai Ninomiya <kainino@chromium.org>
> > > Commit-Queue: Kai Ninomiya <kainino@chromium.org>
> >
> > TBR=cwallez@chromium.org,kainino@chromium.org,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com
> >
> > Change-Id: Ic659bcd271f3c95b578736d69cf5bdff10c40a18
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 368672123
> > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/213854
> > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> > Commit-Queue: Fr <beaufort.francois@gmail.com>
> > Reviewed-by: Fr <beaufort.francois@gmail.com>
>
> # Not skipping CQ checks because this is a reland.
>
> Bug: 368672123
> Change-Id: If40cc5c979ded3c47d400b9991cc91c2bb5adf02
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/214114
> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Peter McNeeley <petermcneeley@google.com>
> Reviewed-by: dan sinclair <dsinclair@chromium.org>
> Commit-Queue: dan sinclair <dsinclair@chromium.org>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 368672123
Change-Id: If8f5510762ff8356552d4727fd8bd21682e0668a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/214834
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
