| Age | Commit message (Collapse) | Author |
|
|
|
* Update reflection API chapter in User guide
The new version of the chapter is intended to
accompany the `reflection-api` example program,
and reflects (pun intended) the best practices
that the Slang project team wants to encourage
for interacting with the reflection API.
* Rebuild TOCs
|
|
* bump slang-rhi
* More precise slang-rhi settings
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* promoting bitfield extraction and insertion to become intrinsics for internal compiler use
* removing duplicate intrinsics from glsl.meta.slang
* refactor: update function signatures of bitfield extraction and insertion to use uint as the parameter type for offset and bits.
---------
Co-authored-by: Nate Morrical <natemorrical@gmail.com>
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
This will necessetate changing the "required tests" setting on the GitHub repo
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Add an example for using the reflection API
The example program is meant to accompany a document that goes into more detail about the mental model behind the reflection API and the way this program drives it.
Ideally this program can land before the document goes live, and then the document can be published with a link to the example.
After that, the example could be updated to include links into the live document.
Along with adding the example program, this change also adds some convenience functions to the reflection API to avoid cases where the program would otherwise need to cast between
`slang::ParameterCategory` and `SlangParameterCategory`.
* format code
* fixup: error noticed by clang
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Split out SPIR-V -specific legalization of global functions
This is a refactoring and should not affect generated code.
* Move global inst inlining code into separate function
This is a refactoring and should not affect generated code.
* Take SPIR-V -specific parts out of GlobalInstInliningContext
This is a refactoring and should not affect generated code.
* Move 'inlineGlobalValues' to generic inlining context
This is a refactoring and should not affect generated code.
* Move 'setInsertBeforeOutsideASM' to generic inlining context
This is a refactoring and should not affect generated code.
* Move generic inlining context into own file
This is a refactoring and should not affect generated code.
* Run global inlining for WGSL as well
* Make the 'getOutsideASM' function generic as well
* Enable language-feature/constants/static-const-in-generic-interface.slang for WebGPU
* Clarify when it's safe to remove and deallocate an IRInst
* Remove globals if they're left unused after inlining
This closes #5607.
* Handle IRGlobalValueRef in C-like emitter
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
|
|
Partially sorts https://github.com/shader-slang/slang/issues/5843
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
Avoid mixing the variadic template argument and pass-through it with std::forward
|
|
|
|
* Fix fast single iteration loop test in redundancy pass.
* Fix.
|
|
* Fix attribute reflection.
* Fix.
* Fix.
|
|
* 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
|
|
* Fix anyvalue marshalling for matrix types.
* Add support for 64bit types marshalling.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
|
|
The 'samplerInfo.magFilter' should match the 'desc.magFilter'.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Enable WGSP tests that works for Metal related to Semantics
This commit enables existing tests for WGSL that are enabled for Metal regarding the Semantics.
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Allow glsl set and binding layout qualifiers to be compile time integer exprs
* add new tests
* add comments
* cleanup on asserts
* addressed review comments and cleanup
* fix missing set expr in test
* fixed tests and cleanup
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Add more details on PR process
This commit adds more detailed explanations on the PR process.
It also fixed a few typos and grammar mistakes identified by LLM.
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
half. (#5814)
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* Fix pointer offset logic and add executable tests.
* Fix.
* Fix test.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* Fix pointer offset logic and add executable tests.
* Fix.
* Fix test.
* Add existential ptr test.
* Allow pointers to existential values.
* Fix.
* Fix.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
linktime const. (#5791)
* Fix crash during emitCast of attributed type.
* Allow [MaxIters] to take link time constants.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* Fix reflection for pointer element types.
* Fix.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* Report error on nested functions.
* Fix.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
|
|
* Remove unnecessary warnings on windows
* Correctly set debug flags on gcc
* Emit debug info for Release builds
* Perform LTO for relwithdebinfo builds
* Release from release builds not relwithdebinfo
|
|
|
|
* Split debug info for all targets
Work towards https://github.com/shader-slang/slang/issues/5724
* release separate debug info
Closes https://github.com/shader-slang/slang/issues/5724
* Add split debug info support for MacOS
* Add SLANG_ENABLE_SPLIT_DEBUG_INFO option
* Sign and package debug info on MacOS
* Set --build-id where available
* Correct debug info installing
* Keep cpack macos signing workaround
* Neaten cmake
* Disable sccache if building split debug info on Windows
* Only repack necessary files on MacOS releases
|
|
* Respect explicit bindings in wgsl emit.
* Implement explciit binding generation for metal and wgsl.
* Update toc.
* Fix warnings in tests.
* Fix tests.
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
|
|
* Add API for getting last internal error message
* format code (#5773)
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* make message thread_local
---------
Co-authored-by: slangbot <ellieh+slangbot@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Add missing float image format inference
* Drop float4 inference and adjust test
* Do wgsl float format fix at emit time
* improve formatting
* format code
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Closes https://github.com/shader-slang/slang/issues/5504
Co-authored-by: Yong He <yonghe@outlook.com>
|