| Commit message (Collapse) | Author | Age |
| |
|
| |
Issue is fixed with https://github.com/shader-slang/slang/pull/8710
|
| |
|
|
| |
- Update to latest slang-rhi
- Enable additional slang-rhi tests for OptiX 8.0 and 8.1
|
| |
|
|
|
|
|
| |
This skips a new test from slangpy that is hitting an internal assert in
slang CI, uncaught in testing due to slangpy's CI testing using release
builds.
See https://github.com/shader-slang/slangpy/issues/575 for details
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fix a regression on metal test.
In `lowerBufferElementTypeToStorageType` pass, not only we want to defer
an argument that is `CastStorageToLogical` to the callee, but also apply
the same defer logic to `CastStorageToLogicalDeref` as well.
Because `CastStorageToLogicalDeref` will appear as argumnet if
`lowerBufferElementTypeToStorageType` is run before we apply the
`in->borrow` transformation pass, which is the case for metal parameter
block legalization.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For #8596
Fixes #8597
This switches our release workflow back to using GitHub's
`windows-latest` runners, which we were using previously.
It also adds the variable `extra-cmake-flags` to the `windows-aarch64`
entry in the workflow's matrix with the value `"-DSLANG_ENABLE_CUDA=0"`.
If we are cross-compiling aarch64 on x86_64, and the x86_64 CUDA Toolkit
is installed, it will be auto-detected by cmake and the build will fail
(no aarch64 version of CUDA Toolkit exists).
The `windows-latest` runners do not have CUDA Toolkit, so they do not
encounter this issue, but if we do end up building on runners that do
(such as the temporary move to self-hosted runners), adding that flag
eliminates that potential problem.
This release workflow does build properly on `windows-latest` with
`extra-cmake-flags`:
https://github.com/aidanfnv/slang/actions/runs/18293521738
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For #8564
Similar to #8580, this re-adds the cross-compile target setup step for
macOS releases that was erroneously removed in
https://github.com/shader-slang/slang/pull/8470, which made x86_64
releases build aarch64 binaries.
It also simplifies the workflow logic a bit by adding a separate `arch`
variable to the release matrix, which refers to the target architecture
in the manner that the setup requires, so that we do not have to replace
the string `"aarch64"` with `"arm64"` in setting
`CMAKE_OSX_ARCHITECTURES` for native aarch64 macOS builds and do not
have to conditionally set the MSVC `arch` to `amd64_arm64` for Windows
cross-compilation.
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For #8578
This re-adds the cross-compile target setup step for Windows releases
that was erroneously removed in #8470, which made aarch64 releases build
x64 binaries.
The flow should be:
- setup MSVC for host arch
- build generators with cmake
- setup MSVC for cross-compile target arch
- build slang
Based on the description of #8470, it seems that the cross-compile MSVC
step was mistaken as a duplicate for the host MSVC step and removed for
being seemingly redundant.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the recent Windows runtime libraries, a new popup window started
appearing when `abort()` is called. This was observed when VVL prints a
message as a part of WGPU test.
Although it can be helpful when we want to debug it, it breaks the
behavior of CI scripts when the tests are expected to continue even when
they fail. When the test fail, CI script stops in the middle and wait
for a user to click on a button on the dialog window, which cannot
happen. As a result, when there is a VVL error message, CI run stops in
the middle and the testing stops prematurely.
This commit adds a new command-line argument, `-ignore-abort-msg`, that
ignores the abort message and it wouldn't show the dialog popup window.
From the implementation perspective, there are three places that are
related.
- slang-test itself should turn off the flag.
- render-test should turn off the flag after getting the argument from
slang-test
- test-server should turn off the flag after getting the argument from
slang-test
When test-server runs render-test, the arguments are already handled by
slang-test, so test-server needs to just pass through the arguments.
|
| | |
|
| |
|
| |
This allows doc only changes to PASS the CI by skipping jobs.
|
| |
|
|
|
|
|
|
|
|
| |
- Remove hard-coded Win SDK version.
- Using self-hosted machine for building release package in Windows.
- Remove the steps from release.yml that have been done in common steup.
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| | |
|
| | |
|
| |
|
|
| |
- Enable ccache in slang bulid for CTS test
- Allow manual CI dispatch
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Adds retry logic - Implements 3-attempt retry mechanism for
intermittent test failures
2. Reduces parallelism for Linux - Changes server counts back to 1 for
more stable execution, given the test is short in Linux for now
3. Adds detailed error logging - Enhanced diagnostic information for
test parsing failures
4. Add Python 3.10 setup for slangpy tests for github runners
5. Removes submodule checkout for slang and slasngpy tests
6. Adds check-ci job - Implements consolidated CI status for simplified
branch protection rule
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This PR removes "wasm" check from the test job, since there is no test
job for "wasm" yet.
- Also, move the check for slang-rhi and slangpy test to the job level
to skip the setup etc. if no run is needed.
- Update the macos compiler version in building.md to match the clang
compiler used in CI.
- Reduce the server count in Linux and Mac when running slang-test to
ease the machine load
- Run slangpy test with `-n auto --maxprocesses=4` to speed up
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we are missing `ccache --set-config=cache_dir="$ccache_dir"`
and the build was using the default cache_dir.
This PR fixed that and the cache are hit in reruns.
```
📊 ccache statistics (post-build):
Cacheable calls: 1198 / 1198 (100.0%)
Hits: 1195 / 1198 (99.75%)
Direct: 1193 / 1195 (99.83%)
Preprocessed: 2 / 1195 ( 0.17%)
Misses: 3 / 1198 ( 0.25%)
Local storage:
Cache size (GiB): 0.6 / 5.0 (11.11%)
Hits: 1195 / 1198 (99.75%)
Misses: 3 / 1198 ( 0.25%)
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CI has been re-organized with the following:
```
ci.yml (Main Orchestrator)
├── filter job
│ ├── Documentation Only? → Yes → Skip CI
│ └── Documentation Only? → No → Continue CI
│
├── Build Jobs
│ └── ci-slang-build.yml
│ ├── common-setup action
│ ├── Build & Package
│ └── Upload Artifacts (Build package and Tests package)
│
└── Test Jobs
└── ci-slang-test.yml
└── common-test-setup action
├── Download Tests Artifacts ← (from Build)
└── Run Tests
```
To achieve fine-grained build->test dependency, instead of using `matrix
strategy` in single build (or single test) job, the main ci.yml
statically defines the each config of the build and test job.
e.g. `build-windows-debug-cl-x86_64-gpu` and
`test-windows-debug-cl-x86_64-gpu` are a pair of the build-test job for
the windows/debug/ci config.
Closes: https://github.com/shader-slang/slang/issues/6728
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
This avoids uploading the ccache to github and take the cache storage.
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
| |
Related to https://github.com/shader-slang/slang/issues/6728
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This PR enables slang-rhi and slangpy tests in the slang CI for MacOS.
* exclude the slang-rhi `sampler-array` test for mac; issue tracked in
https://github.com/shader-slang/slang/issues/8246
* update slang-rhi for fix of `nested-parameter-block-2`
* for slangpy test, install the required python package in the github
mac runner only each CI run.
Closes: https://github.com/shader-slang/slang/issues/7330
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fixes https://github.com/shader-slang/slang/issues/8271
This PR does the following,
- Fail slang-test when there are VVL error messages.
- VVL error for `gfx-unit-test-tool/` were not captured properly by the
debug callback.
- Set an environment variable,
`VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation`, for CI and
VisualStudio project setup.
- Ignores VVL error about NullHandle is used for the acceleration
structure; a fix is at ToT of VVL and not available from release build
yet.
- Fix VVL error complaining about the varying inputs are not provided
for the tests, `gfx-unit-test-tool/linkTimeTypeLayout.internal` and
`gfx-unit-test-tool/linkTimeTypeLayoutNested.internal`.
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a first pass at adding WASM builds to releases. ~~I haven't
tested the outputs yet but it appears to build successfully in my fork
at least.~~
Edit: Made a fake release in my fork for testing, seems to be working
well for my use case at least:
https://github.com/davidar/slang/releases/tag/v2025.999
Fixes #8207
|
| |
|
|
|
| |
This commit prints an additional information of GPU version while
running CI.yml.
This can help us to debug when things don't work as expected.
|
| |
|
|
|
| |
There was a case where a PR passed CI test a long time ago, and when it
is merged, it caused a regression. We like to run via-glsl test when it
gets merged to prevent it.
|
| |
|
| |
Commit bdda8a9 from PR #7862 had to disable some slangy tests in ci.yml
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the issue template makes the subtitle "bold". It is a little
hard to navigate between the subtitle because the bold is not very
obvious.
This commit makes them to use a bigger font.
Before the change,
<img width="839" height="488" alt="image"
src="https://github.com/user-attachments/assets/08abec42-8389-4404-89a1-5a70670000cd"
/>
After the change,
<img width="840" height="544" alt="image"
src="https://github.com/user-attachments/assets/e2ffdac1-f8dc-40fa-a317-8dda965f3377"
/>
|
| |
|
| |
Fixes https://github.com/shader-slang/slang/issues/8098
|
| |
|
| |
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The script, `extras/verify-documented-compiler-version.sh`, depends on
CMakeCache.txt, which gets built as a part of the slang build step.
But if the PR is just a document changes, the build step will be
skipped. And the script will print a warning that CMakeCache.txt is not
found.
The script should run only when Slang was built.
You can see the current warning here,
https://github.com/shader-slang/slang/actions/runs/16788651517/job/47545476533#step:12:5
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Claude code : refactor and improve stability by using hooks
* format code (#27)
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
---------
Co-authored-by: szihs <675653+szihs@users.noreply.github.com>
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| | |
|
| |
|
|
|
| |
Previously there were tag name `vulkan` and it was causing build errors.
The cmake build script currently expect the name to be in a pattern of
`v2025.1` which starts with `v` and followed by numbers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix 7441: CUDA boolean vector layout to use 1-byte elements
Boolean vectors (bool1, bool2, bool3, bool4) were incorrectly implemented
as integer-based types using 4 bytes per element instead of actual 1-byte
boolean elements on CUDA targets.
Changes:
- Update CUDA prelude to define boolean vectors as structs with bool fields
instead of typedef aliases to integer vectors
- Implement CUDALayoutRulesImpl::GetVectorLayout to use 1-byte alignment
for boolean vectors, matching actual CUDA memory layout behavior
- Update make_bool functions to populate struct fields correctly
This ensures boolean vectors have the same memory layout as bool[4] arrays:
- bool1: 1 byte (was 4 bytes)
- bool2: 2 bytes (was 8 bytes)
- bool3: 3 bytes (was 12 bytes)
- bool4: 4 bytes (was 16 bytes)
Fixes memory layout mismatch between Slang reflection API and actual
CUDA compilation, achieving 75% memory savings for boolean vector usage.
* Fix CI issues -
Add and update associated functions and operators
* Make boolX same as uchar
* Use align construct on struct for boolX
* Improve Test case for robust alignment checks
* Formatting
* Disable selected slangpy tests
* add metal check which is slightly different than cuda
* Test-1
* Test-2
* Test-3
* Test-4
* ReflectionChange
* cleanup and update
* _slang_select with plain bool is needed for reverse-loop-checkpoint-test
|
| | |
|
| |
|
|
|
| |
* Reduce merge_group CI workload.
* fix.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
debugging (#7820)
* Initial plan
* Add SLANG_DEBUG_IR_BREAK environment variable support
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Apply code formatting to SLANG_DEBUG_IR_BREAK implementation
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Improve stack trace debugging with -rdynamic flag and backtrace_symbols
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Address PR feedback: use PlatformUtil::getEnvironmentVariable, remove -rdynamic flag, and delete fallback branch
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Address PR feedback: simplify env var parsing, move backtrace to PlatformUtil, use #if for SLANG_LINUX_FAMILY
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Address PR feedback: remove unneeded include, make backtrace() more generic by removing uid parameter
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* Fix and clone source tracking.
* Add python script to dump traces.
* Update instructions.
* Batch calls to addr2line
* Cleanup claude instructions.
* update claude action.
* Remove duplicated build instructions from claude.yml workflow
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
* fix build error.
* Fix build errors
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: csyonghe <2652293+csyonghe@users.noreply.github.com>
Co-authored-by: Yong He <yonghe@outlook.com>
Co-authored-by: Gangzheng Tong <tonggangzheng@gmail.com>
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* print tool versions for formatter
* formatting
* bump cmake formatter version
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* Update claude instructions to help with debugging.
* Increase limit.
* Simplify prompt.
* increase limit.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Use stdout for --help text instead of stderr
* format code (#13)
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| | |
|