32010d9 | Yong He | 12 May 2023, 22:41:08 UTC | Add finalized keywords for autodiff. | 12 May 2023, 22:41:08 UTC |
65103bc | Ellie Hermaszewska | 12 May 2023, 22:33:26 UTC | Fusion pass for saturated_cooperation (#2874) * Fusion pass for saturated_cooperation * simplify assert * regenerate vs projects * missing test output files * rename shadowing variable to appease msvc * Fuse calls to sat_coop with differing inputs * formatting * add cpu test for hof simple * Make higher-order functions into compute comparison tests * comment tests * remove redundant test * Add test to confirm inlining in sat_coop fuse * Add clarifying comment for sat coop fusing * Add KnownBuiltin decoration * s/CanUseFuncSignature/TypesFullyResolved for higher order function checking * Add TODO * spelling * Correct detection of sat_coop calls * Disable tests which are unsupported on testing infra | 12 May 2023, 22:33:26 UTC |
332f60c | Ellie Hermaszewska | 11 May 2023, 20:33:21 UTC | MVP for higher order functions (#2849) * MVP for higher order functions * Add shader subgroup partitioned glsl intrinsics * Implement parsing and checking for tuple types Currently there is no way to do anything useful with them from the source language however * neaten * Correct precedence of function type parsing * neaten * higher order function tests * function types of any arity * Inference for higher order functions * Add second test for unsynchronized params * regenerate vs projects * dx11 -> dx12 for saturated cooperations tests * Disable saturated cooperation tests on vulkan They fail on release builds in CI, not essential for the higher order function work however * remove saturated-cooperation tests * Remove unnecessary assert and clarify control flow in AddDeclRefOverloadCandidates * Add Tuple type name mangling * Use functype keyword to introduce function types * Add more inference tests for hof --------- Co-authored-by: Yong He <yonghe@outlook.com> | 11 May 2023, 20:33:21 UTC |
f414a14 | kopaka1822 | 11 May 2023, 20:15:34 UTC | fixed shader resource views for multisample textures (#2880) | 11 May 2023, 20:15:34 UTC |
952e044 | Yong He | 11 May 2023, 02:27:47 UTC | Fix intellisense and autodiff crashes. (#2879) * Fix intellisense crash. * Fix a bug in updateElement simplification. * cleanup. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 11 May 2023, 02:27:47 UTC |
99bc31f | Yong He | 10 May 2023, 21:10:53 UTC | Add slangc options for reporting downstream compile time. (#2878) * Add slangc options for reporting downstream compile time. * Update doc. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 10 May 2023, 21:10:53 UTC |
c8e6a64 | Yong He | 10 May 2023, 16:11:36 UTC | Generate faster derivative for div by const operations. (#2877) * Generate faster derivative for div by const operations. * Increase `kMaxIterationsToAttempt` to 256. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 10 May 2023, 16:11:36 UTC |
ddebd60 | Yong He | 10 May 2023, 01:00:48 UTC | Various fixes for autodiff and slangpy. (#2876) * Various fixes for autodiff and slangpy. * Fix cuda code gen for `select`. * Fix getBuildTagString(). * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 10 May 2023, 01:00:48 UTC |
38ed03a | Yong He | 09 May 2023, 16:44:33 UTC | Fix function side-effectness prop logic. (#2875) | 09 May 2023, 16:44:33 UTC |
89a1234 | Sai Praveen Bangaru | 07 May 2023, 17:35:27 UTC | Optimize logic around indexed temporary variables (#2873) | 07 May 2023, 17:35:27 UTC |
271dc1b | Sai Praveen Bangaru | 06 May 2023, 07:03:25 UTC | Don't store loop induction values + fix minor issue (#2872) | 06 May 2023, 07:03:25 UTC |
0602eaa | Sai Praveen Bangaru | 05 May 2023, 18:11:13 UTC | Fix checkpoint hints for higher-order autodiff (#2869) | 05 May 2023, 18:11:13 UTC |
e69c23e | Ellie Hermaszewska | 05 May 2023, 14:21:30 UTC | Squash a couple of warnings on clang (#2870) * Squash a couple of warnings on clang Redisable -Wunused-local-typedefs * unused variable | 05 May 2023, 14:21:30 UTC |
662ef3e | Yong He | 04 May 2023, 20:44:00 UTC | Update user-guide. (#2868) Co-authored-by: Yong He <yhe@nvidia.com> | 04 May 2023, 20:44:00 UTC |
a944492 | Sai Praveen Bangaru | 04 May 2023, 20:43:40 UTC | Fix issue with out-of-order insts during type promotion when transposing code. (#2866) * Bugfixes for warped-area reparameterization * Update slang-ir-autodiff-transpose.h * Update slang-ir-autodiff-transpose.h * Mark all stdlib methods backward differentiable * Update diff.meta.slang --------- Co-authored-by: Yong He <yonghe@outlook.com> | 04 May 2023, 20:43:40 UTC |
ab3ac98 | Ellie Hermaszewska | 04 May 2023, 19:46:42 UTC | Add SLANG_ASSUME and use it in release asserts (#2859) * Remove UNREACHABLE * formatting * Remove unused SLANG_EXPECT macros * Add SLANG_ASSUME and use it in release asserts * Reassure GCC that we are using memcpy responsibly --------- Co-authored-by: Yong He <yonghe@outlook.com> | 04 May 2023, 19:46:42 UTC |
c0b6f59 | jsmall-nvidia | 04 May 2023, 19:44:09 UTC | Improvements around HLSLToVulkanLayout (#2867) * #include an absolute path didn't work - because paths were taken to always be relative. * Improve the HLSLToVulkanLayoutOptions interface. Add more diagnostics. Add diagnostics test. * Add check for global binding using file check. * Fix issues with some tests around making some diagnostics ids unique. * Small improvements with doc/handling of vk-<>-shift option setup. --------- Co-authored-by: Yong He <yonghe@outlook.com> | 04 May 2023, 19:44:09 UTC |
ee62b06 | Yong He | 04 May 2023, 19:30:13 UTC | Update 03-convenience-features.md | 04 May 2023, 19:30:13 UTC |
c9ef8d5 | jsmall-nvidia | 04 May 2023, 00:16:58 UTC | HLSL->Vulkan binding support (#2865) * WIP around VK shift binding. * Refactor around options parsing. * Remove needless passing around of sink. * Some more tidying around OptionsParser. * Handle vulkan shift parsing. * Fix small issue around vk binding and "all". * Fixing some small issues. Missing break. * Split out VulkanLayoutOptions * WIP binding taking into account HLSL->Vulkan options. * First attempt at making binding work with HLSLVulkanOptions. * VulkanLayoutOptions -> HLSLToVulkanLayoutOptions * WIP with HLSL-Vulkan binding. * Some more testing around vk-shift. * Improvements around global binding. More tests. * Improve test coverage. Improve checking for requirements around default space. * Update command line options. * Small fixes. * Small fix in options reporting. * Fix warning issue. * Some fixes for isDefault for HLSLToVulkanLayoutOptions. * Update hlsl-to-vulkan-shift output. The difference was due to default handling if shift isn't specified, and not being specified was not correctly tracked. | 04 May 2023, 00:16:58 UTC |
bf2b055 | Yong He | 03 May 2023, 23:17:04 UTC | Improve intellisense for attribute arguments. (#2864) | 03 May 2023, 23:17:04 UTC |
d87dd1d | Yong He | 03 May 2023, 03:31:01 UTC | gfx: fix vulkan validation errors. (#2861) * Fix VK validation errors when using vk1.2 features. * Fix vulkan validation errors. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 03 May 2023, 03:31:01 UTC |
d52376a | Yong He | 03 May 2023, 03:29:38 UTC | Various dxc/fxc compatibility fixes. (#2863) * Various dxc/fxc compatibility fixes. * Cleanup. * Fix test cases. * Fix comments. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 03 May 2023, 03:29:38 UTC |
55291b0 | jsmall-nvidia | 02 May 2023, 23:12:30 UTC | Update slang-options.cpp | 02 May 2023, 23:12:30 UTC |
29cb655 | jsmall-nvidia | 02 May 2023, 15:10:58 UTC | Markdown CommandOptions (#2860) * WIP CommandOptions * Fix some output issues. * Simplify word wrapping. * Add file extensions. * Change how lookup takes place. Add appendSplit functions to StringUtil. Make Categories hold the index range of their options. * Small improvement. * Lookup with partial option names. * Associate user values. * Encoding flags in the name. * Refactor setting up of command options. * Use CommandOptions in slang-options. * Remove old help text. * Cache the CommandOptions on the Session. * Range checking. Fix bug in the Options handling. * Extra checks for validity. * Get categories directly. * Slight improvements over output. * Added NameValue types. * Fix typo. Remove some now unused diagnostics. Fix diagnostic in testing, as output has changed. * Add minimal usage message. * Remove platform executable extension from diagnostics output. * Some improvements around getting names from NameValue types. * Improve some option descriptions. * Small fixes. * WIP improvements around CommandOptions. * Split out CommandOptionsWriter. * Add links to options. * Add command line options reference. * Link to the reference command line information. * Add quick links. * Improvements around lookup. Add categories to linking. * Small additional fixes. * Add LinkFlags control. * Small text fixes. * Fix typo. * Fix typo. * Fix typo. * Add support for -g and -O using CommandOptions. * Improve generated doc output/descriptions. Remove options listed directly in documentation. | 02 May 2023, 15:10:58 UTC |
19c0866 | jsmall-nvidia | 29 April 2023, 13:24:26 UTC | CommandOptions (#2856) * WIP CommandOptions * Fix some output issues. * Simplify word wrapping. * Add file extensions. * Change how lookup takes place. Add appendSplit functions to StringUtil. Make Categories hold the index range of their options. * Small improvement. * Lookup with partial option names. * Associate user values. * Encoding flags in the name. * Refactor setting up of command options. * Use CommandOptions in slang-options. * Remove old help text. * Cache the CommandOptions on the Session. * Range checking. Fix bug in the Options handling. * Extra checks for validity. * Get categories directly. * Slight improvements over output. * Added NameValue types. * Fix typo. Remove some now unused diagnostics. Fix diagnostic in testing, as output has changed. * Add minimal usage message. * Remove platform executable extension from diagnostics output. * Some improvements around getting names from NameValue types. * Improve some option descriptions. * Small fixes. | 29 April 2023, 13:24:26 UTC |
c571bcb | Yong He | 29 April 2023, 06:28:23 UTC | SSA Register Allocation improvements. (#2857) * SSA Register Allocation improvements. * Fix. * Rename `Use`->`UseOrPseudoUse`. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 29 April 2023, 06:28:23 UTC |
5adecbe | Ellie Hermaszewska | 29 April 2023, 03:32:53 UTC | vkd3d and dxvk integration (#2823) * 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 | 29 April 2023, 03:32:53 UTC |
5df7ada | Ellie Hermaszewska | 29 April 2023, 00:28:40 UTC | Minor tidyings around d3d usage (#2854) * Remove unused COM annotation * Move SLANG_ENABLE_DXBC_SUPPORT to slang.h * Add DX11 simple compute test * Remove unnecessary COM parameter annotation * Run compute smoke test for DX12 * Ignore d3d11 tests when we do not have fxc * Do not try to find NVAPI on Linux * Add some logs to .gitignore * Minor cleanups in d3d12 headers * Fix tautological comparison (due to integer overflow) * Limit OutputDebugStringA to Windows | 29 April 2023, 00:28:40 UTC |
2492ec5 | Sai Praveen Bangaru | 28 April 2023, 20:22:12 UTC | Fix handling of `[PreferRecompute]`. (#2855) Co-authored-by: Yong He <yhe@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com> | 28 April 2023, 20:22:12 UTC |
b07f4ef | Ellie Hermaszewska | 28 April 2023, 04:00:52 UTC | Use Index for FuncType param count (#2853) | 28 April 2023, 04:00:52 UTC |
5379361 | Yong He | 28 April 2023, 01:32:20 UTC | Embed stdlib documentation to AST. (#2851) * Embed stdlib documentation to AST. * Extract documentation for attributes. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 28 April 2023, 01:32:20 UTC |
60d8290 | Yong He | 28 April 2023, 00:00:37 UTC | Small fixes to autodiff pass. (#2852) * Remove obsolete assert in `extractPriamlFunc`. * Fix `findUniqueStoredVal` to ignore diff uses. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 28 April 2023, 00:00:37 UTC |
d1cc6a8 | Yong He | 27 April 2023, 21:30:36 UTC | Prevent storing loads of global parameters. (#2850) Co-authored-by: Yong He <yhe@nvidia.com> | 27 April 2023, 21:30:36 UTC |
7be108c | Yong He | 27 April 2023, 05:40:06 UTC | Intellisense: show info on decl kind and differentiability. (#2847) | 27 April 2023, 05:40:06 UTC |
3acbe81 | Ellie Hermaszewska | 27 April 2023, 04:36:59 UTC | Fix most of the disabled warnings on gcc/clang (#2839) | 27 April 2023, 04:36:59 UTC |
a3da31c | Sai Praveen Bangaru | 27 April 2023, 02:25:25 UTC | Fix specialization dictionaries cleanup pass (#2844) | 27 April 2023, 02:25:25 UTC |
fc54ade | Yong He | 27 April 2023, 00:37:04 UTC | Autodiff support for dynamically dispatched generic method. (#2846) * Autodiff support for dynamically dispatched generic method. * Fix. * Support dynamically dispatched generic type. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 27 April 2023, 00:37:04 UTC |
61eb17b | Sai Praveen Bangaru | 27 April 2023, 00:04:36 UTC | Add support for `kIROp_DefaultConstruct` (#2845) | 27 April 2023, 00:04:36 UTC |
e1940e5 | Sai Praveen Bangaru | 26 April 2023, 19:46:24 UTC | For C-like targets, emit resource declarations before other globals (#2843) * For C-like targets, emit resource declarations before other globals * Remove unused tests | 26 April 2023, 19:46:24 UTC |
a1739e8 | Yong He | 26 April 2023, 18:39:45 UTC | Fix type legalization missing child upon recreate. (#2842) * Fix type legliazation missing child upon recreate. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 26 April 2023, 18:39:45 UTC |
1717c6c | Yong He | 26 April 2023, 01:32:45 UTC | Support recomputing phi params in bwd prop func. (#2841) | 26 April 2023, 01:32:45 UTC |
5abee6a | jsmall-nvidia | 25 April 2023, 16:25:52 UTC | StringBuilder to lowerCamel (#2840) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP lowerCamel Dictionary. * WIP more lowerCamel fixes for Dictionary. * Add/Remove/Clear * GetValue/Contains * Fix tabs in dictionary. Count -> getCount * Fix fields with caps. * Key -> key Value -> value Use m_ for members where appropriate. Use lowerCamel in linked list. * Some small fixes/improvements to Dictionary. * Kick CI. * Small tidy on String. * Append -> append * ToString -> toString ProduceString -> produceString * Small fixes. * StringToXXX -> stringToXXX * Fix typo introduced by Append -> append. * Made intToAscii do reversal at the end. --------- Co-authored-by: Yong He <yonghe@outlook.com> | 25 April 2023, 16:25:52 UTC |
e5d5e3c | Yong He | 25 April 2023, 16:09:00 UTC | Cleanup checkpointing policy impl. (#2837) * Cleanup checkpointing policy impl. * More cleanup. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 25 April 2023, 16:09:00 UTC |
5885829 | Ellie Hermaszewska | 25 April 2023, 15:21:06 UTC | Bump glm and stb + small neatenings (#2831) * bump glm to fix c++20 warnings * bump stb_image to fix c++20 warnings * Use static_assert for SLANG_COMPILE_TIME_ASSERT * Remove uses of deprecated is_pod * Remove bit operations between different enums | 25 April 2023, 15:21:06 UTC |
7b7c095 | jsmall-nvidia | 25 April 2023, 14:43:29 UTC | Dictionary using lowerCamel (#2835) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP lowerCamel Dictionary. * WIP more lowerCamel fixes for Dictionary. * Add/Remove/Clear * GetValue/Contains * Fix tabs in dictionary. Count -> getCount * Fix fields with caps. * Key -> key Value -> value Use m_ for members where appropriate. Use lowerCamel in linked list. * Some small fixes/improvements to Dictionary. * Kick CI. | 25 April 2023, 14:43:29 UTC |
284cee1 | Yong He | 25 April 2023, 02:44:23 UTC | Change AD checkpointing policy to recompute more. (#2836) Co-authored-by: Yong He <yhe@nvidia.com> | 25 April 2023, 02:44:23 UTC |
fbe37ea | jsmall-nvidia | 24 April 2023, 16:43:48 UTC | Fix issue with Obfuscated hash (#2834) * #include an absolute path didn't work - because paths were taken to always be relative. * Remove legacy container writing. Test using module without source map. * Change hashing for obfuscated source map such that takes into account different line endings. | 24 April 2023, 16:43:48 UTC |
cef7a47 | jsmall-nvidia | 24 April 2023, 16:12:30 UTC | Update a1-03-obfuscation.md | 24 April 2023, 16:12:30 UTC |
94d6968 | Sai Praveen Bangaru | 23 April 2023, 21:12:14 UTC | Add support for `kIROp_MakeExistential` (#2832) | 23 April 2023, 21:12:14 UTC |
e8673a5 | Sai Praveen Bangaru | 22 April 2023, 21:25:33 UTC | Fix corner case with multi-level break elimination (#2828) | 22 April 2023, 21:25:33 UTC |
385d3f4 | Sai Praveen Bangaru | 21 April 2023, 22:57:39 UTC | Add support for `kIROp_FloatCast` (#2824) * Add support for `kIROp_FloatCast` * Update float-cast.slang * Added flag to d3d options | 21 April 2023, 22:57:39 UTC |
957a4d3 | Yong He | 21 April 2023, 21:28:57 UTC | Refactor checkpointing policy and availability pass. (#2826) Co-authored-by: Yong He <yhe@nvidia.com> | 21 April 2023, 21:28:57 UTC |
69a327a | jsmall-nvidia | 21 April 2023, 19:28:48 UTC | Update a1-03-obfuscation.md | 21 April 2023, 19:28:48 UTC |
2f0915b | jsmall-nvidia | 21 April 2023, 18:26:34 UTC | Small obfuscation doc improvements (#2825) * #include an absolute path didn't work - because paths were taken to always be relative. * Small improvements to obfuscation doc. | 21 April 2023, 18:26:34 UTC |
3406f27 | Sai Praveen Bangaru | 21 April 2023, 14:41:24 UTC | AD: Various fixes around dynamic dispatch (#2820) * Add a test for the new diff material system * Various fixes for AD - inout primal context params converted to out params, - added attributed types to list of stored types - used differentiated primal func type instead of type of differentiated func to avoid tangling with user-code differential types. --------- Co-authored-by: Lifan Wu <lifanw@nvidia.com> | 21 April 2023, 14:41:24 UTC |
cc94855 | Ellie Hermaszewska | 21 April 2023, 11:49:16 UTC | Correct vulkan extension name for inline uniforms (#2822) Fixes https://github.com/shader-slang/slang/issues/2821 | 21 April 2023, 11:49:16 UTC |
744b995 | jsmall-nvidia | 21 April 2023, 06:38:55 UTC | Initial obfuscation documentation. (#2819) * #include an absolute path didn't work - because paths were taken to always be relative. * Initial discussion around obfuscation. * Improve obfuscation documentation. * Spelling fix --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com> | 21 April 2023, 06:38:55 UTC |
deb1306 | Ellie Hermaszewska | 21 April 2023, 06:05:49 UTC | Add warning for returning without initializing out parameter (#2807) * Add warning for returning without initializing out parameter * Add unused prelude function to squash uninitialized out variable warnings | 21 April 2023, 06:05:49 UTC |
8177fff | Yong He | 21 April 2023, 00:31:39 UTC | Update 04-interfaces-generics.md | 21 April 2023, 00:31:39 UTC |
088644c | jsmall-nvidia | 20 April 2023, 17:42:20 UTC | Improve SourceMap coverage/testing (#2818) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP around more value like behavior for SourceMap/StringPool. * Use default impls on SourceMap ctor/assignment. * Handle comparison of SourceMaps. Some small fixes. Expand unit tests. | 20 April 2023, 17:42:20 UTC |
4e67cde | jsmall-nvidia | 20 April 2023, 16:11:29 UTC | Update a1-01-matrix-layout.md | 20 April 2023, 16:11:29 UTC |
467fa3a | jsmall-nvidia | 20 April 2023, 15:55:26 UTC | Improvements outputting containers (#2815) * #include an absolute path didn't work - because paths were taken to always be relative. * Moved JSON source map writing logic to JSONSourceMapUtil. * Use ArtifactHandler to read/write SourceMaps. Use ObjectCastableAdapter to hold SourceMap Only serialize SourceMap <-> JSON on demand. * Make some types swappable. * BoxValue impl. * Added asBoxValue. * Remove const get funcs. * Fix typo in asBoxValue. * Fix another typo in asBoxValue. * Slightly simplify conversion to blob of SourceMap. * WIP Api improvements around sourcemap/artifact/line-directive. * Small fix for asBoxValue * WIP outputting container with multiple artifacts. * Added ArtifactContailerUtil::filter to produce an artifact hierarchy that only contains "signficant" and "blobable" artifacts. * Make emitting IR disjoint to using a container. Added -emit-ir option. Simplfiy output. * Fix typo in options parsing. * Add a test that ouputs with an emit source map. * Enable emitting our SlangIR module if no targets are specified. * Fix issues constructing container. * Extra checks getting obfuscated source map from a translation unit. * Fix typo. | 20 April 2023, 15:55:26 UTC |
4d24f55 | Ellie Hermaszewska | 20 April 2023, 12:06:37 UTC | Changes for vkd3d proton (#2813) * Add some caches to .gitignore * Remove appendWideChars Use String::toWString instead * s/Sleep/sleepCurrentThread * formatting * Expand set of shared libraries which have buggy dlclose Work around https://github.com/microsoft/DirectXShaderCompiler/issues/5119 and https://github.com/doitsujin/dxvk/issues/3330 libdxcompiler.so invokes UB on dlclose, the dxvk libs break GDB when closed * Add assert for specialization failure on DX11 As a band aid for https://github.com/shader-slang/slang/issues/2805 * More fine grained selection of directx features | 20 April 2023, 12:06:37 UTC |
588991f | jsmall-nvidia | 19 April 2023, 21:06:56 UTC | Make SourceMap a value type (#2812) * #include an absolute path didn't work - because paths were taken to always be relative. * Moved JSON source map writing logic to JSONSourceMapUtil. * Use ArtifactHandler to read/write SourceMaps. Use ObjectCastableAdapter to hold SourceMap Only serialize SourceMap <-> JSON on demand. * Make some types swappable. * BoxValue impl. * Added asBoxValue. * Remove const get funcs. * Fix typo in asBoxValue. * Fix another typo in asBoxValue. * Slightly simplify conversion to blob of SourceMap. * Small fix for asBoxValue | 19 April 2023, 21:06:56 UTC |
520a3c0 | Sai Praveen Bangaru | 19 April 2023, 16:49:14 UTC | Fixed issue with function signatures in higher-order AD (#2814) Also added GetStringHash to non-differentiable insts Co-authored-by: Yong He <yonghe@outlook.com> | 19 April 2023, 16:49:14 UTC |
181fd1f | jsmall-nvidia | 18 April 2023, 16:36:06 UTC | On demand SourceMap JSON serialization (#2811) * #include an absolute path didn't work - because paths were taken to always be relative. * Moved JSON source map writing logic to JSONSourceMapUtil. * Use ArtifactHandler to read/write SourceMaps. Use ObjectCastableAdapter to hold SourceMap Only serialize SourceMap <-> JSON on demand. | 18 April 2023, 16:36:06 UTC |
90a9f43 | jsmall-nvidia | 17 April 2023, 19:09:37 UTC | Round trip source map (#2810) * #include an absolute path didn't work - because paths were taken to always be relative. * Make output of obfuscation locs work in a slang-module. * Tidy up detection for writing serialized source locs. * Support for .zip references. Handling of obfuscated source maps read from containers. A test to check obfuscated source map working on a module. * When using obfuscation, always obfuscate locs instead of stripping them. We keep a source map, so we can still produce reasonable errors. * Write out source locs if debug information is enabled. * Check output without sourcemap. * Small fixes. * Small improvements around hash calculation for source map name. * Disable test that fails on x86 gcc linux for now. * Fix issues around obfuscated source map using lines rather than columns. Fix some issues around encoding/decoding. * Make column calculation of source locs take into account utf8/tabs. Don't special case obfuscated source map for lookup for source loc. * Support following multiple source maps. * Small fixes/improvements around SourceMap lookup. | 17 April 2023, 19:09:37 UTC |
a3f622a | Ellie Hermaszewska | 17 April 2023, 14:22:13 UTC | WIP: "deprecated" attribute (#2698) * Implement deprecated attribute * Prevent duplicate deprecated diagnostic on non-overloaded functions * Use FileCheck for deprecation test * formatting | 17 April 2023, 14:22:13 UTC |
f6ff73f | Ellie Hermaszewska | 15 April 2023, 10:08:58 UTC | Add render api category to synthesized tests (#2808) | 15 April 2023, 10:08:58 UTC |
2226ae0 | winmad | 14 April 2023, 18:36:19 UTC | Bugfix: compiler will run forever to eliminate dead code (#2809) * Add a test case that the compile will run forever * Fix. * fix. --------- Co-authored-by: Lifan Wu <lifanw@nvidia.com> Co-authored-by: Yong He <yhe@nvidia.com> | 14 April 2023, 18:36:19 UTC |
168c583 | Yong He | 14 April 2023, 15:12:14 UTC | Diagnose on using uninitialized `out` param. (#2803) * Diagnose on using uninitialized `out` param. * Hack to allow `out Vertices<T>`. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 14 April 2023, 15:12:14 UTC |
4c9c8a7 | Ellie Hermaszewska | 14 April 2023, 09:08:18 UTC | Some small fixes with Windows/DX usage (#2797) * 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 | 14 April 2023, 09:08:18 UTC |
5a629b3 | Ellie Hermaszewska | 14 April 2023, 03:59:17 UTC | Enable SLANG_ENABLE_DXIL_SUPPORT on non-Windows platforms (#2750) * 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 | 14 April 2023, 03:59:17 UTC |
3bbac5f | Yong He | 13 April 2023, 23:40:36 UTC | Warn on float-to-double coercion for arguments. (#2802) * Warn on float-to-double coercion for arguments. * Fix test. * Rename. * Fixup. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 13 April 2023, 23:40:36 UTC |
3b4a50d | Yong He | 13 April 2023, 17:34:08 UTC | Fix scalar swizzle write. (#2801) Co-authored-by: Yong He <yhe@nvidia.com> | 13 April 2023, 17:34:08 UTC |
7f09147 | Yong He | 13 April 2023, 17:32:38 UTC | Add inherit interface test. (#2800) Fixes #2573. Co-authored-by: Yong He <yhe@nvidia.com> | 13 April 2023, 17:32:38 UTC |
813892c | Yong He | 13 April 2023, 16:49:22 UTC | Set sharedMem argument to 0 when launching cuda kernel. (#2799) Co-authored-by: Yong He <yhe@nvidia.com> | 13 April 2023, 16:49:22 UTC |
352a460 | Yong He | 13 April 2023, 16:04:18 UTC | Fix stack overflow in lookupWitness lowering pass. (#2798) Co-authored-by: Yong He <yhe@nvidia.com> | 13 April 2023, 16:04:18 UTC |
59a6035 | Ellie Hermaszewska | 13 April 2023, 16:00:56 UTC | Set the executable bit on Executable artifact files (#2796) * Set the executable bit on Executable artifact files * Don't zero out other permission bits in makeExecutable | 13 April 2023, 16:00:56 UTC |
c7e5601 | Ellie Hermaszewska | 13 April 2023, 15:49:00 UTC | Matrix swizzle writes (#2713) * Add a bunch of builder emit wrappers for constant indices To avoid cluttering any calling code with int instruction construction * Matrix swizzle stores Closes https://github.com/shader-slang/slang/issues/2512 * Matrix swizzle store tests * Squash vs warnings * Select scalar for singular swizzles * Test singular swizzle materialization * Use IRIntegerValue over UInt for IR wrappers * Correct size of swizzle vector type * Remove variable shadowing | 13 April 2023, 15:49:00 UTC |
6fbd892 | Ellie Hermaszewska | 13 April 2023, 13:53:44 UTC | Correct http header construction (#2795) Previously we were always setting mimeType as "mimeType" | 13 April 2023, 13:53:44 UTC |
ca7bf79 | Yong He | 13 April 2023, 05:58:22 UTC | Combine lookupWitness lowering with specialization. (#2794) | 13 April 2023, 05:58:22 UTC |
12ec9b8 | Ellie Hermaszewska | 12 April 2023, 21:01:06 UTC | Downgrade github runner to 20.04 (#2792) * Downgrade github runner to 20.04 Specify gcc10 also * Select gcc with update-alternatives * Ignore persistent cache test on linux. --------- Co-authored-by: Yong He <yonghe@outlook.com> | 12 April 2023, 21:01:06 UTC |
947a78d | Yong He | 12 April 2023, 20:30:03 UTC | Update 02-conventional-features.md | 12 April 2023, 20:30:03 UTC |
d631ef9 | jsmall-nvidia | 12 April 2023, 20:24:08 UTC | Reading artifact hierarchy from file system interface (#2787) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP simplifying artifact interface. * Use ContainedKind. * Remove LazyCastableList. Use ContainedKind for find. * Remove ICastableList. * Remove need for ICastableList. * Remove IArtifactContainer. * Small fixes. * Small improvements around Artifact. * Make explicit find is for *representations* that can cast. Fix bug in handling casting in lookup. * Made associated items artifacts too. * Small fixes. * Small improvements around writing a container. * WIP artifact container format. * Make the root a special case. * Special case if the artifact doesn't have children/associated. * First pass handling of interpretting a file system into artifact hierarchy. * Explain the final structure. Make the file system available. * Remove addArtifact from IArtifact interface - means will be compatible with previous version. * Rename function to get compile result as a filesytem. | 12 April 2023, 20:24:08 UTC |
2ce42a2 | jsmall-nvidia | 12 April 2023, 17:22:53 UTC | Fix for crashes around FileCheck (#2793) * #include an absolute path didn't work - because paths were taken to always be relative. * Fix scoping issue for filecheck lib. * Small fix for file check issue. | 12 April 2023, 17:22:53 UTC |
eda9dd3 | jsmall-nvidia | 12 April 2023, 16:06:41 UTC | Artifact Container (#2783) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP simplifying artifact interface. * Use ContainedKind. * Remove LazyCastableList. Use ContainedKind for find. * Remove ICastableList. * Remove need for ICastableList. * Remove IArtifactContainer. * Small fixes. * Small improvements around Artifact. * Make explicit find is for *representations* that can cast. Fix bug in handling casting in lookup. * Made associated items artifacts too. * Small fixes. * Small improvements around writing a container. * WIP artifact container format. * Make the root a special case. * Special case if the artifact doesn't have children/associated. | 12 April 2023, 16:06:41 UTC |
4e9ca28 | Yong He | 12 April 2023, 01:24:43 UTC | Update documentation for `TorchTensor.alloc`. | 12 April 2023, 01:24:43 UTC |
195af97 | Yong He | 12 April 2023, 01:14:49 UTC | Fix missing `f` suffix for float lits in CUDA backend. (#2791) Co-authored-by: Yong He <yhe@nvidia.com> | 12 April 2023, 01:14:49 UTC |
7c3a40c | Yong He | 11 April 2023, 22:11:45 UTC | Small fixes to TorchTensor. (#2790) Co-authored-by: Yong He <yhe@nvidia.com> | 11 April 2023, 22:11:45 UTC |
54f112f | jsmall-nvidia | 11 April 2023, 20:56:59 UTC | WIP Hack to work around IFileCheck release (#2789) * #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to slang-llvm v13.x-38 * Hack to not release IFileCheck on windows debug. * Update to slang-llvm build with cast. * Disable IFileCheck * Disable IFileCheck. | 11 April 2023, 20:56:59 UTC |
1370b3b | jsmall-nvidia | 11 April 2023, 17:20:59 UTC | Upgrade to slang-llvm v13.x 38 (#2788) * #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade to slang-llvm v13.x-38 | 11 April 2023, 17:20:59 UTC |
d6dd38f | Ellie Hermaszewska | 11 April 2023, 15:28:58 UTC | Implement FileCheck tests for several test commands (#2747) * Add missing expected.txt for test * Diagnostics -> StdWriters in render test * Allow specifying several test prefixes to run `slang-test -- tests/foo tests/bar` * Squash warnings in some tests * Enable gfx debug layer in gfx test util Makes this issue present consistently: https://github.com/shader-slang/slang/issues/2766 * Allow DebugDevice to return interfaces instantiated by the debugged object * Check that we actaully have a shader cache for shader cache tests * Implement FileCheck tests for several test commands - SIMPLE, SIMPLE_EX - SIMPLE_LINE - REFLECTION, CPU_REFLECTION - CROSS_COMPILE It does not currently support the render tests or the COMPARE_COMPUTE commands It is invoked by adding `(filecheck=MY_FILECHECK_PREFIX)` to the test command, for example TEST:CROSS_COMPILE(filecheck=SPIRV): -target spirv-assembly * Move LLVM FileCheck interface to slang-llvm * Neaten slang-test tests * Refine handling of expected output in slang-test * Add example FileCheck buffer test * Add cuda-kernel-export tests Which were waiting on FileCheck * Bump vs project files * Make createLLVMFileCheck_V1 return a void* rather than specifically an IFileCheck * Remove use of CharSlice from filecheck interface * Bump slang-llvm version --------- Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> | 11 April 2023, 15:28:58 UTC |
20ea33f | jsmall-nvidia | 11 April 2023, 14:18:18 UTC | Artifact simplification (#2781) * #include an absolute path didn't work - because paths were taken to always be relative. * WIP simplifying artifact interface. * Use ContainedKind. * Remove LazyCastableList. Use ContainedKind for find. * Remove ICastableList. * Remove need for ICastableList. * Remove IArtifactContainer. * Small fixes. * Small improvements around Artifact. * Make explicit find is for *representations* that can cast. Fix bug in handling casting in lookup. * Made associated items artifacts too. * Small fixes. * Small improvements around writing a container. | 11 April 2023, 14:18:18 UTC |
d934bbc | Yong He | 10 April 2023, 21:36:39 UTC | Fix inlining. (#2786) Co-authored-by: Yong He <yhe@nvidia.com> | 10 April 2023, 21:36:39 UTC |
d82992e | Yong He | 10 April 2023, 20:43:18 UTC | Cleaner impl of unary stdlib derivative functions. (#2785) * Cleaner impl of unary stdlib derivative functions. * fixup * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 10 April 2023, 20:43:18 UTC |
ea15647 | Yong He | 07 April 2023, 17:12:00 UTC | Diagnose on attempt to specialize with interface type. (#2780) * Diagnose on attempt to specialize with interface type. Fixes ##1445. * Enable fixed test. * Fix test. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> | 07 April 2023, 17:12:00 UTC |
0468cd0 | Ellie Hermaszewska | 07 April 2023, 17:11:27 UTC | Add SLANG_IID_PPV_ARGS (#2784) * Add SLANG_IID_PPV_ARGS To mirror IID_PPV_ARGS from the COM Coding Practices: https://learn.microsoft.com/en-us/windows/win32/LearnWin32/com-coding-practices#the-iid_ppv_args-macro * Make getTypeGuid constexpr --------- Co-authored-by: Yong He <yonghe@outlook.com> | 07 April 2023, 17:11:27 UTC |
7bbe7b4 | Sai Praveen Bangaru | 07 April 2023, 13:57:39 UTC | Fix crash on overloaded custom derivative function (#2782) * Fix issue with resolving overloaded custom forward derivative methods. * Add test | 07 April 2023, 13:57:39 UTC |
c9eb594 | Yong He | 05 April 2023, 20:37:22 UTC | Warn on dangling comparison operator. (#2779) Fixes #1685 Co-authored-by: Yong He <yhe@nvidia.com> | 05 April 2023, 20:37:22 UTC |