| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
Fixes #8335
---------
Co-authored-by: Mukund Keshava <mkeshava@nvidia.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
| | |
|
| |
|
|
|
| |
* Reset minimum cmake version to 3.22
* update slang-rhi
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add the missing generator expression for install build targts
Fixes #7351.
* Formatted
---------
Co-authored-by: Harsh Aggarwal (NVIDIA) <haaggarwal@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* update slang-rhi
* adapt to new slang-rhi API
* enable slang-rhi agility sdk
* fix handling empty list
* disable failing slang-rhi tests
* format code
* fix slang-rhi-tests ci step
* skip running slang-rhi-tests
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
| |
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix: Respect user-defined output directory settings for libraries
Modified SlangTarget.cmake to properly respect CMAKE_LIBRARY_OUTPUT_DIRECTORY, CMAKE_RUNTIME_OUTPUT_DIRECTORY and CMAKE_ARCHIVE_OUTPUT_DIRECTORY variables when they are explicitly set by the user.
This ensures libraries and executables are placed in the directories specified by the user, including handling Multi-Config generators like Visual Studio, Xcode, and Ninja Multi-Config.
Fixes #5896: Shared library build output location ignores CMAKE setting
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
| |
* Add SLANG_ENABLE_RELEASE_LTO cmake option
* Fix cmake static build
* Disable install SlangTargets to avoid static build failing
|
| |
|
|
|
|
|
|
|
|
|
| |
* Fix documentation on DescriptorHandle.
* Fix.
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* Remove unnecessary warnings on windows
* Correctly set debug flags on gcc
* Emit debug info for Release builds
* Perform LTO for relwithdebinfo builds
* Release from release builds not relwithdebinfo
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Split debug info for all targets
Work towards https://github.com/shader-slang/slang/issues/5724
* release separate debug info
Closes https://github.com/shader-slang/slang/issues/5724
* Add split debug info support for MacOS
* Add SLANG_ENABLE_SPLIT_DEBUG_INFO option
* Sign and package debug info on MacOS
* Set --build-id where available
* Correct debug info installing
* Keep cpack macos signing workaround
* Neaten cmake
* Disable sccache if building split debug info on Windows
* Only repack necessary files on MacOS releases
|
| |
|
|
|
| |
Closes https://github.com/shader-slang/slang/issues/5764
Also mention other installed targets in cmake config
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Install PDB files when available
Closes https://github.com/shader-slang/slang/issues/5562
* format code
* format code
---------
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit enables Link Time Code Generation, or LTCG for short, for
the release builds.
Because "incremental" build is enabled, this ends up using
"/LTCG:incremental" rather than the full "/LTCG". It is still expected
to more performant than without any "/LTCG" at all.
In order to use the full LTCG, we will need to give up the incremental
build option for the Release build. We will need to decide if we wants
to do it later.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous attempt to enable Structured Exception Handling in
(only) MSVC using the /EHa compiler flag caused trouble with flags
defined with Cmake Generator Expressions. These expressions are
not fully resolved, and they fail validation checks in
check_cxx_compiler_flag(). The previous attempt at applying
/EHa to only MVSC involved refactoring a direct call to
target_compile_options() with a call to the Slang helper function
add_supported_cxx_flags() where an additional MSVC filter was
introduced, but the helper also calls check_cxx_compiler_flag() to
see if flags are supported. It was okay for /EHa, but not some
other flags that ended up getting newly validated.
The above issue is fixed by re-implementing the change that added
/EHa to only MSVC. This change goes back to adding compiler flags
without the helper function with its extra validation, instead using
an additional cmake generator expression to apply /EHa only to MSVC.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Catch all exceptions in render-test
In MSVC, the /EHsc flag is used by default,
it causes only C++ (synchronous) exceptions
to be caught by try/catch blocks.
The /EHa flag can instead be used to catch
both synchronous C++ exceptions as well
as structured asynchronous exceptions
such as those seen in segfaults or other
typical bugs.
Using /EHa allows render-test to not crash
completely if there is a buggy graphics driver in the system.
Issue 5275
|
| |
|
|
|
|
|
|
|
| |
* format cmake files
* format code
---------
Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add options to prevent usage of own submodules
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Allow using external unordered dense headers
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Link system wide installed unordered dense
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Allow external header usage for lz4 and spirv
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Add more options to disable targets
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Add option to provide explizit path for spirv headers and remove earlier options that break the build process
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Rename options to use common prefix
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Fix indentation for the cmake changes
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Add advanced_option function for cmake
* Normalize includes between system and submodule dependencies
Fix any before-accidentally-working problems
* Add option for enabling/disabling slang-rhi
Signed-off-by: Jacki <jacki@thejackimonster.de>
* Pass correct include path for cpu tests
* Correct include path
---------
Signed-off-by: Jacki <jacki@thejackimonster.de>
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* spelling
* Reduce duplication in slang lib builds
Closes (as much as possible) https://github.com/shader-slang/slang/issues/4615
The only case where we could actually make a difference would be an
embedded stdlib and static slang, which isn't a configuration anyone
actually uses. Nonetheless, clean up this bit
|
| |
|
|
|
| |
* Remove generated file from source and build at build time
* comments
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* Cope with failed version parsing
* Better version parsing
* populate slang-tag-version with cmake
* Neaten cmake
|
| |
|
|
|
|
|
|
|
| |
* Remove syntax error in release script
* Make ci scripts more robust
* Remove lib copying
* Add bin directory to RPATH
|
| |
|
| |
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
| |
* cmake: slang lib type setting
* cmake: change name for slang lib type setting
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
* 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
|