Skip to content

WGSL 2021 05 25 Minutes

Jeff Gilbert edited this page Jun 1, 2021 · 1 revision

WGSL 2021-05-25 Minutes

🪑 Chair: Jeff Gilbert

⌨️ Scribe:

🗺 Location: meet.google.com

🌐 Timezone: America/Los_Angeles

⌚ Time: Tuesday 11am-noon

Specification: https://webgpu.dev/wgsl

Meeting Issues: Marked Issues

Open Issues: WGSL Issues

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 Dan Sinclair 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
    • Myles C. Maxfield
    • Robin Morisset
  • Google
    • Alan Baker
    • Ben Clayton
    • Brandon Jones
    • Corentin Wallez
    • David Neto
    • Ekaterina Ignasheva
    • Kai Ninomiya
    • James Darpinian
    • James Price
    • Rahul Garg
    • Ryan Harrison
    • Sarah Mashayekhi
  • Intel
    • Narifumi Iwamoto
    • Yunchao He
  • Microsoft
    • Damyan Pepper
    • Greg Roth
    • Michael Dougherty
    • Rafael Cintron
    • Tex Riddell
  • Mozilla
    • Dzmitry Malyshau
    • Jeff Gilbert
    • Jim Blandy
  • Kings Distributed Systems
    • Daniel Desjardins
    • Hamada Gasmallah
    • Wes Garland
  • Dominic Cerisano
  • Eduardo H.P. Souza
  • Joshua Groves
  • Kris & Paul Leathers
  • Lukasz Pasek
  • Matijs Toonen
  • Mehmet Oguz Derin
  • Pelle Johnsen
  • Timo de Kort
  • Tyler Larson

⚖️ Agenda/Minutes

Meta

Office Hour

VF2F

  • Survey soon!


Timebox

  • (wgsl: access mode is no longer an attribute)
  • (Had one round of review, and addressed.)
  • (Can we land this?)
  • DM: When do we specify access quals for pointers. Spec has it for function. I will follow up offline.
  • (Editorial: “mipmap level” -> “mip level”)
  • JG: Seems fine.
  • AB: the hard case was overridable. This is non-overridable. Simple case. Since we don’t have constexpr, this is at most substitution.
  • DM:When we do get constexpr there is more work.
  • Discussion about relation to spir-v spec constant expressions
  • RC: In compile HLSL you can’t override workgroup size.
  • TR: HLSL can do some limited amount of const expr by “static const int”. Believe you can use that for num_groups.
  • DM: Sounds like that fits well.
  • JG: So seems implementable.
  • AB: We already adopted the harder version. (overridable).
  • JG: But overridable can’t be const-expressions. They’re just identifiers.
  • DN: module-scope constants can only be literals right now.
  • Agree to land
  • Undefined in spir-v and in glsl for negatives
  • DN: Please mak the polyfill without control flow. (use select)
  • DN:DM: What about overflows generally? INT_MIN / -1? (overflows signed integer)
  • JG to file an issue for that
  • DM to try making a spir-v polyfill
  • (probably fine. One day for people to double-check)


Discuss

  • MM to talk with Metal team about proposed solution (i64 all the time)
  • (nothing new)
  • DM: Uses semantics of “orginating variable”. Which is WSGL-centric. Have to consider the host-side. Consider the resource which is the source for the binding.
  • MM: But the point is you won’t see data from another resource. Use case is you might multiplex multiple user contexts into a single graphics context? Is that the point.
  • DM: Think they want to limit it as much as possible.
  • RC: For each access you want to know which buffer is being accessed.
  • MM: What happens on Vulkan with bindless.
  • Metal guarantees no access reaches outside the process.
  • Same for Windows
  • Discussion about separating WebGPU context per process
    • Has high cost. E.g. sharing with image sources, compositing.
    • Firefox shared compositing resources across processes
  • RC: Reaching within process but outside resources can land on a page you own (safe), or not own (which leads to crash). That’s “safe” but non-portable and painful to deal with.


📆 Next Meeting Agenda

Clone this wiki locally