Bug 1858361 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

[CanvasContext::MaybeQueueSwapChainPresent()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CanvasContext.cpp#172) triggers to present swap chain by posting Runnable to current thread.
It could skip to present multiple CommandBuffer::Commit().

[CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) is called in [Queue::Submit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/Queue.cpp#36). Then it seem better to present swap chain just after PWebGPUChild::SendQueueSubmit().
[CanvasContext::MaybeQueueSwapChainPresent()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CanvasContext.cpp#172) triggers to present swap chain by posting Runnable to current thread.
It could skip to present multiple [CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38).

[CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) is called in [Queue::Submit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/Queue.cpp#36). Then it seem better to present swap chain just after PWebGPUChild::SendQueueSubmit().
[CanvasContext::MaybeQueueSwapChainPresent()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CanvasContext.cpp#172) triggers to present swap chain by posting Runnable to current thread.
It could cause to skip to present multiple [CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38).

[CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) is called in [Queue::Submit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/Queue.cpp#36). Then it seem better to present swap chain just after PWebGPUChild::SendQueueSubmit().
[CanvasContext::MaybeQueueSwapChainPresent()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CanvasContext.cpp#172) triggers to present swap chain by posting Runnable to current thread.
It could cause to skip to present [CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) rendering result multiple times.

[CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) is called in [Queue::Submit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/Queue.cpp#36). Then it seem better to present swap chain just after PWebGPUChild::SendQueueSubmit().
[CanvasContext::MaybeQueueSwapChainPresent()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CanvasContext.cpp#172) triggers to present swap chain by posting Runnable to current thread.
It could cause to skip to present [CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) rendering result multiple times. It depends on timing.

[CommandBuffer::Commit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/CommandBuffer.cpp#38) is called in [Queue::Submit()](https://searchfox.org/mozilla-central/rev/5ad226c7379b0564c76dc3b54b44985356f94c5a/dom/webgpu/Queue.cpp#36). Then it seem better to present swap chain just after PWebGPUChild::SendQueueSubmit().

Back to Bug 1858361 Comment 0