Description
32 bit float textures are available as blendable render targets via an extension in webgl 1 and webgl 2, but not in webgpu. See WEBGL_color_buffer_float, EXT_color_buffer_float, OES_texture_float.
Without 32 bit blend support, webgpu web apps are at a disadvantage compared to webgl. 16 bit floats may introduce unacceptable inaccuracies e.g. for scientific visualization.
Without 32 bit blend support, I suppose it’s possible to reorient rendering to blend in workgroup tiles. But that seems likely to be slower, complicated, and limited by the lack of floating point atomics.
(An older comment in the webgpu chat claimed that apple silicon doesn’t support 32 bit float textures. Is that true? 32 bit float textures work on my current m1 mac, and an older intel mac I checked. https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf suggests support on older silicon as well.)