summaryrefslogtreecommitdiffstats
path: root/.github
Commit message (Collapse)AuthorAge
...
* SPIRV Fixes. (#3622)Yong He2024-02-23
| | | | | | | | | | | | | * Use SpvSourceLanguageSlang enum. * Fix spirv entrypoint interface. * Cleanup. * Add error on unknown spirv opcode. * Fix CI. * Fix.
* Add release package build for linux aarch64 (#3612)kaizhangNV2024-02-21
|
* Revert "Add new release package for aarch64 linux (#3609)" (#3611)kaizhangNV2024-02-21
| | | | | This reverts commit 255ecf7993cc69d38525af7e711c24fae6f94ba5. Co-authored-by: Yong He <yonghe@outlook.com>
* Add new release package for aarch64 linux (#3609)kaizhangNV2024-02-21
| | | Co-authored-by: Yong He <yonghe@outlook.com>
* Deploy the falcor-perf-test (#3579)kaizhangNV2024-02-14
| | | | | | | | | | | | | | | | | | | | | | | | * Deploy the falcor-compiler-perf-test Deploy the falcor-compiler-perf-test to falcor-test.yml file. It will download the release pre-build from: https://github.com/shader-slang/falcor-compile-perf-test and run the test executable with newly built slang libraries. It only works on win64 now. Disable running the tests on macos and linux platform. * make a separate yml file to only run falcor-perf-test * Remove falcor-perf-test from dependency Remove falcor-perf-test from dependency, instead download the binary in github action. --------- Co-authored-by: Yong He <yonghe@outlook.com>
* CI: cancel onging jobs on commit. (#3557)Yong He2024-02-06
| | | | | | | * CI: cancel onging jobs on commit. * test change * Fix.
* deploy slang-glslang with macos releases (#3554)Simon Kallweit2024-02-06
| | | | | | | | | * deploy slang-glslang with macos releases * sign libslang-glslang.dylib and add it to dist package --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Fix spirv legalization generating duplicate array types. (#3517)Yong He2024-01-25
| | | | | | | | | | | * Fix spirv legalization generating duplicate array types. * Fix intrinsics. * Update CI build config. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Add libgfx to macos release (#3444)skallweitNV2024-01-11
|
* WIP: CMake (#3326)Ellie Hermaszewska2023-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * More robust input and output selection in generator tools * Add cmake build system * Get slang-test running with cmake * Bump lz4 and miniz dependencies * Make cmake build more declarative * Correct preprocessor logic in slang.h * Add cuda test to compute/simple * Remove empty cmake files * output placement for cmake, and commenting * Correct include paths in spirv-embed-generator * Format cmake with gersemi * Make cmake build clerer * Neaten header generation Also work around https://gitlab.kitware.com/cmake/cmake/-/issues/18399 by introducing correct_generated_properties to set the GENERATED flag in the correct scope * remove unused files * use 3.20 to set GENERATOR property properly * spelling * more flexible linker arg setting * replace slang-static with obj collection * Set rpath and linker path correctly * neaten generated file generation * tests working with cmake build * fix premake5 build * comment and neaten cmake * remove unnecessary dependency * Build aftermath example only when aftermath is enabled * Add slang-llvm and other dependencies * Put modules alongside binaries * Find slang-glslang correctly * Better option handling * comments * add llvm build test * Better option handling * cmake wobble * use UNICODE and _UNICODE * remove other workflows * use ccache * neaten * limit parallel for llvm build * use ninja for build * Windows and Darwin slang-llvm builds * cache key * verbose llvm build * cl on windows * sccache and cl.exe * use cl.exe * Correct package detection * less verbosity * Simplify miniz inclusion * fix build with sccache * Neaten llvm building * neaten * Neaten slang-llvm fetching * more surgical workarounds * Add ci action * Get version from git * better variable naming * add missing include * clean up after premake in cmake * more docs on cmake build * ci wobble * add imgui target * more selective source * do not download swiftshader * Some missing dependencies * only build llvm on dispatch * Disable /Zi in CI where sccache is present * simplify * set PIC for miniz * set policies before project * reengage workaround * more runs on ci * Add cmake presets * Add cpack * move iterator debug level to preset * Correct lib flag * simplify action * Neaten cmake init * Add todo * Add simple test wrapper * Add tests to workflow presets * rename packing preset * Correctly set definitions * docs * correct preset names * Make slang-test depend on test-server/test-process * neaten * use workflow in actions * install docs * Correct module install dir * debug dist workflow * Install headers * neaten header globbing * Neaten dependency handling * make lib and bin variables * Do not set compiler for vs builds, unnecessary * docs * allow setting explicit source for target * maintain archive subdir * cmake docs * install headers * place targets into folders * cmake docs * nest external projects in folder * remove name clash * Neater external packages * meta targets in folder structure * cleaner slang-glslang dll * Add missing static directive to slang-no-embedded-stdlib * more robust module copying * make slang-test the startup project * folder tweak * Make FETCH_BINARY the default on all platforms * Set DEBUG_DIR * add natvis files to source * skip spirv tests * remove test step from debug dist * Add build to .gitignore * redo warnings to be more like premake * Update imgui * clean more premake files * Disable PCH for glslang, gcc throws a warning * Add /MP for msvc builds * warning wobble * Add script to build llvm * Add slang-llvm and generators components * Build slang-llvm in ci * comments * fetch llvm with git * better abi approximation for cache * better sccache key * formatting * Correct logic around disabling problematic debug info for ccache * exclude gcc and clang from windows ci * Make dist workflows use system llvm * naming * restore normal dist builds * formatting * run tests in ci * Correct slang-llvm url setting * Rely on the system to find the test tool library * actions matrix wiggle * cope with OSX ancient bash * Correct compilers on windows * more ci debugging * Correct rpath handling on OSX * neaten * correct path to slang-llvm * Correct rpath separator on osx * Find slang-llvm correctly * smoke tests only on osx * ci wobble * Give MacOS module a dylib suffix * get swiftshader correctly * cope with bsd cp * remove debug output * full tests on osx * ci wobble * Add some vk tests to expected failures * simplify ci * ci wobble * exclude dx12 tests from github ci * remove cmake code for building llvm * warnings * warnings as errors for cl * spirv-tools in path * add aarch64 ci build * Add SLANG_GENERATORS_PATH option for prebuilt generators * neaten * Correct generator target name * remove yaml anchors because github actions does not support them * Demote CMake in docs Also add info on cross compiling * Restore premake CI * use minimal ci for cmake * Write miniz_export for premake build and .gitignore it * Mention build config tool options in docs * Remove redefined macro for miniz * regenerate vs project
* Disable frexp test on swiftshader. (#3294)Yong He2023-10-26
| | | | | | | | | * Disable frexp test on swiftshader. * Fix windows release script. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Remove use of `::set-output` in github actions. (#3293)Yong He2023-10-26
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Update to Bearer/tap/gon for macos notarization. (#3292)Yong He2023-10-26
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Run Falcor Tests (#3270)Yong He2023-10-16
| | | | | | | | | | | | | | | | | | | | | * Run Falcor Tests * Update test config. * update config. * fix. * fix * fix. * skip slow test. * Fix ci config. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Run curated spirv-opt passes through slang-glslang. (#3266)Yong He2023-10-09
| | | | | | | | | | | | | * Run curated spirv-opt passes through slang-glslang. * Cleanup. * Replace spirv-dis downstream compiler with glslang. * delete slang-spirv-opt.cpp. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Add all RayQuery SPIRV Intrinsics. (#3204)Yong He2023-09-13
| | | | | | | | | | | | | | | | | | | * Add all RayQuery SPIRV Intrinsics. * Fix * Fix. * fix. * Fix. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Fix github ci. (#3177)Yong He2023-09-01
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Fix GLSL code gen around RayQuery and HitObject types. (#3173)Yong He2023-09-01
| | | | | | | | | | | | | | | | | | | | | | | * Update slang-llvm. * Fix. * fix. * Fix unit tests for multi-thread execution. * Fix tests. * fixes. * update tests. * Add gfx-smoke to linux expected failure list. * Try fix test. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Compile append and consume structured buffers to glsl. (#3142)Yong He2023-08-21
| | | | | | | | | | | * Compile append and consume structured buffers to glsl. * Fix. * Update CI config. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Run vk tests on spirv backend with expected failure list. (#3128)Yong He2023-08-16
|
* SPIR-V WIP (#3064)Ellie Hermaszewska2023-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add type layout for structured buffer * Default to generating spirv directly * vk test for compute simple * Add spirv-dis as a downstream compiler * Emit Array types in SPIR-V * makevector for spirv * Dump whole spirv module on validation failure * register array types todo, use emitTypeInst * Neater formatting for unhandled inst printing * break out emitCompositeConstruct * Correct array type generation * neaten * Allow getElement for vector * Remove unused * Allow predicating target intrinsics on types * Consider functions with intrinsics to have definitions We need to specialize these if they are predicated on types * Correct array type generation * makeArray for spir-v * replace getElement with getElementPtr for spirv * Correct translation of field access for spirv * Push layouts to types for spirv * Spirv intrinsics * operator now makes a pointer * Add structured buffer of struct test * Preserve type layout in spirv structured buffer legalization * neaten * makeVectorFromScalar for SPIRV * placeholder for layouts on param groups * More type safe spirv op construction * Know that constants and types only go in one section * Remove emitTypeInst * Add todo for spirv sampling * Add links to spirv documentation on emit functions * OpTypeImage support for SPIR-V * Add simpler texture test for spirv * s/spirv_direct/spirv/g * Allow several string literals in target_intrinsic * Handle global params without a var layour for SPIR-V For example groupshared vars * uint spirv asm type * Add todo for isDefinition It is currently too broad * Some atomic op spirv intrinsics * Strip ConstantBuffer wrappers for spirv * Add todo for matrix annotations * Do not associate decorations insts with spirv counterparts * Correct entry point parameter generation * Spelling * Assert that fieldAddress is returning a pointer * Add error for existential type layout getting to spir-v emit * Add IRTupleTypeLayout Unused so far * Allow getElementPtr to work with vectors * Correct target name in test * Hide default spirv direct behind a premake option --default-spirv-direct=true * Do not insert space at start of intrinsic def * Correct asm rendering in tests * remove redundant option * Emit directly from direct test * Add source language options for spirv-dis * Add comments to spirv dis * Add dead debug print for before spirv module * Correct asm rendering in tests * s/spirv_direct/spirv/g * Only specialize intrinsic functions with predicates * regenerate vs projects * squash warnings * squash warnings * remove duplication * Silence warnings from msvc * squash warnings * Overload for zero sized array * More msvc warnings * warnings * Add spirv-tools to path for tests * Do not be specific about dxc version for diag test * Normalize line endings from spirv-dis * Correct filecheck matches * Temporarily disable two spirv tests Failing on CI, undebuggable hang :/ * Do not emit storage class more than once for spirv snippet * Do not pass spir-v to spirv-dis by stdin * Do not get spirv-dis output via stream, use file * normalize file endings in spirv-dis output
* Support per field matrix layout (#3101)Yong He2023-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Support per field matrix layout * Fix warnings. * Fix. * Fix tests. * Fix spiv gen. * Fix. * More test fixes. * Fix. * Run only GPU tests on self-hosted servers. * Remove -use-glsl-matrix-layout-modifier. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Set Full GPU CI timeout to 100 minutes. (#3070)Yong He2023-08-08
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Add linux arm64 self-hosted CI. (#3003)Yong He2023-07-20
| | | | | | | | | | | | | * Add linux arm64 self-hosted CI. * Update CI build script. * fix * Ignore test if FileCheck not found. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Limit CPU cores when running MSBuild CI (#3002)Yong He2023-07-19
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Rename Self-Hosted CI config. (#2972)Yong He2023-07-08
| | | | | | | | | * Rename Self-Hosted CI config. * change --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Test self-hosted runner (#2971)Yong He2023-07-07
| | | | | | | | | | | | | * Test self-hosted runner * Update config * update config * update config --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Downgrade github runner to 20.04 (#2792)Ellie Hermaszewska2023-04-12
| | | | | | | | | | | | | * Downgrade github runner to 20.04 Specify gcc10 also * Select gcc with update-alternatives * Ignore persistent cache test on linux. --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Fixes to GitHub Windows CI build (#2664)Theresa Foley2023-02-28
|
* Split bwd_diff op into separate ops for primal and propagate func. (#2582)Yong He2023-01-06
| | | | | | | | | | | * Split bwd_diff op into separate ops for primal and propagate func. * Fix. * Download swiftshader with github actions instead of curl on linux. * Fix github action. Co-authored-by: Yong He <yhe@nvidia.com>
* Update to checkout@v3 (#2572)Yong He2022-12-19
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* include `slang-rt` in windows release package. (#2542)Yong He2022-12-01
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Set slang-tag-version.h on windows builds (#2429)jsmall-nvidia2022-10-04
| | | | | | | | | * #include an absolute path didn't work - because paths were taken to always be relative. * Create the slang-tag-version.h file on windows. * Add non binary files to the artifact upload for windows. * Add headers/docs to linux artifact.
* Don't run aarch64 builds on PR. (#2426)Yong He2022-09-29
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Fix build script for macos aarch64. (#2420)Yong He2022-09-28
| | | | | | | | | | | * Fix build script for macos aarch64. * fix1 * Fix2. * update vs files Co-authored-by: Yong He <yhe@nvidia.com>
* Fix release CI script. (#2419)Yong He2022-09-28
| | | | | | | | | * Fix release CI script. * Fix. * Fix. Co-authored-by: Yong He <yhe@nvidia.com>
* Make github CI build aarch64 binaries on release. (#2417)Yong He2022-09-28
|
* Move -Werror to CI (#2362)Eric Engestrom2022-08-17
| | | | | | | | | | | | | | | | | | | | | | * move -Werror to CI This allows people with a more up-to-date system than you to still compile your project, while still allowing you to block on every warning in your own development. * Fixes. * More fix. * more fix. * Disable werror for gcc. * Fix bash. * fix * fix yml Co-authored-by: Yong He <yonghe@outlook.com> Co-authored-by: Yong He <yhe@nvidia.com>
* Small fixes for github actions for windows. (#2337)jsmall-nvidia2022-07-21
|
* Language server fixes and improvements (#2304)Yong He2022-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Language server: Inlay hints. * Signature help for base exprs that is not a declref. * Fix checking of jvp operator. * Fix. * Add clang-format based auto formatting. * Fix clang error. * Fix clang-format discovery logic. * Fine tune auto formatting and completion experience. * Update macos workflow. * Fixes to configurations. * Fix parser recovery to trigger completion for index exprs. * Typo fix. Co-authored-by: Yong He <yhe@nvidia.com>
* Fix macos release workflow. (#2288)Yong He2022-06-16
| | | Co-authored-by: Yong He <yhe@nvidia.com>
* Update MacOS workflow to sign and notarize binaries (#2286)Yong He2022-06-16
| | | | | | | | | | | | | | | | | | | | | | | * Don't sign slang-llvm and slang-glslang * fix * fix * fix 2 * fix macos release workflow * fix * fix * fix2 * test * fix Co-authored-by: Yong He <yhe@nvidia.com>
* Add signing to Macos release workflow. (#2285)Yong He2022-06-15
| | | | | | | | | * Update macos workflow * Fetch submodule * fix Co-authored-by: Yong He <yhe@nvidia.com>
* Sign macos binaries.Yong He2022-06-15
|
* Upload artifact in macos build. (#2271)Yong He2022-06-13
| | | | | | | | | | | | | | | | | * Update macos.yml * fix. * Create macos release. * fix. * fix * Update release-macos.yml * Update release-macos.yml * Update macos.yml
* Major language server features. (#2264)Yong He2022-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Major language server features. * Include slangd in binary release. * Fix compiler issues. * Fix compiler error. * Completion resolve. * Various improvements. * Update diagnostic test expected output. * Bug fix for source locations. * Adjust diagnostic update frequency. * Update github actions to store artifacts. * Fix infinite parser loop. * Fix parser recovery. * Fix parser recovery. * Update test. * Fix test. * Disable IR gen for language server. * Allow commit characters in auto completion. * Fix lookup for invoke exprs. * More parser robustness fixes. * update solution file Co-authored-by: Yong He <yhe@nvidia.com>
* Add OSX LLVM JIT support (#2130)jsmall-nvidia2022-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX. * OSX testing. * Fix pipe handling for OSX. * Enable testing on OSX. * Small fix because uname -p is not x64 on darwin. * Use glslang from slang-binaries for OSX. * Add slang-llvm on OSX. * Upgrade slang-llvm. * Update slang-llvm for OSX JIT fix. * slang llvm 26 * Upgrade slang-llvm. * Use slangUtil to get shared library filename. * Use fixed slang-binaries. * Another small fix. * Rename linux build for clarity.
* OSX CI Test (#2126)jsmall-nvidia2022-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX. * OSX testing. * Fix pipe handling for OSX. * Enable testing on OSX. * Small fix because uname -p is not x64 on darwin.
* Fix MacOSX build issues (#2124)jsmall-nvidia2022-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes. Added compiler crash with generic defined in a function. Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint. * Add comment about crash. * Disable crashing test. * Fixes to make compile on OSX. * Add github build for OSX. * Make premake generator a utility. * Fix osx compilation issue. * More fixes for OSX build. * OSX fix due to ambiguity around size_t and integer types. * Disable xlib on build on osx. * Use 'prebuildcommands' to make prebuild make utility projects do something. * Small fixes for premake so utility works on linux/osx. * Another hack to try and make generators run when 'utility' * Fix typo in macos.yml. * Revert premake to old style, and disable stdlib embedding on OSX.
* Include gfx.lib in release. (#2002)Yong He2021-11-02
| | | Co-authored-by: Yong He <yhe@nvidia.com>