Skip to content

[process] New required functionality must be implementable on Compat#5518

Merged
kainino0x merged 5 commits intogpuweb:mainfrom
kainino0x:opengl
Feb 2, 2026
Merged

[process] New required functionality must be implementable on Compat#5518
kainino0x merged 5 commits intogpuweb:mainfrom
kainino0x:opengl

Conversation

@kainino0x
Copy link
Contributor

@kainino0x kainino0x commented Jan 14, 2026

Compatibility Mode means we now care about OpenGL/ES and D3D11 for any non-optional functionality (like immediates, unrestricted_pointer_parameters, etc.). Update the process doc accordingly.

Also clarify where we're talking about optional vs. required functionality, and expand on the meaning of "implementable".

Also clarify what "implementable" means.
@github-actions
Copy link
Contributor

github-actions bot commented Jan 14, 2026

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

@SenorBlanco
Copy link
Contributor

LGTM. The main thing I'd like to see is that proposals include an analysis of the Compat APIs in their investigations. Not sure that's covered by any process, though.

@kainino0x
Copy link
Contributor Author

This document says what we require of proposals made to WebGPU, and implicitly in order to show that a proposal is implementable on Compat, it'll have to explain how.

@kainino0x
Copy link
Contributor Author

@jimblandy PTAL

@jimblandy
Copy link
Contributor

I feel like I'm missing something obvious, but:

It seems to me that when we want to add new functionality that Compat mode cannot implement, we have two options:

  • Make it conditional on a new feature.

  • Make it conditional on "core-features-and-limits".

It sounds like this process proposal is saying that the second option is forbidden. Is that the intent? Can someone remind me why that is necessary?

@kainino0x
Copy link
Contributor Author

It sounds like this process proposal is saying that the second option is forbidden. Is that the intent? Can someone remind me why that is necessary?

No, that's not the intent. New core-only but otherwise universal functionality should be added to "core-features-and-limits". I've made that explicit in my latest revision. PTAL

@kainino0x kainino0x requested a review from jimblandy January 29, 2026 23:11
Copy link
Contributor

@jimblandy jimblandy left a comment

Choose a reason for hiding this comment

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

This change seems like a step in the right direction.

I think it's surprising to call behavior covered by "core-features-and-limits" "optional", but that can wait for another day.

@kainino0x
Copy link
Contributor Author

kainino0x commented Feb 2, 2026

I think it's surprising to call behavior covered by "core-features-and-limits" "optional", but that can wait for another day.

I've edited slightly to clarify that such capabilities would be required parts of optional features (of which "core-features-and-limits" is one since you can implement WebGPU without it).

@kainino0x kainino0x enabled auto-merge (squash) February 2, 2026 22:07
@kainino0x kainino0x disabled auto-merge February 2, 2026 22:08
@kainino0x kainino0x merged commit 9d5bbf1 into gpuweb:main Feb 2, 2026
1 of 4 checks passed
@kainino0x kainino0x deleted the opengl branch February 2, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants