Skip to content

WGSL 2025‐04‐01 Minutes

Kelsey Gilbert edited this page Apr 1, 2025 · 1 revision

WGSL 2025-04-01 Minutes

🪑 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.


📋 Attendance

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

📢 Announcements/Meta

Office Hour

FYIs and Notable Offline Merges


⏳ Timeboxes (until XX:20)

Uniformity clarifications from @JamesLee-Jones:

  • 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
  • Editorial
  • Editorial
  • 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.

Other issues:

  • 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 workgroupUniformLoad that 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.

⚖️ Discussions

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?
  • 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 Agenda Requests

  • 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!

Clone this wiki locally