Re: Question about integrating WebGPU into chromium

Skip to first unread message

Kai Ninomiya

Mar 12, 2019, 4:12:43 PM3/12/19
to 钱虔(雨悬), Graphics-dev,
This sounds Chromium/Dawn specific; moving this to more appropriate lists.

On Tue, Mar 12, 2019 at 7:36 AM 钱虔(雨悬) <> wrote:
Hi, WebGPU team

This is Qian Qian from Alibaba Group, I'm leader of Alibaba's 3D engine team

We're developing an advanced 3d rendering engine, and I'm very excited for the possiblity of putting it on browser
I'd like to put my team into a chromium-dawn integration test to help developing of WebGPU, there's some question I wish someone would enlighten me before we start developing

This is my understanding of current chromium gpu process
Suppose we use a Vulkan backend for webgpu, we then need to do
1. Replace GPU process GL-backend with dawn's Vulkan-backend
2. CCRenderDawn (CCRenderVulkan) for compositor
3. Translate all WebGL commands by Angle ? 
Correct me if I'm wrong

If this is the way we should take, then we'll need Angle for every platform ? dx12, metal, vulkan ?
And translating webgl to dx12, metal, vulkan, doesn't seem so efficient

Corentin Wallez

Mar 13, 2019, 2:50:30 AM3/13/19
to Kai Ninomiya, 钱虔(雨悬),
Hey Qian Qian,

WebGPU is a separate code path from WebGL and there is no plan to layer ANGLE on top of Dawn at this moment. I'd be happy to talk about this more. My understanding is that you discussed with Yunchao already, is there a possibility we could meet in Shanghai on Friday?



You received this message because you are subscribed to the Google Groups "Dawn Graphics" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
To view this discussion on the web visit
For more options, visit

Stephen White

Mar 13, 2019, 10:59:22 AM3/13/19
to Corentin Wallez, Kai Ninomiya, 钱虔(雨悬),
Hi Qian Qian,

For WebGL (unlike WebGPU), the current plan is to interoperate with the new APIs rather than translating WebGL/OpenGL directly to them. The interop work is being abstracted behind a new class called SharedImage. It will also subsume the responsibilities of the current GPU mailbox. Here's an early design doc under its old name, "Shareable Image". WebGL will continue to send OpenGLES commands over the command buffer into the GPU process.

For example, on Android this means we'd continue to use the OpenGL driver for WebGL, and interop with the Vulkan driver being used to draw the rest of Chrome via GL and Vulkan extensions used inside SharedImage.

We do have a newly-written Vulkan backend for ANGLE, but there are currently no plans to use it in Chrome.

The compositor will use the SkiaRenderer, since Skia already has a Vulkan backend.


Reply all
Reply to author
0 new messages