summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-29Put debug symbols in releases (#5370)Ellie Hermaszewska
2024-10-29Precompiled SPIR-V import support (#5048)cheneym2
* Precompiled SPIR-V import support Adds appropriate linkage and function declaration syntax for SPIR-V functions that are declared, to be imported from another SPIR-V module. Unlike DXIL, stripping the Slang IR for a function down to a declaration requires retaining a block of parameters, as the function declaration must be emitted to SPIR-V with the same parameters as a definition. Because that thwarts the logic in Slang to tell the difference between a declaration and definition, and explicit decoration is introduced to explicitly mark functions which need to be treated as declarations during emit phase. Fixes #4992 Co-authored-by: Yong He <yonghe@outlook.com>
2024-10-29fix formatting issue (#5432)kaizhangNV
Co-authored-by: Yong He <yonghe@outlook.com>
2024-10-29Increase slangc option visibility in docs (#5425)cheneym2
* Increase slangc option visibility in docs Link to slangc command-line reference from readme. readme. Boost the visiblity of the link in the user-guide. Consolidates command-line-slangc.md into the user-guide. Fixes #4124 * Update README.md * Update 08-compiling.md --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-10-29[wasm]: fix the build error (#5430)kaizhangNV
2024-10-29Use Offset instead of ConstOffset for GLSL function textureGatherOffset (#5426)Jay Kwak
* Use Offset instead of ConstOffset for GLSL function textureGatherOffset This commit changes to use `Offset` option on OpImageGather instruction when translating `textureGatherOffset` to SPIR-V code. Interestingly GLSL allows the offset value to be a variable not constant just for the function `textureGatherOffset` while all other offset variants of texture sampling functions require the offset to be a constant value. From a few experiments, I found that the spirv-optimizer changes `Offset` to `ConstOffset` if the offset is a compile-time value. I also found that when the offset value is zero, it changes to `None` with no offset value.
2024-10-29formatEllie Hermaszewska
* format * Minor test fixes * enable checking cpp format in ci
2024-10-29preparation for clang format (#5422)Ellie Hermaszewska
* Clang-format excludes * Add .clang-format * Don't clang-format in external * Missing includes and forward declarations * Replace wonky include-once macro name * neaten include naming * Add clang-format to formatting script * Add xargs and diff to required binaries * add clang-format to ci formatting check * Add max version check to formatting script * temporarily disable checking formatting for cpp files
2024-10-29Check formatting in CI (#5409)Ellie Hermaszewska
also add ci to check cmake formatting
2024-10-29format cmake files (#5406)Ellie Hermaszewska
* format cmake files * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-10-29Correct URL in auto-format PR body (#5427)Ellie Hermaszewska
2024-10-29Improvements to formatting bot (#5421)Ellie Hermaszewska
* Use github token for formatting command dispatch * Open PR instead of committing directly when formatting * Add --no-version-check option to formatting script * Colorful diff output for cmake formatting
2024-10-28Replace the word stdlib or standard-library with core-module for source code ↵Jay Kwak
(#5415) This commit changes the word "stdlib" or "standard library" to "core module" in the source code.
2024-10-28Rename a directory `source/slang-stdlib` to slang-core-module (#5417)Jay Kwak
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.
2024-10-28Assorted auto-diff enhancements for increased performance & more streamlined ↵Sai Praveen Bangaru
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
2024-10-28Add documentation for buffer types (#5410)kaizhangNV
* 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>
2024-10-28More wasm binding for playground. (#5420)Yong He
2024-10-27Update README.mdYong He
2024-10-27Update README.mdYong He
2024-10-27Export language server to wasm. (#5419)Yong He
2024-10-27Add implicit cast for generic vector types. (#5413)Yong He
2024-10-27Add `InterlockedAddF64` intrinsic. (#5412)Yong He
2024-10-25Swap the term StdLib with Core-Module or Standard-Module in documents (#5414)Jay Kwak
This PR is limited to documents. All use of "Standard library" or "StdLib" are replaced with either "core module" or "standard modules", depending on the context.
2024-10-26Use github token for formatting command dispatch (#5418)Ellie Hermaszewska
2024-10-26Actions workflow to format code on command (#5400)Ellie Hermaszewska
* Add script to perform or check formatting * Actions workflow to format code on command Comment on a PR with /format
2024-10-25Replace stdlib with core-module on files and projects (#5411)Jay Kwak
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.
2024-10-25Replace stdlib on Slang API with CoreModule (#5405)Jay Kwak
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"
2024-10-25Switch back to fetching upstream llvm project (#5408)Ellie Hermaszewska
* backout of commit aa64c853142076b17bd020f1386ea5fc6fcd5e3e * Use github token to fetch llvm
2024-10-24Fix incorrect debug assert in `getLanguagePrelude`. (#5402)Yong He
* Fix incorrect debug assert in `getLanguagePrelude`. * Fix.
2024-10-24Describe experimental COM interfaces (#5397)cheneym2
Fixes #5212 Co-authored-by: Yong He <yonghe@outlook.com>
2024-10-24Use DebugDeclare instead of DebugValue. (#5404)Yong He
* Use DebugDeclare instead of DebugValue. * Avoid generating illegal SPIRV. * Improve DebugLine output. * Fix. * Fix. * Misc improvements.
2024-10-24wasm: Add compile target option when creating slang session (#5403)kaizhangNV
* 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
2024-10-24Fix language server crash. (#5395)Yong He
2024-10-24declutter top level CMakeLists.txt (#5391)Ellie Hermaszewska
* 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
2024-10-24Fix a few documentation typos (#5396)cheneym2
2024-10-23Fix several bugs with `specializeWithArgTypes()` (#5365)Sai Praveen Bangaru
* Fix several bugs with `specializeWithArgTypes()` * Make all types L-values for the purposes of reflection API resolution
2024-10-23Document the interfaces in the core module (#5374)Jay Kwak
Co-authored-by: Yong He <yonghe@outlook.com>
2024-10-23Document bit operations (#5373)cheneym2
* Document bit operations Fixes #5307 * Update hlsl.meta.slang
2024-10-22Document derivative core module functions (#5369)cheneym2
2024-10-22Update update_spirv.mdJay Kwak
Rewording the document to make the testing step mandatory.
2024-10-22Update the document, `update_spirv.md` (#5368)Jay Kwak
This commit updates the document about how to update the SPIRV submodules.
2024-10-21Recognize a new spirv header json grammar keyword "aliases" (#5367)Jay Kwak
* 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.
2024-10-21Fix spirv codegen for pointer to empty structs. (#5355)Yong He
2024-10-21Stdlib documentation for Atomic, Optional, Tuple (#5358)Ellie Hermaszewska
2024-10-21Add more doc for builtin interfaces. (#5357)Yong He
2024-10-21Fix UAV access for 3d texture mips (#5363)ccummingsNV
2024-10-21Fix incorrect setting of array information for 1d texture arrays in D3D12 ↵ccummingsNV
(#5361)
2024-10-20Mark SPIRV artifact as non-executable. (#5356)Yong He
2024-10-20Properly check switch case. (#5341)Yong He
2024-10-19Remove use of Variable Pointer capability. (#5352)Yong He
* Remove use of Variable Pointer capability.