| Age | Commit message (Collapse) | Author |
|
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.
|
|
* Enable tests/language-feature/enums/strongly-typed-id.slang
* Fix operator signedness mismatch issue
This helps to address issue #5606.
* wgsl: Insert casts for integer type return values
This closes #5606.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Sort filenames when generating table of contents
The order of EnumerateFiles is unspecified
* Add build table of contents bash script
* Add toc checking to CI
* Add --check-only option to toc checking
* regenerate ToC
|
|
The order of EnumerateFiles is unspecified
|
|
Require the 'half' rendering feature for WebGPU, so that we can detect when
the f16 feature is not available, for the following tests:
- tests/language-feature/generics/tuple.slang
- tests/language-feature/generics/variadic-0.slang
This helps to address issue #5605.
|
|
Recently we renamed a few files and directories and they should be reflected on the workflow YAML files.
- LICENCE is a typo of LICENSE.
- We recently created a new "LICENSES/"
- CONTRIBUTION.md was renamed to CONTRIBUTING.md
Closes #5686
|
|
Added a note to clarify that vector types cannot have size bigger than 4.
|
|
* wgsl: Do not generate L-value swizzle expressions
* Enable tests/language-feature/swizzles/matrix-swizzle-write-*.slang
The following tests are enabled
- tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
- tests/language-feature/swizzles/matrix-swizzle-write-array.slang
This closes #5603.
|
|
* Enable hlsl-intrinsic/byte-address-buffer/byte-address-struct
* Set byte address buffer legalization options for WGSL
|
|
This commit enables Link Time Code Generation, or LTCG for short, for
the release builds.
Because "incremental" build is enabled, this ends up using
"/LTCG:incremental" rather than the full "/LTCG". It is still expected
to more performant than without any "/LTCG" at all.
In order to use the full LTCG, we will need to give up the incremental
build option for the Release build. We will need to decide if we wants
to do it later.
|
|
* Fix issue with slang-embed & include ordering
* Update CMakeLists.txt
|
|
* wgsl: Support interpolation modifiers
* Move struct key decorations to flattened structs.
** This includes interpolation mode decorations, which must be in the flattened struct.
* Emit interpolation attribute.
* Enable tests/render/nointerpolation.hlsl for WGSL, as a result.
This closes #5625.
* Add new expected output for 'nointerpolation' test
|
|
attributes (#5670)
* wgsl: Make sure each shader input field has a semantic
This closes #5633.
* Add test for inter-stage variables without semantics
This verifies the fix of the second issue identified in
https://github.com/shader-slang/slang/issues/5633
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* wgsl: Fix field semantics even if input struct doesn't need flattening
Helps to address issue #5633.
* Add test for multiple stage IO locations
This verifies part of issue #5633.
|
|
* Fix broken link in 09-reflection.md
* Fix another link on 08-compiling.md
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* re-run build_toc.ps1
* fix dead link of readme
---------
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
|