Skip to content

[editorial/bugfix] Dedup feature dependencies, fix missing auto-enablements - #6344

Open
kainino0x wants to merge 1 commit into
gpuweb:mainfrom
kainino0x:featuredeps
Open

[editorial/bugfix] Dedup feature dependencies, fix missing auto-enablements#6344
kainino0x wants to merge 1 commit into
gpuweb:mainfrom
kainino0x:featuredeps

Conversation

@kainino0x

@kainino0x kainino0x commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Previously this was defined separately in "Adapter Capability Guarantees", "a new device", and the "Feature Index".

This fixes a bunch of stuff that was missing:

  • "a new device" missing:
    • texture-compression-bc-sliced-3dtexture-compression-bc
    • texture-compression-astc-sliced-3dtexture-compression-astc
  • "Adapter Capability Guarantees" missing:
    • texture-formats-tier2texture-formats-tier1rg11b10ufloat-renderable

Also moves the definition of GPUFeatureName to the "Optional Capabilities" section to be consistent with limits.

@kainino0x kainino0x added bug copyediting Pure editorial stuff (copyediting, *.bs file syntax, etc.) api WebGPU API labels Aug 1, 2026
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Previews, as seen when this build job started (780004c):
WebGPU webgpu.idl | Explainer | Correspondence Reference
WGSL grammar.js | wgsl.lalr.txt

@kainino0x kainino0x added the needs-cts-issue This change requires tests (or would need tests if accepted), but may not have a CTS issue filed yet label Aug 1, 2026
@kainino0x
kainino0x marked this pull request as ready for review August 1, 2026 04:28

@toji toji left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Comment thread spec/index.bs
as defined by the |adapter|.{{adapter/[[default feature level]]}}.
1. For each |feature| in |features|:
1. [=set/Extend=] |features| with the set of features required (directly or indirectly)
by |feature|, as defined in [[#feature-dependencies]].

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy that this is constructed in such a way that the implicitly enabled features show up explicitly in device.features. 👍

Comment thread spec/index.bs
Because of this, and to improve portability across devices and implementations,
applications should generally only request features that they may actually require.

<h5 id=gpufeaturename data-dfn-type=enum>`GPUFeatureName`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why on earth did we ever have this under GPUDeviceDescriptor?? This makes so much more sense! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api WebGPU API bug copyediting Pure editorial stuff (copyediting, *.bs file syntax, etc.) needs-cts-issue This change requires tests (or would need tests if accepted), but may not have a CTS issue filed yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants