Closed Bug 1909257 Opened 1 year ago Closed 1 year ago

WebGPU DOM atomicity: presentation is not in sync with the DOM transaction

Categories

(Core :: Graphics: WebGPU, defect)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: nical, Unassigned)

References

(Blocks 1 open bug)

Details

I think that another bug already exists for this but I can't find it at the moment, so filing this one.

Links

Terms to look for in the spec:

https://gpuweb.github.io/gpuweb/#canvas-hooks

What Gecko does

(Copied from some notes I took a year ago:)

What I think should happen

  • in some JS callback C, if canvas canvas.getCurrentTexture() is called enqueue a task to expire the texture at the end of C.
    • This is so that we cannot use the canvas's current texture outside of the scope of C
  • if in C work is submitted affecting a canvas, add the canvas to C's transaction
  • when the transaction is applied in the compositor process, flip the canvas's texture.
Summary: WebGPU dom atomicity: presentation is not in sync with the DOM transaction → WebGPU DOM atomicity: presentation is not in sync with the DOM transaction
See Also: → 1869931
Severity: -- → S3

(In reply to Nicolas Silva [:nical] from comment #0)

What Gecko does

(Copied from some notes I took a year ago:)

"What Gecko does" part is very different in current gecko. Then WebGPU of main thread canvas rendering is sync to dom.

Remote texture of main thread canvas is presented in WebRender in sync with WebRenderBridge transaction (DOM transaction).

See Also: → 1863257

Great! thanks for the details, Sotaro. Closing this, then.

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.