| Age | Commit message (Collapse) | Author |
|
Close #7491.
As the PR KhronosGroup/SPIRV-Tools#6198 is already merged, we can
switch spirv-tools repo to upstream repo now.
|
|
* Reset minimum cmake version to 3.22
* update slang-rhi
|
|
* Disable spirv-opt for the tests with debugfunction VVL errors
* Enable VVL in CI
* Add 2 expected failure tests until we update VVL to 1.4.319 which contains the fix
* update slang-rhi
* Revert "Disable spirv-opt for the tests with debugfunction VVL errors"
This reverts commit 5327460057f533af81ea60a556e43abe805d5816.
|
|
* Update spirv-tool submodule to include the debug instruct fix
Update spirv-tool to our forked repo that include the fix of spirv-val
bug. It mistakenly relocates the `DebugFunctionDefinition`.
The upstream PR is: https://github.com/KhronosGroup/SPIRV-Tools/pull/6198
But it's still pending on review.
Issue #7491 will keep track the process, when the upstream PR is merged,
we need to restore the repo back to upstream repo.
|
|
|
|
Update spirv-tools to commit:
108b19e5c6979f496deffad4acbe354237afa7d3
Update spirv-headers to commit:
2a611a970fdbc41ac2e3e328802aed9985352dca
Update spirv-tools-generated from the spirv-tools build.
|
|
* Revert "Disable OptiX tests by default. (#1331)"
This reverts commit e45f8c1f49855cebe90b6722324ec24146ff5a3d.
* Enable optix submodule to build
Add support for default entry points in compilation
Implemented logic to check for defined entry points in the module
when no explicit entry points are provided. If found, these entry points
are added to the `specializedEntryPoints` list, with the assumption that
no specialization is needed for them at this time.
* Disable optix if cuda is not enabled
* Add submodule OptixSDK path in search
* Distinguish user-explicit vs auto-detected SLANG_ENABLE_OPTIX
When SLANG_ENABLE_OPTIX is explicitly set by user and CUDA is not available,
show SEND_ERROR to maintain strict validation. When OptiX is auto-detected
(e.g., local submodule present) but CUDA unavailable, gracefully disable
with STATUS message to allow builds to continue.
This addresses review feedback to keep error for explicit requests while
handling auto-detection gracefully.
* Apply CMake formatting to SLANG_ENABLE_OPTIX validation logic
* revert: slang-rhi changes
as those are merged independently as in PR # slang-rhi#400
|
|
* update slang-rhi
* enable all slang-rhi tests
|
|
* Use aliased SPIRV-Headers::SPIRV-Headers to also work with an installed SPIRV-Headers
SPIRV-Headers standalone is only defined when using sources directly.
When consuming an installed SPIRV-Headers via find_package, the full SPIRV-Headers::SPIRV-Headers must be used.
The full syntax is supported by both source and installed builds.
* Fix SLANG_USE_SYSTEM_SPIRV_HEADERS
- Use find_package to bring in SPIRV-Headers cmake targets
- Set SPIRV-Headers_SOURCE_DIR as a workaround when including
spirv-tools
- Query cmake for SLANG_SPIRV_HEADERS_INCLUDE_DIR location, supporting
default, SLANG_OVERRIDE_SPIRV_HEADERS_PATH and find_package builds.
- Cleanup unnecessary SPIRV_HEADER_DIR (unconditionally overwritten in
spirv-tools)
|
|
* enable building slang-rhi-tests
* re-enable running slang-rhi-tests
* format code
* fix typo
* update slang-rhi
* build slang-rhi-tests without glfw dependency
* skip fence tests
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: amey asgaonkar <160177341+aasgaonkar@users.noreply.github.com>
|
|
it (#7357)
* Disable coopvec tests until we have the driver support
* Remove conflicting agility sdk binaries
|
|
* update slang-rhi
* adapt to new slang-rhi API
* enable slang-rhi agility sdk
* fix handling empty list
* disable failing slang-rhi tests
* format code
* fix slang-rhi-tests ci step
* skip running slang-rhi-tests
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
Update spirv-tools to take the DebugBuildIdentifier changes. These are
needed for upcoming separate debug spirv output.
Additionally update spirv-headers to fd966619.
|
|
* Fix#6993 - Emit Diagnostic Warning and Fix SIGSEGV
* Update external/slang-rhi submodule
* Add checks for valid stage names for paq in SemanticsVisitor check
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
This reverts commit 2d98381501140bdf519f2a28c417b205187525c7.
|
|
* Fix lua header file path
Add two missed files in #7167
* Fix lua header file path
Add two missed files in #7167
* Leave lua/ in the path to avoid name conflict
* Remove xxx from path of SLANG_OVERRIDE_xxx_PATH
Change SLANG_OVERRIDE_xxx_PATH from path-to-parent-folder/xxx
to path-to-parent-folder and add "xxx/" back to "#include",
which helps to avoid the potential name conflict of external tools.
* format code
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
|
|
* Update build to allow setting more external paths
Update the build to allow setting user-specific paths for the external
modules: glm, imgui, slang-rhi, and tinyobjloader.
|
|
* Update spirv-tools to for SDK v2025.2
Fixes: #6850
* bump spirv version to 1.4 for op linkage
* skip-spirv-validation for coop mat
* add skip-spirv-validation option to slang session desc
* use SPV_ENV_UNIVERSAL_1_6 for spirv-tool env target
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>
|
|
|
|
* update slang-rhi submodule
* slang-rhi API changes
* disable agility sdk
* fix texture creation
* update formats in tests
* Extent3D rename
* use 1 mip level for 1D textures for Metal
* fix texture upload
* update to latest slang-rhi
* update slang-rhi
* format code
* update slang-rhi
* do not run texture-intrinsics test on metal
* update slang-rhi
* deal with failing tests
* fix more tests
* update slang-rhi
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Simon Kallweit <simon.kallweit@gmail.com>
|
|
* Add Yet Another Source Code Generator
This change introduces an offline source code generation tool,
provisionally called `fiddle`. More information about the design of
the tool can be found in `tools/slang-fiddle/README.md`.
Yes... this is yet another code generator in a project that already
has too many. Yes, this could easily be a very obvious instnace of
[XKCD 927](https://xkcd.com/927/).
This change is part of a larger effort to change how the AST
types are being serialized, and the way code generation for them
is implemented.
Right now, the source code for the new tool is being checked in and
the relevant build step is enabled, just to make sure everything is
working as intended, but please note that this change does *not*
introduce any code in the repository that actually makes use of
the new generator. All of the AST-related reflection information that
feeds the current serialization system is still being generated using
`slang-cpp-extractor`.
The design of the new tool is primarily motivated by the new approach
to serialization that I'm implementing, and once that new approach
lands we should be able to deprecate the `slang-cpp-extractor`.
In addition, the new tool should in principle be able to handle
many of the kinds of code generation tasks that are currently being
implemented with other tools like `slang-generate` (used for the core
and glsl libraries). This tool should also be well suited to the task
of generating more of the code related to the IR instructions.
* format code
* Build fixes caught by CI
* Fix another warning coming from CI
* Another CI-caught fix
* Change bare hrows over to more proper abort execptions
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* fix(d3d11): correct parameter in VSSetConstantBuffers1 from uavCount to cbvCount (fixes #6531)
Root cause - Incorrect parameter passing in slang-rhi
1. slang-rhi #281 - Add the correct cbvCount for setting Constant Buffer
2. Prevent render tests from overwriting reference images
* Add missing tests/render/multiple-stage-io-locations.slang.3.expected.png
* Add more expected images from texture2d-gather
* Add new option: skipReferenceImageGeneration
For Github CI we set this to true - So we don't overwrite the expected
images
---------
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
* Use coopvec supporting dxcompiler.dll and dxil.dll
* Fix the failing tests
|
|
* Fix MSVC warning D9025 when building external dependencies.
* revert unrelated change.
|
|
* Update build to allow setting external paths
Update the build to allow setting user-specific paths for the external modules.
This allows building Slang without also fetching the external modules, assuming
they are already present elsewhere locally.
|
|
* Update SPIRV-Tools and fix new validation errors.
* Implement pointers for glsl target.
* Reworked packStorage/unpackStorage code gen to operate on pointers rather than values.
|
|
* remove unused resource
* define buffer data
* add vs2022 build presets
* update slang-rhi API usage
* update slang-rhi
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Bump to latest public versions
|
|
* hotfix slang-rhi
* Fix missing include
* external/glslang: 15.0.0-37-ga0995c49 -> vulkan-tmp-1.4.309
external/spirv-tools: v2024.4.rc2-44-g3364b982 -> v2024.4.rc2-48-gce37fd67"
|
|
* Set static stbi flag for static builds
* Add missing SYSTEM directive for external includes
* Add instructions for linking statically against slang
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Co-authored-by: Yong He <yongh@outlook.com>
|
|
|
|
* update slang-rhi cmake integration
* disable fetching slang
* update slang-rhi
|
|
* Fix native Windows ARM64 build.
* Fix
---------
Co-authored-by: Yong He <yongh@outlook.com>
|
|
* Update Slang-RHI and enable any debug layers up-front
As [1] shows, creating a D3D12 device and then enabling debug layers causes future device
creation to fail.
That means enabling debug layers is a process-wide decision that should be done at
startup, and not just before creating an individual device.
Previously, Slang-RHI enabled debug layers as part of device creation.
The new Slang-RHI revision doesn't do that anymore, but instead allows the user to enable
debug layers earlier, with a separate API.
This change calls the mentioned API before creating any device.
This closes #6172.
* Compile fixes needed after updating slang-rhi
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Support cooperative vector including Vulkan-Header
Adding a Slang support for cooperative vector with vulkan-header update.
|
|
|
|
Pick up fix to https://github.com/shader-slang/slang/issues/5859
|
|
* update slang-rhi
* pass --dopt=on to nvrtc when enabling debug information
* fix leaks in slang-rhi
* update slang-rhi
* only use --dopt when available
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
(#5964)
|
|
* bump slang-rhi
* More precise slang-rhi settings
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
* Back out "Update SPIRV submodules (#5815)"
This backs out commit e50aac13e2c161d672b137a62f6d66820d0f9ff1.
* Use upstream spirv-tools
* Fix bump-glslang.sh for newer versions of spirv-tools
* Use upstream glslang
* Add --do-fetch option to bump glslang
* Bump glslang and friends
Supersedes https://github.com/shader-slang/slang/pull/5815
* Regenerate glslang and spirv-tools outputs
* Fixes to slang-glslang
* Correct spirv intrinsic for OpImageSampleFootprintNV
Note that this currently fails validation with the following error:
```
error: line 145: Result <id> from OpSampledImage instruction must not appear as operand for OpImageSampleFootprintNV, since it is not specified as taking an OpTypeSampledImage. Found result <id> '55[%sampledImage]' as an operand of <id> '56[%resultVal]'.
%sampledImage = OpSampledImage %54 %51 %40
```
This seems to be in error as the spec for
*SPV_NV_shader_image_footprint* states that "Sampled Image must be an
object whose type is OpTypeSampledImage"
https://refined-github-html-preview.kidonng.workers.dev/KhronosGroup/SPIRV-Registry/raw/refs/heads/main/extensions/NV/SPV_NV_shader_image_footprint.html
glslang also seems to fail with the same validation error
* Fix spv storage class test
|
|
* Update SPIRV submodules
With the latest SPIR-V submodules, one of tests started failing:
tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang
[ForceInline] is added to GLSL texture functions in order to inline %true and %false.
Without it, the value was indirectly passed down via a function parameter, which broke the existing test.
Also the test is modified to use -DAG, because the order unpredictably changed for Grad variants due to additional [ForceInline] marks for Gradient functions.
A new validation check in SPIRV-Tools was causing a validation error:
```
error: line 324: [VUID-StandaloneSpirv-OpTypeImage-06924] Cannot store to OpTypeImage, OpTypeSampler, OpTypeSampledImage, or OpTypeAccelerationStructureKHR objects
OpStore %17 %242
```
It appears that this is a bug on SPIRV-Tools.
A proper fix is proposed to Khronos/SPIRV-Tools:
https://github.com/KhronosGroup/SPIRV-Tools/pull/5914
But this commit uses `shader-slang/SPIRV-Tools/fix_for_OpImageSampleFootprintNV` with a custom fix as a temporary solution:
https://github.com/shader-slang/SPIRV-Tools/tree/fix_for_OpImageSampleFootprintNV
|
|
* Update Slang-RHI/slang
This brings in new fixes for WebGPU.
In particular, the "use_dxc" toggle is now used, which should enable these tests to run on
WebGPU, if f16 is otherwise supported:
- `tests/language-feature/generics/variadic-0.slang`
- `tests/language-feature/generics/tuple.slang`
This closes #5605.
* Disable tests/autodiff/float-cast.slang for wgpu
This test was previously not running for WebGPU because it required the 'half' render
feature, and Slang-RHI was previously not reporting it.
With the Slang-RHI update, the test now runs on WebGPU.
It now fails because the test is using 'double' which is just not supported on WebGPU.
Thus this commit disables the test.
|
|
* Don't treat StrcturedBuffer<IFoo> as a specializable param.
* Fix RHI.
|
|
* Change how DeclRef::toText works
We now ignore the decl-ref heirarchy since that only includes nodes with specialization info & simply walk up the tree of decls, while emitting any specializations present in the decl-ref.
* Update some tests. Add cases for direct refs to generic params & Lookup decl refs
|
|
* Limit number of MIP levels on 1d textures to be 1
This avoids running into a WebGPU limitation, and helps to address issue #4943.
* Update Slang-RHI to get WGPU fixes
* Enable WGPU texture sampling test
This helps to address issue #4943.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|