Includes the following updates to Filament and Dawn to support the new version: - CMake Configuration: Enabled OBJC/OBJCXX and set C++ standard to 20 for Apple targets to support Dawn's Metal backend. - WebGPU Backend API: Replaced `wgpu::ShaderModuleWGSLDescriptor` with `wgpu::ShaderSourceWGSL`, updated compilation info callbacks to use `wgpu::CompilationInfoRequestStatus`, and removed deprecated `wgpu::TextureFormat::External`. - Tint Integration (`GLSLPostProcessor.cpp`): Migrated to `ReadIR` and `WgslFromIR`. Enabled `allow_non_uniform_derivatives` and `disable_unreachable_code_warning` to bypass strict uniformity analysis on UBOs, and allowlisted `gl_ClipDistance` for stereoscopic materials. - Dawn Patches: Manually re-applied and updated `remove-vk-macos-restriction.patch` to account for upstream refactoring in `BackendVk.cpp`. - AppleClang 17 RTTI Workaround: Added `tint-texture-gather-unwrap-pointer.patch` to conditionally bypass an AppleClang 17 optimizer bug causing RTTI dynamic cast failures in Tint (`TINT_ASSERT(tex_ty)`). Turns out this workaround is necessary for linux clang as well.
Used to build Dawn as an Android Archive package via Maven.
To build in Android Studio:
View -> Tool Windows -> Gradle -> 'Execute Gradle Task' -> gradle publishToMavenLocal
To build in a bash shell, install the Gradle Wrapper in this folder.
https://docs.gradle.org/current/userguide/gradle_wrapper.html#header
Then:
./gradlew publishToMavenLocal