| Age | Commit message (Collapse) | Author |
|
* 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>
|
|
|
|
* 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>
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
* 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>
|
|
|
|
* 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>
|
|
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>
|
|
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>
|
|
Closes https://github.com/shader-slang/slang/issues/5263
|
|
* 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>
|
|
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.
|
|
* 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
|
|
* 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.
|
|
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
|
|
* Don't treat StrcturedBuffer<IFoo> as a specializable param.
* Fix RHI.
|
|
|
|
* 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
|
|
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
|
|
Fixes #5579
|
|
* 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>
|
|
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.
|
|
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
functions. (#5585)
|
|
* Add `IDifferentiablePtrType` support for arrays
- Also fixes an issue with spirv-emit of constructors that contain references to global params
* Fix GLSL legalization for arrays of resource types
|
|
* Add new texture sampling test for WebGPU
There are no 1d array textures in WGSL, so
add texture-sampling-no-1d-arrays.slang based on texture-sampling.slang, but without
1d texture arrays.
This helps to address issue #4943.
* Insert needed conversion when querying texture attributes in WGSL
This helps to address issue #4943.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Update Slang-RHI to get WGPU backend fixes
* render-test: Use device local memory type for vertex buffers
This helps to avoid https://github.com/shader-slang/slang-rhi/issues/104
* Fix bug in WGSL emitter layout code.
There was a "kinds" vs. "kind flags" mismatch, and also getBindingOffsetForKinds was not
being used.
This patch enables a bunch of tests for WGPU.
This helps to address issue #4943.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
|
* Push buffer load to end of access chain.
* Update test.
* Fix.
* Fix.
* Fix.
* Make more robust.
* Fix.
|
|
* Transfer offset decorations when legalizing laid-out structs
Struct legalization removing fields not representable in memory should transfer all
decorations in case the struct has already had offsets calculated.
Closes #5264.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Require GL_EXT_samplerless_texture_functions only if needed
This extension is only necessary when using texture functions
on non-combined texture/samplers.
Fixes #5518
|
|
The WGPU backend was crashing because of the
unbound sampler state. Fix the test by adding
a test sampler.
Issue 5277
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
|
This closes issue #5505.
|
|
* Fix CUDA prelude for makeMatrix
* Add regression test.
|
|
regression. (#5508)
* Fix IntVal unification logic to insert type casts.
* Fix regression.
|
|
* Fix WGSL parameter block binding.
* Re-enable tests.
* Update failure list.
* Fix entrypoint parameters.
* Update tests.
* Enable stat-var test.
|
|
* [WGSL] Enable arbitrary arrays in uniform buffers.
* format code
* Undo irrelevant change and fixups.
* Update expected failure list.
* Fix.
* Rename.
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|