https://github.com/shader-slang/slang

sort by:
Revision Author Date Message Commit Date
4c9e4de Fix DCE on mutable calls in a loop. (#2943) * Fix DCE on mutable calls in a loop. * More accurate in-loop test. * code review fixes. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 26 June 2023, 22:18:06 UTC
4eef042 Handling SV_ClipDistance system semantic on GLSL/VK (#2942) * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * WIP support for gl_ClipDistance * Working but doesn't have layout. * Check out param works with gl_ClipDistance. * Test clip distance works with out parameters. * Enable file check. * Add a test that splits clip distance writing. --------- Co-authored-by: Yong He <yonghe@outlook.com> 26 June 2023, 22:15:36 UTC
7175f64 Multiple cast issue fix (#2940) * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * WIP parens casting issue. * Fix issue with multiple casts. * Match previous location point for casting, with 'fast' path. * Removed logic to output the found decl, as not needed to construct ExplicitCastExpr. 26 June 2023, 22:11:02 UTC
49389f3 Fix typo of `i` in default initialization in docs. 23 June 2023, 18:32:20 UTC
36c02f7 Update 03-convenience-features.md 23 June 2023, 18:02:02 UTC
b3a883d Allow multiple attributes to not require separating comma (#2939) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Allow attributes without comma separation. 22 June 2023, 20:23:58 UTC
769c7fd [branch] and [flatten] support (#2928) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Add HLSL output support for [flatten] and [branch] * Handle [branch] on switch. 22 June 2023, 19:07:31 UTC
ac541d4 Avoid materializing multiple swizzle gradients (#2923) 21 June 2023, 23:18:30 UTC
79b0a2a Fix for generic with scope issue (#2925) * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Sundary improvements around StringBlob. * Fix for generic scope issue. * Fix expected output. * Add scope-generic test. --------- Co-authored-by: Theresa Foley <10618364+tangent-vector@users.noreply.github.com> 20 June 2023, 15:55:08 UTC
f161686 Fixes for Shader Execution Reordering on VK (#2929) * Fixes for Shader Execution Reordering on VK There are some mismatches between the way that hit objects are handled between the current NVAPI/HLSL and proposed GLSL extensions for shader execution reordering. These mismatches create complications for generating valid GLSL/SPIR-V code from input Slang. Many of the problems that apply to `HitObject` also apply to the existing `RayQuery<>` type used for "inline" ray tracing. In the case of `RayQuery<>` we have that for *both* HLSL and GLSL/SPIR-V: * A `RayQuery` (or `rayQueryEXT`) is an opaque handle to underlying mutable storage * The storage that backs a `RayQuery` is allocated as part of the "defualt constructor" for a local variable declared with type `RayQuery`. * The `RayQuery` API provides numerous operations that mutate the storage referred to by the opaque handle. The key difference between HLSL and GLSL/SPIR-V for the case of a `RayQuery` amounts to: * In HLSL, local variables of type `RayQuery` can be assigned to, and assignment has by-reference semantics. It is possible to create multiple aliased handles to the same underlying storage. * In GLSL/SPIR-V, local variables of type `rayQueryEXT` cannot be assigned to, returned from functions, etc. It is impossible to create multiple aliased handles to the same underlying storage. The case for `HitObject`s is signicantly *more* messy, because: * In NVAPI/HLSL a `HitObject` is effectively a "value type" in that it only exposes constructors, and there is no way to mutate the state of a `HitObject` other than by assignment to a variable of that type. It makes no semantic difference whether a `HitObject` directly stores the value(s), or if it is a handle, since there is no way to introduce aliasing of mutable state. Assignment of `HitObject`s semantically creates a copy. * In GLSL/SPIR-V, a `hitObjectNV` is, like a `rayQueryEXT`, a handle to underlying mutable state. These handles cannot be assigned, returned from functions, etc. There is no way to make a copy of a hit object. This change includes several changes to how *both* `RayQuery<>` and `HitObject` are implemented, with the intention of getting more cases to work correctly when compiling for GLSL/SPIR-V, and to set up a more clear mental model for the semantics we want to give to these types in Slang, and how those semantics can/should map to our targets. An overview of important changes: * Marked a few operations on `RayQuery` as `[mutating]` that realistically should have already been that way. * Marked the `HitObject` type as being non-copyable (an attribute we do not currently enforce), and marked the various GLSL operations that construct a hit object as having an `out` parameter of the `HitObject` type (even if they are nominally specified in GLSL as not writing to the correspondign parameter). * Added a distinct IR opcode (`allocateOpaqueHandle`) to represent the implicit allocation that happens when declaring a variable of type `HitObject` or `RayQuery`, and made the "implicit constructor" for those types map to the new op. This operation took a lot of tweaking to get emitting in a reasonable way, and I'm still not 100% sure that all of the emission-related logic for it is strictly required (or correct). * Added new IR instructions for `HitObject` and `RayQuery` types, and made the stdlib types map to those IR instructions. * Treat `HitObject` and `RayQuery` as resource types for the purpose of our existing pass that specializes calls to functions that have outputs of resource type * Added a new test case that includes a function that returns a `HitObject` as its result. * Many test cases saw slight changes in their output (especially around the relative ordering of declarations of `HitObject`s and `RayQuery`s with other instructions) * Remove debugging logic 13 June 2023, 21:40:02 UTC
b255ef0 Update shader-execution-reordering.md Fix comment which no longer applies. 12 June 2023, 18:55:44 UTC
d9118d2 Small improvements around StringBlob (#2924) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Sundary improvements around StringBlob. 09 June 2023, 16:38:24 UTC
3913091 Improvements around StringBlob (#2921) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Improvements around handling StringBlob and storing stdlib source in ISlangBlob. * Fix some issues with comments around StringBlob. * Default initialize StringBlob fields. 08 June 2023, 21:26:33 UTC
c492288 Attempt to fix doc generation issue (#2922) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Change the std intrinsics example, so that building docs works. 08 June 2023, 18:42:36 UTC
7726fa3 Update to DXC binaries 2023_03_01 (#2920) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Update to DXC binaries 2023_03_01 08 June 2023, 01:36:34 UTC
7561ffb AD: Fix out-of-scope indexing rules for insts in loop header blocks during the primal-inst availability pass (#2918) * add test case * Fix out-of-scope indexing rules for loop header blocks --------- Co-authored-by: Yong He <yhe@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com> 07 June 2023, 04:16:19 UTC
52f27e4 Fix some issues with stdlib intrinsics docs (#2919) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * WIP documentation around stdlib intrinsics. * Preliminary docs around stdlib mechanisms. * Small fixes. * Fix some issues with stdlib intrinsics not generating. 06 June 2023, 23:20:57 UTC
07c2b21 Preliminary doc around stdlib mechanisms (#2917) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * WIP documentation around stdlib intrinsics. * Preliminary docs around stdlib mechanisms. * Small fixes. 06 June 2023, 22:45:24 UTC
c3c1b56 Fix generic param inference through TypeCastIntVal. (#2916) 02 June 2023, 22:31:03 UTC
16cd361 Be lenient on same-size unsigend->signed conversion. (#2913) * Be lenient on same-size unsigend->signed conversion. * Fix tests. * Use 250. * wip * Fix. * Fix tests. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 01 June 2023, 20:53:31 UTC
a7ed48b Fix def-use legalization in CFG normalization. (#2909) Co-authored-by: Yong He <yhe@nvidia.com> 31 May 2023, 21:34:40 UTC
02bb741 Preserve type cast during AST constant folding. (#2912) * Preserve type cast during AST constant folding. Fixes #2891. * Fix. * Fix truncating. * fix test. --------- Co-authored-by: Yong He <yhe@nvidia.com> 31 May 2023, 21:28:45 UTC
5dd401e Fix div-by-zero error during sccp. (#2911) * Diagnose on div-by-zero during sccp. * fix --------- Co-authored-by: Yong He <yhe@nvidia.com> 31 May 2023, 19:36:48 UTC
57f0ab4 Confirm reflection output is valid JSON (#2910) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Confirm reflection output is valid JSON. * Fix issue with diagnostic tests. 31 May 2023, 19:15:36 UTC
c3e3644 Small improvements in reflection tool (#2908) * #include an absolute path didn't work - because paths were taken to always be relative. * Small fixes and improvements around reflection tool. * Make PrettyWriter printing a class. * Small improvements due to using StringBuilder. * Make << available. * Use streaming style. 31 May 2023, 16:13:16 UTC
5c28677 Fix type checking & loop value hoisting (#2907) * Fix type checking crash in language server. * Fix loop var hoisting logic. Fixes #2903. * fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 31 May 2023, 04:15:55 UTC
5e1974e Fix derivative signature bug in checkDerivativeAttribute. (#2905) 30 May 2023, 17:41:34 UTC
4c1396c Disallow duplicate enumerator names in the same enum (#2904) Fixes https://github.com/shader-slang/slang/issues/2895 30 May 2023, 15:29:16 UTC
ab284ca Fix bug in legalizeFuncType that leads to invalid IR. (#2902) * Fix bug in legalizeFuncType that leads to invalid IR. * Diagnose on functions that never returns when differentiate it. --------- Co-authored-by: Yong He <yhe@nvidia.com> 26 May 2023, 06:39:30 UTC
f88e129 Add API for querying total compile time. (#2898) * Add API for querying total compile time. * Optimize. * Remove redundant simplifyIR calls. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 23 May 2023, 22:19:27 UTC
a291dbf fixed incorrect handling of D3D12_RENDER_TARGET_VIEW_DESC.ViewDimensi… (#2897) * fixed incorrect handling of D3D12_RENDER_TARGET_VIEW_DESC.ViewDimension for arrays (needs to be set based on the underlying resource and not the requested view. Otherwise members like FirstArraySlice can not be set properly). Also fixes problems with D3D12_RENDER_TARGET_VIEW_DESC.PlaneSlice since Texture2DArray.PlaneSlice and Texture2D.PlaneSlice do not share the same memory location (unlike the MipSlice). * fixed isArray definition for d3d12 texture views --------- Co-authored-by: Yong He <yonghe@outlook.com> 23 May 2023, 18:59:21 UTC
192c318 Update README.md 22 May 2023, 22:25:45 UTC
972a931 Source embedding for output (#2889) * #include an absolute path didn't work - because paths were taken to always be relative. * Fix typo. * Add options for source embedding. * Small improvements. * Working with tests. * Add check for supported language types for embedding. * Try and remove assume warning. * Fix warning on MacOSX. * Some extra checking around Style::Text. * Some small improvements to docs/handling for headers extensions. * Fix md issue. * Small fixes around zeroing partial last element. * Another small fix.... * Small improvement in hex conversion. * Add an assert for unsignedness. 22 May 2023, 21:22:22 UTC
33e1523 added D32_S8 format (#2885) * added D32_S8 format * fixed isTypelessDepthFormat format for DXGI_FORMAT_R32G8X24_TYPELESS * added R32_FLOAT_X32_TYPELESS format to allow (depth component only) shader resource views for the D32_FLOAT_S8_UINT format. - unsure about the changed in the vk-util.cpp: No matching VK_Format? --------- Co-authored-by: Yong He <yonghe@outlook.com> Co-authored-by: jsmall-nvidia <jsmall@nvidia.com> 19 May 2023, 16:38:49 UTC
81451fb Add transpose logic for scalar swizzle (#2888) 19 May 2023, 02:56:44 UTC
d8ab2e8 Make `GetSequentialID` a hoistable inst. (#2887) Co-authored-by: Yong He <yhe@nvidia.com> 17 May 2023, 06:27:26 UTC
6ac0c6a Add [Differentiable(n)] syntax to specify max order. (#2883) 14 May 2023, 22:09:22 UTC
cd60642 Add finalized keywords for autodiff. (#2882) Co-authored-by: Yong He <yhe@nvidia.com> 12 May 2023, 23:15:36 UTC
65103bc 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 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 fixed shader resource views for multisample textures (#2880) 11 May 2023, 20:15:34 UTC
952e044 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 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 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 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 Fix function side-effectness prop logic. (#2875) 09 May 2023, 16:44:33 UTC
89a1234 Optimize logic around indexed temporary variables (#2873) 07 May 2023, 17:35:27 UTC
271dc1b Don't store loop induction values + fix minor issue (#2872) 06 May 2023, 07:03:25 UTC
0602eaa Fix checkpoint hints for higher-order autodiff (#2869) 05 May 2023, 18:11:13 UTC
e69c23e 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 Update user-guide. (#2868) Co-authored-by: Yong He <yhe@nvidia.com> 04 May 2023, 20:44:00 UTC
a944492 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 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 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 Update 03-convenience-features.md 04 May 2023, 19:30:13 UTC
c9ef8d5 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 Improve intellisense for attribute arguments. (#2864) 03 May 2023, 23:17:04 UTC
d87dd1d 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 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 Update slang-options.cpp 02 May 2023, 23:12:30 UTC
29cb655 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 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 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 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 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 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 Use Index for FuncType param count (#2853) 28 April 2023, 04:00:52 UTC
5379361 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 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 Prevent storing loads of global parameters. (#2850) Co-authored-by: Yong He <yhe@nvidia.com> 27 April 2023, 21:30:36 UTC
7be108c Intellisense: show info on decl kind and differentiability. (#2847) 27 April 2023, 05:40:06 UTC
3acbe81 Fix most of the disabled warnings on gcc/clang (#2839) 27 April 2023, 04:36:59 UTC
a3da31c Fix specialization dictionaries cleanup pass (#2844) 27 April 2023, 02:25:25 UTC
fc54ade 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 Add support for `kIROp_DefaultConstruct` (#2845) 27 April 2023, 00:04:36 UTC
e1940e5 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 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 Support recomputing phi params in bwd prop func. (#2841) 26 April 2023, 01:32:45 UTC
5abee6a 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 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 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 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 Change AD checkpointing policy to recompute more. (#2836) Co-authored-by: Yong He <yhe@nvidia.com> 25 April 2023, 02:44:23 UTC
fbe37ea 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 Update a1-03-obfuscation.md 24 April 2023, 16:12:30 UTC
94d6968 Add support for `kIROp_MakeExistential` (#2832) 23 April 2023, 21:12:14 UTC
e8673a5 Fix corner case with multi-level break elimination (#2828) 22 April 2023, 21:25:33 UTC
385d3f4 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 Refactor checkpointing policy and availability pass. (#2826) Co-authored-by: Yong He <yhe@nvidia.com> 21 April 2023, 21:28:57 UTC
69a327a Update a1-03-obfuscation.md 21 April 2023, 19:28:48 UTC
2f0915b 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 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 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 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 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 Update 04-interfaces-generics.md 21 April 2023, 00:31:39 UTC
088644c 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 Update a1-01-matrix-layout.md 20 April 2023, 16:11:29 UTC
467fa3a 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 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
back to top