Allows for the use of the half-precision floating-point type f16 in WebGPU shaders (WGSL). Developers can use the 'shader-f16' feature from the WebGPU spec and the 'f16' extension from the WGSL spec to access 16-bit floating point variables and APIs in their shaders.
None
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
None at the moment, WebGPU currently does not ship on Android WebView. Parallel work is occuring to launch WebGPU on Android.
None
All platforms will eventually have support. Will immediately be available on Mac and Chrome OS, since those are platforms already support WebGPU. Windows support depends on internal changes to use DXC, which are in progress, so f16 will become availabe once that is finished. Linux and Android are planned to have WebGPU support in the future, so feature will become available when WebGPU does.
WebGPU/WGSL have a conformance test suite (https://github.com/gpuweb/cts) that is regularly pulled into Chromium and part of the testing of Dawn/Tint in Chromium. Test coverage for execution of f16 operations has been implemented, https://github.com/gpuweb/cts/issues/1248. Additional testing is in development.
Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?
NoShipping on desktop | 120 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
None, f16 has been landed in the WebGPU and WGSL specs https://github.com/gpuweb/gpuweb/pull/2696 (There is some discussion about whether or not explicit enabling of extensions should be required. Currently it is, so If this changes existing shaders would be fine because the desire is to make enabling optional, not removing the mechanism entirely).--
You received this message because you are subscribed to the Google Groups "spec-mentors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to spec-mentors...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/spec-mentors/CAM4DYDYKqZ5Sa29hmbdh58EtyBpcb4sJxHj3%3D4UNODHNtV32ig%40mail.gmail.com.
For more options, visit https://groups.google.com/a/chromium.org/d/optout.
Do you have any working mode documentation you can point to to back up the assertion that "Apple and Mozilla are in the WG where this was discussed so they approve"? Links to WebKit or Gecko bugs for implementing the feature would be helpful.
Developer signals should also be filled in. Why are we shipping this if no developer is interested in it?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/spec-mentors/CAM4DYDZBGEMYwXuyO3cK4mGDtambKvyDjc1ReKYmpanYZd8Rww%40mail.gmail.com.
+cc: cwallez, since he is the lead for WebGPU and probably can answer things more authoritatively (I meant to include him on the original email)
On Wed, 4 Oct 2023 at 13:31, Reilly Grant <rei...@chromium.org> wrote:Do you have any working mode documentation you can point to to back up the assertion that "Apple and Mozilla are in the WG where this was discussed so they approve"? Links to WebKit or Gecko bugs for implementing the feature would be helpful.
There is WebKit bug for f16 support, https://bugs.webkit.org/show_bug.cgi?id=254668
Doesn't look like there is Mozilla/Gecko bug for f16 support at the moment. Looking at their bug tracker, it looks focused on implementing v1 of WebGPU and f16 is a post-v1 feature.
I don't have explicit intent to implement the feature, but Kelsey Gilbert from Mozilla chairs the WGSL spec meetings, so is definitely aware of the feature and I don't recall her objecting to it. Kelsey and Jim from Mozilla were at the meeting where f16 was approved for merging into the spec, https://github.com/gpuweb/gpuweb/wiki/wgsl-2022-04-12-minutes#fp16-extension-against-spec-2696 (Representatives from Apple were also at that meeting)
Would this be considered sufficient evidence?
Developer signals should also be filled in. Why are we shipping this if no developer is interested in it?There are definitely internal and external partners that are actively interested in using f16, I am not sure the best way to capture that here, since I am not sure how much of that is currently publicly disclosable. I would probably have to loop in someone more involved in the product side for the specific details.
For things I know that are public:
- Intel has been heavily involved in spec'ing the feature and implementing the feature in Dawn/Chrome, so it isn't something being solely driven by Googlers.
From the original discussion about adding f16, https://github.com/gpuweb/gpuweb/issues/658:
- There is a substantial performance benefit shown in demos/tests, ~25% if ALU bound, and upto 50% if memory bound.
- The underlying platforms that WebGPU uses (Metal/Vulkan/Direct3D) implement f16 support- TF.js was cited as an external project actively investigating using it, (it is definitely used in their WebGL implementation)
On Wed, Oct 4, 2023 at 11:08 AM Ryan Harrison <rhar...@chromium.org> wrote:+cc: cwallez, since he is the lead for WebGPU and probably can answer things more authoritatively (I meant to include him on the original email)
On Wed, 4 Oct 2023 at 13:31, Reilly Grant <rei...@chromium.org> wrote:Do you have any working mode documentation you can point to to back up the assertion that "Apple and Mozilla are in the WG where this was discussed so they approve"? Links to WebKit or Gecko bugs for implementing the feature would be helpful.
There is WebKit bug for f16 support, https://bugs.webkit.org/show_bug.cgi?id=254668
Doesn't look like there is Mozilla/Gecko bug for f16 support at the moment. Looking at their bug tracker, it looks focused on implementing v1 of WebGPU and f16 is a post-v1 feature.
I don't have explicit intent to implement the feature, but Kelsey Gilbert from Mozilla chairs the WGSL spec meetings, so is definitely aware of the feature and I don't recall her objecting to it. Kelsey and Jim from Mozilla were at the meeting where f16 was approved for merging into the spec, https://github.com/gpuweb/gpuweb/wiki/wgsl-2022-04-12-minutes#fp16-extension-against-spec-2696 (Representatives from Apple were also at that meeting)
Would this be considered sufficient evidence?Typically attendance at a meeting where a change was discussed is not considered to be a positive signal for that change. Unless the working group process requires implementation commitments before a change is landed there isn't any reason to expect that other implementers have reviewed and intend to implement the feature. The minutes say that David and Alan approved but guessing from the attendee list both of them are Googlers.I assume the reason why Khronos specifications were exempted from the signals requirement is that their process requires consensus before adopting changes while W3C working groups have a bad habit of being a bit loose.