-
Notifications
You must be signed in to change notification settings - Fork 378
DNI: Add nightly RTX Remix shader compilation test #9041
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
jvepsalainen-nv
wants to merge
13
commits into
master
Choose a base branch
from
dni-jvepsalainen-ci-add-rtx-remix
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adds a nightly CI workflow to compile RTX Remix (dxvk-remix) shaders as a validation test for Slang compiler changes. This addresses issue #8655 by testing against a real-world, complex shader codebase (195 shader variants with raytracing, path tracing, and advanced material systems). Implementation Details: - Runs daily at 3 AM UTC (after coverage runs) - Uses NVIDIA Packman to download shader compilation tools - Compiles shaders in ~3-4 minutes (total CI time: 10-15 min first run) - Caches Packman packages for speed (~8 min on cached runs) - Non-blocking: informational only, doesn't block PRs Key Optimizations: - No Vulkan SDK required (saves 500MB + 5-10 min) - No MinGW-w64 required (shader-only build) - Packman caching reduces setup time by 2-5 minutes Fixes #8655
Adds testing for the [slangpy-samples](https://github.com/shader-slang/slangpy-samples) repository to provide integration testing of slangpy with real-world examples. # Implementation The `test-slangpy` job now includes slangpy-samples testing alongside the existing slangpy pytest tests. After running slangpy's own tests, the job: 1. Clones the `slangpy-samples` repository 2. Installs dependencies from `requirements.txt` 3. Runs `pytest -n 4 slangpy-samples/tests` (parallel execution with 4 workers) The implementation follows the [original issue's preferred solution](#8186 (comment)). # When It Runs Same conditions as the main slangpy tests, ensuring we test integration examples alongside the core slangpy functionality. Fixes #8186
) This adds a minimal workflow framework that can be manually triggered or run on a nightly schedule. The placeholder allows the workflow to be registered with GitHub Actions, enabling testing of the full implementation from a PR branch before merging. The complete implementation (including dxvk-remix cloning, packman setup, and shader compilation steps) will be added in a subsequent PR and can be tested by manually triggering this workflow from the feature branch. Related to #8655
Replace manual meson setup with the dxvk-remix build_shaders_only.ps1 script, which handles both configuration and compilation with correct parameters. This fixes the "Process completed with exit code 1" error.
The workflow was using a pre-built Slang from packman instead of the checked-out source code. Now builds Slang and adds it to PATH before running build_shaders_only.ps1, ensuring RTX Remix shaders are compiled with the current Slang compiler being tested.
The workflow was using pre-built Slang from packman instead of the checked-out source, defeating the purpose of testing compiler changes. Now builds Slang with cmake default (Ninja) preset and adds it to PATH before running build_shaders_only.ps1. Also fixes the meson setup error by using the official dxvk-remix build script. Follows build recommendations from docs/building.md.
Ninja needs MSVC compiler to be available on PATH. Add ilammy/msvc-dev-cmd action to set up the environment for cmake configure step.
Use cmake --workflow --preset release with LLVM disabled, matching the proven CI build process. Merge configure and build into one step.
Use -version instead of --version.
- Remove redundant slangc version check (wrong flag, already checked) - Add error checking after shader build to catch failures immediately - Remove commented-out issue creation code Ensures shader build failures are properly detected with clear errors.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a nightly CI workflow to compile RTX Remix (dxvk-remix) shaders as a validation test for Slang compiler changes. This addresses issue #8655 by testing against a real-world, complex shader codebase (195 shader variants with raytracing, path tracing, and advanced material systems).
Implementation Details:
Key Optimizations:
Fixes #8655