summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-12-09Fix crash during emitCast of attributed type, allow MaxIters to take ↵Yong He
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>
2024-12-09Fix reflection for pointer element types. (#5797)Yong He
* Fix reflection for pointer element types. * Fix. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Report error on nested functions. (#5792)Yong He
* Report error on nested functions. * Fix. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Fix crash on recursive types. (#5796)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Add Sampler*Shadow type aliases. (#5789)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-06Update slang-ast-decl-ref.cpp (#5786)Sai Praveen Bangaru
2024-12-06Emit debug info for Release builds (#5783)Ellie Hermaszewska
* 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
2024-12-06Support specialization constant on WGSL and Metal. (#5780)Yong He
2024-12-06Split debug info for all targets (#5732)Ellie Hermaszewska
* 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
2024-12-06Implement explciit binding for metal and wgsl. (#5778)Yong He
* 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>
2024-12-05Do recursive function checks early during IR linking (#5777)Darren Wihandi
2024-12-05Add API for getting last internal error message (#5772)Simon Kallweit
* 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>
2024-12-05Add wgsl missing float image format inference (#5716)Devon
* 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>
2024-12-05Extended vector proposal (#5734)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5504 Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-05Set prerelease and draft correctly for centos releases (#5769)Ellie Hermaszewska
2024-12-05Set prerelease and draft correctly for releases with draft in the tag (#5763)Ellie Hermaszewska
2024-12-05Remove duplicate call to install() for libslang (#5767)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5764 Also mention other installed targets in cmake config
2024-12-05Don't install .clang-format alongside headers (#5762)Ellie Hermaszewska
2024-12-05Fix compiler warning when using slang.h with gcc/clang on Windows (#5766)Kevin Shanahan
The macros SLANG_NO_INLINE, SLANG_FORCE_INLINE, SLANG_BREAKPOINT and SLANG_ALIGN_OF end up getting defined twice when using g++ or clang++ with the slang.h header on Windows. Change the VC specific definitions to depend on SLANG_VC instead of SLANG_MICROSOFT_FAMILY.
2024-12-05Make fvk-invert-y work on mesh shader ouptuts. (#5760)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-04Relocate the step of 'Add bash to PATH' (#5759)kaizhangNV
* Relocate the step of 'Add bash to PATH' Relocate the step of 'Add bash to PATH' at beginning of the CI to avoid the issue of "bash command not found". * formatting * Do not remove 'Add bash to PATH' from common-setup
2024-12-04Fix a regression that GL_EXT_samplerless_texture_functions is missing (#5758)kaizhangNV
2024-12-04WGPU: Add new test and explanation for disabled test (#5731)Anders Leino
* Add buffer swizzle store test using structured buffers This helps to address #5612 * WGPU: Add explanation for tests/bugs/buffer-swizzle-store.slang This closes #5612. * Manual formatting fix * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-03Fix `SpvExecutionModeOutputLinesEXT`. (#5740)Yong He
2024-12-03Add emit logic for `requirePrelude` inst. (#5735)Yong He
2024-12-04Run a do-nothing CI job for documentation changes (#5747)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5689
2024-12-04Remove .clang-format from .gitignore (#5746)Ellie Hermaszewska
2024-12-03Add intrinsics for aligned load/store. (#5736)Yong He
* Add intrinsics for aligned load/store. * Fix. * Update comment. * Implement aligned load/store as intrinsic_op. * Fix. * Add proposal doc. * fix typo.
2024-12-03Remove dump-intermediates flag (#5729)Sai Praveen Bangaru
Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-03Conform non-suffixed integer literals (#5717)Darren Wihandi
* Make non-suffixed integer literal type resolution conform to C * Update integer literal tests * Clean up integer literal implementation a bit * Update docs on integer literals * Clean up docs update * Clean up docs update * Add comment on INT64_MIN edge case * Fixed failing test, fixed formatting and cleaned up code --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-03Core lib Metal math function fixes (#5738)cheneym2
In order to emit fast target implementations of some Metal-based functions (fmin(), fmax(), fmin3(), fmax3(), fmedian3()) on all targets, remove some specification regarding the handling of NaNs, and also remove the enforcement of the specification. These functions are now documented to be basically undefined now in the presence of NaN input, to make the common "is a number" case fast. Also, clarify that powr() is undefined when given a non-positive base input value, allowing us to remove an additional abs() operation that was unnecessarily coercing results to be predictable on non-Metal targets. Closes #5580 Closes #5581 Closes #5587
2024-12-03Add SlangConfig.cmake with slang build targets (#5674)ov-l
* Modify package config * Apply formatting. * Make sure build works for Emscripten * Add documentation on install target. --------- Co-authored-by: obhi-d <obi.de.online@gmail.com>
2024-12-03Install PDB files when available (#5665)Ellie Hermaszewska
* Install PDB files when available Closes https://github.com/shader-slang/slang/issues/5562 * format code * format code --------- Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-02Fix typo in capdef file (#5711)Bruce Mitchener
After #5671, when a build is done, the doc file is regenerated from the capdef file resulting in a changed file in the build tree. Fixing the typo in the capdef file prevents that from happening. Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-02includes: Reduce typo count (#5710)Bruce Mitchener
Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-02Move c++ parsing code from slang-cpp-extractor to static library (#5675)Lauro Oyen
* Move c++ parsing code from slang-cpp-extractor to static library * Format code * Remove relative includes --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-02Varying inputs and outputs for wgsl (#5669)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5067 New tests, covering what's declared supported in the WGSL support docs - tests/wgsl/semantic-coverage.slang - tests/wgsl/semantic-depth.slang - tests/wgsl/semantic-dispatch-thread-id.slang - tests/wgsl/semantic-group-id.slang - tests/wgsl/semantic-group-index.slang - tests/wgsl/semantic-group-thread-id.slang - tests/wgsl/semantic-instance-id.slang - tests/wgsl/semantic-is-front-face.slang - tests/wgsl/semantic-position.slang - tests/wgsl/semantic-sample-index.slang - tests/wgsl/semantic-vertex-id.slang WGSL enabled existing tests: - tests/compute/compile-time-loop.slang - tests/compute/constexpr.slang - tests/compute/discard-stmt.slang - tests/metal/nested-struct-fragment-input.slang - tests/metal/nested-struct-fragment-output.slang - tests/metal/nested-struct-multi-entry-point-vertex.slang - tests/metal/no-struct-vertex-output.slang - tests/metal/sv_target-complex-1.slang - tests/metal/sv_target-complex-2.slang - tests/bugs/texture2d-gather.hlsl - tests/render/cross-compile-entry-point.slang - tests/render/nointerpolation.hlsl - tests/render/render0.hlsl - tests/render/cross-compile0.hlsl - tests/render/imported-parameters.hlsl - tests/render/unused-discard.hlsl Can't be enabled due to missing wgsl features - tests/compute/texture-sampling.slang Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-02[Docs] Fix dead links when subsection title have underscore (#5662)Ica
* [Docs] Fix dead links when subsection title have underscore a minor change on build toc script: add underscore to link instead of replacing with "-" then I re-run the script also I tested on local server * Update toc.html --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-02Add `OpPrintf` to non-differentiable insts list (#5718)Sai Praveen Bangaru
2024-12-02Add WebGPU target doc (#5708)Anders Leino
* Add WebGPU target doc This closes #5698. * Update ToC
2024-12-01[Docs] Minor fixes to auto-diff documentation (#5621)Sai Praveen Bangaru
* Minor fixes to AD documentation * Add a note warning about experimental behavior * Update vulkan --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com>
2024-11-30fetch and extract prebuilt deps lazily (#5707)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5706 and https://github.com/shader-slang/slang/issues/5657
2024-11-29Emit OpExecutionMode SpacingEqual for Domain stage (#5696)Jay Kwak
Domain stage should emit one more `OpExecutionMode` with `SpacingEqual`, similary to how Hull stage does. Currently Hull stage emits four OpExecutionMode as following: OpExecutionMode %hullMain SpacingEqual OpExecutionMode %hullMain OutputVertices 4 OpExecutionMode %hullMain VertexOrderCw OpExecutionMode %hullMain Quads And Domain stage emits only one OpExecutionMode: OpExecutionMode %domainMain Quads This commit adds the following instruction for Domain stage: OpExecutionMode %domainMain SpacingEqual It is because the Vulkan Validation Layer prints error when the Domain shader didn't have `OpeExecutionMode SpacingEqual`. `SpacingEqual` corresponds to an attribute, `[partitioning("integer")]`, given to the Hull stage. Although Domain stage is not marked with same attribute, it is assumed to use the same value used for matching Hull Stage. The error message from VVL is following: ``` vkCreateShadersEXT(): pCreateInfos[2].stage is VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, but spacing is not specified. The Vulkan spec states: If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and stage is VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, pCode must contain an OpExecutionMode instruction specifying the spacing of segments on the edges of tessellated primitives (https://vulkan.lunarg.com/doc/view/1.3.283.0/windows/1.3-extensions/vkspec.html#VUID-VkShaderCreateInfoEXT-codeType-08874) ``` Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-11-29Explain why tests/autodiff/diff-ptr-type-array.slang is disabled for WGPU ↵Anders Leino
(#5702) This closes #5613. Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-11-29Support nonuniformEXT for GLSL (#5695)Jay Kwak
Adding nonuniformEXT intrinsic for GLSL Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-11-29Fix markdown mistakes on user guide (#5672)Jay Kwak
* Fix markdown typos * Fix indentation * Fix indentation 2 * Fix indentation 3 * Fix indentation more --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-11-29docs: Reduce typo count (#5671)Bruce Mitchener
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-11-29Add missing WGSL intrinsics to test (#5663)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/5263
2024-11-29Make ToC regeneration script path handling more robust (#5700)Ellie Hermaszewska
Co-authored-by: Anders Leino <aleino@nvidia.com>
2024-11-28Update Slang-RHI/slang (#5701)Anders Leino
* 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.