summaryrefslogtreecommitdiff
path: root/external
AgeCommit message (Collapse)Author
2023-02-15Upgrade GLSLANG 12.0.0 (#2651)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update to glslang 12.0.0. Update SPIRV-Tools SPIRV-Headers.
2023-02-01Use gmake2 as a premake target over gmake (#2587)Ellie Hermaszewska
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...
2022-11-14glslang: 11.10.0-16-g42398c93 -> 11.12.0-32-gf74f37c5 (#2507)Ellie Hermaszewska
2022-11-01Upgrade slang-binaries (#2479)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade slang binaries to include "DX Compiler release for July 2022" https://github.com/microsoft/DirectXShaderCompiler/releases/tag/v1.7.2207
2022-10-13Add getVersionString() to IDownstreamCompiler (#2446)lucy96chen
* checkpoint * Added shaderCachePath field to IDevice desc in gfx.slang, gfx-smoke.slang should be functional * ran premake * Added getVersionString() to IDownstreamCompiler and implemented it in DownstreamCompilerBase, GlslangDownstreamCompiler, and DXCDownstreamCompiler * Added hashInto to Val and implemented for all subtypes which contain _getHashCodeOverride implementations; nothing hooked up to caching yet * Revert erroneous commits from rebasing * Re-ran premake.bat; changed hashInto implementations to _hashIntoOverride * downstream compiler getVersionString hooked up into shader cache * Rebuild CI, Win32 Release builds successfully locally * Rebuild CI, Win32 and x64 Release build successfully locally * Reverted Val::hashInto changes, deferred for later; modified init() for downstream compilers to fetch, hash, and save the hashes of their corresponding dlls (currently implemented for glslang and dxc), changed getVersionString() to directly return the saved hash for key computation * call site changes post-merge; fixing CI build failures * Removed remaining hashInto; Updated hashToString to produce string one byte at a time * Fixed expected output to match new hashToString output order * Missed string edit in hashing related unit tests * Updated dxcapi.h; Replaced getVersionString implementation in glslang with the shared library timestamp, dxc implementation queries for IDxcVersionInfo and IDxcVersionInfo2 then fetches and returns the relevant values * Fixing CI build failures * Changed RawBlob to StringBlob for strings * Modified getVersionString for dxc to always return either the version plus commit hash or shared library timestamp
2022-08-04Split debug-layer into smaller files (#2344)lucy96chen
* 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>
2022-07-27Updated slang-binaries (#2341)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade slang-binaries.
2022-07-25Update Slang binaries (#2339)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Use version of slang-binaries without glslang binaries/premake alpha 13. Co-authored-by: Yong He <yonghe@outlook.com>
2022-07-21Upgrade SPIR-V Tools and GLSLANG (#2335)jsmall-nvidia
* #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
2022-07-01Upgrade to glslang 11.10.0+ (#2306)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to glslang 11.10.0 Co-authored-by: Yong He <yonghe@outlook.com>
2022-05-23Update SPIR-V Headers (#2246)Theresa Foley
2022-05-19Move to shader-slang SPIRV-Tools (#2243)jsmall-nvidia
* Use shader-slang/SPIRV-Tools * Update to latest version with fix for compiling on gcc 7.5
2022-05-17Split render-d3d12.h/cpp into a set of smaller files (#2231)lucy96chen
* Split render-d3d12 into numerous smaller files to make the code easier to parse * Added all new D3D12 files created from splitting render-d3d12 * Fixed several uses of attachment still floating around; Changed resource-d3d12 and descriptor-heap-d3d12 to match naming conventions of new d3d12 implementation header files * Readded files with name changes because changing them from inside VS apparently results in them being treated as new files * Merged in externals changes from master * Small cleanup changes * Rerun CI Co-authored-by: Theresa Foley <10618364+tangent-vector@users.noreply.github.com>
2022-05-17Upgrade to glslang 11.9.0 binaries (#2240)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update slang binaries to have glslang 11.9.0
2022-05-16Update SPIR-V generated (#2238)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update spirv-tools-generated, for glslang-upgrade-14f6e27.
2022-05-10Glslang upgrade (#2228)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update SPIR-V headers/opt. Update glslang. * Set the SPIR-V emit version. * Use the merged hash from shader-slang/glslang * Improve comment around spirv version for emitting spir-v directly.
2022-02-15Add OSX LLVM JIT support (#2130)jsmall-nvidia
* #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.
2022-02-10Add glslang OSX (#2128)jsmall-nvidia
* #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.
2021-10-28Upgrade glslang (#1995)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update glslang. * Update slang-binaries to have glslang 11.16.0-3
2021-10-27Update glslang binaries (#1991)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Use updated slang-binaries that have SPIR-V diagnostics improvements. * Re-enable nv-ray-tracing-motion-blur, because with SPIR-V diagnostic fixes in glslang - there shouldn't be spurious errors from glslang compilation. * If optimization fails use the SPIR-V we have. * Update slang binaries. * Hack to disable gfx unit tests for now to try and get CI pass for this PR.
2021-10-27SPIR-V fixes (#1992)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Use updated slang-binaries that have SPIR-V diagnostics improvements. * Re-enable nv-ray-tracing-motion-blur, because with SPIR-V diagnostic fixes in glslang - there shouldn't be spurious errors from glslang compilation. * If optimization fails use the SPIR-V we have. * Update SPIR-V headers and generated files. Updated documentation. * Update spirv-headers/tools. Revert slang-binaries. * Remove hack around spir-v optimization as no longer needed. disable nv-ray-tracing-motion-blur.slang
2021-10-26SPIR-V optimization diagnostics (#1989)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * WIP fixing glslang error reporting. * SPIR-V opt diagnostics. * Small formatting tidy up. * Disable nv-ray-tracing-motion-blur.slang for now, until merged and can rebuild slang-glslang. * Formatting improvements. * Some small improvements around optimizing in glslang. * Make clear if calling optimize with 'non' in glslang no work is done (such as a pointless copy). * Small formatting change - mainly to kick off a build. * Upgrade slang-binaries to fix git fetch issue on TC. * Small formatting edits. Kick build.
2021-10-25Enabling slang-llvm for host-callable (#1975)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * First integration of slang-pack. * Use .os * Add optional dependency support. * Update github actions/scripts to update deps. aarch64 needs special handling. * Upgrade to latest slang-pack for ignore-deps support. * Fix linux build issues. * Copying slang-llvm from dependencies. * Add support for LLVM for host callable. Added CodeGenTransitionMap. * Remove hack to enable host callable for LLVM. * Small improvements around transitions/downstream compiler. * Fix typo in method name. * Fix comment. * Update visual studio project. * Updage slang-llvm to include initialization fix. * Fix handling extraction of clang version number. * Fix some formatting problems. * hack - to see if there is a version problem on CI. * Remove progress on github action linux. * Allow version lines to have text before 'prefix'. * Update slang-binaries to include centos-7 premake binaries. * Upgrade slang-binaries. * Upgrade slang-binaries. * Update slang binaries to have certificates. * Fix handling of dependency path. * Update README to include LLVM Update building to include --deps and --arch * Include slang-llvm in packages. * Update building docs.
2021-10-22Feature/update slang binaries (#1988)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Add slang-binaries to have certificates.
2021-10-21Upgrade slang-binaries (#1986)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update slang-binaries to have centos binaries.
2021-10-13Updated glslang binaries (#1977)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update slang-binaries for glslang binaries with updated spirv headers/tools.
2021-10-13Update spirv/glslang generated files (#1976)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update glslang/spir-v generated files. * Update spirv-headers and spirv-tools * Fix readme.
2021-10-09Upgrade to GLSLANG 11.16.0+ (#1962)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to GLSLANG 11.16.0+ * Small edit to readme - really to kick another build. * Upgrade slang-binaries to include new glslang binaries. * Update slang-binaries to include linux-x86 * Upgrade slang-binaries.
2021-09-29Fix ARM64 detection for MSVC (#1951)Chad Engler
2021-07-16Upgrade glslang to 11.5.0 (#1910)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade glslang to 11.5.0 * Remove no longer needed section from glslang-generated/README.md
2021-07-09Enable testing with Swiftshader. (#1906)Yong He
2021-07-08Update VS projects to 2019. (#1901)Yong He
* Update VS projects to 2019. * Empty commit to trigger build
2021-06-25Update Vulkan headers (#1896)Yong He
Co-authored-by: Theresa Foley <tfoleyNV@users.noreply.github.com>
2021-03-16Update binaries (#1758)Tim Foley
2021-03-04Refactor `gfx` to surface `CommandBuffer` interface. (#1735)Yong He
* Refactor `gfx` to surface `CommandBuffer` interface. * Fixes. * Fix code review issues, and make vulkan runnable on devices without VK_EXT_extended_dynamic_states. * Update solution files * Move out-of-date examples to examples/experimental Co-authored-by: Yong He <yhe@nvidia.com>
2021-02-24Explicit swapchain interface in `gfx`. (#1726)Yong He
* Explicit swapchain interface in `gfx`. * Correctly return nullptr when `IRenderer` creation failed. * Fix crashes on CUDA tests. * Cleanups.
2021-01-21Upgrade slang-binaries for glslang 11.1.0 (#1664)Tim Foley
This change also switches the build back to using prebuilt glslang binaries instead of always building from source.
2021-01-20Update glslang to 11.1.0 (#1662)Tim Foley
* Update glslang to 11.1.0 This change pulls new versions of glslang, spirv-headers, and spirv-tools as submodules, and makes the necessary changes to other files in the repository to get it all building (at least on Windows). This change also enables building of glslang from source by default, so that we can easily generate new binaries for inclusion in the `slang-binaries` repository. * fixup: missing file
2021-01-11LZ4 compression support (#1654)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Testing out use of lz4. * Added ICompressionSystem, and LZ4 implementation. * Add support for deflate compression. Simplify compression interface - to make more easily work across apis. * WIP on CompressedFileSystem. * ImplicitDirectoryCollector * SubStringIndexMap - > StringSliceIndexMap. * WIP save stdlib in different containers. * Support for different archive types for stdlib. * Fix project. * CompressedFileSystem -> ArchiveFileSystem. Added CompressionSystemType::None * Added ArchiveFileSystem * Fix problem RiffFileSystem load withoug compression system. * Test archive types. Improve diagnostic message. * Fix typo in testing file system archives. * Split out archive detection. * Fix gcc warning issue. * Fix warning. * RiffArchiveFileSystem -> RiffFileSystem Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2020-12-02Zip FileSystem support (#1617)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Add miniz * Fix for separator in CacheFileSystem. Add compression unit test for zip. * Put zip compression into core. * Remove delimiter stripping if simplifying a path - as stripping will fix delimiters. * ZipFileSystem WIP. * More ZipFileSystem working. * Added isEmpty. Fixed small bug is contains. * First pass support for mutability on zip. * Improvements to File::read/writeAllBytes * Can access and save archive - but has memory leaks. * Fix memory leak. * Some ZIP compression tests. * Fix memory leak on ScopedAllocation. Fix off by one bug on UIntSet * Bug fix in UIntSet * Fix remaining ZipFileSystem issues. Adde stand alone unit-test. * Turn tabs to spaces in slang-io.h * Renamed mode ReadWrite (instead of just Write) * Make miniz it's own project. * Fix windows warning on win32. * Remove warnings needed when miniz was included as a header library. * Set the C++ standard via 'flags' in premake. * Add support for 'implicit' paths. * Add testing for implicit directories. Better handling of implicit directories. * Improve comments in ZipFileSystem. * Update comment around reader/writer transformation.
2020-09-04Use glslang linux binaries build on TC. (#1534)jsmall-nvidia
2020-08-27Removed use of pthreads in glslang (#1517)jsmall-nvidia
* Try removing pthreads from glslang. * Update slang-binaries to use glslang that doesn't use pthreads. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2020-08-21Vulkan update/NVAPI support (#1511)jsmall-nvidia
* First pass at incorporating nvapi into test harness. * D3d12 Atomic Float Add via NVAPI working * Dx12 atomic float appears to work. * Atomic float add on Dx12. * Added atomic64 feature addition to vk. Fix correct output for atomic-float-byte-address.slang * Disable atomic float failing tests. * Upgraded VK headers. * Detect atomic float availability on VK. * Try to get test working for in64 atomic. * Made HLSL prelude controlled via the render-test requirements. * Added -enable-nvapi to premake. * Fix D3D12Renderer when NVAPI is not available. * Small improvements to VKRenderer. * Improve atomic documentation in target-compatibility.md.
2020-08-11slang-glslang binaries update, including fixes from PR Bugfix: ↵jsmall-nvidia
WaveActiveCountBits on glsloutput. Slang PR #1488 (#1489)
2020-08-10Slang binaries including #1485 fix (#1486)jsmall-nvidia
* Fix the minProgramTexelOffset should be -. * Improve comments. * Upgrade of slang-binaries which contains slang-glslang with the texel offset fix. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2020-07-31Upgrade to Glslang 11.0.0 (#1466)jsmall-nvidia
* Fix premake5.lua so it uses the new path needed for OpenCLDebugInfo100.h * Keep including the includes directory. * Added the spirv-tools-generated files. * We don't need to include the spirv/unified1 path because the files needed are actually in the spirv-tools-generated folder. * Put the build_info.h glslang generated files in external/glslang-generated. Alter premake5.lua to pick up that header. * First pass at documenting how to build glslang and spirv-tools. * Improved glsl/spir-v tools README.md * Added revision.h * Change how gResources is calculated. Update about revision.h * Update docs a little. * Split out spirv-tools into a separate project for building glslang. This was not necessary on linux, but *is* necessary on windows, because there is a file disassemble.cpp in spirv-tools and in glslang, and this leads to VS choosing only one. With the separate library, the problem is resolved. * Fix direct-spirv-emit output. * Update to latest version of spirv headers and spirv-tools. * Upgrade submodule version of glslang in external. * Add fPIC to build options of slang-spirv-tools * Upgrade slang-binaries to have new glslang. * Fix issues with Windows slang-glslang binaries, via update of slang-binaries used. * Small improvements to glslang building process documentation. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2020-03-06Update slang-binaries to verison with SPIR-V version support. (#1261)jsmall-nvidia
2019-11-21Update slang-binaries to use docker built glslsang (#1134)Robert Stepinski
2019-11-14Fix path to Linux x86 glslang binary (#1126)Tim Foley
2019-11-14Update slang-binaries to include Linux x86 glslang (#1125)Tim Foley