| Age | Commit message (Collapse) | Author |
|
* Squash a couple of warnings on clang
Redisable -Wunused-local-typedefs
* unused variable
|
|
* Add d3d sources for linux builds
* Return NOT_IMPLEMENTED for shared handle support on Linux
* Enable DirectX api on Linux
* Do not report DX11 support without FXC
* Initial version of SynchAPI emulation
* Neaten dx library name handling
* Neaten and use posix-synchapi
* Add premake option for DirectX on Vulkan
* s/SLANG_ENABLE_VKD3D_PROTON/SLANG_ENABLE_VKD3D
* Skip failing tests on vkd3d
* Regenerate vs projects
* Silence unused var warning
|
|
|
|
* Correct case of windows.h includes
* Use Slang::SharedLibrary to load directx dlls
* s/max/std::max/
* Factor common OS code in calcHasApi
* Add DXIL test for compute/simple
* s/false/FALSE for calls to WinAPI functions
* Factor common OS code in gfxGetAdapters
* 2 missing headers
d3d12sdklayers for ID3DDebug
climits for UINT_MAX
* Define out unused function on Linux
* Only try to load Vulkan and CUDA on Windows or Linux
* simplify D3DUtil::getDxgiModule
* Remove WIN32_LEAN_AND_MEAN &co from source files
Add a global define
* Set WIN32_LEAN_AND_MEAN &friends in headers
Restore previous state also
* regenerate vs projects
|
|
* Enable SLANG_ENABLE_DXIL_SUPPORT on non-Windows platforms
This currently grabs the DXC headers from the system, rather than from external/dxc
We should make this consistent by either pulling in the Windows adapter from DXC into external/dxc or by making the Windows builds use <dxc/dxcapi.h>
* Update dxcapi and add DXC's WinAdapter
* Use our copy of dxcapi.h for non-windows DXC usage
* Only set -fms-extensions where necessary
* Work around dxc dlclose bug
* Neaten and comment dxc-compiler.cpp
|
|
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Use c++17 standard
* regenerate VS projects
* Switch to using std::invoke
|
|
* Add PyTorch C++ binding generation.
* fix
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add quad texture example.
* delete output image
* remove irrelavent files
* update project files
* fix
* Update example.
* Fix.
* remove out-texture
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
No semantic change
|
|
* s/emititng blobal/emitting global
* Use SPIR-V opcode names rather than numbers
* regenerate Visual Studio project files
* Use names for extended SPIR-V GLSL instructions
* Add missing operand for SPIR-V extended instruction
* Add warning aginst modifying generated hashing files
* Squash warnings on MSVC
|
|
The gmake generator has been deprecated by gmake2 https://premake.github.io/docs/Using-Premake/#using-premake-to-generate-project-files
gmake2 has better dependency handling around our custom rules leading in fewer runs of slang-generate etc...
|
|
* Add ASAN support to premake
* Fix StringRepresentation when ASAN is enabled
* Fix deep recursion in slang-generate
* Fix hello-world example
* Fix gpu-printing example
* Linux fix
* Try fixing linux
* Add missing include
|
|
|
|
|
|
|
|
* Add LockFile helper class
|
|
* Don't use uname -p
It's not portable (doesn't work on my machine)
* Disable maybe-uninitialized warning on gcc
Only false positives at the moment
* Squash warning in miniz
Allow it to use 64 bit file handing functions with gcc
* Use noreturn c++11 attribute in SLANG_RETURN_NEVER
* Squash uninitialized variable warnings
* Squash const char/char conversion warnings
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Fix inlining pass.
* Add more check against corner cases.
* Revise comments.
* Fixes.
* Fix premake script.
* Fixes.
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Preliminary SER NVAPI support.
* Set the DXC compiler version.
Fix typo in premake5.lua
* Improve DXC version detection.
Enable HLSL2021 on late enough version of DXC.
* Fix typo.
* Fix launch.
* Test via DXIL output.
* Update dxc-error output.
|
|
* Shader cache index integrated into RendererBase; Added test for cache eviction policy (which currently does not pass)
* Restructured main if block in getEntryPointCodeFromShaderCache; Post-rebase cleanup
* undo local testing only change
* Fixed issues causing shader cache tests to fail
* Edited gfx.slang to reflect structural changes to IDevice::Desc and to include ShaderCacheDesc; Modified how the cache is reading in the file from disk; Added a check to the cache eviction policy test that checks for correct order of entries in the cache as well as eight total expected output files for D3D12 and Vulkan
* Removed line in gfx-unit-test.cpp for local testing
* Edited .gitignore to ignore all shaders automatically generated by the shader cache tests and removed the test shaders that were previously added; Review changes, most notably with an overhaul of how the cache eviction policy test handles checking order of entries
* Ran premake; Removed local testing specific line (again)
* Removed expected comparison files from earlier commit; Ran premake
* Edited premake5.lua to also ignore the auto-generated shader files from specific shader cache tests
* Fixed weird indent in premake5.lua
|
|
* Use premake's linkgroups rather than specifying the flags ourselves
Fixes linker warning about unterminated --start-group
* C++ only warnings only when compiling C++
* compile miniz and l4z as C, not C++
* Use enum over 0 literal
Silences enum-literal-compare warning
Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
|
|
* Fix release CI script.
* Fix vs
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix build script for macos aarch64.
* fix1
* Fix2.
* update vs files
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
|
|
|
|
* 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>
|
|
* checkpoint commit
* debug-layer split, does not compile
* Almost compiles, rebasing before making any further changes
* everything compiles and passes tests locally
* Added tools/gfx/debug-layer to premake and ran premake
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Upgrade of SPIR-V Tools
* Use slang-pack to get slang-glslang (previously was in slang-binaries)
Update slang-glslang used
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Attempt to make premake work for xcode4.
* Make architecture ARM64.
* Using ARM64 didn't make any difference.
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Remove default for `disable-stdlib-source`
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Only disable source, if there is stdlib embedding.
* Disable by default stdlib source embedding if stdlib binary embedding is enabled.
* Fix typo
* Improve comments.
|
|
* Added swapchain resize test
* fixed externals
* Rerun CI
* Ignore test if swapchain fails to create
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use TerminatedUnownedStringSlice for literals in output C++.
* Remove Escape/Unescape functions used in slang-token-reader.cpp
Add target type of 'host-cpp' etc to map to the target types.
* Fix some corner cases around string encoding.
* Added unit test for string escaping.
Fixed some assorted escaping bugs.
* Updated test output.
* Added decode test.
* Stop using hex output, to get around 'greedy' aspect. Use octal instead.
* Added HostHostCallable
Small changes to use ArtifactDesc/Info instead of large switches.
* Fix C++ emit to handle arbitrary function export.
* Add options handling for callable without an output being specified.
* Can compile with COM interface. Added example using com interface.
* Use the IR Ptr type instead of hack in C++ emit for interfaces.
* Fix issue with outputting the COM call when ptr is used.
* Fix crash issue on compilation failure.
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Added ability to compile slang without stdlib source. It's not requried if stdlib is available if embedded, or is a binary on the file system.
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Add language server daemon.
* Fix.
Co-authored-by: Yong He <yhe@nvidia.com>
Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
Co-authored-by: Theresa Foley <10618364+tangent-vector@users.noreply.github.com>
|
|
- The enable-stdlib-generator project is created with
'kind = StaticLib' to allow the build to work, even though
the project doesn't actually create a library.
- Unlike some other platforms, MacOs "ar" emits an error if no
object files are listed to be added to an archive. This causes
enable-stdlib-generator to fail on MacOS.
- Changing the project's kind to "SharedLib" works around the issue.
Other values for kind do not seem to work around the issue.
- Add an optional flag to generatorProject to indicate that
kind = "SharedLibrary" should be used, rather than "StaticLibrary"
- Add MacOS fix for SharedLibraryUtils::getSharedLibraryFileName().
- Enable embed stdlib in github_macos_build.sh
|
|
Co-authored-by: Theresa Foley <10618364+tangent-vector@users.noreply.github.com>
Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
|
|
Other than on Windows, we will go ahead and turn off warnings-as-errors
for the gfx project, to help clean up some of our CI build mess.
|
|
* Enable treating warnings as errors
* Changed tab to spaces
|
|
|
|
* #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.
|
|
* #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.
|
|
* #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.
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
Co-authored-by: Theresa Foley <tfoleyNV@users.noreply.github.com>
|
|
* Update heterogeneous-hello-world to use gfx changes + delete shader.cpp
* Remove "experimental feature" tag from premake
* Add placeholder executeComputation_0() to shader.cpp
* Add shader.cpp to heterogeneous-hello-world files in premake
* Added project "heterogeneous-first-gen" to address first time build issues
* Re-add "experimental feature" tag, clean up generated file structure
Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
|
|
* Enable running tests in parallel.
* Fix linux build.
* Add pthread dependency for slang-test.
* Fix teamcity output.
* Fix race condition.
* Make testReporter thread safe.
* Clean up.
* Fix.
* trigger build
* Fix.
Co-authored-by: Yong He <yhe@nvidia.com>
Co-authored-by: Theresa Foley <tfoleyNV@users.noreply.github.com>
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use 'Process' to communicate with an command line tool.
* Remove slang-win-stream
* Tidy up windows ProcessUtil.
* First version of BufferedReadStream.
* Windows working IPC for steams.
* Test proxy count option.
* Split Process/ProcessUtil. Process is platform dependant. ProcessUtil are functions that are platform independent.
* First implementation of Unix Process interface.
* Unix process compiles on cygwin.
* Fix typo in unix process.
* Separate unix pipe stream error of invalid access, from pipe availability.
* Fix in standard line extraction.
* Make fd non blocking.
* Fix issues with Windows Process streams.
* Added UnixPipe.
* Some fixes around UnixPipeStream.
* Make a unix stream closed explicit.
* Hack to debug linux process/stream.
* Revert to old linux pipe handling.
* Pass executable path for unit tests.
Split out CommandLine into own source.
* Small improvements in process/command line.
* Check process behavior with crash.
* Make stderr and stdout unbuffered for crash testing.
* Only turn disable buffering in crash test.
* Disable crash test on CI.
* Fix crash on clang/linux.
* Enable crash test.
Remove _appendBuffer as can use StreamUtil functionality.
* Added inital processing for http headers.
* Small improvements to HttpHeader.
* First pass HTTPPacketConnection working on windows.
* Enable other Process communication tests.
* Update comments.
* WIP JSON RPC.
* Add terminate to Process.
Made JSONRPC a Util.
* Small tidy up around HTTPPacketConnection.
* Improve process termination options.
* WIP for test-server.
* Add diagnostics error handling to test-server.
* Improved JSON support.
Parsing/creating JSON-RPC messages.
* WIP JSONRPC parsing.
* First pass RttiInfo support.
* WIP converting between JSON/native types.
* Project files.
* Split out RttiUtil.
Made RttiInfo constuction thread safe.
* WIP RTTI<->JSON.
* Add diagnostics to JSON<->native conversions.
* Make RttiInfo for structs globals. Avoids problem around derived types (like pointers), being able to cause an abort.
* Add pointer support to RTTI.
Fixed some compilation issues on linux.
* Add fixed array support.
* Added Rtti unit test.
* Add rtti unit test.
* Split out quoted/unquoted key handling.
Fix bugs in JSON value/container.
Added JSON native test.
* Make default array allocator use malloc/free.
Remove the new[] handler (doesn't work on visuals studio).
* Fix for linux warning.
* Remove some test code.
* Fix issues on x86 win.
* Fix warning on aarch64.
* Fix some bugs in JSON parsing/handling.
Make Rtti work copy/dtor/ctor struct types.
* Testing JSON<->native with fixed array.
Make makeArrayView explicit if it's just a single value.
Added array type.
* Fix getting arrayView.
* Improve JSON diagnostic name.
* First pass refactor using Rtti for JSON RPC.
* First pass of test server using RTTI/JSON-RPC.
* Added JSONRPCConnection.
* Fix some naming issues.
* First pass of test-server working.
* Added unit test support for JSON-RPC test server.
* Fix compilation issues on linux around template handling.
* Typo fix.
* Fix a bug around SourceLoc lookup with JSONContainer.
* Set the console type to console for ISlangWriters.
* Small improvements to test-server.
* Small improvements in test-server.
* Small fix.
* Remove test-proxy. Make test-process a process that can be used to unit test 'Process'.
Adding mechanism to control spawning that will create a new process for every test.
* Ability to remove source manager for JSONValue.
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use 'Process' to communicate with an command line tool.
* Remove slang-win-stream
* Tidy up windows ProcessUtil.
* First version of BufferedReadStream.
* Windows working IPC for steams.
* Test proxy count option.
* Split Process/ProcessUtil. Process is platform dependant. ProcessUtil are functions that are platform independent.
* First implementation of Unix Process interface.
* Unix process compiles on cygwin.
* Fix typo in unix process.
* Separate unix pipe stream error of invalid access, from pipe availability.
* Fix in standard line extraction.
* Make fd non blocking.
* Fix issues with Windows Process streams.
* Added UnixPipe.
* Some fixes around UnixPipeStream.
* Make a unix stream closed explicit.
* Hack to debug linux process/stream.
* Revert to old linux pipe handling.
* Pass executable path for unit tests.
Split out CommandLine into own source.
* Small improvements in process/command line.
* Check process behavior with crash.
* Make stderr and stdout unbuffered for crash testing.
* Only turn disable buffering in crash test.
* Disable crash test on CI.
* Fix crash on clang/linux.
* Enable crash test.
Remove _appendBuffer as can use StreamUtil functionality.
* Added inital processing for http headers.
* Small improvements to HttpHeader.
* First pass HTTPPacketConnection working on windows.
* Enable other Process communication tests.
* Update comments.
* WIP JSON RPC.
* Add terminate to Process.
Made JSONRPC a Util.
* Small tidy up around HTTPPacketConnection.
* Improve process termination options.
* WIP for test-server.
* Add diagnostics error handling to test-server.
* Improved JSON support.
Parsing/creating JSON-RPC messages.
* WIP JSONRPC parsing.
* First pass RttiInfo support.
* WIP converting between JSON/native types.
* Project files.
* Split out RttiUtil.
Made RttiInfo constuction thread safe.
* WIP RTTI<->JSON.
* Add diagnostics to JSON<->native conversions.
* Make RttiInfo for structs globals. Avoids problem around derived types (like pointers), being able to cause an abort.
* Add pointer support to RTTI.
Fixed some compilation issues on linux.
* Add fixed array support.
* Added Rtti unit test.
* Add rtti unit test.
* Split out quoted/unquoted key handling.
Fix bugs in JSON value/container.
Added JSON native test.
* Make default array allocator use malloc/free.
Remove the new[] handler (doesn't work on visuals studio).
* Fix for linux warning.
* Remove some test code.
* Fix issues on x86 win.
* Fix warning on aarch64.
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Support for test proxy.
* Turn on testing using proxy.
* Don't pass sink into check of downstream compiler.
* Small change to kick off build.
* Remove register specification on transcendental.
* Increase poll timeout.
Small improvements to proxy.
* Disable gfx unit tests.
* Put test runner in shared library mode by default.
* Change comment. Kick off another CI test.
* Small edit to kick off builds.
* Run unit tests on proxy.
* Turn on using proxy for now.
* Enable swift shader.
* Fix typo.
Add exception support.
* Make the default spwan type SharedLibrary
Use isolation for gfx unit tests.
* Update slang-binaries.
* Fix typo.
* Report unit test output information.
|