| Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
|
|
Closes https://github.com/shader-slang/slang/issues/5764
Also mention other installed targets in cmake config
|
|
|
|
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.
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* 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
|
|
|
|
* 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>
|
|
|
|
|
|
Closes https://github.com/shader-slang/slang/issues/5689
|
|
|
|
* Add intrinsics for aligned load/store.
* Fix.
* Update comment.
* Implement aligned load/store as intrinsic_op.
* Fix.
* Add proposal doc.
* fix typo.
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* 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>
|
|
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
|
|
* 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>
|
|
* 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>
|
|
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>
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* 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>
|
|
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>
|
|
* [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>
|
|
|
|
* Add WebGPU target doc
This closes #5698.
* Update ToC
|
|
* 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>
|
|
Closes https://github.com/shader-slang/slang/issues/5706 and https://github.com/shader-slang/slang/issues/5657
|
|
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>
|
|
(#5702)
This closes #5613.
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Adding nonuniformEXT intrinsic for GLSL
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* Fix markdown typos
* Fix indentation
* Fix indentation 2
* Fix indentation 3
* Fix indentation more
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
Closes https://github.com/shader-slang/slang/issues/5263
|
|
Co-authored-by: Anders Leino <aleino@nvidia.com>
|
|
* 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.
|