| Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
can't be automatically inferred (#5630)
* [AD] Add support for resolving custom derivatives where generic parameters can't be automatically inferred
* Fix failing tests
* Update custom-derivative-generic.slang
|
|
CI was previous using different versions in different jobs but
all were old and using a version of Node that has been deprecated
within the GitHub Actions infrastructure.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Don't treat StrcturedBuffer<IFoo> as a specializable param.
* Fix RHI.
|
|
vec3x4 to mat3x4
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
I believe this will fix the dead links that occurred because of sub section renames.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
It seems that release workflows were unexpectedly broken when STDLIB
was renamed to CORE_MODULE.
Changed the option default because I think it just makes more sense.
Removed explicit calls to enable it. Fixed docs.
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
slang extensions look pretty same c# extension methods, not partial classes. Partial classes allow extending types to introduce more variables unlike slang extensions. Also c# users that use extension methods much more than partial types, probably.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
CI was using a mix of version 3 and 4. Version 3 results in a
warning within the GitHub Actions UI as it was using a version
of NodeJS that is deprecated within the GitHub Actions
infrastructure.
|
|
* Add datalayout for constant buffers.
* Fixes.
* Fix test.
* Fix glsl codegen.
* Update spirv-specific doc.
* Fix test.
* Fix binding in the presense of specialization constants.
* address comments.
* Add a test for constant buffer layout.
|
|
* render-test: Add copy-source usage for render targets
I found that Slang-RHI/WGPU was not able to copy from render targets to staging buffers.
This helps to address issue #4943.
* Add entries to render API util infos
Entries for glsl-cross and glsl-rewrite are added.
Without glsl-cross, slang-test fails to select a back-end, and winds up crashing when
tests/render/cross-compile-entry-point.slang is enabled
tests/render/cross-compile0.hlsl fails similarly without glsl-rewrite.
* Enable some rendering tests
* Add expected test outputs
|
|
* Add reuse and related files
* Fix dxcapi license.
---------
Co-authored-by: James Riordon <jriordon@outofcontrol.ca>
|
|
Some tests are now passing and are enabled.
Other tests are still failing, but are given comments categorizing the failures.
Tests in the 'Not supported in WGSL' category are also removed from the expected failures
list. (Though they are still kept disabled for WebGPU, of course.)
This closes #5519.
|
|
* 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
|
|
|
|
* Small docs corrections
* fix typo.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Add a clarification on the example provided regarding
documenting only the first overload.
Though the example follows immediately after an existing
explanation that only the first overload is present, and
that _all_ parameters must be documented there, an extra
sentence and the shell of a second overload help drive
home the point.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Fixes #5579
|
|
* Add link to metal docs
* Regenerate TOC
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* 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>
|
|
* Minor core lib doc fixes
Fixing a couple functions that were missing their categorization.
Also cleaned up some trailing spaces.
* Update hlsl.meta.slang
|
|
This makes tests/bugs/shadowed-lookup.slang pass on WGPU.
The underlying issue seems similar to #5277.
|
|
|
|
* Fix wgsl legalization around __ref parameter.
* Add intrinsic and test case.
|