- Update get-mesa.sh to query dpkg --print-architecture to install
the correct packages dynamically, enabling aarch64 support.
- Update get-vulkan-sdk.sh to install via apt-get on Linux
(libvulkan-dev, vulkan-validationlayers, glslang-tools,
spirv-tools) instead of downloading LunarG's x86_64 tarball.
- Add runner architecture to Mesa and Vulkan SDK GitHub Action cache
keys to prevent collision.
- Update test.sh and preamble.sh to detect aarch64 and point to
the appropriate aarch64-linux-gnu libraries.
- Fix typos and some renaming
- Move header check from postsubmit to presubmit
- Install third_party/getop if needed
- Modify check-headers test to use system getopt when it's available.
Android App:
- Refactored activity_main.xml to use modern Material 3 components.
- Grouped Export/Help buttons logically and moved ADB instructions
to dedicated info icons.
- Added an in-app "Load Test" button to explicitly pick test bundles.
- Updated ValidationInputManager.kt to gracefully handle relative
zip_path intent execution via ADB targeting app external storage.
Tooling & Documentation:
- Added a Python Textual TUI (validation_app.py) to automate device
discovery, test execution, bundling, renaming, and
downloading/uploading.
- Added README.md in test/render-validation documenting ADB intent
parameter capabilities and TUI dashboard setup.
- Introduces the `RDIFF_ACCEPT_NEW_GOLDENS` commit message tag.
- Conditionally skip the `test-renderdiff` presubmit comparison
if this tag is present.
- Extracts renderdiff generation into a reusable
`.github/actions/renderdiff-generate` composite action.
- Modifies `postsubmit-main.yml` to automatically generate new
goldens and push them to a temporary
`accept-goldens-<short-hash>` branch before merging them into
`main` when the tag is found.
- Add a presubmit check after the android build to check the
built artifact sizes against previous build sizes.
- If the size built is +20K over the previous, then the test
fails.
- This prevents dramatic size increases of our mobile build
- Add a script to test/sizeguard to compute sizes of artifacts
within a compressed file.
- Add a step to postsubmit-main.yml that will run the above
script on every commit to main.
This will enable us to add a presubmit step to guard against
dramatic size increases in the Android build.
This tool uses existing libraries: image, imageio, imageio-lite,
imagediff to perform difference comparison for on-disk images.
We refactor renderdiff to use this tool instead of using
python dependencies.
Co-authored-by: Ben Doherty <bendoherty@google.com>
- Extended Settings to include properties for Camera, Animation, Lights,
and Render options.
- Moved camera options from Viewer options to Camera options
- Implemented generic JSON parsing for these new settings in Settings.cpp.
- Updated AutomationEngine to apply these settings, including dynamic
creation of lights.
- Fixed a JSON parsing bug in AutomationSpec that failed on nested objects.
- Updated gltf_viewer to use the new settings and correctly initialize
AutomationEngine context.
- Add test for new json changes
- Add README to libs/viewer
- Link libs/viewer/README.md to official doc
- Remove unused libs/viewer/schemas
- Updated remote web assets (because the viewer/settings json needs to
match)
- Reorder the release-related documents into one heading.
- Added CocoaPods README as part of the documentation.
- Fixed typo for renderdiff doc
- Added backend test doc
- Make sure that renderdiff fails when either building or
rendering fails (the previous problem was in the use of &&
that masked the non-zero exit).
- Make sure that golden branch is properly parsed in
postsubmit.yml
- Disable vk loader debug by default
WebGPU's rendering of bloom sems to be non-deterministic. This
is not expected. For now, we disable bloom+webgpu to avoid
hitting flakes in our CI.
This required a slight refactoring of the test configuration
parsing and execution scripts.
RDIFF_BRANCH=pf/renderdiff-disable-bloom-webgpu
- On webgpu, do not error on linux when we're building headless
only (without platform support for surface).
- For test/backend/test.sh, enable path for building on
Linux + 64-bit x86
This commit enables running the backend tests for opengl and
vulkan on github CI. The script is located in test/backend.
We also add exceptions (SKIP_TEST) for the currently failing
tests. Issues have been filed to track addressing these failed
tests.
We also disable a series of broken webgpu tests.
- Add transmission and ssao tests
- Small mods to README.md
- Add transmission models to gltf list
- Change focal length to zoom in for more details
RDIFF_BRANCH=pf/renderdiff-add-transmission
- --no_rebuild will skip building the gltf_viewer again
- --num_threads will limit the number of threads used in running
the rendering test.
Both of these options are meant for debugging locally.
- Fix the magnifier positioning for both compare and standalone
mode. Simplified a lot of the logic and streamlined passing
of states between components.
- Slight css adjustments
The viewer supports pulling artifacts based on PR number, and now
we support providing Run ID as an alternative to identify the
renderdiff run on Github CI.
Since #9259, CString in VulkanPlatform fall into the literal
constructor path. But we really want the null-terminated
(char const*) path. So we cast the strings to (char const*)
to enforce null-teriminated behavior.
RDIFF_BRANCH=pf/renderdiff-add-tolerance
- Allow for presets to override selected models when presented
in order.
- Add 'gltf' for model search path
- Add a few simple gltf models to the 'base' preset
- Improve UI so that missing tests do not generate any html
bits.
- Add documentation on using the viewer
- Add renderdiff documentation to the project webpage.
RDIFF_BRANCH=pf/renderdiff-enable-webgpu
Add a way to show the difference between two rendererd image.
This is a convenience feature to see the differences between
backends.
Refactor the ExpandedFailedResult to use this new view.
- Move upload step to later so that comparison result is also
included in the upload
- Fix the wrong relative paths in the comparison_result.json
- Fix viewer logic to pick only the latest run for a PR.
Previously, if a comparison fails then the artifacts are not
uploaded. This is defeats the puprpose of having artifacts. We
fix that by moving the test logic into presubmit.yml.
local_test.sh is the way to repro a run from local machine.