Open Bug 1806659 (webgpu-official-samples) Opened 3 years ago Updated 1 year ago

[meta] Ensure that official WebGPU samples work (except for `rgba16float` canvas formats)

Categories

(Core :: Graphics: WebGPU, task, P3)

task

Tracking

()

REOPENED

People

(Reporter: nical, Unassigned)

References

(Depends on 3 open bugs, Blocks 1 open bug, )

Details

(Keywords: meta)

Meta bug to track outstanding spec compliance and stability issues preventing us from running WebGPU demos (picking Austing Eng's because I think they are to date withe the spec https://austin-eng.com/webgpu-samples)

Depends on: 1806660
Summary: [meta] Austing Eng demos → [meta] Austin Eng demos
Assignee: nobody → egubler
Summary: [meta] Austin Eng demos → [meta] Ensure that official WebGPU samples work
Alias: webgpu-v1-samples
No longer depends on: VideoFrame
Assignee: egubler → nobody
Severity: N/A → S3
Blocks: webgpu-v1
No longer blocks: webgpu-apps
Summary: [meta] Ensure that official WebGPU samples work → [meta] Ensure that official WebGPU samples work (except for video import)

We're not going to worry about video import for now.

Blocks: webgpu-apps
Alias: webgpu-v1-samples → webgpu-official-samples
No longer blocks: webgpu-triage

One of Mozilla's partners has indicated that videoUploading (note, no WebCodecs) is critical to them. Let's be sure to include that in our goals.

That is: https://webgpu.github.io/webgpu-samples/?sample=videoUploading

Summary: [meta] Ensure that official WebGPU samples work (except for video import) → [meta] Ensure that official WebGPU samples work (except for WebCodecs video import)
Depends on: 1960093
Depends on: 1960101

Diff since last update:

  • metaballs, bundleCulling, and marchingCubes are now resolved.

  • On Windows, animometer and renderBundles reports an OOM issue that invalidates the device (bug 1962806)

     Uncaught Error: uncaught exception, please report a bug!
       https://github.com/webgpu/webgpu-samples/issues/new
     Error: Uncaptured error:
     Not enough memory left.
    

    I cannot reproduce this issue on macOS, on which these demos work fine now.

  • On Windows, bitonicSort now causes a crash in the CanvasRenderer thread, reporting device loss with WebGPUChild destroyed; filed bug 1962807.

    On macOS, this crash does not happen, though the demo does go significantly more slowly than in Chrome Beta on Windows.

Running list of observed problems (mostly tested on Windows 11):

  • animometer and renderBundles have crashes on Windows (see above).
  • Bug 1953930: These continue to report Pipeline constant error in ShaderStages(FRAGMENT) shader: …:
    • samplerParameters: MissingValue("kTextureBaseSize")
    • cornell: MissingValue("AccumulationToLightmapWorkgroupSizeX")
  • bitonicSort now runs on macOS, though there's a new crashing issue on Windows (see above).
  • particles fails and reports OperationError: GPUCanvasContext.getCurrentTexture: Canvas not configured in the console (bug 1967329).
  • a-buffer's alpha blending is wrong, but otherwise runs. This seems like a similar root cause to bug 1911502.
  • resizeObserverHDDPI continues to display artifacts on resize (bug 1960101).
  • marchingCubes continues to struggle to do more than a few frames per second (bug 1937100, which need not keep this bug open).
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Depends on: 1967329

Bug 1834395 tracks the cause of the current failure in the particles demo, GPUCanvasContext.getCurrentTexture: Canvas not configured. This error appears concurrently with the errors due to bug 1960112 in affected builds. In my triage on April 11, I must have either missed this issue, or assumed it was a consequence of the other problem.

No longer depends on: webgpu-rgba16float

Since Firefox won't support rgba16float presentation in 2025H1, the particles demo is now out of scope for this bug.

Summary: [meta] Ensure that official WebGPU samples work (except for WebCodecs video import) → [meta] Ensure that official WebGPU samples work (except for `rgba16float` canvas formats)
No longer depends on: 1937100
Depends on: 1969093
Depends on: 1972628

I tested all samples on macOS, almost all work, 3 run into known issues:

You need to log in before you can comment on or make changes to this bug.