Open sagudev opened 1 week ago
Current webgpu rendering pipeline does 3 copies (more overall description in https://servo.org/blog/2020/08/30/gsoc-webgpu/#presentation):
I think we can avoid last two copies by simply passing mapped buffer to wr, then replacing it with new mapped buffer and unmapping old one.
Technically we could pass underlying texture to wr, but only if wgpu used opengl backend (because wr uses opengl).
As noted in #33368, I think we can remove it as well by using Mutex on GPUPresentationBuffer, so wr will lock/unlock it when used, but this could increase contention with update_wr_image where we are replacing with new buffer.
Current webgpu rendering pipeline does 3 copies (more overall description in https://servo.org/blog/2020/08/30/gsoc-webgpu/#presentation):
I think we can avoid last two copies by simply passing mapped buffer to wr, then replacing it with new mapped buffer and unmapping old one.
Technically we could pass underlying texture to wr, but only if wgpu used opengl backend (because wr uses opengl).