dawn-cmake/examples
Corentin Wallez 11652ff8f8 Implement the webgpu.h swapchains on Metal
The webgpu.h surface-based swapchains are implement on Metal which
required adding the present mode to NewSwapChainBase.

Additional automated tests are added which require getting the Instance
so a new getter is added to DawnTest. Additional some the state tracking
of swapchains is performed in the backend, so the
SwapChainValidationTests are turned into regular DawnTests so they can
check backends do the correct state tracking. To not lose coverage of
the Null backend, a NullBackend() DawnTestParam factory is added.

Finally swapchains cannot be entirely tested in an automated fashion, so
a new example is added called "ManualSwapChainTests" that allows
manually checking a number of properties. Documentation of the controls
and a manual test plan is in a comment at the top of the example's
source.

Bug: dawn:269

Change-Id: If62fffc29a6cefdbec62747d01c523e2a5475715
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/17181
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-03-20 17:07:20 +00:00
..
Animometer.cpp Make the SwapChain interface match webgpu.h 2019-11-12 18:30:11 +00:00
CHelloTriangle.cpp Implement the webgpu.h swapchains on Metal 2020-03-20 17:07:20 +00:00
CMakeLists.txt Add initial CMakeLists.txt files 2020-02-05 17:16:05 +00:00
ComputeBoids.cpp Make the SwapChain interface match webgpu.h 2019-11-12 18:30:11 +00:00
CppHelloTriangle.cpp Make the SwapChain interface match webgpu.h 2019-11-12 18:30:11 +00:00
CubeReflection.cpp Make the SwapChain interface match webgpu.h 2019-11-12 18:30:11 +00:00
ManualSwapChainTest.cpp Implement the webgpu.h swapchains on Metal 2020-03-20 17:07:20 +00:00
SampleUtils.cpp Add the webgpu.h swapchain creation path 2020-01-23 17:20:38 +00:00
SampleUtils.h Make examples and utils use webgpu.h 2019-10-25 11:36:47 +00:00