commit | 254606dcbe2cabe5a8b3886c7f5f6404417302e1 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <[email protected]> | Fri Apr 26 09:15:16 2019 |
committer | Commit Bot <[email protected]> | Fri Apr 26 09:15:16 2019 |
tree | 9b811b802728c52917fbb8056a832419cbc460eb | |
parent | 1922754937da7c6be8348a4b53768f1f3d37c0e1 [diff] |
WebGPU: implement initial swapchain This implements GPUCanvasContext that's mostly a proxy for a GPUSwapChain because the swapchain can be reconfigured on the GPUCanvasContext multiple times. GPUSwapChain mostly wraps in a GPUTexture the DawnTextures it receives from the WebGPUSwapBufferProvider. They are split for memory management reasons with the GPUSwapChain that's GCed and the WebGPUSwapBufferProvider that's refcounted, and because the WebGPUSwapBufferProvider needs to live in blink_platform. Textures for the swapchains are created from shared images, associated with Dawn textures while the application is rendering to them, and then sent to the compositor for presentation. A stub version of WebGPUInterface is added to help mock/fake it for testing. BUG=chromium:877147 Change-Id: I5e08cf1bb6d178fb42aacee5fc67284eda764822 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1581969 Commit-Queue: Corentin Wallez <[email protected]> Reviewed-by: Eric Karl <[email protected]> Reviewed-by: Kenneth Russell <[email protected]> Reviewed-by: Kai Ninomiya <[email protected]> Cr-Commit-Position: refs/heads/master@{#654384}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .