Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

kainino0x
Copy link
Contributor

@kainino0x kainino0x commented Nov 13, 2021

Provides a simple template for future extension documents.

Complements #2296 which removes pipeline statistics queries from the main spec.


Preview | Diff

@kainino0x
Copy link
Contributor Author

@litherum Any feedback on "process", e.g. whether this is an appropriate place for documents like this to live?

@github-actions
Copy link
Contributor

Previews, as seen when this build job started (039cbd8):
WebGPU | IDL
WGSL
Explainer

@litherum
Copy link
Contributor

litherum commented Nov 13, 2021

I'm not sure, but I believe in order to publish new documents on the W3C's recommendation track, we'd have to amend our charter. Because of that, I'd recommend, instead, marking everything in this directory as non-normative proposals, as a kind of staging ground for extensions on their way to the main spec.

@kainino0x
Copy link
Contributor Author

Updated with something along the lines I was proposing in the last meeting: an explicit explanation of the expected future of the extension.

Updated the README to reflect the fact that this could be used for larger standards-track features.

WDYT? @jdashg @litherum

@github-actions
Copy link
Contributor

Previews, as seen when this build job started (44378ce):
WebGPU | IDL
WGSL
Explainer

@litherum
Copy link
Contributor

litherum commented Nov 24, 2021

@jdashg brought up some (completely reasonable) concerns during the last call about intentionality. If everyone agrees a particular proposal will never end up in the main spec, what business does it have being in this repository?

Our team generally dislikes it when legitimate proposals are made in random personal repos, so, for legitimate proposals, we'd prefer they exist here, in this repo.

So, given both of these thoughts, I think there's a path forward: this new directory is for proposals on their way to the main spec. If a proposal is rejected, it would be deleted from this folder.

Under this criteria criterion, I believe pipeline statistics queries would belong in this folder, but fine-grained timestamp queries (as they do/will exist in Chrome behind a flag) would not belong in this folder. Chrome would host their chrome-specific extension spec themselves.

@kvark
Copy link
Contributor

kvark commented Nov 24, 2021

We have explainers folder here, which also is never expected to become a part of the spec.
I.e. not everything in the repo is a part of the spec. We can agree to store things here that all parties wish to collaborate on, and which are highly related to the spec, can we?

@kainino0x
Copy link
Contributor Author

kainino0x commented Nov 24, 2021

Our team generally dislikes it when legitimate proposals are made in random personal repos, so, for legitimate proposals, we'd prefer they exist here, in this repo.

I agree with this, but would apply it to a broader set of documents like Dzmitry proposed. (I think design/ is the most similar folder.)

Under this criteria criterion, I believe pipeline statistics queries would belong in this folder

The "roadmap" I wrote for pipeline statistics indicates it is not on its way to the main spec:

"Roadmap: This draft extension is not on the standards track. It is currently intended to be used only in non-Web-compliant contexts, such as by Web developers who enable a command line flag or other non-default option in order to profile the performance of their application."

I would prefer to put the in-pass timestamp extension document here too, with a similar roadmap.

@kainino0x
Copy link
Contributor Author

@litherum @jdashg Possible to get feedback on this latest PR to have a very explicit "Roadmap" for each extension document?

@kainino0x kainino0x added for webgpu editors meeting tacit resolution candidate Editors may be able to resolve and move to tacit resolution queue labels Jan 14, 2022
@kainino0x
Copy link
Contributor Author

