-
Notifications
You must be signed in to change notification settings - Fork 373
WGSL 2025‐04‐01 Minutes
Kelsey Gilbert edited this page Apr 1, 2025
·
1 revision
🪑 Chair: KG
⌨️🙏 Scribes: ds, DN
🗺 Location: meet.google.com
⌚ Time: Tuesday **11am-noon **Americas/Los_Angeles (Atlantic-timed)
Specification: https://webgpu.dev/wgsl
Meeting Issues: Marked Issues
Open Issues: Untriaged, M0, M1
Todos doc: WGSL TODOs
Previously: 2025-03-11 WGSL - Agenda / Minutes
Note: These are the minutes taken in real-time. The official minutes can be found on the WebGPU wiki.
If you didn't receive a meet.google.com invitation and plan on participating, please send dneto a Google Apps enabled address and he'll add you.
WIP, the list of all the people invited to the meeting. In bold, the people that have been seen in the meeting:
- Apple
- Dan Glastonbury
- Mike Wyrzykowski
- Myles C. Maxfield
- Cocos
- Huabin Ling
- Zeqiang Li
- Zhenglong Zhou
- Connecting Matrix
- Muhammad Abeer
- Google
- Alan Baker
- Antonio Maiorano
- Ben Clayton
- Brandon Jones
- Corentin Wallez
- dan sinclair
- David Neto
- Ekaterina Ignasheva
- James Price
- Kai Ninomiya
- Natalie Chouinard
- Peter McNeely
- Rahul Garg
- Ryan Harrison
- Stephen White
- Intel
- Hao Li
- Jia A Chen
- Jiajia Qin
- Jiawei Shao
- Narifumi Iwamoto
- Shaobo Yan
- Yang Gu
- Yunchao He
- Zhaoming Jiang
- Kings Distributed Systems
- Daniel Desjardins
- Hamada Gasmallah
- Wes Garland
- Microsoft
- Damyan Pepper
- Greg Roth
- Michael Dougherty
- Rafael Cintron
- Tex Riddell
- Mozilla
- Ashley Hale
- Erich Gubler
- Jim Blandy
- Kelsey Gilbert
- Teodor Tanasoaia
- UC Santa Cruz
- Reese Levine
- Tyler Sorensen
- Unity
- Brendan Duncan
- Dominic Cerisano
- Dzmitry Malyshau
- Eduardo H.P. Souza
- Jeremy Sachs
- Joshua Groves
- Iwo Plaza
- Lukasz Pasek
- Matijs Toonen
- Mehmet Oguz Derin
- Michael Shannon
- Pelle Johnsen
- Robin Morisset
- Timo de Kort
- Tyler Larson
- Jason Erb
- Lee Mighdoll
- Wednesday 10am-10:50am
- https://meet.google.com/xrp-hpck-vmy
- Everyone welcome
- Mass calendar invite will have been sent out
- If you still need an invite, add your email here:
- kelsey.gilbert@mozilla.com (example)
- If you still need an invite, add your email here:
- WebGPU game, based on Unity. https://play.projectprismatic.com/
- KG: Technically we didn't have, but things we probably wouldn't implement divergently. But we could spec it.
- DN: We talked to JLJ about these, a lot are editorial, and most can just be bug fixes.Haven't looked in detail. Looked at another (#5100) one which tightens behaviour analysis which we can discuss.
- JP: All look editorial except #5100
- Editorial
- Editorial
Explicitly state how to handle an if statement with an empty else in uniformity analysis · Issue #5122
- Editorial
- Editorial
Making uniformity analysis less conservative via statement behaviour analysis · Issue #5100 · gpuweb/gpuweb · GitHub
- DN: Basically a bugfix, but allows a few more programs to go through. We come to wrong conclusion in a few places. A few other conditions to hang together but a nice catch.
- KG: Phrased as new entry point, asked would overload would work and they said yes
- DN: We think it's a good thing to do, if used did themselves they'd have to do extra work for something we could do for them. Think we should add an overload to
workgroupUniformLoadthat takes an atomic - KG: Easy to implement?
- JP: Yup
- KG: So, idea is we'd just add to core WGSL?
- DN: Yes.
- KG: PR welcome.
WESL presentation (Lee Mighdoll @mighdoll@techhub.social, Stefan Brandmair @stefnotch, Iwo Plaza @iwoplaza)
- Slides: WESL for the WGSL Team.
- WGSL tweaks
- Allow attributes in many more places, to allow for
@if - Const_assert in unreachable functions?
- AB: maybe a ‘pipeline_assert’ that only fires when it’s statically accessed for pipeline creation. Flow considerations. When is material handled (e.g. module link to create a shader), when should errors fire.
- Passing source maps in?
- Allow attributes in many more places, to allow for
- KG: Back because CW said worried about possible confusion of vulkan features for bindless and bindful indexing. Different names for these would be nice. Think the idea is that this is for sized binding arrays and want to know if you can index into them non-uniformly without making the big waterfall thing. Looks like the main exception is GL so CW says at worst we may have to restrict compat in this regard which is probably fine. Do people find this argument compelling for just being able to say we support dynamic indexing on these arrays of opaque objects
- DN: Haven't looked.
- KG: I think this isn't pressing, something I don't think we have on the api side yet. Will leave this as homework.
- KG: Writability of INF and NaN
- DS: They run through MLIR and generate an INF
- DN: They should just write out 0
- JP: They're generating something that is rejected by us.
- PM: Could they use let?
- JP: They could to fake it.
- KG: one of those things that can be frustrating when you have a tall stack of things and one of the things that might be useful is to step around this. Saying we're trying to protect you from yourself. This has no valid use. How contentious would it be to have the ability to attribute allow invalid values? Could spec that if you use this attribute we replace with a standard value. (We flush INF to 0).
- DS: Diagnostic control to convert INF and NaN to 0
- KG: That way people don't have to keep up with our constant folder.
- DN: Like the idea of diagnostic
- DS: Me too
- DN: Worried about math going weird downstream and causing compiler issues. Would need to think through it. Array sizing, alignments, etc.
- AB: Global thing? We insert a 0 and they divide by that later and it doesn't have the diagnostic?
- KG: I think not a global, so down the line, you'd then get another error that you need to deal with. We let you kick the can down the road. PR welcome.
- Next meeting!: Tuesday April 29, 2025, 11a-noon (America/Los_Angeles)
- (Can we talk about:)
- But email Kelsey or the list if you want to meet sooner!