| Age | Commit message (Collapse) | Author |
|
The type of `sizeof` has to be int not uint.
|
|
(#5200)
* Fix crash when compiling associatedtypes with generic interface constraints.
* delete hlsl.meta.slang.temp.h.
* Fix.
|
|
* Correct typo in parser
* SizeOfLineExprs have type int
Fixes https://github.com/shader-slang/slang/issues/5191
|
|
This commit enables the workflow debug message for running VK CTS
workflow.
Currently three CTS tests are causing a crash of deqp with an exit code
1. And when the debug message printing is enabled, this crash is no
longer happening, which is unexpected. It seems like the issue is on the
CI runner process rather than Slang, driver nor deqp.
We will keep the log message enabled not only to avoid the crash but
also to see more information when things went wrong.
This commit also prints the last 1,000 lines of TestResults.qpa when
deqp had a failing test or deqp was exited unexpectedly. This will help
us to debug the problem faster.
|
|
* Fix diagnostics for [PreferRecompute]
* Update dont-warn-on-simple-prefer-recompute.slang
* Update slang-ir-autodiff.cpp
* Update dont-warn-on-simple-prefer-recompute.slang
* Update warn-on-prefer-recompute-side-effects.slang
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Add COM API for querying metadata.
* Fix tests.
* fix test.
|
|
* update slang-rhi
* fix render-test
* update slang-rhi
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
|
|
* remove setting CMAKE_SYSTEM_PROCESSOR
we will need a proper toolchain file to setup cross-compilation
* disable slang-rhi webgpu backend on linux
this is a temporary fix for allowing the release workflow to run
|
|
|
|
|
|
|
|
|
|
Closes #5117
This adds a build step of WebAssembly version of Slang.
Currently it is enabled only for Linux/Release to reduce the time cost
of CI, but the builds were all successful on all platforms and
configurations when tested.
|
|
* Design proposal for initialization.
* extension
* QA
* wording
* Update design.
* more revisions.
* revise text.
* rewording to be more accurate.
* Fix wording and add explanation to examples.
* clarify on zero initialization.
* refine the rules and examples.
* update status.
|
|
|
|
SCCACHE_IGNORE_SERVER_IO_ERROR=1
Closes https://github.com/shader-slang/slang/issues/5163
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
* Implement texture_storage_Xd in WGSL
This commit implements `texture_storage_Xd` in WGSL, which is similar
to RWTextureXD in HLSL.
It is intresting that `texture_storage_Xd` doesn't take the shader
type as its input argument at all.
Instead, it takes "texel format" enum value as its first template
parameter, which can be found here:
https://www.w3.org/TR/WGSL/#storage-texel-formats
As an example, `texture_storage_2d<rg32uint, read_write>` expects
vec4<u32> as a value type for `Load` and `Store`, where Z-component
will be ignored and treated as zero and W-component will be treated
always as 1. The type `u32` is inferred from the enum value `rg32uint`.
Note that the number of component is always fixed to 4 regardless how
many components are actually stored.
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
* WGSL texture support for depth and multisampled
This commit fixes a few issues with WGSL texture intrinsics.
- static_assert-s are corrected.
- Gather functions work properly with depth textures
- Load functions work properly with depth textures and multisampled
textures
|
|
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
|
|
* Compile fixes for Wasm
The issues are all are due to 'long' types being 32 bits on WASM.
- class members redeclared errors
- << with StringBuilder and unsigned long is ambiguous
This helps to address issue #5115.
* Use the host executable suffix for generators
Since the generators are run at build-time, we should not use CMAKE_EXECUTABLE_SUFFIX,
which is the suffix for the target platform.
Instead, define CMAKE_HOST_EXECUTABLE_SUFFIX as appropriate, and use that suffix instead.
This helps to address issue #5115.
* Add support for Wasm as a platform
This helps to address issue #5115.
* Add emscripten build
This closes #5115.
|
|
`$p` was incorrectly removed on the previous commit.
This commit brings it back and fixes the problem.
|
|
This PR implements the texture gather functions for WGSL.
The pattern was very similar to how Metal was implemented.
Before copy and paste from the Metal implementation, I had to
clean up the Metal implementation to make it more readable
and maintainable.
Gather functions are available only for 2D and 3D textures.
Their `array` and `depth` variants may or may not be supported depending on the target.
`static_assert` ensures that Gather functions are available only for 2D and 3D textures.
Removed incorrect use of "$p" argument for targeting GLSL.
|
|
* Implemented Combined-texture for WGSL
* Remove unnecessary comment
* Limit to std430 layout
* Fix compiler warning for unused variable
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* update slang-rhi with initial wgpu support
* update slang-rhi
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Closes #5143
Recently there was a commit that changed the behavior of the memory
pointer for WGSL.
This commit fixes some issues came up after the change.
|
|
|
|
This commit implements all of the texture intrinsics for WGSL except "Gather" and sampler-less.
They will be implemented in a separate PR.
A few things to note:
- texture sampling functions are available only for the fragment shader stage; not for compute
- WGSL doesn't have any functions similar to CalculateLevelOfDetail or CalculateLevelOfDetailUnclamped.
- WGSL doesn't have a function overlaoding for textureSample with "clamp" or "status" arguments.
- WGSL doesn't support Load operation with offset for texture_multisampled_XX and texture_storage_XX.
- WGSL supports only four types of depth textures: 2D, 2D_array, cube and cube_array.
- WGSL doesn't support "offset" variants for cube and cube_array.
|
|
|
|
* Initial Atomic<T> type implementation.
* Update design doc.
* Fix.
* Add test.
* Fixes and add tests.
* Fix WGSL.
* Fix glsl.
* Fix metal.
* experiemnt with github metal.
* experiment github metal 2
* github metal experiment 3
* experiment with github metal 4.
* experiment with metal 5.
* experiment 7.
* metal experiment 8.
* Fix metal tests.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add diagnostic to verify the left hand side of a generic constraint.
* Fix comment.
|
|
My previous commit disabled the WGSL test by a mistake. This commit fixes the mistake and run the slang-test for WGSL tests.
frexp and modf were still not working for the vector types.
|
|
* Synthesize conformance for generic requirements.
* Fix.
* Fix build error.
* address code review.
|
|
* Allow lookups of overloaded methods.
* Update slang-reflection-api.cpp
* Update slang.cpp
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Update spirv-headers and spirv-tools versions
* Fix compute-derivative regressions with upgraded spirv headers
Extension was promoted from NV to KHR while retaining same enums.
Fixes #5106
* Prevent DCE on ray trace position fetch
Adds dummy usage to the intersection positions fetched
from HitTriangleVertexPositions to prevent DCE from
removing their usage.
Fixes #5105
* Update spirv-tools-generated
* More DerivativeGroup*KHR test fixes
Add fixes for a missing test intrinsic-derivative-function-in-compute.slang
Use the {{NV|KHR}} syntax to tolerate either enum.
Fixes #5106
* Squash tabs in closesthit test
* HACK test CI
* Avoid multiple IncomingRayPayloadKHR storage params
* Revert "HACK test CI"
This reverts commit c2556ea2baef0bd48e4c86f90cf17dfab80015c1.
* Avoid multiple IncomingRayPayloadKHR storage params in anyhit
|
|
* Add design doc for atomic<T> type.
* Update design doc.
* Fix.
* More comment on parameters.
|
|
* refactor render test to use latest slang-rhi
* update slang-rhi
* update slang-rhi
* update slang-rhi
* update slang-rhi
|
|
This closes issue #5085.
|
|
* Use GITHUB_TOKEN if set
We have been having an error from Github saying that API rate limit
exceeded for IP. It hits the limit more often if your public IP is
shared by many other collegues.
{"message":"API rate limit exceeded for 216.228.112.22. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
The suggested solution from GitHub is to use gh.exe tool with "auth
login" arguments. It will store a token and allow us to use API more
than the limit set for IP without token.
However, our cmake build doesn't use gh.exe and API is called via REST.
This commit adds an extra header to the HTTP request with the
infomration of the github token if the value is.
Usage: cmake.exe --preset vs2019 -DSLANG_GITHUB_TOKEN=your_token_here
* Adding a warning message to use LANG_GITHUB_TOKEN
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Requires this PR https://github.com/shader-slang/slang-rhi/pull/40
Co-authored-by: Yong He <yonghe@outlook.com>
|