Skip to content

RGBA32Float blending is used, but not supported by WebGPU #5

@mwyrzykowski

Description

@mwyrzykowski

WebGPU does not support blending on 32-bits per channel RGBA floating point textures, see the chart https://gpuweb.github.io/gpuweb/#plain-color-formats :

Screenshot 2024-09-06 at 11 52 59 AM

However it appears Nanite is attempting to do so: https://github.com/Scthe/nanite-webgpu/blob/a562d80df3da237034bee62d97d87bce0db04967/src/constants.ts#L50C1-L51C1

This is causing a validation error opening https://scthe.github.io/nanite-webgpu/?scene_file=jinxCombined&impostors_threshold=4000&softwarerasterizer_threshold=1360&nanite_errorthreshold=0.1 in Safari / WebKit.

WebKit has one other bug, fixed by https://bugs.webkit.org/show_bug.cgi?id=279266, but with that fix and working around the rgba32float blending issue described here, it appears the nanite demo works in Safari WebKit as well, at least on macOS:
Screenshot 2024-09-06 at 11 06 23 AM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions