7222b6c | jsmall-nvidia | 15 November 2022, 19:38:25 UTC | Specify downstream compiler include paths (#2517) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP around testing with NVAPI. * Make -I work for downstream compilers. Update docs. * Small improvement around ignoring tests. | 15 November 2022, 19:38:25 UTC |
069768d | Ellie Hermaszewska | 15 November 2022, 14:37:05 UTC | Add mesh and amplification shaders to slang-glslang (#2516) | 15 November 2022, 14:37:05 UTC |
25affe8 | winmad | 15 November 2022, 00:43:55 UTC | Adding some math functions and their derivatives (#2497) | 15 November 2022, 00:43:55 UTC |
368ec31 | Edward Liu | 14 November 2022, 20:08:01 UTC | Minimum binary arithmetic reverse autodiff working. (#2514) * Initial plumbing of backward autodiff in the frontend. * More plumbing. * Initial reverse autodiff working. * Bug fixes. * Misc. * Remove redundant code. * More clean up. * Misc. * Rebase and add backward diff test. * Disable test. * Clean up. * Minor fix. Co-authored-by: Yong He <yhe@nvidia.com> | 14 November 2022, 20:08:01 UTC |
623f5c3 | Ellie Hermaszewska | 14 November 2022, 03:27:00 UTC | glslang: 11.10.0-16-g42398c93 -> 11.12.0-32-gf74f37c5 (#2507) | 14 November 2022, 03:27:00 UTC |
3e312b3 | jsmall-nvidia | 10 November 2022, 23:38:19 UTC | Improvements to NVRTC diagnostic parsing (#2504) * #include an absolute path didn't work - because paths were taken to always be relative. * Float16 support for C++/CPU based targets with f16tof32 and f32tof16. * Small correction around INF/NAN handling for f32tof16 * Small improvement to f16tof32 * Disable CUDA test for now. * Improvements to NVRTC diagnostic parsing. Handle compilerSpecificArgs. Fix issue with terminating nul ending up in diagnostic string. * Improved NVRTC error parsing. f32tof16 and f16tof32 work in principal on CUDA. * Small update to test, although they remain disabled. * Work around SLANG_E_NOT_AVAILABLE being turned into ignored, when a legitimate error is found * A more tightly constrained fallback NVRTC diagnostic parsing. * Remove CharUtil, as not neeed. Co-authored-by: Yong He <yonghe@outlook.com> | 10 November 2022, 23:38:19 UTC |
0b05fe3 | Yong He | 10 November 2022, 22:19:20 UTC | Fix inlining pass. (#2506) * Fix inlining pass. * Add more check against corner cases. * Revise comments. * Fixes. * Fix premake script. * Fixes. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 22:19:20 UTC |
10834e6 | jsmall-nvidia | 10 November 2022, 21:10:14 UTC | Update nvapi-support.md | 10 November 2022, 21:10:14 UTC |
610851a | Yong He | 10 November 2022, 17:44:00 UTC | Fix document toc. (#2510) Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:44:00 UTC |
66b5351 | Yong He | 10 November 2022, 17:32:30 UTC | Update document toc (#2509) Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:32:30 UTC |
d5e4854 | Yong He | 10 November 2022, 17:19:55 UTC | Update documentation on new features (#2508) * Update documentation on new features * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 17:19:55 UTC |
004f6e3 | Yong He | 10 November 2022, 03:19:17 UTC | Add `[ForwardDerivativeOf]` attribute. (#2501) * Add [ForwardDerivativeOf] attribute. * Fix handling around phi nodes. * Fixes. * Remove IR opcode for ForwardDerivativeOfDecoration. Co-authored-by: Yong He <yhe@nvidia.com> | 10 November 2022, 03:19:17 UTC |
cedd936 | skallweitNV | 09 November 2022, 19:56:55 UTC | Fix supported shader model check in D3D12 device (#2503) * Fix supported shader model check in D3D12 device * Add comment on shader model list order. Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 09 November 2022, 19:56:55 UTC |
e743ddd | jsmall-nvidia | 09 November 2022, 14:15:15 UTC | f32tof16 and f16tof32 support for CPU targets (#2500) * #include an absolute path didn't work - because paths were taken to always be relative. * Float16 support for C++/CPU based targets with f16tof32 and f32tof16. * Small correction around INF/NAN handling for f32tof16 * Small improvement to f16tof32 * Disable CUDA test for now. | 09 November 2022, 14:15:15 UTC |
bf67309 | Yong He | 08 November 2022, 18:07:57 UTC | Make `__BuiltinFloatingPointType` conform to `IDifferentiable`. (#2499) | 08 November 2022, 18:07:57 UTC |
ca882a1 | Yong He | 07 November 2022, 20:26:29 UTC | Small cleanups on forward differentiation. (#2498) Co-authored-by: Yong He <yhe@nvidia.com> | 07 November 2022, 20:26:29 UTC |
ea99c27 | skallweitNV | 07 November 2022, 16:59:15 UTC | Initial version of DeviceLimits implemented in d3d12, d3d11, vulkan and cuda (#2496) | 07 November 2022, 16:59:15 UTC |
72ce058 | skallweitNV | 07 November 2022, 14:06:58 UTC | Make adapterLUID const pointer (#2494) | 07 November 2022, 14:06:58 UTC |
a20f6a0 | Yong He | 05 November 2022, 00:06:29 UTC | Use property for `DifferentialPair` accessors. (#2493) | 05 November 2022, 00:06:29 UTC |
c6e6b7a | Yong He | 04 November 2022, 16:36:23 UTC | Higher order differentiation. (#2487) Co-authored-by: Yong He <yhe@nvidia.com> | 04 November 2022, 16:36:23 UTC |
015bde8 | skallweitNV | 04 November 2022, 16:34:53 UTC | Add AdapterLUID to identify GPU adapters (#2492) * Add AdapterLUID to identify GPU adapters * Remove adapter option in render-test | 04 November 2022, 16:34:53 UTC |
9a3a4b0 | jsmall-nvidia | 03 November 2022, 18:31:51 UTC | Shader Execution Reordering without HLSL2021 (#2489) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable SER tests and enabling HLSL2021 by default. * Small typos fix. Improve SER coverage in testing. * Fix typo. | 03 November 2022, 18:31:51 UTC |
8f9d584 | skallweitNV | 03 November 2022, 15:58:49 UTC | Add gfxGetAdapters function (currently implemented for D3D12/Vulkan) (#2486) * Add gfxGetAdapters function (currently implemented for D3D12/Vulkan) * Extend to handle DirectX11 and CUDA * Use blob to return adapter list and add AdapterList helper * Replace strncpy with memcpy Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 03 November 2022, 15:58:49 UTC |
203b5d7 | jsmall-nvidia | 03 November 2022, 15:48:43 UTC | Disable HLSL2021 by default (#2488) * #include an absolute path didn't work - because paths were taken to always be relative. * Disable SER tests and enabling HLSL2021 by default. | 03 November 2022, 15:48:43 UTC |
2e1c15f | Yong He | 02 November 2022, 19:12:18 UTC | Rework differential conformance dictionary checking. (#2483) * Rework differential conformance dictionary checking. * Revert space changes. Co-authored-by: Yong He <yhe@nvidia.com> | 02 November 2022, 19:12:18 UTC |
fb29bd3 | jsmall-nvidia | 02 November 2022, 13:47:35 UTC | Shader Execution Reordering (via NVAPI) (#2484) * #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. | 02 November 2022, 13:47:35 UTC |
487855e | Yong He | 01 November 2022, 17:24:04 UTC | Remove unnecessary `:IDifferentiable` conformance in tests. (#2482) Co-authored-by: Yong He <yhe@nvidia.com> | 01 November 2022, 17:24:04 UTC |
1817e95 | Sai Praveen Bangaru | 01 November 2022, 16:55:36 UTC | Added a vector intrinsic definition for exp (to serve as template for other vector intrinsics) (#2481) * Added vector exp definition * Naming | 01 November 2022, 16:55:36 UTC |
cbc1eff | Yong He | 01 November 2022, 15:46:57 UTC | Make `DifferentialPair` able to nest. (#2477) | 01 November 2022, 15:46:57 UTC |
b707a07 | jsmall-nvidia | 01 November 2022, 13:43:19 UTC | Upgrade slang-binaries (#2479) * #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 | 01 November 2022, 13:43:19 UTC |
64c9669 | Yong He | 31 October 2022, 15:32:38 UTC | Make cpp-host prelude include scalar intrinsics. (#2478) * Make cpp-host prelude include scalar intrinsics. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 31 October 2022, 15:32:38 UTC |
883d9f7 | lucy96chen | 29 October 2022, 19:08:41 UTC | Shader cache bugfixes and test additions (#2467) * Preliminary graphics shader test * Added test checking that a graphics shader is correctly split into two different entries * Removed testing only addition * Changed RequirementDictionary to an OrderedDictionary and added SerialTypeInfo for OrderedDictionary; Added entry point mangled name to the dependency hash * Added test covering failure case discovered as part of Falcor integration * Changed DifferentiableTypeSemanticContext::m_mapTypeToIDifferentiableWitness to an OrderedDictionary * Added serializedAST field to Module in order to save serialized ASTs to avoid reserialization as much as possible; Added classes field to Session in order to save the output of SerialClassesUtil::create to avoid recreating as much as possible * Changed AST hashing to hash the contents of a Module's file dependencies; Renamed all references to AST hashing to contents hashing * Further cleanup * Moved contents hash computation up to Linkage::loadModule and added field to Module to save the computed contents digest * Changed PreprocessorHandler::handleFileDependency to optionally take an ISlangBlob* containing file contents and changed FrontEndPreprocessorHandler::handleFileDependency to add the source code for an included file to the module's contents digest * Removed extraneous addToDigest call * Fixed accidental removal of source code hash for module being loaded | 29 October 2022, 19:08:41 UTC |
5a510ab | Yong He | 28 October 2022, 17:41:42 UTC | Fix language server crash on incomplete higher order invoke expr. (#2476) Co-authored-by: Yong He <yhe@nvidia.com> | 28 October 2022, 17:41:42 UTC |
f9b1c56 | Yong He | 27 October 2022, 21:38:44 UTC | More renaming in jvp pass. (#2475) Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 21:38:44 UTC |
e6dc9a9 | Yong He | 27 October 2022, 20:08:45 UTC | Rename 'IDifferentiable.zero' -> `IDifferentiable.dzero`. (#2474) Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 20:08:45 UTC |
79af29a | Yong He | 27 October 2022, 20:08:30 UTC | Rename `[__custom_jvp]` -> `[ForwardDerivative]`. (#2473) * Rename `[__custom_jvp]` -> `[ForwardDerivative]`. * Rename the classes. * More renaming. Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 20:08:30 UTC |
8dc9efd | Yong He | 27 October 2022, 19:30:15 UTC | Rename `JVPDerivativeModifier` -> `ForwardDifferentiableAttribute`. (#2472) Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 19:30:15 UTC |
0cbef6f | Yong He | 27 October 2022, 19:19:30 UTC | Rename `__jvp`-->`__fwd_diff`. (#2471) Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 19:19:30 UTC |
351e78f | Yong He | 27 October 2022, 18:49:58 UTC | Extend test coverage for differential method synthesis. (#2470) Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 18:49:58 UTC |
8e11063 | Yong He | 27 October 2022, 18:06:14 UTC | Auto synthesis of IDifferntial interface methods. (#2469) * Auto synthesis of IDifferntial interface methods. * Add comments. Co-authored-by: Yong He <yhe@nvidia.com> | 27 October 2022, 18:06:14 UTC |
f7f0dca | Sai Praveen Bangaru | 27 October 2022, 02:21:29 UTC | Adding a differentiable standard library (#2465) | 27 October 2022, 02:21:29 UTC |
939be44 | Yong He | 26 October 2022, 15:32:24 UTC | Auto synthesis of Differential type (#2466) | 26 October 2022, 15:32:24 UTC |
4fc34b1 | Yong He | 26 October 2022, 15:29:30 UTC | Legalize array return types. (#2463) | 26 October 2022, 15:29:30 UTC |
072bd7f | Yong He | 26 October 2022, 15:28:51 UTC | Fix d3d debug layer error on setting clear value. (#2458) | 26 October 2022, 15:28:51 UTC |
26e6222 | skallweitNV | 26 October 2022, 15:28:16 UTC | Fix D3D12 dispatchRays() when using an empty miss and/or hitgroup table (#2468) | 26 October 2022, 15:28:16 UTC |
41cb7c1 | Yong He | 25 October 2022, 05:19:38 UTC | Rework differentiation of member access through `[DerivativeMember(DiffType.field)]` (#2460) * wip: remove auto-diff for member access, add diff through property accessors. * Fix getter-setter test. * Fix getter-setter-multi test. * Fix nested-jvp test. * Use [DerivativeMember] attribute to differentiate through member access. * Clean up. * More cleanup. Co-authored-by: Yong He <yhe@nvidia.com> | 25 October 2022, 05:19:38 UTC |
1093218 | Sai Praveen Bangaru | 20 October 2022, 18:22:00 UTC | Modified the new type system to support generic differentiable types … (#2413) * Modified the new type system to support generic differentiable types and added support for differentiating overloaded functions. * Changed a few asserts to release asserts to avoid unreferenced variable errors * Fixed a naming issue with TypeWitnessBreadcumb::Flavor::Decl * Added logic to avoid tracking differentiable types if the module does not use auto-diff or define differentiable types. * Moved the auto-diff passes to after the specialization step, added a more complex generics test * Added a generics stress test and fixed AST-side logic. IR side needs some more work * Added differential getter and setter logic, fixed multiple issues with DifferentiableTypeDictionary, added support for loops and conditions * Changed differential getters to use pointer types, added getter type checking * Fixed some bugs related to diff type registration and differential getters * Removed some superfluous code * Removed some more unused code. * Fixed an issue with witness substitution * Minor fix Co-authored-by: Yong He <yonghe@outlook.com> | 20 October 2022, 18:22:00 UTC |
576c840 | lucy96chen | 20 October 2022, 16:33:48 UTC | Cache eviction policy test refinement (#2456) * Refined cache eviction test; Added check to cache file load to ensure only the maximum number of allowed entries is loaded * Fixed logic error in entry count check * Changed getCacheFile to not append the newline at the end of cache files * Refined if check | 20 October 2022, 16:33:48 UTC |
dec9301 | lucy96chen | 19 October 2022, 16:36:41 UTC | PersistentShaderCache integration (#2453) * 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 | 19 October 2022, 16:36:41 UTC |
8add41a | lucy96chen | 18 October 2022, 00:38:59 UTC | Shader cache index implementation (#2452) | 18 October 2022, 00:38:59 UTC |
09408e3 | Yong He | 14 October 2022, 03:31:30 UTC | Allow multi-level breaks to break out of `switch` statements. (#2451) * Allow multi-level breaks to break out of `switch` statements. * Rename loop->region. * Add `[ForceInline]` attribute. Co-authored-by: Yong He <yhe@nvidia.com> | 14 October 2022, 03:31:30 UTC |
27d7961 | lucy96chen | 14 October 2022, 00:07:54 UTC | Shader cache index header (#2448) * checkpoint * Added shaderCachePath field to IDevice desc in gfx.slang, gfx-smoke.slang should be functional * ran premake * Revert erroneous commits from rebasing * Added ShaderCacheIndex class header with design details * Header edits * more header edits * Post-rebase premake.bat run to fix solution weirdness; Initialize commitHash to nullptr and check that a commitHash is successfully returned | 14 October 2022, 00:07:54 UTC |
e03026a | lucy96chen | 13 October 2022, 23:00:05 UTC | Add getVersionString() to IDownstreamCompiler (#2446) * 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 | 13 October 2022, 23:00:05 UTC |
09054f7 | Yong He | 13 October 2022, 21:07:26 UTC | Make `optimalClearValue` optional in `ITextureResource::Desc` (#2450) Co-authored-by: Yong He <yhe@nvidia.com> | 13 October 2022, 21:07:26 UTC |
afa9f4b | Yong He | 13 October 2022, 20:42:05 UTC | Fix missing implementations in ConjunctionSubtypeWitness. (#2449) * Fix missing implementations in ConjunctionSubtypeWitness. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 13 October 2022, 20:42:05 UTC |
344898b | Yong He | 12 October 2022, 21:51:13 UTC | Add gfx debug layer trampoline for D3D12 interfaces. (#2445) Co-authored-by: Yong He <yhe@nvidia.com> | 12 October 2022, 21:51:13 UTC |
d96250b | Yong He | 12 October 2022, 21:43:48 UTC | Allow setting shader model upon d3d device creation. (#2442) * Allow setting shader model upon d3d device creation. * Add sm_6_7 profile. * More fixes and cleanups. Co-authored-by: Yong He <yhe@nvidia.com> | 12 October 2022, 21:43:48 UTC |
12e7d70 | Ellie Hermaszewska | 12 October 2022, 21:41:46 UTC | Add support for SV_ViewID (#2440) closes https://github.com/shader-slang/slang/issues/2410 Co-authored-by: Yong He <yonghe@outlook.com> | 12 October 2022, 21:41:46 UTC |
53b180a | lucy96chen | 12 October 2022, 21:41:22 UTC | Add specialization args test (#2444) * Added specialization args test; small cleanup changes to slang-digest.h * Moved slang::Digest inside namespace Slang | 12 October 2022, 21:41:22 UTC |
f0cd62b | lucy96chen | 12 October 2022, 16:55:09 UTC | Shader caching (#2432) * Changed all getEntryPointCode calls to use RendererBase::getEntryPointCodeFromShaderCache * Hashing hooked up, tests pass but need to add more to fully test functionality * checkpoint * Checkpoint: File system creation seems functional, saving is broken * checkpoint: Fixed filename generation from MD5 hash, shader blob might be going missing ahead of pipeline state creation * Fixed a lot of bugs related to hash code generation, shader cache is likely working but needs further testing * Added workaround for module loading by re-creating the test device, shader cache test functional * Vulkan shader caching bug fixed, checkpoint commit before more refinement * pre-ToT merge checkpoint * checkpoint commit, improving cache keys * Significantly expanded items included in the dependency hash for Module; Added dependency hash functions to SpecializedComponentType and RenamedEntryPointComponentType * Temporarily disable shader cache test * Mid cleanup changes, solution successfully builds * Added several helper update functions to slang-md5 to help simplify usage; Added a function under ISession to compute a hash for all linkage-related items; Function renames and cleaned up some comments * Ran premake.bat; Renamed getASTBasedHashCode to computeASTBasedHash * Added slang unit tests for Checksum and MD5; Extended gfx shader cache test to test with multiple shader files and one shader file with multiple entry points * Solution builds and shader cache tests pass, but at least a couple other tests now failing * ran premake.bat * More cleanup changes * Added shaderCachePath field to IDevice desc in gfx.slang, gfx-smoke.slang should be functional * ran premake * cleanup changes; Adding test printf to getEntryPointCodeFromShaderCache to see if output can be seen in CI * Removed debugging printfs; Added handling for getEntryPointCode() failing * Cleanup changes; Jonathan's fixes to SerialWriter to zero initialize otherwise uninitialized memory; Change to SwizzleExpr creation to zero initialize elementCount * Changed enable_if_t to enable_if * Fixed enable_if * Added test for import vs include and changes to included and imported files; Fixed build errors in CUDA; Renamed shader cache statistics fields * cleanup changes * Readd removed file * Restructured computeDependencyBasedHash calls, added computeDependencyBasedHashImpl to all classes dervied from ComponentType * Applied same restructuring to the AST hash functions * Cleanup changes; Moved HashBuilder out to slang-digest.h and added some helper functions to streamline the process of adding items to a hash * Cleanup; Fixed incorrect expected results for shader import and include test | 12 October 2022, 16:55:09 UTC |
5128de8 | Yong He | 12 October 2022, 06:14:41 UTC | Small IR cleanups. (#2441) | 12 October 2022, 06:14:41 UTC |
8c43a19 | Yong He | 12 October 2022, 04:41:28 UTC | Ignore d3d12 tests on x86. (#2439) | 12 October 2022, 04:41:28 UTC |
768e62f | Yong He | 10 October 2022, 22:59:45 UTC | Support multi-level break + single-return conversion + general inline. (#2436) * Support multi-level break. * Single return. * Add test for inlining `void` return-type functions. Co-authored-by: Yong He <yhe@nvidia.com> | 10 October 2022, 22:59:45 UTC |
8487678 | jsmall-nvidia | 08 October 2022, 22:48:34 UTC | Fixes around byte decode lite (#2438) * #include an absolute path didn't work - because paths were taken to always be relative. * Small improvements around Lite byte decode. * Missing break. | 08 October 2022, 22:48:34 UTC |
05de8d8 | jsmall-nvidia | 08 October 2022, 20:46:18 UTC | Fix for issue with user attribute lookup (#2437) * #include an absolute path didn't work - because paths were taken to always be relative. * Add handling for root paths. * Fixes around absolute paths. * Add SimplifyStyle * Remove unrequire include. * Fix some details around RelativeFileSystem canonical paths. * For MemoryFileSystem make sure "/a" and "a" maps to same canonical path. * Add test for canonicalPath. * Improve comment. * More testing around canonical paths. * Fix for user attribute lookup issue. * Add a test. * Small improvements in test. * Improve the comments around lookup workaround. | 08 October 2022, 20:46:18 UTC |
34ba10d | sdawson-nvidia | 07 October 2022, 19:59:31 UTC | Prevent out of bounds access by unaligned access in decodeLiteUInt32 (#2435) This prevents memory tools like gflags causing an exception on the out of bound access. Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 07 October 2022, 19:59:31 UTC |
88663a6 | Yong He | 06 October 2022, 22:16:45 UTC | Add syntax for multi-level break. (#2431) * Add syntax for multi-level break. * Fix. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 06 October 2022, 22:16:45 UTC |
50a6906 | jsmall-nvidia | 06 October 2022, 18:56:37 UTC | Update README.md | 06 October 2022, 18:56:37 UTC |
d1e740d | jsmall-nvidia | 06 October 2022, 14:27:50 UTC | Improvements around absolute paths and file systems (#2433) * #include an absolute path didn't work - because paths were taken to always be relative. * Add handling for root paths. * Fixes around absolute paths. * Add SimplifyStyle * Remove unrequire include. * Fix some details around RelativeFileSystem canonical paths. * For MemoryFileSystem make sure "/a" and "a" maps to same canonical path. * Add test for canonicalPath. * Improve comment. * More testing around canonical paths. | 06 October 2022, 14:27:50 UTC |
cf34d28 | Yong He | 06 October 2022, 02:35:47 UTC | Various gfx fixes. (#2434) | 06 October 2022, 02:35:47 UTC |
364e432 | Yong He | 04 October 2022, 22:21:17 UTC | Fix `ApplyExtensionToType` on own type being extended. (#2430) Co-authored-by: Yong He <yhe@nvidia.com> | 04 October 2022, 22:21:17 UTC |
8b1daa6 | Ellie Hermaszewska | 04 October 2022, 20:54:49 UTC | Squash some warnings from gcc 12.2 (#2428) * 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> | 04 October 2022, 20:54:49 UTC |
7c54489 | jsmall-nvidia | 04 October 2022, 18:40:34 UTC | Set slang-tag-version.h on windows builds (#2429) * #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. | 04 October 2022, 18:40:34 UTC |
5fb74db | jsmall-nvidia | 04 October 2022, 15:00:37 UTC | Shader container proposal (#2387) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP artifact container format. * WIP Artifact/shader cache document. * Some more thoughts around caching system. * Small improvements around source hash. * More improvements to container discussion. * Discussions about naming and combining options. * Small fixes to container format doc. * Small improvements around container doc. * Some more improvements to container doc. * First effort around API and container format. * More improvements around container doc. * First stab at a proposed approach. * Fix some typos. * Some other small improvements. | 04 October 2022, 15:00:37 UTC |
0b51ea6 | jsmall-nvidia | 04 October 2022, 01:09:16 UTC | IMutableFileSystem::saveFileBlob (#2427) * #include an absolute path didn't work - because paths were taken to always be relative. * Remove ref count for Entry in RiffFileSystem. Free up backing Entry types (to work around Dictionary not doing this). * Some small improvements to RiffFileSystem. * Add testing for file systems. * Split out MemoryFileSystem. * Add some documentation around different FileSystems. * Small tiry up - removing unused headers, fixing some comments. Use StringBlob::moveCreate where appropriate. * Small improvement to MemoryFileSystem. Improve documentation comments a little. * Added PathKind * * Make MemoryFileSystem not have implicit directories * Make RelativeFileSystem only allow access to files in file system (kind of like chroot) * Added Path::simplifyAbsolute * Special handling for root of MemoryFileSystem * Improvements around paths for different impls * More improvements around RelativeFileSystem. Special case root handling. * Test archive serialization. Move testinf from compression. Remove the implicit directory test -> doesn't work on all file systems. * Small optimization that removes need for check for a parent unless an item is being *created*. * Add implicit path testing. * Add support for saveFileBlob Add testing for saveFileBlob * Removed TemporaryFileSet Added PlatformUtil::outputDebugMessage * Some small improvements around RelativeFileSystem. * Split out ImplicitDirectoryCollector so can use without requiring compression systems. * Split out StringSliceIndexMap into own files. | 04 October 2022, 01:09:16 UTC |
cc3548c | Yong He | 29 September 2022, 21:00:07 UTC | Don't run aarch64 builds on PR. (#2426) Co-authored-by: Yong He <yhe@nvidia.com> | 29 September 2022, 21:00:07 UTC |
cbe245f | Yong He | 29 September 2022, 20:14:10 UTC | GFX: support D3D12EnableExperimentalFeatures. (#2424) * GFX: support D3D12EnableExperimentalFeatures. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 29 September 2022, 20:14:10 UTC |
9296405 | jsmall-nvidia | 29 September 2022, 18:12:15 UTC | Split out MemoryFileSystem (#2422) * #include an absolute path didn't work - because paths were taken to always be relative. * Remove ref count for Entry in RiffFileSystem. Free up backing Entry types (to work around Dictionary not doing this). * Some small improvements to RiffFileSystem. * Add testing for file systems. * Split out MemoryFileSystem. * Add some documentation around different FileSystems. * Small tiry up - removing unused headers, fixing some comments. Use StringBlob::moveCreate where appropriate. * Small improvement to MemoryFileSystem. Improve documentation comments a little. | 29 September 2022, 18:12:15 UTC |
8e0750f | skallweitNV | 29 September 2022, 16:58:04 UTC | Add "wave-ops" feature to D3D12 device (#2423) | 29 September 2022, 16:58:04 UTC |
70a6fbb | jsmall-nvidia | 29 September 2022, 14:07:37 UTC | RIFF filesystem improvements (#2418) * #include an absolute path didn't work - because paths were taken to always be relative. * Remove ref count for Entry in RiffFileSystem. Free up backing Entry types (to work around Dictionary not doing this). * Some small improvements to RiffFileSystem. * Add testing for file systems. | 29 September 2022, 14:07:37 UTC |
c2c913f | Yong He | 29 September 2022, 03:22:28 UTC | Fix release CI script. (#2421) * Fix release CI script. * Fix vs Co-authored-by: Yong He <yhe@nvidia.com> | 29 September 2022, 03:22:28 UTC |
b01d8db | Yong He | 29 September 2022, 03:03:18 UTC | Fix build script for macos aarch64. (#2420) * Fix build script for macos aarch64. * fix1 * Fix2. * update vs files Co-authored-by: Yong He <yhe@nvidia.com> | 29 September 2022, 03:03:18 UTC |
3dce6e0 | Yong He | 28 September 2022, 22:03:32 UTC | Fix release CI script. (#2419) * Fix release CI script. * Fix. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 28 September 2022, 22:03:32 UTC |
eb5c6b9 | Yong He | 28 September 2022, 20:42:40 UTC | Make github CI build aarch64 binaries on release. (#2417) | 28 September 2022, 20:42:40 UTC |
7708d20 | Yong He | 28 September 2022, 17:40:47 UTC | Fix gfx debug layer crashes. (#2416) Co-authored-by: Yong He <yhe@nvidia.com> | 28 September 2022, 17:40:47 UTC |
dafe651 | jsmall-nvidia | 28 September 2022, 17:30:37 UTC | Improvements around diagnostic controls (#2414) * #include an absolute path didn't work - because paths were taken to always be relative. * Test for disabling warnings. * Output diagnostic if argument parsing fails in render test. * More improvements around disabling diagnostics. * Add support for re enabling a warning. * Add warning controls to help text. * Tidy up around NameConventionUtil. * Make NameConvention an enum. * Handle leading underscores. * Update comment, and remove intial handling of _ prefix. | 28 September 2022, 17:30:37 UTC |
e449446 | Yong He | 26 September 2022, 19:58:48 UTC | Support clang-format `file` and `--fallback-style` in slangd. (#2412) Co-authored-by: Yong He <yhe@nvidia.com> | 26 September 2022, 19:58:48 UTC |
fcc1a09 | Yong He | 26 September 2022, 19:58:29 UTC | Use d3d12/vk debug layer when gfx debug layer is enabled. (#2411) * Use d3d12/vk debug layer when gfx debug layer is enabled. * Fix. Co-authored-by: Yong He <yhe@nvidia.com> | 26 September 2022, 19:58:29 UTC |
4b58c50 | jsmall-nvidia | 24 September 2022, 15:38:30 UTC | Update slang-llvm (#2409) * #include an absolute path didn't work - because paths were taken to always be relative. * Update to llvm to version without tinfo requirement. * Kick because package download failed. | 24 September 2022, 15:38:30 UTC |
bd11629 | Yong He | 23 September 2022, 04:54:16 UTC | GFX: improve d3d12 performance. (#2408) | 23 September 2022, 04:54:16 UTC |
a6fcb3b | Yong He | 21 September 2022, 04:32:32 UTC | Fix regression in check-overload. (#2407) * Fix regression in check-overload. * Make sure language server supports partiallyAppliedGenericExpr. Co-authored-by: Yong He <yhe@nvidia.com> | 21 September 2022, 04:32:32 UTC |
a95fe92 | Yong He | 20 September 2022, 22:44:16 UTC | Use `printf` in tests. (#2406) Co-authored-by: Yong He <yhe@nvidia.com> | 20 September 2022, 22:44:16 UTC |
e60a6fd | Yong He | 20 September 2022, 21:51:11 UTC | Support raw string literals. (#2405) * Support raw string literals. * Use raw string literal in tests. Co-authored-by: Yong He <yhe@nvidia.com> | 20 September 2022, 21:51:11 UTC |
5ac7ba2 | Theresa Foley | 20 September 2022, 19:37:33 UTC | Support partial inference of generic arguments (#2404) A commonly requested feature is to be able to supply only some of the arguments to a generic explicitly, while allowing the rest to be inferred. A common example is a function that performs some kind of conversion: To convert<To, From>( From fromValue ) { .... } A user would like to be able to call this operation like: int i = convert<int>( 1.0f ); but the current Slang type checker requires all or none of the generic arguments be supplied. Supplying all of the arguments is tedious: int i = convert<int, float>( 1.0f ); In this case, the `float` type argument is redundant and could be inferred from context. However, if the user tries to omit the generic argument list: int i = convert( 1.0f ); The current type-checker cannot infer the `int` type argument (even if one might claim it *should* infer based on the desired result type). This change adds support for the `convert<int>(...)` case, by allowing a generic to be applied to a prefix of its explicit arguments, and then inferring the remaining arguments from contextual information when that "partially applied" generic is applied to value-level arguments. Most of the changes are just plumbing: adding the notion of a partially applied generic and then supporting them during overload resolution. A single test case is included that covers the `convert`-style use case. It is likely that more testing is needed to cover failure modes of this feature. | 20 September 2022, 19:37:33 UTC |
8e44968 | Yong He | 20 September 2022, 00:08:25 UTC | Fix d3d12 implementation of `uploadBufferData`. (#2402) * Fix d3d12 implementation of `uploadBufferData`. * Add ICommandBufferD3D12::ensureInternalDescriptorHeapsBound(). Co-authored-by: Yong He <yhe@nvidia.com> | 20 September 2022, 00:08:25 UTC |
53db0e9 | Qubaef | 16 September 2022, 04:55:54 UTC | Add support for GL_EXT_debug_printf extension to slang (#2399) | 16 September 2022, 04:55:54 UTC |
a5d3bec | Yong He | 16 September 2022, 03:37:45 UTC | Run simple compute kernel in gfx-smoke test. (#2400) | 16 September 2022, 03:37:45 UTC |
a603244 | Yong He | 15 September 2022, 21:22:59 UTC | Language feature: pointer sized int types. (#2401) * Language feature: pointer sized int types. * Fix. * small change to test. * Fix stdlib. * Fix. * Fix. * Add typedef for `size_t` in stdlib. * Fix test. * Add `intptr_t::size` constant. Co-authored-by: Yong He <yhe@nvidia.com> | 15 September 2022, 21:22:59 UTC |
05f9aaf | Yong He | 14 September 2022, 01:58:05 UTC | Allow interface requirements to reference to the interface type itself. (#2398) * Allow interface requirements to reference to the interface type itself. * add comment explaining the change. Co-authored-by: Yong He <yhe@nvidia.com> | 14 September 2022, 01:58:05 UTC |
f216b77 | Yong He | 13 September 2022, 20:11:48 UTC | Deduplicate AST type nodes and cache lookup operations. (#2397) * wip: dedup AST type nodes and cache lookup. * Fix. * Remove profiling. * Fixes. Co-authored-by: Yong He <yhe@nvidia.com> | 13 September 2022, 20:11:48 UTC |