这是indexloc提供的服务,不要输入任何密码
Skip to content

Compat: renderable float16, float32 textures #4417

@greggman

Description

@greggman

WebGPU requires float16 texture formats to be renderable. It also requires float32 to be renderable but not filterable.

OpenGL ES 3.1 on the other hand, does not require either of these

  • renderable float16 textures requires EXT_color_buffer_half_float
  • renderable float32 textures requires EXT_color_buffer_float

Checking what data I can find, there are bunch of OpenGL ES 3.1 devices that don't support some of these. Note: these are not all devices, rather, these are devices that have a large number of active users.

  • devices that support none of those extensions

    • Mali-T720
    • Mali-T624.
  • devices that only support EXT_color_buffer_float (but not half float) 🤷‍♂️

    • Mesa DRI Intel(R) HD Graphics 400 (Braswell)
    • Mesa DRI Intel(R) HD Graphics 500 (Broxton 2x6)
    • VideoCore V HW (V3D-510)
    • VideoCore V HW (V3D-520)
    • VideoCore V HW (V3D-620)
    • VideoCore V HW (V3D-630)
    • PowerVR Rogue GE8100
    • PowerVR Rogue GE8000
    • PowerVR Rogue GE8320
    • PowerVR Rogue GE8322

    Note that all the PowerVR devices claim to support EXT_float_blend as well

So, for compat, do we

  • add a "texture-float16" feature?
  • add a "texture-float32" feature?
  • require the formats to be supported and therefore not support these devices

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatWebGPU Compatibility Mode

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions