summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-29Update document subtitle color (#1828)Yong He
2021-04-29Add gfx user's guide. (#1824)Yong He
* Add gfx user's guide. * Add getting started chapter in gfx-guide * Fixes * Fix * Polishing doc template
2021-04-29`gfx` DebugCallback and debug layer. (#1822)Yong He
* `gfx` DebugCallback and debug layer.
2021-04-29Simplify CommandLine by removing Escaping (#1825)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Split out StringEscapeUtil. * Added StringEscapeUtil. * Fix typo in unix quoting type. * Small comment improvements. * Try to fix linux linking issue. * Fix typo. * Attempt to fix linux link issue. * Update VS proj even though nothing really changed. * Fix another typo issue. * Fix for windows issue. Fixed bug. * Make separate Utils for escaping. * Fix typo. * Split out into StringEscapeHandler. * Windows shell does handle removing quotes (so remove code to remove them). * Handle unescaping if not initiating using the shell. * Slight improvement around shell like decoding. * Simplify command extraction. * Add shared-library category type. * Fix bug in command extraction. * Typo in transcendental category. * Enable unit-test on in smoke test category. * Make parsing failing output as a failing test. * Fixes for transcendental tests. Disable tests that do not work. * Changed category parsing. * Removed the TestResult parameter from _gatherTestsForFile. Made testsList only output. * Remove testing if all tests were disabled. * Make args of CommandLine always unescaped. * Add category. * Don't need escaping on unix/linux. * Remove some no longer used functions.
2021-04-29Support for escaped paths in tools (#1823)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Split out StringEscapeUtil. * Added StringEscapeUtil. * Fix typo in unix quoting type. * Small comment improvements. * Try to fix linux linking issue. * Fix typo. * Attempt to fix linux link issue. * Update VS proj even though nothing really changed. * Fix another typo issue. * Fix for windows issue. Fixed bug. * Make separate Utils for escaping. * Fix typo. * Split out into StringEscapeHandler. * Windows shell does handle removing quotes (so remove code to remove them). * Handle unescaping if not initiating using the shell. * Slight improvement around shell like decoding. * Simplify command extraction. * Add shared-library category type. * Fix bug in command extraction. * Typo in transcendental category. * Enable unit-test on in smoke test category. * Make parsing failing output as a failing test. * Fixes for transcendental tests. Disable tests that do not work. * Changed category parsing. * Removed the TestResult parameter from _gatherTestsForFile. Made testsList only output. * Remove testing if all tests were disabled. * Fix typo. * Disable path canonical test on linux because CI issue.
2021-04-27adding some simple optix intrinsics to slang (#1817)Nathan V. Morrical
2021-04-27enabling command line compiler to output PTX with multiple entry points. (#1816)Nathan V. Morrical
Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
2021-04-26Matrix tests and assorted bug tests (#1814)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Some test around matrix layout. * A test for problem with C++ code output. * Default should be column major CPU/CUDA tests confused this. * Added column-major test * Small fixes around tabs/comments * Diagnostic problem for init of vector type with inappropriate params. * Test demonstrating inconsistency between GPU and 'CPU-like' non square matrices. * Added column major non square test. * Remove vector mismatch - because ambiguity is arguably reasonable because float can silently promote to a vector. * Small typo fixes for non-square-column-major.slang
2021-04-26Matrix docs update (#1815)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Update matrix documentation. * Small fixes. * Some small fixes. * Fixes and improvements to matrix doc. * Small fixes. * Additional matrix doc layout clarification.
2021-04-26Fix user-guide layout bug (#1821)Yong He
2021-04-26Improve user guide layout for narrow viewports (#1820)Yong He
2021-04-25Delete user-guide-toc.htmlYong He
2021-04-24Remove table of contents from user guide landing page.Yong He
2021-04-24Always expand root level of table of contents (#1819)Yong He
2021-04-24Auto generate interactive table of contents for user-guide. (#1818)Yong He
2021-04-24Remove resource `Usage` from `gfx` interface. (#1813)Yong He
* Fix `model-viewer` crash when using Vulkan. Fixing an issue in shader object layout creation for to make sure a correct descriptor set layout is calculated for types that need an implicit constant buffer. * Fix formatting. * Fixes. * Fix memory leak in vulkan. * Remove resource `Usage` from `gfx` interface.
2021-04-23Fix lexer/preproc diagnose issue (#1806)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Pass LexerFlags to all lexing functionality that may output a diagnostic. * Add test for lexing disabling issue. * Improve tests. Co-authored-by: Yong He <yonghe@outlook.com>
2021-04-23Add `ISession::getParameterBlockLayout()` (#1805)Yong He
2021-04-23Fix `model-viewer` crash when using Vulkan. (#1804)Yong He
2021-04-23Preliminary CUDA Half support (#1808)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * WIP CUDA half support. * Working support for half on CUDA - requires cuda_fp16.h and associated files can be found. * Fix for win32 for unused funcs. * Fix for Clang. * Hack to disable unused local function warning.
2021-04-22Improve document table of content style (#1812)Yong He
2021-04-22Fix documentation (#1811)Yong He
2021-04-22Fix layout for user-guide (#1810)Yong He
2021-04-22Set theme jekyll-theme-slateYong He
2021-04-22Fix errors in matrix-layout documentation (#1809)Yong He
* Fix errors in matrix-layout documentation * Fixup
2021-04-22Update a1-01-matrix-layout.mdYong He
2021-04-22Update a1-01-matrix-layout.mdYong He
2021-04-22Add doc on matrix layout (#1807)Yong He
* Add doc on matrix layout * Fixup
2021-04-22C++ extractor improvements (#1803)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Split of NodeTree. Split out FileUtil. Split out MacroWriter. * Rename slang-cpp-extractor-main.cpp -> cpp-extractor-main.cpp * First pass at extractor unit-tests * Initial parsing of enum. * Ability to disable/enable parsing of scope types. * Initial support for typedef. * Added operator== != to ArrayVIew. Added test for splitting to unit tests. * Improve comment in StringUtil. * Fix comment. * Fix typo.
2021-04-20Various fixes to make `model-viewer` example almost working. (#1801)Yong He
* Fixing `PseudoPtr` legalization and `gfx` lifetime issues. * Fixing `model-viewer` example. This change contains various fixes to bring `model-viewer` example to fully functional. These fixes include: 1. Add `spReflectionTypeLayout_getSubObjectRangeSpaceOffset` function to return the space index for a sub object referenced through a `ParameterBlock` binding. 2. Make sure `D3D12Device` specifies column major matrix order creating a Slang session. 3. Fix `platform::Window::close()` and `platform::Application::quit()`. 4. Fix memory leak during `model-viewer''s model loading. 5. Fix command buffer recording in `model-viewer`. With these changes, model viewer can now produce an image with a gray cube. The lighting is still incorrect becuase the `gfx` shader object implementation still does not handle "pending layout" resulting from global existential parameters. * Fix d3d12 root signature creation. * Use row-major matrix layout in model-viewer
2021-04-20Small filesystem improvements (#1802)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Small improvements around uniqueIdentify and CacheFileSystem
2021-04-19Splitting up C++ extractor (#1800)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Refactor out ClassLikeNode * WIP around ScopeNode. * Use push and popScope. * Small improvements around C++ extractor. * Adding dynamic casting support. * Made Field another Node type. * Disable command line dumping by default. * Removed comment. * Fix shadowed variable bug found on linux. * Split out node. * Renamed C++ extractor diagnostics to just diagnostics.cpp/.h * Remove C++ extractor Options into separate options.cpp/options.h files. * Split out parser and identifier lookup from C++ extractor. * Put in CppExtract namespace. Simplify some of the class names. * Some simple renaming. * Split out NodeTree from Parser.
2021-04-19Infinite generic parsing bug fix (#1799)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Fix bug causing infinite loop in parser. * Add a faster path for LookAheadToken when the offset is 0. * Fix typo introduced in last commit.
2021-04-16Add Hello world example. (#1797)Yong He
2021-04-16Update `model-viewer` example and fixing compiler bugs. (#1795)Yong He
2021-04-14NVTRC 64 bit requirement (#1792)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Made 64 bit requirement clearer for CUDA/PTX. Added compile assert for NVRTC for 32 bit OS, that are known to require 64bit. * Disabled location of NVRTC on linux/win x86. * Only restrict NVRTC on windows * Simplify checking on 64 bit windows for NVRTC. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2021-04-14C++ Extractor reorganize (#1793)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Refactor out ClassLikeNode * WIP around ScopeNode. * Use push and popScope. * Small improvements around C++ extractor. * Adding dynamic casting support. * Made Field another Node type. * Disable command line dumping by default. * Removed comment. * Fix shadowed variable bug found on linux.
2021-04-14Fix for vector initialization combinations (#1794)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Made vector init combinations explicit. * Add test for vector initialization. * Small comment change - really just to retrigger TC.
2021-04-13More preprocessor issues including an infinite loop (#1791)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Tests showing issues with preprocessor behavior. * Fix comment/typo. * Infinite loop. * Another preproc bug. * Small fixes in preproc test * Bug around empty single parameter * Repeated parameter name. * Fix comment. * #undef of undefined macro is not an error. * Clarify that it is a warning on Slang. * Fix expected diagnostic. * Fix preproc-detail-2.slang.expected
2021-04-09Tests showing preprocessor issues (#1790)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Tests showing issues with preprocessor behavior. Co-authored-by: Yong He <yonghe@outlook.com>
2021-04-08Improve robustness of gfx lifetime management. (#1788)Yong He
* Improve robustness of gfx lifetime management. * fix clang error * fix clang error * Fix clang warning
2021-04-08Test for specialization problem with undefined resource (#1785)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Test for bug around specialization.
2021-04-07Fix memory leak in `CacheFileSystem` (#1786)Yong He
Not sure if this call to `addRef` is intentional, but it is causing memory leaks.
2021-04-05TypoTim Foley
2021-04-05Fix a bug in the "operator cache" (#1784)Tim Foley
In order to speed up compilation, the semantic checking step uses a cache for overload resolution in the case of an operator being applied to operations of basic scalar types and vectors/matrices thereof. The logic for construct keys for that cache was defensive against the case of, e.g., `vector<int,N>` where the element count `N` of the vector was not a literal value but a generic parameter. For some reason it did not have equivalent safeguards for a case like `vector<T,2>` where the element type was not a basic type, and it would instead assume all vector/matrix types had basic types as their element type. This change fixes the logic to make it properly defensive against this case. Co-authored-by: jsmall-nvidia <jsmall@nvidia.com>
2021-04-05Transient root shader object. (#1782)Yong He
2021-04-05Added tests/current-bugs (#1781)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Added a current-bugs folder in tests for active (ie with issue) bug tests demonstrating the problem. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
2021-04-04Fixed a typo on introduction (#1783)Ali Emre Gülcü
2021-04-02Repro fixes (#1780)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Fix handling names in repro with : Handle if file info is not set - which means it's contents was not loaded.
2021-04-01cygwin - disable VK/CUDA (#1777)jsmall-nvidia
* #include an absolute path didn't work - because paths were taken to always be relative. * Disable Vulkan and CUDA on cygwin. Co-authored-by: Yong He <yonghe@outlook.com>