| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
(#5415)
This commit changes the word "stdlib" or "standard library" to "core module" in the source code.
|
| |
|
|
| |
The directory name of `source/slang-stdlib` is changed to `source/slang-core-module`.
We will use the term "core module" instead of "standard library" from now on.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
auto-diff results (#5394)
* Various AD enhancements
* Fix issue with pt-loop test
* Update pt-loop.slang
* More fixes for perf. Final minimal context test now passes.
* Fix issue with loop-elimination pass not running after dce
* Try fix wgpu test by removing select operator
* Disable wgpu
* Delete out.wgsl
* Remove comments
* Update slang-ir-util.cpp
* Fix header relative paths for slang-embed
* Disbale wgpu for a few other tests
* Better way of determining which params to ignore for side-effects
* Update slang-ir-dce.cpp
* Fix issue with circular reference from previous AD pass being left behind for the next AD pass
* Update slang-ir-dce.cpp
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add documentation for buffer types
* address comments
* Update doc for LoadxAligned functions
Update the doc for all Load{2,3,4}Aligned and LoadxAligned<T> functions of
buffer type. We assume that those aligned version of Load{2,3,4} and
Load<T> will treat the whole buffer as type of unit{2,3,4} or T,
so the address must be aligned to size of the loaded type.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This commit renames the files and projects to prefer "core-module" over
"stdlib".
The directory name `source/slang-stdlib` needs to be renamed too, and
there will be another commit for it soon.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a breaking change in a way that the Slang API function names are changed. All of them are commented as "experimental" and we wouldn't provide a back-ward compatibility for them.
Following functions are renamed:
compileStdLib() -> compileCoreModule()
loadStdLib() -> loadCoreModule()
saveStdLib() -> saveCoreModule()
slang_createGlobalSessionWithoutStdLib() -> slang_createGlobalSessionWithoutCoreModule()
slang_getEmbeddedStdLib() -> slang_getEmbeddedCoreModule()
hasDeferredStdLib() -> hasDeferredCoreModule()
Following command-line arguments are renamed:
"-load-stdlib" -> "-load-core-module"
"-save-stdlib" -> "-save-core-module"
"-save-stdlib-bin-source" -> "-save-core-module-bin-source"
"-compile-stdlib" -> "-compile-core-module"
|
| |
|
|
|
| |
* Fix incorrect debug assert in `getLanguagePrelude`.
* Fix.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Use DebugDeclare instead of DebugValue.
* Avoid generating illegal SPIRV.
* Improve DebugLine output.
* Fix.
* Fix.
* Misc improvements.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* wasm: Add compile target option when creating slang session
Also add a new interface to return spirv code which is binary,
because 'std::string ComponentType::getEntryPointCode' is not
suitable for returning the binary data.
We use a more standard way that wrap the binary data by using
emscripten::val as the return type.
* Add target of metal
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Split examples cmake desc
* declutter top level CMakeLists.txt
* fail if building tests without gfx
* Move llvm fetching to another cmake file
* Further split CMakeLists.txt
* Neaten llvm fetching
* Remove last premake remnant
* correct cross builds
* Neaten
* Neaten project organization in vs
|
| |
|
|
|
| |
* Fix several bugs with `specializeWithArgTypes()`
* Make all types L-values for the purposes of reflection API resolution
|
| |
|
| |
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
| |
* Document bit operations
Fixes #5307
* Update hlsl.meta.slang
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* Recognize a JSON keyword "aliases" for SPIRV-header
This commit will handle the new JSON keyword "aliases" in SPIRV-Header grammar files.
"aliases" are used in two places: one for "opname" and another for "enumerants".
This commit itself wouldn't do anything until we integrate new commits from SPIRV-Header repo.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
* Remove use of Variable Pointer capability.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Cleanup definition of `printf`.
* Fix.
* Fix spirv generation.
* Fix.
* enhance test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup atomic intrinsics.
* Fix.
* Fix glsl.
* Remove hacky intrinsic expansion logic for glsl image atomics.
* Fix all tests.
* Fix.
* Add `InterlockedAddF16Emulated`.
* Fix glsl intrinsic.
* Fix.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
D3D12Core.dll had been copied to a wrong directory and slang has been using D3D12Core.dll from the system directory, C:\windows\system32.
D3D12Core.dll has to be copied from external/slang-binaries/bin/windows-x64 to build/Release/bin/D3D12 not to build/Release/bin.
The same is true for the debug build and it had to be copied to build/Debug/bin/D3D12 not build/Debug/bin.
It hasn't been a problem for Release build, because the debug-layer is not enabled for Release build and it didn't cause the version mismatching problem with D3D12SDKLayers.dll. The Release build was loaded from either build/Release/bin or from C:\windows\system32, and it didn't matter which one was used.
The Debug build, however, got into a problem where D3D12Core.dll was loaded from the system directory whereas D3D12SDKLayers.dll was loaded from build/Debug/bin and it failed to load D3D12.dll entirely. This caused D3D12 to be "Not supported" for "Windows/Debug" configuration. Note that our CI explicitly excludes DX12 tests for the "Windows/Debug" configuration with a command-line argument "-api all-dx12", and DX12 tests were going to be ignored anyway.
The actual problem was observed when WGPU is implemented. WGPU started printing explicit errors for the load failure of D3D12.dll.
See more detailed explanation:
https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/#d3d12sdkpath-should-not-be-the-same-directory-as-the-application-exe
Closes #5305
Closes #5276
|
| | |
|
| |
|
|
|
| |
* Fix spirv debug info for pointer types.
* fix comment.
|
| |
|
| |
Add fcpw library to test suite.
|
| |
|
|
|
|
|
| |
* Add stdlib documentation for attributes and interfaces.
* Fix name mangling to avoid collision of functions in different extensions.
* Fix doc.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Squash redundant move warnings
* Move C interface from slang.h to slang-deprecated.h
spGetBuildTagString remains, because it's useful to have before the
global session exists.
This C API is used quite pervasively in the C++ helpers (for example
slang::UserAttribute. It's not trivial to move these to
slang-deprecated.h as they're entangled with some enums which are
themselves used elsewhere in the compiler.
The fact that these helpers use the C API can be viewed as an
implementation detail for now, and this usage moved to slang-deprecated
in due course.
Closes https://github.com/shader-slang/slang/issues/4758
* Squash warnings for our usage of our deprecated API
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| | |
|
| |
|
| |
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't use __assume for SLANG_ASSERT + build fixes.
* Fix.
* build slang-wasm conditionally
* Fix.
* revert retry open file
* revert include.
* another attempt of silencing compiler warnings.
* revert assume change.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix race condition for building stdlib headers
Fixes https://github.com/shader-slang/slang/issues/5270
* Generalize slangtarget install options
* Install slang-without-embedded-stdlib with generators
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
| |
* Fix assert when compiling an entrypoint that calls another entrypoint.
* Fix test.
|
| | |
|
| |
|
| |
Fixes https://github.com/shader-slang/slang/issues/5270
|
| |
|
|
|
|
|
| |
* Restrict stdlib embed macros to single source file
* Build slang-without-embedded-stdlib with the same target type as libslang
To avoid building everything twice
|
| |
|
|
|
|
| |
Support for exceptions is enabled, since Slang uses them for diagnostics.
The size optimization arguments ('-Os') resolves some internal emscripten error during the
slang-wasm.wasm linking step, which happens when enabling exceptions.
("parse exception: too many locals")
|
| | |
|
| | |
|
| |
|
|
|
| |
* Support constant folding for static array access.
* Fix test.
|
| | |
|
| |
|
|
|
|
|
| |
When precompiling modules defined
with glsl, it's necessary to link in the
glsl definition module.
Reuse the public fillRequirements declaration
|