- Add a Configuration struct to the WebGPUPlatform class. This
allows for client-side setting of WebGPU backend configurations.
- Add a configuration for forcing the wgpu backend to pick a
certain backend.
- Add Vulkan as a potential backend for WebGPU + MacOS.
- Locally modify Dawn so that it does not assume only switfshader
is available for Vulkan on MacOS.
- Enable vulkan support for Dawn (third_party/dawn/tnt/CMakeLists.txt)
- Plumb option to pick different WebGPU backend through
FilamentApp and gltf_viewer.
Update glslang/tnt/README to point to updated commit hash
Glslang switched from using spirv.hpp to using spirv.hpp11
which collides with spirv.hpp when used in the same .cpp file.
This change requires https://github.com/google/filament/pull/8729
before it can compile. That has already landed.
Replace cmakelist content with few set and includes
Add the patch file to convert dawn shared to static lib
Thanks Robbie Bridgewater for helping out with this implementation
Current copy is cloned using hash: 51694fd33cdaaec5bdd7ab3dc4f488f5818fd870
.git and .gitignore have been cleanup. tests,docs,webgpu-cts folders have been deleted.
For more details look at third_party/dawn/tnt/README.md file, which will be
pushed in subsequent patch.
For GL+Linux, PlatformGLX will try to open an X11 window
regardless of whether we are doing headless/offscreen rendering
or not.
Here we add an OSMesa platform, which will allow us to avoid
opening any window on Linux. This is particularly useful for
situation where a display is not available, like for CI.
One important detail is that even though we are displaying through
a window, we keep the SDL2 dependency in tact for gltf_viewer.
This is due to the fact that gltf_viewer is built upon
FilamentApp, which is heavily integrated with SDL2. This is mostly
ok since we won't be hitting any path for opening a window due to
gltf_viewer's existing support for headless mode.