@litherum @kdashg post-holiday bump (and also because this topic came up in yesterday's meeting) :)

@litherum
Copy link
Contributor

We are a standards body. I don't think we should be hosting documents that are not on the standards track. They are not a part of WebGPU.

See: https://github.com/webgpu-native/webgpu-headers

@tidoust
Copy link
Contributor

tidoust commented Jan 21, 2022

For info, some groups actually do that, especially for extensions that could perhaps get folded into the main spec later on. One example is the WebRTC Working Group, which maintains the WebRTC Extensions and Media Capture and Streams Extensions, neither of which are published on the standards track, but both of which may end up being integrated in the revelant underlying specs. From a process perspective

@kdashg
Copy link
Contributor

kdashg commented Mar 2, 2022

WebGPU meeting minutes 2022-02-23
  • KN: these would be extensions we don't expect to put into the spec at any point. e.g. Pipeline Statistics - don't think these need to be in production applications. Would like a common place to develop extensions like that, even if not exposed by default.
  • KN: think this addresses concerns about putting these in an official place, but Apple had concerns about whether we the group work on stuff like this or require them to be developed somewhere else.
  • JB: what's the value in making these easy to find?
  • KN: people might still use these in local development. Pipeline stats can give you interesting results. Single place says - if you implement pipeline stats, there's a standard place to get the spec for it. Then users could find it - not browser-specific.
  • KN: fair that this isn't critically necessary. But there will be a lot of these. Better if they aren't scattered.
  • JB: would each of these refer to a specific commit of the spec so they know what it's defined relative to? Keep up to date as the spec evolves?
  • KN: strive to keep them up to date. Suspect they won't easily get out of date. After 1.0, see whether inconsistent with any breaking changes. If get out of sync, people will discover. Not trying to be strict about every detail.
  • KN: was interesting input from W3C: some groups have done things like this, exploratory work that might end up on standards track. Linked to WebRTC and MediaCapture extensions. In our case, could end up being standards track if someone discovers they need it. Also exploratory work like ray tracing.
  • KG: as long as it's useful for future API development, useful to put it in the repo. Myles' perspective: if not valuable to the API, we shouldn't keep that around.
  • KN: hard to guess. Right now, don't think we'll put pipeline stats in the API, but it's possible.
  • KG: think easiest thing is what we do for webgpu-native: another repo that someone maintains that isn't this group.
  • KN: having single separate repo would work.
  • JB: cost of deleting things isn't high. Everything's in version control.

Co-authored-by: Kelsey Gilbert <[email protected]>
@kdashg
Copy link
Contributor

kdashg commented Mar 16, 2022

WebGPU meeting minutes 2022-03-09
  • MM: One thought, we (the community group) decided not to ship pipeline statistics in v1, though we didn’t further say that we would never add it to the spec. If we do think something will never make it into the spec, we probably shouldn’t put it in our repo.
  • KN: My premise was “this is not on our roadmap”, but I think this is on a sliding scale. It’s not on our roadmap unless someone comes to us and asks for it. Probably a 50/50 chance at this point.
  • MM: I think 50/50 is a good guess. I am only pushing back on things we are pretty sure never will be spec’d. (E.g. we might decide, “we’ll never add Tesselation”, in which case we’d delete the document from this Organization, at least.)
  • KN: I can propose wording to describe when things would end up in here, and when not.
  • MM: What I’m really worried about here, is having to make a WEBKIT_ extension, having to put it in this folder, and tell people “I know this isn’t part of the spec, buuut…”
  • KG: For me, I really want it clear than the contents of this directory aren’t normative. Maybe to the point of naming/nesting the directory /non-normative/extensions.
  • MM: Want to think of it as a staging ground, if we know it’s not going to end up in the spec, it shouldn’t be here
  • KN: Think that works for us, though don’t remember all the things we were thinking about putting in this directory.
  • overall agreement, KN to adjust language in PR

@kainino0x
Copy link
Contributor Author

@litherum, @Kangz, and @toji as editor, please review. Hopefully this is the language we can finally agree on!

Copy link
Member

@toji toji left a comment

Choose a reason for hiding this comment

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

Language around this all SGTM.

@kainino0x kainino0x changed the title Add extensions directory and pipeline statistics extension doc Add proposals/ directory and pipeline statistics extension doc Jun 29, 2022
@kainino0x
Copy link
Contributor Author

I've tweaked the language a bit more as I think this matches better what we agreed upon in discussions. @litherum PTAL in particular.

@github-actions
Copy link
Contributor

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

@kainino0x kainino0x added tacit resolution queue Editors have agreed and intend to land if no feedback is given and removed for webgpu editors meeting labels Aug 15, 2022
@kainino0x kainino0x merged commit 89602e7 into gpuweb:main Aug 17, 2022
@kainino0x kainino0x deleted the extensions branch August 17, 2022 22:44
@kainino0x kainino0x removed the tacit resolution queue Editors have agreed and intend to land if no feedback is given label Aug 17, 2022
@kainino0x
Copy link
Contributor Author

was only waiting for approval from Apple, and got explicit approval so landing now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants